在深度學習過程中澳厢,獲取數(shù)據(jù)集后囚似,在搭建自己的網(wǎng)絡(luò)之前需要進行的是微調(diào),通過別人現(xiàn)有的網(wǎng)絡(luò)觀察自己數(shù)據(jù)的實驗結(jié)果饶唤,并在此基礎(chǔ)上,初步確定自己網(wǎng)絡(luò)的大體結(jié)構(gòu)募狂,其中微調(diào)的步驟主要有以下幾步:
1)??????獲取已有網(wǎng)絡(luò)的結(jié)構(gòu)(prototxt)和網(wǎng)絡(luò)參數(shù)(caffemodel),可以從網(wǎng)上下載經(jīng)典的網(wǎng)絡(luò)模型與網(wǎng)絡(luò)結(jié)構(gòu)
2)??????準備好自己的數(shù)據(jù)集性穿,一般情況下轉(zhuǎn)換成為lmdb格式雷滚。
3)???????關(guān)于均值的計算需曾,可以直接用caffe中的 make_imagenet_mean.sh文件進行計算祈远,有的網(wǎng)絡(luò)結(jié)構(gòu)種不含有這個參數(shù)。
4)??????根據(jù)的自己的需要將最后的全連接的層該為自己所需要的輸出谋减,比如是10分類,最后的output就是10逃顶,同時改變最后一層的名字,只要不與原來的相同即可以政。
5)??????最后是使用caffe的工具將fine-tuning的網(wǎng)絡(luò)跑起來進行訓(xùn)練。
下面是對微調(diào)過程中出現(xiàn)的情況的舉例說明
a)??????用lenet模型時废菱,圖片通道數(shù)不一樣抖誉,lenet使用一通道殊轴,我們的圖片是rgb三通道袒炉。這個就需要改變這個第一層卷積的名字,與原始的conv1要不一樣孽文。
b)??????在進行微調(diào)時,當輸入圖片大小不一樣時芋哭,全連接的第一層名字沒有進行修改郁副,進入全連接層的參數(shù)不一樣,需要重新命名存谎,需要修改第一層全連接的名字。