code: def testParamTensorFromLogits(self):
      x = tf.constant([-1.0, 0.5, 1.0])
      d = categorical.Categorical(logits=x, validate_args=True)
      self.assertAllClose(
          *self.evaluate([x, d.logits_parameter()]), atol=0, rtol=1e-4
      )
      self.assertAllClose(
          *self.evaluate([tf.math.softmax(x), d.probs_parameter()]),
          atol=0,
          rtol=1e-4,
      )
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.distributions import categorical
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.util import deferred_tensor
label_desc: Use image node_id 33 for calling the CategoricalTest obj's underlying member method code with example usage: obj.testParamTensorFromLogits() without return types