Tensorflow第T1周:Tensorflow实现mnist手写数字识别

深度学习Tensorflow第T1周:实现mnist手写数字识别

🍺 本周任务:

  1. 跑通程序
  2. 了解深度学习是什么

这是TensorFlow的第一篇教案,也是深度学习的入门案例,我们或许可以按照下面的步骤进行学习

  • **👉 第一步:**整体把握每一部分代码的功能,看第1遍
  • **👉第二步:**把握每一行语句的含义,知道实现的是什么功能就行,这里需要不求甚解,看第2遍
  • **👉第三步:**动手跟着教案敲一遍代码,把代码跑通

📑备注:

  • 如果你之前没有接触过深度学习,第一篇你学起来可能比较蒙,不要着急,等到第3、4篇教案的时候,你会逐步理解的,不要尝试一下就弄明白。
  • 把程序当做一个黑盒,先去学会使用(这是我们现阶段的任务),然后再去理解其原理。

🦾我的环境:

  • 语言环境:Python3.11.9

  • 编译器:jupyter notebook

  • 深度学习环境:TensorFlow2.17.0

一、前期工作

1. 设置GPU(如果使用的是CPU可以忽略这步)

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")
else:
    print('---------------cpu-------------')

👉 输出:
---------------cpu-------------

2. 导入数据

import tensorflow as tf
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt

# 导入mnist数据,依次分别为训练集图片、训练集标签、测试集图片、测试集标签
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()

3. 归一化

数据归一化作用

  • 使不同量纲的特征处于同一数值量级,减少方差大的特征的影响,使模型更准确

  • 加快学习算法的收敛速度

    更详解的介绍请参考文章:🔗归一化与标准化

# 将像素的值标准化至0到1的区间内。(对于灰度图片来说,每个像素最大值是255,每个像素最小值是0,也就是直接除以255就可以完成归一化。)
train_images, test_images = train_images / 255.0, test_images / 255.0
# 查看数据维数信息
train_images.shape,test_images.shape,train_labels.shape,test_labels.shape

"""
输出:((60000, 28, 28), (10000, 28, 28), (60000,), (10000,))
"""

👉 输出:

“”"
输出:((60000, 28, 28), (10000, 28, 28), (60000,), (10000,))
“”"

4. 可视化图片

# 将数据集前20个图片数据可视化显示
# 进行图像大小为20宽、10长的绘图(单位为英寸i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值