在命令行里创建 conda 环境并激活它,敲出激活成功的提示符。
在 Jupyter 里用 Python 算出 1+2+…+100 的和,并截图给家长看。
数一下自己手机里一个相册有多少张照片,如果 batch_size=64,要分几批送完?
观察一次训练的 loss 曲线,回答:它是在下山、在平地上走,还是在爬坡?
记录两组实验结果:训练样本 200 个和 2000 个时,训练 loss 和测试 loss 各是多少?
用三个学习率各训练 10 轮,记录最终 loss,找出最好的那个。
用手机拍两类物品各 10 张照片,说说你会怎么组织数据来做微调。
在 Colab 上运行一段「import torch; print(torch.cuda.is_available())」,看看结果是什么。
设计一个图像分类小实验,写下:问题、数据来源、模型、超参数、预期结果。
参考答案(家长):sum(range(1,101)) 得 5050。顺便可以讲讲高斯小时候的故事:(1+100)×100÷2。
参考答案(家长):conda create -n d2l python=3.9,然后 conda activate d2l。提示符前面出现 (d2l) 字样即成功。版本号不必拘泥,3.9 或以上都行。
参考答案(家长):正常应该整体往下走,允许小幅度抖动。如果往上爬或完全不动,先查学习率,再查数据有没有接错。
参考答案(家长):照片数除以 64 向上取整。比如 1000 张就是 16 批(最后一批只有 40 张)。这就是 DataLoader 里 len() 在数的东西。
参考答案(家长):通常中间档最好:太大震荡,太小太慢。孩子能说出「先大后小」的道理,这节就过关了。
参考答案(家长):数据变多后,测试 loss 应明显下降,训练和测试的差距缩小——这证明「加数据」本身就是最好的正则化,胜过一切技巧。
参考答案(家长):选择了 GPU 运行时就是 True,表示免费显卡已经就位。如果是 False,在菜单「代码执行程序—更改运行时类型」里选 GPU。
参考答案(家长):建 train 文件夹,里面分两个子文件夹(每类一个),照片按类放好,测试集单独留几张不参与训练。目录结构就是 PyTorch 读取标签的方式。
参考答案(家长):例——识别苹果、橙子、香蕉;各拍 50 张,微调 ResNet;学习率 0.001、批大小 32;预期准确率 90% 以上。只要五要素齐全,方案就算合格,结果好坏反而是次要的。