Пользовательские потери в Keras - медленные при компиляции и подгонке - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь выполнить функцию потерь в Keras, как в Pytorch https://pytorch.org/docs/master/generated/torch.nn.MultiLabelMarginLoss.html

, но на сборку модели уходит много времени, а после этого требуется очень много времени. долго тренировать его (особенно первую партию) (я использую multi gpu)

возможно это из-за циклов или неправильного использования Keras.backend,

Вот код: (L - количество классов)

def mlm_loss(y_true, y_pred):
loss=float(0)
a = tf.keras.backend.constant(1, dtype='float32')
for s in range(batch_size): # for each sample in batch
    for i in range(L):
        for j in range(L):
            loss=loss + y_true[s][i]*(a-y_true[s][j])*(a-(y_pred[s][i]-y_pred[s][j])) #two conditions
l= tf.keras.backend.constant(L, dtype='float32')            
loss=a/l*loss           
return loss

спасибо за помощь

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