code: def _softmax(self, x):
      assert len(x.shape) == 2
      if x.shape[1] == 0:
          return x
      m = x.max(1)[:, np.newaxis]
      u = np.exp(x - m)
      z = u.sum(1)[:, np.newaxis]
      return u / z
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.ops.ragged import ragged_math_ops
  from tensorflow.python.ops.ragged import ragged_string_ops
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 1 for calling the RaggedSoftmaxTest obj's underlying member method code with example usage: obj._softmax(x) and returns: unknown, x