faster r |
您所在的位置:网站首页 › pycharm测试网络速度代码 › faster r |
faster r-cnn(tensorflow版本)训练VOC数据集、测试、检测指南
使用的faster r-cnn代码github地址 https://github.com/endernewton/tf-faster-rcnn git下载: git clone https://github.com/endernewton/tf-faster-rcnn.git 1.准备工作首先根据自己的显卡调整默认计算能力,打开/lib/setup.py文件,第130行的'-arch=sm_52'改变成你自己显卡的计算能力值 比如本文使用的显卡是gtx1080ti,就改成'-arch=sm_61' 具体计算能力从如下地址查找 https://blog.csdn.net/huixingshao/article/details/82215703 之后进行编译,依次执行 cd tf-faster-rcnn/lib make clean make cd .. 2.训练VOC数据集将下载好的VOC数据集放在/data文件夹下面 /data/VOCdevkit2007/VOC2007/ 里面放入三个文件 如若自己创建的数据集,也可以建立软连接的形式 使用命令 ln -s 自建创建的数据集地址 VOCdevkit2007 例如 ln -s /home/omnisky/DATASET/自建数据集/VOCdevkit2007 VOCdevkit2007下载预训练好的vgg16权重,依次执行 mkdir -p data/imagenet_weights cd data/imagenet_weights wget -v http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz tar -xzvf vgg_16_2016_08_28.tar.gz mv vgg_16.ckpt vgg16.ckpt cd ../.. 这时候下载好的vgg16预训练权重就存放在data/imagenet_weights文件夹中 如若下载不下来,请在百度网盘中下载,地址 https://pan.baidu.com/s/1dHW8-My1shD36Phsd9YMFg 分享码:gk10 如若你使用的是自己创建的VOC数据集,还需更改以下几个东西: 打开/lib/datasets/pascal_voc.py文件 将数据集类别名称改成你自己的 self._classes = ('__background__', # always index 0 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor') 其中'__background__',作为第一个不能删除 如若想修改一些参数配置,可打开/data/model/config.py文件 若想修改训练或者测试时的迭代次数,打开/experiments/scripts//experiments/train_faster_rcnn.sh或者test_faster_rcnn.sh文件, 其中的 pascal_voc) TRAIN_IMDB="voc_2007_trainval" TEST_IMDB="voc_2007_test" STEPSIZE="[50000]" ITERS=70000 ANCHORS="[8,16,32]" RATIOS="[0.5,1,2]" 红色的数字是迭代次数,修改成你想要的,根据自己创建的数据集大小更改 如果,你已经训练过一次,在训练的话,需要删除以下几个文件才能进行下一次训练 清空/output/vgg16文件夹中的内容 清空/data/cache文件夹中的内容 最后执行命令进行训练 ./experiments/scripts/train_faster_rcnn.sh 0 pascal_voc vgg16 3.测试训练完成后程序会自动的测试,但如果你不小心关闭或者出了一些问题不需要担心,以下方法可以再次进行测试 首先根据/out/vgg16/voc_2007_trainval文件中的不同迭代次数的权重选择你要测试使用的权重, 在/experiments/scripts//experiments/test_faster_rcnn.sh文件中更改 其中的 pascal_voc) TRAIN_IMDB="voc_2007_trainval" TEST_IMDB="voc_2007_test" STEPSIZE="[50000]" ITERS=70000 ANCHORS="[8,16,32]" RATIOS="[0.5,1,2]" 红色的数字是迭代次数,修改成你想要的 之后执行命令进行测试 ./experiments/scripts/test_faster_rcnn.sh 0 pascal_voc vgg16 4.检测如若想要检测出图片的话,需要执行/tools/demo.py文件 需要在demo.py文件中做出以下的更改 修改数据集类别名称 CLASSES = ('__background__', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor')其中第一类别'__background__',不能删除
修改数据集类别数量,在第141行 net.create_architecture("TEST", 21,tag='default', anchor_scales=[8, 16, 32]) 其中红字是需要修改的,注意要算上'__background__'这一个类别,所以要在你自己数据集的总类别数上加1 修改需要测试的图片名称 在148行,将你要检测的图片名称加入im_names中 且将你要检测的图片放入/data/demo文件夹中
如若遇到tensorflow版本导致训练后的权重保存格式问题,可修改第120行的tfmodel 改成 tfmodel = os.path.join('/home/omnisky/project/tf-faster-rcnn/output/vgg16/voc_2007_trainval/default/vgg16_faster_rcnn_iter_70000.ckpt')最后执行命令 python /tools/demo.py 5.批量检测将其中的148行的im_names = [……]删除,更改为下面的代码即可 test_image_path = '检测图片存储的位置' im_names = os.listdir(test_image_path)最后执行命令 python /tools/demo.py |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |