我在尝试使用 TensorFlow 的 ModelCheckpoint 回调在 Kaggle 笔记本中训练 Keras 模型时遇到问题。这是我的设置和我遇到的错误:设置:我正在构建 Keras...
我在尝试使用 TensorFlow 的 ModelCheckpoint 回调在 Kaggle 笔记本中训练 Keras 模型时遇到问题。以下是我的设置和我遇到的错误:
设置:
我正在使用 TensorFlow 构建用于多标签分类的 Keras 模型。以下是我的代码的相关部分:
from keras.models import Sequential
from keras.layers import Dense, Dropout, LSTM, BatchNormalization
from keras.callbacks import TensorBoard
from keras.callbacks import ModelCheckpoint
from keras.optimizers import AdamW
epochs = 4
loss = tf.keras.losses.BinaryCrossentropy(from_logits=False)
classifier_model.compile(optimizer='adam',
loss=loss,
metrics = 'roc-auc')
print(f'Training model with {tfhub_handle_encoder}')
checkpoint_filepath = '/kaggle/working/tmp_weights.h5'
model_checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(
filepath=checkpoint_filepath,
save_weights_only=True,
monitor='val_loss',
mode='min',
save_best_only=True)
history = classifier_model.fit(x=train_ds,
validation_data=val_ds,
epochs=epochs,
callbacks = [model_checkpoint_callback])
错误:
运行训练脚本后,我遇到以下错误:
ValueError: Unexpected result of `train_function` (Empty logs). This could be due to issues in input pipeline that resulted in an empty dataset. Otherwise, please use `Model.compile(..., run_eagerly=True)`, or `tf.config.run_functions_eagerly(True)` for more information of where went wrong, or file a issue/bug to `tf.keras`.
附加背景信息:
-
我正在使用 TensorFlow Hub 编码器(
tfhub_handle_encoder
)进行文本嵌入。
-
train_ds
和 val_ds
分别是包含我的训练和验证数据的对象,它们具有以下格式: <_TakeDataset element_spec=(TensorSpec(shape=(None,), dtype=tf.string, name=None), TensorSpec(shape=(None, 6), dtype=tf.int64, name=None))>
-
我已经验证了我的数据加载和预处理步骤是正确的,并且
train_ds
和 val_ds
不为空。
要求:
如果您能提供任何关于如何解决 Kaggle 上 Keras 训练脚本中的 ModelCheckpoint 回调问题的建议或见解,我将不胜感激。谢谢!