Я пытаюсь переопределить функцию потерь keras / tf2.0 пользовательской функцией, абстрагированной в двоичном файле WebAssembly. Вот соответствующий код.
@tf.function
def custom_loss(y_true, y_pred):
return tf.constant(instance.exports.loss(y_true, y_pred))
и я использую это таким образом
model.compile(optimizer_obj, loss=custom_loss)
# and then model.fit(...)
Я не совсем уверен, как работает нетерпеливое выполнение tf2.0, поэтому любые идеи по этому поводу были бы полезны.
Я не думаю, что функция instance.exports.loss имеет отношение к ошибке, однако, если вы уверены, что все остальное в порядке, дайте мне знать, и я поделюсь дополнительной информацией.
Вот трассировка стека и фактическая ошибка: https://pastebin.com/6YtH75ay