Я хочу векторизовать следующий код:
def style_noise(self, y, style):
n = torch.randn(y.shape)
for i in range(n.shape[0]):
n[i] = (n[i] - n.mean(dim=(1, 2, 3))[i]) * style.std(dim=(1, 2, 3))[i] / n.std(dim=(1, 2, 3))[i] + style.mean(dim=(1, 2, 3))[i]
noise = Variable(n, requires_grad=False).to(y.device)
return noise
Я не нашел способ сделать это.
y и style являются 4d-тензорами, скажем style.shape = y.shape = [64, 3, 128, 128]
.
Я хочу вернуть тензор шума, noise.shape = [64, 3, 128, 128]
.
Пожалуйста, дайте мне знать в комментариях, если вопрос не ясен.