-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathquiz.json
More file actions
64 lines (64 loc) · 4.29 KB
/
Copy pathquiz.json
File metadata and controls
64 lines (64 loc) · 4.29 KB
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
{
"questions": [
{
"stage": "pre",
"question": "磁盘上的一个文件被解码为形状 (224, 224, 3)、dtype 为 uint8 的 NumPy 数组。其中每个数字代表什么?",
"options": [
"一个像素是该颜色的概率,介于 0 和 1 之间",
"每个探测器的光子计数,已归一化到传感器的全动态范围",
"某个网格位置处光强的一个采样,每通道量化为 256 个级别之一",
"一个可直接喂入卷积网络的浮点亮度值"
],
"correct": 2,
"explanation": "uint8 图像存储 [0, 255] 范围内的 8 位整数。每个整数是某个 (行, 列, 通道) 位置处光强的一个量化采样。它既不是概率也不是浮点数;在喂入预训练模型之前,你必须除以 255 并做标准化。"
},
{
"stage": "pre",
"question": "你用 Pillow 加载一张图像,得到形状为 (480, 640, 3) 的数组。你把它作为批次张量 (1, 480, 640, 3) 传给 in_channels=3 的 PyTorch Conv2d。会发生什么?",
"options": [
"什么都不会——PyTorch 会自动检测布局",
"第一层卷积把高度当作通道轴,产生无意义的特征图",
"PyTorch 抛出 RuntimeError:Conv2d 期望 NCHW,却看到 480 个通道而权重期望 3 个,于是拒绝运行",
"准确率下降几个百分点,但推理仍能运行"
],
"correct": 2,
"explanation": "PyTorch Conv2d 会对照权重张量严格检查通道数。批次化的 HWC 输入 (1, 480, 640, 3) 被解释为 C=480 的 NCHW,这与权重期望的 3 个通道不匹配,于是 PyTorch 在任何计算之前就抛出 RuntimeError。这种响亮的失败是一种特性——它迫使你去修正布局。在喂给 PyTorch 之前,你必须 permute 成 NCHW(`.permute(0, 3, 1, 2)`)。"
},
{
"stage": "post",
"question": "为什么 ImageNet 预训练模型期望输入用 mean=[0.485, 0.456, 0.406] 和 std=[0.229, 0.224, 0.225] 进行标准化?",
"options": [
"那些是一幅平均自然场景的 RGB 值",
"那些是 ImageNet 训练集在 [0, 1] 空间中的每通道均值和标准差,因此减去它们能把模型训练时所基于的分布做中心化",
"它们使任意图像的输入严格变为零均值、单位方差",
"它们是 ReLU 激活函数所要求的"
],
"correct": 1,
"explanation": "这些数字是把像素除以 255 之后在 ImageNet 训练语料上计算出的统计量。使用它们能让你的输入分布与网络训练时所见的分布对齐。对于在不同数据集上训练的模型,你需要在那个数据集上重新计算这些统计量。"
},
{
"stage": "post",
"question": "你把一个分割掩码(整数类别 ID 0..20)从 500x500 缩放到 224x224。哪种插值方法是正确的?",
"options": [
"双线性——它会平滑类别边界",
"双三次——它保留锐度",
"Lanczos——质量最高",
"最近邻——它保留有效的整数类别 ID,而不会臆造出分数 ID"
],
"correct": 3,
"explanation": "双线性、双三次和 Lanczos 都会对相邻值取平均。在类别 ID 掩码上,这会在类别 4 和类别 5 之间产生像 4.7 这样的非整数值,而它们并不是真实类别。最近邻则选取最接近的原始像素,保持标签空间不变。这一规则同样适用于任何编码 ID 或索引的通道。"
},
{
"stage": "post",
"question": "RGB 转灰度使用权重 0.299 R + 0.587 G + 0.114 B,而不是 0.333 R + 0.333 G + 0.333 B。为什么?",
"options": [
"为了补偿每个通道中的 JPEG 压缩伪影",
"因为绿色光子比红色或蓝色光子携带更多能量",
"因为人眼视觉对绿色最敏感、对蓝色最不敏感,所以加权和能匹配感知到的亮度",
"为了匹配相机传感器上 Bayer 滤镜的行为"
],
"correct": 2,
"explanation": "ITU-R BT.601 的权重 0.299/0.587/0.114 来自人眼的光视效率。等权平均会让偏绿的图像在人眼看来太暗、偏红的太亮。大多数经典计算机视觉的灰度代码都使用这些权重;BT.709(0.2126/0.7152/0.0722)是用于线性光输入的现代 HDTV 变体。"
}
]
}