ValueError:未知丢失函数:triplet_loss

时间:2019-08-30 02:31:34

标签: python-3.x tensorflow

尝试将模型转换为tflite或.pb文件时遇到以下错误:

  

ValueError:未知丢失函数:triplet_loss

我检查了StackOverflow和GitHub上发布的不同解决方案,但是它们都不适合我的代码。

#calculates triplet loss
def triplet_loss(y_true, y_pred, alpha = 0.2):

    anchor, positive, negative = y_pred[0], y_pred[1], y_pred[2]

    # triplet loss formula 
    pos_dist = tf.reduce_sum( tf.square(tf.subtract(anchor, positive)) )
    neg_dist = tf.reduce_sum( tf.square(tf.subtract(anchor, negative)) )
    basic_loss = pos_dist - neg_dist + alpha
    loss = tf.maximum(basic_loss, 0.0)
    return loss

# load the model    
model = load_model('facenet_model/model.h5', custom_objects={'triplet_loss': triplet_loss})

我相信我必须对三重损失函数进行一些更改才能解决值错误。

0 个答案:

没有答案