Configures the optimizer used for training. Args: learning_rate: A scalar or `Tensor` learning rate. Returns: An instance of an optimizer. Raises: ValueError: if FLAGS.optimizer is not recognized.
(learning_rate)
| 184 | |
| 185 | |
| 186 | def _configure_optimizer(learning_rate): |
| 187 | """Configures the optimizer used for training. |
| 188 | |
| 189 | Args: |
| 190 | learning_rate: A scalar or `Tensor` learning rate. |
| 191 | |
| 192 | Returns: |
| 193 | An instance of an optimizer. |
| 194 | |
| 195 | Raises: |
| 196 | ValueError: if FLAGS.optimizer is not recognized. |
| 197 | """ |
| 198 | |
| 199 | if FLAGS.optimizer == 'adam': |
| 200 | optimizer = tf.train.AdamOptimizer( |
| 201 | learning_rate, |
| 202 | beta1=FLAGS.adam_beta1, |
| 203 | beta2=FLAGS.adam_beta2, |
| 204 | epsilon=FLAGS.opt_epsilon) |
| 205 | elif FLAGS.optimizer == 'sgd': |
| 206 | optimizer = tf.train.GradientDescentOptimizer(learning_rate) |
| 207 | else: |
| 208 | raise ValueError('Optimizer [%s] was not recognized', FLAGS.optimizer) |
| 209 | return optimizer |
| 210 | |
| 211 | |
| 212 | def average_gradients(tower_grads): |