Install PyTorch @ LN41 - refraction-ray/TH2-demos GitHub Wiki
因为都是基于Python的环境,基本的安装过程和使用过程和TensorFlow 的类似
用户可以通过module 加载或 source xxxx/active . 因为这是GPU 分区,就只配置 GPU 版本的 Module 了 ,参见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 两个版本。
- PS : 官网提示的 “Run this command” 的内容好像要翻墙后才能正常显示
- PS : 直接在LN 上执行 pip install http://download.pytorch.org/whl/cu80/torch-0.1.12.post2-cp35-cp35m-linux_x86_64.whl 会由于网络太差难以成功安装,还是要翻墙后直接下载这个whl 文件然后上传用Pip 安装。
- py2.7 CUDA8
- [py3.6 CUDA8](pip install http://download.pytorch.org/whl/cu80/torch-0.1.12.post2-cp36-cp36m-linux_x86_64.whl)
建议本地翻墙下载后再上传到LN 。 目前在 /BIGDATA/app/PyTorch/pkgs/ 下有这两个文件的备份。
可以参考 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)
以 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/
- -i https://pypi.douban.com/simple/ 是使用国内豆瓣的PIP 源, 也可以使用其他的源来进行下载。