创建回调函数,每采用100个数据训练,就用验证集数据验证一次
时间: 2024-03-12 12:46:06 浏览: 76
可以使用 Keras 中的 Callbacks 模块来实现这个功能。具体实现方式如下:
```python
from keras.callbacks import Callback
class ValidationCallback(Callback):
def __init__(self, validation_data, validation_freq=100):
self.validation_data = validation_data
self.validation_freq = validation_freq
def on_epoch_end(self, epoch, logs=None):
if epoch % self.validation_freq == 0:
x_val, y_val = self.validation_data
val_loss, val_acc = self.model.evaluate(x_val, y_val, verbose=0)
print(f"val_loss: {val_loss:.4f} - val_acc: {val_acc:.4f}")
```
在训练模型时,创建一个 `ValidationCallback` 的实例并传入验证集数据和验证频率即可:
```python
model.fit(x_train, y_train, epochs=1000, validation_data=(x_val, y_val), callbacks=[ValidationCallback((x_val, y_val), validation_freq=100)])
```
这样,每训练 100 个数据就会用验证集数据验证一次,输出验证集的损失和准确率。
阅读全文