PKU-Alignment / omnisafe

JMLR: OmniSafe is an infrastructural framework for accelerating SafeRL research.
https://www.omnisafe.ai
Apache License 2.0
936 stars 132 forks source link

[BUG] nan when running in command line #188

Closed Dtrc2207 closed 1 year ago

Dtrc2207 commented 1 year ago

Required prerequisites

What version of OmniSafe are you using?

0.2.2

System information

ubuntu20.04 0.2.2

Problem description

When I try to use omnisafe via the command line, I found there is some wrong, make nan in tensor.

Reproducible example code

The Python snippets:

Command lines:

omnisafe train --algo PPOLag --env-id SafetySwimmerVelocity-v4 --total-steps 1024 --custom-cfgs algo_cfgs:update_cycle --custom-cfgs 512

Extra dependencies:

Steps to reproduce:

  1. run the command provided above

Traceback

mean = tensor([[nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan],                                               │ │
│ │        │   │   [nan, nan]], grad_fn=<AddmmBackward0>)

Expected behavior

No response

Additional context

No response

zmsn-2077 commented 1 year ago

Testing is on its way and is looking for the cause of the BUG.

friedmainfunction commented 1 year ago

Thanks for your feedback, this is due to your update_cycle being 512, and SafetySwimmerVelocity only terminated when time_step==1000, so the first time you update the lagrangian multiplier, it gets a nan. Please make sure the update_cycle is meaningful to tasks. And we will add assert to prevent situations like this in later versions.