Package = 工具箱
对应关系:
| 图中 | Python | 例子 |
|---|---|---|
| 工具箱 | Package(包) | torch |
| 抽屉 1,2,3,4 | Module(模块) | torch.nn, torch.optim |
| 工具 a,b,c | Function/Class | nn.Linear, nn.Conv2d |
代码里的体现:
import torch # 拿整个工具箱
import torch.nn as nn # 打开 nn 这个抽屉
from torch.nn import Linear # 单独拿出 Linear 这个工具
# 使用
layer = nn.Linear(20, 10) # 用 nn 抽屉里的 Linear 工具
层级结构:
torch/ ← 工具箱 (package)
├── nn/ ← 抽屉 (module)
│ ├── Linear ← 工具 (class)
│ ├── Conv2d ← 工具
│ └── ReLU ← 工具
├── optim/ ← 另一个抽屉
│ ├── SGD ← 工具
│ └── Adam ← 工具
└── ...
一句话:包 > 模块 > 函数/类,就是从大到小找工具。
dir() = 看看里面有什么
import torch
dir(torch) # 列出 torch 工具箱里所有抽屉
dir(torch.nn) # 列出 nn 抽屉里所有工具
输出一堆名字,告诉你"有这些东西可以用"

help() = 查说明书
help(torch.nn.Linear) # Linear 怎么用?参数是什么?
输出详细文档,告诉你"这个工具怎么用"
实际试试:
import torch.nn as nn
# 看看 nn 里有什么
print(dir(nn)) # [..., 'Linear', 'Conv2d', 'ReLU', ...]
# 查 Linear 怎么用
help(nn.Linear)

一句话:
| 函数 | 作用 | 比喻 |
|---|---|---|
dir() |
列出有什么 | 打开抽屉看一眼 |
help() |
详细说明 | 读工具说明书 |
遇到不认识的东西,先 dir() 看有啥,再 help() 查具体用法,很实用。