如何将恢复的Tensorflow模型的输入大小调整为批量大小1以进行测试时间评估?

时间:2017-08-04 07:31:58

标签: python tensorflow deep-learning

我正在尝试在推理阶段使用Tensorflow上的训练模型。在训练期间,我使用通过shuffle_batch函数获得的批量大小为8:

image_batch, label_batch = \
    tf.train.shuffle_batch([image, label], batch_size=8, 
                           capacity=2000, num_threads=2, 
                           min_after_dequeue=1000)

以下是推理阶段的相关部分:

with tf.Session() as sess:
    saver = tf.train.import_meta_graph('model_enc_dec-0.meta')
    saver.restore(sess, tf.train.latest_checkpoint('./'))

    graph = tf.get_default_graph()
    pred = tf.get_collection('logits_key')[0]

    image_batch_tensor = tf.get_collection('image_batch_key')[0]
    .......
    .......
    # image_loaded_from_disk is of size (1, 384, 384, 3)
    feed_dict = {image_batch_tensor:image_loaded_from_disk}
    pred_np = sess.run([pred], feed_dict=feed_dict)

以下是我在对已恢复的模型进行推理时在sess.run()行中获得的错误:

  

ValueError:无法为Tensor u' shuffle_batch:0'提供形状值(1,384,384,3),其形状为'(8,384,384,3)&# 39;

如何调整训练好的模型以接受单个图像在模型中前进?

0 个答案:

没有答案