如何在由tensorflow_datasets加载的数据集中分别加载图像和标签 [英] How to load images and labels seperately in a dataset loaded by tensorflow_datasets

查看:57
本文介绍了如何在由tensorflow_datasets加载的数据集中分别加载图像和标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

import tensorflow_datasets as tfds

train_ds = tfds.load('cifar100', split='train[:90%]').shuffle(1024).batch(32)
val_ds = tfds.load('cifar100', split='train[-10%:]').shuffle(1024).batch(32)

我想将 train_ds val_ds 转换为如下形式: x_train,y_train x_val,y_val (x表示图像,y表示标签).Keras API使用训练和测试数据拆分(在sklearn中也是如此),但是我完全不想在这里使用任何测试数据.

I want to convert train_ds and val_ds into something like this: x_train, y_train and x_val, y_val (x for images and y for labels). The Keras API uses train and test data split (this seems to be the case in sklearn too), but I do not want to use any test data at all here.

我已经尝试过了,但是没用(我确实知道为什么不起作用,但是我不知道如何将训练数据转换为图像和标签)

I have tried this, but it didn't work (and I do understand why this doesn't work, but I don't know how else can I convert my training data to images and labels):

x_train = train_ds['image']

# TypeError: 'BatchDataset' object is not subscriptable

推荐答案

我找到了更好的解决方案:

I found a better solution:

train_ds, val_ds = tfds.load(name="cifar100", split=('train[:90%]','train[-10%:]'), batch_size=-1, as_supervised=True)

x_train, y_train = tfds.as_numpy(train_data)
x_val, y_val = tfds.as_numpy(val_data)

这篇关于如何在由tensorflow_datasets加载的数据集中分别加载图像和标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