python - 什么是 tensorflow.python.data.ops.dataset_ops._OptionsDataset?

标签 python tensorflow

我正在使用 tensorflow 中的 Transformer 代码 - https://www.tensorflow.org/beta/tutorials/text/transformer

在这段代码中,使用的数据集是这样加载的 -

examples, metadata = tfds.load('ted_hrlr_translate/pt_to_en', with_info=True,
                               as_supervised=True)
train_examples, val_examples = examples['train'], examples['validation']

当我使用以下命令检查 train_examples 的类型时:
type(train_examples)

我得到以下作为输出 -
tensorflow.python.data.ops.dataset_ops._OptionsDataset

现在我只想更改数据集的一些条目,即句子,但我无法理解,因为我不理解类型。

我可以使用以下方法对其进行迭代:
for data in train_examples:
    print(data,type(data))

数据类型是 -
<class 'tuple'>

最后我想要的是用我自己的数据替换这些元组中的一些。
有人能告诉我怎么做或给我一些关于这种类型的细节吗tensorflow.python.data.ops.dataset_ops._OptionsDataset .

最佳答案

tensorflow.python.data.ops.dataset_ops._OptionsDataset只是扩展基类的另一个类 tf.compat.v2.data.Dataset (DatasetV2) 持有 tf.data.Options连同原来的tf.compat.v2.data.Dataset数据集(您的情况下的葡萄牙语-英语元组)。

( tf.data.Options 在您对数据集使用流函数时运行 tf.data.Dataset.maptf.data.Dataset.interleave )

如何查看单个元素?

我确信有很多方法,但一种直接的方法是在基类中使用迭代器:

examples['train']_OptionsDataset 的类型这里是通过调用方法进行迭代tf.compat.v2.data.Dataset

iterator = examples['train'].__iter__()
next_element = iterator.get_next()
pt = next_element[0]
en = next_element[1]
print(pt.numpy())
print(en.numpy())

这是输出:
b'o problema \xc3\xa9 que nunca vivi l\xc3\xa1 um \xc3\xbanico dia .'
b"except , i 've never lived one day of my life there ."

用您自己的数据替换:

由于您没有提到要用什么来替换原始数据集,我假设您有一个包含自己特定翻译的 CSV/TSV 文件。那么创建一个单独的 tf.compat.v2.data.Dataset 应该很有用通过调用 CSV API 将您的 CSV 文件读入数据集来读取对象本身:
tf.data.experimental.make_csv_dataset
https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/load_data/csv.ipynb

关于python - 什么是 tensorflow.python.data.ops.dataset_ops._OptionsDataset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56820723/

相关文章:

tensorflow - Keras 网络未训练

python - TensorFlow LSTM : Why does test accuracy become low, 但没有训练一个?

python - 使用 rtsp 流时 Tensorflow 对象检测速度慢

python - 在不生成 geckodriver 日志文件的情况下运行 Selenium geckodriver

python - 检查环境变量是否存在的好习惯是什么?

python - 通过 Python 脚本中的 -cat 连接文件

python - 调用保存在类属性中的函数 : different behavior with built-in function vs. 普通函数

python-3.x - 我在用gpu训练吗?

python - Tensorflow.js Layers 模型和 Graph 模型有什么区别?

python - 如何在 Python 中对模块级对象进行更改? (如 Pylons 元对象)