Linux RTX3090服务器配置Mask_RCNN并运行

本文档详细介绍了如何在拥有RTX3090显卡的环境下,配置CUDA 11.1,使用Python 3.6、TensorFlow 1.5和Keras 2.1.6来搭建并运行Mask_RCNN项目。步骤包括创建conda环境,安装必要的库,如pycocotools,以及下载和加载预训练模型。此外,还提供了训练自定义数据集的资源链接和方法。
摘要由CSDN通过智能技术生成

matterport/Mask_RCNN

RTX3090其最新的cuda版本为11.1,而且cuda10以下的版本无法运行RTX3090,我们配置Mask_RCNN的时候很可能因为版本不匹配而报出很多错误。

这里笔者亲测,在RTX3090,CUDA版本11.1的情况下,使用py3.6的环境+tf1.5的环境+keras2.1.6的环境可以完美运行Mask_RCNN

首先使用conda创建一个Mask_RCNN环境,并把Mask_RCNN包git到我们的环境之下。

conda create -n rcnn python=3.6   
conda activate rcnn
git clone https://github.com/matterport/Mask_RCNN.git

conda创建一个py3.6的环境
之后我们cd到Mask_RCNN文件夹下

pip3 install -r requirements.txt
python3 setup.py install

这里其实pip安装和pip3安装应该都可以,当时我的cuda出了点问题,同一个环境竟然同时存在pip和pip3。所幸我就都用pip3来安装了
安装requirements文件里所有需要的包
之后进入这个网站:
在这里下载mask_rcnn_coco.h5权重

我们下载mask_rcnn_coco.h5权重,然后服务器输入rz上传至Mask_RCNN根目录下

之后我们安装pycocotools(很多朋友第一次使用maskrcnn,应该要好好研究一下pycocotools,因为我们大多数都输入的COCO格式的文件)

git clone https://github.com/cocodataset/cocoapi.git

再cd到我们git下载的cocoapi文件夹下

cd PythonAPI 
make
python3 setup.py build_ext --inplace
python3 setup.py build_ext install

安装cocoapi
我们在服务器打开ipython,看一下运行pycocotools会不会报错

ipython
from pycocotools.coco import COCO
from pycocotools import mask
exit()

测试cocoapi
如果import pycocotools包的时候,没有报错,那就说明我们把pycocotools安装好了。
之后把版本改成tensorflow1.5和keras2.1.6(因为刚才我们安装的时候,requirements.txt默认安装的都是最新版本的包,所以这里我们使用pip重新安装)

pip install tensorflow==1.5
pip install keras==2.1.6

至此,我们的环境就配好了。
使用jupyter notebook来运行代码吧

jupyter notebook

输入这一串,应该服务器就运行起来jupyter notebook了。但是我发现我复制端口到我的chrome上打不开,所以我在服务器上使用jupyter notebook的时候,都是使用的这行代码。

jupyter notebook --ip=我的服务器的ip

打开jupyter notebook
如果有同学发现conda提示没有安装jupyter notebook ,可能是说明你一开始没有先激活base环境再激活rcnn环境。
进入samples文件夹
点击demo.ipynb
之后我们运行示例中的demo.ipynb代码。
demo代码
可以在这里直接run all。也可以一个模块一个模块run过去(笔者是一个模块一个模块run的)。最后在代码底部,就可以得到Mask_RCNN demo运行的结果。
成功运行demo
观察最后一个模块的代码,其实际上是从images的文件夹里随机抽取一张图片,并使用之前已经训练好的权重进行训练的,这也就是我们训练maskrcn的思想。准备数据集->训练权重->使用训练好的权重做检测->在图片上绘制根据权重预测出的mask
实例分割demo1
实例分割demo2
实例分割demo3
实例分割demo4
对于使用labelme进行自己的权重训练的网址,网上已经有很多了。这里不再赘述。

笔者是使用已经制作好的coco格式的数据集(图片+json)来训练的,这需要自己用pycocotools写一个读入的头文件。

当你有了annotationn,又有了大量的和此annotation对应的image,如何让模型读入coco数据集并进行训练呢?

在这里,笔者参考了
Train a Mask R-CNN model on your own dataHow to train Mask R-CNN on the custom dataset 还有github作者sample文件夹里的那几个例子来综合进行训练。

若笔者有时间,将会在这里详细介绍。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值