zoukankan      html  css  js  c++  java
  • Faster-rcnn 配置方法

    Faster-rcnn 在Linux下的配置方法

    感谢@邓学长

    建立过程:

    (下载库的时候要按照库readme 进行操作)

    在py3.5下安装

    • 安装anaconda(可以考虑改一下源,下载比较快,用命令改conda)清华镜像源

    • 下载另一个库Faster-RCNN_TF

    • 创建科学计算环境
      numpy,人工智能需要的库都下载下来,cython等等

    • conda install --channel 命令给电脑安装科学计算环境

    • 如果报错中出现SyntaxError,那可能就是Python版本导致的不兼容,改一下相应的部分

    • 把Faster-RCNN_TF 中的cython_bbox.xxx.so 复制到 lib/utils

    • 到Faster-RCNN-TensorFlow-python3.5下中的lib/datasets中修改pascal_voc 文件中的内容,具体查看博客

    • 运行 python train.py,跑完以后再跑demo.py

    • 数据集制作

    下面是适用于我本地环境的MATLAB代码

    %注意修改下面四个值  
    xmlfilepath='/home/pprp/github/Faster-RCNN-TensorFlow-Python3.5/data/VOC2007/Annotations';  
    txtsavepath='/home/pprp/github/Faster-RCNN-TensorFlow-Python3.5/data/VOC2007/ImageSets/Main';  
    trainval_percent=0.5; #trainval占整个数据集的百分比,剩下部分就是test所占百分比  
    train_percent=0.5; #train占trainval的百分比,剩下部分就是val所占百分比  
    
    xmlfile=dir(xmlfilepath);  
    numOfxml=length(xmlfile)-2;#减去.和..  总的数据集大小  
    
    trainval=sort(randperm(numOfxml,floor(numOfxml*trainval_percent)));  
    test=sort(setdiff(1:numOfxml,trainval));  
    
    trainvalsize=length(trainval); #trainval的大小  
    train=sort(trainval(randperm(trainvalsize,floor(trainvalsize*train_percent))));  
    val=sort(setdiff(trainval,train));  
    
    ftrainval=fopen([txtsavepath 'trainval.txt'],'w');  
    ftest=fopen([txtsavepath 'test.txt'],'w');  
    ftrain=fopen([txtsavepath 'train.txt'],'w');  
    fval=fopen([txtsavepath 'val.txt'],'w');  
    
    for i=1:numOfxml  
        if ismember(i,trainval)  
            fprintf(ftrainval,'%s
    ',xmlfile(i+2).name(1:end-4));  
            if ismember(i,train)  
                fprintf(ftrain,'%s
    ',xmlfile(i+2).name(1:end-4));  
            else  
                fprintf(fval,'%s
    ',xmlfile(i+2).name(1:end-4));  
            end  
        else  
            fprintf(ftest,'%s
    ',xmlfile(i+2).name(1:end-4));  
        end  
    end  
    fclose(ftrainval);  
    fclose(ftrain);  
    fclose(fval);  
    fclose(ftest);
    
    • 可能过程中还是会报错,只要百度一下就应该可以解决

    • 数据的放置结构(这个困惑了我好久)

    -data
        - VOCdevkit2007
            - VOC2007
                - Annotations (标签XML文件,用对应的图片处理工具人工生成的)
                - ImageSets (生成的方法是用sh或者MATLAB语言生成)
                    - Main
                        - test.txt
                        - trian.txt
                        - trainval.txt
                        - val.txt
                - JPEGImages(原始文件)
    
  • 相关阅读:
    关于ASPack 2.12加壳软件的脱壳方法[图文]
    OllyDbg快捷键记录帖
    C console编程
    用着VC++ Debug 理解汇编与C语言的对应关系
    赵青-《剑侠情缘网络版》开发回顾
    VC++ 预定义常量
    oracle分区自动创建
    清理oracle lobsegment
    libXext.so.6: cannot open shared object file: No such file or directory
    Oracle 杀死锁进程
  • 原文地址:https://www.cnblogs.com/pprp/p/8732490.html
Copyright © 2011-2022 走看看