问题描述
我有一段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 (将#修改为@)