如何使用tensorflow MNIST模式进行推理
我正在学习tensorflow。在完成tensorflow教程mnistforExpert()之后,我尝试使用经过训练的模型来运行推理。我复制了两个[28x28]图像,将它们放入[28x28x2]数组中,并保存了一个matlab文件。然后,我使用以下代码运行推断:如何使用tensorflow MNIST模式进行推理,tensorflow,mnist,inference,Tensorflow,Mnist,Inference,我正在学习tensorflow。在完成tensorflow教程mnistforExpert()之后,我尝试使用经过训练的模型来运行推理。我复制了两个[28x28]图像,将它们放入[28x28x2]数组中,并保存了一个matlab文件。然后,我使用以下代码运行推断: data = sio.loadmat("data/test/testdig.mat") data = tf.reshape(data["testdig"], [-1, 28, 28, 1]) x = tf.placeholder(t
data = sio.loadmat("data/test/testdig.mat")
data = tf.reshape(data["testdig"], [-1, 28, 28, 1])
x = tf.placeholder(tf.float32, shape=[None, 28, 28, 1]);
W_conv1 = weight_variable([5, 5, 1, 32])
b_conv1 = bias_variable([32])
h_conv1 = tf.nn.relu(conv2d(x, W_conv1) + b_conv1)
h_pool1 = max_pool_2x2(h_conv1)
....CNN network stuff
y_conv = tf.matmul(h_fc1_drop, W_fc2) + b_fc2
prediction = tf.argmax(y_conv, 1)
saver = tf.train.Saver()
with tf.Session() as sess:
saver.restore(sess, "model/mnist.ckpt") //restored the saved model
print(prediction.eval(feed_dict={x: data, keep_prob: 1.0}))
但是,上面的代码在最后一行给了我一个错误:
raise TypeError('提要的值不能是tf.Tensor对象。'
TypeError:提要的值不能是tf.Tensor对象。可接受的提要值包括Python标量、字符串、列表、numpy ndarray或TensorHandles
为什么?在您的代码中:
data = tf.reshape(data["testdig"], [-1, 28, 28, 1])
这意味着数据是一个将在以后某个时间计算的张量。您不能将其用作输入,因为您不知道该值
您需要在x
(您的占位符)上应用重塑,以便它在模型中发生
或者使用numpy操作来重塑数据,以符合tensorflow的预期