Я тестирую пользовательские потери, которые сочетают в себе классификацию и регрессию (например, потери YOLO).увы, TensorFlow выдает nan (NaN) на тренировках ... Я пробовал советы людей здесь и в любом месте, но все же, не исправить.
вот мой код:
def S_loss(y_true, y_pred):
Gnoobj = 0.5
Gcoord = 5.
mask = y_pred[..., 0] > 0
w_pred = tf.boolean_mask(y_pred[..., 1], mask)
w_true = tf.boolean_mask(y_true[..., 1], mask)
h_pred = tf.boolean_mask(y_pred[..., 2], mask)
h_true = tf.boolean_mask(y_true[..., 2], mask)
wmse = mean_squared_error(w_true, w_pred)
hmse = mean_squared_error(h_true, h_pred)
mse = wmse + hmse
binary = binary_crossentropy(y_true[..., 0], y_pred[..., 0])
return Gcoord * mse + Gnoobj * binary
спасибоза любую помощь!