C3D模型pytorch源码逐句详析(三)

本文详细分析了C3D模型在PyTorch中的训练源码,包括训练前的参数设置和模型数据加载,以及训练过程中的步骤,如更新学习率、输入模型、计算损失与准确率,并介绍了使用tensorboard记录训练过程和保存训练参数。
摘要由CSDN通过智能技术生成

3.1 源码解析


train.py 讲解

此代码为C3D模型的训练部分,分为训练前的准备,和训练部分两大部分。


1.训练前的准备
1.1 参数的设置
nEpochs = 101  # Number of epochs for training
resume_epoch = 0  # Default is 0, change if want to resume 即参数改变重头训练
useTest = True # See evolution of the test set when training
nTestInterval = 20 # Run on test set every nTestInterval epochs
snapshot = 25 # Store a model every snapshot epochs
lr = 1e-5 # Learning rate

save_dir_root = os.path.join(os.path.dirname(os.path.abspath(__file__)))   # save_dir_root = '...\\C3D'
exp_name = os.path.dirname(os.path.abspath(__file__)).split('/')[-1]   # exp_name = '...\\C3D'

此部分为一些参数的设置
os.path.dirname(–file–) 获取当前运行脚本的路径


1.2 模型和数据集的载入
    model = C3D_model.C3D(num_classes=num_classes, pretrained=False) 
    train_params = [{
   'params': C3D_model.get_1x_lr_params(model), 'lr': lr},
                    {
   'params': C3D_model.get_10x_lr_params(model), 'lr': lr * 10}]

    criterion = nn.CrossEntropyLoss()  
    optimizer = optim.SGD(train_params, lr=lr, momentum=0.9, weight_decay=5e-4)  # 优化方法,梯度下降
    scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=10,
                                          gamma=0.1)

    # 加载数据集
    train_dataloader = DataLoader(VideoDataset(dataset=
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值