Как передать входные данные X и y_pred пользовательской функции потерь в кератах? - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу создать пользовательскую функцию потерь для керас, которая должна рассчитывать потери, используя входные данные X модели (массив numpy) и y_pred модели. Я использовал это:

def customloss(x):
    def loss(x,y_pred):
       _img_based_on_pred = make_an_image_with_respect_to(y_pred)
       return distance(x,_img_basedon_pred)
    return loss

и передайте параметры следующим образом:

_gen.compile(loss=[customloss(inputs)],optimizer='SGD',metrics=['accuracy'])

Керас отправит inputs в customloss, а также y_pred, но в loss make_an_image_respect_to получает y_pred, это как Тензор, и я не могу его прочитать. Выходные данные модели должны быть числами с плавающей запятой, и это то, что мне нужно make_an_image_respect_to.

Как мне сделать такую ​​вещь? Чтобы отправить и входной сэмпл, и y_pred в пользовательскую функцию потерь?

Ps: Я делаю модель для извлечения некоторых параметров из изображения. Я хочу отправить обратно (потерю) разницу (функцию расстояния) между входным изображением и изображением, полученным по параметрам, оцененным моделью (используя функцию).

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