TensorFlow - NameError:未定义名称“session”

时间:2018-04-20 23:06:50

标签: python tensorflow

我在以下代码部分的最后一行出错:

confusionMatrix = tf.confusion_matrix(labels=y_true_cls,predictions=y_pred_cls)
x_batch, y_batch, _, cls_batch = data.valid.next_batch(batch_size_validation)
confusionMatrix = session.run(confusionMatrix, feed_dict={x: x_batch, y_true: y_batch})

错误说明如下:

NameError: name 'session' is not defined

在我的代码末尾(在上面的代码部分之后),我有以下内容:

with tf.Session() as session:
    init = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())
    session.run(init)
    train( num_iteration=1000)

我该如何解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:1)

您尚未在session.run()之前定义会话。只需定义它(例如session=tf.Session())就可以了。

答案 1 :(得分:1)

我只是将我的混淆矩阵包含在一个名为evaluate()的函数中,并在evaluate()块中的train(num_iteration=1000)下发出with tf.Session() as session:的调用:

with tf.Session() as session:
    init = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())
    session.run(init)
    train(num_iteration=10000)
    evaluate()