tf.data.Dataset.from_tensor_slices() 详解

Posted K同学啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tf.data.Dataset.from_tensor_slices() 详解相关的知识,希望对你有一定的参考价值。

函数原型:

tf.data.Dataset.from_tensor_slices(
    tensors, name=None
)

官网地址:https://www.tensorflow.org/api_docs/python/tf/data/Dataset#from_tensor_slices

功能介绍:

该函数的作用是接收tensor,对tensor的第一维度进行切分,并返回一个表示该tensor的切片数据集

示例讲解:

# Slicing a 1D tensor produces scalar tensor elements.
import tensorflow as tf

dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3])
print(dataset)
print(list(dataset.as_numpy_iterator()))
<TensorSliceDataset shapes: (), types: tf.int32>
[1, 2, 3]
# Slicing a 2D tensor produces 1D tensor elements.
dataset = tf.data.Dataset.from_tensor_slices([[1, 2], [3, 4]])
print(dataset)
print(list(dataset.as_numpy_iterator()))
<TensorSliceDataset shapes: (2,), types: tf.int32>
[array([1, 2]), array([3, 4])]
# Slicing a tuple of 1D tensors produces tuple elements containing
# scalar tensors.
dataset = tf.data.Dataset.from_tensor_slices(([1, 2], [3, 4], [5, 6]))
print(dataset)
print(list(dataset.as_numpy_iterator()))
<TensorSliceDataset shapes: ((), (), ()), types: (tf.int32, tf.int32, tf.int32)>
[(1, 3, 5), (2, 4, 6)]
# Dictionary structure is also preserved.
dataset = tf.data.Dataset.from_tensor_slices("a": [1, 2], "b": [3, 4])
print(dataset)
print(list(dataset.as_numpy_iterator()))
<TensorSliceDataset shapes: a: (), b: (), types: a: tf.int32, b: tf.int32>
['a': 1, 'b': 3, 'a': 2, 'b': 4]

实战案例:

以上是关于tf.data.Dataset.from_tensor_slices() 详解的主要内容,如果未能解决你的问题,请参考以下文章