寫于1.4日中午 在學(xué)校
我以后再也再也不拖延了事秀。
一捉撮、遇到Out of memory的問(wèn)題
解決辦法:
1怕品、把圖片Resize一下。
2巾遭、把batch size改小一點(diǎn)肉康。
先嘗試解決辦法2:
我先嘗試第二種辦法:batch size 原來(lái)是25闯估,我把batch size改成2試試看。
果然可以順利跑起來(lái)了吼和!好開心啊~
我還是不希望resize圖片涨薪,那么久吧
關(guān)于batch size和訓(xùn)練結(jié)果的關(guān)系,查看這一個(gè)網(wǎng)頁(yè):
https://www.zhihu.com/question/32673260
判斷學(xué)習(xí)率設(shè)置是否良好:
其次纹安,準(zhǔn)確率
二尤辱、Pytorch如何保存訓(xùn)練好的模型
參考網(wǎng)址:https://blog.csdn.net/VictoriaW/article/details/72840878
我發(fā)現(xiàn)在代碼的訓(xùn)練部分,有這樣一段保存訓(xùn)練結(jié)果的代碼:
這個(gè)函數(shù)的具體定義在代碼下的save_checkpoint.py代碼內(nèi)厢岂。
意思是把state of? a net保存在checkpoint文件夾下的weights0.pth文件中光督。
我現(xiàn)在需要用的是第一種方法。
目前我已經(jīng)在checkpoints文件夾下的checkpoints文件夾下保存了weights0.pth
我現(xiàn)在需要導(dǎo)入.pth文件夾塔粒。
(其實(shí)這個(gè)不需要服務(wù)器结借,這個(gè)在自己家里的電腦上都能跑出來(lái)。)
在test的代碼里卒茬,有這樣一段代碼:
torch.load后面這兩個(gè)參數(shù)分別表示什么意思呢船老?
所以我想到的解決辦法是:把“weights0.pth”文件放到和result一樣的文件夾下面,然后把load_weights的默認(rèn)值改成“weights0.pth”,再跑圃酵。
我現(xiàn)在已經(jīng)對(duì)原來(lái)的程序作出的改動(dòng)有:
1柳畔、main里面的batchsize被我改成了從25到2
2、所有的png都被我改成了tif
3郭赐、result_visualization.py里的load_weights的默認(rèn)值被我改成了“weights0.pth”
4薪韩、result_visualization.py里的測(cè)試集的位置被我改變了。
三捌锭、跑test的代碼
我把weights移動(dòng)到對(duì)應(yīng)的文件夾了俘陷。
遇到的問(wèn)題1:
代碼里“import matplotlib.pyplot as plt”這一句話報(bào)錯(cuò)。
解決辦法1:
參考網(wǎng)站:https://stackoverflow.com/questions/49013901/importerror-cannot-import-name-path-matplotlib
就是卸載再重裝
卸載重裝后重啟試試看观谦。
成功解決拉盾,所以不需要看辦法二了。
解決辦法2:
https://blog.csdn.net/Nebula_W/article/details/79541287
這個(gè)辦法可能更靠譜一點(diǎn):
原因:Package中path.py的版本過(guò)高造成的豁状。
解決方法:更改path.py的版本在7.6.1左右即可捉偏。
遇到的問(wèn)題2:
代碼里“import pandas as pd”這一句話報(bào)錯(cuò)。
參考網(wǎng)站:
https://stackoverflow.com/questions/30761152/how-to-solve-import-error-for-pandas
解決辦法:
卸載泻红,重裝告私,再重啟Spyder
解決!
遇到問(wèn)題3:
我暫時(shí)注釋掉了這兩句:
遇到問(wèn)題4:
類似統(tǒng)一原圖和groundtruth圖的名字的問(wèn)題
用rename改一下名字就好了承桥。
祈禱再不要報(bào)錯(cuò)了。
好像在跑了根悼。
真的沒有報(bào)錯(cuò)了凶异。
報(bào)錯(cuò)是沒有足夠內(nèi)存蜀撑!
所以程序應(yīng)該是對(duì)的了。
遇到問(wèn)題5:
train的程序跑到第29個(gè)epoch的61%的時(shí)候忽然跑不動(dòng)了剩彬。
那我就先不跑啦酷麦,先去用服務(wù)器跑test的程序。
遇到問(wèn)題6:無(wú)法導(dǎo)入Pytorch
快速退出python模式的方法:Ctrl+z
我試過(guò)了喉恋,如果直接輸入python沃饶,再輸入import torch,還是不行轻黑。
解決辦法1:重裝Pytorch
上面顯示你已經(jīng)裝過(guò)了pytorch
解決辦法2:卸載再重裝Pytorch
卸載的時(shí)候上面寫:
然后我直接輸入了pip install torch糊肤,居然開始安裝了,之后就導(dǎo)入成功了氓鄙。
遇到問(wèn)題7:
還是CUDA OUT of memery的問(wèn)題
問(wèn)了學(xué)姐馆揉,學(xué)姐說(shuō)解決辦法是:一個(gè)圖一個(gè)圖地放進(jìn)去跑,不要很多圖一起放進(jìn)去跑抖拦。
我放了一個(gè)圖進(jìn)去升酣,立刻就跑好了。
遇到問(wèn)題8:
跑是跑好了态罪,但是圖去哪里了呢噩茄?
我把default那里的./改成了prediction,希望能創(chuàng)建這么一個(gè)文件夾复颈。
但是還是跑完了沒有圖绩聘。真的很奇怪。我去查源代碼吧券膀。
圖就在visualization文件夾下面呀君纫!稍微等一下就出來(lái)了。等大概1分鐘芹彬。
我是在WinSCP里面看的蓄髓。
四、回顧Train的代碼
遇到的問(wèn)題是:loss的值是負(fù)的舒帮。
我用的計(jì)算loss的方法是Dice Loss function.会喝。
我需要先去查這個(gè)function。
Dice coefficient是常見的評(píng)價(jià)分割效果的方法之一玩郊,同樣的也可以作為損失函數(shù)衡量分割的結(jié)果和標(biāo)簽之間的差距肢执。
在這個(gè)class中,dice_coef函數(shù)的return是loss的結(jié)果
這里有一個(gè)相關(guān)的函數(shù)定義的式子:
https://blog.csdn.net/a362682954/article/details/81226427