深度学习

深度学习是一种机器学习技术,它通过模拟人脑神经网络的工作方式来处理和学习数据。与传统的机器学习方法不同,深度学习模型能够自动从大量数据中提取复杂的特征,而不需要人工设计特征。这种能力使得深度学习在图像识别、语音识别、自然语言处理等领域取得了显著的成果。

本文主要介绍我的深度学习环境搭建,基础学习方法等。

机器学习基础

  • 语言基础:Python
  • 视频学习:哔哩哔哩up主跟李沐学AI【完结】动手学深度学习PyTorch版视频。
  • 配套图书:《动手学深度学习》(机器学习领域的经典之作)

环境搭建

按照下面的环境搭建方法,当你需要安装GPU训练环境时,只需要安装Nvidia显卡驱动,不需要安装CUDA和cuDNN。这是因为,PyTorch和Tensorflow深度学习框架在安装时自带CUDA和cuDNN。

Python环境搭建

我的Python环境主要依赖于uv,有关uv的详细内容可以参考我的博客uv

PyTorch环境搭建

有关PyTorch的详细内容可以参考PyTorch官方文档

PyTorch-Python版本对应关系

安装最新版本的PyTorch,可以直接去PyTorch官方文档查看所需Python版本和安装命令。

需要安装旧版的PyTorch,就要查看PyTorch-Python版本对照表PyTorch安装命令

安装命令

初始化项目

1
uv init

配置pyproject.toml

cpu
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[project.optional-dependencies]
cpu = [
"torch>=1.12.0",
"torchvision>=0.13.0",
"torchaudio>=0.12.0",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cpu" },
]
torchvision = [
{ index = "pytorch-cpu" },
]
torchaudio = [
{ index = "pytorch-cpu" },
]

