我想将train_ds
和val_ds
转换成类似x_train, y_train
和x_val, y_val
的形式(x用于图像,y用于标签)。Keras API使用训练和测试数据分割(在sklearn中似乎也是如此),但我不想在这里使用任何测试数据。
我尝试过这样做,但没有成功(我明白为什么这样做行不通,但我不知道还有什么其他方法可以将我的训练数据转换为图像和标签):
x_train = train_ds['image']# TypeError: 'BatchDataset' object is not subscriptable
回答:
我找到了一个更好的解决方案:
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)