我目前正致力于 MNIST 分类任务,该任务基于一组经过修改的MNIST数据,并进行了一些小的调整 .
以下代码用于创建我的模型:https://github.com/hwalsuklee/tensorflow-mnist-cnn对于火车和测试图像有一些小的调整 .
不过我可以成功创建 ckpt, index and meta 文件 .
现在我想将我的代码用于单个图像分类,但是我不确定我应该使用哪个输入张量来输入我的图像 .
sess = tf.Session('', tf.Graph())
with sess.graph.as_default():
saver = tf.train.import_meta_graph("Absolute Path to /model.ckpt.meta")
saver.restore(sess, "Absolute Path to/model.ckpt")
img = Image.open('Absolute Path to/sev.png').convert('L')
img = np.expand_dims(img, axis=1).flat
sess = tf.InteractiveSession()
x = tf.placeholder(tf.float32, [784])
print(sess.run(tf.global_variables_initializer(), feed_dict={x: img}))
Sess.run()
返回 NoneType
对象,我假设错误位于字典和/或提取中 . 输出层有10个节点,在下面我尝试将获取更改为:
x = tf.placeholder(tf.float32, [784])
y = tf.placeholder(tf.float32, shape=[10])
output = tf.argmax(y,1)
result = sess.run(output, feed_dict={x: img})
print(result)
但是这会返回:
InvalidArgumentError
(参见上面的回溯):您必须为占位符张量'Placeholder_3'提供一个值,其中dtype为float和shape [10]
该代码使用两种模型,正常和变化的MNIST数据集进行了测试 . 打印所有张量没有帮助,因为返回了很长的不同张量列表,我无法确定正确的张量 .
有关识别正确张量和/或正确提取的建议吗?