文章目录

  • 1 概述
  • 2 pytorch使用torch.utils.dlpack实现DLPack与张量之间的相互转换
    • 2.1 将DLPack解码为张量。
    • 2.2 将张量转换为DLPack
  • 3 在 PyTorch 示例的底层

1 概述

诸如 Tensorflow、PyTorch 和 Apache MxNet 等深度学习框架为深度学习的快速原型设计和模型部署提供了强大的工具箱。不幸的是,它们的易用性通常以碎片化为代价:这仅限于单独使用每个框架。垂直整合使得开发流程适用于常见用例,但打破常规可能会非常棘手。

一种支持不足的情况是在内存中直接将张量从一个框架传递到另一个框架,而不发生任何数据复制或拷贝。支持这样的用例将使用户能够将管道串联在一起,其中某些运算符在一个框架中比另一个框架支持得更好(或更快)。框架之间的共享数据表示也将弥补这一差距,并允许编译器堆栈在为运算符生成代码时以单一格式为目标。

DLPack 是张量数据结构的中间内存表示标准。以 DLPack 作为通用表示,我们可以在框架脚本中利用 TVM,而传统上其仅能依赖设备商提供的库。TVM 的打包函数可以在 DLPack 张量上运行,提供从 PyTorch 和 MxNet 等框架桥接张量数据结构并实现零数据复制的封装器。

DLPack 提供了一个简单、可移植的内存数据结构:

DLPack构建跨框架深度学习编译器-实现张量之间的相互转换【pytorch】相关推荐

  1. 通过 DLPack 构建跨框架深度学习编译器

    通过 DLPack 构建跨框架深度学习编译器 深度学习框架,如Tensorflow, PyTorch, and ApacheMxNet,快速原型化和部署深度学习模型提供了强大的工具箱.不幸的是,易用性 ...

  2. DLPack构建跨框架的深度学习编译器

    DLPack构建跨框架的深度学习编译器 Tensorflow,PyTorch和ApacheMxNet等深度学习框架提供了一个功能强大的工具包,可用于快速进行原型设计和部署深度学习模型.易用性通常是以碎 ...

  3. AI System 人工智能系统 TVM深度学习编译器 DSL IR优化 计算图 编译 优化 内存内核调度优化 DAG 图优化 DFS TaiChi 函数注册机 Registry

    DSL 领域专用语言 TVM深度学习编译器 AI System 人工智能系统 参考项目 TaiChi 三维动画渲染物理仿真引擎DSL TVM 深度学习DSL 密集计算DSL LLVM 模块化编译器 编 ...

  4. (三)大话深度学习编译器中的自动调优·Empirical Search

    前面的第一篇"(一)大话深度学习编译器中的自动调优·前言"与第二篇"(二)大话深度学习编译器中的自动调优·DSL与IR"分别介绍了背景与一些相关概念,这第三篇我 ...

  5. 自动生成硬件优化内核:陈天奇等人发布深度学习编译器TVM

    有了 TVM,业界与学界开发者们可以快速.轻松地在各个系统(包括手机.嵌入式设备与低功耗芯片)上部署深度学习应用程序,同时无须担心资源与速度的限制.「TVM 作为神经网络和硬件后端之间的共同层,消除了 ...

  6. 【从零开始学深度学习编译器】十三,如何在MLIR里面写Pass?

    [GiantPandaCV导语]这篇文章是学习了比较久然后按照自己的理解步骤重新总结了下来,主要是MLIR Toy Tutorials第3,4篇文章的内容.这里主要讲解了如何在MLIR中自定义Pass ...

  7. 【从零开始学深度学习编译器】十二,MLIR Toy Tutorials学习笔记一

    本笔记由学习MLIR Tutorials总结而成,欢迎批评指正. Chapter1: Toy语言和AST MLIR提供了一种Toy语言来说明MLIR的定义和执行的流程.Toy语言是一种基于张量的语言, ...

  8. 深度学习编译器Data Flow和Control Flow

    深度学习编译器Data Flow和Control Flow 本文介绍了一下深度学习框架的Data Flow和Control Flow,基于TensorFlow解释了TensorFlow是如何在静态图中 ...

  9. 深度学习编译器综述The Deep Learning Compiler

    深度学习编译器综述The Deep Learning Compiler The Deep Learning Compiler: A Comprehensive Survey 参考文献: https:/ ...

最新文章

  1. 写代码做副业月入10K+的方法都藏在这几个公众号
  2. 你不知道的关于计算机大师 Dijkstra 的事情
  3. boost::intrusive::list用法的测试程序
  4. WinDBg定位asp.net mvc项目异常崩溃源码位置
  5. Java 强引用、弱引用、软引用、虚引用
  6. xml不显示css样式_如何使用CSS显示XML?
  7. 交比不变性 matlab,高等几何答案
  8. 问题解决:pip无法使用,经升级后可以使用
  9. 如何在jdk官网下载想要的版本
  10. android字体和可免费商用的字体
  11. Linux操作系统引导过程及MBR扇区故障解决
  12. 极路由s1有wds_极路由1、1s等机型刷OpenWrt--成为真正的极客
  13. VMware中设置处理器数量的问题
  14. 移动双臂机器人仿真[0]--概述
  15. 无穷小量究竟是否为零
  16. 深度学习技巧应用4-模型融合:投票法、加权平均法、集成模型法
  17. Docker国内官方镜像地址
  18. 微信分享第三方连接(H5页面)自定义缩略图、标题、描述(显示分享框,而不是链接)(微信JS-SDK)
  19. 使用tkinter实现猜数字游戏
  20. 书是怎样写成的——《ASP.NET夜话》背后的故事

热门文章

  1. Swish激活 hswish激活
  2. torch 多维topk
  3. pytorch focalloss多分类 单分类
  4. torch.where用法
  5. Run-Time Check Failure #3
  6. 深度学习 end2end
  7. linux wget下载、断点续传
  8. openwrt监控linux,OpenWRT上判断客户端在线个数
  9. matlab 数字转化为文字,将文本转换为数值 - MATLAB Simulink - MathWorks 中国
  10. dnf超时空漩涡副本路线流程图_DNF超时空漩涡真的不难,掌握这些技巧和打法,自己开团当团长!...