- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个包含 3 个不同特征的 tf.data.Dataset
实例
label
这是一个标量sequence_feature
这是一个标量序列seq_of_seqs_feature
这是序列特征的序列我正在尝试使用 tf.data.Dataset.padded_batch()
生成填充数据作为我模型的输入 - 我想以不同方式填充每个特征。
示例批处理:
[{'label': 24,
'sequence_feature': [1, 2],
'seq_of_seqs_feature': [[11.1, 22.2],
[33.3, 44.4]]},
{'label': 32,
'sequence_feature': [3, 4, 5],
'seq_of_seqs_feature': [[55.55, 66.66]]}]
预期输出:
[{'label': 24,
'sequence_feature': [1, 2, 0],
'seq_of_seqs_feature': [[11.1, 22.2],
[33.3, 44.4]]},
{'label': 32,
'sequence_feature': [3, 4, 5],
'seq_of_seqs_feature': [[55.55, 66.66],
0.0, 0.0 ]}]
如您所见,label
特征不应该被填充,而 sequence_feature
和 seq_of_seqs_feature
应该被相应的最长条目填充给定的批处理。
最佳答案
tf.data.Dataset.padded_batch()
方法允许您为生成的批处理的每个组件(特征)指定 padded_shapes
。例如,如果您的输入数据集名为 ds
:
padded_ds = ds.padded_batch(
BATCH_SIZE,
padded_shapes={
'label': [], # Scalar elements, no padding.
'sequence_feature': [None], # Vector elements, padded to longest.
'seq_of_seqs_feature': [None, None], # Matrix elements, padded to longest
}) # in each dimension.
请注意,padded_shapes
参数与输入数据集的元素具有相同的结构,因此在这种情况下,它采用一个字典,其中的键与您的特征名称相匹配。
关于python - tf.data.Dataset.padded_batch 以不同方式填充每个特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49840100/
问题设置 我正在关注 this tutorial .本教程首先加载一个监督数据集(使用 tfds.load 和 as_supervised=True): (train_data, test_data)
问题设置 我正在关注 this tutorial .本教程首先加载一个监督数据集(使用 tfds.load 和 as_supervised=True): (train_data, test_data)
我正在为每个元素构建一个数据集,其中包含两个形状为 [batch,width,heigh,3] 和 [batch,class] 的张量。为简单起见,假设类 = 5。 您向 dataset.padded
我有一个包含 3 个不同特征的 tf.data.Dataset 实例 label 这是一个标量 sequence_feature 这是一个标量序列 seq_of_seqs_feature 这是序列特征
如果您不指定 padding_values然后 padded_batch将自动填充 0。但是,如果您想要不同的值,例如 -1,则不能只设置 padded_batch = -1 .您需要为需要填充的每个
我是一名优秀的程序员,十分优秀!