当前位置:   article > 正文

关于epochs和batch_size含义的理解_epochs和batch_size的含义是什么

epochs和batch_size的含义是什么

1. epochs的含义

pytorch中关于epochs的定义:
Number of Epochs - the number times to iterate over the dataset
即:在数据集上迭代的次数,或总共遍历了多少次数据集。所以epoch就是遍历一次数据集。注意每个epoch包含了train loop和test loop。
train loop是训练模型,使模型参数收敛至最佳。
tset loop是为了检验模型的性能是否得到了提升。

2. batch_size的含义

pytorch中关于batch_size的定义:

Batch Size - the number of data samples propagated through the network before the parameters are updated
即每用batch_size个数据样本通过模型计算后,根据这batch_size个数据计算的损失,更新一次模型参数。

    for batch_idx, data in enumerate(train_loader, 0):
        # 取出数据
        inputs, target = data #这里的batch_size就等于target.shape的数值大小       
        
        inputs, target = inputs.to(device), target.to(device)
        # 梯度清零
        optimizer.zero_grad()
        # 计算预测值
        outputs = model(inputs)
        # 计算损失
        loss = criterion(outputs, target)
        # 反向传播
        loss.backward()
        # 更新权值
        optimizer.step()
        
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

上面代码中的batch_size就是target.shape的数值大小,因为在这个循环中就调用了optimizer.step()更新了模型参数

inputs, target = data #这里的batch_size就等于target.shape的数值大小

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/261769
推荐阅读
相关标签
  

闽ICP备14008679号