{
 "nbformat": 4,
 "nbformat_minor": 5,
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python"
  },
  "lecture_migration": {
   "project_id": "c0b185e7-d7e3-48b6-a605-8f1acdfe243c",
   "notebook_id": "008c71041d2d43569af77c9f25509be8",
   "destination": "L2",
   "cloud_run": false
  },
  "title": "CLS 00 · 第二讲导读"
 },
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "89fadb4154364ab18007227fb3d327b8",
     "type": "text-cell-h1",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-1"
   },
   "source": "# CLS 00 · 第二讲导读\n",
   "id": "89fadb4154364ab18007227fb3d327b8"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "f947668a0e334986a341f8d3110e3011",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-2"
   },
   "source": "从监督学习到动态计算",
   "id": "f947668a0e334986a341f8d3110e3011"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "f3f51acd81a34692a35ae3cfbd83b0e5",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-3"
   },
   "source": [
    "**Learning to See — Network Architecture。** 从图像与类别标签出发，理解一台视觉网络怎样连接、怎样学习，以及怎样分配计算。\n",
    "\n",
    "[打开第二讲 Slides](https://codingai-lec02.pages.dev/) · [问卷作业 ↗](https://tally.so/r/VLroVv)（右键在新标签页打开） · [网页导读与学习材料](https://codingai-lec02.pages.dev/course/guide.html)\n",
    "\n",
    "**课堂先选一个问题。** 下方活动可以只读保存结果，也可以按各册准备步骤运行；不必从第一本开始逐本执行。讨论时带回三件东西：你改了什么、哪张图或哪个数值支持判断、还有什么不能推出。\n",
    "\n",
    "课后连续阅读按 **CLS 01 → CLS 03 → CLS 04 → CLS 06 → CLS 07**；观察与干预按需读 CLS 05。CLS 补足推理，Lab 让你改变条件并检验，网页阅读版便于直接看图，下载版保留代码与输出。\n",
    "\n",
    "课外链接建议右键在新标签页打开，结束后切回原 Slides 标签。各册的返回链接定位到对应主题，不会自动恢复任意来源停点。"
   ],
   "id": "f3f51acd81a34692a35ae3cfbd83b0e5"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "e181bcf27d324e0da740f71dbe28bde5",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-4"
   },
   "source": [
    "从课堂问题进入材料"
   ],
   "id": "e181bcf27d324e0da740f71dbe28bde5"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "27b5b53896a845cba8e25eac89b058bf",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-5"
   },
   "source": [
    "## 课堂活动：先选一个问题\n",
    "\n",
    "可以两人结对：一人先预测，一人运行或读图，再交换解释。下面是选择入口，不是全部必做清单；具体代码位于各册所列小节。\n",
    "\n",
    "| 想检验什么 | 怎样开始 | 只改一项／做一个观察 |\n",
    "|---|---|---|\n",
    "| [一次更新：步长变大一定更好吗？](https://codingai-lec02.pages.dev/course/lab06.html#block-ede83a24b4da4f4e8283ad878e9233d5) | 短练 · NumPy / Matplotlib；准备块 → 第 3 节；改 P 后先重跑准备块 | scalar_lr：0.1 → 0.3，再单独试 0.55；先预测 w′、y′、L′。 |\n",
    "| [同一个核：增加输入通道会改变什么？](https://codingai-lec02.pages.dev/course/lab01.html#block-40698be812d747d29d7c6e48b3e3a561) | 独立短练 · PyTorch；该节代码自带导入，无数据下载或训练 | 只把 C_IN：2 → 3，保持 C_OUT=3、KH=2、KW=2。 |\n",
    "| [残差：有 skip 就一定保留输入吗？](https://codingai-lec02.pages.dev/course/lab03.html#block-e405e516481d42998e8df30b384044bb) | 独立短练 · PyTorch；该节代码自带导入，只做前向与求导 | 只把 BRANCH_GAIN：0 → −1，预测 skip / post-ReLU 四种组合。 |\n",
    "| [结构与增强：先读四格，再解释取舍](https://codingai-lec02.pages.dev/course/lab02.html#block-d88298f6712e42d6926bdd1b2fe270ab) | 读保存结果 · 无需运行；直接看四组图表；完整重算需第 4 节训练 | 同一结构内比较有／无增强，再比较原图与右移测试。 |\n",
    "| [遮挡：同样的框等于同样的干预吗？](https://codingai-lec02.pages.dev/course/lab08.html#block-b68e5ea98ff5441b9523f9ad8aefbe80) | 先读保存图 · 可选固定模型前向；重算需配套文件 → 准备 → 第 1 节 → 第 3 节 | 先比较 A/B 的改变像素数；预测 FILL：0 → 0.5 会怎样。 |\n",
    "| [早退：为什么动态方案没赢过浅出口？](https://codingai-lec02.pages.dev/course/lab13.html#block-86d1e71d2f8e4d83aabd27b0b1f7700d) | 读表与手算 · 无需训练；读三条 MAC 路径和固定浅出口负对照 | 用 357 张早退、3 张继续核对平均值；再预测 τ=1.01。 |\n",
    "\n",
    "每组带回一项证据和一句限制：改了什么、结果支持什么、还不能说明什么。设备暂时不能运行时，保存结果仍可完成比较讨论。\n",
    "\n",
    "## 主讲—CLS—Lab 对应关系\n",
    "\n",
    "| 主讲问题 | 连续阅读 | 可选择的活动 |\n",
    "|---|---|---|\n",
    "| [A · 一台视觉网络怎样学起来](https://codingai-lec02.pages.dev/#/from-local-operations/0) | [CLS 01 · 从像素到学习：表示、损失与一次更新](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/a09cce95fed04f51850a46e7afd37c2e?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=a09cce95fed04f51850a46e7afd37c2e&utm_term=get_notebook) | [LAB 06 · 表示、损失与学习步长](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/8ed9e8ca4b444a07921ce1df42c6db01?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=8ed9e8ca4b444a07921ce1df42c6db01&utm_term=get_notebook) |\n",
    "| [B · 为什么这样组织局部计算](https://codingai-lec02.pages.dev/#/convolution-before-imagenet/0) | [CLS 03 · 同一台 CNN：局部计算、共享反馈与检验](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/15edefc493064d3382fb418f52d8fabb?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=15edefc493064d3382fb418f52d8fabb&utm_term=get_notebook)；[CLS 05 · 观察与迁移：响应说明什么，新任务怎样检验](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/a9c291b4c33b49d2aa7737b6215853d6?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=a9c291b4c33b49d2aa7737b6215853d6&utm_term=get_notebook) 的观察与干预 | [LAB 01 · 学会一个卷积核](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/0b7ff2d0e61347cd917939e62deb701c?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=0b7ff2d0e61347cd917939e62deb701c&utm_term=get_notebook)：第1／3节，局部乘加与共享梯度；[LAB 02 · 小 CNN 与图像平移](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/03c7a68e5b484caea0cdfc24a5e229a0?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=03c7a68e5b484caea0cdfc24a5e229a0&utm_term=get_notebook)：第5／6节，图像平移与预测变化；[LAB 03 · 架构实验室](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/7d24fdb79a14466ab304927c39d1a317?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=7d24fdb79a14466ab304927c39d1a317&utm_term=get_notebook)：第1／3／4节，感受野、分支和残差条件；[LAB 08 · 从真实响应到遮挡对照](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/dd878c8afff04515a1eeca56ba434170?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=dd878c8afff04515a1eeca56ba434170&utm_term=get_notebook)：第1／3节，真实响应与同面积遮挡对照 |\n",
    "| [C · 网络不只是不断加层](https://codingai-lec02.pages.dev/#/alexnet-system/0) | [CLS 04 · 为什么还要加深：训练起点、规模与残差](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/52d5359cf8504f069e29cebf107c5674?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=52d5359cf8504f069e29cebf107c5674&utm_term=get_notebook)；[CLS 06 · 现代骨干与公平比较](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bd49b94c43824786bd67374282a11aea?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bd49b94c43824786bd67374282a11aea&utm_term=get_notebook) 的连接与比较 | [LAB 03 · 架构实验室](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/7d24fdb79a14466ab304927c39d1a317?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=7d24fdb79a14466ab304927c39d1a317&utm_term=get_notebook)；[LAB 05 · 经典架构与视觉表示](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/85eeb3d8253b47bd8b9504b9e226b843?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=85eeb3d8253b47bd8b9504b9e226b843&utm_term=get_notebook) 的相关段落 |\n",
    "| [D · 给定预算，哪些计算值得保留](https://codingai-lec02.pages.dev/#/frontier-end-to-end-latency/0) | [CLS 06 · 现代骨干与公平比较](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bd49b94c43824786bd67374282a11aea?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bd49b94c43824786bd67374282a11aea&utm_term=get_notebook)；[CLS 07 · 设备、自动设计与动态计算](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bc9e14b3e30641e496d8ebd352a630cb?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bc9e14b3e30641e496d8ebd352a630cb&utm_term=get_notebook) 的成本部分 | [LAB 10 · 成本目标与结构选择](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/e5561a92168e4326bd18be13ea4ad37f?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=e5561a92168e4326bd18be13ea4ad37f&utm_term=get_notebook) |\n",
    "| [E · 谁来选择这张计算图](https://codingai-lec02.pages.dev/#/frontier-nas-inner-outer-loops/0) | [CLS 07 · 设备、自动设计与动态计算](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bc9e14b3e30641e496d8ebd352a630cb?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bc9e14b3e30641e496d8ebd352a630cb&utm_term=get_notebook) 的搜索与部署部分 | [LAB 10 · 成本目标与结构选择](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/e5561a92168e4326bd18be13ea4ad37f?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=e5561a92168e4326bd18be13ea4ad37f&utm_term=get_notebook) 的验证选择与简单基线 |\n",
    "| [F · 看到输入以后怎样选择计算](https://codingai-lec02.pages.dev/#/architecture-exit-training/0) | [CLS 07 · 设备、自动设计与动态计算](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bc9e14b3e30641e496d8ebd352a630cb?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bc9e14b3e30641e496d8ebd352a630cb&utm_term=get_notebook) 的动态计算收束 | [LAB 11 · 何时继续计算](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/d56865395a8b48658cec7e4ba1e82d2c?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=d56865395a8b48658cec7e4ba1e82d2c&utm_term=get_notebook) |\n",
    "\n",
    "可以先阅读已保存的图与结果，再预测改变一个条件会发生什么。CLS 补足推理，Lab 保留可运行代码、协议与反例。\n",
    "\n",
    "**按图继续观察：**\n",
    "\n",
    "- [CLS06 · ConvNeXt 接口图](https://codingai-lec02.pages.dev/course/c07.html#block-a097b559327b443dab6300c49a5a6ec3)：找出空间混合、C→4C→C 与相加接口。\n",
    "- [CLS07 · 模型计时与用户等待](https://codingai-lec02.pages.dev/course/c08.html#block-94446dea201940ed9b6224f8cecf94e5)：圈出两个计时区间，预测局部提速怎样影响整段等待。\n",
    "- [CLS07 · 部署前选网与逐输入早退](https://codingai-lec02.pages.dev/course/c08.html#block-56b8c616e7204ae48bf64e654b383122)：分别改变设备和输入，判断哪项选择改变。\n",
    "- [CLS07 · MoE、Loop 与视觉 TTT](https://codingai-lec02.pages.dev/course/c08.html#block-71cea716b61644faaf54987e50121645)：沿三幅图区分路径选择、状态变化和参数更新。\n",
    "- [LAB11 · 三条 MAC 路径](https://codingai-lec02.pages.dev/course/lab13.html#block-86d1e71d2f8e4d83aabd27b0b1f7700d)：比较全深度、早退、继续三条账本，再读固定浅出口负对照。"
   ],
   "id": "27b5b53896a845cba8e25eac89b058bf"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "03550a76ad864a8ab852fac8a176a33a",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-6"
   },
   "source": "全部材料索引",
   "id": "03550a76ad864a8ab852fac8a176a33a"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "334135d5dd434c4cacadefd48ffbe69b",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-7"
   },
   "source": [
    "| 材料 | 用途与推荐位置 | 网页与下载 |\n",
    "|---|---|---|\n",
    "| [CLS 00 · 第二讲导读](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/008c71041d2d43569af77c9f25509be8?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=008c71041d2d43569af77c9f25509be8&utm_term=get_notebook) | 先读：本讲主题、入口与材料选择 | [阅读](https://codingai-lec02.pages.dev/course/guide.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS00.ipynb) |\n",
    "| [CLS 01 · 从像素到学习：表示、损失与一次更新](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/a09cce95fed04f51850a46e7afd37c2e?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=a09cce95fed04f51850a46e7afd37c2e&utm_term=get_notebook) | 主线 A：表示、分数、监督反馈和一次更新 | [阅读](https://codingai-lec02.pages.dev/course/c01.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS01.ipynb) |\n",
    "| [CLS 02 · 传统视觉：局部描述、共同词典与分类](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/893bd96837a6421d8fa5c5788075bd5b?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=893bd96837a6421d8fa5c5788075bd5b&utm_term=get_notebook) | 历史参考：局部描述、共同词典与分类分工 | [阅读](https://codingai-lec02.pages.dev/course/c02.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS02.ipynb) |\n",
    "| [CLS 03 · 同一台 CNN：局部计算、共享反馈与检验](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/15edefc493064d3382fb418f52d8fabb?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=15edefc493064d3382fb418f52d8fabb&utm_term=get_notebook) | 主线 B：同一台 CNN 的局部计算、共享梯度与检验 | [阅读](https://codingai-lec02.pages.dev/course/c03.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS03.ipynb) |\n",
    "| [CLS 04 · 为什么还要加深：训练起点、规模与残差](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/52d5359cf8504f069e29cebf107c5674?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=52d5359cf8504f069e29cebf107c5674&utm_term=get_notebook) | 主线 C：规模、深度、残差与同深度证据 | [阅读](https://codingai-lec02.pages.dev/course/c04.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS04.ipynb) |\n",
    "| [CLS 05 · 观察与迁移：响应说明什么，新任务怎样检验](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/a9c291b4c33b49d2aa7737b6215853d6?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=a9c291b4c33b49d2aa7737b6215853d6&utm_term=get_notebook) | 主线 B 按需：观察与干预；迁移部分转入第三讲 | [阅读](https://codingai-lec02.pages.dev/course/c05.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS05.ipynb) |\n",
    "| [CLS 06 · 现代骨干与公平比较](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bd49b94c43824786bd67374282a11aea?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bd49b94c43824786bd67374282a11aea&utm_term=get_notebook) | 主线 C–D：现代模块、结构贡献与公平比较 | [阅读](https://codingai-lec02.pages.dev/course/c07.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS06.ipynb) |\n",
    "| [CLS 07 · 设备、自动设计与动态计算](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bc9e14b3e30641e496d8ebd352a630cb?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bc9e14b3e30641e496d8ebd352a630cb&utm_term=get_notebook) | 主线 D–F：成本、搜索、部署前选网与逐输入计算 | [阅读](https://codingai-lec02.pages.dev/course/c08.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS07.ipynb) |\n",
    "| [CLS 08 · 分布变化与适应](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/ea2cb925a01d44768410847dc0f19e7a?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=ea2cb925a01d44768410847dc0f19e7a&utm_term=get_notebook) | 独立参考：分布变化、评价与适应的边界 | [阅读](https://codingai-lec02.pages.dev/course/c09.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-CLS08.ipynb) |\n",
    "| [LAB 01 · 学会一个卷积核](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/0b7ff2d0e61347cd917939e62deb701c?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=0b7ff2d0e61347cd917939e62deb701c&utm_term=get_notebook) | 主线 B 可选：核对局部乘加与共享梯度 | [阅读](https://codingai-lec02.pages.dev/course/lab01.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB01.ipynb) |\n",
    "| [LAB 02 · 小 CNN 与图像平移](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/03c7a68e5b484caea0cdfc24a5e229a0?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=03c7a68e5b484caea0cdfc24a5e229a0&utm_term=get_notebook) | 主线 B 可选：MLP/CNN × 平移增强的真实比较 | [阅读](https://codingai-lec02.pages.dev/course/lab02.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB02.ipynb) |\n",
    "| [LAB 03 · 架构实验室](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/7d24fdb79a14466ab304927c39d1a317?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=7d24fdb79a14466ab304927c39d1a317&utm_term=get_notebook) | 主线 B–C 可选：感受野、通道、分支与残差 | [阅读](https://codingai-lec02.pages.dev/course/lab03.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB03.ipynb) |\n",
    "| [LAB 04 · 卷积怎样变成图像分类器](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bfca6645b58549e096e6fd8774de288f?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bfca6645b58549e096e6fd8774de288f&utm_term=get_notebook) | 按需实现参考：卷积索引、边界、梯度与成本 | [阅读](https://codingai-lec02.pages.dev/course/lab04.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB04.ipynb) |\n",
    "| [LAB 05 · 经典架构与视觉表示](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/85eeb3d8253b47bd8b9504b9e226b843?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=85eeb3d8253b47bd8b9504b9e226b843&utm_term=get_notebook) | 架构参考：历史条件、Inception、BN 与残差；按问题查阅 | [阅读](https://codingai-lec02.pages.dev/course/lab05.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB05.ipynb) |\n",
    "| [LAB 06 · 表示、损失与学习步长](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/8ed9e8ca4b444a07921ce1df42c6db01?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=8ed9e8ca4b444a07921ce1df42c6db01&utm_term=get_notebook) | 主线 A 可选：表示、损失与步长的精确核对 | [阅读](https://codingai-lec02.pages.dev/course/lab06.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB06.ipynb) |\n",
    "| [LAB 07 · 空间格、方向桶与传统表示](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/8c459221aa7c4c3490731aa3291807ec?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=8c459221aa7c4c3490731aa3291807ec&utm_term=get_notebook) | 历史参考：空间格、方向桶、词袋与词典 | [阅读](https://codingai-lec02.pages.dev/course/lab07.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB07.ipynb) |\n",
    "| [LAB 08 · 从真实响应到遮挡对照](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/dd878c8afff04515a1eeca56ba434170?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=dd878c8afff04515a1eeca56ba434170&utm_term=get_notebook) | 主线 B 可选：固定模型的真实响应与遮挡对照 | [阅读](https://codingai-lec02.pages.dev/course/lab08.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB08.ipynb) |\n",
    "| [LAB 09 · 视觉 Attention 完整层](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/ef41c1445ff347e4b27cb2bb891e817c?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=ef41c1445ff347e4b27cb2bb891e817c&utm_term=get_notebook) | 第五讲暂存：完整视觉 Attention 层；非第二／第三讲前置 | [阅读](https://codingai-lec02.pages.dev/course/lab11.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB09.ipynb) |\n",
    "| [LAB 10 · 成本目标与结构选择](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/e5561a92168e4326bd18be13ea4ad37f?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=e5561a92168e4326bd18be13ea4ad37f&utm_term=get_notebook) | 主线 D–E 可选：CPU 计时、成本目标与候选选择 | [阅读](https://codingai-lec02.pages.dev/course/lab12.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB10.ipynb) |\n",
    "| [LAB 11 · 何时继续计算](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/d56865395a8b48658cec7e4ba1e82d2c?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=d56865395a8b48658cec7e4ba1e82d2c&utm_term=get_notebook) | 主线 F 可选：验证阈值、早退与固定浅出口负对照 | [阅读](https://codingai-lec02.pages.dev/course/lab13.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB11.ipynb) |\n",
    "| [LAB 12 · Source、Norm 与 Tent](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/602a2741a9a9479482814db63e3664ac?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=602a2741a9a9479482814db63e3664ac&utm_term=get_notebook) | 独立适应参考：Source/Norm/Tent 协议、保存结果与失败条件 | [阅读](https://codingai-lec02.pages.dev/course/lab14.html) · [Notebook](https://codingai-lec02.pages.dev/course/materials/Lecture02-LAB12.ipynb) |"
   ],
   "id": "334135d5dd434c4cacadefd48ffbe69b"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "6b79f5b1f87e46a687d5d0f3c7b18349",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-8"
   },
   "source": "参考材料分别解决什么问题",
   "id": "6b79f5b1f87e46a687d5d0f3c7b18349"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "b7376e4548784fa88cb59ab17d603ee8",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-9"
   },
   "source": [
    "- **传统视觉：**[CLS 02 · 传统视觉：局部描述、共同词典与分类](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/893bd96837a6421d8fa5c5788075bd5b?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=893bd96837a6421d8fa5c5788075bd5b&utm_term=get_notebook) 与 [LAB 07 · 空间格、方向桶与传统表示](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/8c459221aa7c4c3490731aa3291807ec?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=8c459221aa7c4c3490731aa3291807ec&utm_term=get_notebook) 解释局部描述、词典和空间统计，作为历史参照，非主讲必读链。\n",
    "- **按需实现：**[LAB 04 · 卷积怎样变成图像分类器](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/bfca6645b58549e096e6fd8774de288f?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=bfca6645b58549e096e6fd8774de288f&utm_term=get_notebook)、[LAB 05 · 经典架构与视觉表示](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/85eeb3d8253b47bd8b9504b9e226b843?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=85eeb3d8253b47bd8b9504b9e226b843&utm_term=get_notebook) 保留完整实现和架构参考；[LAB 06 · 表示、损失与学习步长](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/8ed9e8ca4b444a07921ce1df42c6db01?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=8ed9e8ca4b444a07921ce1df42c6db01&utm_term=get_notebook) 可用于基础核对。根据问题选择段落，不要求从头重跑。\n",
    "- **完整 Attention 暂存：**[LAB 09 · 视觉 Attention 完整层](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/ef41c1445ff347e4b27cb2bb891e817c?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=ef41c1445ff347e4b27cb2bb891e817c&utm_term=get_notebook) 保留完整公式、张量与保存输出，归[第五讲暂存入口](https://codingai-lec02.pages.dev/course/reference.html#lecture05)，不作为第二讲或第三讲前置。\n",
    "- **可靠性与适应：**[CLS 08 · 分布变化与适应](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/ea2cb925a01d44768410847dc0f19e7a?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=ea2cb925a01d44768410847dc0f19e7a&utm_term=get_notebook) 与 [LAB 12 · Source、Norm 与 Tent](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/c0b185e7-d7e3-48b6-a605-8f1acdfe243c/notebook/602a2741a9a9479482814db63e3664ac?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=602a2741a9a9479482814db63e3664ac&utm_term=get_notebook) 保留完整协议和负结果，属于[独立研究参考](https://codingai-lec02.pages.dev/course/reference.html#reliability)，不是动态计算之后的必做活动。"
   ],
   "id": "b7376e4548784fa88cb59ab17d603ee8"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "606e5a44ec4344b9aada51ec7fa45c51",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-10"
   },
   "source": "## 学习目标：从会认结构，到能解释设计",
   "id": "606e5a44ec4344b9aada51ec7fa45c51"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "e41d78d0e8104556a53f11c1dcb9eb6b",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-11"
   },
   "source": "1. 沿同一计算图解释图像、分数、监督误差与参数更新。\n2. 区分串行、分支、相加与拼接，检查形状和信息接口。\n3. 将参数、MAC、存储与真实延迟分开，识别结构与配方混杂。\n4. 区分部署前选网、逐输入选路、共享块循环与测试时学习。\n5. 用简单静态基线、预期指标、额外开销与反证条件提出一个结构改动。",
   "id": "e41d78d0e8104556a53f11c1dcb9eb6b"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "cc41f3f0b3ff4921bcd0786b80a5ab28",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-12"
   },
   "source": "## 怎样读代码与使用 AI",
   "id": "cc41f3f0b3ff4921bcd0786b80a5ab28"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "80e4f54967494d79a9b26092837e86bc",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-13"
   },
   "source": [
    "先独立写一句预测，再用 AI 协助定位或修改一个条件。运行前核对输入形状、数据划分和评价指标；运行后先读数值与图，再判断预测是否成立。\n",
    "\n",
    "| 讨论时带回什么 | 一个可用的句式 |\n",
    "|---|---|\n",
    "| 改动与不变量 | 我只把……改为……，其余……保持相同。 |\n",
    "| 证据 | 在……条件下，图中的……／输出的……支持了……。 |\n",
    "| 限制与下一步 | 这还不能说明……；下一项最小对照是……。 |\n",
    "\n",
    "AI 可以帮你解释报错、追踪张量或生成小改动，不能代替比较协议。遇到结果不如预期，先核对条件；保留断言、失败例和不占优的基线。不要通过换测试样本或删掉对照让方案获胜。"
   ],
   "id": "80e4f54967494d79a9b26092837e86bc"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "ea287dd87dff458da3ff6781f35a2e81",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-14"
   },
   "source": "需要重算时：环境、文件与证据身份",
   "id": "ea287dd87dff458da3ff6781f35a2e81"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "337c49fa6e844c40a7939ca99b7687c0",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-15"
   },
   "source": [
    "**只看图与保存结果：** 不需要启动运行环境。先按所选 Lab 开头的阅读路线定位图、表和结论。\n",
    "\n",
    "**运行短练习：** 先运行该册的准备单元，再执行明确标出的依赖。LAB 01／03 的小张量实验使用 PyTorch；LAB 06 的学习步实验使用 NumPy 与 Matplotlib。下面的通用环境检查会安装缺少的包，按需执行。\n",
    "\n",
    "**复算模型实验：** LAB 02 的第 5／6 节依赖第 4 节产生的模型、训练记录和预测变量，不能仅上传结果文件后直接跳入。LAB 08 则从匹配的模型文件和数据读取，不借用另一本 Notebook 的内存。可下载[原模型与数据配套包](https://codingai-lec02.pages.dev/course/materials/legacy-lab-data.zip)，保留 `data/` 与 `results/` 目录，并核对各册要求的模型哈希、样本划分与准备步骤。\n",
    "\n",
    "LAB 10／11 从 sklearn 内置 digits 独立准备数据和模型；阅读其历史输出不需要重训，重新执行训练会得到一次新的运行记录。LAB 11 的平均 MAC 是 conv／linear 乘加账本，不是实际早退计时。LAB 12 是按需参考，采用自己的 BN 模型、初始化、batch、顺序与重置协议。\n",
    "\n",
    "保存输出标注了原执行时间或模型身份。重新计算时记录自己的环境和条件，并把新结果与历史结果分开比较。"
   ],
   "id": "337c49fa6e844c40a7939ca99b7687c0"
  },
  {
   "cell_type": "code",
   "metadata": {
    "deepnote": {
     "block_id": "063d799d7a4f4347a846bd695651ef6c",
     "type": "code",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-16"
   },
   "source": "import importlib.util\nimport importlib.metadata\nimport subprocess\nimport sys\n\nif sys.version_info < (3, 10):\n    raise RuntimeError('Please choose a Python 3.10+ environment for these notebooks.')\n\nrequired = {\n    'numpy': 'numpy',\n    'sklearn': 'scikit-learn',\n    'matplotlib': 'matplotlib',\n    'torch': 'torch',\n    'IPython': 'ipython',\n    'nbformat': 'nbformat',\n    'matplotlib_inline': 'matplotlib-inline',\n}\nmissing = [package for module, package in required.items()\n           if importlib.util.find_spec(module) is None]\nprint('Missing packages:', missing or 'none')\n\n# Install only missing packages. CPU PyTorch is enough for these labs.\nif 'torch' in missing:\n    subprocess.check_call([\n        sys.executable, '-m', 'pip', 'install', 'torch',\n        '--index-url', 'https://download.pytorch.org/whl/cpu',\n    ])\nother_missing = [package for package in missing if package != 'torch']\nif other_missing:\n    subprocess.check_call([sys.executable, '-m', 'pip', 'install', *other_missing])\nimportlib.invalidate_caches()\n\nimport numpy\nimport matplotlib\nimport torch\nimport IPython\nimport nbformat\nimport matplotlib_inline\nprint('Environment ready. Python:', sys.version.split()[0])\nfor package in required.values():\n    print(package, importlib.metadata.version(package))\nprint('Next: choose the matching Lab in the Notebooks sidebar and run its preparation cells first.')",
   "id": "063d799d7a4f4347a846bd695651ef6c",
   "execution_count": null,
   "outputs": []
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "0b1deff6780b49a98147f39d39d452d4",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-17"
   },
   "source": "第三讲与后续材料",
   "id": "0b1deff6780b49a98147f39d39d452d4"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "9b8a2d12426e4e4c9241713f4e90e57a",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-18"
   },
   "source": [
    "本讲先弄清网络怎样连接、训练与分配计算；[第三讲 · 可迁移表示与多模态感知](https://codingai-lec03.pages.dev/course/guide.html)继续追问：已经学到的表示怎样复用？类别标签之外还能从哪里获得学习信号？\n",
    "\n",
    "接下来从检测与分割的空间输出，走向 3D、Video，以及图像和语言之间的对应。这是课程安排；各部分当前可阅读、可运行的材料以第三讲导读为准。\n",
    "\n",
    "CLS 05 保留当前名称，本讲使用观察与干预部分；迁移实验进入第三讲的独立 LAB 09。不同讲次项目不共享运行内存，进入第三讲后按其材料自己的准备步骤操作。完整 Attention 仍在后续讲次展开，当前第二讲 LAB 09 是按需实现参考。"
   ],
   "id": "9b8a2d12426e4e4c9241713f4e90e57a"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "7fa995790ad74b5b88591798cd70ce34",
     "type": "text-cell-h2",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-19"
   },
   "source": "## 返回课程",
   "id": "7fa995790ad74b5b88591798cd70ce34"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deepnote": {
     "block_id": "d287ff66c5b74dd68e591f56e44b25d4",
     "type": "markdown",
     "source_block_id": null,
     "logical_key": null
    },
    "html_anchor": "cell-20"
   },
   "source": "[第二讲主讲](https://codingai-lec02.pages.dev/) · [第二讲 HTML 导读](https://codingai-lec02.pages.dev/course/guide.html) · [第三讲主讲](https://codingai-lec03.pages.dev/) · [第一讲](https://codingai-lec01.pages.dev/) · [课程主页](https://codingai.pages.dev/)\n\n来源、许可与实验条件保留在各材料中；版本、历史映射与验收范围见[教师维护记录](https://codingai-lec02.pages.dev/course/teacher.html)。",
   "id": "d287ff66c5b74dd68e591f56e44b25d4"
  }
 ]
}