当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.data.TFRecordDataset.as_numpy_iterator用法及代码示例


用法

as_numpy_iterator()

返回

  • 对数据集元素的迭代,其张量转换为 numpy 数组。

抛出

  • TypeError 如果元素包含非Tensor 值。
  • RuntimeError 如果未启用即刻执行。

返回将数据集的所有元素转换为 numpy 的迭代器。

使用 as_numpy_iterator 检查数据集的内容。要查看元素形状和类型,请直接打印数据集元素,而不是使用 as_numpy_iterator

dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3])
for element in dataset:
  print(element)
tf.Tensor(1, shape=(), dtype=int32)
tf.Tensor(2, shape=(), dtype=int32)
tf.Tensor(3, shape=(), dtype=int32)

此方法要求您以 Eager 模式运行,并且数据集的 element_spec 仅包含 TensorSpec 组件。

dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3])
for element in dataset.as_numpy_iterator():
  print(element)
1
2
3
dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3])
print(list(dataset.as_numpy_iterator()))
[1, 2, 3]

as_numpy_iterator() 将保留数据集元素的嵌套结构。

dataset = tf.data.Dataset.from_tensor_slices({'a':([1, 2], [3, 4]),
                                              'b':[5, 6]})
list(dataset.as_numpy_iterator()) == [{'a':(1, 3), 'b':5},
                                      {'a':(2, 4), 'b':6}]
True

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.data.TFRecordDataset.as_numpy_iterator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。