在 Udacity 計(jì)算機(jī)視覺工程師這門課里用的框架是 PyTorch,很巧合的是在開課的第一天努咐,PyTorch就官方支持 Windows 了嫂侍,趕緊裝上試試,在語法上基本感覺不出來在使用一個(gè)深度學(xué)習(xí)的框架漏设。這兩天又看到新聞?wù)f下一版的升級(jí) 1.0 將會(huì)和 Caff2 融合墨闲,豈不是要逆天?對(duì)于從業(yè)者來說郑口,框架越少越好鸳碧,這樣就不至于在職位描述里看到一大堆框架心慌了。
這里我會(huì)記錄一些使用過程中發(fā)現(xiàn)的特別的地方犬性,也在參考文獻(xiàn)部分收集一些特別好的其他人寫的教程瞻离,已備查看,這樣就不至于遺落好東西乒裆,也不至于放在收藏夾里落灰了套利。
一些零碎的技巧及需要注意的地方:
- 在執(zhí)行訓(xùn)練之前,要預(yù)防性的加上
optimizer.zero_grad()
來清除掉程序調(diào)試過程中產(chǎn)生的梯度 - 對(duì)于 Dropout鹤耍,在使用
model.train()
命令進(jìn)行訓(xùn)練時(shí)會(huì)啟用肉迫,而當(dāng)使用model.eval()
命令進(jìn)行評(píng)價(jià)時(shí)則會(huì)自動(dòng)關(guān)閉 - 訓(xùn)練完成的參數(shù)被存儲(chǔ)在
model.state_dict()
中,可以對(duì)這些參數(shù)進(jìn)行保存torch.save(model.state_dict(), 'checkpoint.pth')
稿黄,在后續(xù)使用時(shí)通過state_dict = torch.load('checkpoint.pth')
和model.load_state_dict(state_dict)
來導(dǎo)入到模型中