当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。