最近在跑该模型,遇到了很多问题,github上给的东西不足以将这个模型给正常运行起来,所以在此记录一下
github源码地址
1、环境说明各个版本的信息:ubuntu18.04.3 (linux服务器)+ CUDA9+torch1.0+torchvision0.2+python3.6.2 + gcc5
如果不知道各个东西的含义的,可以查看我的另外一篇博文:显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn
python、torch、torchvision版本信息(可查看下面第2点具体的操作)
cuda版本信息:CUDA下载与安装
gcc 版本信息:gcc安装与多版本之间切换
这边我们还是利用Anaconda Linux 安装 Anaconda 建立虚拟环境来进行各个版本信息的安装,在此之前,请先确定上面的CUDA、gcc版本已经安装完毕
关于pychorch的版本信息,不同的linux服务器可能不同,可参照Pychorch 官网下载 下面的话,主要是针对我ubuntu18.04 CUDA9.0 下载pytorch为1.0.0、 torchvision为0.2.1 的命令(针对这个模型),其他的可以查看 Pytorch 旧版本下载
# 创建一个名称为ms_rcnn的虚拟环境 conda create -n ms_rcnn python = 3.6.2 ipython # maskrcnn_benchmark and coco api dependencies pip install ninja yacs cython matplotlib # 针对 ubuntu18.04 CUDA9.0 下载pytorch为1.0.0、 torchvision为0.2.1 的命令 conda install pytorch==1.0.0 torchvision==0.2.1 cuda90 -c pytorch # 下面的根据官网的下载即可,可以自己在git下载下来再ftp传上去,然后install也可 # 可能文件夹的名称会和下面的不一样,cd的时候注意一下 # install torchvision cd ~/github git clone https://github.com/pytorch/vision.git cd vision python setup.py install # install pycocotools cd ~/github git clone https://github.com/cocodataset/cocoapi.git cd cocoapi/PythonAPI python setup.py build_ext install # install PyTorch maskscoring_rcnn cd ~/github git clone https://github.com/zjhuang22/maskscoring_rcnn.git cd maskscoring_rcnn # the following will install the lib with # symbolic links, so that you can modify # the files if you want and won't need to # re-build it python setup.py build develop3、准备coco的数据集
自己建立一个dataset 文件夹,然后把数据集下载在该目录下并解压,建议直接wget 下载
wget http://images.cocodataset.org/zips/train2014.zip #下载coco train2014训练集图片 wget http://images.cocodataset.org/zips/val2014.zip #下载coco val2014验证集图片 wget http://images.cocodataset.org/zips/test2014.zip #下载coco test2014 测试集图片 wget https://dl.dropboxusercontent.com/s/o43o90bna78omob/instances_minival2014.json.zip?dl=0 #下载minival json wget https://dl.dropboxusercontent.com/s/s3tw5zcg7395368/instances_valminusminival2014.json.zip?dl=0 #下载validation-minus-minival json
annotations包:
链接:https://pan.baidu.com/s/1vkF9kRmNOoIKopaZ4Qm1Xg 提取码:0907
根据该文件位置及其文件名称,修改文件(maskrcnn_benchmark/config/paths_catalog.py),例如我这边就将datasets改为了…/datasets
然后就正常运行:
python tools/train_net.py --config-file "configs/e2e_ms_rcnn_R_50_FPN_1x.yaml" SOLVER.IMS_PER_BATCH 2 SOLVER.base_LR 0.0025 SOLVER.MAX_ITER 720000 SOLVER.STEPS "(480000, 640000)" TEST.IMS_PER_BATCH 14、运行常见问题 4.1 error: 不存在instances_minival2014.json和instances_valminusminival2014.json
解决办法:paths_catalog.py 文件路径要对应你下载的这两个文件
4.2 error: RuntimeError: DataLoader worker (pid(s) 13952, 14260) exited unexpectedly解决办法:进程问题,可以修改maskrcnn_benchmark/config/default.py文件将NUM_WORKERS = 0
4.3 error: RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED报错原因:
可能是cuda,cudnn,python,torch等的版本不匹配(一定要是上面的环境,踩坑来着重说明)下载对应的版本信息,然后删除build 文件夹,重新去build一下
如果想跑的快一点,可以尝试修改(maskrcnn_benchmark/config/default.py)
NUM_CLASSES = 2 NUM_WORKERS = 0 _C.SOLVER.IMS_PER_BATCH = 2 _C.TEST.IMS_PER_BATCH = 1
更改configs/e2e_mask_rcnn_R_50_FPN_1x.yaml
base_LR: 0.002 MAX_ITER: 3000 (改小为了更快看结果)



