Разрешен ли вызов модели внутри пользовательской функции потерь в tensorflow 2?

#python #tensorflow #keras #neural-network #loss-function

Вопрос:

Я пытаюсь написать пользовательскую функцию потерь в Tensorflow 2 для обучения своей нейронной сети. Я хотел знать, разрешен ли вызов модели (которую я тренирую) из функции потерь. Похоже, у него нет проблем с обучением с использованием такой функции потерь, но я хотел убедиться, что с этим не будет никаких проблем, прежде чем я продолжу.

Пример:

 def custom_loss(model, dummy_data):
   def loss(y_true, y_pred):
      loss1 = tf.reduce_mean(tf.square(u_pred - y_true))
      loss2 = tf.reduce_mean(model(dummy_data))
      return loss1 0.5*loss2
   return loss

model = Model(input_tensor, output_tensor)
model.compile(loss=custom_loss(model, dummy_data), optimizer='adam')
 

Любые комментарии были бы очень признательны.

Комментарии:

1. По моему мнению, такой подход не является лучшей практикой.