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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章