mindspore_lite.Tensor
- class mindspore_lite.Tensor(tensor=None)[源代码]
张量类,在Mindsporlite中定义了一个张量。
- 参数:
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()[源代码]
获取张量的数据大小,即 \(data\_size = element\_num * data\_type\) 。
- 返回:
int,张量数据的数据大小。
样例:
>>> # 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()[源代码]
从张量获取numpy对象的数据。
- 返回:
numpy.ndarray,张量数据中的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()[源代码]
获取张量的数据类型。
- 返回:
DataType,张量的数据类型。
样例:
>>> 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()[源代码]
获取张量的元素数。
- 返回:
int,张量数据的元素数。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> num = tensor.get_element_num() >>> print(num) 1
- get_format()[源代码]
获取张量的格式。
- 返回:
Format,张量的格式。
样例:
>>> 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()[源代码]
获取张量的形状。
- 返回:
list[int],张量的形状。
样例:
>>> 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()[源代码]
获取张量的名称。
- 返回:
str,张量的名称。
样例:
>>> 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对象设置张量的数据。
- 参数:
numpy_obj (numpy.ndarray) - numpy对象。
- 异常:
TypeError - numpy_obj 不是numpy.ndarray类型。
RuntimeError - numpy_obj 的数据类型与张量的数据类型不等价。
RuntimeError - numpy_obj 的数据大小与张量的数据大小不相等。
样例:
>>> # 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)[源代码]
设置张量的数据类型。
- 参数:
data_type (DataType) - 张量的数据类型。
- 异常:
TypeError - data_type 不是DataType类型。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_data_type(mslite.DataType.FLOAT32)
- set_format(tensor_format)[源代码]
设置张量的格式。
- 参数:
tensor_format (Format) - 张量的格式。
- 异常:
TypeError - tensor_format 不是Format类型。
样例:
>>> import mindspore_lite as mslite >>> tensor = mslite.Tensor() >>> tensor.set_format(mslite.Format.NHWC)