играя с tenorflow Я написал простую функцию метрик:
def custom__error(y_true, y_pred):
ytrue = tf.round(y_true)
ypred = tf.round(y_pred)
z = tf.math.equal(ytrue, ypred)
return tf.math.count_nonzero(z,axis=1)
Поскольку count_nonzero только считает, я ожидал восстановить целочисленные значения, а не десятичные: custom__error: 0.3524 ...
1802/1802 [=...==] - 0s 192us/step - loss: 52.3571 - accuracy: 1.0000 - custom__error: 0.3524
Что делается внутри обратного вызова metri c для получения десятичного значения?
model.compile(loss='mean_squared_error',
optimizer='adam',
metrics=['accuracy',custom__error])