我正在使用此[.config文件] [1]训练CNN:
rms_prop_optimizer: { learning_rate: { exponential_decay_learning_rate { initial_learning_rate: 0.004 decay_steps: 800720 decay_factor: 0.95 } } momentum_optimizer_value: 0.9 decay: 0.9 epsilon: 1.0 }
}
如您所见,有一个rms_prop作为优化器。如果我想使用亚当怎么办?我应该如何编辑该文件?
答案 0 :(得分:3)
如果我是对的,那么您正在尝试将Object_detection模型与Tensorflow提供的经过预训练的网络一起使用,对吗? 然后,如果您了解一些编程知识,则可以查看models / research / object_detection / builders / optimizer_builder.py,并查看可以使用的优化器和参数。 相反,如果您只想使用现成的解决方案,这就是我的方法:
optimizer {
# momentum_optimizer {
adam_optimizer: {
learning_rate: {
manual_step_learning_rate {
initial_learning_rate: .0002
schedule {
step: 4500
learning_rate: .0001
}
schedule {
step: 7000
learning_rate: .00008
}
schedule {
step: 10000
learning_rate: .00004
}
}
}
# momentum_optimizer_value: 0.9
}
use_moving_average: false
}
在我的(很少)经历中,我注意到使用与momentum_optimizer
相同的learning_experience会使学习速度过快和/或带来NaN损失,因此我通常将其减少10倍或更多倍。我正在尝试。 :)