pytorch模型训练步骤

 

 

 

 

讲解代码textcnn模型

1.加载conf文件

x = import_module('models.' + model_name)
    config = x.Config(dataset, embedding)

2.加载model,初始化conf里面值

model = x.Model(config).to(config.device)

3.加载模型训练

model.train()
optimizer = torch.optim.Adam(model.parameters(), lr=config.learning_rate)

为何要先声明是train

https://blog.csdn.net/qq_38410428/article/details/101102075

在eval的时候也要先声明

def evaluate(config, model, data_iter, test=False):
    model.eval()
    loss_total = 0

4.进行模型训练

model(trains)对应forward的参数

解释链接

outputs = model(trains)
model.zero_grad()
loss = F.cross_entropy(outputs, labels)
loss.backward()
# fgm.attack()  # 在embedding上添加对抗扰动
# outputs = model(trains)
# model.zero_grad()
# loss_adv = F.cross_entropy(outputs, labels)
# loss_adv.backward()  # 反向传播,并在正常的grad基础上,累加对抗训练的梯度
# fgm.restore()  # 恢复embedding参数
# # 梯度下降,更新参数
optimizer.step()

你可能感兴趣的:(Pytorch)