请选择 进入手机版 | 继续访问电脑版

【视频分类】3D-ResNets-PyTorch复现

[复制链接]
小浣熊 发表于 2021-1-3 12:04:54 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
参考代码:
https://github.com/kenshohara/3D-ResNets-PyTorch
0.情况

  1. ubuntu16.04python3.6cuda9.0# pip installtorch==1.1.0joblibpandash5pytorchvision# apt installapt-get -y install ffmpeg
复制代码
 
1.数据准备

1.1 下载数据

官网:https://www.crcv.ucf.edu/data/UCF101.php,下面有两处是我们需要的。第一处是avi数据,第二处是分训练集与测试集的。

UCF101视频分类数据集:http://www.crcv.ucf.edu/datasets/human-actions/ucf101/UCF101.rar
新建data目次,解压UCF101.rar文件到此中:
  1. apt-get install unrarunrar x UCF101.rar
复制代码

 
下载第二处数据https://www.crcv.ucf.edu/data/UCF101/UCF101TrainTestSplits-DetectionTask.zip。放到自己想放的地方,我是放到data目次下。
1.2 视频生成图片

修改代码(参考此处https://github.com/kenshohara/3D-ResNets-PyTorch/issues/202):
  1. # line 18p = subprocess.run(ffprobe_cmd, capture_output=True)# 改为p = subprocess.run(ffprobe_cmd, stdout=PIPE, stderr=PIPE)
复制代码
运行下令,视频生成jpg文件:
  1. python -m util_scripts.generate_video_jpgs avi_video_dir_path jpg_video_dir_path ucf101eg:python -m util_scripts.generate_video_jpgs "/root/avi_video_dir_path" "/root/jpg_video_dir_path" dataset="ucf101"
复制代码
大概这个过程需要花1个小时以内。
1.3 生成json文件

  1. python -m util_scripts.ucf101_json annotation_dir_path jpg_video_dir_path dst_json_path# eg:python -m util_scripts.ucf101_json "/root/data/ucfTrainTestlist" "/root/data/UCF101_jpg/" "/root/data/UCF101_json"
复制代码
2.准备预训练模子

https://drive.google.com/drive/folders/1zvl89AgFAApbH0At-gMuZSeQB_LpNP-M

3.文件布局

  1. data        UCF101_videos                  ApplyEyeMakeup                  ...                  YoYo          UCF101_jpg                  ApplyEyeMakeup                  ...                  YoYo                    UCF101_json                  ucf101_01.json          UCF101_txt                  classInd.txt                  testlist01.txt                  testlist02.txt                  testlist03.txt                  trainlist01.txt                  trainlist02.txt                  trainlist03.txt          models                  resnet-50-kinetics.pth    results
复制代码
4.finetuning for mutil-gpu

下载好了多gpu训练的模子,需要多gpu优化才行,否则会报模子的参数名称不对应的问题。
  1. python main.py --root_path ./data --video_path ucf101_jpg/ --annotation_path ucf101_json/ucf101_01.json \--result_path results --dataset ucf101 --n_classes 101 --n_pretrain_classes 700 \--pretrain_path models/resnet-50-kinetics.pth --ft_begin_module fc \--model resnet --model_depth 50 --batch_size 128 --n_threads 4 --checkpoint 5
复制代码
如果出现共享内存不敷的话,修改 --n_threads 1,大概更小。如果尚有问题的话,参考我的别的一篇博客,将对应代码添加到运行代码的前面。https://blog.csdn.net/qq_35975447/article/details/107287614
5.训练

  1. python main.py --root_path ./data --video_path ucf101_jpg/ --annotation_path ucf101_json/ucf101_01.json \--result_path results --dataset ucf101 --n_classes 101 --model resnet --model_depth 50 --batch_size 128 \--n_threads 4 --checkpoint 5
复制代码
如果出现共享内存不敷的话,修改 --n_threads 1,大概更小。如果尚有问题的话,参考我的别的一篇博客,将对应代码添加到运行代码的前面。https://blog.csdn.net/qq_35975447/article/details/107287614
终端显示效果:

 
batch_size=32时,大概需要7GB显存吧。
 
 
 
 

来源:https://blog.csdn.net/qq_35975447/article/details/111995448
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )