Tensor构造函数
函数功能
用于构造指定的Tensor对象。Tensor类用来描述一个tensor对象的信息以及行为,包含:shape信息、format信息、datatype信息以及tensor数据内容tensordata。
函数原型
Tensor() //默认构造函数
Tensor (const StorageShape &storage_shape, const StorageFormat &storage_format, const TensorPlacement placement, const ge::DataType data_type, TensorAddress addr)
Tensor(const StorageShape &storage_shape, const StorageFormat &storage_format, ge::DataType data_type)
Tensor(const StorageShape &storage_shape, const StorageFormat &storage_format, const TensorPlacement placement, const ge::DataType data_type, TensorAddress addr, TensorAddrManager manager)
参数说明
参数 |
输入/输出 |
说明 |
---|---|---|
storage_shape |
输入 |
指定tensor的shape信息。 |
storage_format |
输入 |
指定tensor的format信息。 |
placement |
输入 |
指定tensor的实际数据所存储的device位置。 |
data_type |
输入 |
指定tensor的datatype信息。 |
addr |
输入 |
指定tensor的实际数据所存储的内存地址。 |
manager |
输入 |
tensor data的管理函数,若manager为空,则认为addr就是tensor的数据地址,且此数据不需要被释放。 using TensorAddrManager = ge::graphStatus (*)(TensorAddress addr, TensorOperateType operate_type, void **out); enum TensorOperateType { kGetTensorAddress, ///< 获取Tensor的地址 kFreeTensor, ///< 释放Tensor kPlusShareCount, ///< 共享Tensor kTensorOperateType }; |
返回值说明
返回一个初始化的Tensor对象。
约束说明
Tensor中的成员(format、shape等)的值均需要显示设置,否则均为未定义值。
调用示例
Tensor tensor{{{8, 3, 224, 224}, {16, 3, 224, 224}}, // shape {ge::FORMAT_ND, ge::FORMAT_FRACTAL_NZ, {}}, // format kFollowing, // placement ge::DT_FLOAT16, //dt nullptr};