快捷方式

LayerDropout

class 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 的全面开发者文档

查看文档

教程

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

查看教程

资源

查找开发资源并获得问题解答

查看资源