ValueError: установка элемента массива с последовательностью - Tensorflow - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь реализовать функцию Huber Loss в Python

def huber_loss(pred,true,name=None):
            huber_mse = 0.5*(true-pred)**2
            huber_mae = 1.5 * (np.abs(true - pred) - 0.5 * 1.5)
            return np.where(np.abs(true - pred) <= 1.5, huber_mse, huber_mae)

, которая выдает мне ошибку ValueError: setting an array element with a sequence. Я думаю, что мне нужно использовать tenorflow, так как pred и true оба являются массивами для определения моя функция, это правильно? Если да, то как бы это изменить?

Я проверил

def huber_loss(pred,true,name=None):
            huber_mse = 0.5*(true-pred)**2
            huber_mae = 1.5 * (tf.math.abs(true - pred) - 0.5 * 1.5)
            return tf.where(tf.math.abs(true - pred) <= 1.5, huber_mse, huber_mae)

Мне нужно применить его к add_moving_summary(huber_loss(...)), который принимает только скалярный тензор, поэтому вышеприведенное не работает. ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...