(self)
| 337 | |
| 338 | # define optimizer and generate train_op |
| 339 | def _create_optimizer(self): |
| 340 | self.global_step = tf.train.get_or_create_global_step() |
| 341 | if self.tf or self._optimizer_type == 'adam': |
| 342 | optimizer = tf.train.AdamOptimizer( |
| 343 | learning_rate=self._learning_rate) |
| 344 | elif self._optimizer_type == 'adamasync': |
| 345 | optimizer = tf.train.AdamAsyncOptimizer( |
| 346 | learning_rate=self._learning_rate) |
| 347 | elif self._optimizer_type == 'adagraddecay': |
| 348 | optimizer = tf.train.AdagradDecayOptimizer( |
| 349 | learning_rate=self._learning_rate, |
| 350 | global_step=self.global_step) |
| 351 | else: |
| 352 | raise ValueError("Optimizer type error.") |
| 353 | |
| 354 | update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) |
| 355 | with tf.control_dependencies(update_ops): |
| 356 | self.train_op = optimizer.minimize(self.loss, |
| 357 | global_step=self.global_step) |
| 358 | |
| 359 | # compute acc & auc |
| 360 | def _create_metrics(self): |
no test coverage detected