|
5 | 5 | "id": "ca7fc8a0-280c-4979-b0c7-fc3a99b3b785",
|
6 | 6 | "metadata": {},
|
7 | 7 | "source": [
|
8 |
| - "# Chapter 2: Introduction to PyTorch (Part 1)" |
| 8 | + "# Appendix A: Introduction to PyTorch (Part 1)" |
9 | 9 | ]
|
10 | 10 | },
|
11 | 11 | {
|
12 | 12 | "cell_type": "markdown",
|
13 | 13 | "id": "f5bf13d2-8fc2-483e-88cc-6b4310221e68",
|
14 | 14 | "metadata": {},
|
15 | 15 | "source": [
|
16 |
| - "## 2.1 What is PyTorch" |
| 16 | + "## A.1 What is PyTorch" |
17 | 17 | ]
|
18 | 18 | },
|
19 | 19 | {
|
|
59 | 59 | "id": "2100cf2e-7459-4ab3-92a8-43e86ab35a9b",
|
60 | 60 | "metadata": {},
|
61 | 61 | "source": [
|
62 |
| - "## 2.2 Understanding tensors" |
| 62 | + "## A.2 Understanding tensors" |
63 | 63 | ]
|
64 | 64 | },
|
65 | 65 | {
|
66 | 66 | "cell_type": "markdown",
|
67 | 67 | "id": "26d7f785-e048-42bc-9182-a556af6bb7f4",
|
68 | 68 | "metadata": {},
|
69 | 69 | "source": [
|
70 |
| - "### 2.2.1 Scalars, vectors, matrices, and tensors" |
| 70 | + "### A.2.1 Scalars, vectors, matrices, and tensors" |
71 | 71 | ]
|
72 | 72 | },
|
73 | 73 | {
|
|
148 | 148 | "id": "63dec48d-2b60-41a2-ac06-fef7e718605a",
|
149 | 149 | "metadata": {},
|
150 | 150 | "source": [
|
151 |
| - "### 2.2.2 Tensor data types" |
| 151 | + "### A.2.2 Tensor data types" |
152 | 152 | ]
|
153 | 153 | },
|
154 | 154 | {
|
|
213 | 213 | "id": "2020deb5-aa02-4524-b311-c010f4ad27ff",
|
214 | 214 | "metadata": {},
|
215 | 215 | "source": [
|
216 |
| - "### 2.2.3 Common PyTorch tensor operations" |
| 216 | + "### A.2.3 Common PyTorch tensor operations" |
217 | 217 | ]
|
218 | 218 | },
|
219 | 219 | {
|
|
378 | 378 | "id": "4c15bdeb-78e2-4870-8a4f-a9f591666f38",
|
379 | 379 | "metadata": {},
|
380 | 380 | "source": [
|
381 |
| - "## 2.3 Seeing models as computation graphs" |
| 381 | + "## A.3 Seeing models as computation graphs" |
382 | 382 | ]
|
383 | 383 | },
|
384 | 384 | {
|
|
415 | 415 | "id": "f9424f26-2bac-47e7-b834-92ece802247c",
|
416 | 416 | "metadata": {},
|
417 | 417 | "source": [
|
418 |
| - "## 2.4 Automatic differentiation made easy" |
| 418 | + "## A.4 Automatic differentiation made easy" |
419 | 419 | ]
|
420 | 420 | },
|
421 | 421 | {
|
|
481 | 481 | "id": "f53bdd7d-44e6-40ab-8a5a-4eef74ef35dc",
|
482 | 482 | "metadata": {},
|
483 | 483 | "source": [
|
484 |
| - "## 2.5 Implementing multilayer neural networks" |
| 484 | + "## A.5 Implementing multilayer neural networks" |
485 | 485 | ]
|
486 | 486 | },
|
487 | 487 | {
|
|
709 | 709 | "id": "19858180-0f26-43a8-b2c3-7ed40abf9f85",
|
710 | 710 | "metadata": {},
|
711 | 711 | "source": [
|
712 |
| - "## 2.6 Setting up efficient data loaders" |
| 712 | + "## A.6 Setting up efficient data loaders" |
713 | 713 | ]
|
714 | 714 | },
|
715 | 715 | {
|
|
884 | 884 | "id": "d904ca82-e50f-4f3d-a3ac-fc6ca53dd00e",
|
885 | 885 | "metadata": {},
|
886 | 886 | "source": [
|
887 |
| - "## 2.7 A typical training loop" |
| 887 | + "## A.7 A typical training loop" |
888 | 888 | ]
|
889 | 889 | },
|
890 | 890 | {
|
|
1127 | 1127 | "id": "4d5cd469-3a45-4394-944b-3ce543f41dac",
|
1128 | 1128 | "metadata": {},
|
1129 | 1129 | "source": [
|
1130 |
| - "## 2.8 Saving and loading models" |
| 1130 | + "## A.8 Saving and loading models" |
1131 | 1131 | ]
|
1132 | 1132 | },
|
1133 | 1133 | {
|
|
1167 | 1167 | "id": "f891c013-43da-4a05-973d-997be313d2d8",
|
1168 | 1168 | "metadata": {},
|
1169 | 1169 | "source": [
|
1170 |
| - "## 2.9 Optimizing training performance with GPUs" |
| 1170 | + "## A.9 Optimizing training performance with GPUs" |
1171 | 1171 | ]
|
1172 | 1172 | },
|
1173 | 1173 | {
|
1174 | 1174 | "cell_type": "markdown",
|
1175 | 1175 | "id": "e68ae888-cabf-49c9-bad6-ecdce774db57",
|
1176 | 1176 | "metadata": {},
|
1177 | 1177 | "source": [
|
1178 |
| - "### 2.9.1 PyTorch computations on GPU devices" |
| 1178 | + "### A.9.1 PyTorch computations on GPU devices" |
1179 | 1179 | ]
|
1180 | 1180 | },
|
1181 | 1181 | {
|
1182 | 1182 | "cell_type": "markdown",
|
1183 | 1183 | "id": "141c845f-efe3-4614-b376-b8b7a9a2c887",
|
1184 | 1184 | "metadata": {},
|
1185 | 1185 | "source": [
|
1186 |
| - "See [ch02-code-part2.ipynb](ch02-code-part2.ipynb)" |
| 1186 | + "See [code-part2.ipynb](code-part2.ipynb)" |
1187 | 1187 | ]
|
1188 | 1188 | },
|
1189 | 1189 | {
|
1190 | 1190 | "cell_type": "markdown",
|
1191 | 1191 | "id": "99811829-b817-42ea-b03e-d35374debcc0",
|
1192 | 1192 | "metadata": {},
|
1193 | 1193 | "source": [
|
1194 |
| - "### 2.9.2 Single-GPU training" |
| 1194 | + "### A.9.2 Single-GPU training" |
1195 | 1195 | ]
|
1196 | 1196 | },
|
1197 | 1197 | {
|
1198 | 1198 | "cell_type": "markdown",
|
1199 | 1199 | "id": "0b21456c-4af7-440f-9e78-37770277b5bc",
|
1200 | 1200 | "metadata": {},
|
1201 | 1201 | "source": [
|
1202 |
| - "See [ch02-code-part2.ipynb](ch02-code-part2.ipynb)" |
| 1202 | + "See [code-part2.ipynb](code-part2.ipynb)" |
1203 | 1203 | ]
|
1204 | 1204 | },
|
1205 | 1205 | {
|
1206 | 1206 | "cell_type": "markdown",
|
1207 | 1207 | "id": "db6eb2d1-a341-4489-b04b-635c26945333",
|
1208 | 1208 | "metadata": {},
|
1209 | 1209 | "source": [
|
1210 |
| - "### 2.9.3 Training with multiple GPUs" |
| 1210 | + "### A.9.3 Training with multiple GPUs" |
1211 | 1211 | ]
|
1212 | 1212 | },
|
1213 | 1213 | {
|
1214 | 1214 | "cell_type": "markdown",
|
1215 | 1215 | "id": "9d049a81-5fb0-49b5-9d6a-17a9976d8520",
|
1216 | 1216 | "metadata": {},
|
1217 | 1217 | "source": [
|
1218 |
| - "See [ch02-code-part3.py](ch02-code-part3.py)" |
| 1218 | + "See [code-part3.py](code-part3.py)" |
1219 | 1219 | ]
|
1220 | 1220 | }
|
1221 | 1221 | ],
|
|
1235 | 1235 | "name": "python",
|
1236 | 1236 | "nbconvert_exporter": "python",
|
1237 | 1237 | "pygments_lexer": "ipython3",
|
1238 |
| - "version": "3.10.12" |
| 1238 | + "version": "3.10.6" |
1239 | 1239 | }
|
1240 | 1240 | },
|
1241 | 1241 | "nbformat": 4,
|
|
0 commit comments