Class MSTensor
Defined in File types.h
Class Documentation
-
class MSTensor
The MSTensor class defines a tensor in MindSpore.
Public Functions
-
inline std::string Name() const
Obtains the name of the MSTensor.
- Returns
The name of the MSTensor.
-
enum DataType DataType() const
Obtains the data type of the MSTensor.
- Returns
The data type of the MSTensor.
-
const std::vector<int64_t> &Shape() const
Obtains the shape of the MSTensor.
- Returns
The shape of the MSTensor.
-
int64_t ElementNum() const
Obtains the number of elements of the MSTensor.
- Returns
The number of elements of the MSTensor.
-
std::shared_ptr<const void> Data() const
Obtains a shared pointer to the copy of data of the MSTensor. The data can be read on host.
- Returns
A shared pointer to the copy of data of the MSTensor.
-
void *MutableData()
Obtains the pointer to the data of the MSTensor. If the MSTensor is a device tensor, the data cannot be accessed directly on host.
- Returns
A pointer to the data of the MSTensor.
-
size_t DataSize() const
Obtains the length of the data of the MSTensor, in bytes.
- Returns
The length of the data of the MSTensor, in bytes.
-
bool IsDevice() const
Gets the boolean value that indicates whether the memory of MSTensor is on device.
- Returns
The boolean value that indicates whether the memory of MSTensor is on device.
-
MSTensor *Clone() const
Gets a deep copy of the MSTensor, must be used in pair with DestroyTensorPtr.
- Returns
A pointer points to a deep copy of the MSTensor.
-
void SetShape(const std::vector<int64_t> &shape)
Set the shape of for the MSTensor. Only valid for Lite.
- Parameters
shape – [in] Shape of the MSTensor, a vector of int64_t.
-
void SetDataType(enum DataType data_type)
Set the data type for the MSTensor. Only valid for Lite.
- Parameters
data_type – [in] The data type of the MSTensor.
-
inline void SetTensorName(const std::string &name)
Set the name for the MSTensor. Only valid for Lite.
- Parameters
name – [in] The name of the MSTensor.
Set the Allocator for the MSTensor. Only valid for Lite.
- Parameters
allocator – [in] A pointer to Allocator.
-
std::shared_ptr<Allocator> allocator() const
Obtain the Allocator of the MSTensor. Only valid for Lite.
- Returns
A pointer to Allocator.
-
void SetFormat(mindspore::Format format)
Set the format for the MSTensor. Only valid for Lite.
- Parameters
format – [in] The format of the MSTensor.
-
mindspore::Format format() const
Obtain the format of the MSTensor. Only valid for Lite.
- Returns
The format of the MSTensor.
-
void SetData(void *data)
Set the data for the MSTensor. Only valid for Lite.
Note
Deprecated, this interface will be removed in the next iteration
Note
A pointer to the data should be created by malloc interface
Note
The memory pointed to origin data pointer of MSTensor needs to be managed by the user
- Parameters
data – [in] A pointer to the data of the MSTensor.
-
std::vector<QuantParam> QuantParams() const
Get the quantization parameters of the MSTensor. Only valid for Lite.
- Returns
The quantization parameters of the MSTensor.
-
void SetQuantParams(std::vector<QuantParam> quant_params)
Set the quantization parameters for the MSTensor. Only valid for Lite.
- Parameters
quant_params – [in] The quantization parameters of the MSTensor.
Public Static Functions
-
static inline MSTensor *CreateTensor(const std::string &name, DataType type, const std::vector<int64_t> &shape, const void *data, size_t data_len) noexcept
Creates a MSTensor object, whose data need to be copied before accessed by Model, must be used in pairs with DestroyTensorPtr.
-
static inline MSTensor *CreateRefTensor(const std::string &name, DataType type, const std::vector<int64_t> &shape, const void *data, size_t data_len) noexcept
Creates a MSTensor object, whose data can be directly accessed by Model, must be used in pairs with DestroyTensorPtr.
-
static inline MSTensor *CreateDevTensor(const std::string &name, DataType type, const std::vector<int64_t> &shape, const void *data, size_t data_len) noexcept
Creates a MSTensor object, whose device data can be directly accessed by Model, must be used in pairs with DestroyTensorPtr.
-
static inline MSTensor *CreateTensorFromFile(const std::string &file, DataType type = DataType::kNumberTypeUInt8, const std::vector<int64_t> &shape = {}) noexcept
Creates a MSTensor object from local file, must be used in pairs with DestroyTensorPtr.
-
static inline MSTensor *StringsToTensor(const std::string &name, const std::vector<std::string> &str)
Create a string type MSTensor object whose data can be accessed by Model only after being copied, must be used in pair with DestroyTensorPtr.
-
inline std::string Name() const