如何将经过预训练的tflearn.DNN模型加载到另一个线程中的另一个项目中?

时间:2019-06-15 13:59:32

标签: python multithreading tensorflow wxpython tflearn

我用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 ***************')

在load方法期间,出现异常:

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 / ca = / localhost:/任务:0 /设备:CPU:0“](_ arg_save_1 / Const_0_0,save_1 / RestoreV2 / tensor_names,save_1 / RestoreV2 / shape_and_slices)]]      [[节点:save_1 / RestoreV2 / _257 = _Recvclient_terminated = false,recv_device =“ / job:localhost /副本:0 / task:0 / device:GPU:0”,send_device =“ / job:localhost / replica:0 / task :0 /设备:CPU:0“,send_device_incarnation = 1,tensor_name =” edge_312_save_1 / RestoreV2“,tensor_type = DT_FLOAT,_device =” / job:localhost /副本:0 / task:0 / device:GPU:0“]]

我在做什么错了?

更新:(我刚刚发现的其他信息) 我将模型加载到其他线程中。 我试图将模型加载到主线程上,并且可以正常工作。 如何在另一个线程上加载DNN模型??

0 个答案:

没有答案