【发布时间】:2019-01-20 07:46:13
【问题描述】:
我的数据集包含features 和labels,例如。
features, labels = (np.random.sample((5,2)), np.random.sample((5,1)))
这意味着这个数据集中有 5 个数据元素(有 5 行,每行是一个 2-dim 特征和 1-dim 标签)。
我使用tf.data.Dataset 使用此代码创建数据集:
import tensorflow as tf
import numpy as np
features, labels = (np.random.sample((5,2)), np.random.sample((5,1)))
print("feature : \n", features)
print("labels : \n", labels)
dataset = tf.data.Dataset.from_tensor_slices((features, labels))
iter = dataset.make_one_shot_iterator()
x, y = iter.get_next()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print("element:\n", sess.run(x), sess.run(y))
我使用的是 TF1.5 ,Windows 10。然后我得到结果:
feature :
[[0.10261779 0.28041519] # feature0
[0.91091857 0.95644642] # feature1
[0.77542043 0.49631646] # ...
[0.33241678 0.28630983]
[0.39095336 0.76686785]]
labels :
[[0.54097027] # label0
[0.99022349] # label1
[0.87510303] # ...
[0.07331254]
[0.10868335]]
element:
[0.10261779 0.28041519] [0.99022349]
当我创建数据集时,我希望 feature0 [0.10261779 0.28041519] 与 label0 [0.54097027] 对应。但是使用代码,feature0 [0.10261779 0.28041519] 对应于 label1 [0.99022349]。顺序是错误的。我不知道get_next 实际是如何工作的。
不知道有没有方法可以使用tensorflow Dataset API按顺序输出特征和标签。
谢谢
【问题讨论】:
标签: python tensorflow dataset