TensorFlow MASK R-CNN Demo Windows 无痛搭建 (CPU版)

TensorFlow MASK R-CNN Demo Windows 无痛搭建 CPU版

一. 依赖库版本

版本很重要, 错了不一定能跑起来
MASK R-CNN == 2.1
tensorflow == 1.15
keras == 2.0.8
scipy == 1.2.1

其他版本没有试过

二. 原材料

  1. Jupyter Notebook
    安装教程移步到: Windows 下无痛安装 Jupyter Notebook与配置
  2. TensorFlow
    安装教程移步到: Windows 下无痛安装 TensorFlow (CPU版)
  3. MASK R-CNN 源代码
    下载地址: https://github.com/matterport/Mask_RCNN/releases
    点击 Source code(zip) 下载源码到本地, 解压后放到 Juyper Notebook 文件存放路径, 如 E:\Jupyter_Files, Jupyter Notebook 如何更改工作路径, 上面 Jupyter Notebook 安装教程里有讲
    dwn rcnn
  4. COCO API
    下载地址: https://github.com/cocodataset/cocoapi
    如上图下载到本地, 解压后放到Juyper Notebook文件存放路径, 如 E:\Jupyter_Files
    以上两个源码放到相同路径, 如下图, 我下载的 coco-master
    source_code
  5. Microsoft Visual Studio 2015
    网上一搜一大堆, 安装路径你喜欢就好, 注意, 选自定义安装, 编程语言把 C++ 勾上, 其他默认值, 以下就简称 VS2015 了

三. 运行步骤

  1. 打开 Jupyter Notebook
    打开后可以看到刚才下载的两个文件夹已经显示出来
    folders
  2. 打开 Mask_RCNN-2.1->demo.ipynb, 打开 demo.ipynb 后部分截图如下
    Demo
  3. 切换 Kernel
    选择 Kernel->Change kernel, 切换到你想要的 Kernel
    SwitchKernel
  4. 选择 Demo 源码的第 1 个 Code 单元格, 单元格边框会变成绿色, 绿色表示此单元格是可以编辑的, 蓝色表示不能编辑
    EditCell
  5. 激动人心的时刻来了, 按 Shfit + Enter 运行刚才选中的单元格, 看能不能运行, 答案是: NO!!!, 在单元格下面会输出一些错误信息, 这些信息就是我们这次要填的坑, 错误信息的顺序和上面 import 语句的顺序有关系
    k1
    坑1: 看红框说的, 意思是你没有安装 skimage, 那先来填这个坑
    打开你心爱的 Anaconda Prompt, 激活 Jupyter Notebook 选用的核所在的 Environment, 输入 pip install scikit-image 安装 skimage, 等待其安装完成
    skimage
    好不容易不 skimage 安装完成, 我们再选择第 1 个 Code 单元格, 按 Ctrl + Enter 运行试试看会怎样, OMG, 又来了一个坑, 此坑如下图
    k2
    坑2: 红框是说你没有安装 matplotlib, 聪明的你是不是已经打开了 Anaconda Prompt, NO, NO, NO, 还有其他更容易的安装方法, 移步到 https://blog.csdn.net/yx123919804/article/details/84111774, 参照第6 步安装更方便
    matplotlib
    坑3: 安装完成 matplotlib 再来运行一次, 看还有没有坑, 果然还有
    k3
    如何填? 参照安装 matplotlib 安装 keras
    keras
    坑4: 填好了再运行一次, 这次显示的坑有两个, 不过先只填红框的那个
    k4
    怎么填? 聪明的你可能已经看到了红框上面的这名话: # https://github.com/aleju/imgaug (pip3 install imgaug), 不就是运行一下 pip install imgaug 吗? 因为我们有选择运行的 Environment, 所以我们不这样做, 而是在 Anaconda Prompt 中激活 Environment, 然后输入 pip install imgaug 进行安装
    imgaug
    坑5: 好, 现在已经填好了 4 个坑 s, 再来运行一次, 又来一个坑, 这次输出越来越多, 表示我们越接近成功了
    k5
    这个坑可以仿 matplotlib 填, 但是搜索的名字不是 cv2, 而是 opencv, 哈哈, 被坑了吧
    opencv
    坑6: opencv 安装完毕, 再来运行一次, 你可能已经猜到还有坑, 恭喜你, 猜对了, 而且这个坑还有一点大, 说没有 pycocotools 这个模块
    k6
    How Fill? 确保 Microsoft Visual Studio 安装成功了后, 打开Anacon Prompt, 并激活你选择的 Environment, 再将目录切换到 cocoapi, 怎么切换? 比如我的 cocoapi 在 E:\Jupyter_Files\cocoapi-master\PythonAPI, 那就先输入 E: 回车,切换到 E 盘, 再输入 cd E:\Jupyter_Files\cocoapi-master\PythonAPI 目录下
    coco_path
    坑7: 目录切换完成, 再输入 python setup.py install, 就开始安装 pycocotools, 不过先告诉你又会来一个坑, 如下图
    k7
    What the fuck~, 这个坑还是比较好填的, 大家跟我做, 在资源管理器中打开 E:\Jupyter_Files\cocoapi-master\PythonAPI, 里面有一个 setup.py 的文件
    coco api setup
    打开它, 怎么打开? 当然双击啊, 如果你电脑上没有 python 编辑环境, 可以用安装好的 VS2015 打开
    setupconfig
    把红框框的那一行改成 extra_compile_args=[] # originally was [‘-Wno-cpp’, ‘-Wno-unused-function’, ‘-std=c99’], 简单点说就是把 extra_compile_args 赋值一个空 list, 把后面的用 # 注释掉, 免得以后你想改回来, 改完后如下图
    -wno-cpp
    坑8: 再走一个 python setup.py install 试试? 来一个坑说无法打开源文件: “pycocotools/_mask.c”: No such file or directory
    k8
    一步一步跟我填, 首先要问为什么打开不呢? 嗯~这个是还有一个依赖项没有安装, 仿安装 matplotlib 安装 Cython
    cython
    安装完成后再打开坑7中的那个 setup.py文件, 在最开始增加两行
