1 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
出色地...
您定義了target_size=(img_width, img_height),如果(img_width, img_height)不是(224, 224),那么您還需要target_size在 VGG 模型中進(jìn)行定義:
vgg16 = applications.VGG16(
include_top=False,
weights='imagenet',
target_size=(img_width, img_height, 3))
你為什么用class_mode=None在datagen.flow_from_directory?None是默認(rèn)值。如果你想讓它明確write class_mode='categorical',但 usingclass_mode=None根本沒有意義。
predict_generator返回預(yù)測(cè)?,F(xiàn)在predict_generator已棄用,但您可以使用predict它與生成器一起工作。但predict應(yīng)在訓(xùn)練后使用。正確使用生成器的方法是:
datagen = ImageDataGenerator(rescale=1. / 255)
generator = datagen.flow_from_directory(
train_data_dir,
target_size=(img_width, img_height),
batch_size=batch_size,
shuffle=False)
// ...
history = model.fit(
generator,
epochs=15,
steps_per_epoch=len(generator),
batch_size=batch_size,
validation_data=validation_generator,
validation_steps=len(validation_generator))
稍后,如果您想進(jìn)行預(yù)測(cè),請(qǐng)使用:model.predict(test_generator)
在這種情況下,您不需要使用Flattenafter 。將輸出減少到一維數(shù)組。GlobalAveragePooling2DGlobalAveragePooling2D
添加回答
舉報(bào)