我有多个要合并的TFRecord数据集。这意味着,每个数据集都包含一个特征,我希望将其合并到一个包含所有特征的TFRecord中。
迭代所有数据集并提取每个记录的特征,最后编写一个包含所有特征的新记录,这是可行的,但我在创建一个有效的脚本时遇到了一些困难。
简单地说,我的问题是:
下面的代码可以正常工作。
tfrecord = tf.data.TFRecordDataset("/my/file.tfrecord")
for record in tfrecord:
#extract feature但是下面的代码给了我一个错误。
tfrecord = tf.data.TFRecordDataset("/my/file.tfrecord")
iterator = iter(tfrecord)
item = iterator.next()
print(item)Error:
.../python3.8/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 544, in __del__
AttributeError: 'NoneType' object has no attribute 'eager_mode'然而,有趣的是,它确实打印了第一条记录,只是它还抛出了一个错误。
我真的只需要一个迭代器对象,这样我就可以通过使用next()函数而不是for循环来迭代dataset。我希望你们中的一些人能够帮助我:)
发布于 2021-10-26 16:53:38
找到解决方案:更新tensorflow
https://stackoverflow.com/questions/69726735
复制相似问题