基于卷积神经网络的手写数字图像识别深度学习python代码
时间: 2023-08-15 17:05:56 浏览: 72
以下是一个基于 TensorFlow 的卷积神经网络手写数字图像识别的 Python 代码示例:
```python
import tensorflow as tf
from tensorflow.keras import layers
# 加载 MNIST 手写数字数据集
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
# 将像素值缩放到 0~1 的范围内
x_train, x_test = x_train / 255.0, x_test / 255.0
# 定义模型
model = tf.keras.models.Sequential([
layers.Flatten(input_shape=(28, 28)), # 将输入的二维图像转换为一维向量
layers.Dense(128, activation='relu'), # 全连接层,128 个神经元,ReLU 激活函数
layers.Dropout(0.2), # Dropout 层,减少过拟合
layers.Dense(10, activation='softmax') # 输出层,10 个神经元,Softmax 激活函数
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))
# 评估模型
model.evaluate(x_test, y_test)
```
这个代码示例中,我们使用了一个简单的三层神经网络模型,包括一个 Flatten 层、一个全连接层和一个输出层。其中,Flatten 层将输入的二维图像数据转换为一维向量,全连接层包含 128 个神经元和 ReLU 激活函数,输出层包含 10 个神经元和 Softmax 激活函数。我们使用 sparse_categorical_crossentropy 作为损失函数,Adam 作为优化器,在训练过程中加入了 Dropout 层以减少过拟合。
训练完成后,我们使用 evaluate 方法对模型进行评估,输出测试集上的准确率。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)