一、公共集群安装pytorch
1、集群安装anaconda
学院集群在 /opt/app中已经预装了一些应用
(base) [jessy@workstation ~]$ cd /opt/app
(base) [jessy@workstation app]$ ls
anaconda3 compilers cuda modulefiles nvidia spack
(base) [jessy@workstation app]$
系统内已经安装了 Anaconda 应用
在安装无需向 anaconda 目录写入内容的包时,可以通过配置环境变量使用,即在 .bahsrc 中添加路径即可。
首先输入:vim ~/.bashrc
编辑路径,在脚本末尾添加export PATH=/opt/app/anaconda3/bin:$PATH
然后运行命令source ~/.bashrc
使配置的环境变量生效
输入conda env list
查看conda环境
到这里出现一个问题
base不显示了
解决: 输入source activate
激活环境
[jessy@workstation ~]$ source activate
(base) [jessy@workstation ~]$
2、安装pytorch(失败!,仅参考)
创建环境
在base环境下输入:conda create --name pytorch01 python=3.7
激活环境:conda activate pytorch01
在环境pytorch01下输入:conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
检验安装方法:
(base) [jessy@workstation ~]$ conda activate pytorch01
(pytorch01) [jessy@workstation ~]$ python
Python 3.7.15 (default, Nov 24 2022, 21:12:53)
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
False
>>>
>
虽然安装好了,但是发现是错误的。
到这里,因为发现自己在公共集群上申请不到GPU。
也就是说,没法判断是自己pytorch版本问题还是还是没有申请到GPU的问题
所以我选择先到集群上的实例上进行测试安装pytorch
3、安装pytorch(成功)
因为实例和公共集群的版本类似,所以我以实例上安装pytorch的方法,在公共集群上安装了同样的pytorch版本,之后使用证明这个版本是正确的。
接第一部分安装conda
创建环境
在base环境下输入:conda create --name pytorch01 python=3.7
激活环境:conda activate pytorch01
进入环境后:安装pytorch
输入:pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
(可以参考第二部分的实例安装pytorch)
安装pytorch后
这里就不测试了,因为如果要测试需要先申请GPU,申请GPU的部分放到另一个文章里,并且测试了pytorch。
链接: 公共集群申请GPU
二、集群申请实例安装pytorch
在写这个文章之前,自己经过1天多的尝试终于找到了合适的方法。
主要问题其实就是版本。版本一步到位,那么问题当然是最少的。
首先就是看自己环境cuda的版本
jessy@n1:/$ nvidia-smi
Wed Nov 30 22:08:46 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03 Driver Version: 460.91.03 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce RTX 308... Off | 00000000:50:00.0 Off | N/A |
| 31% 45C P2 100W / 350W | 1030MiB / 12053MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
jessy@n1:/$
在conda中创建一个环境,这个环境用来安装pytorch,这个环境的python版本为3.7
这个环境的名字叫 pytorch_test
jessy@n1:/$ conda create -n pytorch_test python=3.7
Collecting package metadata (current_repodata.json): done
Solving environment: done
这里只截取了部分
安装完成后,查看一下环境:
jessy@n1:/$ conda env list
# conda environments:
#
pytorch01 /home/jessy/.conda/envs/pytorch01
pytorch_test /home/jessy/.conda/envs/pytorch_test
base * /opt/conda
py27 /opt/conda/envs/py27
py36 /opt/conda/envs/py36
jessy@n1:/$
接下来,我们要进入这个环境,只有进入这个环境才开始装python
jessy@n1:/$ source activate pytorch_test
(pytorch_test) jessy@n1:/$
一定要进入创建的环境才能装pytorch!
一定要进入创建的环境才能装pytorch!
一定要进入创建的环境才能装pytorch!
在这里,我们先做个测试,用来和装好的pytorch做对比!
(pytorch_test) jessy@n1:/$ python
Python 3.7.15 (default, Nov 24 2022, 21:12:53)
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'torch'
出现:No module named ‘torch’
因为我们是CUDA11.2,Linux环境
所以在pytorch_test环境下
输入:pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
安装pytorch
安装成功后进行测试。
(pytorch_test) jessy@n1:/$ python
Python 3.7.15 (default, Nov 24 2022, 21:12:53)
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.cuda.get_device_name(0)
'GeForce RTX 3080 Ti'
>>> torch.cuda.device_count()
1
>>> torch.cuda.current_device() # 返回当前设备索引
0
到这里就安装成功了。
只要解决了版本问题就可以了。
建议以后的解决办法:直接搜自己cuda对应的pytorch版本安装命令即可