自从用了mac,每天都在踩坑!纪念一下
mask代码地址:https://github.com/matterport/Mask_RCNN
pythonapi地址:https://github.com/philferriere/cocoapi
系统运行环境:MAc pro+pycharm 2018+anaconda3+python3.5.6
运行demo实现过程,下面是实际操作的步骤,作为记录,避免踩坑。
step1.装了那么多版本python,python 版本切换问题:
-
Mac在pycharm里的terminal运行,激活需要的版本
#使用activate激活某个环境
activate python34 # for Windows
source activate python34 # for Linux & Mac,
#python34 是激活的环境名 -
#该目录中,github_lcs 为激活的环境名,替代python34
-
https://blog.csdn.net/zhangxiangweide/article/details/79756511
step2.下载.h5文件
- https://github.com/matterport/Mask_RCNN/releases 下载结束后,将mask_rcnn_coco.h5文件拷贝到 Mask RCNN 主目录下
step3.在第一步激活的环境中,terminal内运行
- pip3 install -r requirements.txt 具体见:
https://github.com/matterport/Mask_RCNN
step4.运行steup.py文件
- cd ./github_lcs/Mask_RCNN-master
python3 setup.py install
#python3是针对的python3.5,用python默认的是python2.7
step5.标记mask rcnn文件夹为resource root文件夹
step6.1.启动运行环境
- 启动anacond3,激活github_lcs 的环境,启动jupyter notebook(你可以直接在jupyter notebook中查看并执行文件,打开jupyter notebook,运行demo.ipynb,可能会报错,一般都是没有安装依赖项,按照报错的提示,逐步安装依赖项就可以了,也可能是安装包冲突,同一个安装包)
- 这里笔者返回到pycharm窗口,在pycharm窗口里执行demo.ipynb文件
注:以上两者其实都借助于jupyter notebook的环境,哪个都行
step7.1 pycocotools (windows系统)
- 第一步: git clone https://github.com/pdollar/coco.git
- 第二步: cd coco/PythonAPI python setup.py build_ext --inplace
- 第三步: python setup.py build_ext install
https://blog.csdn.net/qq_39622065/article/details/82023317
step7.2测试coco集,建立联系时,(运行demo时也需要做)
- For Python, run “make” under coco/PythonAPI
- 载入编译环境,见https://github.com/waleedka/coco
step 8.coco数据集下载(运行demo时,可以不下载)
遇到的问题如下:
问题1:
ModuleNotFoundError: No module named 'imgaug'
解决办法
Try running conda install -c conda-forge geos before the pip install imgaug(失效)
pip3 install git+https://github.com/aleju/imgaug.git (失效)
https://github.com/aleju/imgaug
下面是下载后 手动安装,也可以直接打包下载后安装
Alternatively, you can download the repository via
git clone https://github.com/aleju/imgaug
and install manually via
cd imgaug && python setup.py install
git clone的位置就是 cmd里面执行该命令时的位置,要确认安装的路径对不对。
问题2:
anaconda版本切换
解决办法:
安装jupyter时,系统自动把python3.5升级了python3.6,之前莫名其妙的,装了那么多包瞬间没有了,可以在anaconda内设置回原来的3.5.6版本。
所以果断不用jupyter notebook了
http://f.dataguru.cn/thread-841874-1-1.html
问题3:
ImportError: dlopen(/Users/cody/PycharmProjects/github_lcs/Mask_RCNN-master/pycocotools/_mask.so, 2): Symbol not found: _PyCObject_Type
Referenced from: /Users/cody/PycharmProjects/github_lcs/Mask_RCNN-master/pycocotools/_mask.so
Expected in: flat namespace
in /Users/cody/PycharmProjects/github_lcs/Mask_RCNN-master/pycocotools/_mask.so
Process finished with exit code 1
解决办法:
问题的根本原因是pycocotool的安装问题,也就是上面的7.1 和7.2 的步骤,pip时安装错了文件夹,anaconda默认的是2.7版本
cd coco/PythonAPI,用python3而不用python
#install pycocotools locally
python3 setup.py build_ext --inplace
#install pycocotools to the Python site-packages
python3 setup.py build_ext install
确保安装的自己当前环境下的文件夹里
copying build/lib.macosx-10.6-x86_64-3.5/pycocotools/cocoeval.py -> /Users/cody/anaconda3/envs/github_lcs/lib/python3.5/site-packages/pycocotools
问题4:
from coco.PythonAPI.pycocotools.coco import COCO
ImportError: No module named 'coco.PythonAPI'
解决办法:
把刚才下载的PythonAPI文件夹,move到coco文件下
运行完的结果:
框图效果: