Перезагрузка обученной модели дает случайные прогнозы каждый раз (tf.keras) - PullRequest
0 голосов
/ 03 апреля 2019

тензор потока-версия: 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

Я ожидаю, что предсказания должны быть одинаковыми после обучения модели, но каждый раз я получаю разные случайные предсказания. Ниже приводится краткое изложение модели:
Обучаемая модель резюме
Сводка тестируемой модели

...