如何将InceptionV3中的数据拟合到ImageDataGenerator?
我找到的将数据拟合到ImageDataGenerator的示例适用于mnist或cifar10,如下所示:
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# fit parameters from data
datagen.fit(X_train)
但是我可以将InceptionV3模型的数据拟合到我的ImageDataGenerator吗?
我加载了我的Inception V3模型,如:
base_model = InceptionV3(weights='imagenet', include_top=True)
datagen = ImageDataGenerator(...)
datagen.fit(base_model.get_layer('avg_pool').output)
但我得到的错误是'ValueError:设置带序列的数组元素。'
答案 0 :(得分:1)
我认为你需要分两步完成。首先将数据输入InceptionV3模型并将输出保存到numpy数组中。然后将这个numpy阵列送入你的第二个模型。
第一步是这样的(取自here):
generator = datagen.flow_from_directory(
'data/train',
target_size=(150, 150),
batch_size=batch_size,
class_mode=None, # this means our generator will only yield batches of data, no labels
shuffle=False) # our data will be in order
bottleneck_features_train = model.predict_generator(generator, 2000)
np.save(open('bottleneck_features_train.npy', 'w'),
bottleneck_features_train)