Facebook 在人工智能项目中广泛使用自己的开源 AI 框架 PyTorch,最近,他们已经发布了 PyTorch 1.0 的预览版本。
如果你尚不了解,PyTorch 是一个基于 Python 的科学计算库。
PyTorch 利用 GPU 超强的运算能力 来实现复杂的 张量 计算 和 深度神经网络。 因此, 它被世界各地的研究人员和开发人员广泛使用。
这一新的可以投入使用的 预览版 已于 2018 年 10 月 2 日周二在旧金山 The Midway 举办的 PyTorch 开发人员大会 宣布。
PyTorch 1.0 候选版本的亮点
候选版本中的一些主要新功能包括:
1、 JIT
JIT 是一个编译工具集,使研究和生产更加接近。 它包含一个基于 Python 语言的叫做 Torch Script 的脚本语言,也有能使现有代码与它自己兼容的方法。
2、 全新的 torch.distributed 库: “C10D”
“C10D” 能够在不同的后端上启用异步操作, 并在较慢的网络上提高性能。
3、 C++ 前端 (实验性功能)
虽然它被特别提到是一个不稳定的 API (估计是在预发行版中), 这是一个 PyTorch 后端的纯 C++ 接口, 遵循 API 和建立的 Python 前端的体系结构,以实现高性能、低延迟的研究和开发直接安装在硬件上的 C++ 应用程序。
想要了解更多,可以在 GitHub 上查看完整的 更新说明。
第一个 PyTorch 1.0 的稳定版本将在夏季发布。(LCTT 译注:此信息可能有误)
在 Linux 上安装 PyTorch
为了安装 PyTorch v1.0rc0, 开发人员建议使用 conda, 同时也可以按照本地安装页面所示,使用其他方法可以安装,所有必要的细节详见文档。
前提
- Linux
- Pip
- Python
- CUDA (对于使用 Nvidia GPU 的用户)
我们已经知道如何安装和使用 Pip,那就让我们来了解如何使用 Pip 安装 PyTorch。
请注意,PyTorch 具有 GPU 和仅限 CPU 的不同安装包。你应该安装一个适合你硬件的安装包。
安装 PyTorch 的旧版本和稳定版
如果你想在 GPU 机器上安装稳定版(0.4 版本),使用:
pip install torch torchvision
使用以下两个命令,来安装仅用于 CPU 的稳定版:
pip install http://download.pytorch.org/whl/cpu/torch-0.4.1-cp27-cp27mu-linux_x86_64.whl
pip install torchvision
安装 PyTorch 1.0 候选版本
使用如下命令安装 PyTorch 1.0 RC GPU 版本:
pip install torch_nightly -f https://download.pytorch.org/whl/nightly/cu92/torch_nightly.html
如果没有GPU,并且更喜欢使用 仅限 CPU 版本,使用如下命令:
pip install torch_nightly -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
验证 PyTorch 安装
使用如下简单的命令,启动终端上的 python 控制台:
python
现在,按行输入下面的示例代码以验证您的安装:
from __future__ import print_function
import torch
x = torch.rand(5, 3)
print(x)
你应该得到如下输出:
tensor([[0.3380, 0.3845, 0.3217],
[0.8337, 0.9050, 0.2650],
[0.2979, 0.7141, 0.9069],
[0.1449, 0.1132, 0.1375],
[0.4675, 0.3947, 0.1426]])
若要检查是否可以使用 PyTorch 的 GPU 功能, 可以使用以下示例代码:
import torch
torch.cuda.is_available()
输出结果应该是:
True
支持 PyTorch 的 AMD GPU 仍在开发中, 因此, 尚未按报告提供完整的测试覆盖,如果您有 AMD GPU ,请在这里提出建议。
现在让我们来看看一些广泛使用 PyTorch 的研究项目:
基于 PyTorch 的持续研究项目
- Detectron: Facebook AI 研究院的软件系统, 可以智能地进行对象检测和分类。它之前是基于 Caffe2 的。今年早些时候,Caffe2 和 PyTorch 合力创建了一个研究 + 生产的 PyTorch 1.0
- Unsupervised Sentiment Discovery: 广泛应用于社交媒体的一些算法
- vid2vid: 逼真的视频到视频的转换
- DeepRecommender 我们在过去的网飞的 AI 文章中介绍了这些系统是如何工作的
领先的 GPU 制造商英伟达在更新这方面最近的发展,你也可以阅读正在进行的合作的研究。
我们应该如何应对这种 PyTorch 的能力?
想到 Facebook 在社交媒体算法中应用如此令人惊叹的创新项目, 我们是否应该感激这一切或是感到惊恐?这几乎是天网! 这一新改进的发布的 PyTorch 肯定会推动事情进一步向前! 在下方评论,随时与我们分享您的想法!