Skip to content

TypeError: No '__dict__' attribute on 'NaiveForwardReward' instance to cache 'reward_name' property. #47

@moribots

Description

@moribots

When running the example: python -m train max_steps=100

I get

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/mrahme/Projects/ksim-gym/train.py", line 640, in <module>
    HumanoidWalkingTask.launch(
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/xax/task/mixins/runnable.py", line 51, in launch
    launcher.launch(cls, *cfgs, use_cli=use_cli)
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/xax/task/launchers/cli.py", line 40, in launch
    SingleProcessLauncher().launch(task, *cfgs, use_cli=use_cli_next)
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/xax/task/launchers/single_process.py", line 30, in launch
    run_single_process_training(task, *cfgs, use_cli=use_cli)
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/xax/task/launchers/single_process.py", line 20, in run_single_process_training
    task_obj.run()
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/ksim/task/rl.py", line 1009, in run
    self.run_training()
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/ksim/task/rl.py", line 2042, in run_training
    constants, carry, state = self.initialize_rl_training(mj_model, rng)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/ksim/task/rl.py", line 1980, in initialize_rl_training
    constants=self._get_constants(
              ^^^^^^^^^^^^^^^^^^^^
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/ksim/task/rl.py", line 1735, in _get_constants
    rewards_terms = self.get_rewards(physics_model)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mrahme/Projects/ksim-gym/train.py", line 440, in get_rewards
    ksim.NaiveForwardReward(clip_max=1.25, in_robot_frame=False, scale=3.0),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<attrs generated init ksim.rewards.NaiveForwardReward>", line 9, in __init__
  File "/home/mrahme/miniconda3/lib/python3.12/site-packages/ksim/rewards.py", line 86, in reward_scale_validator
    if inst.reward_name.lower().endswith("reward"):
       ^^^^^^^^^^^^^^^^
  File "/home/mrahme/miniconda3/lib/python3.12/functools.py", line 992, in __get__
    raise TypeError(msg) from None
TypeError: No '__dict__' attribute on 'NaiveForwardReward' instance to cache 'reward_name' property.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions