PSPNet 代碼分析
https://www.lmlphp.com/user/62501/article/item/1225624/
train.py
網(wǎng)絡(luò)訓(xùn)練主函數(shù),主要操作有:
- 傳入訓(xùn)練參數(shù);通常采用argparse庫,支持腳本傳入。
- 網(wǎng)絡(luò)訓(xùn)練;包括定義網(wǎng)絡(luò)、加載模型、前向反向傳播、保存模型等。
- 將訓(xùn)練情況可視化;使用tensorboard繪制loss曲線。
datasets.py
在pytorch中數(shù)據(jù)加載到模型的操作順序如下:
- 創(chuàng)建一個(gè)Dataset對(duì)象,一般重載
__len__和__getitem__方法。__len__返回?cái)?shù)據(jù)集大小,__getitem__支持索引,以便Dataset[i]獲取第i個(gè)樣本。 - 創(chuàng)建一個(gè)DataLoader對(duì)象,將Dataset作為參數(shù)傳入。
- 循環(huán)這個(gè)DataLoader對(duì)象,將img、label加載到模型中進(jìn)行訓(xùn)練。
我們還需在Dataset對(duì)象中定義數(shù)據(jù)預(yù)處理,這里采用:
-
0.7-1.4倍的隨機(jī)尺度縮放
-
各通道減去ImageNet的均值
-
隨機(jī)crop下769x769大小
-
鏡像隨機(jī)翻轉(zhuǎn)
注意:為了讓Image和Label對(duì)應(yīng),也要對(duì)Label作相應(yīng)的預(yù)處理,具體過程詳見代碼。

浙公網(wǎng)安備 33010602011771號(hào)