多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 用于 CIFAR10 数据的 LeNet 现在我们已经学会了使用 TensorFlow 和 Keras 的 MNIST 数据集构建和训练 CNN 模型,让我们用 CIFAR10 数据集重复练习。 CIFAR-10 数据集包含 60,000 个 32x32 像素形状的 RGB 彩色图像。图像被平均分为 10 个不同的类别或类别:飞机,汽车,鸟,猫,鹿,狗,青蛙,马,船和卡车。 CIFAR-10 和 CIFAR-100 是包含 8000 万个图像的大图像数据集的子集。 CIFAR 数据集由 Alex Krizhevsky,Vinod Nair 和 Geoffrey Hinton 收集和标记。数字 10 和 100 表示​​图像类别的数量。 有关 CIFAR 数据集的更多详细信息,请访问以下链接:[http://www.cs.toronto.edu/~kriz/cifar.html](http://www.cs.toronto.edu/~kriz/cifar.html) 和 [http://www.cs.toronto.edu/~kriz/learning-features-2009-TR.pdf](http://www.cs.toronto.edu/~kriz/learning-features-2009-TR.pdf). 我们选择了 CIFAR 10,因为它有 3 个通道,即图像的深度为 3,而 MNIST 数据集只有一个通道。 为了简洁起见,我们将详细信息留给下载并将数据拆分为训练和测试集,并在本书代码包中的 datasetslib 包中提供代码。 您可以按照 Jupyter 笔记本中的代码`ch-09b_CNN_CIFAR10_TF_and_Keras`。 我们使用以下代码加载和预处理 CIFAR10 数据: ```py from datasetslib.cifar import cifar10 from datasetslib import imutil dataset = cifar10() dataset.x_layout=imutil.LAYOUT_NHWC dataset.load_data() dataset.scaleX() ``` 加载数据使得图像采用`'NHWC'`格式,使数据变形(`number_of_samples, image_height, image_width, image_channels`)。我们将图像通道称为图像深度。图像中的每个像素是 0 到 255 之间的数字。使用 MinMax 缩放来缩放数据集,以通过将所有像素值除以 255 来标准化图像。 加载和预处理的数据在数据集对象变量中可用作`dataset.X_train`,`dataset.Y_train`,`dataset.X_test`和`dataset.Y_test`。