如何解决Tensorflow迭代器错误超出范围:初始化全局变量时,序列结束
我有一段tensorflow代码由于一个非常令人困惑的原因而失败了。当我创建一个迭代器时,它会正常创建并且运行良好,调用iterator.get_next()可以完美地工作并返回我需要的东西。 但是,当需要初始化所有其他变量时,迭代器将中断。 从此代码:
print("checking iterator before run",model.iterator)
sess.run(model.iterator.initializer)
print("finished initializing the iterator")
try:
print("\n in progressive iterator has next",model.iterator.get_next())
except:
print("\n iterator doesn't have a next\n")
sess.run(tf.compat.v1.global_variables_initializer())
print("finished initializing all variables")
我得到以下输出:
在运行之前检查迭代器
完成初始化迭代器 在渐进式迭代器中具有next(
, ) -------------------------------------------------- ------------------------- OutOfRangeError追踪(最近的呼叫 最后)
我将在此处复制回溯的最重要部分:
OutOfRangeError:找到2个根本错误。 (0)超出范围:序列结束 [[节点输入/输入(在/somefile.py:104处定义)]] [[Inputs / inputs / _1]] (1)超出范围:序列结束 [[节点输入/输入(在/somefile.py:104处定义)]]
我在其中定义迭代器的文件行104是哪里,而回溯将我引到引起错误的这一行:
返回self.iterator.get_next(name ='inputs')
在定义迭代器时会调用哪个,但是我们在调用成功打印的print语句之前就已对其进行了定义,因此该行似乎已成功运行。 关于sess.run(tf.compat.v1.global_variables_initializer())是什么引起了此错误?有人看过这个问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。