Я пытаюсь использовать сверточный слой для свертывания изображения в оттенках серого (однослойного) (хранится в виде массива numpy). Вот код:
conv1 = torch.nn.Conv2d(in_channels = 1, out_channels = 1, kernel_size = 33)
tensor1 = torch.from_numpy(img_gray)
out_2d_np = conv1(tensor1)
out_2d_np = np.asarray(out_2d_np)
Я хочу, чтобы мое ядро было 33х33, а количество выходных слоев должно быть равно количеству входных слоев, которое равно 1, поскольку RGB-каналы изображения суммируются. Когда out_2d_np = conv1(tensor1)
запускается, он выдает следующую ошибку времени выполнения:
RuntimeError: Ожидаемый 4-мерный ввод для 4-мерного веса 1 1 33 33, но получил 2-мерный ввод размера [246, 248] вместо
Есть идеи, как мне это решить? Я специально хочу использовать torch.nn.Conv2d()
класс / функцию.
Заранее благодарен за любую помощь!