news 2026/9/10 6:24:41

CANN/ge TensorDesc张量描述API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ge TensorDesc张量描述API

TensorDesc

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

产品支持情况

产品是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

模块导入

from ge.graph import TensorDesc

功能说明

TensorDesc 类用于描述张量的元信息,包括形状(Shape)、数据格式(Format)和数据类型(DataType)。支持原始形状/格式和当前形状/格式的区分,适用于图构建过程中对张量属性的完整描述。所有set_*方法均返回self,支持链式调用。不支持拷贝(copy)和深拷贝(deepcopy)。

类定义

class TensorDesc: def __init__( self, shape: Optional[List[int]] = None, format: Optional[Format] = Format.FORMAT_ND, data_type: Optional[DataType] = DataType.DT_FLOAT, ) -> None

函数列表

函数功能说明
__init__(shape=None, format=Format.FORMAT_ND, data_type=DataType.DT_FLOAT)构造函数,创建 TensorDesc 对象。shape 为维度列表,None 表示标量;format 为数据格式,默认 FORMAT_ND;data_type 为数据类型,默认 DT_FLOAT
shape (property)以属性方式获取当前形状,返回 Shape 对象
origin_shape (property)以属性方式获取原始形状,返回 Shape 对象
format (property)以属性方式获取当前数据格式,返回 Format 枚举值
origin_format (property)以属性方式获取原始数据格式,返回 Format 枚举值
data_type (property)以属性方式获取数据类型,返回 DataType 枚举值
get_shape()获取当前形状
set_shape(shape)设置当前形状,支持链式调用
get_origin_shape()获取原始形状
set_origin_shape(shape)设置原始形状,支持链式调用
get_format()获取当前数据格式
set_format(format)设置当前数据格式,支持链式调用
get_origin_format()获取原始数据格式
set_origin_format(format)设置原始数据格式,支持链式调用
get_data_type()获取数据类型
set_data_type(data_type)设置数据类型,支持链式调用

参数说明

__init__ 参数

参数名类型是否必选说明
shapeList[int]张量的维度列表,例如 [1, 3, 224, 224]。None 表示标量(空列表)。默认值为 None
formatFormat张量的数据格式,取值为 Format 枚举值。默认值为 Format.FORMAT_ND
data_typeDataType张量的元素数据类型,取值为 DataType 枚举值。默认值为 DataType.DT_FLOAT

set_shape / set_origin_shape 参数

参数名类型是否必选说明
shapeList[int]目标维度列表,必须为整数列表

set_format / set_origin_format 参数

参数名类型是否必选说明
formatFormat目标数据格式,必须为 Format 枚举值

set_data_type 参数

参数名类型是否必选说明
data_typeDataType目标数据类型,必须为 DataType 枚举值

返回值说明

函数返回值类型说明
shape (property)Shape当前形状对象
origin_shape (property)Shape原始形状对象
format (property)Format当前数据格式枚举值
origin_format (property)Format原始数据格式枚举值
data_type (property)DataType数据类型枚举值
get_shape()Shape当前形状对象
set_shape(shape)TensorDesc返回自身,支持链式调用
get_origin_shape()Shape原始形状对象
set_origin_shape(shape)TensorDesc返回自身,支持链式调用
get_format()Format当前数据格式枚举值
set_format(format)TensorDesc返回自身,支持链式调用
get_origin_format()Format原始数据格式枚举值
set_origin_format(format)TensorDesc返回自身,支持链式调用
get_data_type()DataType数据类型枚举值
set_data_type(data_type)TensorDesc返回自身,支持链式调用

约束说明

  • 不支持拷贝操作:调用copy.copy()会抛出 RuntimeError。
  • 不支持深拷贝操作:调用copy.deepcopy()会抛出 RuntimeError。
  • 构造函数中,format 参数必须为 Format 枚举类型,否则抛出 TypeError。
  • 构造函数中,data_type 参数必须为 DataType 枚举类型,否则抛出 TypeError。
  • set_shape、set_origin_shape 的 shape 参数必须为整数列表(list of int),否则抛出 TypeError。
  • set_format、set_origin_format 的 format 参数必须为 Format 枚举类型,否则抛出 TypeError。
  • set_data_type 的 data_type 参数必须为 DataType 枚举类型,否则抛出 TypeError。
  • 若底层 C API 调用失败,各方法将抛出 RuntimeError。

使用示例

from ge.graph import TensorDesc, Shape, Format, DataType # 创建 TensorDesc 对象 desc = TensorDesc(shape=[1, 3, 224, 224], format=Format.FORMAT_NCHW, data_type=DataType.DT_FLOAT) # 通过属性获取张量信息 print(desc.shape) # [1, 3, 224, 224] print(desc.format) # Format.FORMAT_NCHW print(desc.data_type) # DataType.DT_FLOAT # 通过方法获取张量信息 shape = desc.get_shape() fmt = desc.get_format() dtype = desc.get_data_type() # 链式调用设置属性 desc.set_shape([2, 3]).set_data_type(DataType.DT_INT32).set_format(Format.FORMAT_ND)

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 6:23:24

ESP32-C3微信小程序BLE直连实战指南

简介:本资源是一套完整的乐鑫ESP32-C3 BLE与微信小程序双向通信开发源码,面向物联网初学者及嵌入式开发者,解决硬件端BLE外设开发与小程序端低门槛无线交互的集成难题。项目涵盖Arduino框架下的ESP32-C3固件代码(.ino/.cpp/.h&…

作者头像 李华
网站建设 2026/9/10 6:21:40

从Selenium到Playwright:UI测试的范式转移与实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 6:20:03

中小企业服务器托管避坑指南:机房、带宽与SLA全解析

中小企业选服务器托管,最怕的就是信息不对称。搜“服务器托管哪家好”,出来一堆广告和软文,真正能说清楚“我这家到底好在哪、适不适合你”的没几个。尚航科技这个牌子在圈子里不算陌生,做IDC和云服务有年头了,但网上公…

作者头像 李华
网站建设 2026/9/10 6:19:45

context-mode实战:让AI工具真正读懂你的项目

最近不管是写代码还是调试项目,总是绕不开一个词:context-mode。一开始我以为又是哪个框架造的新名词,翻了几天文档才明白,它其实解决的是一个特别现实的问题——AI 工具读不懂你的项目。说白了,context-mode 是一种上…

作者头像 李华
网站建设 2026/9/10 6:18:47

SSM酒店管理系统实战:框架分工、数据库设计与事务边界

简介:这是一份基于SSM框架的酒店管理系统Java毕业设计资源包,面向计算机相关专业毕业生和Java学习者,覆盖前台客房预订浏览、餐品展示、酒店介绍等模块,以及后台用户管理、客房管理、餐品管理、酒店管理等核心业务,可帮…

作者头像 李华