def METHOD_NAME(self, x):
    N, C, T, V = x.size()
    A = self.A + self.graph_attn
    hidden = None
    for i in range(self.num_subset):
        A1 = self.a_conv[i](x).permute(0, 3, 1, 2).contiguous()
        A2 = self.b_conv[i](x)
        # Modified attention within timestep
        A1 = self.soft(torch.einsum("nvct,nctw->nvwt", A1, A2) / self.inter_c)  # N V V T
        A1 = A1 + A[i].unsqueeze(0).unsqueeze(-1)
        z = self.g_conv[i](torch.einsum("nctv,nvwt->nctv", x, A1))
        hidden = z + hidden if hidden is not None else z
    hidden = self.bn(hidden)
    hidden += self.gcn_residual(x)
    return self.relu(hidden)