我正在使用带conda的python3,并使用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 / siamese / lib / python3.6 / site-packages / pandas / core / indexes / base.py in _can_reindex(self,indexer)3574#尝试在 如果不是self.is_unique,则具有重复3575的轴,并且 len(索引器): -> 3576提高ValueError(“无法从重复的轴重新索引”)3577 3578 def reindex(自我,目标,方法=无, 级别=无,限制=无,
ValueError:无法从重复的轴重新索引
我发现我可能在x列或y或索引或其他列中得到重复的值,所以我使用相同的错误对它进行了双重检查
for col in data.columns.values:
data = data.drop_duplicates(subset=col)
data = data.reset_index(drop=True)
我还检查了目标目录中是否没有重复的文件。
更新:
我发现我在目录中有一个目录。在该子目录中,我的图像与主目录中的图像重复。来自数据框的流是否可以递归工作?当我删除它时,问题就解决了。可以解释这个问题吗?