def call(self, hidden_states):
    batch_size = shape_list(hidden_states)[0]
    x = tf.transpose(tf.reshape(hidden_states, [(- 1), self.num_groups, self.group_in_dim]), [1, 0, 2])
    x = tf.matmul(x, tf.transpose(self.kernel, [2, 1, 0]))
    x = tf.transpose(x, [1, 0, 2])
    x = tf.reshape(x, [batch_size, (- 1), self.output_size])
    x = tf.nn.bias_add(value=x, bias=self.bias)
    return x
def call(self, hidden_states):
    batch_size = shape_list(hidden_states)[0]
    x = tf.transpose(tf.reshape(hidden_states, [(- 1), self.num_groups, self.group_in_dim]), [1, 0, 2])
    x = tf.matmul(x, tf.transpose(self.kernel, [2, 1, 0]))
    x = tf.transpose(x, [1, 0, 2])
    x = tf.reshape(x, [batch_size, (- 1), self.output_size])
    x = tf.nn.bias_add(value=x, bias=self.bias)
    return x