Keras:模型检查点日志记录在ML引擎上消失

时间:2018-11-05 23:07:11

标签: python tensorflow keras

我已经建立了一个CNN,并创建了用于模型检查点,TensorBoard可视化和提早停止的回调。我的tf.data.Dataset中有〜408K个样本,正在使用256个批处理量,并以1,000个历元的每个纪元1,000个步数训练我的模型。当我这样做时,所有内容都可以在ML Engine上正确地训练,但是我没有像往常一样记录日志

例如,只有200个steps_per_epoch,我看到这样的日志记录:

Epoch 1/1000 1/200 [..............................] - ETA: 2:00 - loss: 5.7345 - acc: 0.98271

ML引擎日志记录也显示600 steps_per_epoch。知道为什么会这样吗?

在ML Engine上与人交谈,他们的日志记录没有减少/似乎与我的steps_per_epoch值有关。

作为参考,我的keras模型称为model,这是我正在使用的样板代码:

model.compile(
    loss='sparse_categorical_crossentropy',
    optimizer='adam',
    metrics=['accuracy'],
)
callbacks = [
    ModelCheckpoint("model_{epoch:04d}_{val_acc:.4f}.h5",
                    monitor='val_acc',
                    verbose=1,
                    save_best_only=True,
                    mode='max'),
    TensorBoard(),
    EarlyStopping(monitor='val_acc', patience=5, min_delta=0, mode='max')
]

model.fit(dataset, steps_per_epoch=1000, epochs=1000, validation_data=val_dataset,
          validation_steps=3, callbacks=callbacks)

我正在使用tf.data.Dataset API,该API需要设置steps_per_epoch。我真的只希望一个时期代表我的数据的完整传递,所以# samples / batch_size。对我来说,应该是408000 / 256 = ~1593。但是,看似:(

0 个答案:

没有答案