相同点
- tensorflow和pytorch都是为深度学习提供的开源框架。
- 都有专门的团队在维护和更新。
- 社区环境都很好,开源项目、模型很多。
区别
- 两者最主要的区别在于tensorflow是基于静态图构图的,pytorch是基于动态图构图的,这两者的差异主要是框架设计时的思路导致的。
- 直观来说,tensorflow在搭建框架的时候是没有真正的数据传递的,可以理解为设计模型和运行模型、传递数据是分开的,在调试时无法读取对应op的具体输入输出。
- pytorch是基于动态图构图的,可以理解为设计模型和运行模型、传递数据是同步进行的,在调试时断点打在哪里,就能看到具体的对应数据。
- 通常,tensorflow提供的API更加底层,而pytorch提供的API封装的更为完善,如果想深入进行算子、op的设计,更建议使用tensorflow。如果想快速的搭建模型,比如打比赛时做model fusion等常见操作,则pytroch会让你的速度更快。
博主会持续更新一些深度学习相关的基础知识以及工作中遇到的问题和感悟,喜欢请关注、点赞、收藏。