欢迎访问宙启技术站
智能推送

使用Python和Keras加载CIFAR-10数据集的load_data()方法

发布时间:2023-12-25 20:58:54

CIFAR-10是一个经典的计算机视觉数据集,包含10个不同的类别(如飞机、汽车、猫等),共有50000个训练样本和10000个测试样本。在Python中,可以使用Keras库提供的load_data()方法加载CIFAR-10数据集。

首先,我们需要安装Keras库,可以通过以下命令来安装:

pip install keras

安装完Keras库后,我们可以使用以下代码来加载CIFAR-10数据集:

from keras.datasets import cifar10

(train_images, train_labels), (test_images, test_labels) = cifar10.load_data()

以上代码中,cifar10.load_data()会自动下载并加载CIFAR-10数据集。数据集会被分成训练集和测试集,分别存储在train_images、train_labels、test_images和test_labels中。

接下来,我们可以通过以下代码来查看加载的数据集的形状:

print("训练集图片形状:", train_images.shape)  # 输出:(50000, 32, 32, 3)
print("训练集标签形状:", train_labels.shape)  # 输出:(50000, 1)
print("测试集图片形状:", test_images.shape)   # 输出:(10000, 32, 32, 3)
print("测试集标签形状:", test_labels.shape)   # 输出:(10000, 1)

以上代码中,train_images和test_images是包含训练集和测试集图片的四维数组,其形状为(样本数量, 图片高度, 图片宽度, 图片通道数)。train_labels和test_labels是包含训练集和测试集标签的二维数组,其形状为(样本数量, 1)。

为了更好地理解加载的数据集,我们可以使用以下代码来显示一些图像及其标签:

import matplotlib.pyplot as plt

# 定义标签映射
label_names = ['飞机', '汽车', '鸟', '猫', '鹿', '狗', '青蛙', '马', '船', '卡车']

# 显示前10张训练集图像及其标签
fig, axes = plt.subplots(2, 5, figsize=(15, 6))
axes = axes.flatten()
for i in range(10):
    axes[i].imshow(train_images[i])
    axes[i].set_title(label_names[train_labels[i][0]])
    axes[i].axis('off')
plt.tight_layout()
plt.show()

运行以上代码后,会显示训练集中的前10张图像及其对应的标签。

综上所述,使用Python和Keras加载CIFAR-10数据集的load_data()方法非常简单。通过一些简单的代码,我们就可以加载和显示这个经典的计算机视觉数据集。