---
author: Avimanyu Bandyopadhyay
category: 技术
comments_data: []
count:
  commentnum: 0
  favtimes: 1
  likes: 0
  sharetimes: 0
  viewnum: 7762
date: '2018-10-22 08:44:30'
editorchoice: false
excerpt: Facebook 在人工智能项目中广泛使用自己的开源 AI 框架 PyTorch，最近，他们已经发布了 PyTorch 1.0 的预览版本。
fromurl: https://itsfoss.com/pytorch-open-source-ai-framework/
id: 10140
islctt: true
largepic: /images/p/201810/22/084432rtvtitfvt8teo5v0.jpg
permalink: /article-10140-1.html
pic: /images/p/201810/22/084432rtvtitfvt8teo5v0.jpg.thumb.jpg
related: []
reviewer: wxy
selector: lujun9972
summary: Facebook 在人工智能项目中广泛使用自己的开源 AI 框架 PyTorch，最近，他们已经发布了 PyTorch 1.0 的预览版本。
tags: []
thumb: false
title: PyTorch 1.0 预览版发布：Facebook 最新 AI 开源框架
titlepic: true
translator: distant1219
updated: '2018-10-22 08:44:30'
---

Facebook 在人工智能项目中广泛使用自己的开源 AI 框架 PyTorch，最近，他们已经发布了 PyTorch 1.0 的预览版本。


如果你尚不了解，[PyTorch](https://pytorch.org/) 是一个基于 Python 的科学计算库。


PyTorch 利用 [GPU 超强的运算能力](https://en.wikipedia.org/wiki/General-purpose_computing_on_graphics_processing_units) 来实现复杂的 [张量](https://en.wikipedia.org/wiki/Tensor) 计算 和 [深度神经网络](https://www.techopedia.com/definition/32902/deep-neural-network)。 因此， 它被世界各地的研究人员和开发人员广泛使用。


这一新的可以投入使用的 [预览版](https://code.fb.com/ai-research/facebook-accelerates-ai-development-with-new-partners-and-production-capabilities-for-pytorch-1-0) 已于 2018 年 10 月 2 日周二在旧金山 [The Midway](https://www.themidwaysf.com/) 举办的 [PyTorch 开发人员大会](https://pytorch.fbreg.com/) 宣布。


### PyTorch 1.0 候选版本的亮点


![PyTorhc is Python based open source AI framework from Facebook](/images/p/201810/22/084432rtvtitfvt8teo5v0.jpg)


候选版本中的一些主要新功能包括：


#### 1、 JIT


JIT 是一个编译工具集，使研究和生产更加接近。 它包含一个基于 Python 语言的叫做 Torch Script 的脚本语言，也有能使现有代码与它自己兼容的方法。


#### 2、 全新的 torch.distributed 库: “C10D”


“C10D” 能够在不同的后端上启用异步操作， 并在较慢的网络上提高性能。


#### 3、 C++ 前端 (实验性功能)


虽然它被特别提到是一个不稳定的 API （估计是在预发行版中）， 这是一个 PyTorch 后端的纯 C++ 接口， 遵循 API 和建立的 Python 前端的体系结构，以实现高性能、低延迟的研究和开发直接安装在硬件上的 C++ 应用程序。


想要了解更多，可以在 GitHub 上查看完整的 [更新说明](https://github.com/pytorch/pytorch/releases/tag/v1.0rc0)。


第一个 PyTorch 1.0 的稳定版本将在夏季发布。（LCTT 译注：此信息可能有误）


### 在 Linux 上安装 PyTorch


为了安装 PyTorch v1.0rc0， 开发人员建议使用 [conda](https://conda.io/)， 同时也可以按照[本地安装页面](https://pytorch.org/get-started/locally/)所示，使用其他方法可以安装，所有必要的细节详见文档。


#### 前提


* Linux
* Pip
* Python
* [CUDA](https://www.pugetsystems.com/labs/hpc/How-to-install-CUDA-9-2-on-Ubuntu-18-04-1184/) (对于使用 Nvidia GPU 的用户)


我们已经知道[如何安装和使用 Pip](https://itsfoss.com/install-pip-ubuntu/)，那就让我们来了解如何使用 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 仍在开发中， 因此, 尚未按[报告](https://github.com/pytorch/pytorch/issues/10657#issuecomment-415067478)提供完整的测试覆盖，如果您有 AMD GPU ，请在[这里](https://rocm.github.io/install.html#installing-from-amd-rocm-repositories)提出建议。


现在让我们来看看一些广泛使用 PyTorch 的研究项目：


### 基于 PyTorch 的持续研究项目


* [Detectron](https://github.com/facebookresearch/Detectron): Facebook AI 研究院的软件系统, 可以智能地进行对象检测和分类。它之前是基于 Caffe2 的。今年早些时候，Caffe2 和 PyTorch [合力](https://caffe2.ai/blog/2018/05/02/Caffe2_PyTorch_1_0.html)创建了一个研究 + 生产的 PyTorch 1.0
* [Unsupervised Sentiment Discovery](https://github.com/NVIDIA/sentiment-discovery): 广泛应用于社交媒体的一些算法
* [vid2vid](https://github.com/NVIDIA/vid2vid): 逼真的视频到视频的转换
* [DeepRecommender](https://github.com/NVIDIA/DeepRecommender/) 我们在过去的[网飞的 AI 文章](https://itsfoss.com/netflix-open-source-ai/)中介绍了这些系统是如何工作的


领先的 GPU 制造商英伟达在[更新](https://news.developer.nvidia.com/pytorch-1-0-accelerated-on-nvidia-gpus/)这方面最近的发展，你也可以阅读正在进行的合作的研究。


### 我们应该如何应对这种 PyTorch 的能力？


想到 Facebook 在社交媒体算法中应用如此令人惊叹的创新项目， 我们是否应该感激这一切或是感到惊恐？这几乎是[天网](https://en.wikipedia.org/wiki/Skynet_(Terminator))! 这一新改进的发布的 PyTorch 肯定会推动事情进一步向前! 在下方评论，随时与我们分享您的想法!




---


via: <https://itsfoss.com/pytorch-open-source-ai-framework/>


作者：[Avimanyu Bandyopadhyay](https://itsfoss.com/author/avimanyu/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[distant1219](https://github.com/distant1219) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出