簡體   English   中英

使用tf.data.Dataset.from_generator時出現“ SystemError:沒有設置異常的錯誤返回”

[英]“SystemError: error return without exception set” when using tf.data.Dataset.from_generator

使用tf.data.Dataset.from_generator時遇到奇怪的運行時錯誤。

import tensorflow as tf

def gen():
  while True:
    yield 0, 0

batch = (
  tf.data.Dataset.from_generator(
    gen, output_types=(tf.int32, tf.int32))
  .batch(8)
  .repeat()
  .make_one_shot_iterator()
  .get_next()
)

sess = tf.InteractiveSession()
sess.run(batch)

將打印這樣的消息

Exception ignored in: <generator object _yield_value at 0x000001FD9ED6A7D8>
Traceback (most recent call last):
  File "C:\Users\user209974\AppData\Local\Continuum\miniconda3\envs\tf\lib\site-packages\tensorflow\python\data\util\nest.py", line 100, in _yield_value
    yield value
SystemError: error return without exception set

顯然,每次調用生成器時都會在調用Session.run時在運行時引發錯誤。 奇怪的是,盡管拋出了此錯誤,但返回的值似乎是正確的。

那么,是什么導致此錯誤以及如何消除該錯誤? (由於某些原因,刪除gen批處理或返回單個值會使錯誤消失)。

編輯

我意識到在PyCharm下以Debug模式運行時會出現這些錯誤。 如果我在python控制台中以腳本或PyCharm的形式運行代碼,但未在Debug模式下運行,則不會打印這些消息。

好像是Pycharm問題。 解決方案是在pycharm設置中設置此環境變量:

PYDEVD_USE_FRAME_EVAL=NO

查看提供更多信息的帖子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM