一、前言
该文章仅作为个人学习使用
二、正文
项目源代码:深度学习项目 - 使用 Python 进行手写数字识别 - DataFlair (data-flair.training)
数据集:https://drive.google.com/open?id=1hJiOlxctFH3uL2yTqXU_1f6c0zLr8V_K
Python 深度学习项目
为了让机器更智能,开发人员正在深入研究机器学习和深度学习技术。一个人通过一次又一次地练习和重复任务来学习执行任务,以便记住如何执行任务。然后他大脑中的神经元自动触发,它们可以快速执行他们学到的任务。深度学习也与此非常相似。它使用不同类型的神经网络架构来解决不同类型的问题。例如,物体识别、图像和声音分类、物体检测、图像分割等。
什么是手写数字识别?
手写数字识别是计算机识别人类手写数字的能力。对于机器来说,这是一项艰巨的任务,因为手写数字并不完美,可以制作成许多不同的口味。手写数字识别是这个问题的解决方案,它使用数字的图像并识别图像中存在的数字。
关于 Python 深度学习项目
在本文中,我们将使用 MNIST 数据集实现一个手写数字识别应用程序。我们将使用一种特殊类型的深度神经网络,即卷积神经网络。最后,我们将构建一个 GUI,您可以在其中绘制数字并立即识别它。
先决条件
有趣的 Python 项目需要您具备 Python 编程的基础知识、使用 Keras 库进行深度学习以及用于构建 GUI 的 Tkinter 库。
使用以下命令安装此项目所需的库:
pip 安装 numpy、tensorflow、keras、pillow、
MNIST数据集
这可能是机器学习和深度学习爱好者中最受欢迎的数据集之一。MNIST 数据集包含 60,000 张从 0 到 9 的手写数字训练图像和 10,000 张用于测试的图像。因此,MNIST 数据集有 10 个不同的类。手写数字图像表示为 28×28 矩阵,其中每个单元格都包含灰度像素值。
构建基于手写数字识别的Python深度学习项目
以下是实施手写数字识别项目的步骤:
1. 导入库并加载数据集
首先,我们要导入训练模型所需的所有模块。Keras库已经包含了一些数据集,MNIST就是其中之一。因此,我们可以轻松地导入数据集并开始使用它。mnist.load_data() 方法向我们返回训练数据、标签以及测试数据和标签。
导入 Keras来自Keras。数据集导入 MNIST来自Keras。模型导入顺序来自Keras。图层导入 Dense、Dropout、Flatten来自Keras。图层导入 Conv2D、MaxPooling2D从 keras 导入后端作为 K# 数据,在训练集和测试集之间拆分(x_train, y_train), (x_test, y_test) = mnist.load_data()打印(x_train.形状,y_train。形状)
2. 预处理数据
图像数据不能直接输入到模型中,因此我们需要执行一些操作并处理数据,以便为我们的神经网络做好准备。训练数据的维度为 (60000,28,28)。CNN 模型将需要一个维度,因此我们将矩阵重塑为 shape (60000,28,28,1)。
x_train = x_train。重塑(x_train。形状[0], 28, 28, 1)x_test = x_test。重塑(x_test。形状[0], 28, 28, 1)input_shape = (28, 28, 1)# 将类向量转换为二进制类矩阵

最低0.47元/天 解锁文章
2万+






