tf.data.Dataset.from_tensor_slices的用法

tf.data.Dataset.from_tensor_slices的用法

该函数是dataset的核心函数之一,它的作用是把元组、列表和张量等数据进行特征切。

假设有两组数据,分别是特征和标签,为了简化说明问题,我们假设每两个特征对应一个标签。然后把每个标签与之对应的两个标签组成tuple,那么我们的想法是让每个标签恰好对应两个特征,而且像直接切片,如[f11,f12][t1],f11表示第一个数据的第1个特征,f12表示第1个数据的第2个特征,t1是第一个数据标签。tf.data.Dataset.from_tensor_slices就是做这件事:

import tensorflow as tf
feature,labels=(np.random.sample((6,3)),
                np.random.sample((6,1)))

print((feature,labels))
data=tf.data.Dataset.from_tensor_slices((feature,labels))
print(data)

结果

(array([[0.06121731, 0.2104405 , 0.25775557],
       [0.79612397, 0.37174407, 0.77129309],
       [0.20162436, 0.79760978, 0.92902577],
       [0.25341415, 0.01948944, 0.75356458],
       [0.83520494, 0.54767119, 0.93381817],
       [0.18180026, 0.03242164, 0.92785611]]), array([[0.40630463],
       [0.77050842],
       [0.697871  ],
       [0.01537194],
       [0.58293489],
       [0.10957355]]))

从结果可以看出,该函数将数据分为了shape为((3,),(1,))的数据形式,即每三个特征对应一个标签。

你可能感兴趣的:(python,python)