(self)
| 127 | |
| 128 | # define optimizer and generate train_op |
| 129 | def _create_optimizer(self): |
| 130 | self.global_step = tf.train.get_or_create_global_step() |
| 131 | if (self._tf and self._optimizer_type == 'adamasync') or self._optimizer_type == 'adam': |
| 132 | optimizer = tf.train.AdamOptimizer( |
| 133 | learning_rate=self._learning_rate) |
| 134 | elif self._optimizer_type == 'adamasync': |
| 135 | optimizer = tf.train.AdamAsyncOptimizer(learning_rate=self._learning_rate) |
| 136 | elif self._optimizer_type == 'adagrad': |
| 137 | optimizer = tf.train.AdagradOptimizer(learning_rate=self._learning_rate) |
| 138 | elif self._optimizer_type == 'adagraddecay': |
| 139 | optimizer = tf.train.AdagradDecayOptimizer(learning_rate=self._learning_rate, |
| 140 | global_step=self.global_step) |
| 141 | elif self._optimizer_type == 'gradientdescent': |
| 142 | optimizer = tf.train.GradientDescentOptimizer(learning_rate=self._learning_rate) |
| 143 | else: |
| 144 | raise ValueError('Optimizer type error.') |
| 145 | |
| 146 | update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) |
| 147 | with tf.control_dependencies(update_ops): |
| 148 | self.train_op = optimizer.minimize(self.loss, |
| 149 | global_step=self.global_step) |
| 150 | |
| 151 | # compute acc & auc |
| 152 | def _create_metrics(self): |
no test coverage detected