我已成功将重新训练的 InceptionV3 NN 导出为 TensorFlow 元图。我已经成功地将这个 protobuf 读回 python,但是我很难找到一种方法来导出每个层的权重和偏差值,我假设它们存储在元图 protobuf 中,用于在 TensorFlow 之外重新创建 nn。
我的工作流程是这样的:
Retrain final layer for new categories
Export meta graph tf.train.export_meta_graph(filename='model.meta')
Build python pb2.py using Protoc and meta_graph.proto
Load Protobuf:
import meta_graph_pb2
saved = meta_graph_pb2.CollectionDef()
with open('model.meta', 'rb') as f:
saved.ParseFromString(f.read())
从这里我可以查看图表的大部分方面,比如节点名称等,但我认为我的经验不足使得很难找到正确的方法来访问每个相关层的权重和偏差值。