Ошибка чтения изображений с пандами (+ pyTorch, scikit)

Mickey спросил: 13 октября 2017 в 07:19 в: python

Я пытаюсь прочитать изображения для работы с CNN, но у меня появляется ошибка pandas при попытке загрузить изображения. Вот часть кода (для ясности пропущен импорт и нерелевантный класс nn):

file_name = "annotation.csv"
image_files = pd.read_csv(file_name)class SimpsonsDataset(Dataset):    def __init__(self, csv_file, root_dir, transform=None):
        self.image_file = pd.read_csv(csv_file)
        self.root_dir = root_dir
        self.transform = transform    def __len__(self):
        return len(self.image_file)    def __getitem__(self, idx):
        img_name = os.path.join(self.root_dir, self.image_file.iloc[idx,0][1:])
        image = io.imread(img_name)
        sample = {'image': image}
        if self.transform:
            sample = self.transform(sample)
        return samplesimpsons = SimpsonsDataset(csv_file=image_files,root_dir="folder/")

Я использую iloc[idx,0][1:] для форматирования пути к файлу, и путь к файлу объединяется с совпадением папок и имен файлов.

Однако, когда Я пытаюсь запустить файл и получаю следующую ошибку:

  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile
    execfile(filename, namespace)  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)  File "C:/.../image_extractor.py", line 41, in <module>
    simpsons = SimpsonsDataset(csv_file=image_files,root_dir="folder/")  File "C:/.../image_extractor.py", line 26, in __init__
    self.image_file = pd.read_csv(csv_file)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 655, in parser_f
    return _read(filepath_or_buffer, kwds)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 392, in _read
    filepath_or_buffer, encoding, compression)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\common.py", line 210, in get_filepath_or_buffer
    raise ValueError(msg.format(_type=type(filepath_or_buffer)))ValueError: Invalid file path or buffer object type: <class 'pandas.core.frame.DataFrame'>

Хотелось бы узнать, почему это происходит. Спасибо!


0 ответов