|
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]; |
|
} |
|
|