加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

TensorFlow与PyTorch之争,哪个框架最适合深度学习

发布时间:2019-09-03 21:07:56 所属栏目:建站 来源:机器之心编译
导读:如果你在读这篇文章,那么你可能已经开始了自己的深度学习之旅。如果你对这一领域还不是很熟悉,那么简单来说,深度学习使用了「人工神经网络」,这是一种类似大脑的特殊架构,这个领域的发展目标是开发出能解决真实世界问题的类人计算机。为了帮助开发这

在训练过程的可视化方面,TensorFlow 更有优势。可视化能帮助开发者跟踪训练过程以及实现更方便的调试。TensorFlow 的可视化库名为 TensorBoard。PyTorch 开发者则使用 Visdom,但是 Visdom 提供的功能很简单且有限,所以 TensorBoard 在训练过程可视化方面更好。

TensorBoard 的特性:

  • 跟踪和可视化损失和准确度等指标
  • 可视化计算图(操作和层)
  • 查看权重、偏差或其它张量随时间变化的直方图
  • 展示图像、文本和音频数据
  • 分析 TensorFlow 程序

TensorFlow与PyTorch之争,哪个框架最适合深度学习

在 TensorBoard 中可视化训练

Visdom 的特性:

  • 处理回调
  • 绘制图表和细节
  • 管理环境

TensorFlow与PyTorch之争,哪个框架最适合深度学习

在 Visdom 中可视化训练

4. 生产部署

在将训练好的模型部署到生产方面,TensorFlow 显然是赢家。我们可以直接使用 TensorFlow serving 在 TensorFlow 中部署模型,这是一种使用了 REST Client API 的框架。

使用 PyTorch 时,在最新的 1.0 稳定版中,生产部署要容易一些,但它没有提供任何用于在网络上直接部署模型的框架。你必须使用 Flask 或 Django 作为后端服务器。所以,如果要考虑性能,TensorFlow serving 可能是更好的选择。

5. 用 PyTorch 和 TensorFlow 定义一个简单的神经网络

我们比较一下如何在 PyTorch 和 TensorFlow 中声明神经网络。

在 PyTorch 中,神经网络是一个类,我们可以使用 torch.nn 软件包导入构建架构所必需的层。所有的层都首先在 __init__() 方法中声明,然后在 forward() 方法中定义输入 x 在网络所有层中的遍历方式。最后,我们声明一个变量模型并将其分配给定义的架构(model = NeuralNet())。

TensorFlow与PyTorch之争,哪个框架最适合深度学习

近期 Keras 被合并到了 TensorFlow 库中,这是一个使用 TensorFlow 作为后端的神经网络框架。从那时起,在 TensorFlow 中声明层的句法就与 Keras 的句法类似了。首先,我们声明变量并将其分配给我们将要声明的架构类型,这里的例子是一个 Sequential() 架构。

接下来,我们使用 model.add() 方法以序列方式直接添加层。层的类型可以从 tf.layers 导入,如下代码片段所示:

TensorFlow与PyTorch之争,哪个框架最适合深度学习

五、TensorFlow 和 PyTorch 的优缺点

TensorFlow和PyTorch各有其优缺点。

TensorFlow 的优点:

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

TensorFlow 的缺点:

  • 静态图
  • 调试方法
  • 难以快速修改

PyTorch 的优点

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

PyTorch 的缺点:

  • 可视化需要第三方
  • 生产部署需要 API 服务器

六、PyTorch 和 TensorFlow 安装、版本、更新

PyTorch 和 TensorFlow 近期都发布了新版本:PyTorch 1.0(首个稳定版)和 TensorFlow 2.0(beta 测试版)。这两个版本都有重大的更新和新功能,让训练过程更高效、流畅和强大。

如果你要在自己的机器上安装这些框架的最新版,你可以用源代码 build 或通过 pip 安装。

1. PyTorch 安装

macOS 和 Linux

  1. pip3 install torch torchvision 

Windows

  1. pip3 install https://download.pytorch.org/whl/cu90/torch-1.1.0-cp36-cp36m-win_amd64.whl 
  2. pip3 install https://download.pytorch.org/whl/cu90/torchvision-0.3.0-cp36-cp36m-win_amd64.whl 

2. TensorFlow 安装

macOS、Linux 和 Windows

  1. # Current stable release for CPU-only 
  2. pip install tensorflow 
  3. # Install TensorFlow 2.0 Beta 
  4. pip install tensorflow==2.0.0-beta1 

要检查安装是否成功,可使用命令提示符或终端按以下步骤操作。

七、TensorFlow 还是 PyTorch?我的建议

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读