Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AttributeError: 'AMPAgent' object has no attribute 'seq_len' #231

Open
dbdxnuliba opened this issue Aug 18, 2024 · 1 comment
Open

AttributeError: 'AMPAgent' object has no attribute 'seq_len' #231

dbdxnuliba opened this issue Aug 18, 2024 · 1 comment

Comments

@dbdxnuliba
Copy link

dbdxnuliba commented Aug 18, 2024

python train.py task=HumanoidAMP experiment=AMP_walk
AttributeError: 'AMPAgent' object has no attribute 'seq_len'

``
(isaacgymenvs_hands) rob@rob-Legion-Y9000P-IRX8:~/rl/IsaacGymEnvs/isaacgymenvs$ python train.py task=HumanoidAMP experiment=AMP_walk
/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/hydra/_internal/hydra.py:119: UserWarning: Future Hydra versions will no longer change working directory at job runtime by default.
See https://hydra.cc/docs/1.2/upgrades/1.1_to_1.2/changes_to_job_working_dir/ for more information.
ret = run_job(
Importing module 'gym_38' (/home/rob/rl/IsaacGym_Preview_4_Package/isaacgym/python/isaacgym/_bindings/linux-x86_64/gym_38.so)
Setting GYM_USD_PLUG_INFO_PATH to /home/rob/rl/IsaacGym_Preview_4_Package/isaacgym/python/isaacgym/_bindings/linux-x86_64/usd/plugInfo.json
PyTorch version 2.4.0+cu121
Device count 1
/home/rob/rl/IsaacGym_Preview_4_Package/isaacgym/python/isaacgym/_bindings/src/gymtorch
Using /home/rob/.cache/torch_extensions/py38_cu121 as PyTorch extensions root...
Emitting ninja build file /home/rob/.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-08-18 11:41:24,185 - INFO - logger - logger initialized
:3: DeprecationWarning: invalid escape sequence *
Error: FBX library failed to load - importing FBX data will not succeed. Message: No module named 'fbx'
FBX tools must be installed from https://help.autodesk.com/view/FBX/2020/ENU/?guid=FBX_Developer_Help_scripting_with_python_fbx_installing_python_fbx_html
/home/rob/rl/IsaacGym_Preview_4_Package/isaacgym/python/isaacgym/torch_utils.py:135: DeprecationWarning: np.float is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
def get_axis_params(value, axis_idx, x_value=0., dtype=np.float, n_dims=3):
/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/networkx/classes/graph.py:23: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
from collections import Mapping
/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/networkx/classes/reportviews.py:95: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
from collections import Mapping, Set, Itrobble
/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/networkx/readwrite/graphml.py:346: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
(np.int, "int"), (np.int8, "int"),
/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/networkx/drawing/nx_pydot.py:27: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
from pkg_resources import parse_version
/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/pkg_resources/init.py:3144: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('sphinxcontrib')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/pkg_resources/init.py:3144: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('google')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
task:
name: HumanoidAMP
physics_engine: physx
env:
numEnvs: 4096
envSpacing: 5
episodeLength: 300
camrobFollow: True
enableDebugVis: False
pdControl: True
powerScale: 1.0
controlFrequencyInv: 2
stateInit: Random
hybridInitProb: 0.5
numAMPObsSteps: 2
localRootObs: False
contactBodies: ['right_foot', 'left_foot']
terminationHeight: 0.5
enableEarlyTermination: True
motion_file: amp_humanoid_run.npy
asset:
assetFileName: mjcf/amp_humanoid.xml
plane:
staticFriction: 1.0
dynamicFriction: 1.0
restitution: 0.0
sim:
dt: 0.0166
substeps: 2
up_axis: z
use_gpu_pipeline: True
gravity: [0.0, 0.0, -9.81]
physx:
num_threads: 4
solver_type: 1
use_gpu: True
num_position_itrobtions: 4
num_velocity_itrobtions: 0
contact_offset: 0.02
rest_offset: 0.0
bounce_threshold_velocity: 0.2
max_depenetration_velocity: 10.0
default_buffer_size_multiplier: 5.0
max_gpu_contact_pairs: 8388608
num_subscenes: 4
contact_collection: 2
task:
randomize: False
randomization_params:
frequency: 600
observations:
range: [0, 0.002]
oprobtion: additive
distribution: gaussian
actions:
range: [0.0, 0.02]
oprobtion: additive
distribution: gaussian
sim_params:
gravity:
range: [0, 0.4]
oprobtion: additive
distribution: gaussian
schedule: linear
schedule_steps: 3000
actor_params:
humanoid:
color: True
rigid_body_properties:
mass:
range: [0.5, 1.5]
oprobtion: scaling
distribution: uniform
setup_only: True
schedule: linear
schedule_steps: 3000
rigid_shape_properties:
friction:
num_buckets: 500
range: [0.7, 1.3]
oprobtion: scaling
distribution: uniform
schedule: linear
schedule_steps: 3000
restitution:
range: [0.0, 0.7]
oprobtion: scaling
distribution: uniform
schedule: linear
schedule_steps: 3000
dof_properties:
damping:
range: [0.5, 1.5]
oprobtion: scaling
distribution: uniform
schedule: linear
schedule_steps: 3000
stiffness:
range: [0.5, 1.5]
oprobtion: scaling
distribution: uniform
schedule: linear
schedule_steps: 3000
lower:
range: [0, 0.01]
oprobtion: additive
distribution: gaussian
schedule: linear
schedule_steps: 3000
upper:
range: [0, 0.01]
oprobtion: additive
distribution: gaussian
schedule: linear
schedule_steps: 3000
train:
params:
seed: 42
algo:
name: amp_continuous
model:
name: continuous_amp
network:
name: amp
separate: True
space:
continuous:
mu_activation: None
sigma_activation: None
mu_init:
name: default
sigma_init:
name: const_initializer
val: -2.9
fixed_sigma: True
learn_sigma: False
mlp:
units: [1024, 512]
activation: relu
d2rl: False
initializer:
name: default
regularizer:
name: None
disc:
units: [1024, 512]
activation: relu
initializer:
name: default
load_checkpoint: False
load_path:
config:
name: AMP_walk
full_experiment_name: AMP_walk
env_name: rlgpu
ppo: True
multi_gpu: False
mixed_precision: False
normalize_input: True
normalize_value: True
value_bootstrap: True
num_actors: 4096
reward_shaper:
scale_value: 1
normalize_advantage: True
gamma: 0.99
tau: 0.95
learning_rate: 5e-05
lr_schedule: constant
kl_threshold: 0.008
score_to_win: 20000
max_epochs: 5000
save_best_after: 100
save_frequency: 50
print_stats: True
grad_norm: 1.0
entropy_coef: 0.0
truncate_grads: False
e_clip: 0.2
horizon_length: 16
minibatch_size: 32768
mini_epochs: 6
critic_coef: 5
clip_value: False
seq_len: 4
bounds_loss_coef: 10
amp_obs_demo_buffer_size: 200000
amp_replay_buffer_size: 1000000
amp_replay_keep_prob: 0.01
amp_batch_size: 512
amp_minibatch_size: 4096
disc_coef: 5
disc_logit_reg: 0.05
disc_grad_penalty: 5
disc_reward_scale: 2
disc_weight_decay: 0.0001
normalize_amp_input: True
task_reward_w: 0.0
disc_reward_w: 1.0
pbt:
enabled: False
task_name: HumanoidAMP
experiment: AMP_walk
num_envs:
seed: 42
torch_deterministic: False
max_itrobtions:
physics_engine: physx
pipeline: gpu
sim_device: cuda:0
rl_device: cuda:0
graphics_device_id: 0
num_threads: 4
solver_type: 1
num_subscenes: 4
test: False
checkpoint:
sigma:
multi_gpu: False
wandb_activate: False
wandb_group:
wandb_name: AMP_walk
wandb_entity:
wandb_project: isaacgymenvs
wandb_tags: []
wandb_logcode_dir:
capture_video: False
capture_video_freq: 1464
capture_video_len: 100
force_render: True
headless: False
Setting seed: 42
Using rl_device: cuda:0
Using sim_device: cuda:0
{'name': 'AMP_walk', 'full_experiment_name': None, 'env_name': 'rlgpu', 'ppo': True, 'multi_gpu': False, 'mixed_precision': False, 'normalize_input': True, 'normalize_value': True, 'value_bootstrap': True, 'num_actors': 4096, 'reward_shaper': {'scale_value': 1}, 'normalize_advantage': True, 'gamma': 0.99, 'tau': 0.95, 'learning_rate': 5e-05, 'lr_schedule': 'constant', 'kl_threshold': 0.008, 'score_to_win': 20000, 'max_epochs': 5000, 'save_best_after': 100, 'save_frequency': 50, 'print_stats': True, 'grad_norm': 1.0, 'entropy_coef': 0.0, 'truncate_grads': False, 'e_clip': 0.2, 'horizon_length': 16, 'minibatch_size': 32768, 'mini_epochs': 6, 'critic_coef': 5, 'clip_value': False, 'seq_len': 4, 'bounds_loss_coef': 10, 'amp_obs_demo_buffer_size': 200000, 'amp_replay_buffer_size': 1000000, 'amp_replay_keep_prob': 0.01, 'amp_batch_size': 512, 'amp_minibatch_size': 4096, 'disc_coef': 5, 'disc_logit_reg': 0.05, 'disc_grad_penalty': 5, 'disc_reward_scale': 2, 'disc_weight_decay': 0.0001, 'normalize_amp_input': True, 'task_reward_w': 0.0, 'disc_reward_w': 1.0, 'device': 'cuda:0', 'population_based_training': False, 'pbt_idx': None}
self.seed = 42
Started to train
/home/rob/anaconda3/envs/isaacgymenvs_hands/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}")
[Warning] [carb.gym.plugin] useGpu is set, forcing single scene (0 subscenes)
Not connected to PVD
+++ Using GPU PhysX
Physics Engine: PhysX
Physics Device: cuda:0
GPU Pipeline: enabled
/home/rob/rl/IsaacGymEnvs/isaacgymenvs/tasks/amp/humanoid_amp_base.py:186: 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
Loading 1/1 motion files: /home/rob/rl/IsaacGymEnvs/isaacgymenvs/tasks/../../assets/amp/motions/amp_humanoid_run.npy
Loaded 1 motions with a total length of 1.350s.
Box(-1.0, 1.0, (28,), float32) Box(-inf, inf, (105,), float32)
WARNING: seq_len is deprecated, use seq_length instead
seq_length: 4
current training device: cuda:0
/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/rl_games/common/a2c_common.py:254: FutureWarning: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.
self.scaler = torch.cuda.amp.GradScaler(enabled=self.mixed_precision)
build mlp: 105
build mlp: 105
build mlp: 210
sigma
actor_mlp.0.weight
actor_mlp.0.bias
actor_mlp.2.weight
actor_mlp.2.bias
critic_mlp.0.weight
critic_mlp.0.bias
critic_mlp.2.weight
critic_mlp.2.bias
value.weight
value.bias
mu.weight
mu.bias
_disc_mlp.0.weight
_disc_mlp.0.bias
_disc_mlp.2.weight
_disc_mlp.2.bias
_disc_logits.weight
_disc_logits.bias
RunningMeanStd: (1,)
RunningMeanStd: (105,)
Error executing job with overrides: ['task=HumanoidAMP', 'experiment=AMP_walk']
Traceback (most recent call last):
File "train.py", line 210, in launch_rlg_hydra
runner.run({
File "/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/rl_games/torch_runner.py", line 133, in run
self.run_train(args)
File "/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/rl_games/torch_runner.py", line 113, in run_train
agent = self.algo_factory.create(self.algo_name, base_name='run', params=self.params)
File "/home/rob/anaconda3/envs/isaacgymenvs_hands/lib/python3.8/site-packages/rl_games/common/object_factory.py", line 15, in create
return builder(**kwargs)
File "train.py", line 188, in
runner.algo_factory.register_builder('amp_continuous', lambda **kwargs : amp_continuous.AMPAgent(**kwargs))
File "/home/rob/rl/IsaacGymEnvs/isaacgymenvs/learning/amp_continuous.py", line 53, in init
super().init(base_name, params)
File "/home/rob/rl/IsaacGymEnvs/isaacgymenvs/learning/common_agent.py", line 98, in init
self.dataset = amp_datasets.AMPDataset(self.batch_size, self.minibatch_size, self.is_discrete, self.is_rnn, self.ppo_device, self.seq_len)
AttributeError: 'AMPAgent' object has no attribute 'seq_len'

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

``

@xu-yang16
Copy link

pip install rl_games==1.6.0 will fix that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants