文章目录
- 前言——矩池云的使用技巧
- 1.切换源
- 一、下载数据集
- 二、下载模型
- 三、环境配置
- 1.查看python、torch、torchvision版本
- 2.查看一些包版本是否过高
- 3.下载包
- 四、开始训练
- 1.设置环境变量
- 2.遇到的问题
- (1)torch.cuda.is_available()返回false
- (2)报错:缺少 GLIBCXX_3.4.29 版本的 libstdc++.so.6 库文件
- 3.训练
前言——矩池云的使用技巧
1.切换源
命令:
bash /public/script/switch_conda_source.sh
一、下载数据集
本次只需要用到CASIA-B数据集
下载地址为:
CASIA-B数据集
下载后,需要用
python datasets/pretreatment.py --input_path CASIA-B --output_path CASIA-B-pkl
对其进行预处理,得到CASIA-B-pkl
这里的–input_path后为存放CASIA-B数据集的路径,–output_path后为要放的预处理后的存放路径
二、下载模型
由于运行官方模型下载命令失败了,所以我直接到release页面下载的模型,然后放到output文件夹下
可以根据源代码看下载好的模型要放在哪里:
可以看到,前三个要放在ouput文件夹下,后面两个要放在output/GREW/GaitGL文件夹下
三、环境配置
考虑到适配问题,在矩池云租用GPU时最好选择pytorch=1.10的环境
1.查看python、torch、torchvision版本
python --version
conda list torch
python和torch版本不能过高,否则有些包不能用
以下为我在矩池云租用的GPU的配置:
python:3.8.12
torch: 1.10.0+cu113
torchvision: 0.11.1+cu113
注意三者的版本应该适配:这里面写了对应版本
2.查看一些包版本是否过高
用conda list
语句查看当前有哪些包及其对应的版本
如果版本过高,则需要降低版本
首先看一些包的版本是否过高:
(1)setuptools 应该为 58.0.4
如果版本过高,则需要修改:
AttributeError: module ‘distutils‘ has no attribute ‘version‘ 解决方案
(2)Pillow 应该为:10.0以下
10.0之后pillow删除了一些属性,所以需要将其降低版本,可以降低至9.5.0版本:
参考这里
我的版本为8.4.0,因此暂时不做修改
3.下载包
在终端直接运行:
conda install tqdm pyyaml tensorboard opencv kornia einops -c conda-forge
运行完后,用命令conda list
查看需要的包是否都安装好了,需要的包如下:
比如我发现py7zr没有安装,所以我运行了 conda install py7zr
命令
四、开始训练
1.设置环境变量
运行下面的语句:
export RANK= 0
设置当前进程的排名
export WORLD_SIZE=1
设置总的进程数量
export MASTER_ADDR=localhost
设置主地址
export MASTER_PORT=12345
设置主端口
2.遇到的问题
(1)torch.cuda.is_available()返回false
在python中打印torch.cuda.is_available()
,返回了False
查看torch版本:
conda list torch
结果:
参考文章:
Why torch cuda_is_available returns False even after installing PyTorch with CUDA
首先查看CUDA版本:nvcc --version
可以看到我的CUDA版本为11.3,所以安装命令为:
pip install torch torchvision torchaudio -f https://download.pytorch.org/whl/cu113/torch_stable.html
安装成功后再次查看torch版本:
发现刚刚第一个pytorch没有了
现在再打印torch.version.cuda。结果为:
在python中打印,结果也为True:
大功告成!
(2)报错:缺少 GLIBCXX_3.4.29 版本的 libstdc++.so.6 库文件
查看linux版本:lsb_release -a
第一步:更新 libstdc++ 库
由于我的linux版本为Ubuntu,所以更新命令如下:
sudo apt update
——更新软件包索引
sudo apt install --only-upgrade libstdc++6
——升级 libstdc++ 库
第二步:更新conda库
查看conda版本:conda -V
更新conda:conda update -n base -c defaults conda --repodata-fn=repodata.json
第三步:重新安装protobuf库
conda install protobuf
3.训练
由于torch.distributed.launch过时了,所以要改为torch.distributed.run
CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.run --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase train
这里还没运行成功