pytorch模型訓練步驟

2021-10-01 15:31:24 字數 1058 閱讀 6111

講解**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

在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 四 訓練模型

1.在前三部分已經分別完成了資料的處理 神經網路的定義,還有優化器 損失函式的選擇,這次我們將開始學習如何訓練模型。2.模型的訓練其實也是套路,大致分為一下五個部分。1 載入trainloader中的資料,並將其轉換為variable 形式的資料,作為神經網路的輸入。2 每次迴圈開始之前,確保梯度的...

pytorch 修改預訓練模型

torchvision中提供了很多訓練好的模型,這些模型是在1000類,224 224的imagenet中訓練得到的,很多時候不適合我們自己的資料,可以根據需要進行修改。1 類別不同 coding utf 8 import torchvision.models as models 呼叫模型 mode...

pytorch 載入預訓練模型

pytorch的torchvision中給出了很多經典的預訓練模型,模型的引數和權重都是在imagenet資料集上訓練好的 載入模型 方法一 直接使用預訓練模型中的引數 import torchvision.models as models model models.resnet18 pretrai...