两个最受欢迎的深度学习库:Pytorch和tensorflow,这两个究竟有什么区别?他们之间有什么优缺点。接下里和大家一起看看这其中究竟。
第 1 点:
虽然 Tensorflow 和 PyTorch 都是开源的,但它们是由两个不同的向导创建的。Tensorflow 基于 Theano,由 Google 开发,而 PyTorch 基于 Torch,由 Facebook 开发。
第 2 点:
两者之间最重要的区别是这些框架定义计算图的方式。虽然 Tensorflow 创建的是静态图,但 PyTorch 相信动态图。那么这是什么意思?在 Tensorflow 中,必须定义模型的整个计算图,然后运行您的 ML 模型。但是在 PyTorch 中,可以随时随地定义/操作您的图形。这在 RNN 中使用可变长度输入时比较有用。
第 3 点:
Tensorflow 的学习曲线比 PyTorch 更难一点,怎么说?PyTorch更符合Python和建设ML车型感觉更直观一些。另一方面,使用 Tensorflow的话,必须更多地了解它的工作原理(会话、占位符等)。
第 4 点:
Tensorflow 的社区比 PyTorch 大得多。这意味着更容易找到学习 Tensorflow 的资源,也更容易找到问题的解决方案。另外,小普还注意到,许多教程和 MOOC 都涵盖了Tensorflow,这是因为与 Tensorflow 相比,PyTorch 是一个相对较新的框架。所以,在资源方面,我们就可以找到比 PyTorch 多得多的关于 Tensorflow 的内容。
第 5 点:
如果不提及 TensorBoard,这种比较将是不完整的。TensorBoard 可以直接在浏览器中可视化 ML 模型。PyTorch 没有这样的工具,尽管可以使用像 Matplotlib 这样的工具。不过,有一些集成可以将 Tensorboard 与 PyTorch 结合使用。但本机不支持它。
最后,Tensorflow 在生产模型和可扩展性方面要好得多,因为它旨在为生产做好准备。然而,PyTorch 更容易学习和使用更轻松,因此对于项目和快速构建原型来说相对更好。
哪个更好?这个答案其实因人而异。
事实是,有些人发现使用 PyTorch 更好,而其他人则发现使用 Tensorflow 更好。两者都是伟大的框架。