2018-10-22 08:44:53 +08:00
|
|
|
|
PyTorch 1.0 预览版发布:Facebook 最新 AI 开源框架
|
2018-10-16 11:06:09 +08:00
|
|
|
|
======
|
2018-10-22 08:44:53 +08:00
|
|
|
|
|
2018-10-16 11:06:09 +08:00
|
|
|
|
Facebook 在人工智能项目中广泛使用自己的开源 AI 框架 PyTorch,最近,他们已经发布了 PyTorch 1.0 的预览版本。
|
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
如果你尚不了解,[PyTorch][1] 是一个基于 Python 的科学计算库。
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
PyTorch 利用 [GPU 超强的运算能力][2] 来实现复杂的 [张量][3] 计算 和 [深度神经网络][4]。 因此, 它被世界各地的研究人员和开发人员广泛使用。
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
这一新的可以投入使用的 [预览版][5] 已于 2018 年 10 月 2 日周二在旧金山 [The Midway][7] 举办的 [PyTorch 开发人员大会][6] 宣布。
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
|
|
|
|
### PyTorch 1.0 候选版本的亮点
|
|
|
|
|
|
|
|
|
|
![PyTorhc is Python based open source AI framework from Facebook][8]
|
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
候选版本中的一些主要新功能包括:
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
#### 1、 JIT
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
|
|
|
|
JIT 是一个编译工具集,使研究和生产更加接近。 它包含一个基于 Python 语言的叫做 Torch Script 的脚本语言,也有能使现有代码与它自己兼容的方法。
|
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
#### 2、 全新的 torch.distributed 库: “C10D”
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
|
|
|
|
“C10D” 能够在不同的后端上启用异步操作, 并在较慢的网络上提高性能。
|
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
#### 3、 C++ 前端 (实验性功能)
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
虽然它被特别提到是一个不稳定的 API (估计是在预发行版中), 这是一个 PyTorch 后端的纯 C++ 接口, 遵循 API 和建立的 Python 前端的体系结构,以实现高性能、低延迟的研究和开发直接安装在硬件上的 C++ 应用程序。
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
|
|
|
|
想要了解更多,可以在 GitHub 上查看完整的 [更新说明][9]。
|
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
第一个 PyTorch 1.0 的稳定版本将在夏季发布。(LCTT 译注:此信息可能有误)
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
|
|
|
|
### 在 Linux 上安装 PyTorch
|
|
|
|
|
|
2018-10-22 08:44:53 +08:00
|
|
|
|
为了安装 PyTorch v1.0rc0, 开发人员建议使用 [conda][10], 同时也可以按照[本地安装页面][11]所示,使用其他方法可以安装,所有必要的细节详见文档。
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
|
|
|
|
#### 前提
|
|
|
|
|
|
|
|
|
|
* Linux
|
|
|
|
|
* Pip
|
|
|
|
|
* Python
|
|
|
|
|
* [CUDA][12] (对于使用 Nvidia GPU 的用户)
|
|
|
|
|
|
|
|
|
|
我们已经知道[如何安装和使用 Pip][13],那就让我们来了解如何使用 Pip 安装 PyTorch。
|
|
|
|
|
|
|
|
|
|
请注意,PyTorch 具有 GPU 和仅限 CPU 的不同安装包。你应该安装一个适合你硬件的安装包。
|
2018-10-22 08:44:53 +08:00
|
|
|
|
|
2018-10-16 11:06:09 +08:00
|
|
|
|
#### 安装 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
|
|
|
|
|
```
|
2018-10-22 08:44:53 +08:00
|
|
|
|
如果没有GPU,并且更喜欢使用 仅限 CPU 版本,使用如下命令:
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
pip install torch_nightly -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
#### 验证 PyTorch 安装
|
|
|
|
|
|
|
|
|
|
使用如下简单的命令,启动终端上的 python 控制台:
|
2018-10-22 08:44:53 +08:00
|
|
|
|
|
2018-10-16 11:06:09 +08:00
|
|
|
|
```
|
|
|
|
|
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
|
|
|
|
|
```
|
2018-10-22 08:44:53 +08:00
|
|
|
|
|
2018-10-16 11:06:09 +08:00
|
|
|
|
支持 PyTorch 的 AMD GPU 仍在开发中, 因此, 尚未按[报告][14]提供完整的测试覆盖,如果您有 AMD GPU ,请在[这里][15]提出建议。
|
|
|
|
|
|
|
|
|
|
现在让我们来看看一些广泛使用 PyTorch 的研究项目:
|
2018-10-22 08:44:53 +08:00
|
|
|
|
|
2018-10-16 11:06:09 +08:00
|
|
|
|
### 基于 PyTorch 的持续研究项目
|
|
|
|
|
|
|
|
|
|
* [Detectron][16]: Facebook AI 研究院的软件系统, 可以智能地进行对象检测和分类。它之前是基于 Caffe2 的。今年早些时候,Caffe2 和 PyTorch [合力][17]创建了一个研究 + 生产的 PyTorch 1.0
|
|
|
|
|
* [Unsupervised Sentiment Discovery][18]: 广泛应用于社交媒体的一些算法
|
|
|
|
|
* [vid2vid][19]: 逼真的视频到视频的转换
|
|
|
|
|
* [DeepRecommender][20] 我们在过去的[网飞的 AI 文章][21]中介绍了这些系统是如何工作的
|
|
|
|
|
|
|
|
|
|
领先的 GPU 制造商英伟达在[更新][22]这方面最近的发展,你也可以阅读正在进行的合作的研究。
|
|
|
|
|
|
|
|
|
|
### 我们应该如何应对这种 PyTorch 的能力?
|
|
|
|
|
|
|
|
|
|
想到 Facebook 在社交媒体算法中应用如此令人惊叹的创新项目, 我们是否应该感激这一切或是感到惊恐?这几乎是[天网][23]! 这一新改进的发布的 PyTorch 肯定会推动事情进一步向前! 在下方评论,随时与我们分享您的想法!
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: https://itsfoss.com/pytorch-open-source-ai-framework/
|
|
|
|
|
|
|
|
|
|
作者:[Avimanyu Bandyopadhyay][a]
|
|
|
|
|
选题:[lujun9972](https://github.com/lujun9972)
|
|
|
|
|
译者:[distant1219](https://github.com/distant1219)
|
2018-10-22 08:44:53 +08:00
|
|
|
|
校对:[wxy](https://github.com/wxy)
|
2018-10-16 11:06:09 +08:00
|
|
|
|
|
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
|
|
|
|
|
|
|
|
[a]: https://itsfoss.com/author/avimanyu/
|
|
|
|
|
[1]: https://pytorch.org/
|
|
|
|
|
[2]: https://en.wikipedia.org/wiki/General-purpose_computing_on_graphics_processing_units
|
|
|
|
|
[3]: https://en.wikipedia.org/wiki/Tensor
|
|
|
|
|
[4]: https://www.techopedia.com/definition/32902/deep-neural-network
|
|
|
|
|
[5]: https://code.fb.com/ai-research/facebook-accelerates-ai-development-with-new-partners-and-production-capabilities-for-pytorch-1-0
|
|
|
|
|
[6]: https://pytorch.fbreg.com/
|
|
|
|
|
[7]: https://www.themidwaysf.com/
|
|
|
|
|
[8]: https://4bds6hergc-flywheel.netdna-ssl.com/wp-content/uploads/2018/10/pytorch.jpeg
|
|
|
|
|
[9]: https://github.com/pytorch/pytorch/releases/tag/v1.0rc0
|
|
|
|
|
[10]: https://conda.io/
|
|
|
|
|
[11]: https://pytorch.org/get-started/locally/
|
|
|
|
|
[12]: https://www.pugetsystems.com/labs/hpc/How-to-install-CUDA-9-2-on-Ubuntu-18-04-1184/
|
|
|
|
|
[13]: https://itsfoss.com/install-pip-ubuntu/
|
|
|
|
|
[14]: https://github.com/pytorch/pytorch/issues/10657#issuecomment-415067478
|
|
|
|
|
[15]: https://rocm.github.io/install.html#installing-from-amd-rocm-repositories
|
|
|
|
|
[16]: https://github.com/facebookresearch/Detectron
|
|
|
|
|
[17]: https://caffe2.ai/blog/2018/05/02/Caffe2_PyTorch_1_0.html
|
|
|
|
|
[18]: https://github.com/NVIDIA/sentiment-discovery
|
|
|
|
|
[19]: https://github.com/NVIDIA/vid2vid
|
|
|
|
|
[20]: https://github.com/NVIDIA/DeepRecommender/
|
|
|
|
|
[21]: https://itsfoss.com/netflix-open-source-ai/
|
|
|
|
|
[22]: https://news.developer.nvidia.com/pytorch-1-0-accelerated-on-nvidia-gpus/
|
|
|
|
|
[23]: https://en.wikipedia.org/wiki/Skynet_(Terminator)
|