def forward(self, x):
    (b, c, *_spatial) = x.shape
    x = x.reshape(b, c, (- 1))
    x = th.cat([x.mean(dim=(- 1), keepdim=True), x], dim=(- 1))
    x = (x + self.positional_embedding[None, :, :].to(x.dtype))
    x = self.qkv_proj(x)
    x = self.attention(x)
    x = self.c_proj(x)
    return x[:, :, 0]
def forward(self, x):
    (b, c, *_spatial) = x.shape
    x = x.reshape(b, c, (- 1))
    x = th.cat([x.mean(dim=(- 1), keepdim=True), x], dim=(- 1))
    x = (x + self.positional_embedding[None, :, :].to(x.dtype))
    x = self.qkv_proj(x)
    x = self.attention(x)
    x = self.c_proj(x)
    return x[:, :, 0]