美文网首页
Faster R-CNN tensorflow版本

Faster R-CNN tensorflow版本

作者: myFamily329 | 来源:发表于2018-09-20 08:21 被阅读0次
    说明:本文主要记录,自己在跑取Faster R-CNN tensorflow版本中遇到的各种问题,以及对终端命令行的一些学习记录。

    Xinlei Chen的tensorflow版本的faster rcnn代码

    总结遇到问题

    1. 本机环境

    • ubuntu16.04
    • tensorflow 1.2.0(原版本为0.1.1r出现问题1)
    • python 2.7.5
    • CUDA 8.0.61
    • CUDNN 5.1.10

    2. 配置

    2.1 clone github仓库
    git clone https://github.com/endernewton/tf-faster-rcnn.git
    
    2.2 修改GPU architecture
    cd tf-faster-rcnn/lib
    # 修改 GPU architecture (找到setup.py中 '-arch' 改成自己对应的就可以)
    vim setup.py
    
    2.3 更改USE_GPU_NMS(位置:lib->model->config.py)
    更改USE_GPU_NMS
    2.4 构建Cython模块
    make clean
    make
    cd ..
    

    <font color=gray size=5>

    make 遇到问题

    问题一:

    from tensorflow.contrib.slim.python.slim.nets import resnet_v1
    ImportError: cannot import name resnet_v1
    

    这个问题在githup中提到:https://github.com/endernewton/tf-faster-rcnn/issues/224
    原本tensorflow版本为 0.1.1r 之后更新版本为1.2+就可以解决此问题啦。

    EnvironmentError: The CUDA lib64 path could not be located in /usr/lib64
    
    CUDA PATH

    解决方法,更改setup.py文件


    更改setup.py
    make clean
    make
    cd ..
    

    执行cd ..之后,跳转至文件根目录

    cd data
    git clone https://github.com/pdollar/coco.git
    cd coco/PythonAPI
    make
    cd ../../..
    

    现在数据百度网盘地址:。。。。
    下载的数据放在 data文件夹中,上一步运行之后,在根目录,因为需要解压数据文件,所以进入data目录

    #解压得到voc_2007_trainval+voc_2012_trainval文件夹
    tar xvf voc_0712_80k-110k.tgz
    

    仍在data目录问夹下运行

    NET=res101
    TRAIN_IMDB=voc_2007_trainval+voc_2012_trainval
    mkdir -p output/${NET}/${TRAIN_IMDB}
    cd output/${NET}/${TRAIN_IMDB}
    ln -s ../../../data/voc_2007_trainval+voc_2012_trainval ./default
    

    点击创建的default文件发现报错,如下图所示:


    软链接创建失败

    删除生成的default文件,更改第5句创建软链接的语句

    ln -s ../../../voc_2007_trainval+voc_2012_trainval ./default
    

    运行之后,生成default文件夹点击,可以看到链接到的四个模型文件。


    软链接文件夹
    补充说明,创建软连接的规则以及目的
    # 切换回根目录文件夹
    cd ../.../../..
    
    GPU_ID=0
    CUDA_VISIBLE_DEVICES=${GPU_ID} ./tools/demo.py
    

    运行之后出现错误:
    IOError: output/res101/voc_2007_trainval+voc_2012_trainval/default/res101_faster_rcnn_iter_110000.ckpt.meta not found.
    在出现此错误时,想到两种尝试解决的方法

      1. 更改tools/demo.py文件中涉及此文件路径的代码;
      1. 是不是软链接文件夹的问题,如果是的话,就直接使用解压后的文件夹里的模型文件。
        解决方法一:
    • 修改tools/demo.py文件。打印输出具体详细路径,是否存在/是否正确?
      tools/demo.py
      打印路径存在
      这时,我一时没有反映过来,问题是出在哪里,因为文件在相应路径是存在的,折腾了一段时间,突然意识到,我是在根目录运行,output文件夹是在data文件夹下的,所以最后更改tools/demo.py文件
      tfmodel = os.path.join('output', demonet,DATASETS[dataset][0], 'default',NETS[demonet][0])
      更改为:
      更改路径
      最后最后终于出来啦
      结果图show一下:
      结果图
      在第一种方法出来后,我想尝试一下第二种想法是否可行,所以我仍要修改tools/demo.py文件(即使用解压文件夹中的内容)
      解压文件夹
    补充说明:关于faster rcnn的讲解看了很多博客,以及资源,下面即为觉得真的很赞的,以及自己参考学习的文章。

    相关文章

      网友评论

          本文标题:Faster R-CNN tensorflow版本

          本文链接:https://www.haomeiwen.com/subject/togbnftx.html