5

pytorch与tensorflow部署角度对比

 3 years ago
source link: https://blog.csdn.net/oqqYuan1234567890/article/details/90322324
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

pytorch与tensorflow部署角度对比

original.png
皿小草 2019-05-18 23:46:17 articleReadEyes.png 1841
分类专栏: ML

注意,这文章日期是19年5月18号,所以只是个人对当前这两个框架的一点看法。
由于pytorch的动态图特性很py的脚本语言特性结合得比较好,pytorch在algo developer会比较受欢迎,而tf的图需要提前定义和编译(这里只讨论V1,*),易用性要比pytorch差一些,这就是tf 2.0后续要优化的其中一个点。

这里从部署的角度来看一下两者的差异:
在inference deploy的时候,用py部署是最简单的,但是一旦要压榨性能的时候,py就完全不适合了。c++ deploy solution是一定要有的。pytorch c++部署的相关文档少得可怜,目前只有 https://pytorch.org/tutorials/advanced/cpp_export.html 这个页面有提及(不考虑ONNX),而且中间处理步骤多,约束多,对于部署不友好。而且,这里没有移动终端的相关部署文档,对于重客户端的团队,相当不友好。

相比之下,tf 有很完善的部署文档,如服务端serving库,也可以用golang的binding重写一个(这个方案非常棒,笔者重新实现基本功能只需要不到一天),终端(android/ios)的tflite,也有针对移动端剪枝蒸馏的pocketflow库(腾讯开源的一个不错的库,最后还是要导出tflite的)。文档与例程非常丰富,这就使得部署的门槛大大降低。

小结: pytorch虽然简单易用,但是部署比tensorflow要稍微复杂,文档相对没有那么完善。如果是移动终端,tensorflow是优选平台。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK