深度学习通用训练步骤
深度学习通用训练步骤
1、选择model并送入GPU
2、加载权重(如果有)
3、定义优化器、定义lr衰减机制
4、定义loss并送入GPU
5、Dataset()
6、model.train() #指定为训练模式,解冻dropout等层
7、for epoch in range():
Dataloder()
train() #指每一个batch的处理过程,见下面。
lr更新
test() # 每个epoch完验证一下(记得指定为验证模式,model.eval()冻结 dropout,BN等层)
注:train()函数
for i , data in enumerate(train_dataloader): #对于每个batch
image,label 送入GPU
output=model(image) #将数据送入model
loss=loss_function(output,label) #计算loss
model.zero_grad() #清除梯度,或optimizer.zero_grad() (只有当这个优化器是这个model的优化器时,两者等同)
loss.backward() #计算梯度
optimizer.step() #更新权重
计算(对每个batch累加平均)相应参数(acc,loss,auc,eer等)