语义分割 小总结
- 記錄一下第三次作業 語義分割的做題思路,遇到的問題,以及學到的新知識
- 作業是真的惡心,好惡心
- 5.29日,熬夜,熬到四點,早上八點起來繼續肝·····
- 最終訓練集0.87,驗證集0.83
1:驗證集的結果
- 本地驗證集上的MIOU
- 0.8356
2:測試集上的結果
3:自己所采用的的方法
-
pspnet + resnet50
-
我從上周的時候就開始看物體分割的相關模型以及歷史,知道了有基于上采樣的,也有最終選擇了基于特征增強的PSPNet,最終遇到了包括但不限于以下的問題
-
PSP網絡的理解,以及參數的選取
- 最主要的是self.colors,也就是灰度圖和索引圖之間的對應關系
- 遷移學習的使用,resNet50,看嗶哩嗶哩Up主的視頻,以及寫代碼(十個小時)
- Github 和知乎,搜索相關的代碼,知識(十個小時)
- 最開始的時候,自己擅自改掉了self.colors,顏色就變花了,就像打翻了墨盒一樣(這個點可能花的有12個小時的時間,就一直琢磨,琢磨)
- 開始得到的就是水墨畫
- 然后研究灰度圖和索引圖,有五個小時
- 總計可能有五十個小時吧
-
花的時間真的長,一個epoch需要三分鐘,訓練一百個epoch,差不多就是三百分鐘,五個小時就過去了。在kaggle平臺上面,兩個賬號,GPU每周三十個小時。剛好他周六更新時長,所以我們相當于有120個小時的使用時間。算上開始探索的時間,長長短短加起來可能有一百的小時跑模型。
-
kaggle下載得到的結果文件,這次需要得到一千張圖片,他運行完了刷新一下就沒了,而且也不能批量下載。最后找到了可以通過ZIP代碼壓縮,之后直接下載。
-
一些技術上的問題
- AttributeError: ‘NDArray’ object has no attribute ‘convert’
- Image.fromarray(arr, ‘RGB’)
- NDaRRAY 和 Nparray
4:圖片
-
所使用的的kaggle 環境
-
開始很絕望的時候 1.92
- 訓練過程中
- 最終我改正了錯誤,把batch_size = 8,并且搞懂了灰度圖和索引圖的轉換關系之后
- 每一個類別上的MIOU 我也打印出來了,可以看到都是在0.8以上,除了兩個比較拉跨的類別在0.7
- 最后 這個是驗證集上的,左邊是我們給出的,右邊是實際結果
- 這個是測試集上的,上面是原圖,下面是我們預測出的圖像
- 最后我們提交的是灰度圖,大概是這個樣子
總結
- 上一篇: devops的公开课
- 下一篇: 语义分割的时候,发的牢骚