OS Platform and Distribution: Ubuntu 18.04
tf.VERSION = 1.13.1
tf.GIT_VERSION = b'v1.13.1-0-g6612da8951'
tf.COMPILER_VERSION = b'v1.13.1-0-g6612da8951'
Python version: 3.6.10
GCC/Compiler version (if compiling from source): 4.8.5
CUDA/cuDNN version: 10.2
GPU model and memory: Nvidia Tesla V100, 16gb
我无法导入元图。即使我定义了tf.placeholder(name =“ data”,shape =(None,64),dtype = tf.float32),下一层也会出现错误。我也尝试使用tf2.0。但是那里同样的问题。
重现该问题的代码
import tensorflow as tf
model_dir="./model" # change this line to the directory where checkpoint and models are saved
checkpoint = tf.train.get_checkpoint_state(model_dir)
input_checkpoint = checkpoint.model_checkpoint_path
clear_devices = True
with tf.Session(graph=tf.Graph()) as sess:
saver = tf.train.import_meta_graph(input_checkpoint + '.meta', clear_devices=clear_devices)
检查点文件附加在model.zip中。
StackTrace
Traceback (most recent call last):
File "import_meta_graph.py", line 11, in <module>
saver = tf.train.import_meta_graph(input_checkpoint + '.meta', clear_devices=clear_devices)
File "/home/ubuntu/tf1.13/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1435, in import_meta_graph
meta_graph_or_file, clear_devices, import_scope, **kwargs)[0]
File "/home/ubuntu/tf1.13/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1457, in _import_meta_graph_with_return_elements
**kwargs))
File "/home/ubuntu/tf1.13/lib/python3.6/site-packages/tensorflow/python/framework/meta_graph.py", line 852, in import_scoped_meta_graph_with_return_elements
ops.prepend_name_scope(value, scope_to_prepend_to_names))
File "/home/ubuntu/tf1.13/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3478, in as_graph_element
return self._as_graph_element_locked(obj, allow_tensor, allow_operation)
File "/home/ubuntu/tf1.13/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3538, in _as_graph_element_locked
"graph." % repr(name))
KeyError: "The name 'data' refers to an Operation not in the graph."
您应删除graph=tf.Graph()
,否则import_meta_graph
会将其导入到错误的图形中。