加载预训练的Resnet模型时出错

时间:2019-07-08 01:06:53

标签: tensorflow resnet pre-trained-model

我正在尝试在下面的链接中加载经过预先​​训练的ResNet模型 https://drive.google.com/open?id=1xkVK92XLZOgYlpaRpG_-WP0Elzg4ewpw

但是它给出了RuntimeError:会话图为空。在调用run()之前将操作添加到图形。

可能是什么问题?

import tensorflow as tf
import tensorflow.contrib.slim as slim

# Let's load a previously saved meta graph in the default graph
# This function returns a Saver
saver = tf.train.import_meta_graph('model.ckpt-0.meta')

# We can now access the default graph where all our metadata has been loaded
graph = tf.get_default_graph()

with tf.Session(graph=tf.Graph()) as sess:

    saver.restore(sess, 'model.ckpt-0.data-00000-of-00001')
    print('Worked')

2 个答案:

答案 0 :(得分:0)

您必须有一个模型(粗糙房屋)和负荷参数(床,家具)。现在您需要一个粗糙房屋(操作,例如:tf.Variable(),tf.add(),tf.nn。 softmax_cross_entropy_with_logits())。

答案 1 :(得分:0)

with tf.Session() as sess:
#  tf.saved_model.loader.load(sess, [tag_constants.TRAINING], export_dir)

  saver = tf.train.import_meta_graph('C://Users//hardi//tutorial//resnet//model.ckpt.meta')
#  new_saver   = saver.restore(sess, tf.train.latest_checkpoint('C://Users//hardi//tutorial//resnet//'))
  saver.restore(sess, 'model.ckpt')
  graph = tf.get_default_graph()
  print('success')

错误是使保护程序实例进入循环并使用'model.ckpt'而不是'model.ckpt-0.data-00000-of-00001'作为V2检查点 在这里https://github.com/tensorflow/models/issues/2676

找到了解决方案