好久都沒有寫文章了,一直忙著看論文,寫論文象踊,參加比賽升級打怪。今天抽出點時間棚壁,寫點基礎(chǔ)的東西杯矩,今天分享的是利用temsorflow的slim模塊來加載預(yù)訓(xùn)練好的模型并輸出其參數(shù)名稱。
首先模型的下載地址為:https://github.com/tensorflow/models/tree/master/research/slim
大家可以從上面下載我們需要的模型袖外,而我們平時保存的模型中一共有四個文件史隆,其中.meta文件保存的是我們的模型圖結(jié)構(gòu);.ckpt保存的是我們的模型中變量的取值曼验;而.index文件保存的是模型中變量的名字泌射;.pb文件有兩種情況,一個是只保存了計算圖結(jié)構(gòu)鬓照,不包含變量值,可以通過tf.train.write_graph() 方法生成熔酷,第二種情況是不僅包含計算圖結(jié)構(gòu),還包含了訓(xùn)練產(chǎn)生的變量值豺裆。從上面的地址下載的模型有時候只有.ckpt文件拒秘,所以需要我們自己寫圖結(jié)構(gòu),或者從上面的py文件中找到所需要的文件即可臭猜,如下圖所示躺酒。
我們以vgg為例,vgg只有ckpt文件蔑歌,因此阴颖,我下載了vgg.py文件和vgg16的預(yù)訓(xùn)練模型,然后將其直接加載即可丐膝,需要注意的是量愧,這里的vgg16將最后的全連接層轉(zhuǎn)化為了卷積層,適合我作為FCN的backbone來使用帅矗,要是需要做分類的話偎肃,需要大家重新調(diào)整最后幾層的網(wǎng)絡(luò)結(jié)構(gòu),來適應(yīng)不同的任務(wù)浑此。加載模型的部分程序如下圖所示累颂。
通過運行輸出的結(jié)果可以看出,網(wǎng)絡(luò)已經(jīng)加載完畢了。最后我們想要看一下網(wǎng)絡(luò)參數(shù)的名字和數(shù)值的話紊馏,直接利用tensorflow中的pywrap_tensorflow函數(shù)即可料饥,程序如下圖所示。
以上就是我今天的分享朱监,這幾天我抽時間做一個FCN模型的復(fù)現(xiàn)與大家分享岸啡。希望大家多多關(guān)注。以上所有的代碼已上傳到GitHub赫编。