mask-RCNN(mxnet版本)的安装与使用

mask-RCNN(mxnet版本)的安装与使用

  • tuSimple(https://github.com/TuSimple/mx-maskrcnn)实现的代码使用python2写的,因此我在anaconda中新建了一个python2.7的kernel,用来测试maskRCNN。
  • 在安装mxnet的时候,我将原来的mxnet版本(0.12.0)替换成了最新的1.3.0版本的,旧的版本一直报错。(在import mxnet的过程中一直有遇到'undefined symbol: cblas_sgemm'之类的问题)
  • 如果提示找不到cublas.h,则需要在config.make中添加ADD_CFLAGS=-I/usr/include/openblas ADD_LDFLAGS=-L/usr/lib64
  • 使用openblas的话,我在make.config中修改USE_BLAS也会报错,在命令行make -j后面添加选项即可。参考链接:https://zhuanlan.zhihu.com/p/31107408
  • 如果在make的过程中报错compile error "fatal error: ../mshadow_op.h",则需要将roiAlign拷贝到src/operator/contrib中。参考链接:https://github.com/TuSimple/mx-maskrcnn/issues/123
  • 因为需要编译mxnet的python版本(主要是需要编译roiAlign,不然直接用gluon就行了)。进入python文件夹,python setup.py install即可
  • 测试:说明python没有找到openblas的库之类的,因此需要在.bashrc中添加库目录,添加方式如下export LIBRARY_PATH="$LIBRARY_PATH:/usr/lib64"。参考链接:https://github.com/apache/incubator-mxnet/issues/245

其他参考链接

其他库的安装

  • opencv:pip install opencv-python
  • 安装特定版本的库:pip install requests==2.18.4

训练和测试

  • 安装好并准备好数据之后就可以直接进行训练了
  • 如果遇到out of memory的问题,则可以减少roi的个数,在rcnn/tools/train_maskrcnn.py中,之前设置的是256,训练会报错,减少至128个之后,就没有报错了。参考链接:https://github.com/TuSimple/mx-maskrcnn/issues/69
  • 下载之前的pretrained模型,应该是256个roi训练出来的,训练开始,TrainRPN ACC会下降一些。。。之后再慢慢升高。
  • 按照github上的readme进行train和eval就可以了,需要几天时间(我把rcnn的train epoch由24改成了4,其他的不变,最终3块卡用了2天时间)
  • 也可以对单张图片进行测试scripts/demo_single_image.sh。这里需要注意的是,maskRCNN对输入图像的大小没有要求(训练的时候用的是2048X1024的,我测试单张图片的时候,用的是1368X720的图像也没有问题。)
  • 如果在train的过程中, 遇到了LocalFileSystem::Open "model/res50-fpn/cityscape/alternate//rcnn1-0000.params": No such file or directory的问题,则运行train_alternate.sh即可。

猜你喜欢

转载自blog.csdn.net/u012526003/article/details/81152173