тензор потока-версия: 1.13.1
Я тренировал модель, используя tf.keras. Он имеет пользовательские слои и выполняет многозадачность. Но когда я прогнозирую с помощью testable_model (в приведенном ниже коде), прогнозы каждый раз разные и случайные, как будто веса полностью отличаются от обученной модели.
trainable_model = keras.models.load_model(
path, custom_objects={'Attention': Attention, 'MultiTaskLoss': MultiTaskLoss}, compile=True) # tried with compile=False
trainable_model.summary()
input = trainable_model.inputs[0]
i_output = trainable_model.get_layer('i_output').output
t_output = trainable_model.get_layer('t_output').output
testable_model = keras.models.Model(
inputs=input, outputs=[i_output, t_output])
# Tried without below for loop.
for l in testable_model.layers:
l_name = l.name
l.set_weights(trainable_model.get_layer(name=l_name).get_weights())
testable_model.compile('adam', loss={
'i_output': 'categorical_crossentropy', 't_output': 'categorical_crossentropy'})
return testable_model
Я ожидаю, что предсказания должны быть одинаковыми после обучения модели, но каждый раз я получаю разные случайные предсказания.
Ниже приводится краткое изложение модели:
Обучаемая модель резюме
Сводка тестируемой модели