TensorFlow与PyTorch

TensorFlow与PyTorch对比


参考链接:
https://zhuanlan.zhihu.com/p/80733307
https://blog.csdn.net/qq_37388085/article/details/102559532

计算图

计算图是一种将计算描述成有向无环图的抽象方式。图是一种由节点Node(顶点)和边Edge构成的数据结构,是由有向的边成对连接的顶点的集合。

结点:表示数据,如向量、矩阵、张量。
边:表示运算,如加减乘除卷积等。

pytorch使用动态计算图,运算与搭建同时进行;灵活,易调节。图会随着执行过程而改变和执行节点,没有特殊的会话接口或占位符。整体而言,这个框架与 Python 语言的整合更紧密,大多数时候感觉更本地化。因此,PyTorch 是更 Python 化的框架。

tensorflow使用的静态计算图,先搭建图,后运算;高效,但不灵活。 TensorFlow 中运行代码之前以静态方式生成计算图的方式。计算图的核心优势是能实现并行化或依赖驱动式调度(dependency driving scheduling),这能让训练速度更快,更有效率。

分布式训练

分布式训练PyTorch 和 TensorFlow 的一个主要差异特点是数据并行化。PyTorch 优化性能的方式是利用 Python 对异步执行的本地支持。而用 TensorFlow 时,你必须手动编写代码,并微调要在特定设备上运行的每个操作,以实现分布式训练。

生产部署

TensorFlow 可以直接使用 TensorFlow serving 在 TensorFlow 中部署模型,这是一种使用了 REST Client API 的框架。
PyTorch 没有提供任何用于在网络上直接部署模型的框架。你必须使用 Flask 或 Django 作为后端服务器。

比较

TensorFlow 的优点:
简单的内置高级 API
使用 TensorBoard 可视化训练
通过 TensorFlow serving 容易实现生产部署
很容易的移动平台支持
开源
良好的文档和社区支持

TensorFlow 的缺点:
静态图
调试方法
难以快速修改

PyTorch 的优点
类 Python 的代码
动态图
轻松快速的编辑
良好的文档和社区支持
开源
很多项目都使用 PyTorch

PyTorch 的缺点:
可视化需要第三方
生产部署需要 API 服务器

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值