code: def get_probs(self, x, **kwargs):
      
      d = self.fprop(x, **kwargs)
      if self.O_PROBS in d:
        output = d[self.O_PROBS]
        min_prob = tf.reduce_min(output)
        max_prob = tf.reduce_max(output)
        asserts = [utils_tf.assert_greater_equal(min_prob,
                                                 tf.cast(0., min_prob.dtype)),
                   utils_tf.assert_less_equal(max_prob,
                                              tf.cast(1., min_prob.dtype))]
        with tf.control_dependencies(asserts):
          output = tf.identity(output)
        return output
      elif self.O_LOGITS in d:
        return tf.nn.softmax(logits=d[self.O_LOGITS])
      else:
        raise ValueError('Cannot find probs or logits.')
docs: :param x: A symbolic representation (Tensor) of the network input
      :return: A symbolic representation (Tensor) of the output
      probabilities (i.e., the output values produced by the softmax layer).