from distutils.core import setup
from Cython.Build import cythonize

然后再把 setup 里面的内容改成

setup(
    name='pycocotools',
    packages=['pycocotools'],
    package_dir={'pycocotools': 'pycocotools'},
    version='2.0',
    ext_modules=cythonize(ext_modules)
)

改完后如下图
from
setupchange
好了, 坑8 就这样被填好了, 再再走一个 python setup.py install 试试?
k8_over
不出所料, 安装完成, 在 Environment 路径下生成一个 pycocotools 的文件夹, 就问你神不神奇!
pycocotools folder
如果在 site-packages 文件夹下找不到 pycocotools 文件夹, 那就到 D:\Anaconda3\envs\tf_cpu\Lib\site-packages\pycocotools-2.0-py3.7-win-amd64.egg 文件夹中看看, 你的 Anaconda 和 Environments 路径可能和我的不一样, 你知道意思就行
pycocotools-2
再用 Ctrl + Enter 运行第 1 个 Code 单元格试试? 已经没有错误输出了
最后还有一个不算坑的坑, 没有错误输出了后, 就要开始下载 mask_rcnn_coco.h5 了, 这个是训练的权重参数, 有 200 多 M, 网速慢的话要多等一下, In 旁边方括号里面的 * 号表示这个单元格正在执行, 执行完成后会显示一个数字, 下载完成再 Ctrl + Enter, 第 1 个 Code 单元格已经没有错误信息了
wait
download
坑9: 第 1 个 Code 单元格是填完了, 但是 Demo 还是不能运行, 我们试一下, 点上方工具栏 Cell->Runn All, 运行全部单元格, 会看到第 3 个 Code 单元格下面有错误信息输出, 说没有 keras.engine.topology 没有 load_weights_from_hdf5_group_by_name 这个属性
run all
k9
这个也比较好填, 看上面错误定位的文件是 model.py, 那我们打开它, 搜索 “topology” 会有 3 个地方要改, 第 1 个如下图, 把 from keras.engine import topology 注释掉, 改成 from keras.engine import saving

k9-1
k9-2

再搜索 “topology”, 还有下图这个地方有两处要改
k9-3

也是把 topology 改成 saving, 改完后保存, 如果有必要的话, 重新打开 Jupyter Notebook, 再打开 demo
k9-4
至此, 所有的坑都填好了, 再 Run All 试一下, 是不是看到了科学都不能解释的现象, 图像中的物体被检测出来了, 就问你惊不惊喜, Run All 之后, 再次运行的话, 只运行最后那 Run Object Detection 单元格就可以检测了, 如果要检测自己的图像, 只要把图像放到 images 文件夹下就可以了
result

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr-MegRob

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值