當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch MLP用法及代碼示例


本文簡要介紹python語言中 torchrec.modules.mlp.MLP 的用法。

用法:

class torchrec.modules.mlp.MLP(in_size: int, layer_sizes: typing.List[int], bias: bool = True, activation: typing.Union[str, typing.Callable[[], torch.nn.modules.module.Module], torch.nn.modules.module.Module, typing.Callable[[torch.Tensor], torch.Tensor]] = <built-in method relu of type object>, device: typing.Optional[torch.device] = None)

參數

  • in_size(int) -in_size 的輸入。

  • layer_sizes(List[int]) -每個感知器模塊的out_size

  • bias(bool) -如果設置為 False,該層將不會學習加性偏差。默認值:真。

  • activation(str,聯盟[可調用[[],火炬.nn.模塊],火炬.nn.模塊,可調用[[torch.Tensor],torch.Tensor]]) - 應用於每個感知器模塊的線性變換輸出的激活函數。如果activation是一個str,我們目前隻支持以下字符串,如“relu”, “sigmoid”和“swish_layernorm”。如果activation是一個Callable[[], torch.nn.Module],activation()每個感知器模塊將被調用一次,以生成該感知器模塊的激活模塊,並且參數不會在這些激活模塊之間共享。一種用例是所有激活模塊共享相同的構造函數參數,但不共享實際的模塊參數。默認值:torch.relu。

  • device(可選的[torch.device]) -默認計算設備。

基礎:torch.nn.modules.module.Module

按順序應用一堆感知器模塊(即多層感知器)。

例子:

batch_size = 3
in_size = 40
input = torch.randn(batch_size, in_size)

layer_sizes = [16, 8, 4]
mlp_module = MLP(in_size, layer_sizes, bias=True)
output = mlp_module(input)
assert list(output.shape) == [batch_size, layer_sizes[-1]]

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchrec.modules.mlp.MLP。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。