DLPack是一种开放的内存张量结构,用于在框架之间共享张量,近日,开发者陈天奇更新社交媒体详细介绍了为DLPack添加PythonAPI、语义和实现细节的内容。
大家知道DLPack吗:
深度学习从业人员或多或少都会有了解,诸如 Tensorflow、PyTorch 等深度学习框架,确实为深度学习的快速原型设计和模型部署提供了强大的工具箱。
但是,不幸的是,它们的易用性通常以碎片化为代价:
他们仅仅限于对每个框架单独使用,如果对框架进行垂直整合,那么开发流程可以适用于常见用例,但实际上,打破常规可能会是个非常棘手的问题。
一种解决的方法是,在内存中直接将张量从一个框架传递到另一个框架,而不发生任何数据复制或拷贝。
而DLPack,就是张量数据结构的中间内存表示标准,它是一种开放的内存张量结构,用于在框架之间共享张量。
它提供了一个简单、可移植的内存数据结构:
DLPack使:
- 在深度学习框架之间更轻松地共享操作员。
- 更容易包装供应商级别的运营商实施,允许在引入新设备/操作时进行协作。
- 快速交换后端实现,如不同版本的BLAS
- 对于最终用户来说,这可以带来更多的运营商,并且可以在框架之间混合使用。
下载地址:
https://gitee.com/mirrors/DLPack
此外,DLPack的开发者不打算实现Tensor和Ops,而是将其用作跨框架重用张量和操作的公共桥梁。
此外,最近,DLPack的开发者陈天奇更新了一则Git,标题为:“为 DLPack 添加PythonAPI、语义和实现细节”,在其中讨论了添加的详细内容、以及要引用DLPack本身的什么内容。
同时,陈天奇还计划将一些文档导入DLPack,目前,DLPack没有任何关于Python级API的文档。
感兴趣的小伙伴可以去下面地址看一看: