PyTorch vs. TensorFlow之一个月用户体验
来源:互联网 发布:淘宝查看同行店铺数据 编辑:程序博客网 时间:2024/04/28 14:26
本文作者之前是 TensorFlow 的用户,最近开始使用 PyTorch。经过一个月的使用之后,他将自己的体验写了出来。文章从安装、使用、文档、社区、工具五个方面对 PyTorch 和 TensorFlow 进行了对比。
我之前是 TensorFlow 的用户,但是加入英伟达之后,我们决定转向 PyTorch(出于测试的目的)。以下是我的一些体验。
安装
PyTorch 的安装轻松直接,可以通过 PIP 或数据源安装。PyTorch 还提供 Docker 镜像,可用作项目的基图像。
PyTorch 没有专门的 CPU 版本和 GPU 版本,这一点与 TensorFlow 不同。这使安装更加便捷,但是如果你想同时支持 CPU 和 GPU 的使用,它需要生成更多代码。
需要注意的是,PyTorch 暂时无法提供官方的 Windows 分发。现在有非官方的 Windows 端口,但是并未得到 PyTorch 的支持。
使用
PyTorch 提供 Python 式的 API。这与 TensorFlow 不同,在 TensorFlow 中你需要先定义所有张量和图,再在会话中使用。
我认为,这将使代码变得更长,但是更简洁易懂。PyTorch 图必须在从 PyTorch nn.Module 类中继承的类中进行定义。图运行时会调用一个 forward() 函数。用这种「约定优于配置」方法,图的位置通常是已知的,且变量不用在后面的代码中进行定义。
这种「新」方法需要一些时间来适应,但是我认为,如果你在深度学习之外的领域中使用过 Python,那么你会发现这种方法非常直观。
根据一些评价,PyTorch 还在大量模型中展示了优于 TensorFlow 的性能。
文档
文档在大多数情况下是完整的。我查找函数或模块的定义时,从未失败过。TensorFlow 文档中所有的函数都在同一页,PyTorch 不同,它每个模块使用一页。如果你习惯了用 TensorFlow 查找函数的话,这可能有点难。
社区
很明显,PyTorch 社区没有 TensorFlow 社区大。但是,很多人喜欢在闲暇时间使用 PyTorch,即使在工作时间仍使用 TensorFlow。我认为如果 PyTorch 脱离 Beta,这种情况可能会有所改变。
当前,精通 PyTorch 的人仍然很少。
这个社区足够大,官方论坛的问题会得到快速回答,这样大量很棒的神经网络的示例实现就会被翻译成 PyTorch。
工具和助手
即使 PyTorch 提供大量的工具,但还缺少一些非常有用的工具。其中之一就是 TensorFlow 的 TensorBoard。这使得可视化稍微有点困难。
PyTorch 还缺少很多常用助手,比起 TensorFlow,这要求 PyTorch 用户更多依靠自己写代码。
结论
PyTorch 是 TensorFlow 的重要替代方案。由于 PyTorch 还在 Beta 中,所以我期待 PyTorch 的易用性、文档和性能都能够有更多改变和改进。
PyTorch 是很 Python 式的,用起来很舒适。它的社区和文档都很优秀,据说它还比 TensorFlow 稍快一点。
但是,PyTorch 社区与 TensorFlow 社区相比较小,且缺少很多有用的工具,如 TensorBoard。
原文链接:https://medium.com/towards-data-science/pytorch-vs-tensorflow-1-month-summary-35d138590f9
- PyTorch vs. TensorFlow之一个月用户体验
- PyTorch vs. TensorFlow月度使用体验总结
- 可用性 vs. 用户体验
- 用户体验的76个体验点
- 中国的用户体验状况之一
- SNS如何加强用户体验之一
- 用户体验之一——动态排序
- Tensorflow深度学习之一:第一个Tensorflow深度学习程序
- 用户设计VS用户体验(UI,UX干货)
- TensorFlow, PyTorch, Caffe2的比较
- 软件专业毕业生之一个月攻略
- TensorFlow体验
- 15 个用户体验设计剖析
- 15 个用户体验设计剖析
- 卓越用户体验的5个共同点
- 卓越用户体验的5个共同点
- 15 个用户体验设计剖析
- 影响用户体验的4个因素
- 【NOIP2014提高组】飞扬的小鸟
- 购物车_信息添加
- 网络地址图片二次采样(HttpURLConnection)
- acdream 1726 A Math game(部分和)
- 属性动画的简单使用
- PyTorch vs. TensorFlow之一个月用户体验
- CS Course HDU
- Intellij 启动报错probably the path to GIt executable is not valid
- 洛谷P1036 选数(回溯法)
- 探究神经机器翻译中的注意力机制:指哪儿打哪儿,还是指哪儿打一片?
- All In! 我学会了用强化学习打德州扑克
- 编程题1
- java 输入一个数 字符 字符串
- 说好的自动化呢?特斯拉 Model 3 仍依赖人工组装导致生产延迟