RuntimeError: as_numpy_iterator() is not supported while tracing functions

风流意气都作罢 提交于 2021-01-26 17:31:14

问题


while i was using function as_numpy_iterator() got error

--------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) in () ----> 1 image = get_image_data(image_paths)

1 frames /tensorflow-2.1.0/python3.6/tensorflow_core/python/data/ops/dataset_ops.py in as_numpy_iterator(self) 488 """ 489 if not context.executing_eagerly(): --> 490 raise RuntimeError("as_numpy_iterator() is not supported while tracing " 491 "functions") 492 for component_spec in nest.flatten(self.element_spec):

RuntimeError: as_numpy_iterator() is not supported while tracing functions

my code is

    # creating a function called get_dataset, which creates a dataset of image data from file paths.
def get_dataset(image_paths):
  filename_tensor = tf.constant(image_paths)
  dataset = tf.data.Dataset.from_tensor_slices(filename_tensor)
  def _map_fn(filename):
    return decode_image(filename=filename)
  return dataset.map(_map_fn)
#
def get_image_data(image_paths):
  dataset = get_dataset(image_paths)
  return list(dataset.as_numpy_iterator())
image = get_image_data(image_paths)

it throws error in using dataset.as_numpy_iterator() . I had used image paths of two array of filename


回答1:


The error message here is a bit confusing, since it talks about tracing functions, but I ran into this and realized it's a Dataset feature that's only supported when eager execution is enabled. It's enabled by default in TensorFlow 2.x, but but you can also manually enable it in later 1.x versions. If you enable it, this error message should disappear.



来源:https://stackoverflow.com/questions/60045971/runtimeerror-as-numpy-iterator-is-not-supported-while-tracing-functions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!