教程地址:tensorflow版的Mask_RCNN
Mask_RCNN github項目地址:https://github.com/matterport/Mask_RCN
clone項目
conda創建python=3.5.2(官方要求3.4+)
conda create -n mask_rcnn python=3.5.2
看到項目READ.md中這個部分:
所以加下來不用按教程來一個一個包自己下載,直接使用項目目錄下的requirements.txt,但是注意,不可以直接使用上面的代碼,要做準備工作:
- 升級好pip:
python -m pip install --upgrade pip
- 升級setuptools
python -m pip install --upgrade setuptools
接下來可以安裝了:
cd 項目目錄
python -m pip install -r requirements.txt
有時會出現一下錯誤:
可以將requirements.ext的tensorflow版本指定爲:1.6.0,即將:
tensorflow>=1.3.0
改爲:
tensorflow==1.6.0
就可以了。
下載好mask_rcnn_coco.h5,放入項目目錄,啓動Jupyter notebook,運行samples/demo.ipynb:
報錯,不好意思:
按照官方教程:
python setup.py install
還是不行。
好吧,將demo.ipynb轉demo.py試試:
(ipynb轉py:jupyter noconvert --to script xxx.ipynb)
再直接運行:demo.py:
報錯:
那就安裝:
python -m pip install pycocotools
又報錯:
好吧,這裏其實是個大問題:安裝好pycocotools:這不是一個簡單的使用pip即可安裝的包,來需要Miscrosoft Visual C++ 14.0環境的支持:
https://blog.csdn.net/u012127765/article/details/82629919
https://sn9.us/file/1445568-239446865(這個應該也可以,但是我用的是上面那個)
安裝好後,繼續:
python -m pip install pycocotools
原錯誤消失,繼續報錯:
錯誤:
Command line error D8021 : invalid numeric argument ‘/Wno-cpp’
解決方案:
不再使用pip在線安裝,採用本地編譯安裝:
- 下載:cocoapi(內含pycocotools):
https://github.com/cocodataset/cocoapi - 進入PythonAPI文件夾:
修改setup.py文件:
爲:
到setup.py目錄下,執行:
python setup.py build_ext --inplace
把生成的pycocotools放入conda相應環境下的python的庫目錄下——%python安裝路徑%\Lib\site-packages,對於當前的conda環境:
先看環境位置:
庫位置:C:\Users\apple.conda\envs\mask_rcnn\Lib\site-packages,放入:
解決方案參考:https://blog.csdn.net/qq_29592829/article/details/82877494
此時直接回去運行demo.py:
python demo.py
報錯:
報錯:get_ipython().run_line_magic(‘matplotlib’, ‘inline’)
看網上說,這是Jupyter notebook執行的語句,將ipynb文件轉爲py文件執行後就會報此錯,粗暴的解決方式是,直接註釋掉:
成功!
注:
Q1:既然直接pip install pycocotools會報錯,最終還是通過本地安裝 —— git cocoapi中本地生成pycocotools包,導入python庫,那麼我們中間的解決的報錯 —— Microsoft Visual C++ 14.0是不是多餘的呢? 直接本地安裝不就好了?
A1:經實測,不行,如果不安裝Microsoft Visual C++ 14.0,那麼本地通過cocoapi安裝時還是會報錯。
Q2:安裝Microsoft Visual C++ 14.0後,除了還有其他方式安裝嗎?
A2:有的
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
看命令大致也知道,就是將git cocoapi和pip install命令合在一起,但經實測不起作用(命令行半天沒反應,不知道是在下載cocoapi還是哪裏出錯了),所以只放在這裏作爲參考
Q3:如果通過Jupyter notebook運行demo.ipynb自然下面這行不會報錯:
get_ipython().run_line_magic('matplotlib', 'inline')
但是要先熟悉Jupyter notebook的用法,特別是如何在Jupyter notebook中使用conda環境。