MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / _create_optimizer

Method _create_optimizer

modelzoo/dcn/train.py:289–346  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

287
288 # define optimizer and generate train_op
289 def _create_optimizer(self):
290 self.global_step = tf.train.get_or_create_global_step()
291 if self.tf or self._optimizer_type == 'adam':
292 dnn_optimizer = tf.train.AdamOptimizer(
293 learning_rate=self._deep_learning_rate,
294 beta1=0.9,
295 beta2=0.999,
296 epsilon=1e-8)
297 cross_optimizer = tf.train.AdamOptimizer(
298 learning_rate=self._cross_learning_rate,
299 beta1=0.9,
300 beta2=0.999,
301 epsilon=1e-8)
302 elif self._optimizer_type == 'adagrad':
303 dnn_optimizer = tf.train.AdagradOptimizer(
304 learning_rate=self._deep_learning_rate,
305 initial_accumulator_value=0.1,
306 use_locking=False)
307 cross_optimizer = tf.train.AdagradOptimizer(
308 learning_rate=self._cross_learning_rate,
309 initial_accumulator_value=0.1,
310 use_locking=False)
311 elif self._optimizer_type == 'adamasync':
312 dnn_optimizer = tf.train.AdamAsyncOptimizer(
313 learning_rate=self._deep_learning_rate,
314 beta1=0.9,
315 beta2=0.999,
316 epsilon=1e-8)
317 cross_optimizer = tf.train.AdamAsyncOptimizer(
318 learning_rate=self._cross_learning_rate,
319 beta1=0.9,
320 beta2=0.999,
321 epsilon=1e-8)
322 elif self._optimizer_type == 'adagraddecay':
323 dnn_optimizer = tf.train.AdagradDecayOptimizer(
324 learning_rate=self._deep_learning_rate,
325 global_step=self.global_step)
326 cross_optimizer = tf.train.AdagradDecayOptimizer(
327 learning_rate=self._cross_learning_rate,
328 global_step=self.global_step)
329 else:
330 raise ValueError("Optimizer type error.")
331
332 train_ops = []
333 update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
334 with tf.control_dependencies(update_ops):
335 train_ops.append(
336 dnn_optimizer.minimize(self.loss,
337 var_list=tf.get_collection(
338 tf.GraphKeys.TRAINABLE_VARIABLES,
339 scope='dnn'),
340 global_step=self.global_step))
341 train_ops.append(
342 cross_optimizer.minimize(self.loss,
343 var_list=tf.get_collection(
344 tf.GraphKeys.TRAINABLE_VARIABLES,
345 scope='cross')))
346 self.train_op = tf.group(*train_ops)

Callers 1

__init__Method · 0.95

Calls 6

AdamOptimizerMethod · 0.80
get_collectionMethod · 0.45
control_dependenciesMethod · 0.45
appendMethod · 0.45
minimizeMethod · 0.45
groupMethod · 0.45

Tested by

no test coverage detected