使用Tensorflow 1.3
slim models,我们可以访问许多预先训练过的模型。通常他们有三个。例如,对于MobileNet:
67903136 Jun 14 00:15 mobilenet_v1_1.0_224.ckpt.data-00000-of-00001
19954 Jun 14 00:15 mobilenet_v1_1.0_224.ckpt.index
4319476 Jun 14 00:15 mobilenet_v1_1.0_224.ckpt.meta
显然,传统的访问权重的方法不起作用:
saver = tf.train.import_meta_graph("path/your/meta/file")
saver.restore("path/to/data/file")
graph = tf.get_default_graph()
writer = tf.summary.FileWriter("path/to/write/graph")
writer.add_graph(graph)
这会出错:
ValueError: No op named SSTableReaderV2 in defined operations.
使用后端类Event_accumulator
只会返回空数组:
import tensorflow as tf
from tensorboard.backend.event_processing.event_accumulator import EventAccumulator
event_acc = EventAccumulator('${CHKPNT_DIR}')
event_acc.Reload()
# Show all tags in the log file
print(event_acc.Tags())
有没有办法解决此问题以查看权重?
我看到有人试图使用Slim-git来制作frozen models(.pb
),但输出.pb文件的Scalars在被tensorboard
读取时返回空。