class_docstr: Softargmax.
code: def call(self, inputs):
      batch_size = inputs.shape[0]
      num_objects = inputs.shape[1]
      num_shapes = inputs.shape[2]
      softmax = tf.nn.softmax(self.beta * inputs, name="sm")
      softmax = tf.reshape(
          softmax, [batch_size, num_objects, num_shapes, 1], name="rs1"
      )
      voxels = tf.reshape(
          self.voxels, [1, num_shapes, self.voxel_size**3], name="rs2"
      )
      result = tf.reduce_sum(voxels * softmax, axis=2, name="sum")
      return tf.reshape(
          result, [batch_size, num_objects, -1], name="rs3"
      )
  
file_path: graphics/tensorflow_graphics/projects/points_to_3Dobjects/models/centernet_utils.py
imports: import tensorflow
label_desc: Use image node_id 2 for calling the SoftArgMax obj's underlying member method code with example usage: obj.call(inputs) and returns: tf