对于 YuwenXiong-py-R-FCN 的理解与案例调节

从E,P,T 下手调节代码,梳理作者思路

综合分析

	E:
	类别名的修改
	训练集标注
	训练集测试集的拆分
	数据处理:训练尺寸:最小尺寸和最大尺寸
		
	P:
	预训练权重
	rpn框数
	
	T:
	学习率
	最大迭代次数
		保存模型迭代次数

详细步骤

首先可以肯定的是代码以 experiments文件 中的 脚本文件scripts 开头
我们以 rfcn_end2end_ohem.sh 为案例开始梳理
在这里插入图片描述

期间调用了很多的配置文件需要我们修改,我们逐个分析:

一:运行文件
rfcn_end2end_ohem.sh 为第一个修改内容,它是一个运行整个程序的脚本文件,可以修改的地方是第一个pascal_voc中的iters迭代次数 ITERS
同时我们也看到了三个配置文件的路径
TRAIN_IMDB :训练集路径
TEST_IMDB:测试集路径
PT_DIR:配置路径
都需要进行修改,但这三个我们暂时不去理会
在这里插入图片描述
二:配置文件
同样在experiments文件下有一个叫cfgs的文件夹,其中放了相对脚本的配置文件
所以我们修改的是 rfcn_end2end_ohem.yml 其中可以修改的参数是
SNAPSHOT_ITERS:参数,循环多少次,保存一次模型
RPN_POST_NMS_TOP_N : 选取多少个rpn框

三:数据安放
这时候就需要我们对EPT思路有所理解了,E代表数据,所以我们就先处理数据
首先我们要建立一个类似下面的结构,Annotations 存放xml文件 ,JPEGimages 存放图片 , Main存放图片名字类型的txt
然后将整个ImageSets文件放入data文件夹下,阅读readme即可知详细位置
在这里插入图片描述
Please copy this folder to $RFCN_ROOT/data/VOCdevkit0712/VOC0712 根据readme内容可知,最后的路径在
在这里插入图片描述

四:修改类名
在lib文件夹下的 datasets/pascal_voc 是修改类名的py文件
同时在 fast_rcnn/config 中可以修改图片尺度大小的配置,完成多尺度训练
在这里插入图片描述
配置最大尺度和最小尺度

五:添加网络
在data文件中 的imagenet_models 下添加主干网络,没有则新建,阅读readme即可得到下载网址
在这里插入图片描述
./data/scripts/fetch_imagenet_models.sh

六:迭代修改
model/pascal_voc/ResNet-50/rfcn_end2ends/solver_ohem.prototxt :
①调整学习率,多少次降低一次学习率,打印跨数
②模型名称 snapshot_prefix = “ ”

在这里插入图片描述
在这里插入图片描述

model/pascal_voc/ResNet-50/rfcn_end2ends/train_agnostic_ohem.prototxt 和 test_agnostic.prototxt 相同
①类别数
②搜索PSROIPooling 修改num_output
③修改position sensitive ROI pooling 输出
output
group_size
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

文件分析

	data:
		新建cache(贮存器) 所有的标签读取起来,然后放在一起 
		* 要常清理,默认有的话会直接读取,但我们的数据时有改变
		* 还记录了对数据集的所有操作,相当于日志
		
		imagenet_models:主干网络
		
		main:分配好训练集和测试集的图片名,不需要后缀
	
	experiments:
		cfgs:配置参数
		
		logs:观看日志可知后台是否在运行程序
		
		scripts:代码运行文件
			
	lib:库
		rpn:pyc是py编译的中间过程,是rcnn的主要文件
		datasets:
			pascal_voc:
				1.编辑类名
				2.问题1:而此代码的pascal设置第一位是1,所以减一
				  问题2:有的图片设置位置超出区域后会转回来
				  可以设置临界点,比如大于20就规定20
             
			fast_rcnn:
					config:控制是否多尺度训

						
	model:
		pascal_voc:
			ResNet-50:
				rfcn_end2ends:
					solver_ohem.prototxt 
						①调整学习率,多少次降低一次学习率,打印跨数
						②模型名称	snapshot_prefix	=   “     ”  			
					train_agnostic_ohem.prototxt
						①类别数
						②搜索ps   修改num_output
						③修改position sensitive ROI pooling 输出
							output
							group_size 

参考图:

在这里插入图片描述

职业化:控制边框边界溢出

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章