1. 程式人生 > >程式碼實現Mask R-CNN時錯誤集合

程式碼實現Mask R-CNN時錯誤集合

導言

主要記錄了程式碼實現Mask R-CNN專案中demo,train_shaps檔案以及用Mask R-CNN訓練自己的資料集時遇到的問題及解決辦法。
會持續更新。

問題及解決辦法

%matplotlib inline程式碼出錯

這時因為%matplotlib inline是內建在jupyter中的函式,而我使用的時pycharm IDE,在pycharm中不支援該語句。
解決辦法是註釋掉%matplotlib inline,然後在程式碼的最後加上:

plt.show()

TypeError: unsupported operand type(s) for /: ‘Tensor’ and ‘float’

在我使用Mask R-CNN2.0.1版本的原始碼執行train_shapes檔案時,出現上述錯誤,具體的報錯內容是:

File "/home/whao/Mask_RCNN-2.0/model.py", line 636, in call
self.config.IMAGES_PER_GPU, names=names)
File "/home/whao/Mask_RCNN-2.0/utils.py", line 673, in batch_slice
output_slice = graph_fn(*inputs_slice)
File "/home/whao/Mask_RCNN-2.0/model.py", line 635
, in w, x, y, z, self.config), File "/home/whao/Mask_RCNN-2.0/model.py", line 531, in detection_targets_graph negative_count = int((positive_count / config.ROI_POSITIVE_RATIO) - positive_count) TypeError: unsupported operand type(s) for /: 'Tensor' and 'float'

關於該問題的解決辦法,可以參考github上這個帖子,具體的解決辦法如下:

因為我是基於Mask R-CNN2.0.1版本的原始碼出錯,所以github上面給出的辦法是,把2.0.1的版本切回到Mask R-CNN1.0的原始碼版本,就可以避免這個錯誤。

在github上下載1.0版本的原始碼方法如下:
在branch->tags下面選擇版本,右邊可以clone或者直接下載壓縮包。
這裡寫圖片描述

OSError: cannot identify image file <_io.BufferedReader name=’/home/lab2408/…….

大意就是說,不能開啟圖片。這個錯誤出現在我把mask rcnn的原始碼從2.0.1切換到1.0之後,1.0版本中的images資料夾中的檔案總是會出現這樣的錯誤。
解決辦法是我把2.0.1專案中的images資料夾拷貝到1.0專案中,替換掉之前的資料夾,問題得到解決。