使用Tensorflow 1.3
slim 模型,我们可以访问许多预训练模型。通常他们进来三个。例如对于 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制作冻结模型(.pb
tensorboard