我用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模型??