如何在 pipeline.config 中设置最小学习率(tensorflow 1.15 + 对象检测 API)

How to set minimum learning rate inside pipeline.config (tensorflow 1.15 + object detection API)

我正在用这段 pipeline.config:

训练模型
  optimizer {
    momentum_optimizer: {
      learning_rate: {
        cosine_decay_learning_rate {
          learning_rate_base: 0.3
          total_steps: 200000
          warmup_learning_rate: 0.13333
          warmup_steps: 2000
        }
      }
      momentum_optimizer_value: 0.9
    }
    use_moving_average: false
  }

在 200k 个 epoch 之后,学习率下降到 0

两个问题:

我正在使用 tensorflow 1.15、object_detection API 和 python 3.6

你不能。您只能使用 ExponentialDecayLearningRate 来做到这一点。参见 the source

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