微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tensorflow迭代器错误超出范围:初始化全局变量时,序列结束

如何解决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 举报,一经查实,本站将立刻删除。