tensorflow tf.io.read_file loads indefinitely

kr98yfug  于 2个月前  发布在  其他
关注(0)|答案(4)|浏览(41)

请确保这是一个bug。根据我们的
GitHub Policy ,
我们只在GitHub上解决代码/文档bug、性能问题、功能请求和
构建/安装问题。标签:bug_template*

系统信息

  • 我是否编写了自定义代码(与使用TensorFlow提供的库存示例脚本相反):否
  • OS平台和发行版(例如,Linux Ubuntu 16.04):Windows 10
  • 移动设备(例如iPhone 8,Pixel 2,Samsung Galaxy),如果问题发生在移动设备上:-
  • 从哪里安装的TensorFlow(源代码或二进制文件):二进制
  • TensorFlow版本(使用以下命令): v2.4.0-49-g85c8b2a817f 2.4.1
  • Python版本: 3.8.5
  • Bazel版本(如果从源代码编译):-
  • GCC/编译器版本(如果从源代码编译):-
  • CUDA/cuDNN版本:-
  • GPU型号和内存:-

您可以使用我们的环境捕获
script 收集一些此信息。您还可以使用以下命令获取TensorFlow版本:

  1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
  2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

描述当前行为

拆分数据集,然后读取验证数据集的第一项无限加载。

train_dataset = dataset.take(n_train_items)
val_dataset = dataset.skip(n_train_items)

调用 next(iter(train_dataset .take(1))) 工作,调用 next(iter(val_dataset .take(1))) 无限加载。

描述预期行为

我希望我的验证数据集只是按预期返回数据。

Contributing

  • 您是否想提交PR?(是/否):-
  • 如果提供候选解决方案,请简要描述您的候选解决方案(如果贡献):-
    重现问题的独立代码

提供一个最小必要的可复现测试用例,以生成问题。如果可能的话,请分享Colab/Jupyter/任何笔记本的链接。

其他信息/日志 包括有助于诊断问题的任何日志或源代码。如果包括回溯,请包括完整的回溯。大型日志和文件应附加。

产生问题的Notebook: https://colab.research.google.com/drive/1w5RQDp6W3Zyu4p1kEBRlHT2Vl9zvxVOk?usp=sharing
Stackoverflow帖子: https://stackoverflow.com/questions/69634758/reading-validation-dataset-takes-indefinitely-long
问题出现在 prep_image 中,当我只返回文件名而不打开数据时,一切正常:

def prep_image(filename, img_shape=(144,144), channels=3, dtype=tf.float32):
    return filename
#    image_string = tf.io.read_file(filename)
#    image = tf.image.decode_jpeg(image_string, channels=channels)
#    image = tf.image.convert_image_dtype(image, dtype)
#    image = tf.image.resize(image, img_shape)
#    return image

如果我只返回 tf.io.read_file 的输出,验证数据集的第一个项目将无限加载:

def prep_image(filename, img_shape=(144,144), channels=3, dtype=tf.float32):
    return tf.io.read_file(filename)
4sup72z8

4sup72z81#

@Saduf2019 ,
我能够在tf v2.6 v2.5和nightly中重现这个问题。请查看摘要。

aiazj4mn

aiazj4mn2#

有任何关于如何解决这个问题的想法吗?

zf2sa74q

zf2sa74q4#

你好,@masterholdy!
它仍然在2.9和nightly中进行复制。

相关问题