快捷方式

LayerDropout

torchtune.modules.LayerDropout(prob: float = 0.0, dim: Optional[int] = 0, disable_on_eval: Optional[bool] = True, seed: Optional[int] = None)[源码]

一个模块,用于对其底层模块的输入张量应用层 dropout。它会丢弃输入张量的一部分,然后对张量的剩余部分应用底层模块,最后再与丢弃的部分进行拼接。在训练期间应用时,它可以产生正则化效果,并有可能加速训练。

参数
  • prob (float) – 丢弃输入的概率。默认为 0.0。

  • dim (Optional[int]) – 沿哪个输入张量维度丢弃层。默认为 0(即批次大小)。

  • disable_on_eval (Optional[bool]) – 在评估期间是否禁用层 dropout。默认为 True。

  • seed (Optional[int]) – 随机数生成器的种子。默认为 None。

示例

>>> 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 后的输出张量。

返回类型

torch.Tensor

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并解答疑问

查看资源