第1章 深度学习概述

第1章 深度学习概述


第一部分:课程导入

【课堂开场白】5分钟

同学们好!今天我们要学习一门"神奇"的技术——深度学习。

大家有没有想过:

  • 为什么抖音能精准推荐你喜欢看的视频?
  • 为什么人脸识别门禁能认出你是谁?
  • 为什么ChatGPT能像人一样跟你聊天?
  • 为什么2026年春晚上的机器人能后空翻?

这些看似神奇的功能,背后都离不开深度学习技术。今天,我们就一起来揭开它的神秘面纱。特别提醒:本课程将使用TensorFlow作为深度学习框架,这是目前工业界应用最广泛、生态最成熟的工具。


第二部分:详细教学内容

1.1 什么是深度学习?

1.1.1 从一个生活场景说起

想象这样一个场景:

传统方式:你要教一个3岁小孩认识什么是"猫"。

  • 你会告诉他:“猫有尖耳朵、有胡须、会喵喵叫、有四条腿、有尾巴…”
  • 孩子根据这些规则去判断:看到符合这些特征的动物,就是猫。

这就是传统编程的思路:人告诉机器规则,机器按照规则执行。

深度学习方式:你把孩子扔进一个有10000张猫图片的房间。

  • 孩子自己看、自己比较、自己总结
  • 看了几千张后,他脑子里自然形成了关于"猫"的概念
  • 他甚至能认出你从未描述过的"加菲猫"、“机器猫”

这就是深度学习的思路:机器从海量数据中自己学习规则,自己提取特征。

1.1.2 人工智能、机器学习、深度学习的关系

用一个"俄罗斯套娃"来理解:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
┌─────────────────────────────────────┐
│        人工智能(AI)                 │
│  ┌───────────────────────────────┐  │
│  │     机器学习(ML)              │  │
│  │  ┌─────────────────────────┐  │  │
│  │  │   深度学习(DL)          │  │  │
│  │  │                         │  │  │
│  │  │  神经网络                │  │  │
│  │  └─────────────────────────┘  │  │
│  └───────────────────────────────┘  │
└─────────────────────────────────────┘

【解释】

人工智能(AI):最外层的大概念,让机器模仿人类智能。就像"会思考的机器"这个梦想。

机器学习(ML):实现AI的一种方法。不是人写死规则,而是让机器从数据中学习。就像教孩子"看多了自然认识"。

深度学习(DL):机器学习的一种特殊方法。模仿人脑神经元结构,通过"很深"的神经网络来学习。就像孩子脑子里真的长出了复杂的"认知网络"。

1.1.3 深度学习的"三层结构"

为了更好地理解,我们用一个简单的比喻:厨师学做菜

层级 深度学习术语 厨师学做菜的比喻
输入层 原始数据输入 厨师看到食材:土豆、牛肉、胡萝卜
隐藏层 特征提取和变换 厨师处理食材:洗、切、焯水、翻炒
输出层 结果输出 做出成品:一盘土豆炖牛肉

【代码类比】(用Python列表理解)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## 输入层:原始数据
raw_data = [图片的像素值, 声音的波形, 文本的字符]

## 隐藏层:特征提取(抽象理解)
hidden_layer_1 = [边缘检测, 颜色分布, 纹理特征]  ## 低级特征
hidden_layer_2 = [眼睛, 鼻子, 耳朵]               ## 中级特征
hidden_layer_3 = [人脸, 猫脸, 狗脸]                ## 高级特征

## 输出层:最终结果
output = "这是一张人脸照片"

1.1.4 深度学习的发展历程(为什么现在这么火?)

【时间轴讲解】

1
2
3
4
5
6
1980年代 ──── 2012年 ──── 2016年 ──── 2020年 ──── 2023年 ──── 2026年
   │           │           │           │           │           │
   ▼           ▼           ▼           ▼           ▼           ▼
 神经网络    AlexNet     AlphaGo     GPT-3      GPT-4/Gemini  具身智能
  诞生      图像识别     战胜李世石   大语言     多模态大模型   机器人爆发
           重大突破                  模型爆发                元年

