FasterRCNN是物體檢測主流方法之一,keras版本的FasterRCNN是在2017年6月發佈的,這是核心代碼。其後Anaconda、TensorFlow和Keras都在不斷更新,不同版本的組合可能無法運行該程序。去年和今年小象學院推出了計算機視覺深度學習的兩期課程,這兩期課程的物體檢測部分的示例都採用了該代碼,他們內容相同,如下圖。
也可以點擊這裏查看。
由於最新版的TensorFlow和Keras變動比較大,許多老的函數有位置變動或被刪除,可能導致無法運行該代碼。我嘗試了自己的幾種環境,給出了運行結果。
- Python3.5.2+tensorflow-gpu1.1.0+keras2.1.5,可以正常運行,如下圖。
Tensorflow的版本爲1.1.0,GPU版本,如下圖。
Keras版本爲2.1.5,如下圖。
代碼運行結果如下。
- Python3.5.5+tensorflow-gpu1.5.0+keras2.0.8,運行時報錯,提示如下:
> File "D:/test/pycv/chinahadoop/ChinaHadoop_C5-master/ChinaHadoop_C5-master/C5_FasterRCNN_KERAS/test_frcnn.py", line 9, in <module>
> import keras
> File "d:\Anaconda3\lib\site-packages\keras__init.py", line 3, in <module>
> from . import utils
> File "d:\Anaconda3\lib\site-packages\keras\utils\init.py", line 6, in <module>
> from . import conv_utils
> File "d:\Anaconda3\lib\site-packages\keras\utils\conv_utils.py", line 3, in <module>
> from .. import backend as K
> File "d:\Anaconda3\lib\site-packages\keras\backend\init__.py", line 83, in <module>
> from .tensorflow_backend import *
> File "d:\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py", line 2, in <module>
> from tensorflow.python.training import moving_averages
>
> ImportError: cannot import name 'moving_averages'
可見該版本的tensorflow沒有moving_averages函數。
- Python3.6.6+tensorflow-gpu1.6.0+keras2.1.3,運行時沒有報錯,但提示kernel died。如下圖:
查看版本時可在Spyder的Python控制檯輸入命令查看,如下圖:
如果使用pycharm,可以在設置的project interpreter中查看,如下圖。
如果某個包安裝了多個版本,可在這裏可以指定其中一個版本。