当前位置: 首页 > news >正文

CANN/pypto张量创建指南

Tensor的创建【免费下载链接】pyptoPyPTO发音: pai p-t-oParallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pyptoTensor是PyPTO中的基本数据结构用于表示将在计算图中使用并在NPU上执行的多维数组。在PyPTO中Tensor表示其数据的结构和属性这使得PyPTO能够构建计算图并在执行前对其进行优化。Tensor在执行时才包含实际值未初始化的Tensor中的值都是随机的在执行时需要按需初始化。创建Tensor创建基础Tensor#创建形状为[2, 3]、数据类型为FP16的Tensor tensor pypto.tensor([2, 3], pypto.DT_FP16, my_tensor)参数说明shape维度支持整数列表。dtype表示Tensor中存储的数据类型支持DataType类型例如DT_FP16表示16位半精度浮点数。name名称支持字符串类型可选。但建议为Tensor提供有意义的名称以便于调试和理解计算图结构。format数据排布格式支持TileOpFormat类型可选默认为TILEOP_ND。 format显式标记时, 性能更优, 要求传入的torch tensor与pypto.Tensor声明的format一致;创建带格式的Tensor#使用NZ格式创建一个Tensor tensor pypto.tensor([-1, 32], pypto.DT_FP16, nz_tensor, pypto.TileOpFormat.TILEOP_NZ)支持的格式TILEOP_NDND格式N维数组在PyPTO中采用行优先模式。TILEOP_NZNZ格式矩阵乘相关的特殊格式。二维矩阵被分为若干个分形分形大小更能适配一次Cube计算分形按照列优先即N字形排布每个分形按照行优先即Z字形排布。详细介绍请参见数据排布格式。在子函数内创建Tensor并返回至主函数def sub_function(): #创建形状为[2, 3]、数据类型为FP16的Tensor tensor pypto.tensor([2, 3], pypto.DT_FP16, my_tensor) return tensor def main_function(): sub_tensor sub_function()PyTorch的Tensor转换为PyPTO的Tensor# prepare data input_data torch.rand(shape, dtypetorch.float, devicenpu) output_data torch.zeros(shape, dtypetorch.float, devicenpu) #convert from torch tensor to pypto tensor pto_input pypto.from_torch(input_data, in_0) pto_output pypto.from_torch(output_data, out_0)查看Tensor属性Tensor包括形状shape、数据类型dtype、数据排布格式format、维数dim、名称name等基本属性通过pypto.tensor相关操作接口可以查询这些属性信息。tensor pypto.tensor([2,3, 4], pypto.DT_FP16, example) #形状 print(tensor.shape) #[2, 3, 4] #数据类型 print(tensor.dtype) #数据类型.DT_FP16 #维数 print(tensor.dim) # 3 #格式 print(tensor.format) #TILEOP_ND #名称 print(tensor.name) # example tensor.name new_name #可以更改动态维度Tensor的处理在实际应用场景Tensor通常是个可变长的数据。可通过以下方法定义动态Shape的Tensor并通过-1标记动态维度tensor pypto.tensor([-1, 32], pypto.DT_FP16, dynamic) #打印tensor的维度SymbolicScalar表示当前Shape为符号化标量 print(tensor.shape) [SymbolicScalar(RUNTIME_GetInputShapeDim(ARG_dynamic,0)), 32]通过如下方法可以获取动态维度的符号化标量在运行时获取具体数值b pypto.symbolic_scalar(tensor_shape[0])如果Tensor继承自PyTorch Tensor可以通过pypto.from_torch接口的参数dynamic_axis [int]来定义动态维度的Tensor。# prepare data input_data torch.rand(shape, dtypetorch.float, devicenpu) output_data torch.zeros(shape, dtypetorch.float, devicenpu) #convert from torch tensor to pypto tensor with dynamic axis pto_input pypto.from_torch(input_data, in_0, dynamic_axis[0]) pto_output pypto.from_torch(output_data, out_0, dynamic_axis[0])【免费下载链接】pyptoPyPTO发音: pai p-t-oParallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
http://www.gsyq.cn/news/1342991.html

相关文章:

  • 怎样轻松掌握开源安全工具:实用双因素认证配置方案
  • yt-fts高级配置技巧:数据库路径、Chroma设置与性能优化
  • 为什么你需要kubectl-node-shell:10个Kubernetes节点故障排查技巧 [特殊字符]
  • 3分钟快速上手:用downkyicore轻松提取B站音频的完整教程
  • 专业级Windows媒体播放解决方案:mpv.net深度解析与进阶应用
  • Blackbone深度解析:Windows内存操作与进程注入技术实战指南
  • EasyReport模板引擎终极指南:Velocity与Thymeleaf深度对比分析
  • 谷歌I/O 2026震撼发布:全面进入智能体Gemini时代
  • jsprit与GraphHopper集成指南:构建智能物流解决方案的完整方法
  • 终极指南:5分钟快速上手LibreSprite开源像素画工具
  • swift-doc插件开发指南:扩展自定义文档生成功能
  • FARM企业级部署:AWS SageMaker与Docker容器化实战指南
  • DeepL免费翻译插件终极指南:如何零成本享受专业级翻译服务
  • AspectCore-Framework反射扩展:打造极致性能的.NET应用终极指南
  • VSCodium:开发者隐私保护与开源自由的技术解决方案
  • FishNet核心组件解析:NetworkManager与NetworkObject的完整教程 [特殊字符]
  • CANN/pypto按位右移操作
  • 为什么选择Octopress:10个让Jekyll博客开发效率翻倍的理由
  • Mainframer与IntelliJ IDEA完美集成:提升开发体验的7个技巧
  • 5分钟掌握ToolsFx:让密码学工具变得如此简单
  • Static-Program-Analysis-Book实战案例:如何用静态分析技术发现真实世界中的程序漏洞
  • 深度解析:ASP.NET Core微服务架构实战手册
  • YimMenu:GTA V模组菜单终极安全防护与游戏体验提升指南
  • 远程办公三年,我摸索出一套不被“隐形加班”吞噬的方法
  • RMAN 全库备份(Full Backup)
  • 如何用开源工具uesave解锁Unreal引擎游戏存档的编辑自由?
  • Agent系统中的LLM核心角色与系统设计关键
  • 如何在Linux系统上安装Realtek RTL8125 2.5GbE网卡驱动:完整配置指南
  • 鸿蒙备考题库页面构建:学习进度可视化与练习模式网格设计
  • Linux的监测程序