第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 具身智能
诞生 图像识别 战胜李世石 大语言 多模态大模型 机器人爆发
重大突破 模型爆发 元年
【火起来的三个关键原因】
数据爆炸 (“教材"多了)
以前:几千张图片就很珍贵
现在:每天上传到抖音的视频、淘宝的交易、微信的聊天,都是海量数据
2026年现状:全球每天产生约400EB数据(1EB=10亿GB)
算力飞跃 (“大脑"强了)
2012年:训练一个模型要几周
2026年:NVIDIA B200芯片比5年前快100倍,甚至能用远程GPU实时处理视频
比喻:以前是算盘,现在是超级计算机
算法突破 (“学习方法"进步了)
解决了"网络越深越难训练"的技术难题
网络层数从几层发展到上千层
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.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?】
它能"变换"(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]
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的原因】
就业需求大 :企业招聘深度学习岗位,80%要求熟悉TensorFlow
部署方便 :学完模型,可以直接部署到手机、网站、服务器
生态完善 :遇到问题,网上解决方案最多
Keras加持 :写代码简单,适合初学者
本课程后续项目 :需要模型部署,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程序(线性回归)
我对深度学习的"神奇"有了初步认识