Получение ошибки при восстановлении уже обученной модели

1

Я подготовил модель и сохранил ее контрольную точку, используя

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.

Теги:
tensorflow
conv-neural-network

1 ответ

0

Ключ feed_dict - это layer, а не labels. layer был создан на другом графике. Изменить на:

print(sess.run(pred, feed_dict={inputs: code, labels: label_vecs}))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню