Importing module 'gym_38' (/opt/isaacgym/python/isaacgym/_bindings/linux-x86_64/gym_38.so)
Setting GYM_USD_PLUG_INFO_PATH to /opt/isaacgym/python/isaacgym/_bindings/linux-x86_64/usd/plugInfo.json
PyTorch version 2.4.1+cu121
Device count 1
/opt/isaacgym/python/isaacgym/_bindings/src/gymtorch
Using /home/gymuser/.cache/torch_extensions/py38_cu121 as PyTorch extensions root...
Emitting ninja build file /home/gymuser/.cache/torch_extensions/py38_cu121/gymtorch/build.ninja...
Building extension module gymtorch...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
ninja: no work to do.
Loading extension module gymtorch...
2024-11-17 14:50:24,424 - INFO - logger - logger initialized
MOVING MOTION DATA TO GPU, USING CACHE: False
MOVING MOTION DATA TO GPU, USING CACHE: False
Importing module 'rlgpu_38' (/opt/isaacgym/python/isaacgym/_bindings/linux-x86_64/rlgpu_38.so)
/home/gymuser/.local/lib/python3.8/site-packages/wandb/util.py:116: SentryHubDeprecationWarning: `sentry_sdk.Hub` is deprecated and will be removed in a future major release. Please consult our 1.x to 2.x migration guide for details on how to migrate `Hub` usage to the new API: https://docs.sentry.io/platforms/python/migration/1.x-to-2.x
sentry_hub = sentry_sdk.Hub(sentry_client)
wandb: Currently logged in as: xuefeng0578 (xuefeng0578-github). Use `wandb login --relogin` to force relogin
wandb: wandb version 0.18.7 is available! To upgrade, please run:
wandb: $ pip install wandb --upgrade
wandb: Tracking run with wandb version 0.12.21
wandb: Run data is saved locally in /home/zxf/dev/robot/PULSE/wandb/run-20241117_145027-xl92fdwf
wandb: Run `wandb offline` to turn off syncing.
wandb: Syncing run sunny-voice-10
wandb: βοΈ View project at https://wandb.ai/xuefeng0578-github/pulse
wandb: π View run at https://wandb.ai/xuefeng0578-github/pulse/runs/xl92fdwf
wandb: WARNING Calling wandb.run.save without any arguments is deprecated.Changes to attributes are automatically persisted.
torch_deterministic: False
torch_deterministic: False
torch_deterministic: False
Setting seed: 0
Started to train
Not connected to PVD
+++ Using GPU PhysX
Physics Engine: PhysX
Physics Device: cuda:0
GPU Pipeline: enabled
/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid.py:781: DeprecationWarning: an integer is required (got type isaacgym._bindings.linux-x86_64.gym_38.DofDriveMode). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
asset_options.default_dof_drive_mode = gymapi.DOF_MODE_NONE
Humanoid Weights [73.56829679687507, 73.56829679687507, 73.56829679687507, 73.56829679687507, 73.56829679687507, 73.56829679687507, 73.56829679687507, 73.56829679687507, 73.56829679687507, 73.56829679687507]
****************************** Current motion keys ******************************
Sampling motion: tensor([ 61, 93, 181, 16, 150, 146, 191, 220, 11, 0, 248, 59, 88, 50,
45, 198, 45, 82, 202, 35, 158, 101, 210, 60, 115, 205, 121, 111,
117, 131], device='cuda:0')
['KIT_205_walking_medium10_stageii' 'KIT_7_WalkingStraightForwards06_stageii' 'KIT_6_WalkInClockwiseCircle01_1_stageii' 'KIT_9_run01_stageii' 'KIT_314_walking_run03_stageii' 'ACCAD_Female1Walking_c3d_B5_-_walk_backwards_stageii' 'KIT_348_run01_stageii' 'KIT_424_seesaw_backwards10_stageii' 'KIT_183_walking_fast05_stageii' 'ACCAD_Male2Running_c3d_C8_-_run_backwards_to_stand_stageii' 'ACCAD_Female1Running_c3d_C25_-__side_step_right_stageii' 'ACCAD_Male2Running_c3d_C3_-_run_stageii' 'KIT_183_walking_fast04_stageii' 'KIT_348_walking_medium07_stageii' 'KIT_317_walking_medium09_stageii' 'KIT_317_walking_medium04_stageii' 'KIT_317_walking_medium09_stageii' 'KIT_7_WalkingStraightForwards09_stageii' 'KIT_348_walking_medium03_stageii' 'KIT_12_WalkInClockwiseCircle09_stageii' 'KIT_425_walking_fast02_stageii' 'KIT_9_WalkInClockwiseCircle10_stageii' 'KIT_6_WalkInCounterClockwiseCircle06_1_stageii' 'KIT_7_WalkInCounterClockwiseCircle09_stageii' 'KIT_317_run03_stageii' 'KIT_348_walking_medium10_stageii' 'ACCAD_Male1Running_c3d_Run_C24_-_quick_side_step_left_stageii' 'KIT_348_walking_fast04_stageii' 'KIT_675_walk_with_handrail_beam_right07_stageii' 'KIT_11_WalkingStraightForwards03_stageii'] .....
*********************************************************************************
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
/home/zxf/dev/robot/PULSE/poselib/poselib/skeleton/skeleton3d.py:1103: DeprecationWarning: Please use `gaussian_filter1d` from the `scipy.ndimage` namespace, the `scipy.ndimage.filters` namespace is deprecated.
velocity = torch.from_numpy(filters.gaussian_filter1d(velocity, 2, axis=-3, mode="nearest")).to(p)
100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 15/15 [00:04<00:00, 3.10it/s]
100%|βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 1536/1536 [00:00<00:00, 574244.67it/s]
Loaded 1536 motions with a total length of 11141.902s and 335793 frames.
=> loading checkpoint 'output/HumanoidIm/pulse_vae_x/Humanoid.pth'
/home/gymuser/.local/lib/python3.8/site-packages/rl_games/algos_torch/torch_ext.py:56: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
return func(*args, **kwargs)
/home/gymuser/.local/lib/python3.8/site-packages/gym/spaces/box.py:84: UserWarning: WARN: Box bound precision lowered by casting to float32
logger.warn(f"Box bound precision lowered by casting to {self.dtype}")
RL device: cuda:0
1536
48
781
0
Error executing job with overrides: ['env.task=HumanoidSpeedZ', 'env=env_pulsex_amp', 'exp_name=pulse_x_speed', 'robot=smplx_humanoid', 'learning=pulse_z_task', 'env.models=[output/HumanoidIm/pulse_vae_x/Humanoid.pth]', 'env.motion_file=sample_data/amass_isaac_x_simple_run.pkl']
Traceback (most recent call last):
File "phc/run_hydra.py", line 347, in main
runner.run(cfg)
File "/home/gymuser/.local/lib/python3.8/site-packages/rl_games/torch_runner.py", line 139, in run
self.run_train()
File "/home/gymuser/.local/lib/python3.8/site-packages/rl_games/torch_runner.py", line 122, in run_train
agent = self.algo_factory.create(self.algo_name, base_name='run', config=self.config)
File "/home/gymuser/.local/lib/python3.8/site-packages/rl_games/common/object_factory.py", line 15, in create
return builder(**kwargs)
File "phc/run_hydra.py", line 258, in <lambda>
runner.algo_factory.register_builder('amp', lambda **kwargs: amp_agent.AMPAgent(**kwargs))
File "/home/zxf/dev/robot/PULSE/phc/learning/amp_agent.py", line 39, in __init__
super().__init__(base_name, config)
File "/home/zxf/dev/robot/PULSE/phc/learning/common_agent.py", line 37, in __init__
a2c_common.A2CBase.__init__(self, base_name, config)
File "/home/gymuser/.local/lib/python3.8/site-packages/rl_games/common/a2c_common.py", line 85, in __init__
self.vec_env = vecenv.create_vec_env(self.env_name, self.num_actors, **self.env_config)
File "/home/gymuser/.local/lib/python3.8/site-packages/rl_games/common/vecenv.py", line 282, in create_vec_env
return vecenv_config[vec_env_name](config_name, num_actors, **kwargs)
File "phc/run_hydra.py", line 250, in <lambda>
vecenv.register('RLGPU', lambda config_name, num_actors, **kwargs: RLGPUEnv(config_name, num_actors, **kwargs))
File "phc/run_hydra.py", line 201, in __init__
self.full_state["obs"] = self.reset()
File "phc/run_hydra.py", line 218, in reset
self.full_state["obs"] = self.env.reset(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/vec_task_wrappers.py", line 55, in reset
self.task.reset(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid.py", line 531, in reset
self._reset_envs(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid_amp_task.py", line 74, in _reset_envs
super()._reset_envs(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid_amp.py", line 352, in _reset_envs
super()._reset_envs(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid.py", line 577, in _reset_envs
self._reset_actors(env_ids) # this funciton calle _set_env_state, and should set all state vectors
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid_amp.py", line 361, in _reset_actors
self._reset_ref_state_init(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid_speed.py", line 248, in _reset_ref_state_init
super()._reset_ref_state_init(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid_amp.py", line 469, in _reset_ref_state_init
motion_ids, motion_times, root_pos, root_rot, dof_pos, root_vel, root_ang_vel, dof_vel, rb_pos, rb_rot, body_vel, body_ang_vel = self._sample_ref_state(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid_speed.py", line 252, in _sample_ref_state
motion_ids, motion_times, root_pos, root_rot, dof_pos, root_vel, root_ang_vel, dof_vel, rb_pos, rb_rot, body_vel, body_ang_vel = super()._sample_ref_state(env_ids)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid_amp.py", line 460, in _sample_ref_state
root_pos, root_rot, dof_pos, root_vel, root_ang_vel, dof_vel, rb_pos, rb_rot, body_vel, body_ang_vel = self._get_fixed_smpl_state_from_motionlib(motion_ids, motion_times, curr_gender_betas)
File "/home/zxf/dev/robot/PULSE/phc/env/tasks/humanoid_amp.py", line 422, in _get_fixed_smpl_state_from_motionlib
vertices_curr, joints_curr = self.smpl_parser_n.get_joints_verts(poses_curr, betas_curr, root_pos_curr)
File "/home/gymuser/.local/lib/python3.8/site-packages/smpl_sim/smpllib/smpl_parser.py", line 424, in get_joints_verts
smpl_output = self.forward(
File "/home/gymuser/.local/lib/python3.8/site-packages/smpl_sim/smpllib/smpl_parser.py", line 407, in forward
smpl_output = super(SMPLX_Parser, self).forward(*args, **kwargs)
File "/home/gymuser/.local/lib/python3.8/site-packages/smplx/body_models.py", line 1335, in forward
vertices, joints = lbs(
File "/home/gymuser/.local/lib/python3.8/site-packages/smplx/lbs.py", line 205, in lbs
v_shaped = v_template + blend_shapes(betas, shapedirs)
File "/home/gymuser/.local/lib/python3.8/site-packages/smplx/lbs.py", line 291, in blend_shapes
blend_shape = torch.einsum('bl,mkl->bmk', [betas, shape_disps])
File "/home/gymuser/.local/lib/python3.8/site-packages/torch/functional.py", line 381, in einsum
return einsum(equation, *_operands)
File "/home/gymuser/.local/lib/python3.8/site-packages/torch/functional.py", line 386, in einsum
return _VF.einsum(equation, operands) # type: ignore[attr-defined]
RuntimeError: einsum(): subscript l has size 20 for operand 1 which does not broadcast with previously seen size 30
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
After running the training script from the SMPLX Tasks section in the README, an error occurred with the following message.
command:
error message: