個人筆記,不喜勿噴。
一、流程簡述
1、將網絡狀態設置爲訓練模式
2、將訓練數據中的輸入和標籤變量化
3、利用網絡向前計算,包含計算輸出、計算損失值
4、反向傳播調整參數,包含梯度清零、誤差反向傳播、梯度下降更新
5、將網絡狀態設置爲測試模式,繼續2-4步
二、僞代碼
for 迭代次數
net = net.train()#設置爲訓練模式
for 樣本批次訓練
#將訓練數據中的輸入和標籤變量化
im = Variable(im)
label = Variable(label)
#向前計算
output = net(im)#計算輸出
loss = criterion(output, label)#計算損失值
#反向傳播
optimizer.zero_grad() # 梯度清零
loss.backward() # 誤差反向傳播
optimizer.step() # 梯度下降(更新)