mirror of
https://github.com/saymrwulf/stable-baselines3.git
synced 2026-07-23 19:32:28 +00:00
Fix exp_ln computation
This commit is contained in:
parent
9b3b34c9c4
commit
7f34108ed6
1 changed files with 5 additions and 4 deletions
|
|
@ -272,10 +272,11 @@ class StateDependentNoiseDistribution(Distribution):
|
|||
if self.use_expln:
|
||||
# From SDE paper, it allows to keep variance
|
||||
# above zero and prevent it from growing too fast
|
||||
if log_std <= 0:
|
||||
std = th.exp(log_std)
|
||||
else:
|
||||
std = th.log(log_std + 1.0) + 1.0
|
||||
below_threshold = th.exp(log_std) * (log_std <= 0)
|
||||
# Avoid NaN: zeros values that are below zero
|
||||
safe_log_std = log_std * (log_std > 0) + self.epsilon
|
||||
above_threshold = (th.log1p(safe_log_std) + 1.0) * (log_std > 0)
|
||||
std = below_threshold + above_threshold
|
||||
else:
|
||||
# Use normal exponential
|
||||
std = th.exp(log_std)
|
||||
|
|
|
|||
Loading…
Reference in a new issue