常用pytorch 的nn.组件速查表
常用张量构造词句表:
| 目的 | 语句 | 输出类型 | 例子 |
|---|---|---|---|
| 全 0 | torch.zeros(shape) |
float | torch.zeros(2,3) |
| 全 1 | torch.ones(shape) |
float | torch.ones(2,3) |
| 随机 0~1 | torch.rand(shape) |
float | torch.rand(2,3) |
| 随机正态 | torch.randn(shape) |
float | torch.randn(2,3) |
| 随机整数 | torch.randint(low, high, shape) |
int | torch.randint(0,10,(2,3)) |
| 指定数据 | torch.tensor([...]) |
看内容 | torch.tensor([1,2,3]) |
| 等差序列 | torch.arange(n) |
int | torch.arange(5)→[0...4] |
| 均匀分割 | torch.linspace(a,b,steps) |
float | torch.linspace(0,1,5) |
常用nn.组件速查表
| 组件 | 写法 | 作用 | 输入→输出形状(常见) |
|---|---|---|---|
| Embedding | nn.Embedding(V, D) |
id → 向量 | [B,L]→[B,L,D] |
| Linear | nn.Linear(in, out) |
全连接变换 | [...,in]→[...,out] |
| LayerNorm | nn.LayerNorm(D) |
归一化稳定训练 | [...,D]→[...,D] |
| Dropout | nn.Dropout(p) |
随机丢弃防过拟合 | shape不变 |
| ReLU/GELU | F.relu(x) F.gelu(x) |
非线性 | shape不变 |
| Softmax | F.softmax(x, dim=-1) |
变成概率分布 | shape不变 |
再结合Pytorch-速查表-常用层和模块以及使用方法,可以速查一些pytorch的用法