深度学习Week7——利用TensorFlow实现mnist手写数字识别

本文详细记录了作者使用TensorFlow实现MNIST手写数字识别的过程,包括环境配置、数据预处理、构建卷积神经网络模型、训练与评估,强调了基础知识学习的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录
深度学习Week7——利用TensorFlow实现mnist手写数字识别
一、前言
二、我的环境
三、前期工作
1、配置环境
2、导入数据
3、归一化
4、图片可视化
5、调整图片格式
四、构建CNN模型
五、编译模型
六、训练模型
七、预测
1、Accuracy图
2、指定图片识别
八、我的收获与疑惑

一、前言

由于pytorch后面的算法本人学习起来难度过大,我思考了一段时间觉得是自己的基础仍然不扎实,确实,由于本人目前才大二,很多内容不是很理解,但好在时间比较充裕,因此慢慢来比一味的推进度要更适合我,因此从本周开始,我打算重新开始第一周的打卡,去细致的学习神经网络程序,去理解他的网络结构,体会各个层的作用,为后面更复杂的学习打下基础。

二、我的环境

  • 电脑系统:Windows 10
  • 语言环境:Python 3.11.3
  • 编译器:Pycharm2023.2.3
    深度学习环境:Pytorch
    显卡及显存:RTX 3060 8G

三、前期工作

1、导入库并配置环境

import tensorflow as tf
gpus = tf.config.list_physical_devices("GPU")

if gpus:
    gpu0 = gpus[0] #如果有多个GPU,仅使用第0个GPU
    tf.config.experimental.set_memory_growth(gpu0, True) #设置GPU显存用量按需使用
    tf.config.set_visible_devices([gpu0], "GPU")

这一步与pytorch第一步类似,我们在写神经网络程序前无论是选择pytorch还是tensorflow都应该配置好gpu环境。

2、 导入数据

导入mnist数据,依次分别为训练集图片(train_images)、训练集标签(train_labels)、测试集图片(test_images)、测试集标签(test_labels),mnist数据集是著名的公开数据集,我们可以直接用代码进行下载调用

from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()

3、归一化

Q:什么是归一化?如何归一化?
A:将像素的值标准化至0到1的区间内。(对于灰度图片来说,每个像素最大值是255,每个像素最小值是0,也就是直接除以255就可以完成归一化。)
Q:为什么要归一化
A:我们归一化的目的将数据转换成具有统一尺度的形式,使得不同特征之间的数值范围相似或相同,使得模型更容易学习到合适的权重,提高模型性能,同时可以将所有特征的尺度统一到一个范围内,避免特征之间不合理的权重分配。

train_images,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值