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

python 复制代码
conda create -n RCNN python=3.6

启动环境:

python 复制代码
conda activate RCNN

2、安装必要的包

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

python 复制代码
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 复制代码
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 复制代码
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 复制代码
python coco.py evaluate --dataset=/path/to/coco/ --model=last

2、使用balloon

python 复制代码
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"
相关推荐
元宇宙时间3 小时前
RWA加密金融高峰论坛&星链品牌全球发布 —— 稳定币与Web3的香港新篇章
人工智能·web3·区块链
天涯海风6 小时前
检索增强生成(RAG) 缓存增强生成(CAG) 生成中检索(RICHES) 知识库增强语言模型(KBLAM)
人工智能·缓存·语言模型
lxmyzzs7 小时前
基于深度学习CenterPoint的3D目标检测部署实战
人工智能·深度学习·目标检测·自动驾驶·ros·激光雷达·3d目标检测
跟着珅聪学java7 小时前
Apache OpenNLP简介
人工智能·知识图谱
AwhiteV8 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
Black_Rock_br8 小时前
AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
人工智能·macos
ReedFoley9 小时前
【笔记】动手学Ollama 第五章 Ollama 在 LangChain 中的使用 - Python 集成
笔记·langchain
☺����9 小时前
实现自己的AI视频监控系统-第一章-视频拉流与解码2
开发语言·人工智能·python·音视频
fsnine9 小时前
机器学习——数据清洗
人工智能·机器学习
小猿姐10 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks