Проблема с размером канала в DCGAN (Pytorch) для изображения в градациях серого - PullRequest
0 голосов
/ 09 мая 2020

Я попытался изменить этот пример кода введите здесь описание ссылки DCGAN для моего собственного набора данных. Код примера предназначен для изображения RGB, но мои данные - это изображение в оттенках серого. Поэтому я установил количество каналов nc равным 1. Однако, когда я попытался запустить программу, я получил эту ошибку: RuntimeError: Given groups = 1, weight of size 64 1 4 4, expected input [128, 3, 64, 64], чтобы иметь 1 канал, но вместо этого было 3 канала. Я знаю, что это проблема с количеством каналов, но я понятия не имею, что еще мне следует изменить, чтобы решить эту ошибку.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 10 мая 2020

Какова фактическая форма вашего ввода? Я предполагаю, что вы загружаете изображения как стандартные RGB, которые будут загружать их как трехканальные изображения, даже если они действительно в оттенках серого.

0 голосов
/ 09 мая 2020

Вы передаете изображения RGB с каналами 3. Вы должны передать тензор формы [batch, 1, width, height], в то время как ваш, по-видимому, [128, 3, 64, 64] (и должен быть [128, 1, 64, 64]).

Убедитесь, что вы вводите форму изображения с помощью print(image.shape) attribute`

Если вы используйте torchvisionpillow под капотом), вы можете использовать torchvision.transforms.Grayscale() (см. docs ). Также убедитесь, что ваши изображения действительно имеют оттенки серого.

...