欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tensorflow加载多graph

程序员文章站 2024-01-19 14:03:10
...

使用tf加载不同网络结构的模型时,由于默认图的设置导致后边加载时可能出现节点不存在的错误提示,如下为先加载resnet的一个网络,然后加载vgg网络时提示的错误信息。

tensorflow.python.framework.errors_impl.NotFoundError: Restoring from checkpoint failed. This is most likely due to a Variable name or other graph key that is missing from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:

Key resnet_v1_101/bbox_pred/biases not found in checkpoint

解决方法,每个会话指定独立的图结构,如下。

tfconfig = tf.ConfigProto(allow_soft_placement=True)
tfconfig.gpu_options.allow_growth = True

mygraph = tf.Graph()
mysess = tf.Session(graph=mygraph, config=tfconfig)
mynet=vgg16()

with self.graph.as_default():
    mynet.create_architecture("TEST",len(CLASSES),  
                                tag='default', anchor_scales=[8, 16, 32]) 
    saver = tf.train.Saver()
    saver.restore(mysess, ckpt_path)

 

参考文献:

  1. Importing Multiple TensorFlow Models (Graphs)