Я столкнулся с той же проблемой при использовании celebA, включая 200 000 изображений.Как мы видим, есть много изображений.Но в небольшом примере ситуации (я попробовал 20 изображений), я проверил, ошибка не возникнет, что означает, что мы можем успешно читать изображения.Но когда число растет, мы должны использовать другие методы.
Я решил проблему в соответствии с этим сайтом.Благодаря QimingChen решение Github
Просто, добавление еще одной папки с именем 1 (/ train / ---> train / 1 /) вИсходная папка позволит нашей программе работать, без изменения пути.Это связано с тем, что при работе с большими наборами данных изображения следует сортировать в подпапках разных классов.
Оригинальный ответ на Github:
Допустим, я собираюсь использовать ImageFolder (" / train / ") для чтения файлов jpg в папке train.Структура файла: / train / - 1.jpg - 2.jpg - 3.jpg
Я не смог загрузить их, что привело к ошибкам: RuntimeError: Найдено 0 изображений во вложенных папках: ./dataПоддерживаемые расширения изображений: .jpg, .JPG, .jpeg, .JPEG, .png, .PNG, .ppm, .PPM, .bmp, .BMP
Я прочитал решение выше и пробовал десятки раз,Когда я изменил структуру на / train / 1 /
- 1.jpg - 2.jpg - 3.jpg
Но чтение в кодевсе еще - ImageFolder ("/ train /"), ЭТО РАБОТАЕТ.
Кажется, что программа имеет тенденцию рекурсивно читать файлы, что удобно в некоторых случаях.
Надеюсь, это поможет!!