赞
踩
pytorch中关于epochs的定义:
Number of Epochs - the number times to iterate over the dataset
即:在数据集上迭代的次数,或总共遍历了多少次数据集。所以epoch就是遍历一次数据集。注意每个epoch包含了train loop和test loop。
train loop
是训练模型,使模型参数收敛至最佳。
tset loop
是为了检验模型的性能是否得到了提升。
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()
上面代码中的batch_size就是target.shape的数值大小,因为在这个循环中就调用了optimizer.step()
更新了模型参数
inputs, target = data #这里的batch_size就等于target.shape的数值大小
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。