配置FCN 8s voc資料集
按著博文http://blog.csdn.net/u012968002/article/details/78958090 的流程走的 主要是各種路徑要搞清楚 參見http://blog.csdn.net/supe_king/article/details/58121993
中間出現在網上找的方法個版本不管用 後來發現 還是路徑的問題。
solve.py 的路徑好確定 關鍵是train.protxt test.protxt 中
sbdd是存放資料集的路徑 我的是/home/chenge/Documents/FCN/fcn/data/pascal pascal下存放了訓練圖測試圖(都放在一塊 用train.txt test.txt呼叫即可)標籤
我開始的錯誤就是把 訓練的txt和測試的txt都放在了和voc2011資料夾平行的位置 後來放進voc2011就可以運行了
在voc_layers.py中 改6處路徑1.放test.txt的位置split_f = '{}/{}.txt'.format(self.voc_dir,
self.split)意思就是直接讀取之前test.protxt中路徑split
2.測試圖im = Image.open('{}/JPEGImages/{}.jpg'.format(self.voc_dir, idx)) 前面的框就是test中sbdd_dir
3.測試標籤 im = Image.open('{}/SegmentationClass/{}.png'.format(self.voc_dir, idx))
label = np.array(im, dtype=np.uint8)
之後的訓練的路徑同理
給的模板程式訓練標籤是mat格式 可以改程式變為pgn格式的。
def load_label(self, idx):
"""
Load label image as 1 x height x width integer array of label indices.
The leading singleton dimension is required by the loss.
"""
im = Image.open('{}/SegmentationClass/{}.png'.format(self.sbdd_dir, idx))
label = np.array(im, dtype=np.uint8)
label = label[np.newaxis, ...]
return label