win10+anaconda 成功运行Mask-RCNN的demo



安装MaskRCNN

打开anaconda prompt,配置Mask-RCNN环境,强烈建议,以便于维护(踩坑)

conda create -n MaskRCNN python=3.6 pip

如下图所示
提示一律回车就好了
环境搭建好的图
在这里插入图片描述
激活新的环境(更换工作环境)
进入工作目录(下载好的Mask-RCNN目录)

activate MaskRCNN
cd "d:\workspace\Jupyter\mask R-CNN"  # 这里进入你的工作目录
# 需提前下载好Mask-RCNN的源代码,现在进入其目录中

安装Mask R-CNN的依赖包

pip install -r requirements.txt
# requirements.txt是在Mask R-CNN源码中的,这里因在目录下
# 所以可以直接写文件名,否则要指明路径

在这里插入图片描述
下面开始解决一个一个问题了

断网(或者网络不通)

提示如图
在这里插入图片描述
调整好网络,我们重复上一条命令,我这里使用的代理,不用担心流量问题,安装时候他会先检测缓存的。

pip版本问题

如图
在这里插入图片描述

# 我们直接按照提示来
python -m pip install --upgrade pip

附图
在这里插入图片描述

Shapely模块出问题

尝试重新安装,即重新使用上一条安装命令
依然报错
在这里插入图片描述
解决问题
初步判断是imgaug模块有问题,首先安装它的依赖
官网地址

pip install six numpy scipy Pillow matplotlib scikit-image opencv-python imageio Shapely

在这里插入图片描述
根据网上说升级setuptools无效
在这里插入图片描述
正解!
这个地址下载对应的库,然后放在一个位置,我这里新建了ext目录,将其放在了里面,然后使用pip安装

pip install ext\Shapely-1.6.4.post1-cp36-cp36m-win_amd64.whl

附图在这里插入图片描述
再次执行安装依赖包命令后,上面安装的包生效,附图
在这里插入图片描述

安装完成! but…

安装结束后截图
至此,全部安装成功。

要运行demo还有一步就是,初次运行demo也会进行下载,但是…这个下载过程非常慢,超级建议手动下载导入MaskRCNN目录下。

手动下载一下 cocoapi(git地址) 下载下来以后放在Mask-RCNN目录下,没有安装vc2015的按照链接提示进行安装

启动jupyter notebook

jupyter notebook

不幸的是Jupyter notebook出问题,kernel会一直提示忙,在cmd窗口里提示报错信息

cannot import name ‘generator_to_async_generator’

根据 帖子 运行以下代码

pip uninstall -y ipython prompt_toolkit
pip install ipython prompt_toolkit

问题解决 but…
出现以下报错信息

ModuleNotFoundError: No module named ‘IPython.core’

无奈,起初以为是ipython或者ipython_toolkit没有安装,开始折腾这两个
陆续出现以下 报错信息,就是尝试各种版本

ImportError: cannot import name ‘create_prompt_application’

Jupyter Notebook “signal only works in main thread”

重点来了
最后不得不另辟蹊径,打开anaconda图形化界面以后,打开base环境的jupyter notebook确认没有返回异常,记录base下的各个重要包的版本,我这里是

ipython 7.2
jupyter 1.0.0
jupyter-client 5.2.4
jupyter-console 6.0.0
jupyter-core 4.400
prompt-toolkit 2.0.7

然后我们在anaconda命令行下,切换到MaskRCNN环境使用

conda list

列出所安装的包,查看其版本,并使用

conda install 包名=版本号

强制你与上面版本一致,然后运行完成以后,别忘了在执行一遍requirements.txt的安装,以免上面安装影响依赖关系。

然后,出现以下报错信息

Jupyter Notebook “signal only works in main thread”

最后在这里,原博文地址找到了解决方案

pip install "pyzmq==17.0.0" "ipykernel==4.8.2"

到这里,就完美解决了,附图
在这里插入图片描述
在这里插入图片描述

tips

1、本文全系个人尝试过程,仅供参考。
2、各种bug无非就是版本问题,希望大家引以为鉴,早作安排
最后附上我成功后的conda list版本信息,给大家参考