陈天奇:在深度学习框架之间共享张量——内存张量结构DLPack的Pyt...

新智元

共 935字,需浏览 2分钟

 ·

2021-02-28 14:10

9262d2e9c93e4ec4f7f48e919ce20ccc.webp


  新智元报道 

来源:推特

编辑:keyu

【新智元导读】DLPack是一种开放的内存张量结构,用于在框架之间共享张量,近日,开发者陈天奇更新社交媒体详细介绍了为DLPack添加PythonAPI、语义和实现细节的内容。


大家知道DLPack吗:

eb2991db441e0aef0d887c5c0a14a048.webp

深度学习从业人员或多或少都会有了解,诸如 Tensorflow、PyTorch 等深度学习框架,确实为深度学习的快速原型设计和模型部署提供了强大的工具箱。

 

但是,不幸的是,它们的易用性通常以碎片化为代价

 

他们仅仅限于对每个框架单独使用,如果对框架进行垂直整合,那么开发流程可以适用于常见用例,但实际上,打破常规可能会是个非常棘手的问题。

 

一种解决的方法是,在内存中直接将张量从一个框架传递到另一个框架,而不发生任何数据复制或拷贝。

 

DLPack,就是张量数据结构的中间内存表示标准,它是一种开放的内存张量结构,用于在框架之间共享张量

 

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

0b359225613cf52f5172b6c540ca4853.webp

DLPack使:

 

  • 在深度学习框架之间更轻松地共享操作员。
 
  • 更容易包装供应商级别的运营商实施,允许在引入新设备/操作时进行协作。
 
  • 快速交换后端实现,如不同版本的BLAS
 
  • 对于最终用户来说,这可以带来更多的运营商,并且可以在框架之间混合使用。
c9ffb64cea3f3a9332cb7bc0fd881a60.webp下载地址:https://gitee.com/mirrors/DLPack 此外,DLPack的开发者不打算实现Tensor和Ops,而是将其用作跨框架重用张量和操作的公共桥梁 此外,最近,DLPack的开发者陈天奇更新了一则Git,标题为:“为 DLPack 添加PythonAPI、语义和实现细节”,在其中讨论了添加的详细内容、以及要引用DLPack本身的什么内容。 同时,陈天奇还计划将一些文档导入DLPack,目前,DLPack没有任何关于Python级API的文档。6d8c89bc2aedd795548f6c4e20120f9c.webp感兴趣的小伙伴可以去下面地址看一看:https://github.com/data-apis/consortium-feedback/issues/1 
参考链接:https://github.com/data-apis/array-api/pull/106




2489dd11d5a81fb8578ae7a639d8d317.webp


浏览 32
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报