在练习tensorflow时,如下代码:

with tf.Session() as sess:init_op = tf.global_variables_initializer()sess.run(init_op)print(sess.run(w1)) print(sess.run(w2))#设定训练的轮数
STEPS = 5000
for i in range(STEPS):#每次选取一个样本进行训练start = (i * batch_size) % dataset_sizeend = min(start + batch_size,dataset_size)#通过选取的样本训练神经网络并更新参数sess.run(train_step,feed_dict = {x:X[start:end],y_:Y[start:end]})if i % 1000 == 0:#每隔一段时间计算在所有数据上的交叉熵并输出total_cross_entropy = sess.run(cross_entropy,feed_dict={x:X,y_:Y})print('After %d training step(s),cross_entropy on all data is %g ' % (i,total_cross_entropy))print(sess.run(w1))
print(sess.run(w2))

运行结果会出现Attempted to use a closed Session报错提示,原因是因为‘STEPS=5000’这步出现了问题。如果“STEPS=5000”与“with tf.Session() as sess1:”对齐就会有这样的提示。

解决办法:把“STEPS=5000”及以下的code整体向后移。

正确完整代码如下:

import tensorflow as tffrom numpy.random import RandomState
batch_size = 8w1 = tf.Variable(tf.random_normal([2,3],stddev = 1,seed=1))
w2 = tf.Variable(tf.random_normal([3,1],stddev = 1,seed=1))x = tf.placeholder(tf.float32,shape=(None,2),name='x-input')
y_= tf.placeholder(tf.float32,shape=(None,1),name='y-input')#定义神经网络前向传播过程
a = tf.matmul(x,w1)
y = tf.matmul(a,w2)#定义损失函数和前向传播算法
cross_entropy = -tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))
train_step = tf.train.AdamOptimizer(0.001).minimize(cross_entropy)#通过随机数生成一个模拟数据集
rdm = RandomState(1)
dataset_size = 128
X = rdm.rand(dataset_size,2)#定义规则给出样本标签
Y = [[int(x1 + x2 < 1)] for (x1,x2) in X ]#创建一个会话来运行程序
with tf.Session() as sess:init_op = tf.global_variables_initializer()sess.run(init_op)print(sess.run(w1)) print(sess.run(w2))#设定训练的轮数 STEPS = 5000for i in range(STEPS):#每次选取一个样本进行训练start = (i * batch_size) % dataset_sizeend = min(start + batch_size,dataset_size)#通过选取的样本训练神经网络并更新参数sess.run(train_step,feed_dict = {x:X[start:end],y_:Y[start:end]})if i % 1000 == 0:#每隔一段时间计算在所有数据上的交叉熵并输出total_cross_entropy = sess.run(cross_entropy,feed_dict={x:X,y_:Y})print('After %d training step(s),cross_entropy on all data is %g ' % (i,total_cross_entropy))print(sess.run(w1))print(sess.run(w2))

实际上是with机制帮你关闭了文件f,这样可以避免有些人读写文件后忘记关闭文件。所以with代码块里的内容运行完了,你的sess就自动由with机制帮你关闭了,因此再次使用sess就会报错。解决办法就是把代码块向后缩进,实际上就是指,所有与sess相关的操作都必须放在with代码块下,如果需要在外面再次使用,那你就需要重新开启一个sess

RuntimeError: Attempted to use a closed Session.相关推荐

  1. MySQL5.7 Attempted to use a closed or broken resource pool 处理过程

    1,tomcat启动报错不能获取JDBC连接 mysql版本:5.6.10 tomcat版本:7.0 jdk版本:1.7.0_55   开发人员强调说是以前经历过重启下mysql数据库就好了,不过我不 ...

  2. log4j:ERROR Attempted to append to closed appender named [null].

    最近用Velocity总是出现以下消息 log4j:ERROR Attempted to append to closed appender named [null]. 试了很多方法未果,最后到Vel ...

  3. 这个bug很简单-log4j:ERROR Attempted to append to closed appender named

    最近调试log4j的时候,一直遇到这个错误: bug: log4j:ERROR Attempted to append to closed appender named 一直未找到原因,看了几篇博客后 ...

  4. log4j:ERROR Attempted to append to closed appender named 的问题

    一.log4j源码解析   最近出现一个问题,弄得我不得不把log4j的源代码读了一篇. 如果自己不想写代码,可以下载此代码:https://github.com/lwwcl1314/atlantis ...

  5. log4j源码解析及一个log4j:ERROR Attempted to append to closed appender named 的问题

    一.log4j源码解析 最近出现一个问题,弄得我不得不把log4j的源代码读了一篇. 如果自己不想写代码,可以下载此代码:https://github.com/lwwcl1314/atlantis/t ...

  6. tensorflow 运行报错 runtime error use a closed session

    https://blog.csdn.net/weixin_39390732/article/details/76474294

  7. 3-Tensorflow-demo_1-Graph和Session

    import tensorflow as tf import numpy as np""" 本节内容:1.Graph图的创建.2.使用tf.constant 和 tf.a ...

  8. TensorFlow调试常见问题(pycharm)

    1. RuntimeError: Attempted to use a closed Session. 在pycharm下调用tensorflow库时,运行出现以下问题: RuntimeError: ...

  9. 模拟数据集上训练神经网络,网络解决二分类问题练习

    #2018-06-24 395218 June Sunday the 25 week, the 175 day SZ ''' 模拟数据集上训练神经网络,网络解决二分类问题.'''import tens ...

最新文章

  1. CSS实现某元素hover时 所有兄弟节点样式改变
  2. shell学习(17)- shell中21的解释及输入输出重定向
  3. Mac OS X:在标题栏上显示目录完整路径
  4. window环境apache服务器在本地添加域名
  5. 停电造成的主板BIOS维修
  6. bzoj#2125. 最短路
  7. html里面怎么ul加高度,div里面嵌套了ul,为什么div的高度小于ul高度
  8. LTE网络测试仪器和监控系统
  9. OPPO Reno 3 Pro细节流出:同价位最轻薄的双模5G手机
  10. appium分层自动化的封装
  11. 访问权限java_Java访问权限
  12. Vysor Pro 手工破解-简单至极的方法
  13. 亚马逊中国发布2018图书排行榜
  14. 国内常见的日内CTA策略介绍以及实现
  15. c# .net Paypal支付Webhooks回调验证
  16. php有个schost.exe_全面认识Svchost.exe进程
  17. 工序排班问题数学模型
  18. 华为交换机做qos案例_经典案例:QoS实现交换机带宽控制(1)
  19. Windows多个桌面切换快捷键
  20. 市场复苏下:报复性消费,了解一下~

热门文章

  1. 每临大事有静气,不信今时无古贤
  2. 在1660super上安装pytorch
  3. 腾讯(应用宝)SDK接入总结
  4. C/C++ printf彩色打印输出
  5. 东莞地铁1号线全线首联连续梁顺利合龙
  6. vue 画一个小圆点
  7. uniapp分享微信 朋友圈 微博 qq
  8. 昨天晚上11点半看到凌晨2点半,看了lost《迷失》
  9. Flutter使用思源字体
  10. 【转】服务器结构探讨 -- 简单的世界服实现