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里
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!