mask rcnn模型踩坑指南 tusimple mx-maskrcnn
来源:互联网 发布:mac搜狐视频怎么缓存 编辑:程序博客网 时间:2024/06/06 12:20
1.环境:anaconda2+tensorflow-gpu+python2.7.14
pip freeze: certifi==2017.11.5 / Cython==0.27.3 / easydict==1.7 / frcnn-cython==0.0.0 / numpy==1.13.3 / olefile==0.44 / opencv-python==3.3.0.10 / Pillow==4.3.0 / pycocotools==0.0.0
2.步骤 :
a.原始数据集+原始代码。模型运行源码网址:https://github.com/TuSimple/mx-maskrcnn,
数据集网址:https://www.cityscapes-dataset.com/ .
先下载数据集gtFine_trainvaltest.zip, leftImg8bit_trainvaltest.zip(需先注册,有些麻烦)和代码git clone https://github.com/TuSimple/mx-maskrcnn.git.
数据集解压到 ./data/cityscape/目录下
b.***@ubuntu: mx-maskrcnn-master $ bash scripts/download_res50.sh #Download Resnet-50 pretrained model
c.安装mxnet, tutorial: https://mxnet.incubator.apache.org/get_started/build_from_source.html
***@ubuntu:mx-maskrcnn-master$ git clone --recursive https://github.com/apache/incubator-mxnet.git
[mxnet]# mxnet官网GitHub下载地址,download incubator-mxnet,即mxnet模块,--recursive必不可少,否则可能make失败,导致后面缺少libmxnet.so库。
cd incubator-mxnet
make -j8 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1 USE_CPP_PACKAGE=1
# c++编译选项USE_CPP_PACKAGE=1
f.***@ubuntu: mx-maskrcnn-master $ sh scripts/train_alternate.sh #Kick off training, 需修改train_alternate.sh最后一行为单GPU,原本为4GPU
模型正常训练结果:先加载图像,再迭代
========================1285 ============================
data/cityscape/gtFine/train/bochum/bochum_000000_006746_gtFine_instanceIds.png
(2048, 1024)
========================1286 ============================
data/cityscape/gtFine/train/weimar/weimar_000022_000019_gtFine_instanceIds.png
(2048, 1024)
模型训练2h显示:
模型训练20h显示:
3.踩的2个大坑:
a.
(1)报如下错误:
运行最后一步bash scripts/train_alternate.sh报错,File "_mask.pyx", line 56, in init rcnn.pycocotools._mask AttributeError: type object 'rcnn.pycocotools._mask.RLEs' has no attribute '__reduce_cython__'
(3) 可能原因:见https://groups.google.com/forum/#!topic/cython-users/tQlwfcpdf0k,可能是Cython 0.26与python3不兼容(谷歌搜__reduce_cython__)
b.
(1) 报如下错误:
src/storage/storage.cc:63: Check failed: e == cudaSuccess || e == cudaErrorCudartUnloading CUDA: invalid device ordinal
(2) 解决方案:将./scripts/train_alternate.sh脚本最后一行作如下修改:
--gpu 0,1,2,3 |& tee -a ${TRAIN_DIR}/train.log -> --gpu 0 |& tee -a ${TRAIN_DIR}/train.log
(3) 可能原因:见http://blog.csdn.net/zpp13hao1/article/details/78581767?locationNum=7&fps=1中间部分“使用一个GPU,源代码是使用了4个GPU,需要在train_alternate.sh中的最后一句话改为”
4.备注
训练模型时,如出现如下libmxnet.so文件缺失,说明mxnet安装不成功,需从步骤c开始重新安装mxnet。
打印如下:RuntimeError: Cannot find the files. List of candidates:./incubator-mxnet/python/mxnet/libmxnet.so
./incubator-mxnet/python/mxnet/../../lib/libmxnet.so
./incubator-mxnet/python/mxnet/../../build/libmxnet.so
5. openblas 可能找不到 cblas.h,环境变量可能需要添加:
C_INCLUDE_PATH=/*/OpenBLAS/include:/MyLib
export C_INCLUDE_PATH
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/*/OpenBLAS/include:/MyLib
export CPLUS_INCLUDE_PATH
6. 出现/usr/bin/ld: cannot find -lxxx 的解决办法
export LIBRARY_PATH=/opt/biosoft/hdf5-1.8.15-patch1/lib/:$LIBRARY_PATH若修改变量 LD_LIBRARY_PATH 不奏效,则修改变量 LIBRARY_PATH 。
7 出现
/usr/lib/libopencv_highgui.so.2.4: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0' 1> /usr/lib/libopencv_highgui.so.2.4: undefined reference toTIFFReadRGBAStrip@LIBTIFF_4.0'
解决方法是在cmake时加入下面参数
-D BUILD_TIFF=ON
- mask rcnn模型踩坑指南 tusimple mx-maskrcnn
- mask rcnn源码模型踩坑(__reduce_cython__)指南(MxNet)
- 深度学习之检测模型-Mask RCNN
- Mask RCNN
- Mask RCNN
- rcnn, fast-rcnn, faster-rcnn, mask-rcnn
- RCNN, fast RCNN, faster RCNN, mask RCNN
- Mask RCNN 论文阅读
- MASK-RCNN阅读笔记
- Mask RCNN in TensorFlow
- Mask-RCNN技术解析
- Tensorflow-Mask RCNN
- mask rcnn mxnet
- mask rcnn解读
- Mask RCNN笔记
- matterport MASK RCNN配置
- Mask-RCNN技术解析
- mask-rcnn扩展
- 解决 java.lang.IllegalArgumentException: Repository interface must not be null on initialization!
- 教你用Python爬虫股票评论,简单分析股民用户情绪
- 飞利浦公司音频指纹识别算法解析
- JAVA实例学习一为什么要用回调
- Hello World
- mask rcnn模型踩坑指南 tusimple mx-maskrcnn
- enter 回车提交form表单
- 遮罩层注意事项
- cent0S 7 安装 cdh5.13 笔记之二: 安装java,zookeeper,kafka
- 当点击一个button或者是其它view时对应的item滑到顶部
- Akka(42): Http:身份验证
- 获取某一表格的某一行某一列的值
- Spring Boot实战系列教程
- 《剑指offer》刷题笔记(知识迁移能力):和为S的两个数字