如何才能将py faster rcnn 训练-CNN训练起来

您还可以使用以下方式登录
当前位置:&>&&>&&>& > 使用自己的数据集训练faster-rcnn
faster rcnn 数据集 使用自己的数据集训练faster-rcnn
在安装完成caffe后,并且编译完成github上的faster-rcnn python版之后,可以采用自己的数据来训练faster-rcnn了。一,文件修改:1,在py-faster-rcnn目录下,找到lib/datasets/pascal_voc.py 文件打开逐一修改相应的函数:如果打算添加中文注释请,在文件开图添加#encoding:utf-8,不然会报错。以下为修改的细节:1)、初始化函数init的修改,同时修改类名:class hs(imdb):
def __init__(self, image_set, devkit_path=None):
# modified
imdb.__init__(self, image_set)
self._image_set = image_set
self._devkit_path = devkit_path#datasets路径
self._data_path = os.path.join(self._devkit_path,image_set)
#图片文件夹路径
self._classes = ('__background__', # always index 0
'jyz','fzc','qnq')
#two classes
self._class_to_ind = dict(zip(self.classes, xrange(self.num_classes)))
# form the dict{'__background__':'0','person':'1'}
self._image_ext = '.jpg'
self._image_index = self._load_image_set_index('ImageList.txt')
# Default to roidb handler
self._roidb_handler = self.selective_search_roidb
self._salt = str(uuid.uuid4())
self._comp_id = 'comp4'
# PASCAL specific config options
self.config = {'cleanup'
'use_salt'
'use_diff'
'matlab_eval' : False,
'rpn_file'
'min_size'
#小于16个像素的框扔掉
assert os.path.exists(self._devkit_path), \
'VOCdevkit path does not exist: {}'.format(self._devkit_path)
assert os.path.exists(self._data_path), \
'Path does not exist: {}'.format(self._data_path)2)修改image_path_from_index函数的修改:def image_path_from_index(self, index): #modified
Construct an image path from the image's &index& identifier.
image_path = os.path.join(self._data_path,index +'.jpg')
assert os.path.exists(image_path), \
'Path does not exist: {}'.format(image_path)
return image_path3)修改_load_image_set_index函数:def _load_image_set_index(self,imagelist): # modified
Load the indexes listed in this dataset's image set file.
# Example path to image set file:
# self._devkit_path + /VOCdevkit2007/VOC2007/ImageSets/Main/val.txt
image_set_file = os.path.join(self._devkit_path, imagelist)
assert os.path.exists(image_set_file), \
'Path does not exist: {}'.format(image_set_file)
with open(image_set_file) as f:
image_index = [x.strip() for x in f.readlines()]
return image_index4)修改_load_pascal_annotation(self, index):def _load_pascal_annotation(self, index):
Load image and bounding boxes info from XML file in the PASCAL VOC
filename = os.path.join(self._devkit_path, 'Annotations', index + '.xml')
tree = ET.parse(filename)
objs = tree.findall('object')
if not self.config['use_diff']:
# Exclude the samples labeled as difficult
non_diff_objs = [
obj for obj in objs if int(obj.find('difficult').text) == 0]
# if len(non_diff_objs) != len(objs):
print 'Removed {} difficult objects'.format(
len(objs) - len(non_diff_objs))
objs = non_diff_objs
num_objs = len(objs)
boxes = np.zeros((num_objs, 4), dtype=np.uint16)
gt_classes = np.zeros((num_objs), dtype=np.int32)
overlaps = np.zeros((num_objs, self.num_classes), dtype=np.float32)
# &Seg& area for pascal is just the box area
seg_areas = np.zeros((num_objs), dtype=np.float32)
# Load object bounding boxes into a data frame.
for ix, obj in enumerate(objs):
bbox = obj.find('bndbox')
# Make pixel indexes 0-based
x1 = float(bbox.find('xmin').text)
y1 = float(bbox.find('ymin').text)
x2 = float(bbox.find('xmax').text)
y2 = float(bbox.find('ymax').text)
cls = self._class_to_ind[obj.find('name').text.lower().strip()]
boxes[ix, :] = [x1, y1, x2, y2]
gt_classes[ix] = cls
overlaps[ix, cls] = 1.0
seg_areas[ix] = (x2 - x1 + 1) * (y2 - y1 + 1)
overlaps = scipy.sparse.csr_matrix(overlaps)
return {'boxes' : boxes,
'gt_classes': gt_classes,
'gt_overlaps' : overlaps,
'flipped' : False,
'seg_areas' : seg_areas}5)main下面修改相应的路径:if __name__ == '__main__':
from datasets.hs import hs
d = hs('hs', '/home/panyiming/py-faster-rcnn/lib/datasets')
res = d.roidb
from IP embed()2,在py-faster-rcnn目录下,找到lib/datasets/factory.py 并修改,修改后的文件如下:# --------------------------------------------------------# Fast R-CNN# Copyright (c) 2015 Microsoft# Licensed under The MIT License [see LICENSE for details]# Written by Ross Girshick# --------------------------------------------------------&&&Factory method for easily getting imdbs by name.&&&__sets = {}from datasets.hs import hsimport numpy as np# # Set up voc__ using selective search &fast& mode# for year in ['2007', '2012']:#
for split in ['train', 'val', 'trainval', 'test']:#
name = 'voc_{}_{}'.format(year, split)#
__sets[name] = (lambda split=split, year=year: pascal_voc(split, year))## # Set up coco_2014_# for year in ['2014']:#
for split in ['train', 'val', 'minival', 'valminusminival']:#
name = 'coco_{}_{}'.format(year, split)#
__sets[name] = (lambda split=split, year=year: coco(split, year))## # Set up coco_2015_# for year in ['2015']:#
for split in ['test', 'test-dev']:#
name = 'coco_{}_{}'.format(year, split)#
__sets[name] = (lambda split=split, year=year: coco(split, year))name = 'hs'devkit = '/home/panyiming/py-faster-rcnn/lib/datasets'__sets['hs'] = (lambda name = name,devkit = devkit: hs(name,devkit))def get_imdb(name):
&&&Get an imdb (image database) by name.&&&
if not __sets.has_key(name):
raise KeyError('Unknown dataset: {}'.format(name))
return __sets[name]()def list_imdbs():
&&&List all registered imdbs.&&&
return __sets.keys()二、模型的选择、训练以及测试:1.预训练模型介绍在github官网上的py-faster-rcnn的编译安装教程中有一步如下:cd $FRCN_ROOT./data/scripts/fetch_faster_rcnn_models.sh执行完成之后会在/data/scripts下产生压缩文件faster_rcnn_models.tgz,解压得到faster_rcnn_model文件夹,faster_rcnn_model文件夹下面是作者用faster rcnn训练好的三个网络,分别对应着小、中、大型网络,大家可以试用一下这几个网络,看一些检测效果,他们训练都迭代了80000次,数据集都是pascal_voc的数据集。可以通过执行如下命令下载Imagenet上训练好的通用模型:cd $FRCN_ROOT./data/scripts/fetch_imagenet_models.sh执行完成之后会在/data/scripts下产生压缩文件imagenet_models.tgz,解压得到imagenet_models文件夹,imagenet_model文件夹下面是在Imagenet上训练好的通用模型,在这里用来初始化网络的参数.2.修改模型文件配置模型文件在models下面对应的网络文件夹下,在这里我用中型网络的配置文件修改为例子比如:我的检测目标物是3类 ,那么我的类别就有两个类别即 background 和 3类目标因此,首先打开网络的模型文件夹,打开train.prototxt修改的地方重要有三个分别是个地方首先在data层把num_classes 从原来的21类 20类+背景 ,改成 4类 3类目标+背景接在在cls_score层把num_output 从原来的21 改成 4RoI Proposal下有个名为name: 'roi-data'的层,将其num_classes修改为4在bbox_pred层把num_output 从原来的84 改成16, 为检测类别个数乘以4,如果你要进一步修改网络训练中的学习速率,步长,gamma值,以及输出模型的名字,需要在同目录下的solver.prototxt中修改。3.启动Fast RCNN网络训练python ./tools/train_net.py --gpu 1 --solver models/hs/faster_rcnn_end2end/solver.prototxt --weights data/imagenet_models/VGG_CNN_M_1024.v2.caffemodel --imdb hs --iters 80000 --cfg experiments/cfgs/faster_rcnn_end2end.yml命令解析:1)、train_net.py是网络的训练文件,之后的参数都是附带的输入参数。3)、&gpu 代表机器上的GPU编号,如果是nvidia系列的tesla显卡,可以在终端中输入nvidia-smi来查看当前的显卡负荷,选择合适的显卡。4)、&solver 代表模型的配置文件,train.prototxt的文件路径已经包含在这个文件之中。5)、-weights 代表初始化的权重文件,这里用的是Imagenet上预训练好的模型,中型的网络我们选择用VGG_CNN_M_1024.v2.caffemodel,此步可以省略,省略后会自动初始化。6)、&imdb 这里给出的训练的数据库名字需要在factory.py的_sets中,我在文件里面有。_sets[&hs&],train_net.py这个文件会调用factory.py再生成hs这个类,来读取数据。4.启动Fast RCNN网络检测可以参考tools下面的demo.py 文件,来做检测,并且将检测的坐标结果输出到相应的txt文件中。就爱阅读网友整理上传,为您提供最全的知识大全,期待您的分享,转载请注明出处。
欢迎转载:
推荐:    1501人阅读
Linux系统(37)
深度学习(57)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 跑个demo累的半死
前后不同时间不同电脑跑了三次,所有问题应该都碰到过了。
Faster R-CNN教程
本教程主要基于python版本的,因为python layer的使用,这个版本会比的版本速度慢10%,但是准确率应该是差不多的。
目前已经实现的有两种方式:
Alternative trainingApproximate joint training
推荐使用第二种,因为第二种使用的显存更小,而且训练会更快,同时准确率差不多甚至略高一点。
配置环境安装步骤Demo建立自己的数据集训练和检测
1配置python layers
WITH_PYTHON_LAYER := 1
USE_CUDNN := 1
2安装几个依赖cython, python-opencv, easydict
sudo apt-get install python-opencv
sudo pip install cython easydict
& 注:有时候不能加sudo, 多试
git clone --recursive https:
2编译Cython模块
cd $FRCN_ROOT/lib
3编译caffe和pycaffe
cd $FRCN_ROOT/caffe-fast-rcnn
make -j8 && make pycaffe
安装步骤完成后,就可以运行一下demo了。
cd $FRCN_ROOT
./tools/demo.py
&注:有时候报错:permission denied
如果sudo不行,用下面一句:
&chmod 777 ./tools/demo.py
&&& 这是执行以上步骤遇到的其中两个问题百度到的解决方案,python-yaml 安装,我的unbuntu14.04直接用
sudo apt-get install python-yaml,如图:
问题二:显卡不行
将demo.py 的net 改为default=ZF((不对!!!是小写zf!!!细心!!)
<span style="font-size:24 color:#ff.11.02 第二次跑多出现几个错误 折腾!!!:
ImportError:can not find module skimage.io
ImportError: No module named google.protobuf
此时只要按照以下命令操作即可:
$ sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags
Cython ipython
pip install protobuf
在caffe-master目录下:
$ make pycaffe
cd $FRCN_ROOT
./tools/demo.py
报错:permission denied
方法一:chmod a&#43;x tools/demo.py
方法二:&& python ./tools/demo.py
方法二解决问题,但是有新的错误:
&& from nms.cpu_nms import cpu_nms
ImportError: /media/jing/000A9C/py-faster-rcnn/tools/../lib/nms/cpu_nms.so: undefined symbol: PyFPE_jbuf
在博客/justinzhang/p/5386837.html找到解决方法:在根目录下的lib/fast_rcnn里找到nms_wrapper.py:注释一句话from nms.cpu_nms import cpu_nms,如图:
& python ./tools/demo.py
大功告成:
第二次换了图片:
我的安装主要参考以下三个博客:
/wangxiaocvpr/p/5717018.html
/CarryPotMan/p/5390336.html
http://blog.csdn.net/helloeveryon/article/details/
我跑的结果::
一直纠结这么犀利的cnn怎么会有误报?可能模型不够好,
解决方法:
将cudnn 打开, 可以恢复 default= vgg16 这样误报没啦!!!cudnn配置见
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:91077次
积分:2069
积分:2069
排名:第16925名
原创:105篇
转载:79篇
评论:33条
(2)(5)(15)(14)(11)(14)(54)(51)(21)使用Faster R-CNN训练自己的数据_C/C++教程_动态网站制作指南
使用Faster R-CNN训练自己的数据
来源:人气:375
1. 主要步骤
VOC2007格式数据集制作
训练集均值文件计算
faster r-cnn修改
2. VOC2007格式数据集制作
1. 修改VOCinit.m
(1) 数据集名称
第12行VOC2007改为自己的文件夹名称
VOCopts.dataset='your folder name'
(2) 修改图片格式
第37行中的jpg换成自己的图片格式
VOCopts.imgpath=[VOCopts.datadir VOCopts.dataset '/JPEGImages/%s.jpg'];
(3) 修改标签名称
第81行之后的类别名称换成自己数据集的类别名称
VOCopts.classes={...
3. 文件目录
按照下图添加文件夹,其中的NWPU_VHR-10改为自己的数据集名称。
3. 格式的annotation文件
4. 数据集划分
在/NWPU_VHR-10/ImageSets/Main文件夹下创建test.txt、train.txt、trainval.txt、val.txt四个文件,分别保存测试集、训练集、训练集-验证集合验证集。每个文件名占一行,不包含后缀名。
2. 计算图片数据的均值
windows下计算图片数据均值使用的工具和命令与下的相同。可参照@denny402的博客–计算图片数据的均值。工具生成的格式是binaryoto格式的文件,MATLAB中使用的是mat格式文件,使用caffe.io.read_mean进行格式转换。
image_mean = caffe.io.read_mean('path to mean file');
save('path to save','image_mean');
4. 网络选择与参数修改
对于ZF网络,训练Fast R-CNN需要至少3G现存,根据自己的硬件配置,选择合适的网络,然后对网络参数进行修改。
1. models\ fast_rcnn_prototxts\ZF\ train_val.prototxt
input: "bbox_targets"
input_dim: 1
# to be changed on-the-fly to match num ROIs
input_dim: 84 # 根据类别数改,该值为(类别数+1)*4
input_dim: 1
input_dim: 1
input: "bbox_loss_weights"
input_dim: 1
# to be changed on-the-fly to match num ROIs
input_dim: 84 # 根据类别数改,该值为(类别数+1)*4
input_dim: 1
input_dim: 1
bottom: "fc7"
top: "cls_score"
name: "cls_score"
lr_mult: 1.0
lr_mult: 2.0
type: "InnerProduct"
inner_product_param {
num_output: 21 #根据类别数改该值为类别数+1
weight_filler {
type: "gaussian"
bias_filler {
type: "constant"
bottom: "fc7"
top: "bbox_pred"
name: "bbox_pred"
type: "InnerProduct"
lr_mult: 1.0
lr_mult: 2.0
inner_product_param {
num_output: 84 # 根据类别数改,该值为(类别数+1)*4
weight_filler {
type: "gaussian"
std: 0.001
bias_filler {
type: "constant"
2. models\ fast_rcnn_prototxts\ZF\ test.prototxt
bottom: "fc7"
top: "cls_score"
name: "cls_score"
lr_mult: 1.0
lr_mult: 2.0
type: "InnerProduct"
inner_product_param {
num_output: 21 #根据类别数改该值为类别数+1
weight_filler {
type: "gaussian"
bias_filler {
type: "constant"
bottom: "fc7"
top: "bbox_pred"
name: "bbox_pred"
type: "InnerProduct"
lr_mult: 1.0
lr_mult: 2.0
inner_product_param {
num_output: 84 # 根据类别数改,该值为(类别数+1)*4
weight_filler {
type: "gaussian"
std: 0.001
bias_filler {
type: "constant"
3. 其他文件
models\ fast_rcnn_prototxts\ZF6\ train_val.prototxt与models\ fast_rcnn_prototxts\ZF\ train_val.prototxt修改的地方相同。
models\ fast_rcnn_prototxts\ZF6\ test.prototxt与 models\ fast_rcnn_prototxts\ZF\ test.prototxt修改的地方相同
5. faster r-cnn源码修改
1. function\fast_rcnn\fast_rcnn_train.m
.addParamValue('val_iters',
@isscalar);
val_iters的默认值设置为验证样本数的1/5左右,最大不能超过验证样本数。
2. function\rpn\proposal_train.m
与fast_rcnn_train.m相同,修改val_iters值。
imdb\imdb_eval_voc.m
%do_eval = (str2num(year) &= 2007) | ~strcmp(test_set,'test');
%添加下面语句
do_eval = 1;
如果不修改,测试时精度全为0。
4. experiments+Model\ZF_for_Faster_RCNN_VOC2007.m
在该文件中修改faster-rcnn各阶段训练时的参数
运行experiments/script_faster_rcnn_VOC2007_ZF.m。运行结束后根据提示修改detection_test.prototxt
优质网站模板【faster-rcnn】训练自己的数据集时的坑
【faster-rcnn】训练自己的数据集时的坑
发布时间: 4:55:49
编辑:www.fx114.net
本篇文章主要介绍了"【faster-rcnn】训练自己的数据集时的坑 ",主要涉及到【faster-rcnn】训练自己的数据集时的坑 方面的内容,对于【faster-rcnn】训练自己的数据集时的坑 感兴趣的同学可以参考一下。
既然faster-rcnn原版发表时候是matlab版代码,那就用matlab版代码吧!不过遇到的坑挺多的,不知道python版会不会好一点。======= update =========总体上包括这些步骤,请注意检查:获取数据;(标准数据集/比赛数据/自行收集数据)整理图片名和标注信息格式、指定训练集和测试集;(转voc格式,同时记得修改vocinit.m中类别信息;或者自己修改代码中读取数据的地方)计算均值;(务必重视!)选择网络与设定网络参数(solver和net);(根据业务需求和显存大小设定;修改网络中目标类别数量)检查batch_size;检查anchor;清空cache目录;开始训练;确保电脑供电且不会休眠睡眠;执行测试;整理测试结果======= update =========anyway,这里记录一下我遇到的几个坑这里假设你已经配置好了faster-rcnn。我是在win10下配置的,显卡GTX 970,使用ZF网络。0. 准备数据集官方训练时用的是voc2007系列数据,那就转换成这个系列的好了,主要包括:0.下载数据集 1.整理图片 2.xml格式的annotation文件 3.txt格式指定训练集、测试集、验证集、训练验证集,以及每个类别各自的这四种文件0.0 下载数据集看具体情况,比如做某个比赛,那就下载;如果是自己收集的数据集,那就统一放到一起0.1 整理图片主要是图片格式统一,比如都是png以及,命名规范,比如统一是6位长度的数字:000001.png,并且序号是连续的训练图片和测试图片都放在一个JPEGImages目录里0.2 xml格式的annotation文件其实voc2007这种方式:为每张图片编写一个xml文件,记录图片各种元信息(作者、文件名、宽度高度深度、来源),以及bounding box坐标信息(左上、右下定点)等,很蛋疼啊,图片多的话每次处理xml文件读写I/O就增大了。anyway,遵守标准的好处是省的自己造各种工具。这里贴一个例子好了,000001.xml:&annotation&
&folder&VOC2007&/folder&
&filename&000001.png&/filename&
&database&My Database&/database&
&annotation&VOC2007&/annotation&
&image&flickr&/image&
&flickrid&NULL&/flickrid&
&flickrid&NULL&/flickrid&
&name&chriszz&/name&
&width&1280&/width&
&height&720&/height&
&depth&3&/depth&
&segmented&0&/segmented&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&369&/xmin&
&ymin&403&/ymin&
&xmax&409&/xmax&
&ymax&418&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&434&/xmin&
&ymin&375&/ymin&
&xmax&443&/xmax&
&ymax&401&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&461&/xmin&
&ymin&368&/ymin&
&xmax&471&/xmax&
&ymax&395&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&571&/xmin&
&ymin&473&/ymin&
&xmax&593&/xmax&
&ymax&490&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&674&/xmin&
&ymin&470&/ymin&
&xmax&683&/xmax&
&ymax&478&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&693&/xmin&
&ymin&471&/ymin&
&xmax&714&/xmax&
&ymax&480&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&976&/xmin&
&ymin&413&/ymin&
&xmax&998&/xmax&
&ymax&438&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&1004&/xmin&
&ymin&396&/ymin&
&xmax&1011&/xmax&
&ymax&410&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&1024&/xmin&
&ymin&388&/ymin&
&xmax&1031&/xmax&
&ymax&405&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&1046&/xmin&
&ymin&388&/ymin&
&xmax&1071&/xmax&
&ymax&406&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&1114&/xmin&
&ymin&390&/ymin&
&xmax&1143&/xmax&
&ymax&410&/ymax&
&name&sign&/name&
&pose&Unspecified&/pose&
&truncated&0&/truncated&
&difficult&0&/difficult&
&xmin&913&/xmin&
&ymin&431&/ymin&
&xmax&928&/xmax&
&ymax&458&/ymax&
&/object&&/annotation&记得所有xml文件的文件名要和图片序号一一对应:000001.xml对应000001.png并且,所有xml文件放到Annotations目录中0.3 txt文件指定训练集、测试集等在ImageSets/Main目录下保存这些文件。比如我的任务是检测交通标识,只有一个类别需要检测,或者说是二分类问题,只需要判断一个bbox区域是否为交通标识(sign),那么我创建sign对应的4个文件;以及4个表示总体的训练、验证、训练验证、测试的txt文件:其中,sign_train、sign_test、sign_trainval、sign_val每行格式相同图片id(不带后缀,不用全路径) +1或-1(表示这张图片中是否包含sign类别的区域)对于我的情况,类别标签都是+1然后是train、val、trainval、test文件,其中trainval是train和val的拼接。这里我是需要1 修改faster-rcnn的几个代码细节1.0 experiments\script_faster_rcnn_VOC2007_ZF.m第30、31行这里默认居然是用select search生成region proposal,我也是醉了。改成:dataset
= Dataset.voc2007_trainval(dataset, &#39;train&#39;, use_flipped);dataset
= Dataset.voc2007_test(dataset, &#39;test&#39;, false);1.1 experiments\+Dataset\voc2007_test.m第11行、第14行,test改成val这个真的是太坑了,在这里我卡了大半天。为什么会卡在这个地方,然后程序一直运行出错呢?以及,程序出错大概如下:错误使用 proposal_prepare_image_roidb&scale_rois (line 110) 两个输入数组的单一维度必须相互匹配,...设断点debug后发现,roidb_train里各种字段都有值(比如gt、坐标、阈值、类别等);而roidb_val里面是空的。实际上是在experiments\+Faster_RCNN_Train\do_proposal_train.m里面,把dataset.roidb_test赋值给roidb_val了:function model_stage = do_proposal_train(conf, dataset, model_stage, do_val)
if ~do_val
dataset.imdb_test = struct();
dataset.roidb_test = struct();
model_stage.output_model_file = proposal_train(conf, dataset.imdb_train, dataset.roidb_train, ...
&#39;do_val&#39;,
do_val, ...
&#39;imdb_val&#39;,
dataset.imdb_test, ...
&#39;roidb_val&#39;,
dataset.roidb_test, ...
# 尼玛,在这里赋值了
&#39;solver_def_file&#39;,
model_stage.solver_def_file, ...
&#39;net_file&#39;,
model_stage.init_net_file, ...
&#39;cache_name&#39;,
model_stage.cache_name);end问题就是在这里了,不多说。那么接下来就是把experiments\+Dataset\voc2007_test.m第11行、第14行,test改成val,保证以后在imdb\cache目录下有val的mat数据存在,roidb_val也不会说里面内容都为空的了。2 修改网络参数看到下面这张图应该知道要改那几个文件了:具体可以参考小咸鱼的faster-rcnn matlab版的配置
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:

我要回帖

更多关于 faster rcnn 训练 的文章

 

随机推荐