gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 22:03:10 32 4
gpt4 key购买 nike

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

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

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

最佳答案

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

>>> t = tf.constant([[1, 2], [3, 4]])
>>> ds = tf.data.Dataset.from_tensors(t)
>>> [x for x in ds]
[<tf.Tensor: shape=(2, 2), dtype=int32, numpy=
array([[1, 2],
[3, 4]], dtype=int32)>]

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

>>> t = tf.constant([[1, 2], [3, 4]])
>>> ds = tf.data.Dataset.from_tensor_slices(t)
>>> [x for x in ds]
[<tf.Tensor: shape=(2,), dtype=int32, numpy=array([1, 2], dtype=int32)>,
<tf.Tensor: shape=(2,), dtype=int32, numpy=array([3, 4], dtype=int32)>]

关于python - Dataset.from_tensors 和 Dataset.from_tensor_slices 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49579684/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com