我目前正在通过this教程,内容涉及如何使用TensorFlow训练CNN并使用它基于CIFAR-10数据集对图像进行分类。运行评估脚本cifar10_eval.py时,输出是模型相对于测试集的精确度的精确度等级。相反,我想查看测试数据上每个类别的模型分类的输出。 logit的计算和存储方式是通过
# Build a graph that computes the logits predictions from the
# inference model.
logits = cifar10.inference(images)
运行此行之后,我编辑了脚本,以通过以下方式显示“ logits”变量的类型,其形状以及其元素的类型:
print(type(logits))
print(logits.dtype)
print(logits.shape)
哪个返回以下输出:
class'tensorflow.python.framework.ops.Tensor'
dtype:“ float32”
(128,10)
我假设存在128个测试图像,形状为(128,10),每个图像都被评估为10个类别中每个类别的可能性。为了显示此内容,我正在尝试以下代码:
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(logits.eval())
此.eval()语句永远不会终止,我想知道哪里出了问题以及如何解决此问题,以便可以访问Logit?
答案 0 :(得分:0)
这可能是因为您正在打开一个新会话(并使用该会话重新初始化变量!)。尝试在创建的同一会话中评估logits
。但是奇怪的是它没有终止,它应该引发一个错误。另外,它是tf.Session()
而不是tf.Session