层丢弃¶
- class torchtune.modules.LayerDropout(prob: float = 0.0, dim: Optional[int] = 0, disable_on_eval: Optional[bool] = True, seed: Optional[int] = None)[source]¶
一个对基础模块的输入张量应用层丢弃的模块。 它丢弃输入张量的一部分,对张量的剩余部分应用基础模块,然后与丢弃的张量部分进行拼接。 在训练期间应用时,它可以起到正则化的效果,并可能加速训练。
- Parameters:
示例
>>> 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[source]¶
对输入张量应用层丢弃。
- Parameters:
function (Union[Callable, torch.nn.Module]) – 应用于输入张量的函数或模块。
输入 (torch.Tensor) – 输入张量。
*args – 传递给函数的额外位置参数。
**kwargs – 传递给函数的额外关键字参数。
- Returns:
应用层dropout后的输出张量。
- Return type: