1 安装
1.1 环境
软硬件环境很重要:
- 操作系统:Ubuntu 16.04
- x86-64处理器,无GPU
1.2 安装
最权威的安装方式,当然是按照官网提供的教程。
说明:
- PyTorch版本:稳定版和预览版本(未经全面测试和支持)
- 操作系统:Linux,Mac,Windows
- 包:Conda,Pip,LibTorch,Source,建议使用Conda
- 编程语言:Python2.7, Python3.5, Python3.6, Python3.7, C++
- CUDA:9.2,10.1,无CUDA(即无GPU)
- 运行的命令
虽然在Linux上默认安装了Python 3.x,但默认情况下未安装pip
。安装pip3
:
sudo apt-get install python3-pip
根据我的软硬件环境,运行以下命令安装PyTorch:
sudo pip3 install torch==1.3.1+cpu torchvision==0.4.2+cpu -f https://download.pytorch.org/whl/torch_stable.html
注意:一定要添加sudo
命令,否则会出现以下错误,然后需要再运行一次,很浪费时间。
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] 权限不够:
‘/usr/local/lib/python3.5/dist-packages/numpy-1.17.4.dist-info’
Consider using the--user
option or check the permissions.
安装完成后,会输出以下信息:
Installing collected packages: torch, pillow, torchvision
Successfully installed pillow-6.2.1 torch-1.3.1+cpu torchvision-0.4.2+cpu
1.3 可能遇到的问题
下载numpy
时,网速很慢,只有几十KB,而且容易出现网络超时错误。
下载numpy
:
Collecting numpy (from torch==1.3.1+cpu)
Downloading https://files.pythonhosted.org/packages/ab/e9/2561dbfbc05146bffa02167e09b9902e273decb2dc4cd5c43314ede20312/numpy-1.17.4-cp35-cp35m-manylinux1_x86_64.whl (19.8MB)
出现网络超时错误:
raise ReadTimeoutError(self._pool, None, ‘Read timed out.’)
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out.
这时,可以尝试添加--timeout=1000
,即:
sudo pip3 install torch==1.3.1+cpu torchvision==0.4.2+cpu -f https://download.pytorch.org/whl/torch_stable.html --timeout=1000
其实,这属于pip超时问题,可以使用pypi镜像加快下载速度。
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
可以明显看出,下载速度很快:
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting numpy
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ab/e9/2561dbfbc05146bffa02167e09b9902e273decb2dc4cd5c43314ede20312/numpy-1.17.4-cp35-cp35m-manylinux1_x86_64.whl (19.8MB)
|████████████████████████████████| 19.8MB 20.9MB/s
Installing collected packages: numpy
Successfully installed numpy-1.17.4
2 验证是否安装成功
为了确保正确安装了PyTorch,我们可以通过运行示例PyTorch代码来验证安装。在这里,我们将构造一个随机初始化的张量。
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驱动程序和CUDA并可以访问它,请运行以下命令:
import torch
torch.cuda.is_available()
查看PyTorc版本:
print(torch.__version__)