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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions