1. 安装正确版本的torch

原理:
GPU:显卡,硬件,执行绘图运算的微处理器
显卡驱动:显卡如果没有安装驱动什么也干不了
CUDA:Nvidia推出的一种计算架构,提供了高效利用GPU并行计算的代码书写规范;有两种API,一种是随显卡驱动安装的driver API,一种是随CUDA Toolkit安装的runtime API(两者版本不需要一致)
CUDA Toolkit:NVIDIA官方发行,包含CUDA的runtime API,CUDA代码编译器nvcc和debug工具等
cuDNN:经GPU加速的深度神经网络基元库,可大幅优化标准例程,可以理解为CUDA的拓展和加速模块
PyTorch:进一步封装 .to(device)
cudatoolkit:PyTorch提供,已编译、支持pytorch运行的CUDA部件(动态链接库DLL等)

  • 注:CUDA Toolkit与cudatoolkit在安装时都必须选择与显卡型号和驱动版本适配的版本。
  • 注:运行PyTorch时,通过cudatoolkit调用CUDA;仅当需要编译依赖CUDA的torch拓展模块时需要调用CUDA Toolkit;CUDA Toolkit和cudatoolkit二者版本不需要一致;与PyTorch不同,TensorFlow运行必须依赖CUDA Toolkit等
  • 注:CUDA Toolkit需要专门安装cuDNN;而cudatoolkit中已经包含cuDNN

参考来源:

实践:
(假设服务器上已经安装好了显卡驱动+CUDA Toolkit+cuDNN配置和Anaconda配置)

第一步,查看python版本
命令行输入:

1
python -V

第二步,查看服务器的CUDA Toolkit版本
(尽量与之保存一致,原理见上)
命令行输入:

1
2
cd /usr/local
ll -h

第三步,安装pytorch
新建或激活conda环境

1
2
conda create --name your_env_name
conda activate your_env_name

在PyTorch官网查看cudatoolkit版本适应的Pytorch版本,例如,我需要用pip在Linux系统中安装一个适应cudatoolkit==11.3的Pytorch版本,查找https://pytorch.org/get-started/previous-versions/ 得到:

1
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113

2. 使用Tmux在后台运行程序

原理:
窗口window:终端窗口,可以输入命令
会话session:用户与计算机的一次临时交互
会话和窗口默认是绑定的,当手动关闭窗口或者ssh连接服务器网络忽然断了,会话随之就会终止。Tmux的作用是将会话与窗口解绑定。

参考来源:

实践:
会话管理:
第一步,新建会话,默认会话ID为0、1、2、3…也可以给会话起名字:

1
tmux new -s <session-name>

第二步,分离会话,将会话与当前窗口进行分离。在Tmux窗口中运行起程序后,按下Ctrl+b d或者输入tmux detach命令:

1
tmux detach

执行后会退出当前 Tmux 窗口,但是后台会继续运行会话和其中的进程。

第三步,查看会话:

1
2
3
tmux ls
# or
tmux list-session

第四步,杀死会话,使用会话ID或者会话名

1
2
3
$ tmux kill-session -t 0
# or
$ tmux kill-session -t <session-name>

3. 报错处理

更改环境保存路径

比如说,root路径存储满了…怎么办?
找到.condarc文件

1
2
envs_dirs:
- /your_dir_name/ #新的环境保存位置

“Python setup.py bdist_wheel did not run successfully”

在安装torch_geometric的时候遇到的,原因是pyg这个库对cuda有较强的依赖。参考官网:https://pytorch-geometric.readthedocs.io/en/latest/
如果pytorch版本低于1.13.*,第一步是安装相关的依赖库,针对pytorch==1.13.1+cu113,安装pyg_lib torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric等库的命令如下:

1
pip install pyg_lib torch_scatter==2.1.0+pt112cu113 torch_sparse==0.6.15+pt112cu113 torch-cluster==1.6.0+pt112cu113 torch_spline_conv==1.2.1+pt112cu113 -f https://data.pyg.org/whl/torch-1.12.1%2Bcu113.html

其中,pip install -f参数的作用是,一般pip install会从PyPI下载安装需要的软件包。然而,有时候可能会遇到PyPI上的软件包无法访问或下载速度很慢,某些软件包可能需要从其他来源安装等问题。在这些情况下,可以使用-f参数来指定一个附加的软件包源,告诉pip在PyPI源之外搜索软件包,并尝试从指定的源中下载和安装软件包。
第二步,安装torch-geometric:

1
pip install torch-geometric -i https://pypi.tuna.tsinghua.edu.cn/simple

“Segmentation fault (core dumped) “

通过bash文件执行python my_program.py的时候,还未进入main函数发生以上报错,原因是import的库有问题(具体见torch_geometric安装)

“module ‘numpy’ has no attribute ‘warnings’”

downgrade numpy

1
2
python -m pip uninstall numpy
python -m pip install numpy==1.23.1