caffe的prototxt文件_OneCoder的博客-CSDN博客_prototxt
- name任取,表示这一层的名字
- type:层类型,如果是Data,表示数据来源是LevelDB后者LMDB,根据数据来源的不同,数据层的类型也不同,有些还是从磁盘中存储hdf5或者图片格式。
- top和bottom:top为此层输出,bottom为此层输入,在数据层中,至少有一个命名为data的top。如果有第二个top,一般命名为label。这种(data, label)的配对是分类模型所必需的。
- include:一般训练和测试的时候,模型的参数有些不一样。所以这个是用来指定该数据层是属于训练阶段或者测试阶段的层。若未指定,则该层既用在训练模型又用在测试模型上。
- transform_param:数据的预处理,可以将数据变换到定义的范围内。如设置scale为0.00390625,实际上就是1/255,即将输入数据由0~255归一化到0~1之间。
- data_param:根据数据来源的不同,来进行不同的设置。必须设置的参数有source和batch_size,source包含数据库的目录名字,batch_size就是每次处理的数据个数。可选参数有rand_skip和backend,backend是选择采用LevelDB还是LMDB,默认是LevelDB【这个应该是选择数据库引擎】
- # parameters for generating detection output.
# 生成检测输出的参数。
det_out_param = {
# 类别数目
'num_classes': num_classes,
# 位置共享。
'share_location': share_location,
# 背景类别编号,这里为0。
'background_label_id': background_label_id,
# 非最大抑制参数,阀值为0.45,top_k表示最大数量的结果要保留,
# 文中介绍,非最大抑制的作用就是消除多余的框,就是使评分低的框剔除。
# 参数解释在caffe.proto中有介绍。
'nms_param': {'nms_threshold': 0.45, 'top_k': 400},
# 用于保存检测结果的参数,这一部分参数在caffe.proto中的SaveOutputParameter有定义。
'save_output_param': {
# 输出目录。 如果不是空的,我们将保存结果。前面我们有定义结果保存的路径。
'output_directory': output_result_dir,
# 输出名称前缀。
'output_name_prefix': "comp4_det_test_",
# 输出格式。VOC - PASCAL VOC输出格式。COCO - MS COCO输出格式。
'output_format': "VOC",
# 如果要输出结果,还必须提供以下两个文件。否则,我们将忽略保存结果。
# 标签映射文件。这在前面中有给label_map_file附文件,
# 也就是我们在训练的时候所做的labelmap.prototxt文件的位置,
# 详情参看博主博文《基于caffe使用SSD训练自己的数据》。
# https://blog.csdn.net/chenlufei_i/article/details/80068953
'label_map_file': label_map_file,
# 即我们在训练时定义的test_name_size.txt文件的路径。该文件表示测试图片的大小。
'name_size_file': name_size_file,
# 测试图片的数量。
'num_test_image': num_test_image,
},
# nms步之后每个图像要保留的bbox总数。-1表示在nms步之后保留所有的bbox。
'keep_top_k': 200,
# 只考虑可信度大于阈值的检测。 如果没有提供,请考虑所有的框。
'confidence_threshold': 0.01,
# bbox的编码方式。
'code_type': code_type,
}
# parameters for evaluating detection results.
# 评估检测结果的参数。
# 位于caffe.proto文件中的DetectionEvaluateParameter定义。
det_eval_param = {
# 类别数
'num_classes': num_classes,
# 背景编号,为0。
'background_label_id': background_label_id,
# 重叠阀值,0.5。
'overlap_threshold': 0.5,
# 如果为true,也要考虑难以评估的grountruth。
'evaluate_difficult_gt': False,
# test_name_size.txt路径。
'name_size_file': name_size_file,
}