文章目录
- 前言——矩池云的使用技巧
 - 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
这里还没运行成功













![[激光原理与应用-92]:振镜的光路图原理](https://img-blog.csdnimg.cn/img_convert/c396306338f263636a14e845c8e568a1.png)





