Я использую python3 с conda и использую keras.preprocessing.image.imagedatagenerator для чтения изображений из каталога с помощью информационного кадра.
Я использую следующий код:
data = pd.read_csv("/home/user/data/all/all_data_info.csv")
i = ImageDataGenerator(rescale=1.0/255)
train_generator = i.flow_from_dataframe(data, directory="/home/shai/data/all/dataset", x_col="new_filename", y_col="artist", target_size=(500, 500), color_mode='rgb', class_mode="sparse", batch_size=16)
и появляется следующая ошибка:
~ / .conda / envs / сиамских / Библиотека / python3.6 / сайт-пакеты / панды / ядро / индексы / base.py
в _can_reindex (self, indexer) 3574 # пытается переиндексировать
ось с дубликатами 3575, если не self.is_unique и
Len (индексатор):
-> 3576 повысить ValueError («не может переиндексировать с дублированной оси») 3577 3578 def переиндексировать (self, target, method = None,
уровень = нет, предел = нет,
ValueError: невозможно переиндексировать с дублированной оси
Я подумал, что, возможно, получаю повторяющееся значение в столбце x или y, или, возможно, в индексе или каком-либо другом столбце, поэтому я мега дважды проверил его, используя ту же ошибку
for col in data.columns.values:
data = data.drop_duplicates(subset=col)
data = data.reset_index(drop=True)
Я также проверил, что в целевой директории нет дубликатов файлов.
обновление:
Я обнаружил, что у меня есть каталог внутри каталога. в этом подкаталоге у меня были изображения, которые были дублированы из изображений, которые я имел в главном каталоге Работает ли поток данных из фрейма рекурсивно? Когда я его убрал, проблема была решена. это может объяснить проблему?