(self)
| 243 | |
| 244 | # define optimizer and generate train_op |
| 245 | def _create_optimizer(self): |
| 246 | self.global_step = tf.train.get_or_create_global_step() |
| 247 | if self.tf or self._optimizer_type == 'adam': |
| 248 | optimizer = tf.train.AdamOptimizer( |
| 249 | learning_rate=self._learning_rate, |
| 250 | beta1=0.9, |
| 251 | beta2=0.999, |
| 252 | epsilon=1e-8) |
| 253 | elif self._optimizer_type == 'adamasync': |
| 254 | optimizer = tf.train.AdamAsyncOptimizer( |
| 255 | learning_rate=self._learning_rate, |
| 256 | beta1=0.9, |
| 257 | beta2=0.999, |
| 258 | epsilon=1e-8) |
| 259 | elif self._optimizer_type == 'adagraddecay': |
| 260 | optimizer = tf.train.AdagradDecayOptimizer( |
| 261 | learning_rate=self._learning_rate, |
| 262 | global_step=self.global_step) |
| 263 | elif self._optimizer_type == 'adagrad': |
| 264 | optimizer = tf.train.AdagradOptimizer( |
| 265 | learning_rate=self._learning_rate, |
| 266 | initial_accumulator_value=0.1, |
| 267 | use_locking=False) |
| 268 | elif self._optimizer_type == 'gradientdescent': |
| 269 | optimizer = tf.train.GradientDescentOptimizer( |
| 270 | learning_rate=self._learning_rate) |
| 271 | else: |
| 272 | raise ValueError("Optimizer type error.") |
| 273 | |
| 274 | self.train_op = optimizer.minimize( |
| 275 | self.loss, global_step=self.global_step) |
| 276 | |
| 277 | # compute acc & auc |
| 278 | def _create_metrics(self): |
no test coverage detected