code: def build_cost(self, labels, logits):
      
      op = logits.op
      if "softmax" in str(op).lower():
        logits, = op.inputs
  
      with tf.variable_scope('costs'):
        xent = tf.nn.softmax_cross_entropy_with_logits(
            logits=logits, labels=labels)
        cost = tf.reduce_mean(xent, name='xent')
        cost += self._decay()
        cost = cost
  
      return cost
docs: Build the graph for cost from the logits if logits are provided.
      If predictions are provided, logits are extracted from the operation.