Я пытаюсь создать новую модель кераса для Кераса. Для расчета потерь я использую градиентную ленту, как предложено в https://towardsdatascience.com/custom-loss-function-in-tensorflow-2-0-d8fa35405e4e. Однако я обнаружил, что переменные не инициализируются перед операцией вызова. Чтобы дать вам простой пример.
l = tf.keras.layers.Dense(activation=None,
units = 1,
input_shape = (10, ))
l.variables
Там переменные пусты. Но при вызове
l = tf.keras.layers.Dense(activation=None,
units = 1,
input_shape = (10, ))
l(np.ones((10, 10)))
l.variables
Приведенный выше код предоставляет список переменных. Я просто пытался понять, является ли это ожидаемым поведением. В таких случаях я должен рассчитать потери перед добавлением переменных в список наблюдения.