【问题标题】:TensorFlow - NameError: name 'session' is not definedTensorFlow - NameError:名称“会话”未定义
【发布时间】:2018-04-21 09:12:32
【问题描述】:

以下代码部分的最后一行有错误:

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)

我该如何解决这个问题?

谢谢。

【问题讨论】:

  • session 只能在with 块内使用...

标签: python tensorflow


【解决方案1】:

您尚未在 session.run() 之前定义 session。只需定义它(例如session=tf.Session()),它应该可以工作。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-11-19
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      • 2022-01-21
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      相关资源
      最近更新 更多