快捷鍵

Linear

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 輸入時,此模組將對 backward 使用不同的精度

參數
  • in_features (int) – 每個輸入樣本的大小

  • out_features (int) – 每個輸出樣本的大小

  • bias (bool) – 如果設為 False,則該層將不會學習可加性偏差。預設值:True

形狀
  • 輸入:(,Hin)(*, H_{in}),其中 * 表示包含空的任意維度,且 Hin=in_featuresH_{in} = \text{in\_features}

  • 輸出:(,Hout)(*, H_{out}),其中除了最後一個維度外,所有維度的形狀都與輸入相同,且 Hout=out_featuresH_{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}}

  • bias – 模組的可學習偏差,形狀為 (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 的完整開發者文件

檢視文件

教學

取得初學者和進階開發者的深入教學

檢視教學

資源

尋找開發資源並取得問題的解答

檢視資源