from tensorflow.contrib.framework.python.ops import variables as contrib_variables

  _add_hidden_layer_summary(logits, scope.name)

  def _train_op_fn(loss):
    """Returns the op to optimize the loss."""
    return optimizers.optimize_loss(
        loss=loss,
        global_step=contrib_variables.get_global_step(),
        learning_rate=_LEARNING_RATE,
        optimizer=_get_optimizer(optimizer),
        gradient_multipliers=(
            dnn_linear_combined._extract_embedding_lr_multipliers(  # pylint: disable=protected-access
                embedding_lr_multipliers, parent_scope, input_layer_scope)),
