當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.data.Dataset.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.Dataset.as_numpy_iterator。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。