| syntax = "proto2";
|
|
|
| package object_detection.protos;
|
|
|
|
|
|
|
|
|
|
|
| message Optimizer {
|
| oneof optimizer {
|
| RMSPropOptimizer rms_prop_optimizer = 1;
|
| MomentumOptimizer momentum_optimizer = 2;
|
| AdamOptimizer adam_optimizer = 3;
|
| }
|
| optional bool use_moving_average = 4 [default = true];
|
| optional float moving_average_decay = 5 [default = 0.9999];
|
| }
|
|
|
|
|
|
|
| message RMSPropOptimizer {
|
| optional LearningRate learning_rate = 1;
|
| optional float momentum_optimizer_value = 2 [default = 0.9];
|
| optional float decay = 3 [default = 0.9];
|
| optional float epsilon = 4 [default = 1.0];
|
| }
|
|
|
|
|
|
|
| message MomentumOptimizer {
|
| optional LearningRate learning_rate = 1;
|
| optional float momentum_optimizer_value = 2 [default = 0.9];
|
| }
|
|
|
|
|
|
|
| message AdamOptimizer {
|
| optional LearningRate learning_rate = 1;
|
|
|
|
|
|
|
| optional float epsilon = 2 [default = 1e-8];
|
| }
|
|
|
|
|
|
|
| message LearningRate {
|
| oneof learning_rate {
|
| ConstantLearningRate constant_learning_rate = 1;
|
| ExponentialDecayLearningRate exponential_decay_learning_rate = 2;
|
| ManualStepLearningRate manual_step_learning_rate = 3;
|
| CosineDecayLearningRate cosine_decay_learning_rate = 4;
|
| }
|
| }
|
|
|
|
|
| message ConstantLearningRate {
|
| optional float learning_rate = 1 [default = 0.002];
|
| }
|
|
|
|
|
|
|
|
|
| message ExponentialDecayLearningRate {
|
| optional float initial_learning_rate = 1 [default = 0.002];
|
| optional uint32 decay_steps = 2 [default = 4000000];
|
| optional float decay_factor = 3 [default = 0.95];
|
| optional bool staircase = 4 [default = true];
|
| optional float burnin_learning_rate = 5 [default = 0.0];
|
| optional uint32 burnin_steps = 6 [default = 0];
|
| optional float min_learning_rate = 7 [default = 0.0];
|
| }
|
|
|
|
|
| message ManualStepLearningRate {
|
| optional float initial_learning_rate = 1 [default = 0.002];
|
| message LearningRateSchedule {
|
| optional uint32 step = 1;
|
| optional float learning_rate = 2 [default = 0.002];
|
| }
|
| repeated LearningRateSchedule schedule = 2;
|
|
|
|
|
|
|
| optional bool warmup = 3 [default = false];
|
| }
|
|
|
|
|
|
|
| message CosineDecayLearningRate {
|
| optional float learning_rate_base = 1 [default = 0.002];
|
| optional uint32 total_steps = 2 [default = 4000000];
|
| optional float warmup_learning_rate = 3 [default = 0.0002];
|
| optional uint32 warmup_steps = 4 [default = 10000];
|
| optional uint32 hold_base_rate_steps = 5 [default = 0];
|
| }
|
|
|