行为识别C3D代码(pytorch)实现过程及常见错误

1.C3D网络代码

C3D(pytorch)实现代码链接:

C3D代码

2.C3D代码复现过程

(1)环境版本要求
pytorch:3.5及以上
opencv:3.4.2(我是这样的,其他低点的版本应该也可以)
tensorboard:2.4
scikit-learn:0.23.2

(2)数据集的制作

首先将UCF-101的数据集结构存储为以下形式:
建议:如果代码中mypath路径不想更改的话,新建一个文件夹(/path/to/),存放UCF-101知道的路径是/path/to/UCF-101。
(很重要)注意:所有的路径尤其是mypath.py的路径不能有中文,中文会导致cv.imread出错,无法将图片存储到文件夹中。
现在网上下载UCF-101数据集超级慢,如果大家需要可以加关注,留qq邮箱,给你发UCF-101压缩包。
目前UCF-101数据集不能发送原因:
(1)因为该数据集在某盘属于敏感文件不能发送;
(2)QQ邮箱中只能发送最大3g文件,而UCF-101是6g文件。
解决方法(获取UCF-101的两种方法)

  1. 需要我本人自己将其压缩分卷成10个700mb压缩包,大家下载十个压缩包后必须要把这10个压缩包放在一个文件夹内,解压任意一个文件即可全部解压。最后就成为一个完整的UCF-101数据集。 下载这10个UCF-101压缩包的地址:UCF-101的十个压缩包
  2. 需要我本人自己将其压缩分卷成10个700mb压缩包,然后一个一个的以邮箱的形式发送给大家,大家下载十个压缩包后必须要把这10个压缩包放在一个文件夹内,解压任意一个文件即可全部解压。最后就成为一个完整的UCF-101数据集
    最后谢谢大家的关注!!!

(3)下载预训练model
预训练model下载地址:
预训练model
接下来在之前所创建好的文件下(/path/to)下再创建一个Models文件夹存放预训练模型,最终的预训练模型是/path/to/Models/ucf101-caffe.pth

(4)处理UCF-101数据集
处理UCF-101数据集就是将视频按一定的帧次分割成一张一张图片。该代码所在处是dataset.py。
首先对mypath.py进行修改因为之前创建了文件夹,所以root-dir和model_dir的路径不用更改。只需要在/path/to/文件夹下创建一个VAR文件夹,再VAR文件夹中创建UCF-101,最终的路径是/path/to/VAR/ucf101。这个路径就是out_dir的路径,所以mypath里面的路径不需要更改了。
对dataset.py代码更改如下图:



这些改完之后,运行database.py,处理时间比较长,可以先做点其他的事情。最后分割图片后的结果如图:

(5)对inference.py和train.py文件改动
接下来就是在预训练之前所做的代码改动问题了,按我写的代码改动即可。
先对inference.py更改

对train.py的更改



已更改完成

(6)运行程序
在命令行:train.py即可,视频处理完之后,将process的True改为False,以后直接训练即可,不需要再次对视频处理为图片。
最后运行程序如下图

C3D的复现完成,谢谢大家留言评论

常见错误

1.os.listdir(os.path.join(self.output_dir, ‘train’, video_class, video)))[0])
IndexError: list index out of range。

问题原因:表示没有将视频分割的图片存储到文件夹中。
解决方法:mypath的路径都是英文的,不能出现中文,否则cv,write的时候图片写不进文件夹中去。
2.LongTensor的问题
问题原因:标签的类型应该是LongTensor,而不是Tensor,故需要更改、
解决方法:看以上的train.py的更改图片。
3.GPU内存不够,处理数据太大问题
问题原因:batch_size太大
解决方法:按照以上train.py中第一张图片的batch_size更改。

谢谢大家,有什么问题留言即可。一起加油!!!

