Как загрузить предварительно обученную модель tflearn.DNN в другой проект в другом потоке? - PullRequest
0 голосов
/ 15 июня 2019

Я создал проект с TFLearn, который создает остаточную сеть. Теперь я хочу взять обученную модель и загрузить ее в другой проект. Я использую этот код для загрузки модели:

MODEL_NAME = 'ResidualNet_Mole'

model = tflearn.DNN(net, tensorboard_verbose=0, clip_gradients=0.)

        if os.path.exists('{}.meta'.format(self.MODEL_NAME)):
            model.load(self.MODEL_NAME)
            print('********** Model loaded ***************')
        else:
            print('********** Model not found ***************')

Во время загрузки метода я получаю исключение:

NotFoundError (см. Выше для отслеживания): восстановление из контрольной точки не удалось. Скорее всего, это связано с отсутствием в контрольной точке имени переменной или другого ключа графика. Пожалуйста, убедитесь, что вы не изменили ожидаемый график на основе контрольной точки. Исходная ошибка:

Ключ ResidualBlock / BatchNormalization / is_training не найден в контрольной точке [[Узел: save_1 / RestoreV2 = RestoreV2 [dtypes = [DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, ..., DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], _device = / / задание 0: local 0) / job: local 0 задача: 0 / устройство: ЦП: 0 "] (_arg_save_1 / Const_0_0, save_1 / RestoreV2 / tenor_names, save_1 / RestoreV2 / shape_and_slices)]] [[Узел: save_1 / RestoreV2 / _257 = _Recvclient_terminated = false, recv_device = "/ job: localhost / replica: 0 / task: 0 / device: GPU: 0", send_device = "/ job: localhost / replica: 0 / task : 0 / устройство: ЦП: 0 ", send_device_incarnation = 1, тензор_имя =" edge_312_save_1 / RestoreV2 ", тип_тензора = DT_FLOAT, _device =" / job: localhost / replica: 0 / task: 0 / device: GPU: 0 "]]

Что я делаю не так?

Обновление: (дополнительная информация, которую я только что узнал) Я загружаю модель в другой теме. Я попытался загрузить модель в основной поток, и это сработало. Как загрузить модель DNN в другой поток ????

...