当前位置: 首页 > news >正文

Mask_RCNN 环境配置及训练

目录

 一、Mask_RCNN代码及权重

1、源码下载

2、权重获取

二、环境配置 

1、创建虚拟环境

2、安装必要的包

三、测试环境

1、使用coco

2、使用balloon

四、测试

1、使用coco

2、使用balloon


 一、Mask_RCNN代码及权重

        均从github获取,以下是相关链接:

1、源码下载

matterport/Mask_RCNN: Mask R-CNN for object detection and instance segmentation on Keras and TensorFlowhttps://github.com/matterport/Mask_RCNN

2、权重获取

Releases · matterport/Mask_RCNNhttps://github.com/matterport/Mask_RCNN/releases分别获取两个权重文件(蓝框部分为测试用数据集)

 

 

二、环境配置 

1、创建虚拟环境

注意:使用的Python版本为3.6,因为所需库的版本并不都适配新版Python

conda create -n RCNN python=3.6

启动环境:

conda activate RCNN

2、安装必要的包

根据以下版本要求安装所需的库

numpy==1.19.5
scipy==1.2.1
pillow==8.2.0
cython==0.29.22
matplotlib==3.3.4
scikit-image==0.17.2
tensorflow==1.15.0
keras==2.2.5
opencv-python==4.3.0.38
h5py==2.10.0
imgaug
IPython[all]
pycocotools

注意: 因为在TensorFlow 1.x中,`tf.reduce_mean`的参数是`keep_dims`(带下划线),而在TensorFlow 2.x中改为`keepdims`(无下划线);`Keras==2.2.5` (与TF 1.x兼容) 而 `Keras==2.10.0` (与TF 2.x兼容)、`numpy==1.19.5` (TF 1.15兼容) 而 `numpy==1.23.5` (TF 2.x兼容)

所以版本过高、库之间版本不兼容会导致以下报错:

Traceback (most recent call last):
  File "balloon.py", line 364, in <module>
    train(model)
  File "balloon.py", line 199, in train
    layers='heads')
  File "E:\machine-vision\Mask_RCNN-master\mrcnn\model.py", line 2354, in train
    self.compile(learning_rate, self.config.LEARNING_MOMENTUM)
  File "E:\machine-vision\Mask_RCNN-master\mrcnn\model.py", line 2173, in compile
    tf.reduce_mean(layer.output, keepdims=True)
TypeError: reduce_mean() got an unexpected keyword argument 'keepdims'

三、测试环境

可以用coco数据集或balloon数据集进行测试,分别为:

1、使用coco

python coco.py train --dataset=/path/to/coco/ --model=E:/machine-vision/Mask_RCNN-master/mask_rcnn_coco.h5 --download=True

 数据集和权重文件位置自行调整,如不需要再下载数据,就把 --download=True 删掉或改为False

2、使用balloon

python balloon.py train --dataset="E:/machine-vision/dataset/balloon_dataset/balloon" --weights="E:/machine-vision/Mask_RCNN-master/mask_rcnn_balloon.h5"

训练的权重文件会保存在log文件夹下

四、测试

1、使用coco

python coco.py evaluate --dataset=/path/to/coco/ --model=last

2、使用balloon

python balloon.py splash --weights="E:/machine-vision/Mask_RCNN-master/mask_rcnn_balloon.h5" --image="E:/machine-vision/dataset/balloon_dataset/balloon/train/699765866_abaad7274d_b.jpg"

 

相关文章:

  • leetcode hot100 二叉树(一)
  • 第七部分:第四节 - 在 NestJS 应用中集成 MySQL (使用 TypeORM):结构化厨房的原材料管理系统
  • 剑指offer hot100 第三周
  • 查看make命令执行后涉及的预编译宏定义的值
  • java synchronized关键字用法
  • io流2——字节输入流,文件拷贝
  • Codeforces 1027 Div3(ABCDEF)
  • Java网络编程基础:从阻塞式I/O到线程池模型
  • DAY 34 超大力王爱学Python
  • C++ —— STL容器——string类
  • ps中通过拷贝的图层和通过剪切的图层
  • java多线程与JUC
  • ck-editor5的研究 (4):初步使用 CKEditor5 的插件功能
  • Cesium快速入门到精通系列教程三
  • 高速串行接口
  • Spring Boot 4.0实战:构建高并发电商系统
  • ArkTS基础
  • spining-lidar的电机和激光雷达体(lidar-imu)之间的标定
  • VMware-VMRC-12.0.1-18113358安装包下载安装与使用(附下载)
  • 数学分析——一致性(均匀性)和收敛
  • 个人 网站可以做导航吗/google play官网
  • .net做网站用什么技术/百度产品优化排名软件
  • wordpress链接跳转插件/优化方案怎么写
  • django 做网站的代码/搜索引擎优化是指什么意思
  • 卓老师建站网站后台如何直接登陆/电子商务
  • phpcms双语网站怎么做/免费建站哪个比较好