Mask Scoring R-CNN——源码运行踩坑

阿里云2000元红包!本站用户参与享受九折优惠!

运行环境:RTX2080+CUDA9+torch1.0+torchvision0.2


1、配置coco格式数据集
2、更改default参数:
-NUM_CLASSES = 2
-NUM_WORKERS = 0
3、更改paths_catalog参数:
-DATA_DIR = “../datasets”
4、更改configs/e2e_mask_rcnn_R_50_FPN_1x.yaml
-BASE_LR: 0.002
-MAX_ITER: 3000 (改小为了更快看结果)
5、执行python setup.py build develop
6、执行python tools/train_net.py –config-file “configs/e2e_mask_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 1


RuntimeError: DataLoader worker (pid(s) 13952, 14260) exited unexpectedly

num_workers=0


symbol lookup error: undefined symbol:PySlice_Unpack

python==3.6.0和torch==1.0版本不合,将python换成3.6.2, CUDA 9,


THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=405 error=11 : invalid argument

如题,原因是显卡用的RTX 2080Ti,CUDA就要装10以上,这个时候pytorch不能直接用pip装,要这样:

pip install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-linux_x86_64.whl

Loss = nan Loss发散

1、GPU的arch设置的不对

打开./lib/setup.py文件,找到第130行,将gpu的arch设置成与自己电脑相匹配的算力,这里举个例子,如果你用的是GTX1080,那么你的算力就是6.1,此时就需要将-arch=sm_52改成-arch=sm_61。
可以在这个网站里查看到自己gpu的算力
https://developer.nvidia.com/cuda-gpus
2、自己制作了VOC或者coco数据集格式

如果你自己制作了voc pascal或者coco数据集格式,那么你需要注意,看看是否有类似下面的报错

RuntimeWarning: invalid value encountered in log targets_dw = np.log(gt_widths / ex_widths)

这种报错说明数据集的数据有一些问题,多出现在没有控制好边界的情况,首先,打开lib/database/pascal_voc.py文件,找到208行,将208行至211行每一行后面的-1删除,如下所示:

x1 = float(bbox.find(‘xmin’).text)
y1 = float(bbox.find(‘ymin’).text)
x2 = float(bbox.find(‘xmax’).text)
y2 = float(bbox.find(‘ymax’).text)
原因是因为我们制作的xml文件中有些框的坐标是从左上角开始的,也就是(0,0)如果再减一就会出现log(-1)的情况

如果这样之后还是出现类似的报错,那么说明依然有-1或者其他负数的情况出现。解决方法是打开./lib/model/config.py文件,找到flipp选项,将其置为False
__C.TRAIN.USE_FLIPPED = False

如果这样以后还是报类似的错误,就一定检查一下自己制作数据集的过程,看看是否哪里没有考虑清楚。
3、偏方:修改学习率

我将学习率调小,即可


iteration问题,局部变量不存在

是因为之前训练中断,缓存没有释放,导致第二次训练时,iteration的值是上一次缓存的,没有执行for循环中的北荣,导致出错,直接将生成的models文件夹删除即可,如果完整的训练完,再次训练则不会出现这样的错误,应该有缓存释放的操作


[debug]THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=405 error=11 : invalid argume(没试)

显卡用的最新的RTX2080,pytorch的安装不能直接pip install ,需要从源码编译或者下载wheel安装pt.

pip install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-linux_x86_64.whl

至此,将源码跑通,具体细节后续实现

https://www.jianshu.com/p/22385f99fb17

Python量化投资网携手4326手游为资深游戏玩家推荐:《【阴阳师】浅析不知火体系

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
pandas
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论