之前一直觉得TensorFlow是静态图构建,不如动态图便捷,但19年推出了2.0可构建动态图,Keras 被合并到了 TensorFlow 库中,就开始想尝试转向tensorflow的学习,比较现在的许多公司应用也是偏向使用Tensorflow的。
这里就提一下个人从网站及书中得到两者的区别吧:
随着学习的深入,不定期更新:
一个好的框架应该要具备三点:[1]
- 对大的计算图能方便的实现;
- 能自动求变量的导数;
- 能简单的运行在GPU上
TensorFlow 的优点:[2]
简单的内置高级 API
使用 TensorBoard 可视化训练
通过 TensorFlow serving 容易实现生产部署
很容易的移动平台支持
开源
良好的文档和社区支持
TensorFlow 的缺点:
静态图
调试方法
难以快速修改
PyTorch 的优点
类 Python 的代码
动态图
轻松快速的编辑
良好的文档和社区支持
开源
很多项目都使用 PyTorch
PyTorch 的缺点:
可视化需要第三方
生产部署需要 API 服务器
参考资料:
[1] https://blog.csdn.net/ibelieve8013/article/details/84261482
[2] https://zhuanlan.zhihu.com/p/80064752
[3] https://zhuanlan.zhihu.com/p/80733307
[4] https://www.sohu.com/a/258166534_610300