如何通过测试生成器消除错误? [英] How can I get rid of getting error through test generator?
本文介绍了如何通过测试生成器消除错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的培训生成器和有效生成器工作正常,但当我尝试预测时,我得到了某种错误,我认为这是来自测试生成器。
train_datagen = ImageDataGenerator(rotation_range=15,
rescale=1./255,
shear_range=0.1,
zoom_range=0.2,
horizontal_flip=True,
width_shift_range=0.1,
height_shift_range=0.1
)
train_generator = train_datagen.flow_from_dataframe(train_df,
"./dogs-vs-cats/train/",x_col='filename',y_col='category',
target_size=Image_Size,
class_mode='categorical',
batch_size=batch_size)
validation_datagen = ImageDataGenerator(rescale=1./255)
validation_generator = validation_datagen.flow_from_dataframe(
validate_df,
"./dogs-vs-cats/train/",
x_col='filename',
y_col='category',
target_size=Image_Size,
class_mode='categorical',
batch_size=batch_size
)
这是我的培训和验证生成器,但我的测试生成器不工作?
test_datagen = ImageDataGenerator(rotation_range=15,
rescale=1./255,
shear_range=0.1,
zoom_range=0.2,
horizontal_flip=True,
width_shift_range=0.1,
height_shift_range=0.1)
test_generator = train_datagen.flow_from_dataframe(train_df,
"./dogs-vs-cats/test/",x_col='filename',y_col='category',
target_size=Image_Size,
class_mode='categorical',
batch_size=batch_size)
也是
test_filenames = os.listdir("./dogs-vs-cats/test1")
test_df = pd.DataFrame({
'filename': test_filenames
})
nb_samples = test_df.shape[0]
predict = model.predict_generator(test_generator, steps=np.ceil(nb_samples/batch_size))
ValueError:请求检索元素0,但序列长度为0
推荐答案
错误的原因是there are no Image files
文件夹中的cats and dogs
。test
文件夹。
代码中的更多观察:
应该是
test_generator = test_datagen.flow_from_dataframe(train_df,.....
而不是test_generator = train_datagen.flow_from_dataframe(train_df, ...
在下面的代码行中,您使用了文件夹
test
test_generator = train_datagen.flow_from_dataframe(train_df, "./dogs-vs-cats/test/",...........
但在下面的代码行中,您使用了文件夹test1
。为什么?
test_filenames = os.listdir("./dogs-vs-cats/test1")
- 请使用
model.predict
而不是model.predict_generator
,因为后者已弃用。
这篇关于如何通过测试生成器消除错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文