Tensorflow上运行MaskRCNN

源码地址:https://github.com/CharlesShang/FastMaskRCNN

实验环境:Linux + cuda8.0 + cudnnv5.1 + python2.7

步骤按照文档来,不再赘述。中间遇到了一些问题,这里做一下记录。解决过程中参考了repo issue及以下资料:

https://blog.csdn.net/linolzhang/article/details/70306708

https://blog.csdn.net/u013735511/article/details/78710008

 

1、对coco数据集进行转换时,采用coco2017的数据集,而作者提供的data convert的代码是coco2014的,直接使用会出现一些问题,需要进行修改。先修改数据集名称,然后将原代码中的这一行:

split = img_name.split('_')[1]

替换为:

img_url = imgs[i][1]['coco_url']
split = img_url.split('/')[3]

问题解决。处理过程较慢,花了几个小时。

2、训练中报错:InternalError (see above for traceback): WhereOp: Could not launch cub::DeviceReduce::Sum to count number of true indices. temp_storage_bytes: 1, status: invalid device function

查找资料后发现是tf版本较高的原因,根据其他人的情况采用tf1.1+cudnn5.1可以训练。但是这里不想直接进行降级,因此采用建立python虚拟环境的方法。网上教程给出的是conda下建立虚拟环境,由于没有安装anaconda,因此采用native python中的virtualenv工具来建立虚拟环境。

按以上参考链接二所示在新建立的虚拟环境中依次安装tensorflow-1.1,opencv-python和scikit-image(PIL可以跳过)然后重新运行。这时遇到新的错误:Loaded runtime CuDNN library,即缺少对应的CuDNN库。从https://developer.nvidia.com/上边下载对应自己cuda版本的cudnn库(需要先注册),然后安装,方法见https://blog.csdn.net/lucifer_zzq/article/details/76675239

此时再次运行,顺利启动训练。

 

这个库目前只支持batchsize=1,训练时单卡的情况下3h可以跑10k左右,收敛的话至少要几天了。

由于这个repo现在已经停止维护了,后续转向了另一个tensorflow和Keras的MaskRCNN版本,见博客https://blog.csdn.net/BockSong/article/details/82774744

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值