Операция имеет `None` для градиента. Обычные операции без градиента: K.argmax, K.round, K.eval
У меня возникла проблема с отчетом о точности и отзыве, так как их значение для положительного класса намного меньше, около 15%. Поэтому, чтобы исправить это, я написал собственный код для функции потерь, который не является правильным и выдает ошибку.
def imbalancedloss (y_true, y_pred):
stacked =tensorflow.stack([y_true, y_pred])
def claculate_loss(y):
correct=y[0]
predict=y[0]
if correct== 1 and predict== 0 :
return 5
elif correct== 0 and predict== 1:
return 0.5
else:
return 0
loss_array = tensorflow.keras.backend.map_fn(claculate_loss, stacked)
return(tensorflow.keras.backend.sum(loss_array))
это будет передано в модели глубокого обучения Keras при составлении модели для "потери"
Ошибка: операция имеет None
для градиента. Пожалуйста, убедитесь, что все ваши операции имеют определенный градиент (то есть являются дифференцируемыми). Обычные операции без градиента: K.argmax, K.round, K.eval.