DispNet中Caffe自定義層解讀(三)—— GenerateAugmetationParamters
阿新 • • 發佈:2018-11-06
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層