ValueTransform#
- class torchrl.modules.ValueTransform(*args: Any, **kwargs: Any)[source]#
Abstract base class for invertible scalar value transforms.
A value transform maps raw rewards or returns to a numerically convenient prediction space.
inverse()maps predictions back to the raw value space before they are used for bootstrapping.Subclasses implement
forward()andinverse()as element-wise tensor operations.Examples
>>> import torch >>> from torchrl.modules import ValueTransform >>> class ScaleValueTransform(ValueTransform): ... def forward(self, value): ... return value * 2 ... def inverse(self, value): ... return value / 2 >>> transform = ScaleValueTransform() >>> value = torch.tensor([-2.0, 0.0, 2.0]) >>> transformed = transform(value) >>> transformed tensor([-4., 0., 4.]) >>> transform.inverse(transformed) tensor([-2., 0., 2.])
See also
IdentityValueTransform,SymLogValueTransform,SignedHyperbolicValueTransform, andComposeValueTransform.