1.模型编译时可以自定义模型准确率评估函数
# 自定义评估标准函数
import keras.backend as K
def mean_pred(y_true, y_pred):
return K.mean(y_pred)
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy', mean_pred])
2.如何用 Keras 处理超过内存的数据集?
你可以使用 model.train_on_batch(x,y) 和 model.test_on_batch(x,y) 进行批量训练与测试。请参阅 模型文档。
或者,你可以编写一个生成批处理训练数据的生成器,然后使用 model.fit_generator(data_generator,steps_per_epoch,epochs) 方法。
3.在验证集的误差不再下降时,如何中断训练?
你可以使用 EarlyStopping 回调:
from keras.callbacks import EarlyStopping
early_stopping = EarlyStopping(monitor='val_loss', patience=2)
model.fit(x, y, validation_split=0.2, callbacks=[early_stopping])