LayerDropout¶
- class 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 后的输出张量。
- 返回类型: