恢复已训练的模型时出现错误

时间:2018-08-29 23:27:30

标签: python tensorflow conv-neural-network

我已经训练了一个模型,并使用保存了它的检查点

saver.save(sess, "checkpoints/sleeve.ckpt")

以下是CNN模型的体系结构

inputs_ = tf.placeholder(tf.float32, shape=[None, codes.shape[1]], name ='inputs_')
labels_ = tf.placeholder(tf.int64, shape=[None, label_vecs.shape[1]], name='labels_')


layer = tf.contrib.layers.fully_connected(inputs_, 128)
logits = tf.contrib.layers.fully_connected(layer, label_vecs.shape[1],activation_fn=None)# output layer logits
cross_entropy = tf.nn.softmax_cross_entropy_with_logits(labels=labels_, logits=logits)# cross entropy loss
cost = tf.reduce_mean(cross_entropy)

optimizer = tf.train.AdamOptimizer().minimize(cost)# training optimizer

# Operations for validation/test accuracy
predicted = tf.nn.softmax(logits)
correct_pred = tf.equal(tf.argmax(predicted, 1), tf.argmax(labels_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))

我正在使用以下命令在其他笔记本中恢复上述型号

imported_meta tf.train.import_meta_graph("checkpoints/neckline.ckpt.meta")

with tf.Session() as sess:
    imported_meta.restore(sess, tf.train.latest_checkpoint('./checkpoints'))
    graph = tf.get_default_graph()
    inputs = graph.get_tensor_by_name("inputs_:0")
    labels = graph.get_tensor_by_name("labels_:0")
    pred = graph.get_tensor_by_name("prediction:0")
    print(sess.run(pred, feed_dict={inputs:code, layer:label_vecs}))

它抛出错误Cannot interpret feed_dict key as Tensor: Tensor Tensor("fully_connected/Relu_1:0", shape=(?, 128), dtype=float32) is not an element of this graph.

1 个答案:

答案 0 :(得分:0)

您的message键是feed_dict,而不是layerlabels是在其他图中创建的。更改为:

layer