使用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()方法非常简单。通过一些简单的代码,我们就可以加载和显示这个经典的计算机视觉数据集。
