API

 torch / nn / torch.nn


Linear

class torch.nn.Linear(in_features: int, out_features: int, bias: bool = True)[source]

Applies a linear transformation to the incoming data: y=xAT+by = xA^T + b

This module supports TensorFloat32.

Parameters
  • in_features – size of each input sample

  • out_features – size of each output sample

  • bias – If set to False, the layer will not learn an additive bias. Default: True

Shape:
  • Input: (N,,Hin)(N, *, H_{in}) where * means any number of additional dimensions and Hin=in_featuresH_{in} = \text{in\_features}

  • Output: (N,,Hout)(N, *, H_{out}) where all but the last dimension are the same shape as the input and Hout=out_featuresH_{out} = \text{out\_features} .

Variables
  • ~Linear.weight – the learnable weights of the module of shape (out_features,in_features)(\text{out\_features}, \text{in\_features}) . The values are initialized from U(k,k)\mathcal{U}(-\sqrt{k}, \sqrt{k}) , where k=1in_featuresk = \frac{1}{\text{in\_features}}

  • ~Linear.bias – the learnable bias of the module of shape (out_features)(\text{out\_features}) . If bias is True, the values are initialized from U(k,k)\mathcal{U}(-\sqrt{k}, \sqrt{k}) where k=1in_featuresk = \frac{1}{\text{in\_features}}

Examples:

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

此页内容是否对您有帮助