@singleton('projector')
def _get_projector(self, hidden):
    (_, dim) = hidden.shape
    projector = MLP(dim, self.projection_size, self.projection_hidden_size)
    return projector.to(hidden)
@singleton('projector')
def _get_projector(self, hidden):
    (_, dim) = hidden.shape
    projector = MLP(dim, self.projection_size, self.projection_hidden_size)
    return projector.to(hidden)