快捷键

线性 ¶

class torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None)[source][source]

对传入数据进行仿射线性变换: y=xAT+by = xA^T + b

此模块支持 TensorFloat32。

在某些 ROCm 设备上,当使用 float16 输入时,该模块将使用不同的精度进行反向操作。

参数:
  • in_features (int) – 每个输入样本的大小

  • out_features (int) – 每个输出样本的大小

  • bias (bool) – 如果设置为 False ,则层将不会学习加性偏置。默认: True

形状:
  • 输入: (,Hin)(*, H_\text{in}) 其中 * 表示包括零在内的任意维数和 Hin=in_featuresH_\text{in} = \text{in\_features}

  • 输出: (,Hout)(*, H_\text{out}) 其中除了最后一个维度外,所有维度都与输入相同形状, Hout=out_featuresH_\text{out} = \text{out\_features}

变量:
  • weight (torch.Tensor) – 该模块的可学习权重,形状为 (out_features,in_features)(\text{out\_features}, \text{in\_features}) 。值从 U(k,k)\mathcal{U}(-\sqrt{k}, \sqrt{k}) 初始化,其中 k=1in_featuresk = \frac{1}{\text{in\_features}}

  • 偏差 - 该模块的形状为 (out_features)(\text{out\_features}) 的可学习偏差。如果 biasTrue ,则值从 U(k,k)\mathcal{U}(-\sqrt{k}, \sqrt{k}) 初始化,其中 k=1in_featuresk = \frac{1}{\text{in\_features}}

示例:

>>> m = nn.Linear(20, 30)
>>> input = torch.randn(128, 20)
>>> output = m(input)
>>> print(output.size())
torch.Size([128, 30])

© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源