版权声明:如需转载请评论告知并标明出处 https://blog.csdn.net/ShuqiaoS/article/details/83380553
DispNet中Caffe自定义层解读(三)—— GenerateAugmetationParamters
这一系列博文记录了博主在学习DispNet过程中遇到的自定义Caffe层的笔记。这一部分是GenerateAugmentationParameters层,其主要功能是:
。更新于2018.10.25。
文章目录
调用方式
在调用时,三个输入依次分别为:DataAugmentation层的输出参数(第二个输出)、DataAugmentation层的输入、DataAugmentation层的输出结果(第一个输出);输出为可以直接送入DataAugmentation层作为参数(第二个输入)的blob。
layer {
name: "aug_params1"
type: "GenerateAugmentationParameters"
bottom: "input_blob1"
bottom: "input_blob2"
bottom: "input_blob3"
top: "output_blob"
augmentation_param {
augment_during_test: false
gamma {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.01
prob: 1.0
}
brightness {
rand_type: "gaussian_bernoulli"
exp: false
mean: 0
spread: 0.01
prob: 1.0
}
contrast {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.01
prob: 1.0
}
color {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.01
prob: 1.0
}
}
coeff_schedule_param {
half_life: 50000
initial_coeff: 0.5
final_coeff: 1
}
}
generate_augmentation_parameters_layer.hpp
与数据扩张层类似,这个层也不支持反向计算。类似的头文件定义可以参考DataAugmentation层的hpp部分。
generate_augmentation_parameters_layer.cpp
cpp文件中不负责参数计算,主要就是进行了Reshape的工作。
generate_augmentation_parameters_layer.cu
程序默认只在训练过程进行数据扩张的参数计算,如果有特殊要求,可以在测试过程也进行计算。
参数的计算方式和类型与DataAugmentation层类似,不再赘述。