Ваша функция неверна.И это потому, что вы вычисляете среднее изображение, а затем вычисляете дисперсию канала в среднем изображении.Я не думаю, что ты этого хочешь.Вы можете просто найти дисперсию в каждом канале, используя
torch.var(img, dim=[0,2,3])
, предполагая, что dim=1
- это размер канала, а img - тензор резака.Если img не является тензором факела, вы можете объединить список imgs для создания тензора.
Вы можете сделать это как операция torch.var(torch.cat(img, dim=0), dim=[0,2,3])
cat
, объединяющая список в тензор.