如何解决如何修复此Tensorflow Saver恢复错误,该错误在反复使用估算模型的def函数时发生
我使用张量流和keras创建了一个估计模型,并使用tf.train.Saver将其变成def函数。
但是,重复使用此def函数会发生以下错误。
此错误的原因是什么,我该如何解决?
“ Model.py”中估算模型的def函数
def LSTM_Model(input_data):
x = tf.placeholder(tf.float32,[None,20,121],name="input")
with tf.variable_scope('LSTM'):
y_pred = Lsss(x)
with tf.Session() as sess:
saver = tf.train.Saver(max_to_keep=4)
tf.global_variables_initializer().run()
ckpt = tf.train.get_checkpoint_state(
'C:\LSTM\LSTM_model3\LSTM_paper_2_mean20_4_3_epoch_31_look_back_20_1\Result3')
saver.restore(sess,ckpt.model_checkpoint_path)
K.set_learning_phase(False)
height = sess.run([y_pred],{x: input_data})
return height[0][0]
主要功能
from Model import LSTM_Model
from numpy import *
import hdf5storage
import numpy as np
def main():
filename = 'Datafile'
mat_file = hdf5storage.loadmat('C:/LSTM/Data/'+filename+'.mat')
TrainSet = mat_file['Trainingset'][0]
Train_time = mat_file['Train_time'][0]
trainnum = 0
data1 = TrainSet[trainnum]
before_data = data1[Train_time[trainnum]-20:Train_time[trainnum],0:121]
input_data = np.reshape(before_data,(1,121))
height = LSTM_Model(input_data)*1000
print(height)
height = LSTM_Model(input_data)*1000
print(height)
发生的错误
C:\Users\username\Anaconda3\python.exe C:/LSTM/main.py
[544.562]
Traceback (most recent call last):
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\client\session.py",line 1356,in _do_call
return fn(*args)
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\client\session.py",line 1341,in _run_fn
options,feed_dict,fetch_list,target_list,run_metadata)
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\client\session.py",line 1429,in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.NotFoundError: 2 root error(s) found.
(0) Not found: Key LSTM_1/cu_dnnlstm_3/bias not found in checkpoint
[[{{node save_1/RestoreV2}}]]
(1) Not found: Key LSTM_1/cu_dnnlstm_3/bias not found in checkpoint
[[{{node save_1/RestoreV2}}]]
[[save_1/RestoreV2/_37]]
0 successful operations.
0 derived errors ignored.
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 1286,in restore
{self.saver_def.filename_tensor_name: save_path})
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\client\session.py",line 950,in run
run_metadata_ptr)
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\client\session.py",line 1173,in _run
feed_dict_tensor,options,line 1350,in _do_run
run_metadata)
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\client\session.py",line 1370,in _do_call
raise type(e)(node_def,op,message)
tensorflow.python.framework.errors_impl.NotFoundError: 2 root error(s) found.
(0) Not found: Key LSTM_1/cu_dnnlstm_3/bias not found in checkpoint
[[node save_1/RestoreV2 (defined at \LSTM\Model.py:35) ]]
(1) Not found: Key LSTM_1/cu_dnnlstm_3/bias not found in checkpoint
[[node save_1/RestoreV2 (defined at \LSTM\Model.py:35) ]]
[[save_1/RestoreV2/_37]]
0 successful operations.
0 derived errors ignored.
Original stack trace for 'save_1/RestoreV2':
File "/LSTM/main.py",line 114,in <module>
main()
File "/LSTM/main.py",line 96,in main
height = LSTM_Model(input_data)*1000
File "\LSTM\Model.py",line 35,in LSTM_Model
saver = tf.train.Saver(max_to_keep=4)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 825,in __init__
self.build()
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 837,in build
self._build(self._filename,build_save=True,build_restore=True)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 875,in _build
build_restore=build_restore)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 508,in _build_internal
restore_sequentially,reshape)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 328,in _AddRestoreOps
restore_sequentially)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 575,in bulk_restore
return io_ops.restore_v2(filename_tensor,names,slices,dtypes)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\ops\gen_io_ops.py",line 1780,in restore_v2
name=name)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py",line 788,in _apply_op_helper
op_def=op_def)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\util\deprecation.py",line 507,in new_func
return func(*args,**kwargs)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py",line 3616,in create_op
op_def=op_def)
File "\Users\username\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py",line 2005,in __init__
self._traceback = tf_stack.extract_stack()
During handling of the above exception,line 1296,in restore
names_to_keys = object_graph_key_mapping(save_path)
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 1614,in object_graph_key_mapping
object_graph_string = reader.get_tensor(trackable.OBJECT_GRAPH_PROTO_KEY)
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py",line 678,in get_tensor
return CheckpointReader_GetTensor(self,compat.as_bytes(tensor_str))
tensorflow.python.framework.errors_impl.NotFoundError: Key _CHECKPOINTABLE_OBJECT_GRAPH not found in checkpoint
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "C:/LSTM/main.py",in <module>
main()
File "C:/LSTM/main.py",in main
height = LSTM_Model(input_data)*1000
File "C:\LSTM\Model.py",line 39,in LSTM_Model
saver.restore(sess,ckpt.model_checkpoint_path)
File "C:\Users\username\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py",line 1302,in restore
err,"a Variable name or other graph key that is missing")
tensorflow.python.framework.errors_impl.NotFoundError: Restoring from checkpoint failed. This is most likely due to a Variable name or other graph key that is missing from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:
2 root error(s) found.
(0) Not found: Key LSTM_1/cu_dnnlstm_3/bias not found in checkpoint
[[node save_1/RestoreV2 (defined at \LSTM\Model.py:35) ]]
(1) Not found: Key LSTM_1/cu_dnnlstm_3/bias not found in checkpoint
[[node save_1/RestoreV2 (defined at \LSTM\Model.py:35) ]]
[[save_1/RestoreV2/_37]]
0 successful operations.
0 derived errors ignored.
Original stack trace for 'save_1/RestoreV2':
File "/LSTM/main.py",in __init__
self._traceback = tf_stack.extract_stack()
Process finished
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。