一尘不染

Dataset.from_tensors和Dataset.from_tensor_slices有什么区别?

python

我有一个表示为NumPy形状矩阵的数据集(num_features, num_examples),我希望将其转换为TensorFlow类型tf.Dataset

我正在努力尝试理解这两种方法之间的区别:Dataset.from_tensorsDataset.from_tensor_slices。什么是正确的,为什么?

TensorFlow文档(link)表示,这两种方法都接受张量的嵌套结构,尽管使用from_tensor_slices张量时在第0维上应具有相同的大小。


阅读 224

收藏
2021-01-20

共1个答案

一尘不染

from_tensors 合并输入并返回具有单个元素的数据集:

t = tf.constant([[1, 2], [3, 4]])
ds = tf.data.Dataset.from_tensors(t)   # [[1, 2], [3, 4]]

from_tensor_slices 为输入张量的每一行创建一个具有单独元素的数据集:

t = tf.constant([[1, 2], [3, 4]])
ds = tf.data.Dataset.from_tensor_slices(t)   # [1, 2], [3, 4]
2021-01-20