[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true
cu128
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[project.optional-dependencies]
cu128 = [
"torch>=2.7.0; python_version >= '3.9'",
"torchvision>=0.22.0; python_version >= '3.9'",
"torchaudio>=2.7.0; python_version >= '3.9'",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu128" },
]
torchvision = [
{ index = "pytorch-cu128" },
]
torchaudio = [
{ index = "pytorch-cu128" },
]

[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true
cu126
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[project.optional-dependencies]
cu126 = [
"torch>=2.6.0; python_version >= '3.9'",
"torchvision>=0.21.0; python_version >= '3.9'",
"torchaudio>=2.6.0; python_version >= '3.9'",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu126" },
]
torchvision = [
{ index = "pytorch-cu126" },
]
torchaudio = [
{ index = "pytorch-cu126" },
]

[[tool.uv.index]]
name = "pytorch-cu126"
url = "https://download.pytorch.org/whl/cu126"
explicit = true
cu124
pyproject.toml
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
[project.optional-dependencies]
cu124 = [
"torch>=2.4.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torchvision>=0.19.0,<0.20.0; python_version >= '3.8' and python_version < '3.9'",
"torchaudio>=2.4.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torch>=2.5.0; python_version >= '3.9'",
"torchvision>=0.20.0; python_version >= '3.9'",
"torchaudio>=2.5.0; python_version >= '3.9'",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu124" },
]
torchvision = [
{ index = "pytorch-cu124" },
]
torchaudio = [
{ index = "pytorch-cu124" },
]

[[tool.uv.index]]
name = "pytorch-cu124"
url = "https://download.pytorch.org/whl/cu124"
explicit = true
cu121
pyproject.toml
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
[project.optional-dependencies]
cu121 = [
"torch>=2.1.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torchvision>=0.16.0,<0.20.0; python_version >= '3.8' and python_version < '3.9'",
"torchaudio>=2.1.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torch>=2.5.0; python_version >= '3.9'",
"torchvision>=0.20.0; python_version >= '3.9'",
"torchaudio>=2.5.0; python_version >= '3.9'",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu121" },
]
torchvision = [
{ index = "pytorch-cu121" },
]
torchaudio = [
{ index = "pytorch-cu121" },
]

[[tool.uv.index]]
name = "pytorch-cu121"
url = "https://download.pytorch.org/whl/cu121"
explicit = true
cu118
pyproject.toml
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
[project.optional-dependencies]
cu118 = [
"torch>=2.1.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torchvision>=0.16.0,<0.20.0; python_version >= '3.8' and python_version < '3.9'",
"torchaudio>=2.1.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torch>=2.5.0; python_version >= '3.9'",
"torchvision>=0.20.0; python_version >= '3.9'",
"torchaudio>=2.5.0; python_version >= '3.9'",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu118" },
]
torchvision = [
{ index = "pytorch-cu118" },
]
torchaudio = [
{ index = "pytorch-cu118" },
]

[[tool.uv.index]]
name = "pytorch-cu118"
url = "https://download.pytorch.org/whl/cu118"
explicit = true
cu117
pyproject.toml
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
[project.optional-dependencies]
cu117 = [
"torch>=1.13.0,<2.0.0; python_version >= '3.7' and python_version < '3.8'",
"torchvision>=0.14.0,<0.15.0; python_version >= '3.7' and python_version < '3.8'",
"torchaudio>=0.13.0,<2.0.0; python_version >= '3.7' and python_version < '3.8'",
"torch>=2.0.0,<2.1.0; python_version >= '3.8' and python_version < '3.12'",
"torchvision>=0.15.0,<0.16.0; python_version >= '3.8' and python_version < '3.12'",
"torchaudio>=2.0.0,<2.1.0; python_version >= '3.8' and python_version < '3.12'",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu117" },
]
torchvision = [
{ index = "pytorch-cu117" },
]
torchaudio = [
{ index = "pytorch-cu117" },
]

[[tool.uv.index]]
name = "pytorch-cu117"
url = "https://download.pytorch.org/whl/cu117"
explicit = true
cu116
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[project.optional-dependencies]
cu116 = [
"torch>=1.12.0,<2.0.0; python_version >= '3.7' and python_version < '3.11'",
"torchvision>=0.13.0,<0.15.0; python_version >= '3.7' and python_version < '3.11'",
"torchaudio>=0.13.0,<2.0.0; python_version >= '3.7' and python_version < '3.11'",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu116" },
]
torchvision = [
{ index = "pytorch-cu116" },
]
torchaudio = [
{ index = "pytorch-cu116" },
]

[[tool.uv.index]]
name = "pytorch-cu116"
url = "https://download.pytorch.org/whl/cu116"
explicit = true
cu113
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[project.optional-dependencies]
cu113 = [
"torch>=1.12.0,<1.13.0; python_version >= '3.7' and python_version < '3.11'",
"torchvision>=0.13.0,<0.14.0; python_version >= '3.7' and python_version < '3.11'",
"torchaudio>=0.12.0,<0.13.0; python_version >= '3.7' and python_version < '3.11'",
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu113" },
]
torchvision = [
{ index = "pytorch-cu113" },
]
torchaudio = [
{ index = "pytorch-cu113" },
]

[[tool.uv.index]]
name = "pytorch-cu113"
url = "https://download.pytorch.org/whl/cu113"
explicit = true
自选安装
pyproject.toml
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[project.optional-dependencies]
cu118 = [
"torch>=2.1.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torchvision>=0.16.0,<0.20.0; python_version >= '3.8' and python_version < '3.9'",
"torchaudio>=2.1.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torch>=2.5.0; python_version >= '3.9'",
"torchvision>=0.20.0; python_version >= '3.9'",
"torchaudio>=2.5.0; python_version >= '3.9'",
]
cu121 = [
"torch>=2.1.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torchvision>=0.16.0,<0.20.0; python_version >= '3.8' and python_version < '3.9'",
"torchaudio>=2.1.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torch>=2.5.0; python_version >= '3.9'",
"torchvision>=0.20.0; python_version >= '3.9'",
"torchaudio>=2.5.0; python_version >= '3.9'",
]
cu124 = [
"torch>=2.4.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torchvision>=0.19.0,<0.20.0; python_version >= '3.8' and python_version < '3.9'",
"torchaudio>=2.4.0,<2.5.0; python_version >= '3.8' and python_version < '3.9'",
"torch>=2.5.0; python_version >= '3.9'",
"torchvision>=0.20.0; python_version >= '3.9'",
"torchaudio>=2.5.0; python_version >= '3.9'",
]
cu126 = [
"torch>=2.6.0; python_version >= '3.9'",
"torchvision>=0.21.0; python_version >= '3.9'",
"torchaudio>=2.6.0; python_version >= '3.9'",
]
cu128 = [
"torch>=2.7.0; python_version >= '3.9'",
"torchvision>=0.22.0; python_version >= '3.9'",
"torchaudio>=2.7.0; python_version >= '3.9'",
]
cpu = [
"torch>=2.1.0",
"torchvision>=0.16.0",
"torchaudio>=2.1.0",
]

[tool.uv]
conflicts = [
[
{ extra = "cu118" },
{ extra = "cu121" },
{ extra = "cu124" },
{ extra = "cu126" },
{ extra = "cu128" },
{ extra = "cpu" },
],
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cu118", extra = "cu118" },
{ index = "pytorch-cu121", extra = "cu121" },
{ index = "pytorch-cu124", extra = "cu124" },
{ index = "pytorch-cu126", extra = "cu126" },
{ index = "pytorch-cu128", extra = "cu128" },
{ index = "pytorch-cpu", extra = "cpu" },
]
torchvision = [
{ index = "pytorch-cu118", extra = "cu118" },
{ index = "pytorch-cu121", extra = "cu121" },
{ index = "pytorch-cu124", extra = "cu124" },
{ index = "pytorch-cu126", extra = "cu126" },
{ index = "pytorch-cu128", extra = "cu128" },
{ index = "pytorch-cpu", extra = "cpu" },
]
torchaudio = [
{ index = "pytorch-cu118", extra = "cu118" },
{ index = "pytorch-cu121", extra = "cu121" },
{ index = "pytorch-cu124", extra = "cu124" },
{ index = "pytorch-cu126", extra = "cu126" },
{ index = "pytorch-cu128", extra = "cu128" },
{ index = "pytorch-cpu", extra = "cpu" },
]

[[tool.uv.index]]
name = "pytorch-cu118"
url = "https://download.pytorch.org/whl/cu118"
explicit = true

[[tool.uv.index]]
name = "pytorch-cu121"
url = "https://download.pytorch.org/whl/cu121"
explicit = true

[[tool.uv.index]]
name = "pytorch-cu124"
url = "https://download.pytorch.org/whl/cu124"
explicit = true

[[tool.uv.index]]
name = "pytorch-cu126"
url = "https://download.pytorch.org/whl/cu126"
explicit = true

[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true

添加需要的库

1
uv add jupyter pandas matplotlib

Tensorflow环境搭建

安装最新版本的Tensorflow,可以直接去Tensorflow官方文档查看所需Python版本和安装命令。

Tensorflow版本对应关系

在Linux环境下安装Tensorflow GPU版的版本对应关系

在Windows环境下安装Tensorflow GPU版的版本对应关系

Windows环境下Tensorflow GPU版无法安装最新版。

Linux环境下安装Tensorflow

安装最新版Tensorflow的CPU版本

1
uv add tensorflow

安装最新版Tensorflow的GPU版本

1
uv add tensorflow[and-cuda]