打印
[应用相关]

win10 ST-GCN复现

[复制链接]
450|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
win10 ST-GCN复现下载源码

https://github.com/yysijie/st-gcn


使用特权

评论回复
沙发
工程师犹饿死|  楼主 | 2021-5-19 10:11 | 只看该作者
安装requirements
1.anaconda切换python环境
命令为 conda activate 环境名,如:
conda activate pytorch1.4

使用特权

评论回复
板凳
工程师犹饿死|  楼主 | 2021-5-19 10:12 | 只看该作者
2.安装requirements
cd /d F:
cd st-gcn        //切换到st-gcn目录下,win10可能要以管理员模式开启cmd
cd torchlight
python setup.py install
cd ..
pip install -r requirements.txt

使用特权

评论回复
地板
工程师犹饿死|  楼主 | 2021-5-19 10:22 | 只看该作者
提示安装失败,于是一个一个安装packge(之前安装过pytorch)
conda install pyyaml
conda install argparse
conda install numpy
conda install h5py
conda install opencv-python
conda install imageio
conda install scikit-video

使用特权

评论回复
5
工程师犹饿死|  楼主 | 2021-5-19 10:23 | 只看该作者
安装opencv-python时出现问题,于是自己在清华镜像源下载本地安装包(这里要和python的版本对应),我是python3.6下载的opencv_python-3.4.1.15-cp36-cp36m-win_amd64.whl

使用特权

评论回复
6
工程师犹饿死|  楼主 | 2021-5-19 10:24 | 只看该作者
下载完成以后用pip install 安装包路径名安装opencv
pip install F:/opencv_python-3.4.1.15-cp36-cp36m-win_amd64.whl

使用特权

评论回复
7
工程师犹饿死|  楼主 | 2021-5-19 10:24 | 只看该作者
下载数据集
这里使用的ntu-rgbd数据集, 百度云版本的可以在这里下载,https://github.com/Hrener/3D-Action-recognition

使用特权

评论回复
8
工程师犹饿死|  楼主 | 2021-5-19 10:25 | 只看该作者
将Raw数据集处理为ST-GCN的输入
python tools/ntu_gendata.py --data_path <path to nturgbd+d_skeletons>
<path to nturgbd+d_skeletons>为Raw_skeleton/skeleton+D0-30000解压后的目录路径
python tools/ntu_gendata.py --data_path F:\skeleton+D0-30000

使用特权

评论回复
9
工程师犹饿死|  楼主 | 2021-5-19 10:29 | 只看该作者

在st-gcn/data/目录下可找到处理后的数据

使用特权

评论回复
10
工程师犹饿死|  楼主 | 2021-5-19 10:30 | 只看该作者
训练模型
训练前遇到的一些的bug
F:\st-gcn>python main.py recognition -c config/st_gcn/ntu-xsub/train.yaml

使用特权

评论回复
11
工程师犹饿死|  楼主 | 2021-5-19 10:40 | 只看该作者
出现错误 RuntimeError: CUDA error: invalid device ordinal,发现源码中有4个gpu,将train.yaml中的device=[0,1,2,3]改为device=[0]
出现错误 BrokenPipeError: [Errno 32] Broken pipe,将processor.py下的函数load_data中的两个DataLoader()函数的参数num_workers设置为0,避免使用多线程读取数据
出现错误 cuda runtime error (2) : out of memory, 经过尝试,4G显存将batch_size设置为8时(在config下的train.yaml中设置),显存占用率刚好接近100%

使用特权

评论回复
12
工程师犹饿死|  楼主 | 2021-5-19 10:41 | 只看该作者
中途暂停
由于电脑不能一直开着,训练一个epoch要接近一个小时的时间,源码中num_epoch设置为80,想一次训练完不太可能。读源码时发现代码有提供训练中途保存模型的功能,可以在train.yaml文件中进行如下修改

使用特权

评论回复
13
工程师犹饿死|  楼主 | 2021-5-19 10:43 | 只看该作者
start_epoch = 0        //这里填写上次训练中断时的epoch,如果上次训练了5个epoch(0,1,2,3,4),那么再次训练的时候填5即可
save_interval = 1         //源码是时10个epoch保存一次模型参数weights,我设置为1
weights =model_path //这里填写最近一个epoch保存的model_weights.pt文件的路径,如果不加上这个参数,则默认训练一个新的模型

使用特权

评论回复
14
工程师犹饿死|  楼主 | 2021-5-19 13:55 | 只看该作者
每次训练开始时,修改start_epoch和weights以接着训练上次未完成的模型

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

75

主题

886

帖子

0

粉丝