我正在关注关于图像分类的keras 教程。我tf.data.Dataset
使用以下方法创建并指定了一个批次.take()
:
train_ds = tf.keras.preprocessing.image_dataset_from_directory(
"data",
validation_split=0.2,
subset="training",
image_size=(224,224),
batch_size=32)
train_batch = train_ds.take(1)
检查train_batch
对象,不出所料,我看到它由两个对象组成:图像和标签:
<TakeDataset shapes: ((None, 224, 224, 3), (None,)), types: (tf.float32, tf.int32)>
教程状态使用以下代码绘制此批次中的图像:
for images, labels in train_batch:
for i in range(32):
ax = plt.subplot(4, 8, i + 1)
plt.imshow(images[i].numpy().astype("uint8"))
我的问题是如何for images, labels in train_batch:
设法分别指定图像和标签。除了enumerate
我没有遇到在 for 循环中指定两个变量。这是批量访问图像和标签的唯一方法吗?