LayerDropout¶
- 类 torchtune.modules.LayerDropout(prob: float = 0.0, dim: Optional[int] = 0, disable_on_eval: Optional[bool] = True, seed: Optional[int] = None)[源码]¶
一个模块,用于对其底层模块的输入张量应用层 dropout。它会丢弃输入张量的一部分,然后对张量的剩余部分应用底层模块,最后再与丢弃的部分进行拼接。在训练期间应用时,它可以产生正则化效果,并有可能加速训练。
- 参数:
示例
>>> import torch >>> # Apply layer dropout to a lambda function >>> layer_dropout = LayerDropout(prob=0.5) >>> output = layer_dropout(lambda x: x**2, torch.randn(1)) >>> # Apply layer dropout to a torch.nn.Linear module >>> linear = torch.nn.Linear(5, 3) >>> layer_dropout = LayerDropout(prob=0.5) >>> output = layer_dropout(linear, torch.randn(1, 5))
- forward(function: Union[Callable, Module], input: Tensor, *args, **kwargs) Tensor [源码]¶
对输入张量应用层 dropout。
- 参数:
function (Union[Callable, torch.nn.Module]) – 要应用于输入张量的函数或模块。
input (torch.Tensor) – 输入张量。
*args – 传递给函数的额外位置参数。
**kwargs – 传递给函数的额外关键字参数。
- 返回:
应用层 dropout 后的输出张量。
- 返回类型: