keras 在深度学习中训练dataset validation_data和training_data时的无限循环

u5rb5r59  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(141)

我尝试在model.fit中输入validation_data参数,如下所示:

val_generator = data_generator(validation, mapping, features, tokenizer, max_length, vocab_size, batch_size)

train_generator = data_generator(train, mapping, features, tokenizer, max_length, vocab_size, batch_size)

history = model.fit(train_generator,
                    epochs=40,
                    steps_per_epoch=steps,
                    callbacks = callback,
                    validation_data = val_generator,
                    verbose=1 )

字符串
我得到一个问题是无限循环。我想显示瓦尔_loss和瓦尔_accuracy作为输出。
我在代码中添加validation_data = val_generator。结果是无限循环。我想从我的代码中显示val_loss和val_accuracy。你们能帮我修复吗?请。

mbjcgjjk

mbjcgjjk1#

您需要在model.fit()调用中添加另一个参数,即validation_steps(validation_steps:仅在提供validation_data且为tf.data数据集时相关。在每个epoch结束时执行验证时,在停止之前要绘制的总步骤数(样本批次))https://keras.io/api/models/model_training_apis/
由于您使用相同版本的data_generator进行训练和验证,并且您只指定了每个epoch的训练步骤,因此您需要对验证执行相同的操作,以便fit方法可以在每个epoch中知道要引入多少批次。

相关问题