首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从TensorFlow数据集中提取数据/标签

如何从TensorFlow数据集中提取数据/标签
EN

Stack Overflow用户
提问于 2019-05-21 02:53:19
回答 8查看 33.4K关注 0票数 42

有很多如何创建和使用TensorFlow数据集的示例,例如

代码语言:javascript
复制
dataset = tf.data.Dataset.from_tensor_slices((images, labels))

我的问题是如何以numpy的形式从TF数据集中取回数据/标签?换句话说,want将是上面这行的反向操作,即我有一个TF数据集,并希望从其中获取图像和标签。

EN

回答 8

Stack Overflow用户

发布于 2020-07-10 04:30:14

如果您的tf.data.Dataset是批处理的,下面的代码将检索所有y标签:

代码语言:javascript
复制
y = np.concatenate([y for x, y in ds], axis=0)
票数 43
EN

Stack Overflow用户

发布于 2019-05-21 03:22:52

我认为我们在这里得到了一个很好的例子:

https://colab.research.google.com/github/tensorflow/datasets/blob/master/docs/overview.ipynb#scrollTo=BC4pEXtkp4K-

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
import tensorflow_datasets as tfds

# where mnsit train is a tf dataset
mnist_train = tfds.load(name="mnist", split=tfds.Split.TRAIN)
assert isinstance(mnist_train, tf.data.Dataset)

mnist_example, = mnist_train.take(1)
image, label = mnist_example["image"], mnist_example["label"]

plt.imshow(image.numpy()[:, :, 0].astype(np.float32), cmap=plt.get_cmap("gray"))
print("Label: %d" % label.numpy())

因此,可以像访问字典一样访问数据集的每个单独组件。假设不同的数据集有不同的字段名称(波士顿住房不会有image和value,但可能有‘feature’和'target‘或'price':

代码语言:javascript
复制
cnn = tfds.load(name="cnn_dailymail", split=tfds.Split.TRAIN)
assert isinstance(cnn, tf.data.Dataset)
cnn_ex, = cnn.take(1)
print(cnn_ex)

返回一个dict(),里面有键'article','highlight‘,里面有numpy字符串。

票数 7
EN

Stack Overflow用户

发布于 2020-12-30 06:06:13

如果您可以将图像和标签保留为tf.Tensor,您可以这样做

代码语言:javascript
复制
images, labels = tuple(zip(*dataset))

将数据集的效果想象为zip(images, labels)。当我们想要找回图像和标签时,我们可以简单地unzip它。

如果需要numpy数组版本,请使用np.array()对其进行转换

代码语言:javascript
复制
images = np.array(images)
labels = np.array(labels)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56226621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档