【火起来的三个关键原因】

  1. 数据爆炸(“教材"多了)

    • 以前:几千张图片就很珍贵
    • 现在:每天上传到抖音的视频、淘宝的交易、微信的聊天,都是海量数据
    • 2026年现状:全球每天产生约400EB数据(1EB=10亿GB)
  2. 算力飞跃(“大脑"强了)

    • 2012年:训练一个模型要几周
    • 2026年:NVIDIA B200芯片比5年前快100倍,甚至能用远程GPU实时处理视频
    • 比喻:以前是算盘,现在是超级计算机
  3. 算法突破(“学习方法"进步了)

    • 解决了"网络越深越难训练"的技术难题
    • 网络层数从几层发展到上千层

1.2 深度学习能做什么?(社会热点案例)

1.2.1 案例一:2026年最火赛道——具身智能机器人

【新闻导入】 2026年春晚,宇树科技的机器人在舞台上完成了单腿后空翻,震惊全场。这不是提前编好的程序,而是机器人自己学会的

【技术解析】 一个机器人要完成这个动作,需要三个深度学习能力:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
                    ┌─────────────────┐
                    │   具身智能机器人  │
                    └────────┬────────┘
         ┌──────────────────┼──────────────────┐
         ▼                  ▼                  ▼
   ┌───────────┐    ┌───────────┐    ┌───────────┐
   │  计算机视觉 │    │   强化学习  │    │  自然语言  │
   │           │    │           │    │   处理     │
   │ 看世界:    │    │ 控制身体:  │    │ 理解指令:  │
   │ 识别障碍物、 │    │ 保持平衡、  │    │ 听懂"后空翻"│
   │ 判断距离    │    │ 规划动作   │    │ 与人对话   │
   └───────────┘    └───────────┘    └───────────┘
         ▼                  ▼                  ▼
   ┌───────────┐    ┌───────────┐    ┌───────────┐
   │  CNN模型   │    │ 强化学习   │    │ Transformer│
   │           │    │ 算法       │    │ 模型       │
   └───────────┘    └───────────┘    └───────────┘

【2026年最新动态】

  • 日本寺庙引入中国宇树机器人作为"僧侣机器人”,为信众提供精神指导
  • 智元机器人在汽车工厂累计运行超100万小时
  • 特斯拉Optimus机器人开始进入家庭试运行

1.2.2 案例二:AI守护健康——公共卫生预警

【新闻导入】 2026年初,国家疾控局公布了"人工智能+“应用案例。中国电信重庆公司利用深度学习,实现了传染病提前预测

【技术详解】

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## 通俗理解:深度学习在做什么
输入数据 = {
    '气象数据': ['昨天温度', '今天湿度', '明天降雨概率'],
    '人口流动': ['火车站客流', '机场人数', '地铁刷卡量'],
    '历史病例': ['去年同期发病数', '上周发病数', '附近城市发病数']
}

## 深度学习模型(时间序列分析)
模型任务 = "学习这些数据与疾病爆发的隐藏关系"

输出结果 = {
    '预警级别': '黄色预警',
    '高风险区域': ['XX区', 'YY街道'],
    '建议措施': '加强监测,准备疫苗'
}

【为什么用深度学习?】 传统方法:专家根据经验判断,容易遗漏复杂因素 深度学习方法:

  • 自动发现"高温+高湿度+人群密集"的组合风险
  • 捕捉肉眼看不到的规律
  • 准确率比传统方法提升30%

1.2.3 案例三:AI守护地球——电子垃圾智能分拣

【社会背景】 中国每年产生超过1000万吨电子垃圾,手工分拣效率低、有毒有害,很多珍贵资源被浪费。

【2026年新技术】 D3 Embedded公司在Embedded World大会上展示了"边缘OCR"技术:

1
2
3
4
5
6
【传统OCR】          【深度学习OCR】
   ↓                        ↓
只能识别清晰的        能识别磨损的、
标准印刷体            反光的、字体扭曲的标签
   ↓                        ↓
准确率低(50%)        准确率高(95%+)

【深度学习优势】

  • 能应对各种复杂情况:标签磨损、油污覆盖、反光干扰
  • 在设备本地运行,不需要联网
  • 分拣速度提升10倍,成本降低60%

1.3 常见深度学习模型和算法

1.3.1 神经元——深度学习的"基本粒子”

【生物类比】

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
生物神经元                   人工神经元
    ↓                           ↓
┌─────────┐               ┌─────────┐
│  树突   │ ───接受信号→   │  输入   │  x1,x2,x3
└─────────┘               └─────────┘
    ↓                           ↓
┌─────────┐               ┌─────────┐
│  细胞体 │ ───处理信号→   │  加权求和│  w1*x1 + w2*x2 + ...
└─────────┘               └─────────┘
    ↓                           ↓
┌─────────┐               ┌─────────┐
│  轴突   │ ───输出信号→   │  激活函数│  f(加权和)
└─────────┘               └─────────┘

【Python代码模拟一个神经元】

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import math

def simple_neuron(inputs, weights, bias):
    """
    一个最简单的神经元模型
    inputs: 输入值列表 [x1, x2, x3]
    weights: 权重列表 [w1, w2, w3]
    bias: 偏置项
    """
    ## 1. 加权求和
    weighted_sum = 0
    for x, w in zip(inputs, weights):
        weighted_sum += x * w
    weighted_sum += bias
    
    ## 2. 激活函数(这里用sigmoid)
    def sigmoid(x):
        return 1 / (1 + math.exp(-x))
    
    output = sigmoid(weighted_sum)
    return output

## 测试:判断是否应该带伞(输入:阴天、湿度、天气预报)
inputs = [1, 0.8, 0.6]  ## 阴天=1,湿度80%,降水概率60%
weights = [0.5, 0.3, 0.4]  ## 各个因素的重要性
bias = -0.2  ## 偏置项

result = simple_neuron(inputs, weights, bias)
print(f"神经元输出:{result:.4f}")
print(f"判断结果:{'带伞' if result > 0.5 else '不带伞'}")

【运行结果】

1
2
神经元输出:0.6857
判断结果:带伞

1.3.2 三大主流模型架构(2026年最新版)

模型一:卷积神经网络(CNN)——图像的"专家”

【通俗比喻】 CNN就像用放大镜扫图片——先看局部细节(边缘、颜色),再组合成整体认知(猫脸、狗脸)。

【生活类比】

1
2
3
4
5
6
7
8
9
识别一张人脸照片的过程:

第1层(低级特征):看到横线、竖线、斜线、颜色块
第2层(中级特征):看到眼睛、鼻子、嘴巴的局部
第3层(高级特征):看到完整的人脸轮廓
输出层:这是张三的脸,概率98%

【应用场景】

  • ✅ 人脸识别(手机解锁、门禁)
  • ✅ 自动驾驶(识别路牌、行人、车辆)
  • ✅ 医学影像(CT片识别肿瘤)
  • ✅ 工业质检(检测产品缺陷)

【2026年新动态】 Ultralytics公司发布YOLOv26,实时目标检测速度再刷新纪录,能在手机上每秒处理60帧视频。


模型二:循环神经网络(RNN)——处理"序列"的专家

【通俗比喻】 RNN就像有记忆的人——看文章时会记住前面看的内容,理解前后关系。

【生活类比】

1
2
3
4
5
6
理解一句话:"今天下雨,所以我带了____"

RNN的过程:
看到"今天下雨" → 记住"下雨"这个信息
看到"所以我带了" → 结合之前的"下雨"信息
预测后面的词 → "伞"的概率最大

【应用场景】

  • ✅ 天气预报(根据历史气温预测未来)
  • ✅ 股票走势分析(根据历史价格预测)
  • ✅ 语音识别(理解连续的语音)
  • ✅ 机器翻译(理解句子上下文)

【变体:LSTM(长短期记忆)】

  • 解决普通RNN"记不住太久以前的事"的问题
  • 就像有"长期记忆"和"短期记忆"的人

模型三:Transformer——当前的"全能冠军”

【通俗比喻】 Transformer像一目十行的天才——不按顺序看,同时关注所有位置的关系。

【为什么叫Transformer?】

  • 它能"变换"(Transform)输入,捕捉全局关系
  • 2017年Google提出,彻底改变了NLP领域

【生活类比】

1
2
3
4
分析一句话:"他昨天买了苹果,今天吃了香蕉"

CNN方式:只看局部"昨天买了苹果"和"今天吃了香蕉"
Transformer方式:同时看所有词,发现"他"既关联"买了"也关联"吃了"

【应用场景】

  • ✅ ChatGPT、文心一言、通义千问(大语言模型)
  • ✅ 多模态大模型(同时理解文字、图片、视频)
  • ✅ 蛋白质结构预测(AlphaFold2)
  • ✅ 代码生成(GitHub Copilot)

1.3.3 学习方式分类

【四种训练方式】

graph TD
    A[深度学习训练方式] --> B[监督学习]
    A --> C[无监督学习]
    A --> D[半监督学习]
    A --> E[强化学习]
    
    B --> B1[有标签数据
如:猫狗分类] C --> C1[无标签数据
如:客户分群] D --> D1[少量标签+大量无标签
如:医学影像] E --> E1[奖励-惩罚机制
如:AlphaGo]

【生活化解释】

学习方式 生活比喻 例子
监督学习 老师带着做题(有标准答案) 给你1万张标注"猫"或"狗"的图片学习
无监督学习 自己看书总结规律 给你1万张无标签图片,自己分出类别
半监督学习 少量例题+大量习题 10张标注图+9990张无标注图
强化学习 驯兽师用食物奖励 机器人走对了给奖励,走错了扣分

1.4 深度学习框架对比:TensorFlow vs PyTorch

1.4.1 为什么要用深度学习框架?

如果没有框架,我们要从头实现神经网络,需要:

1
2
3
4
5
6
7
8
## 伪代码:没有框架的痛苦
class MyNeuralNetwork:
    def __init__(self):
        ## 手动实现每一层的数学运算
        self.w1 = 随机初始化()
        self.b1 = 随机初始化()
        ## ... 还要实现反向传播、梯度下降、自动求导...
        ## 几百行代码后,还容易出错

有了框架,我们只需要:

1
2
3
4
5
6
7
8
## 有框架的快乐
import tensorflow as tf

model = tf.keras.Sequential([
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])
## 几行代码搞定!

1.4.2 TensorFlow vs PyTorch 全方位对比

【核心对比表格】

对比维度 TensorFlow(本课程使用) PyTorch 通俗比喻
出身背景 Google大脑团队开发 Facebook(现Meta)开发 谷歌亲儿子 vs 脸书亲儿子
发布时间 2015年开源 2016年开源 大哥 vs 二弟
工业界应用 ⭐⭐⭐⭐⭐ 绝对主流 ⭐⭐⭐ 较多 工厂老师傅 vs 实验室新秀
学术界偏好 ⭐⭐⭐ 较多 ⭐⭐⭐⭐⭐ 绝对主流 企业实战派 vs 科研创新派
学习曲线 平缓→陡峭(先易后难) 陡峭→平缓(先难后易) 先甜后苦 vs 先苦后甜
调试难度 相对复杂(静态图) 相对简单(动态图) 黑盒调试 vs 白盒调试
部署便捷性 ⭐⭐⭐⭐⭐ 非常完善 ⭐⭐⭐ 需要额外工具 一站式服务 vs DIY组装
移动端支持 TensorFlow Lite 强大 PyTorch Mobile 较新 手机、嵌入式都行 vs 起步较晚
中文文档 非常丰富 丰富 教材多 vs 教程也多
Keras集成 官方集成(tf.keras) 无官方集成 自带方向盘 vs 自己改装

【详细解读】

1. 出身背景

  • TensorFlow:Google出品,有强大的工程化基因。Google搜索、YouTube、Gmail背后都在用。
  • PyTorch:Facebook(Meta)出品,更注重研究人员的体验。Instagram、Facebook的AI功能在用。

2. 为什么学术界喜欢PyTorch?

1
2
3
4
5
6
【PyTorch的优势】
- 动态计算图:改代码就像改Python一样直观
- Debug方便:可以用print直接打印中间结果
- "Pythonic":写起来就像写普通Python代码

比喻:PyTorch就像手动挡汽车,想怎么开就怎么开,适合赛车手(研究员)

3. 为什么工业界偏爱TensorFlow?

1
2
3
4
5
6
7
【TensorFlow的优势】
- 静态计算图:编译后运行更快,适合生产环境
- 部署生态完善:Web、手机、嵌入式一条龙
- 模型版本管理:TensorFlow Serving 很方便
- 可视化:TensorBoard 很强大

比喻:TensorFlow就像自动挡汽车,虽然不能随心所欲,但稳定可靠,适合通勤(工业应用)

4. Keras的作用(非常重要!)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## TensorFlow 2.x 最大的改进:官方集成了Keras
import tensorflow as tf

## 以前的TensorFlow(1.x):写起来很复杂
## 现在的TensorFlow(2.x):简单如Keras

model = tf.keras.Sequential([  ## 这就是Keras风格!
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])

## 编译、训练都非常简单
model.compile(optimizer='adam', loss='categorical_crossentropy')

【比喻总结】

  • TensorFlow:像一个专业的工业机器人,功能强大、稳定可靠、适合大规模生产,但操作需要专业培训。
  • PyTorch:像一个灵活的科研工具,操作直观、容易改装、适合做实验,但要投入生产线还需要改装。

【本课程选择TensorFlow的原因】

  1. 就业需求大:企业招聘深度学习岗位,80%要求熟悉TensorFlow
  2. 部署方便:学完模型,可以直接部署到手机、网站、服务器
  3. 生态完善:遇到问题,网上解决方案最多
  4. Keras加持:写代码简单,适合初学者
  5. 本课程后续项目:需要模型部署,TensorFlow最合适

1.5 Python深度学习库安装(TensorFlow版)

1.5.1 准备工作:搭建"厨房"

【为什么要用Anaconda?】

  • 自动安装Python和常用库
  • 避免不同项目的库版本冲突
  • 就像给每个菜配单独的厨房

【详细安装步骤】

Step 1:下载Anaconda

  • 官网:https://www.anaconda.com/download
  • 选择:Windows 64位版本(Python 3.9/3.10)
  • 如果官网慢,用清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

Step 2:安装Anaconda

1
2
3
重要选项:
 Add Anaconda to my PATH environment variable(建议勾选)
 Register Anaconda as my default Python

Step 3:验证安装

1
2
3
## 打开命令行(CMD或PowerShell)
conda --version
## 应该显示:conda 23.x.x 或更高

Step 4:创建虚拟环境

1
2
3
4
5
6
7
## 创建名为tf_course的环境,Python版本3.9
conda create -n tf_course python=3.9 -y

## 激活环境
conda activate tf_course

## 看到提示符变成 (tf_course) 就成功了

1.5.2 安装TensorFlow(本课程核心)

【安装命令总览】

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
## 1. 先升级pip(避免安装问题)
python -m pip install --upgrade pip

## 2. 安装TensorFlow(CPU版本,适合大多数学生)
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple

## 3. 安装常用辅助库
pip install matplotlib pandas numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

## 4. 验证安装
python -c "import tensorflow as tf; print(tf.__version__)"

【如果安装慢的解决方案】

1
2
3
4
## 方法1:永久配置清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

## 方法2:每次临时使用(已经用-i参数实现)

【GPU版本说明】(仅限有NVIDIA显卡的同学)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
## 先确认是否有显卡:打开任务管理器 -> 性能 -> GPU
## 如果有NVIDIA显卡,安装GPU版本(需要先安装CUDA和cuDNN)

## 步骤1:检查显卡驱动是否支持
nvidia-smi  ## 查看CUDA版本要求

## 步骤2:安装GPU版本TensorFlow
pip install tensorflow[and-cuda]  ## TensorFlow 2.15+ 支持自动安装CUDA

## 或者手动指定
pip install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple

1.5.3 TensorFlow版本说明

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
"""
TensorFlow 版本演进(了解即可)
--------------------------------
TensorFlow 1.x (2015-2019): 静态图,写起来复杂,需要session.run()
TensorFlow 2.x (2019-现在): 动态图,默认开启Eager Execution,集成Keras

本课程使用:TensorFlow 2.15+ (2024-2026最新稳定版)
特点:
- 默认开启Eager Execution(像PyTorch一样直观)
- Keras作为官方高级API(写代码超简单)
- 性能优化,内存占用更小
"""

1.5.4 实战演练:第一个TensorFlow程序

【程序1:验证环境】(必做)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
"""
文件名:check_tf_env.py
功能:验证TensorFlow环境是否安装成功
"""

import sys
import platform

print("=" * 60)
print("TensorFlow 深度学习环境检查工具")
print("=" * 60)

## 1. 检查Python版本
print(f"\n✅ Python版本: {sys.version.split()[0]}")
print(f"✅ 操作系统: {platform.system()} {platform.release()}")

## 2. 尝试导入TensorFlow
try:
    import tensorflow as tf
    print(f"\n✅ TensorFlow版本: {tf.__version__}")
    
    ## 检查Keras(TensorFlow的高级API)
    print(f"✅ Keras版本: {tf.keras.__version__}")
    
    ## 检查是否有GPU
    gpus = tf.config.list_physical_devices('GPU')
    if gpus:
        print(f"✅ GPU可用: {len(gpus)} 个")
        for i, gpu in enumerate(gpus):
            print(f"   - GPU {i}: {gpu.name}")
    else:
        print("ℹ️ 使用CPU进行计算(没有检测到GPU)")
    
    ## 简单测试:创建张量
    hello = tf.constant('Hello, TensorFlow!')
    print(f"\n✅ 测试张量: {hello.numpy().decode()}")
    
    ## 测试基本运算
    a = tf.constant(5)
    b = tf.constant(3)
    c = a + b
    print(f"✅ 基本运算: 5 + 3 = {c.numpy()}")
    
except ImportError as e:
    print(f"\n❌ TensorFlow导入失败: {e}")
    print("请检查是否已安装或在正确的虚拟环境中")
    print("安装命令: pip install tensorflow")

## 3. 检查其他常用库
libraries = {
    'numpy': 'np',
    'pandas': 'pd',
    'matplotlib': 'plt'
}

print("\n" + "-" * 40)
print("检查辅助库:")
for lib_name, alias in libraries.items():
    try:
        lib = __import__(lib_name)
        version = getattr(lib, '__version__', '未知')
        print(f"✅ {lib_name} 版本: {version}")
    except ImportError:
        print(f"❌ {lib_name} 未安装")

print("\n" + "=" * 60)
print("环境检查完成!")
print("=" * 60)

【预期输出示例】

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
============================================================
TensorFlow 深度学习环境检查工具
============================================================

✅ Python版本: 3.9.13
✅ 操作系统: Windows 10

✅ TensorFlow版本: 2.15.0
✅ Keras版本: 2.15.0
ℹ️ 使用CPU进行计算(没有检测到GPU)

✅ 测试张量: Hello, TensorFlow!
✅ 基本运算: 5 + 3 = 8

----------------------------------------
检查辅助库:
✅ numpy 版本: 1.24.3
✅ pandas 版本: 2.0.3
✅ matplotlib 版本: 3.7.2

============================================================
环境检查完成!
============================================================

1.5.5 TensorFlow常见问题与解决方案

【问题1:pip安装超时或慢】

1
2
3
4
5
## 解决方案:使用国内镜像
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple

## 永久配置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

【问题2:ImportError: No module named ’tensorflow’】

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## 解决方案
## 1. 检查是否在正确的虚拟环境中
conda activate tf_course

## 2. 确认是否安装
pip list | findstr tensorflow  ## Windows
pip list | grep tensorflow      ## Mac/Linux

## 3. 如果没安装,重新安装
pip install tensorflow

【问题3:TensorFlow 2.x与1.x代码混淆】

1
2
3
4
5
6
7
8
9
## 错误:还在用TensorFlow 1.x的方式
## sess = tf.Session()  ## ❌ 旧版写法

## 正确:TensorFlow 2.x默认Eager Execution
import tensorflow as tf
a = tf.constant(5)
b = tf.constant(3)
c = a + b
print(c.numpy())  ## ✅ 直接输出8

【问题4:版本兼容性问题】

1
2
3
## 如果遇到版本冲突,可以指定版本安装
pip install tensorflow==2.15.0
pip install numpy==1.24.3  ## TensorFlow 2.15兼容的numpy版本

【问题5:内存不足】

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
## 解决方案:限制TensorFlow内存使用
import tensorflow as tf

## 限制GPU内存使用(如果有GPU)
gpus = tf.config.list_physical_devices('GPU')
if gpus:
    try:
        for gpu in gpus:
            tf.config.experimental.set_memory_growth(gpu, True)
        ## 或者限制固定内存
        ## tf.config.set_logical_device_configuration(
        ##     gpus[0],
        ##     [tf.config.LogicalDeviceConfiguration(memory_limit=2048)]
        ## )
    except RuntimeError as e:
        print(e)

## CPU模式下减少batch size
## model.fit(x_train, y_train, batch_size=32)  ## 如果内存不够,改小batch_size

1.6 本章总结

知识图谱

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌─────────────────────────────────────────────────────────┐
│                    第1章 深度学习概述                     │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1. 什么是深度学习?                                      │
│      ├─ 从AI到ML再到DL:俄罗斯套娃关系                      │
│      ├─ 三层结构:输入层→隐藏层→输出层                       │
│      └─ 火起来的原因:数据+算力+算法                        │
│                                                         │
│  2. 能做什么?                                           │
│      ├─ 案例1:具身智能机器人(2026年最火)                  │
│      ├─ 案例2:AI疾控预警(守护健康)                       │
│      └─ 案例3:电子垃圾分拣(守护地球)                      │
│                                                         │
│  3. 常见模型                                             │
│      ├─ CNN:图像专家,看局部特征                           │
│      ├─ RNN:序列专家,有记忆                              │
│      └─ Transformer:全能学霸,全局视野                     │
│                                                         │
│  4. 框架对比:TensorFlow vs PyTorch                       │
│      ├─ TensorFlow:Google开发,工业界主流,部署方便         │
│      ├─ PyTorch:Meta开发,学术界常用,调试灵活              │
│      └─ 本课程选择TensorFlow的原因                          │
│                                                         │
│  5. 环境搭建(TensorFlow版)                               │
│      ├─ Anaconda:管理环境和包                            │
│      ├─ TensorFlow:本课程深度学习框架                      │
│      └─ 第一个程序:线性回归(TensorFlow Hello World)       │
│                                                         │
└─────────────────────────────────────────────────────────┘

核心概念卡片

概念 一句话记忆 重要度
深度学习 让机器从数据中自动学习规律 ⭐⭐⭐⭐⭐
神经网络 模仿人脑的层级结构 ⭐⭐⭐⭐
CNN 用放大镜扫图片 ⭐⭐⭐⭐
RNN 有记忆能力 ⭐⭐⭐
Transformer 一目十行的天才 ⭐⭐⭐⭐⭐
TensorFlow Google开发的深度学习框架 ⭐⭐⭐⭐⭐
Keras TensorFlow的高级API,写代码超简单 ⭐⭐⭐⭐⭐

学习自检表

完成本章学习后,请自检:

  • 我能用自己的话解释什么是深度学习
  • 我能说出至少3个深度学习的应用场景
  • 我知道CNN、RNN、Transformer分别擅长什么
  • 我能说出TensorFlow和PyTorch的主要区别
  • 我知道本课程为什么选用TensorFlow
  • 我成功安装了Anaconda和TensorFlow
  • 我运行了第一个TensorFlow程序(线性回归)
  • 我对深度学习的"神奇"有了初步认识

0%