我正在尝试从 TF 对象检测 API 加载 Tensorflow 检查点,通过附加一些操作来修改它,然后将生成的图形保存到文件中。但是,由于某种原因,它似乎不起作用。 tf.train.Saver 一直抱怨没有变量可以保存。我检查了加载的图形以查看它是否包含变量,并且确实包含变量。所以我不确定为什么会发生错误。
一个最小的例子如下所示:
path = 'path to TF OD API saved checkpoint dir'
tf.reset_default_graph()
with tf.Session() as sess:
new_saver = tf.train.import_meta_graph(os.path.join(path, 'model.ckpt.meta'))
new_saver.restore(sess, os.path.join(path, 'model.ckpt'))
sess.run(tf.global_variables_initializer())
saver = tf.train.Saver()
saver.save(sess, os.path.join(path, 'model2.ckpt'))
错误:
Traceback (most recent call last):
File "C:/Users/nlmsr/PycharmProjects/optdl/inference/objectdetection_and_tracking/temp.py", line 11, in <module>
saver = tf.train.Saver()
File "C:\Users\nlmsr\Anaconda3\envs\optdl\lib\site-packages\tensorflow_core\python\training\saver.py", line 828, in __init__
self.build()
File "C:\Users\nlmsr\Anaconda3\envs\optdl\lib\site-packages\tensorflow_core\python\training\saver.py", line 840, in build
self._build(self._filename, build_save=True, build_restore=True)
File "C:\Users\nlmsr\Anaconda3\envs\optdl\lib\site-packages\tensorflow_core\python\training\saver.py", line 865, in _build
raise ValueError("No variables to save")
ValueError: No variables to save
我正在使用 TF1.15,目前无法迁移到 TF2.0。