(self)
| 320 | |
| 321 | # define optimizer and generate train_op |
| 322 | def _create_optimizer(self): |
| 323 | self.global_step = tf.train.get_or_create_global_step() |
| 324 | print('self.tf = ', self.tf, ' self._optimizer_type = ', self._optimizer_type) |
| 325 | if self.tf or self._optimizer_type == 'adam': |
| 326 | optimizer = tf.train.AdamOptimizer( |
| 327 | learning_rate=self._learning_rate, |
| 328 | beta1=0.9, |
| 329 | beta2=0.999, |
| 330 | epsilon=1e-8) |
| 331 | elif self._optimizer_type == 'adagrad': |
| 332 | optimizer = tf.train.AdagradOptimizer( |
| 333 | learning_rate=self._learning_rate, |
| 334 | initial_accumulator_value=0.1, |
| 335 | use_locking=False) |
| 336 | elif self._optimizer_type == 'adamasync': |
| 337 | optimizer = tf.train.AdamAsyncOptimizer( |
| 338 | learning_rate=self._learning_rate, |
| 339 | beta1=0.9, |
| 340 | beta2=0.999, |
| 341 | epsilon=1e-8) |
| 342 | elif self._optimizer_type == 'adagraddecay': |
| 343 | optimizer = tf.train.AdagradDecayOptimizer( |
| 344 | learning_rate=self._learning_rate, |
| 345 | global_step=self.global_step) |
| 346 | else: |
| 347 | raise ValueError("Optimizer type error.") |
| 348 | |
| 349 | update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) |
| 350 | with tf.control_dependencies(update_ops): |
| 351 | self.train_op = optimizer.minimize(self.loss, |
| 352 | global_step=self.global_step) |
| 353 | |
| 354 | # compute acc & auc |
| 355 | def _create_metrics(self): |
no test coverage detected