Bạn có thể sử dụng bất kỳ hàm số liệu nào mà bạn đã chỉ định khi biên dịch mô hình.
Giả sử bạn có hàm số liệu sau:
def my_metric(y_true, y_pred):
return some_metric_computation(y_true, y_pred)
Yêu cầu duy nhất cho chức năng này là phải chấp nhận y thực và y dự đoán.
Khi bạn biên dịch mô hình, bạn chỉ định số liệu này, tương tự như cách bạn chỉ định xây dựng theo số liệu như 'độ chính xác':
model.compile(metrics=['accuracy', my_metric], ...)
Lưu ý rằng chúng tôi đang sử dụng tên hàm my_metric mà không có '' (trái ngược với bản dựng trong 'độ chính xác').
Sau đó, nếu bạn xác định EarlyStopping của mình, chỉ cần sử dụng tên của hàm (lần này với ''):
EarlyStopping(monitor='my_metric', mode='min')
Đảm bảo chỉ định chế độ (tối thiểu nếu thấp hơn là tốt hơn, tối đa nếu cao hơn là tốt hơn).
Bạn có thể sử dụng nó giống như bất kỳ số liệu tích hợp nào. Điều này có lẽ cũng hoạt động với các Callbacks khác như ModelCheckpoint (nhưng tôi chưa kiểm tra điều đó). Trong nội bộ, Keras chỉ cần thêm số liệu mới vào danh sách các số liệu có sẵn cho mô hình này bằng tên hàm.
Nếu bạn chỉ định dữ liệu để xác thực trong mô hình của mình.fit (...), thì bạn cũng có thể sử dụng dữ liệu đó cho EarlyStopping bằng cách sử dụng 'val_my_metric'.