一份 Pytorch API 指南
这份指南会将我遇到的 pytorch api 的作用都记录下来, 因此内容会不断更新. 某些非常常用并且简单的就不会在这里列出, 比如说 torch.tensor
.
torch.distributions
torch.distributions.categorical
torch.distributions.categorical.Categorical
CLASS
1 torch.distributions.categorical.Categorical(probs=None, logits=None, validate_args=None)
依据参数 probs
与 logits
来采样.
例子:
1 | m = Categorical(torch.tensor([0.25, 0.25, 0.25, 0.25])) |
参数:
prob
(Tensor)prob
是 $N$ 维向量, 同时采样输出为 $N-1$ 维向量.prob
其中包含的每个 $1$ 维向量为该结果中该位置数据的概率向量.注意:
prob
必须是非负的, 有限的, 并且和不为 0 . 它会被标准化为和为 1 的形式.logits
(Tensor)prob
的对数概率版本.注意:
prob
与logits
不能同时使用.
torch.nn
torch.nn.Identity
CLASS
1 torch.nn.Identity(*args, **kwargs)
建立起一个输入模块, 什么都不做, 一般用于神经网络的输入层.
例子:
1 | m = nn.Identity(12, 2342, abc=123, asdfasudfio=23452345) # 随意的参数 |
参数:
- 参数是任意的, 并且没有任何影响.
torch.nn.Linear
CLASS
1 torch.nn.Linear(in_features, out_features, bias=True)
用在线性方程 $y=xA^{\mathrm{T}}+b$ 中.
例子:
1 | m = nn.Linear(20, 30) |
torch.nn.Tanh
CLASS
1 torch.nn.Tanh
用于元素的函数:
$$
\mathrm{Tanh}(x)=\tanh(x)=\frac{\exp(x)-\exp(-x)}{\exp(x)+\exp(-x)}
$$
例子:
1 | m = nn.Tanh() |
torch.nn.Sequential
CLASS
1 torch.nn.Sequential(*args)
一个序列容器.
例子:
1 | nn.Sequential( |
torch.optim
方法:
optimizer.step()
在使用
backward()
后可以调用该方法执行一次优化步骤.
例子:
1 | for input, target in dataset: |
torch.optim.Adam
CLASS
1 torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0, amsgrad=False)
实现了 Adam 算法
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 云玩家!