Humanoid Gym初学之 -- rewards的scales的发现
题记
最近在敲导入DISNEY的论文的复现,学到了一个比较有意思的事情,不知道大家有没有遇到的
发现
我原来一直搞不懂这些scales到底代表着什么意思
直到我注释掉了奖励函数,并且报了这个错误:
Traceback (most recent call last):
File "train.py", line 55, in <module>
train(args)
File "train.py", line 37, in train
env, env_cfg = task_registry.make_env(name=args.task, args=args)
File "/home/yyds/桌面/Gym6_human/humanoid-gym/humanoid-gym-main/humanoid/utils/task_registry.py", line 97, in make_env
env = task_class( cfg=env_cfg,
File "/home/yyds/桌面/Gym6_human/humanoid-gym/humanoid-gym-main/humanoid/envs/disney/disney_2_env.py", line 78, in __init__
super().__init__(cfg, sim_params, physics_engine, sim_device, headless)
File "/home/yyds/桌面/Gym6_human/humanoid-gym/humanoid-gym-main/humanoid/envs/base/legged_robot.py", line 81, in __init__
self._prepare_reward_function()
File "/home/yyds/桌面/Gym6_human/humanoid-gym/humanoid-gym-main/humanoid/envs/base/legged_robot.py", line 543, in _prepare_reward_function
self.reward_functions.append(getattr(self, name))
AttributeError: 'DisneyFreeEnv' object has no attribute '_reward_action_smoothness'
然后我到达了这个报错的额位置:
我惊奇的发现我也没定义过奖励函数啊?那他是怎么知道的?
然后我在这个环境里搜索这个变量到底在哪里定义的:
一直到我来到了这里:
嘶~,怎么回事?
然后我看到了这个变量
self.cfg.rewards.scales
这不就是我不知道的scales是干嘛的吗?
然后我就都给他注释掉了,然后报错解决了。