Neural network 如何将数据从InceptionV3适配到ImageDataGenerator

Neural network 如何将数据从InceptionV3适配到ImageDataGenerator,neural-network,keras,deep-linking,Neural Network,Keras,Deep Linking,如何将数据从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吗 我加载我的Inc

如何将数据从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:使用序列设置数组元素”。

我假设您需要分两步执行此操作。首先将数据输入InceptionV3模型,并将输出保存到numpy数组中。然后将这个numpy数组输入到第二个模型中

像这样的第一步(取自):


瓶颈(功能训练)

这种方法的缺点是你不能使用增强。为什么不呢?您不能一次完成,但是什么阻碍您执行图像增强运行、将增强的图像保存到目录、从中间层保存numpy数组,然后继续第二个模型?
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'),