Skip to content

Install PyTorch @ LN41

HLiang edited this page Feb 27, 2018 · 2 revisions

因为都是基于Python的环境,基本的安装过程和使用过程和TensorFlow 的类似

使用说明

用户可以通过module 加载或 source xxxx/active . 因为这是GPU 分区,就只配置 GPU 版本的 Module 了 ,参见Quick Example.

Quick Example

[nscc_ts_gpu@ln41%tianhe2-G ~]$ module avail PyTorch
'
--------------------------------------- /BIGDATA/app/modulefiles_GPU/ ----------------------
PyTorch/py2_CUDA8_0.1.12_1   PyTorch/py3.6_CUDA8_0.1.12_1
[nscc_ts_gpu@ln41%tianhe2-G ~]$ module load PyTorch/py3.6_CUDA8_0.1.12_1
[nscc_ts_gpu@ln41%tianhe2-G ~]$ python /BIGDATA/app/PyTorch/examples/simple_gpu.py
Traceback (most recent call last):
  File "/BIGDATA/app/PyTorch/examples/simple_gpu.py", line 3, in <module>
    x = torch.cuda.FloatTensor(1)
  File "/BIGDATA/app/PyTorch/python-venv/py3.6-CUDA8/lib/python3.6/site-packages/torch/cuda/__init__.py", line 272, in __new__
    _lazy_init()
  File "/BIGDATA/app/PyTorch/python-venv/py3.6-CUDA8/lib/python3.6/site-packages/torch/cuda/__init__.py", line 84, in _lazy_init
    _check_driver()
  File "/BIGDATA/app/PyTorch/python-venv/py3.6-CUDA8/lib/python3.6/site-packages/torch/cuda/__init__.py", line 58, in _check_driver
    http://www.nvidia.com/Download/index.aspx""")
AssertionError:
Found no NVIDIA driver on your system. Please check that you
have an NVIDIA GPU and installed a driver from
http://www.nvidia.com/Download/index.aspx
[nscc_ts_gpu@ln41%tianhe2-G ~]$ yhrun -n 1 -p gpu python /BIGDATA/app/PyTorch/examples/simple_gpu.py
0
0
1
1
1
0
2
[nscc_ts_gpu@ln41%tianhe2-G ~]$

simple_gpu.py是一个简单的测试,直接用python 执行时一个错误范例,因为登录节点没有GPU(也不允许跑作业)

安装

PyTorch 已经针对包管理器进行了比较好的封装。直接根据官网的指引安装即可。这里采用的是PIP 和 CUDA8 的安装方式,安装了 python2.7 和 python 3.6 两个版本。

Step 1 下载 whl 文件

建议本地翻墙下载后再上传到LN 。 目前在 /BIGDATA/app/PyTorch/pkgs/ 下有这两个文件的备份。

Step 2 创建Python virtualenv 环境

可以参考 Install TensorFlow @ LN41

这里由于已经有了安装好的python 环境,可以直接load . 这里以 Python 2.7为例

$ module load Python/2.7.9
$ mkdir -p /BIGDATA/app/PyTorch/python-venv/py2.7-CUDA8
$ which virtualenv
/BIGDATA/app/Python/2.7.9/bin/virtualenv
$ virtualenv --system-site-packages /BIGDATA/app/PyTorch/python-venv/py2.7-CUDA8
$ source /BIGDATA/app/PyTorch/python-venv/py2.7-CUDA8/bin/activate
  • Python 3.6 的与之类似,但会发现直接这样active 后会出错,是由于python 3 多了 libpython3.6m.so.1.0 这个库需要加到 LD_LIBRARY_PATH 中
  • 这里的 基础 python 如果已经安装了 ipython (或其他可执行程序) , 在 active virtualenv 中的python 后找不到 ipython , 而再使用PIP 安装会说已经安装了。 这时候需要再去将 原来的python 的 bin 下对应的可执行程序复制过来。一般是一个封装的调用脚本,需要将脚本的首行进行修改。(推荐修改为 #!/usr/bin/env python)

Step 3 安装

以 python/2.7.9 的为例, active virtualenv 后

$ pip install /BIGDATA/app/PyTorch/pkgs/torch-0.1.12.post1-cp27-none-linux_x86_64.whl
$ pip install torchvision -i https://pypi.douban.com/simple/