行为识别C3D代码(pytorch)实现过程及常见错误相关推荐

  1. 动物数据集+动物分类识别训练代码(Pytorch)

    动物数据集+动物分类识别训练代码(Pytorch) 目录 动物数据集+动物分类识别训练代码(Pytorch) 1. 前言 2. Animals-Dataset动物数据集说明 (1)Animals90动 ...

  2. python的scrapy框架的安装_Python3环境安装Scrapy爬虫框架过程及常见错误

    Windows •安装lxml 最好的安装方式是通过wheel文件来安装,http://www.lfd.uci.edu/~gohlke/pythonlibs/,从该网站找到lxml的相关文件.假如是P ...

  3. 数据库存取BLOB类型音乐文件的过程及常见错误

    数据库存取BLOB类型音乐文件的过程及常见错误 数据库端的准备工作: 新建表,用来存放音乐文件:mymusic 第一列:id 类型:int 第二列:music 类型:blob 将音乐文件存入数据库 / ...

  4. 我的一些视觉工具(1)之动作预测--逐行详解C3D代码(Pytorch)

    该博客主要参考这个工程提供的代码 我们在他们代码的基础之上进行魔改 当然了,既然要魔改人家的数据,肯定要先把人家的思路看明白. 对于3D神经网络来讲,好多小伙伴最关心的肯定还是数据的喂入方法和数据集的 ...

  5. pytorch使用过程中的错误处理之内存溢出

    内存溢出 在使用pytorch训练的模型进行推理操作时,出现以下错误: RuntimeError: CUDA out of memory. Tried to allocate 416.00 MiB ( ...

  6. PHP编译过程中常见错误信息的解决方法

    在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: checking for BZip2 support- yes ch ...

  7. Linux系统Ubuntu 20.04 ,cuda=11.1。实现C3D代码环境。

    行为识别C3D代码(pytorch)实现过程及常见错误 1.C3D网络代码 C3D(pytorch)实现代码链接 C3D代码链接 2.C3D代码复现过程 我认为这位博主对于C3D复现过程的描述是非常好 ...

  8. tensorflow2.x 使用过程中的常见错误(2021.1.17)

    tensorflow2.x 使用过程中常见错误(持续更新) 安装配置,使用tensorflow训练模型,转换为tflite模型,并部署与移动端过程中,虽然不难,但是也常出现一些莫名其妙的问题,下面简单 ...

  9. 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码)

    面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码) 目录 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码) 1.面部表情识别方法 2.面部表情识别数据集 ...

最新文章

  1. linux下安装php的imagick扩展模块(附php升级脚本)
  2. 【 ➰斗艳争妍の网络协议姐妹花‍‍️➰】http协议 VS websocket协议
  3. 不同平台上安装python是一样的吗_python3 在不同操作系统安装第三方库方法
  4. flex vue 垂直居中居上_推荐几种在移动端实现垂直居中的方法
  5. 2019 年度十大 AI 安防热点事件丨年终盘点
  6. MySQL基础篇(01):经典实用查询案例,总结整理
  7. java 安全发布对象_Java安全的发布对象
  8. 校运会计算机专业口号,校运动会口号(精选80条)
  9. datax源代码编译安装
  10. 基于热传导方程的高温作业专用服装设计(二)
  11. 不用写代码也能学会采集海量企业电话及邮箱数据
  12. 使用ConfuserEx加密混淆程序以及如何脱壳反编译
  13. 使用js完成一个类似于小广告的功能,斜着运动,遇到边界弹回
  14. 使用keytool转换签名证书格式,keyStore、jks签名证书相互转换
  15. 火狐浏览器解除端口限制
  16. web前端之百度首页仿写
  17. HBase2.4.8详细教程(一)HBase环境搭建
  18. 红米5a android 版本,【红米5A安卓7.1.2线刷包】MIUI V9.5.3.0.NCKCNFA稳定版 精简线刷包...
  19. 基于Umi的移动端框架Alita-v2.6.7源码
  20. hdu1201 18岁生日(java版本)

热门文章

  1. 【转】为什么 ++[[]][+[]]+[+[]] = 10 ?
  2. 不要关闭你的判断力引擎
  3. 一文让你掌握单元测试的Mock、Stub和Fake
  4. 2023 年 最全的 24 个最佳免费照片恢复软件
  5. Server使用过程中的常用命令记录
  6. 沙雕,辛苦而朴实开学的一天!
  7. python爬虫之Scrapy框架--保存图片(详解)
  8. ABAP 数字转换中文大写数字的方法
  9. JavaEE Day03 MySQL约束
  10. CSS一行代码实现渐变头像