翻阅了文档中的 tf.datasets我看到这里经常提到 "嵌套结构"。这到底是什么意思?任何Python数据类型都可以被认为是一个嵌套结构 (例如。(1,3, (7,6, (0), 5))
或 dict(k=dict(3), 7, None
)还是特指TensorFlow的数据类型?
在这里从评论区提供答案,以飨社区。
Nested Structure
在 TensorFlow
一般指 tuple
或 dict
包含张量值,或其他嵌套结构。 典型的例子是一个数据集,其中每个元素都是一个 (x, y)
训练用的一对,但你也可以有一个。dict {'x': x, 'y': y}
如果你有多个输入,则为嵌套元组。((x1, x2), y)
. 为了方便,数据集允许你在其中有时序的结构。 请看 数据集结构 指南》的内容 tf.data
.
目前支持的结构类型有 tuple
, dict
和 namedtuple
.
从 https:/www.tensorflow.orgapi_docspythontfdataDataset:
通用术语。元素。在数据集迭代器上调用next()的单一输出。元素可以是包含多个组件的嵌套结构。例如,元素(1,(3,"apple"))有一个元组嵌套在另一个元组中。元素是1、3和 "apple"。元素。元素嵌套结构中的叶子。
支持的类型。元素可以是元组的嵌套结构、命名元组和字典。元素组件可以是任何可由tf.TypeSpec表示的类型,包括tf.Tensor、tf.data.Dataset、tf.SparseTensor、tf.RaggedTensor和tf.TensorArray。