mindspore_lite.Tensor
- class mindspore_lite.Tensor(tensor=None)[源代码]
Tensor 类,在Mindspore Lite中定义一个张量。
- 参数:
tensor (Tensor,可选) - 被存储在新Tensor中的数据,数据可以是来自其它Tensor。默认值:None。
- 异常:
TypeError - tensor 既不是Tensor类型也不是None。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_data_type(mslite.DataType.FLOAT32) >>> print(tensor) tensor_name: , data_type: DataType.FLOAT32, shape: [], format: Format.NCHW, element_num: 1, data_size: 4.
- get_data_size()[源代码]
获取Tensor的数据大小。
Tensor的数据大小 = Tensor的元素数量 * Tensor的单位数据类型对应的size。
- 返回:
int,Tensor的数据大小。
样例:
>>> # data_size is related to data_type >>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_data_type(mslite.DataType.FLOAT32) >>> size = tensor.get_data_size() >>> print(size) 4
- get_data_to_numpy()[源代码]
从Tensor获取数据传给numpy对象。
- 返回:
numpy.ndarray,Tensor数据中的numpy对象。
样例:
>>> import mindspore_lite as mslite >>> import numpy as np >>> tensor = mslite.Tensor() >>> tensor.set_shape([1, 2, 2, 3]) >>> tensor.set_data_type(mslite.DataType.FLOAT32) >>> in_data = np.arange(1 * 2 * 2 * 3, 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.]]]]
- get_data_type()[源代码]
获取Tensor的数据类型。
- 返回:
DataType,Tensor的数据类型。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_data_type(mslite.DataType.FLOAT32) >>> data_type = tensor.get_data_type() >>> print(data_type) DataType.FLOAT32
- get_element_num()[源代码]
获取Tensor的元素数。
- 返回:
int,Tensor数据的元素数。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> num = tensor.get_element_num() >>> print(num) 1
- get_format()[源代码]
获取Tensor的格式。
- 返回:
Format,Tensor的格式。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_format(mslite.Format.NHWC) >>> tensor_format = tensor.get_format() >>> print(tensor_format) Format.NHWC
- get_shape()[源代码]
获取Tensor的shape。
- 返回:
list[int],Tensor的shape。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_shape([1, 112, 112, 3]) >>> shape = tensor.get_shape() >>> print(shape) [1, 112, 112, 3]
- get_tensor_name()[源代码]
获取Tensor的名称。
- 返回:
str,Tensor的名称。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_tensor_name("tensor0") >>> tensor_name = tensor.get_tensor_name() >>> print(tensor_name) tensor0
- set_data_from_numpy(numpy_obj)[源代码]
从numpy对象获取数据传给Tensor。
- 参数:
numpy_obj (numpy.ndarray) - numpy对象。
- 异常:
TypeError - numpy_obj 不是numpy.ndarray类型。
RuntimeError - numpy_obj 的数据类型与Tensor的数据类型不等价。
RuntimeError - numpy_obj 的数据大小与Tensor的数据大小不相等。
样例:
>>> # 1. set Tensor data which is from file >>> import mindspore_lite as mslite >>> import numpy as np >>> tensor = mslite.Tensor() >>> tensor.set_shape([1, 224, 224, 3]) >>> tensor.set_data_type(mslite.DataType.FLOAT32) >>> in_data = np.fromfile("input.bin", dtype=np.float32) >>> tensor.set_data_from_numpy(in_data) >>> print(tensor) tensor_name: , data_type: DataType.FLOAT32, shape: [1, 224, 224, 3], format: Format.NCHW, element_num: 150528, data_size: 602112. >>> # 2. set Tensor data which is numpy arange >>> import mindspore_lite as mslite >>> import numpy as np >>> tensor = mslite.Tensor() >>> tensor.set_shape([1, 2, 2, 3]) >>> tensor.set_data_type(mslite.DataType.FLOAT32) >>> in_data = np.arange(1 * 2 * 2 * 3, dtype=np.float32) >>> tensor.set_data_from_numpy(in_data) >>> print(tensor) tensor_name: , data_type: DataType.FLOAT32, shape: [1, 2, 2, 3], format: Format.NCHW, element_num: 12, data_size: 48.
- set_data_type(data_type)[源代码]
设置Tensor的数据类型。
- 参数:
data_type (DataType) - Tensor的数据类型。
- 异常:
TypeError - data_type 不是DataType类型。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_data_type(mslite.DataType.FLOAT32)
- set_format(tensor_format)[源代码]
设置Tensor的格式。
- 参数:
tensor_format (Format) - Tensor的格式。
- 异常:
TypeError - tensor_format 不是Format类型。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_format(mslite.Format.NHWC)