pytorch/rl

[Feature Request] Inverse of `VecNorm` Transform

btx0424 opened this issue · 1 comments

Motivation

There are a range of cases where we would like to recover the original data.

Solution

Adding a method to VecNorm to denormalize a tensordict or return a separate class for this purpose.

For example:

env = TransformedEnv(env, VecNorm(...))
tensordict = env.rollout(...)

tensordict_denormed = vecnorm.denorm(tensordict)
# or
denorm = VecNorm.get_denorm()
tensordict_denormed = denorm(tensordict)

Additional context

Glad to implement it in whichever solution you feel comfortable with.

Checklist

  • I have checked that there is no similar issue in the repo (required)

Sounds reasonable, there's a whole stack of things I want to do to improve vecnorm, i'll add that to the list!