AI进阶实战营——骨骼点动作识别
第一天
第一步:创建Notebook模型任务
**step1:**进入BML主页,点击立即使用
**step2:**点击Notebook,创建“通用任务”
**step3:**填写任务信息。注意这里的信息要填写您所在的企业信息,即归属要选择公司,并输入您自身所在的公司全称。如果您还在上学,请输入学校全称。既不是企业员工也不是学生,归属才能选择个人。
第二步:下载数据集
下载链接:https://aistudio.baidu.com/aistudio/datasetdetail/128506
四个文件都需要下载
第三步:下载任务操作模板
**下载链接:**https://aistudio.baidu.com/aistudio/datasetdetail/128507
第二天
第一步:配置Notebook
1.找到昨天创建的Notebook任务,点击配置
2.配置选择
- 开发语言:Python3.7
- AI框架:PaddlePaddle2.0.0
- 资源规格:GPU V100(限时免费,注意时间)
3.打开Notebook
4.上传本次Notebook操作模型、数据集、测试集,共5个文件
第一步:环境准备
1.下载PaddleVideo、
2.安装PaddleVideo的相关依赖
5.修改配置文件(数据路径),找到对应文件,打开,修改训练集和测试集路径
改成这样(必须英文输入)
6.保存yaml文件和Notebook文件
记得截图最后一步完成打卡
打卡截图示例:
第三天
文档指导:
1.重新启动打开Notebook任务
2.重新进入PaddleVideo目录,然后重新配置代码环境,安装依赖
3.进行模型训练,约需要半小时训练完成。
- 训练结果保存在
PaddleVideo/output
文件夹下
如果你想调整训练参数,可以在configs/recognition/stgcn/stgcn_fsd.yaml文件中找到网络结构与数据路径。
表示我们使用的是ST-GCN算法,framework为RecognizerGCN
,backbone是时空图卷积网络STGCN
,head使用对应的STGCNHead
,数据集分类采用30分类 (用若用户使用10分类数据集,请在此更改为num_classes:10)。
若修改为10分类训练,除了修改数据集路径之外,在上一步网络结构中需要修改num_classes。(可以通过降低batch_size来提升实验效果,但是会加长训练时长)
4.进行模型测试
- 本案例中自带训练权重
- 通过
-c
参数指定配置文件,通过-w
指定权重存放路径进行模型测试。
ST-GCN模型实验精度
本案例仅选用优化后单模型ST-GCN进行试验,分别在FSD30分类与10分类的测试集下计算模型精度。模型优化策略选用了数据平均抽帧(降维),随机可学习骨骼点子图划分、通过矩阵拼接替换爱因斯坦求和约定操作。下表展示了ST-GCN模型在不同测试集下实验精度结果(单卡NVIDIA GeForce RTX 3070 Ti)
数据集类别 | Test Data | Top-1精度 |
---|---|---|
FSD30分类 | Test_A | 60.5% |
FSD30分类 | Test_B | 58.5% |
FSD10分类 | Test data | 91.0% |
在FSD10分类下需要修改 configs/recognition/stgcn/stgcn_fsd.yaml
文件中num_classes
、batch_size
等参数。通过修改参数(eg. batch_size:8,16),可以达到91%左右的测试集精度。
记得截图模型测试结果进行打卡哦~
打卡截图示例:
第四天
文档指导:
1.重新启动打开Notebook任务
2.重新进入PaddleVideo目录,然后重新配置代码环境,安装依赖
3.在安装环境依赖后新增一行代码并运行(在安装环境依赖前也可以),升级一下paddlepaddle
代码:!python -m pip install paddlepaddle-gpu==2.1.3.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
4.进行模型导出,代码有更新,需要替换
更新后的代码:!python3.7 /home/work/PaddleVideo/tools/export_model.py -c /home/work/PaddleVideo/configs/recognition/stgcn/stgcn_fsd.yaml -p /home/work/PaddleVideo/output/STGCN/STGCN_epoch_00090.pdparams -o /home/work/PaddleVideo/output/inference
上述命令将生成预测所需的模型结构文件STGCN.pdmodel
和模型权重文件STGCN.pdparams
。
代码中的参数含义可参考↓:https://github.com/PaddlePaddle/PaddleVideo/blob/release/2.0.0/docs/zh-CN/start.md#2-模型推理
导出后的模型就在 /home/work/PaddleVideo/output/inference里
导出成功界面如下
5.进行模型预测,代码有更新,需要替换
更新后的代码:
!python3.7 /home/work/PaddleVideo/tools/predict.py \
--input_file /home/work/PaddleVideo/data/fsd10/example_skeleton.npy \
--config /home/work/PaddleVideo/configs/recognition/stgcn/stgcn_fsd.yaml \
--model_file /home/work/PaddleVideo/output/inference/STGCN.pdmodel \
--params_file /home/work/PaddleVideo/output/inference/STGCN.pdiparams \
--use_gpu=True \
--use_tensorrt=False
按照上图中的代码注释,确认一下文件名
模型推理成功的截图:
记得截图模型推理成功界面进行打卡
打卡截图示例:
- 点赞
- 收藏
- 关注作者
评论(0)