opengait代码运行之gaitedge 未完成版

前言

本次任务为运行opengait代码。主要侧重于gaitedge,需要用到的数据集为CASIA-B*。

注意是带有星号的数据集,不然跑第二个配置文件时会报错!

电脑配置:
windows
带有1个GPU

注意!代码中需要改的点

这部分比较重要,所以,放在最前面,而不按照运行顺序

torch.distributed.init_process_group(‘nccl’, init_method=‘env://’)

如果是windows的话,这个要改为torch.distributed.init_process_group('gloo')

ncll好像只能在linux上运行

一、下载源代码

OpenGait页面

点击上方链接后,就进入了github中opengait所在位置

点击绿色按钮,然后点击Download ZIP,下载代码,然后用pycharm打开

二、配置环境——pycharm,pytorch等

1.pycharm虚拟环境设置

注意python版本不能太高,我的是3.6版本

pytorch版本为1.10.2,torchvision版本为0.11.3

稍微具体一点来说,首先需要在pycharm里配置文件的解释器,选择虚拟环境中的python.exe

2.下载相应的包

官方命令为:

conda install tqdm pyyaml tensorboard opencv kornia einops -c conda-forge
conda install pytorch==1.10 torchvision -c pytorch

应该还需要下载opencv,py7zr等包

注意setuptools的版本不能太高,最好为58.04版本

pillow的版本应该为9.5.0

三、下载数据集

CASIA-B*数据集需要通过邮箱申请

下载好后,记下数据集存放的路径

然后运行命令:

python datasets/pretreatment.py --input_path CASIA-B --output_path CASIA-B-pkl

即用pretreanment.py文件对数据集进行预处理

注意 ,–input_path后面为下载好的数据集的存放路径,–output_path后为存放预处理后的数据集的路径,我用的是./dataset/CASIA-B-pkl

这个预处理会调整数据存放的结构,将数据集都变成.pkl文件

四、下载模型

1.第一种方式

官方给的命令为:
python misc/download_pretrained_model.py

2.第二种方式

如果以上命令行运行失败,还可以用第二种方式,即去到release页面,下载需要的模型。

要下载那些模型,存放到哪里呢?
可以查看misc/download_pretrained_model.py文件:

if __name__ == “__main__”:
urls = [
“https://github.com/ShiqiYu/OpenGait/releases/download/v1.0/pretrained_casiab_model.zip”,
“https://github.com/ShiqiYu/OpenGait/releases/download/v1.1/pretrained_oumvlp_model.zip”,
“https://github.com/ShiqiYu/OpenGait/releases/download/v1.1/pretrained_grew_model.zip”]
for url in urls:
download_file_and_uncompress(
url=url, extrapath=‘output’)
gaitgl_grew = [‘https://github.com/ShiqiYu/OpenGait/releases/download/v1.1/pretrained_grew_gaitgl.zip’,
‘https://github.com/ShiqiYu/OpenGait/releases/download/v1.1/pretrained_grew_gaitgl_bnneck.zip’]
for gaitgl in gaitgl_grew:
download_file_and_uncompress(
url=gaitgl, extrapath=‘output/GREW/GaitGL’)
print(“Pretrained model download success!”)

由此,可以得出,前三个模型要放到output文件夹下,后面两个模型放在output/CREW/GaitGL文件夹下,具体结构如下:

在这里插入图片描述

五、开始训练

官方给的命令为:

CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase train

由于分布式训练会报错(目前还未解决),所以去掉了CUDA_VISIBLE_DEVICES=0,1 等分布式训练部分

由于launch过时,所以改为了run:

python -m torch.distributed.run opengait/main.py --cfgs 这里放要跑的配置文件的路径 --phase train

1.gaitedge第一个配置文件

(1)修改配置文件

以下为要修改的地方:

在这里插入图片描述

1)dataset_name

这个要改为自己用的数据集的名字,如CASIA-B,CASIA-B*,最后相应的输出会放到output/dataset_name这个文件夹下

2)dataset_root

注意这里的相对路径应该是相对main.py的(个人猜想)

我的文件结构如下,将预处理后的数据集放在了datasets文件夹下,所以我的dataset_root为./datasets/CASIA-B-pkl

在这里插入图片描述

3)evaluator_cfg 中sample下的batch_size

这里的batch_size应该与可用GPU数量相等

如果不知道GPU数量,可以在终端输入python,进入python后,执行print(torch.cuda.device_count())

(2)开始运行

训练命令如下:

python -m torch.distributed.run opengait/main.py --cfgs ./configs/gaitedge/phase1_rec.yaml --phase train --log_to_file

注意,配置文件要改为自己要训练的模型的配置文件,这里运行gaitedge第一个配置文件,所以路径为: ./configs/gaitedge/phase1_rec.yaml

–log_to_file 表示需要记录日志,在output里面可以看到

运行结果可以在tensorboard中查看,用tensorboard打开output/CASIA-B/GaitGL/GaitGL/summary里的文件即可,命令为:tensorboard --logdir=output/CASIA-B/GaitGL/GaitGL/summary

如果代码跑到一半出错了,或者有事情需要暂停,则可以在终端输入Ctrl+C,终止运行。下次可以加上iter参数,从已经存的checkpoins检查点开始运行。

由于我用的是CASIA-B数据集,第一个配置文件用的是GaitGL模型,所以需要去output/CASIA-B/GaitGL下找checkpoints,如下。

按照第一个配置文件,每训练10000轮(save_iter)就存一个检查点,并且进行一次评估。一共运行80000轮(total_iter)。由于我还没有开始训练,所以只有最开始就存在的GaitGL-80000.pt。

在这里插入图片描述

2.gaitedge第二个配置文件

注意第二个配置文件,一定需要CASIA-B*数据集,而不能用CASIA-B,不然会出现数组越界的错误。

CASIA-B预处理后,一个文件夹下只有一个.pkl文件,而CASIA-B*预处理后,一个文件夹下会有四个.pkl文件。

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
opengait是一个开源的人体姿势识别工具,可以帮助用户实现对人体行走姿势的分析和识别。使用opengait的教程如下: 1. 下载和安装opengait软件。用户可以在官方网站上找到opengait的最新本,并按照指引进行下载和安装。安装完成后,用户可以通过命令行或者图形界面来启动软件。 2. 收集训练数据。在开始使用opengait之前,用户需要准备一些人体行走动作的训练数据,可以是视频或者图片序列。这些数据将用于opengait的模型训练。 3. 运行模型训练。用户可以使用opengait提供的训练工具,将准备好的训练数据输入到模型中进行训练。训练的过程可能会花费一定的时间,取决于训练数据的大小和复杂程度。 4. 检测和识别人体姿势。训练完成后,用户可以使用opengait提供的API或者命令行工具,对新的人体行走动作进行检测和识别。用户可以将视频或者图片输入到opengait中,软件将自动识别出人体的姿势信息,并进行相应的分析和展示。 5. 调整和优化模型。在实际应用中,用户可能需要对模型进行调整和优化,以适应不同的环境和应用场景。opengait提供了丰富的调参工具和示例代码,帮助用户进行模型的优化和改进。 总体来说,opengait是一个功能强大的人体姿势识别工具,用户可以根据自己的需要和实际情况,灵活使用其提供的功能和工具进行人体姿势的分析和识别。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云霄星乖乖的果冻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值