EsCreateConstV2
功能说明
使用ABI安全接口创建指定类型的Const算子(原始指针版本)。
函数原型
template <typename T>
EsCTensorHolder *EsCreateConstV2(EsCGraphBuilder *graph, const T *value, const int64_t *dims, int64_t dim_num, ge::DataType dt, ge::Format format = FORMAT_ND)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| T | 输入 | 张量数据类型。 |
| graph | 输入 | 图构建器指针。 |
| value | 输入 | 张量数据指针。 |
| dims | 输入 | 张量维度数组指针。 |
| dim_num | 输入 | 维度数量。 |
| dt | 输入 | 张量的数据类型。 |
| format | 输入 | 张量格式,默认为FORMAT_ND。 |
返回值说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| - | EsCTensorHolder | 返回创建的Const的张量持有者算子,失败时返回nullptr。 |
约束说明
该接口使用CompliantNodeBuilder V2接口构造Const节点,避免旧IR定义结构体中std::string跨C++ ABI传递的风险。
使用该接口要求运行时GE包支持CompliantNodeBuilder V2符号。如果需要兼容不包含V2符号的老GE包,请使用EsCreateConst。
调用示例
EsCGraphBuilder *graph = EsCreateGraphBuilder("graph_name");
std::vector<int64_t> data = {1, 2, 3};
std::vector<int64_t> dims = {3};
auto const_tensor = ge::es::EsCreateConstV2<int64_t>(graph, data.data(), dims.data(), dims.size(), ge::DT_INT64);