Windows上配置Mask R-CNN及运行示例demo.ipynb
最近做项目需要用到Mask R-CNN,于是花了几天时间配置、简单跑通代码,踩了很多坑,写下来分享给大家。
首先贴上官方Mask R-CNN的Github地址:https://github.com/matterport/Mask_RCNN,源码可以从这里下载,READ ME里也有一些介绍。
0、Mask R-CNN环境
Mask R-CNN是基于Python3,Keras,TensorFlow。
- Python 3.4+(自行安装,本文为Python 3.6)
- Jupyter Notebook
- TensorFlow>=1.3.0
- Keras>=2.0.8
- numpy、scipy、Pillow、cython、matplotlib、scikit-image、opencv-python、h5py、imgaug、IPython[all]
1、clone代码到当前目录,代码文件夹名为Mask_RCNN-master
- git clone https://github.com/matterport/Mask_RCNN.git
2、按Mask_RCNN-master/requirements.txt安装依赖环境
- pip3 install -r requirements.txt
注:此步安装了numpy、scipy、Pillow、cython、matplotlib、scikit-image、tensorflow>=1.3.0、keras>=2.0.8、opencv-python、h5py、imgaug、IPython[all]
我在此步遇到了问题,安装shaply的时候报错,OS Error:找不到指定模块
用pip install单独安装shapely还是得到一样的错误。我的解决方法是:到https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely(一个非官方的扩展包下载地址,推荐),下载和你的python版本对应的shapely.whl:
这里cp27指的是python2.7,win32是32位,win_amd64就是64位。我的电脑是64位,python3.6,所以我选择了第六个:
接着运行如下命令:
- python -m pip install Shapely-1.6.4.post1-cp36-cp36mwin_amd64.whl
安装成功。
3、下载训练好的COCO权重mask_rcnn_coco.h5
官网的下载地址为:https://github.com/matterport/Mask_RCNN/releases,下载下图第二个即可,把它放在Mask_RCNN-master目录下。
若网速太慢,可从网盘下载。网盘链接:https://pan.baidu.com/s/12A0E6h-mP4zl9oqoTvj6Ig,密码:4eks[1]
(网盘来源:https://blog.csdn.net/tanmx219/article/details/82828727)
4、安装pycocotools
pycocotools是coco训练集的api,如果你想使用coco训练、测试你的网络,就必须安装pycocotools。coco api提供了 Matlab, Python 和 Lua 的 API 接口,该 API 接口可以提供完整的图像标签数据的加载,parsing 和可视化。此外,网站还提供了数据相关的文章,教程等。[2]
MS COCO数据集主页:http://cocodataset.org/
Github主页:https://github.com/Xinering/cocoapi,仅Linux使用,Windows不适用
关于API更多细节:http://cocodataset.org/#download
首先说清楚,这是个巨坑。安装了三天,期间遇到许多问题,一一解决之后才发现,pycocotools的作者根本没考虑Windows。一番百度之后,网上有两种解决方式:第一种是继续使用Linux版,暴力删除无效参数Wno-cpp
和 Wno-unused-function
,详见:https://www.jianshu.com/p/de455d653301
但这种实在过于粗暴啊...好在大佬在Github上分享了windows可用版:https://github.com/philferriere/cocoapi
一句就能解决:
- pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
注:必须安装Visual Studio C++。
5、安装jupyter notebooks
jupyter notebooks是一个web应用程序,你可以在上面编写、运行代码,可视化数据并查看结果,不仅如此,你的代码是被写入独立的单元中并被单独执行的,这允许用户测试项目中的特定代码块,而无需从脚本的开始执行代码。有关jupyter notebooks的基本介绍和用法:机器学习新手必看:jupyter notebooks入门指南
安装:
- pip install jupyter
安装成功后,python36/scripts如下:
执行jupyter notebooks只需在命令行里输入:
- jupyter notebook
小提示:这款软件叫jupyter notebooks,运行只需打jupyter notebook就好,不需要加s。
启动成功,浏览器会自动打开notebooks窗口。有的计算机不会自动跳转,比如我,命令行会提示如下:
复制最后一条网址:http://localhost:8888/?token=15771ade271dbc85b09003a6921e6029d9b3e6a153120465,浏览器打开即可。每次运行jupyter notebooks给的token都是不一样的,需要每次都复制打开。
6、运行demo.ipynb
至此Mask R-CNN的环境就全部配置好啦,我们可以从Mask_RCNN-master/samples/demo.ipynb开始运行。demo.ipynb展示了一个使用MS COCO预先训练的模型来分割自己图像中的对象的例子, 它包括在任意图像上运行对象检测和实例分割的代码,在代码中,demo分割的图像随机来源于Mask_RCNN-master/images。
打开jupyter notebooks,按下图右下角的upload,打开demo.ipynb
项目文件夹目录改成你的Mask_RCNN-master目录:
运行代码,最下方会出现可视化结果:
不知为何,我的运行示例是错误的...正常的应该是这样:
至此Mask R-CNN的简单示例运行就完成了。有问题可在下方留言。
参考资料:
[1]:https://blog.csdn.net/tanmx219/article/details/82828727
[2]:https://www.cnblogs.com/q735613050/p/8969452.html
Windows上配置Mask R-CNN及运行示例demo.ipynb的更多相关文章
- windows上配置git
windows上配置git1.下载mysisigit进入http://msysgit.github.io/,下载,安装,下一步下一步即可. 2.下载tortoisegit进入http://downlo ...
- Ubuntu安装SSH + Windows上配置Putty
1. Ubuntu安装SSH 命令: # sudo apt-get install openssh-server 2. 启动SSH Server 命令: # sudo /etc/init.d/ssh ...
- MongoDb进阶实践之二 如何在Windows上配置MongoDB
一.引言 上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译,省去了Make && Make Install 命 ...
- Apache2.2+php5.4在windows上配置实例
这几天一直在win8.1上配置apache+php环境,网上看了很多文章,自己又犯了很多错误才配置成功,对新手来说真是有点小难. 自己打算把配置的详细过程写下来,好帮助其他新手快速配置. 在这里参考了 ...
- 三.jenkins 在windows上配置master 和 agent(slave)
参考链接: https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+mach ...
- windows上配置连接git
Windows7上安装Git 我首先是百度到了这个网站:https://git-scm.com/download/win 这个网站上有下载链接,你可以根据你的系统选择不同的下载链接,我的是Win7 ...
- py-faster-rcnn:在windows上配置
0.先说一下本机配置 opencv2+cuda7.5+cudnn+anaconda,这些基础的之前都是配置好了的,python环境建议使用anaconda,用到的库基本都有了,好像没有easydict ...
- Redis在Windows环境配置多实例多端口运行
Redis是一种跨平台NoSql内存数据库,这几年各大公司系统应用中非常多见,支持多种数据类型,可以持久化保存数据,很多公司直接拿来作为数据库使用. 相比于Memcached,Redis支持持久化保存 ...
- 在windows上配置jdk环境
下载和安装的java jdk的步骤此处就忽略了.就从配置jdk配置开始说起: 安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 系统变量→新建 JAVA_HOME 变量 . 变 ...
随机推荐
- 第八章· Redis API 开发
Redis 开发 1.源码安装Python环境 Python官网:https://www.python.org/ #下载Python3.6.4安装包 [root@db03 ~]# wget https ...
- js失效问题
由于有些公司设计的js文件涉及到收费问题,提供的这些js文件不能部署到线上,只能通过127.0.0.1:8080/home类似方式访问js才能生效,换作10.140.111.11:8080/home这 ...
- [Nginx]子目录反向代理kibana并添加basic认证
背景 服务器ip:192.168.1.2 安装软件 nginx kibana(默认端口5601) 实现方案:访问http://192.168.1.2/kibana 即可访问到kibana后端,同时需要 ...
- cypress 3
https://blog.csdn.net/u014647208/article/details/80525226 https://blog.csdn.net/kulala082/article/de ...
- (六) Java数据库
一.概述 程序开发没有数据库的参与,可以说几乎是不可能的.数据库和Java都已经有了简单的了解,现在的关键是对两者进行连接,起到这一作用的正是JDBC——Java Database Connectiv ...
- python 2 和python 3 中的编码对比
在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类: 通用的 Unicode 字符: (unicode 被编码后的)某种编码类型的字符,比如 UTF-8 ...
- 浅谈响应式Web设计与实现思路
是否还在为你的应用程序适配PC端,移动端,平板而苦苦思索呢,是否在寻找如何一套代码适配多终端方式呢,是否希望快速上手实现你的跨终端应用程序呢,是的话,那就看过来吧,本文阐述响应式UI设计相关理论基础, ...
- css实现单行、多行文本超出显示省略号
前言:项目中我们经常遇到这种需求,需要对单行.多行文本超出显示为省略号.这篇文章主要总结了小编解决此问题的方法,有不足之处欢迎大家指正. 单行文本省略 .ellipsis-line { border: ...
- Java-UploadHelper工具类
/** * 上传文件类 */ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java. ...
- 51nod 1850 抽卡大赛 (十二省联考模测) DP
O(n4)O(n^4)O(n4)的DP很好想,但是过不了.来看看O(n3)O(n^3)O(n3)的把. Freopen的博客 CODE #include <cstdio> #include ...