C3D源码解析

本文详细解析了C3D模型的源码,包括数据处理、模型构建和训练过程。在数据处理部分,重点介绍了VideoDataset类的__init__、check_preprocess和preprocess函数,对视频数据进行预处理和分割。模型部分阐述了C3D_model.py中网络模型的构建。最后,探讨了train.py中的训练流程。
摘要由CSDN通过智能技术生成

1、源码准备

git clone https://github.com/jfzhang95/pytorch-video-recognition

下载完成后,即可得到__C3D-pytorch__版本的源码

2、源码结构

文件名称 功能作用
dataset.py 数据准备
C3D_model.py 模型网络结构构建
train.py 网络模型训练
inference.py 数据预处理
mypath.py 数据模型路径自定义

3、源码分析

代码可主要分为数据模型训练三个部分,接下来我们将通过这个顺序来一一讲解。

3.1 数据

dataset.py的主要功能是对数据集的读取和处理

它首先定义了一个VideoDataset类,用来处理视频数据。该类通过重写内部的__init__和__getitem__函数来实现对数据的读取与自定义处理。

接下来详细介绍一下各个函数

3.1.1 数据初始化部分
1)__init__函数

__init__函数主要功能是对类VideoDataset进行初始化,设置参数并且对数据进行了一些操作。

def __init__(self, dataset='ucf101', split='train', clip_len=16, preprocess=False):
    self.root_dir, self.output_dir = Path.db_dir(dataset)
    folder = os.path.join(self.output_dir, split)
    self.clip_len = clip_len
    self.split = split
    self.resize_height = 128
    self.resize_width = 171
    self.crop_size = 112

    if not self.check_integrity():
        raise RuntimeError('Dataset not found or corrupted.' +
' You need to download it from official website.')

    if (not self.check_preprocess(
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值