快捷方式

NormalParamWrapper

class torchrl.modules.NormalParamWrapper(operator: Module, scale_mapping: str = 'biased_softplus_1.0', scale_lb: Number = 0.0001)[源代码]

正态分布参数的包装器。

参数:
  • operator (nn.Module) – 其输出将在位置和尺度参数中转换的运算符

  • scale_mapping (str, 可选) – 用于 std 的正映射函数。默认 = “biased_softplus_1.0”(即具有偏差的 softplus 映射,使得 fn(0.0) = 1.0)选择: “softplus”、“exp”、“relu”、“biased_softplus_1”;

  • scale_lb (Number, 可选) – 方差可以取的最小值。默认为 1e-4。

示例

>>> from torch import nn
>>> import torch
>>> module = nn.Linear(3, 4)
>>> module_normal = NormalParamWrapper(module)
>>> tensor = torch.randn(3)
>>> loc, scale = module_normal(tensor)
>>> print(loc.shape, scale.shape)
torch.Size([2]) torch.Size([2])
>>> assert (scale > 0).all()
>>> # with modules that return more than one tensor
>>> module = nn.LSTM(3, 4)
>>> module_normal = NormalParamWrapper(module)
>>> tensor = torch.randn(4, 2, 3)
>>> loc, scale, others = module_normal(tensor)
>>> print(loc.shape, scale.shape)
torch.Size([4, 2, 2]) torch.Size([4, 2, 2])
>>> assert (scale > 0).all()
forward(*tensors: Tensor) Tuple[Tensor][源代码]

定义每次调用时执行的计算。

所有子类都应重写。

注意

虽然正向传递的配方需要在此函数内定义,但应该随后调用 Module 实例,而不是调用此函数,因为前者负责运行已注册的钩子,而后者则会静默忽略它们。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源