损失函数:用来度量深度学习模型的预测值f(x)与真实标签值Y的差异程度的运算函数,损失函数越小,模型型训练的效果越好。
1.定义模型
2.定义优化器和超参
下面进入循环训练模型
model.trian() # 开启训练模式
for i, data in enumerate(train_iter):
# 数据放到cpu或者gpu中
train_data = to_device(data, label_emberding)
# 前向传播:然后将要训练的数据放到模型中训练
output = model(train_data)
# 梯度清零:防止数据污染
optimier.zero_grad()
# 计算损失
loss = loss_fn(output, train_data['labelnum'])
# 反响传播:求导,找到更好的参数
loss.backward()
# 更新参数
optimier.step()
# 然后下面进入验证操作,根据验证集判断是否要继续进行下一步
.......
model.train()# 显示调用trian(),再次回到train状态
model.eval()
# 打开上下文管理器,禁止梯度计算
with torch.no_gard()
for batch in dev_iter:
# 如果有数据就需要将数据加在到gpu
data=to_device(batch)
# 正向传播
out=model(data)
汇总所有相关的数据
.....
# 将所有汇总的结果进行评价指标计算
getscore(results)