如何使用 Tensorflow 和 Python 下载和准备 CIFAR 数据集?

pythonserver side programmingprogrammingtensorflow

可以使用 ‘datasets’ 模块中的 ‘load_data’ 方法下载 CIFAR 数据集。下载后,数据被分成训练集和验证集。

阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?

我们将使用 Keras Sequential API,它有助于构建用于处理普通层堆栈的顺序模型,其中每个层只有一个输入张量和一个输出张量。

包含至少一个层的神经网络称为卷积层。卷积神经网络通常由以下各层的组合组成:

  • 卷积层
  • 池化层
  • 密集层

卷积神经网络已用于为特定类型的问题(例如图像识别)产生出色的结果。

我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 可帮助在浏览器上运行 Python 代码,并且无需配置,可以免费访问 GPU(图形处理单元)。 Colaboratory 已在 Jupyter Notebook 上构建。

import tensorflow as tf
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
print("The CIFAR dataset is being downloaded")
(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()
print("The pixel values are normalized to be between 0 and 1")
train_images, test_images = train_images / 255.0, test_images / 255.0
class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer','dog', 'frog', 'horse', 'ship', 'truck']

代码来源:https://www.tensorflow.org/tutorials/images/cnn

输出

The CIFAR dataset is being downloaded
Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
170500096/170498071 [==============================] - 11s 0us/step
The pixel values are normalized to be between 0 and 1

解释

  • CIFAR10 数据集包含 10 个类别的 60,000 张彩色图像,每个类别有 6,000 张图像。
  • 此数据集分为 50,000 张训练图像和 10,000 张测试图像。
  • 这些类别是互斥的,它们之间没有重叠。
  • 此数据集已下载,数据已标准化为介于 0 和 1 之间。

相关文章