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}]

实战案例:

猜你喜欢

转载自blog.csdn.net/qq_38251616/article/details/123237352
今日推荐