陈天奇:在深度学习框架之间共享张量——内存张量结构DLPack的PythonAPI来了
新智元报道
新智元报道
来源:推特
编辑:keyu
【新智元导读】DLPack是一种开放的内存张量结构,用于在框架之间共享张量,近日,开发者陈天奇更新社交媒体详细介绍了为DLPack添加PythonAPI、语义和实现细节的内容。
大家知道DLPack吗:
深度学习从业人员或多或少都会有了解,诸如 Tensorflow、PyTorch 等深度学习框架,确实为深度学习的快速原型设计和模型部署提供了强大的工具箱。
但是,不幸的是,它们的易用性通常以碎片化为代价:
他们仅仅限于对每个框架单独使用,如果对框架进行垂直整合,那么开发流程可以适用于常见用例,但实际上,打破常规可能会是个非常棘手的问题。
一种解决的方法是,在内存中直接将张量从一个框架传递到另一个框架,而不发生任何数据复制或拷贝。
而DLPack,就是张量数据结构的中间内存表示标准,它是一种开放的内存张量结构,用于在框架之间共享张量。
它提供了一个简单、可移植的内存数据结构:
DLPack使:
-
在深度学习框架之间更轻松地共享操作员。
-
更容易包装供应商级别的运营商实施,允许在引入新设备/操作时进行协作。
-
快速交换后端实现,如不同版本的BLAS
-
对于最终用户来说,这可以带来更多的运营商,并且可以在框架之间混合使用。