我正在尝试在推理阶段使用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;
如何调整训练好的模型以接受单个图像在模型中前进?