fix: improve numerical stability in action normalization (#18)
- Add zero delta handling in _normalize method - Use torch.ones_like to replace zero delta values
This commit is contained in:
@@ -263,7 +263,12 @@ class DataCollator:
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _normalize(cls, action, min_stat, delta):
|
def _normalize(cls, action, min_stat, delta):
|
||||||
x = (action - min_stat) / (delta)
|
"""
|
||||||
|
Normalize action data using min-max normalization.
|
||||||
|
"""
|
||||||
|
delta = torch.from_numpy(delta)
|
||||||
|
delta = torch.where(delta == 0, torch.ones_like(delta), delta)
|
||||||
|
x = (action - min_stat) / delta
|
||||||
x = x * 2 - 1
|
x = x * 2 - 1
|
||||||
x = torch.clamp(x, -1, 1)
|
x = torch.clamp(x, -1, 1)
|
||||||
return x
|
return x
|
||||||
|
|||||||
Reference in New Issue
Block a user