Я пытаюсь присвоить некоторые значения тензору факела.В приведенном ниже примере кода я инициализировал тензор U и попытался присвоить тензор b последним двум измерениям.В действительности это цикл по i и j, который решает некоторое соотношение для ряда обучающих данных (здесь 10) и присваивает его соответствующему местоположению.
import torch
U = torch.zeros([10, 1, 4, 4])
b = torch.rand([10, 1, 1, 1])
i = 2
j = 2
U[:, :, i, j] = b
Я ожидал, что будет назначен вектор bдля измерений i и j соответствующих данных обучения (форма данных обучения составляет (10,1)), но это дает мне ошибку.Я получаю следующую ошибку:
RuntimeError: expand(torch.FloatTensor{[10, 1, 1, 1]}, size=[10, 1]): the number of sizes provided (2) must be greater or equal to the number of dimensions in the tensor (4)
Любые предложения о том, как ее исправить, будут оценены.
Например, вы можете думать об этом так, как будто '[10, 1] 'это форма моих данных.Представьте, что это 10 изображений, каждое из которых имеет один канал.Затем представьте, что каждое изображение имеет форму «[4, 4]».На каждой итерации цикла вычисляется пиксель «[i, j]» для всех изображений и каналов.