mindspore_lite.Tensor

View Source On AtomGit
class mindspore_lite.Tensor(tensor=None, shape=None, dtype=None, device=None)[source]

The Tensor class defines a Tensor in MindSpore Lite.

Parameters:
  • tensor (Tensor, optional) – The data to be stored in a new Tensor. It can be from another Tensor. Default: None.

  • shape (list, optional) – The shape of the Tensor. Default: None.

  • dtype (DataType, optional) – The dtype of the Tensor. Default: None.

  • device (str, optional) – The device type of the Tensor. It can be "ascend" or "ascend:device_id" or None. device_id indicates the device number, which can be 0 , 1 , 2 , 3 , 4 , 5 , 6 , or 7. If device is None, the tensor will be initialized at CPU. Default: None.

Raises:

TypeErrortensor is neither a Tensor nor None.

Examples

>>> import mindspore_lite as mslite
>>> tensor = mslite.Tensor()
>>> tensor.name = "tensor1"
>>> print(tensor.name)
tensor1
>>> tensor.dtype = mslite.DataType.FLOAT32
>>> print(tensor.dtype)
DataType.FLOAT32
>>> tensor.shape = [1, 3, 2, 2]
>>> print(tensor.shape)
[1, 3, 2, 2]
>>> tensor.format = mslite.Format.NCHW
>>> print(tensor.format)
Format.NCHW
>>> print(tensor.element_num)
12
>>> print(tensor.data_size)
48
>>> print(tensor)
name: tensor1,
dtype: DataType.FLOAT32,
shape: [1, 3, 2, 2],
format: Format.NCHW,
element_num: 12,
data_size: 48.
device: None:-1.
property data_size

Get the data size of the Tensor.

Data size of the Tensor = the element num of the Tensor * size of unit data type of the Tensor.

Returns:

int, the data size of the Tensor data.

property device

Get the device type of the Tensor.

Returns:

str, the device type of the Tensor.

property dtype

Get the data type of the Tensor.

Returns:

DataType, the data type of the Tensor.

property element_num

Get the element num of the Tensor.

Returns:

int, the element num of the Tensor data.

property format

Get the format of the Tensor.

Returns:

Format, the format of the Tensor.

get_data_to_numpy()[source]

Get the data from the Tensor to the numpy object.

Returns:

numpy.ndarray, the numpy object from Tensor data.

Examples

>>> import mindspore_lite as mslite
>>> import numpy as np
>>> tensor = mslite.Tensor()
>>> tensor.shape = [1, 3, 2, 2]
>>> tensor.dtype = mslite.DataType.FLOAT32
>>> in_data = np.arange(1 * 3 * 2 * 2, dtype=np.float32)
>>> tensor.set_data_from_numpy(in_data)
>>> data = tensor.get_data_to_numpy()
>>> print(data)
[[[[ 0.  1.]
   [ 2.  3.]]
  [[ 4.  5.]
   [ 6.  7.]]
  [[ 8.  9.]
   [ 10. 11.]]]]
property name

Get the name of the Tensor.

Returns:

str, the name of the Tensor.

set_data_from_numpy(numpy_obj)[source]

Set the data for the Tensor from the numpy object.

Parameters:

numpy_obj (numpy.ndarray) – the numpy object.

Raises:
  • TypeErrornumpy_obj is not a numpy.ndarray.

  • RuntimeError – The data type of numpy_obj is not equivalent to the data type of the Tensor.

  • RuntimeError – The data size of numpy_obj is not equal to the data size of the Tensor.

Examples

>>> # 1. set Tensor data which is from file
>>> import mindspore_lite as mslite
>>> import numpy as np
>>> tensor = mslite.Tensor()
>>> tensor.shape = [1, 3, 224, 224]
>>> tensor.dtype = mslite.DataType.FLOAT32
>>> in_data = np.fromfile("input.bin", dtype=np.float32)
>>> tensor.set_data_from_numpy(in_data)
>>> print(tensor)
name: ,
dtype: DataType.FLOAT32,
shape: [1, 3, 224, 224],
format: Format.NCHW,
element_num: 150528,
data_size: 602112.
device: None:-1
>>> # 2. set Tensor data which is numpy arange
>>> import mindspore_lite as mslite
>>> import numpy as np
>>> tensor = mslite.Tensor()
>>> tensor.shape = [1, 3, 2, 2]
>>> tensor.dtype = mslite.DataType.FLOAT32
>>> in_data = np.arange(1 * 3 * 2 * 2, dtype=np.float32)
>>> tensor.set_data_from_numpy(in_data)
>>> print(tensor)
name: ,
dtype: DataType.FLOAT32,
shape: [1, 3, 2, 2],
format: Format.NCHW,
element_num: 12,
data_size: 48.
device: None:-1
property shape

Get the shape of the Tensor.

Returns:

list[int], the shape of the Tensor.