将keras ImageDataGenerator.flow_from_directory()与Talos Scan()一起使用

时间:2018-11-30 14:05:23

标签: python keras talos

Talos是一个模块,允许您对已经为其编写代码的keras模型进行超参数调整。在示例中使用的常规方法是使用Scan类,该类由xy参数实例化。这些参数应包含分别包含训练数据和标签的数组。

def modelbuilder(x_train, y_train, x_val, y_val, params):
    # modelbuilding 
    out = model.fit(x_train, y_train)
    return model, out

talos.Scan(x, y, params=params, model=modelbuilder)

但是Keras提供了第二种通过ImageDataGenerator类导入数据的方法,而不是一个数组,您只需要一个包含训练/验证图像的目录即可。

train_datagen = ImageDataGenerator()
train_generator = train_datagen.flow_from_directory(
    train_data_dir,
    batch_size=batch_size
)

我不清楚如何Scan,数据生成应包含一个超参数(批大小),该参数应位于modelbuilder函数内。但同时Scan要求将数据参数作为数组提供。关于如何将Talos与ImageDataGenerator结合的任何建议。

1 个答案:

答案 0 :(得分:0)

您现在可以在Talos实验中使用fit_generator()。有关更多信息,请参见corresponding issue

没有关于“如何做”的具体说明,根据Talos的哲学,您可以完全按照与独立Keras模型一起使用fit_generator的方式来使用fit_generator。只需将model.fit(...)替换为model.fit_generator(...)并根据需要使用一个生成器。