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

  def dnn_bias_(self):
    """Returns bias of deep neural network part."""
    return (self._dnn_model.get_bias(model_dir=self._model_dir) +
            [self.get_variable_value("centered_bias_weight")])

  def _get_feature_dict(self, features):
    if isinstance(features, dict):
      return features
    return {"": features}

  def _get_train_ops(self, features, targets):
    """See base class."""
    global_step = contrib_variables.get_global_step()
    assert global_step

    features = self._get_feature_dict(features)
    logits = self._logits(features, is_training=True)
    if self._enable_centered_bias:
      centered_bias_step = [self._centered_bias_step(targets, features)]
    else:
      centered_bias_step = []
    with ops.control_dependencies(centered_bias_step):
      loss = self._target_column.loss(logits, targets, features)
    logging_ops.scalar_summary("loss", loss)
