release
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_m1_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m1/avoid_d56_r12_pre_diffusion_mlp_ta4_td20/2024-07-06_22-50-07/checkpoint/state_10000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m1/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d56_r12 # M1, desired modes 5 and 6, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 10
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m1-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.95
|
||||
clip_ploss_coef: 0.1
|
||||
clip_ploss_coef_base: 0.1
|
||||
clip_ploss_coef_rate: 1
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,105 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_m1_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m1/avoid_d56_r12_pre_gaussian_mlp_ta4/2024-07-07_01-35-48/checkpoint/state_10000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m1/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d56_r12 # M1, desired modes 5 and 6, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m1-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.1
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [256, 256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
learn_fixed_std: False
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
mlp_dims: [256, 256, 256]
|
||||
residual_style: True
|
||||
obs_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,106 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_m1_gmm_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m1/avoid_d56_r12_pre_gmm_mlp_ta4/2024-07-10_14-30-00/checkpoint/state_10000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m1/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d56_r12 # M1, desired modes 5 and 6, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
num_modes: 5
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m1-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gmm_ppo.PPO_GMM
|
||||
clip_ploss_coef: 0.1
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gmm.GMM_MLP
|
||||
mlp_dims: [256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: False
|
||||
fixed_std: 0.1
|
||||
learn_fixed_std: False
|
||||
num_modes: ${num_modes}
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
mlp_dims: [256, 256, 256]
|
||||
residual_style: True
|
||||
obs_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,119 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_m2_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m2/avoid_d57_r12_pre_diffusion_mlp_ta4_td20/2024-07-07_13-12-09/checkpoint/state_15000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m2/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d57_r12 # M2, desired modes 5 and 7, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 10
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m2-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.95
|
||||
clip_ploss_coef: 0.1
|
||||
clip_ploss_coef_base: 0.1
|
||||
clip_ploss_coef_rate: 1
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,105 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_m2_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m2/avoid_d57_r12_pre_gaussian_mlp_ta4/2024-07-07_02-15-50/checkpoint/state_10000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m2/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d57_r12 # M2, desired modes 5 and 7, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m2-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.1
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [256, 256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
learn_fixed_std: False
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
mlp_dims: [256, 256, 256]
|
||||
residual_style: True
|
||||
obs_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,106 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_m2_gmm_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m2/avoid_d57_r12_pre_gmm_mlp_ta4/2024-07-10_15-44-32/checkpoint/state_10000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m2/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d57_r12 # M2, desired modes 5 and 7, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
num_modes: 5
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m2-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gmm_ppo.PPO_GMM
|
||||
clip_ploss_coef: 0.1
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gmm.GMM_MLP
|
||||
mlp_dims: [256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: False
|
||||
fixed_std: 0.1
|
||||
learn_fixed_std: False
|
||||
num_modes: ${num_modes}
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
mlp_dims: [256, 256, 256]
|
||||
residual_style: True
|
||||
obs_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,119 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_m3_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m3/avoid_d58_r12_pre_diffusion_mlp_ta4_td20/2024-07-07_13-54-54/checkpoint/state_15000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m3/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d58_r12 # M3, desired modes 5 and 8, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 10
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m3-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.95
|
||||
clip_ploss_coef: 0.1
|
||||
clip_ploss_coef_base: 0.1
|
||||
clip_ploss_coef_rate: 1
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,105 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_m3_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m3/avoid_d58_r12_pre_gaussian_mlp_ta4/2024-07-07_13-11-49/checkpoint/state_10000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m3/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d58_r12 # M3, desired modes 5 and 8, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m3-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.1
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [256, 256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
learn_fixed_std: False
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
mlp_dims: [256, 256, 256]
|
||||
residual_style: True
|
||||
obs_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,106 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_m3_gmm_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/m3/avoid_d58_r12_pre_gmm_mlp_ta4/2024-07-10_17-01-50/checkpoint/state_10000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m3/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: avoiding-m5
|
||||
mode: d58_r12 # M3, desired modes 5 and 8, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
num_modes: 5
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
max_episode_steps: 100
|
||||
reset_at_iteration: True
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 2
|
||||
save_full_observations: True
|
||||
wrappers:
|
||||
d3il_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
pass_full_observations: ${env.save_full_observations}
|
||||
reset_within_step: False
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env_name}-m3-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 51
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 100
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 100 # no eval, always train mode
|
||||
force_train: True
|
||||
render:
|
||||
freq: 1
|
||||
num: 10
|
||||
plotter:
|
||||
_target_: env.plot_traj.TrajPlotter
|
||||
env_type: avoid
|
||||
normalization_path: ${normalization_path}
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: ${eval:'round(${train.n_steps} * ${env.n_envs} / 2)'}
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gmm_ppo.PPO_GMM
|
||||
clip_ploss_coef: 0.1
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gmm.GMM_MLP
|
||||
mlp_dims: [256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: False
|
||||
fixed_std: 0.1
|
||||
learn_fixed_std: False
|
||||
num_modes: ${num_modes}
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
mlp_dims: [256, 256, 256]
|
||||
residual_style: True
|
||||
obs_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,70 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: avoid_m1_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m1/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d56_r12 # M1, desired modes 5 and 6, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 15000
|
||||
batch_size: 16
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 15000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,62 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: avoid_m1_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m1/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d56_r12 # M1, desired modes 5 and 6, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 10000
|
||||
batch_size: 16
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [256, 256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: avoid_m1_pre_gmm_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m1/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d56_r12 # M1, desired modes 5 and 6, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
num_modes: 5
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 10000
|
||||
batch_size: 32
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gmm.GMMModel
|
||||
network:
|
||||
_target_: model.common.mlp_gmm.GMM_MLP
|
||||
mlp_dims: [256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: False
|
||||
fixed_std: 0.1
|
||||
num_modes: ${num_modes}
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,70 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: avoid_m2_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m2/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d57_r12 # M2, desired modes 5 and 7, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 15000
|
||||
batch_size: 16
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 15000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,62 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: avoid_m2_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m2/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d57_r12 # M2, desired modes 5 and 7, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 10000
|
||||
batch_size: 16
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [256, 256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: avoid_m2_pre_gmm_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m2/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d57_r12 # M2, desired modes 5 and 7, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
num_modes: 5
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 10000
|
||||
batch_size: 32
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gmm.GMMModel
|
||||
network:
|
||||
_target_: model.common.mlp_gmm.GMM_MLP
|
||||
mlp_dims: [256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: False
|
||||
fixed_std: 0.1
|
||||
num_modes: ${num_modes}
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,70 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: avoid_m3_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m3/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d58_r12 # M3, desired modes 5 and 8, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 15000
|
||||
batch_size: 16
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 15000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,62 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: avoid_m3_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m3/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d58_r12 # M3, desired modes 5 and 8, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 10000
|
||||
batch_size: 16
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [256, 256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: avoid_m3_pre_gmm_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/d3il-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/d3il/avoid_m3/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: avoid
|
||||
mode: d58_r12 # M3, desired modes 5 and 8, required modes 1 and 2
|
||||
obs_dim: 4
|
||||
action_dim: 2
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
num_modes: 5
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: d3il-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 10000
|
||||
batch_size: 32
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gmm.GMMModel
|
||||
network:
|
||||
_target_: model.common.mlp_gmm.GMM_MLP
|
||||
mlp_dims: [256, 256] # smaller MLP for less overfitting
|
||||
activation_type: ReLU
|
||||
residual_style: False
|
||||
fixed_std: 0.1
|
||||
num_modes: ${num_modes}
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,26 @@
|
||||
## Fine-tuning experiments
|
||||
|
||||
### Comparing diffusion-based RL algorithms (Sec. 5.1)
|
||||
Gym configs are under `cfg/gym/finetune/<env_name>/`, and the naming follows `ft_<alg_name>_diffusion_mlp`, e.g., `ft_awr_diffusion_mlp`. `alg_name` is one of `rwr`, `awr`, `dipo`, `idql`, `dql`, `qsm`, `ppo` (DPPO), `ppo_exact` (exact likelihood). They share the same pre-trained checkpoint in each env.
|
||||
|
||||
Robomimic configs are under `cfg/robomimic/finetune/<env_name>/`, and the naming follows the same.
|
||||
|
||||
<!-- **Note**: For *Can* and *Lift* in Robomimic, we use earlier checkpoints from pre-training (epoch 5000) so there is more room for fine-tuning improvement. For comparing policy parameterizations, we use the final checkpoints for all tasks (epoch 8000). -->
|
||||
|
||||
### Comparing policy parameterizations (Sec. 5.2, 5.3)
|
||||
|
||||
Robomimic configs are under `cfg/robomimic/finetune/<env_name>/`, and the naming follows `ft_ppo_<diffusion/gaussian/gmm>_<mlp/unet/transformer>_<img?>`. For pixel experiments, we choose pre-trained checkpoints such that the pre-training performance is similar between DPPO and Gaussian baseline.
|
||||
|
||||
**Note**: For *Can* and *Lift* in Robomimic with DPPO, you need to manually download the final checkpoints (epoch 8000). The default ones in the configs are from epoch 5000 (more room for fine-tuning improvement) and used for comparing diffusion-based RL algorithms,
|
||||
|
||||
Furniture-Bench configs are under `cfg/furniture/finetune/<env_name>/`, and the naming follows `ft_<diffusion/gaussian>_<mlp/unet>`. In the paper we did not show the results of `ft_diffusion_mlp`. Running IsaacGym for the first time may take a while for setting up the meshes. If you encounter the error about `libpython`, see instruction [here](installation/install_furniture.md#L27).
|
||||
|
||||
### D3IL (Sec. 6)
|
||||
|
||||
D3IL configs are under `cfg/d3il/finetune/avoid_<mode>/`, and the naming follows `ft_ppo_<diffusion/gaussian/gmm>_mlp`. The number of fine-tuned denoising steps can be specified with `ft_denoising_steps`.
|
||||
|
||||
### Training from scratch (App. B.2)
|
||||
`ppo_diffusion_mlp` and `ppo_gaussian_mlp` under `cfg/gym/finetune/<env_name>` are for training DPPO or Gaussian policy from scratch.
|
||||
|
||||
### Comparing to exact likelihood policy gradient (App. B.5)
|
||||
`ft_ppo_exact_diffusion_mlp` under `cfg/gym/finetune/hopper-v2`, `cfg/gym/finetune/halfcheetah-v2`, and `cfg/robomimic/finetune/can` are for training diffusion policy gradient with exact likelihood. `torchdiffeq` package needs to be installed first with `pip install -e .[exact]`.
|
||||
@@ -0,0 +1,121 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/lamp/lamp_low_dim_pre_diffusion_mlp_ta8_td100/2024-07-23_01-28-20/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: lamp
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,123 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_unet_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/lamp/lamp_low_dim_pre_diffusion_unet_ta16_td100/2024-07-04_02-16-48/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 16
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: lamp
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
groupnorm_eps: 1e-4
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,109 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_ft_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/lamp/lamp_low_dim_pre_gaussian_mlp_ta8/2024-06-28_16-26-51/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: lamp
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.01
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims:
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.04
|
||||
learn_fixed_std: True
|
||||
std_min: 0.01
|
||||
std_max: 0.2
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,121 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/lamp/lamp_med_dim_pre_diffusion_mlp_ta8_td100/2024-07-23_01-28-20/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: lamp
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,122 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_unet_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/lamp/lamp_med_dim_pre_diffusion_unet_ta16_td100/2024-07-04_02-17-21/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 16
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: lamp
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,109 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_ft_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/lamp/lamp_med_dim_pre_gaussian_mlp_ta8/2024-06-28_16-26-56/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: lamp
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.01
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims:
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.04
|
||||
learn_fixed_std: True
|
||||
std_min: 0.01
|
||||
std_max: 0.2
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,121 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/one_leg/one_leg_low_dim_pre_diffusion_mlp_ta8_td100/2024-07-22_20-01-16/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 700
|
||||
best_reward_threshold_for_success: 1
|
||||
specific:
|
||||
headless: true
|
||||
furniture: one_leg
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,123 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_unet_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/one_leg/one_leg_low_dim_pre_diffusion_unet_ta16_td100/2024-07-03_22-23-38/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 16
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 700
|
||||
best_reward_threshold_for_success: 1
|
||||
specific:
|
||||
headless: true
|
||||
furniture: one_leg
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
groupnorm_eps: 1e-4
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,109 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_ft_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/one_leg/one_leg_low_dim_pre_gaussian_mlp_ta8/2024-06-26_23-43-02/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 700
|
||||
best_reward_threshold_for_success: 1
|
||||
specific:
|
||||
headless: true
|
||||
furniture: one_leg
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.01
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims:
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.04
|
||||
learn_fixed_std: True
|
||||
std_min: 0.01
|
||||
std_max: 0.2
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,121 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/one_leg/one_leg_med_dim_pre_diffusion_mlp_ta8_td100/2024-07-23_01-28-11/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 700
|
||||
best_reward_threshold_for_success: 1
|
||||
specific:
|
||||
headless: true
|
||||
furniture: one_leg
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,123 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_unet_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/one_leg/one_leg_med_dim_pre_diffusion_unet_ta16_td100/2024-07-04_02-16-16/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 16
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 700
|
||||
best_reward_threshold_for_success: 1
|
||||
specific:
|
||||
headless: true
|
||||
furniture: one_leg
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
groupnorm_eps: 1e-4
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,109 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_ft_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/one_leg/one_leg_med_dim_pre_gaussian_mlp_ta8/2024-06-28_16-27-02/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 700
|
||||
best_reward_threshold_for_success: 1
|
||||
specific:
|
||||
headless: true
|
||||
furniture: one_leg
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.01
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims:
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.04
|
||||
learn_fixed_std: True
|
||||
std_min: 0.01
|
||||
std_max: 0.2
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,121 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/round_table/round_table_low_dim_pre_diffusion_mlp_ta8_td100/2024-07-23_01-28-26/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: round_table
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,123 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_unet_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/round_table/round_table_low_dim_pre_diffusion_unet_ta16_td100/2024-07-04_02-19-48/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 16
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: round_table
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
groupnorm_eps: 1e-4
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,109 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_ft_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/round_table/round_table_low_dim_pre_gaussian_mlp_ta8/2024-06-28_16-26-51/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: round_table
|
||||
randomness: low
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.01
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims:
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.04
|
||||
learn_fixed_std: True
|
||||
std_min: 0.01
|
||||
std_max: 0.2
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,121 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/round_table/round_table_med_dim_pre_diffusion_mlp_ta8_td100/2024-07-23_01-28-29/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: round_table
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,122 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ft_diffusion_unet_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/round_table/round_table_med_dim_pre_diffusion_unet_ta16_td100/2024-07-04_02-20-21/checkpoint/state_8000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
ft_denoising_steps: 5
|
||||
cond_steps: 1
|
||||
horizon_steps: 16
|
||||
act_steps: 8
|
||||
use_ddim: True
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: round_table
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.9
|
||||
clip_ploss_coef: 0.001
|
||||
clip_ploss_coef_base: 0.001
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.04
|
||||
#
|
||||
use_ddim: ${use_ddim}
|
||||
ddim_steps: ${ft_denoising_steps}
|
||||
learn_eta: False
|
||||
eta:
|
||||
base_eta: 1
|
||||
input_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256]
|
||||
action_dim: ${action_dim}
|
||||
min_eta: 0.1
|
||||
max_eta: 1.0
|
||||
_target_: model.diffusion.eta.EtaFixed
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,109 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_ft_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/round_table/round_table_med_dim_pre_gaussian_mlp_ta8/2024-06-28_16-26-38/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/furniture/${env.specific.furniture}_${env.specific.randomness}/normalization.pth
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: ${env.specific.furniture}_${env.specific.randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 8
|
||||
act_steps: 8
|
||||
|
||||
env:
|
||||
n_envs: 1000
|
||||
name: ${env_name}
|
||||
env_type: furniture
|
||||
max_episode_steps: 1000
|
||||
best_reward_threshold_for_success: 2
|
||||
specific:
|
||||
headless: true
|
||||
furniture: round_table
|
||||
randomness: med
|
||||
normalization_path: ${normalization_path}
|
||||
act_steps: ${act_steps}
|
||||
sparse_reward: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${env.specific.furniture}-${env.specific.randomness}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 1
|
||||
n_steps: ${eval:'round(${env.max_episode_steps} / ${act_steps})'}
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-6
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 50
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 8800
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.01
|
||||
randn_clip_value: 3
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims:
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
- 1024
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
fixed_std: 0.04
|
||||
learn_fixed_std: True
|
||||
std_min: 0.01
|
||||
std_max: 0.2
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,72 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: lamp
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,74 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_unet_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: lamp
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 16
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
groupnorm_eps: 1e-4 # not important
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: ${env}_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: lamp
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 3000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
use_layernorm: False # worse with layernorm
|
||||
activation_type: ReLU # worse with Mish
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,72 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: lamp
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,73 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_unet_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: lamp
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 16
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: ${env}_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: lamp
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 3000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
use_layernorm: False # worse with layernorm
|
||||
activation_type: ReLU # worse with Mish
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,72 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: one_leg
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,74 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_unet_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: one_leg
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 16
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
groupnorm_eps: 1e-4 # not important
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: ${env}_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: one_leg
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 3000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
use_layernorm: False # worse with layernorm
|
||||
activation_type: ReLU # worse with Mish
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,72 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: one_leg
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,73 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_unet_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: one_leg
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 16
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: ${env}_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: one_leg
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 58
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 10000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
use_layernorm: False # worse with layernorm
|
||||
activation_type: ReLU # worse with Mish
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,72 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: round_table
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,73 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_unet_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: round_table
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 16
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: ${env}_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: round_table
|
||||
randomness: low
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 3000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
use_layernorm: False # worse with layernorm
|
||||
activation_type: ReLU # worse with Mish
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,72 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: round_table
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 32
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
cond_mlp_dims: [512, 64]
|
||||
use_layernorm: True # needed for larger MLP
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,73 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_unet_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: round_table
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 100
|
||||
horizon_steps: 16
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 8000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.unet.Unet1D
|
||||
diffusion_step_embed_dim: 16
|
||||
dim: 64
|
||||
dim_mults: [1, 2, 4]
|
||||
kernel_size: 5
|
||||
n_groups: 8
|
||||
smaller_encoder: False
|
||||
cond_predict_scale: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,64 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_gaussian_agent.TrainGaussianAgent
|
||||
|
||||
name: ${env}_pre_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/furniture-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/furniture/${task}_${randomness}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
task: round_table
|
||||
randomness: med
|
||||
env: ${task}_${randomness}_dim
|
||||
obs_dim: 44
|
||||
action_dim: 10
|
||||
transition_dim: ${action_dim}
|
||||
horizon_steps: 8
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: furniture-${task}-${randomness}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 3000
|
||||
batch_size: 256
|
||||
learning_rate: 1e-4
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 100
|
||||
min_lr: 1e-5
|
||||
epoch_start_ema: 20
|
||||
update_ema_freq: 10
|
||||
save_model_freq: 1000
|
||||
|
||||
model:
|
||||
_target_: model.common.gaussian.GaussianModel
|
||||
network:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024]
|
||||
use_layernorm: False # worse with layernorm
|
||||
activation_type: ReLU # worse with Mish
|
||||
residual_style: True
|
||||
fixed_std: 0.1
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,102 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_awr_diffusion_agent.TrainAWRDiffusionAgent
|
||||
|
||||
name: ${env_name}_awr_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/halfcheetah-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-04-42/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# AWR specific
|
||||
scale_reward_factor: 0.01
|
||||
max_adv_weight: 100
|
||||
beta: 10
|
||||
buffer_size: 5000
|
||||
batch_size: 256
|
||||
replay_ratio: 64
|
||||
critic_update_ratio: 4
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_awr.AWRDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,103 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_dipo_diffusion_agent.TrainDIPODiffusionAgent
|
||||
|
||||
name: ${env_name}_dipo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/halfcheetah-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-04-42/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# DIPO specific
|
||||
scale_reward_factor: 0.01
|
||||
eta: 0.0001
|
||||
action_gradient_steps: 10
|
||||
buffer_size: 400000
|
||||
batch_size: 5000
|
||||
replay_ratio: 64
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_dipo.DIPODiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,102 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_dql_diffusion_agent.TrainDQLDiffusionAgent
|
||||
|
||||
name: ${env_name}_dql_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/halfcheetah-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-04-42/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# DQL specific
|
||||
scale_reward_factor: 0.01
|
||||
eta: 1.0
|
||||
buffer_size: 400000
|
||||
batch_size: 5000
|
||||
replay_ratio: 64
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_dql.DQLDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,111 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_idql_diffusion_agent.TrainIDQLDiffusionAgent
|
||||
|
||||
name: ${env_name}_idql_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/halfcheetah-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-04-42/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# IDQL specific
|
||||
scale_reward_factor: 0.01
|
||||
eval_deterministic: True
|
||||
eval_sample_num: 20 # how many samples to score during eval
|
||||
critic_tau: 0.001 # rate of target q network update
|
||||
use_expectile_exploration: True
|
||||
buffer_size: 5000
|
||||
batch_size: 512
|
||||
replay_ratio: 16
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_idql.IDQLDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic_q:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
critic_v:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,110 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ppo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/halfcheetah-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-04-42/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 10
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3 # success rate not relevant for gym tasks
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 5000
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.99
|
||||
clip_ploss_coef: 0.01
|
||||
clip_ploss_coef_base: 0.01
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,118 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_exact_diffusion_agent.TrainPPOExactDiffusionAgent
|
||||
|
||||
name: ${env_name}_ppo_exact_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/halfcheetah-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-04-42/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 10
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune-exact
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 5000
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo_exact.PPOExactDiffusion
|
||||
sde:
|
||||
_target_: model.diffusion.sde_lib.VPSDE # VP for DDPM
|
||||
N: ${denoising_steps}
|
||||
rtol: 1e-4
|
||||
atol: 1e-4
|
||||
sde_hutchinson_type: Rademacher
|
||||
sde_step_size: 0.05
|
||||
sde_method: euler
|
||||
sde_num_epsilon: 2
|
||||
sde_min_beta: 1e-10
|
||||
sde_probability_flow: True
|
||||
#
|
||||
gamma_denoising: 0.99
|
||||
clip_ploss_coef: 0.01
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,103 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_qsm_diffusion_agent.TrainQSMDiffusionAgent
|
||||
|
||||
name: ${env_name}_qsm_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/halfcheetah-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-04-42/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# QSM specific
|
||||
scale_reward_factor: 0.01
|
||||
q_grad_coeff: 50
|
||||
critic_tau: 0.005 # rate of target q network update
|
||||
buffer_size: 5000
|
||||
batch_size: 256
|
||||
replay_ratio: 32
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_qsm.QSMDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,87 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_rwr_diffusion_agent.TrainRWRDiffusionAgent
|
||||
|
||||
name: ${env_name}_rwr_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/halfcheetah-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-04-42/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
lr: 1e-4
|
||||
weight_decay: 0
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# RWR specific
|
||||
max_reward_weight: 100
|
||||
beta: 10
|
||||
batch_size: 1000
|
||||
update_epochs: 16
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_rwr.RWRDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,108 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_nopre_ppo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 1
|
||||
act_steps: 1
|
||||
|
||||
env:
|
||||
n_envs: 10
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-scratch
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 1000
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 1000
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.99
|
||||
clip_ploss_coef: 0.1
|
||||
clip_ploss_coef_base: 0.1
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,94 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_nopre_ppo_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 1
|
||||
act_steps: 1
|
||||
|
||||
env:
|
||||
n_envs: 10
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-scratch
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 1000
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 1000
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,102 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_awr_diffusion_agent.TrainAWRDiffusionAgent
|
||||
|
||||
name: ${env_name}_awr_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/hopper-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-10-05/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# AWR specific
|
||||
scale_reward_factor: 0.01
|
||||
max_adv_weight: 100
|
||||
beta: 10
|
||||
buffer_size: 5000
|
||||
batch_size: 256
|
||||
replay_ratio: 64
|
||||
critic_update_ratio: 4
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_awr.AWRDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,103 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_dipo_diffusion_agent.TrainDIPODiffusionAgent
|
||||
|
||||
name: ${env_name}_dipo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/hopper-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-10-05/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# DIPO specific
|
||||
scale_reward_factor: 0.01
|
||||
eta: 0.0001
|
||||
action_gradient_steps: 10
|
||||
buffer_size: 400000
|
||||
batch_size: 5000
|
||||
replay_ratio: 64
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_dipo.DIPODiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,102 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_dql_diffusion_agent.TrainDQLDiffusionAgent
|
||||
|
||||
name: ${env_name}_dql_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/hopper-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-10-05/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# DQL specific
|
||||
scale_reward_factor: 0.01
|
||||
eta: 1.0
|
||||
buffer_size: 400000
|
||||
batch_size: 5000
|
||||
replay_ratio: 64
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_dql.DQLDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,111 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_idql_diffusion_agent.TrainIDQLDiffusionAgent
|
||||
|
||||
name: ${env_name}_idql_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/hopper-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-10-05/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# IDQL specific
|
||||
scale_reward_factor: 0.01
|
||||
eval_deterministic: True
|
||||
eval_sample_num: 20 # how many samples to score during eval
|
||||
critic_tau: 0.001 # rate of target q network update
|
||||
use_expectile_exploration: True
|
||||
buffer_size: 5000
|
||||
batch_size: 512
|
||||
replay_ratio: 16
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_idql.IDQLDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic_q:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
critic_v:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,110 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ppo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/hopper-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-10-05/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 10
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3 # success rate not relevant for gym tasks
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 5000
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.99
|
||||
clip_ploss_coef: 0.01
|
||||
clip_ploss_coef_base: 0.01
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,117 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_exact_diffusion_agent.TrainPPOExactDiffusionAgent
|
||||
|
||||
name: ${env_name}_ppo_exact_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/hopper-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-10-05/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 10
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune-exact
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 5000
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo_exact.PPOExactDiffusion
|
||||
sde:
|
||||
_target_: model.diffusion.sde_lib.VPSDE # VP for DDPM
|
||||
N: ${denoising_steps}
|
||||
rtol: 1e-4
|
||||
atol: 1e-4
|
||||
sde_hutchinson_type: Rademacher
|
||||
sde_step_size: 0.05
|
||||
sde_method: euler
|
||||
sde_num_epsilon: 2
|
||||
sde_min_beta: 1e-10
|
||||
sde_probability_flow: True
|
||||
#
|
||||
gamma_denoising: 0.99
|
||||
clip_ploss_coef: 0.01
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
residual_style: True
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,103 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_qsm_diffusion_agent.TrainQSMDiffusionAgent
|
||||
|
||||
name: ${env_name}_qsm_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/hopper-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-10-05/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# QSM specific
|
||||
scale_reward_factor: 0.01
|
||||
q_grad_coeff: 50
|
||||
critic_tau: 0.005 # rate of target q network update
|
||||
buffer_size: 5000
|
||||
batch_size: 256
|
||||
replay_ratio: 32
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_qsm.QSMDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,87 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_rwr_diffusion_agent.TrainRWRDiffusionAgent
|
||||
|
||||
name: ${env_name}_rwr_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/hopper-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-10-05/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
lr: 1e-4
|
||||
weight_decay: 0
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# RWR specific
|
||||
max_reward_weight: 100
|
||||
beta: 10
|
||||
batch_size: 1000
|
||||
update_epochs: 16
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_rwr.RWRDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,108 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_nopre_ppo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 1
|
||||
act_steps: 1
|
||||
|
||||
env:
|
||||
n_envs: 10
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-scratch
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 1000
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 1000
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.99
|
||||
clip_ploss_coef: 0.1
|
||||
clip_ploss_coef_base: 0.1
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,94 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_nopre_ppo_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 1
|
||||
act_steps: 1
|
||||
|
||||
env:
|
||||
n_envs: 10
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-scratch
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 1000
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 1000
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,102 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_awr_diffusion_agent.TrainAWRDiffusionAgent
|
||||
|
||||
name: ${env_name}_awr_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/walker2d-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-06-12/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# AWR specific
|
||||
scale_reward_factor: 0.01
|
||||
max_adv_weight: 100
|
||||
beta: 10
|
||||
buffer_size: 5000
|
||||
batch_size: 256
|
||||
replay_ratio: 64
|
||||
critic_update_ratio: 4
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_awr.AWRDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,103 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_dipo_diffusion_agent.TrainDIPODiffusionAgent
|
||||
|
||||
name: ${env_name}_dipo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/walker2d-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-06-12/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# DIPO specific
|
||||
scale_reward_factor: 0.01
|
||||
eta: 0.0001
|
||||
action_gradient_steps: 10
|
||||
buffer_size: 400000
|
||||
batch_size: 5000
|
||||
replay_ratio: 64
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_dipo.DIPODiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,102 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_dql_diffusion_agent.TrainDQLDiffusionAgent
|
||||
|
||||
name: ${env_name}_dql_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/walker2d-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-06-12/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# DQL specific
|
||||
scale_reward_factor: 0.01
|
||||
eta: 1.0
|
||||
buffer_size: 400000
|
||||
batch_size: 5000
|
||||
replay_ratio: 64
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_dql.DQLDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,111 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_idql_diffusion_agent.TrainIDQLDiffusionAgent
|
||||
|
||||
name: ${env_name}_idql_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/walker2d-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-06-12/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# IDQL specific
|
||||
scale_reward_factor: 0.01
|
||||
eval_deterministic: True
|
||||
eval_sample_num: 20 # how many samples to score during eval
|
||||
critic_tau: 0.001 # rate of target q network update
|
||||
use_expectile_exploration: True
|
||||
buffer_size: 5000
|
||||
batch_size: 512
|
||||
replay_ratio: 16
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_idql.IDQLDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic_q:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
critic_v:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,110 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_ppo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}_tdf${ft_denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/walker2d-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-06-12/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 10
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3 # success rate not relevant for gym tasks
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 5000
|
||||
update_epochs: 5
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.99
|
||||
clip_ploss_coef: 0.01
|
||||
clip_ploss_coef_base: 0.01
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,103 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_qsm_diffusion_agent.TrainQSMDiffusionAgent
|
||||
|
||||
name: ${env_name}_qsm_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/walker2d-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-06-12/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# QSM specific
|
||||
scale_reward_factor: 0.01
|
||||
q_grad_coeff: 50
|
||||
critic_tau: 0.005 # rate of target q network update
|
||||
buffer_size: 5000
|
||||
batch_size: 256
|
||||
replay_ratio: 32
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_qsm.QSMDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,87 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_rwr_diffusion_agent.TrainRWRDiffusionAgent
|
||||
|
||||
name: ${env_name}_rwr_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/walker2d-medium-v2_pre_diffusion_mlp_ta4_td20/2024-06-12_23-06-12/checkpoint/state_3000.pt
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 40
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 500
|
||||
gamma: 0.99
|
||||
lr: 1e-4
|
||||
weight_decay: 0
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# RWR specific
|
||||
max_reward_weight: 100
|
||||
beta: 10
|
||||
batch_size: 1000
|
||||
update_epochs: 16
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_rwr.RWRDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,108 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_diffusion_agent.TrainPPODiffusionAgent
|
||||
|
||||
name: ${env_name}_nopre_ppo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
ft_denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 1
|
||||
act_steps: 1
|
||||
|
||||
env:
|
||||
n_envs: 10
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-scratch
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 1000
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 1000
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_ppo.PPODiffusion
|
||||
# HP to tune
|
||||
gamma_denoising: 0.99
|
||||
clip_ploss_coef: 0.1
|
||||
clip_ploss_coef_base: 0.1
|
||||
clip_ploss_coef_rate: 3
|
||||
randn_clip_value: 3
|
||||
min_sampling_denoising_std: 0.1
|
||||
min_logprob_denoising_std: 0.1
|
||||
#
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
ft_denoising_steps: ${ft_denoising_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
cond_steps: ${cond_steps}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,94 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_ppo_gaussian_agent.TrainPPOGaussianAgent
|
||||
|
||||
name: ${env_name}_nopre_ppo_gaussian_mlp_ta${horizon_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/gym/${env_name}/normalization.npz
|
||||
|
||||
device: cuda:0
|
||||
env_name: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
cond_steps: 1
|
||||
horizon_steps: 1
|
||||
act_steps: 1
|
||||
|
||||
env:
|
||||
n_envs: 10
|
||||
name: ${env_name}
|
||||
max_episode_steps: 1000
|
||||
reset_at_iteration: False
|
||||
save_video: False
|
||||
best_reward_threshold_for_success: 3
|
||||
wrappers:
|
||||
mujoco_locomotion_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env_name}-scratch
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 1000
|
||||
n_critic_warmup_itr: 0
|
||||
n_steps: 1000
|
||||
gamma: 0.99
|
||||
actor_lr: 1e-4
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-4
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 10000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# PPO specific
|
||||
reward_scale_running: True
|
||||
reward_scale_const: 1.0
|
||||
gae_lambda: 0.95
|
||||
batch_size: 1000
|
||||
update_epochs: 10
|
||||
vf_coef: 0.5
|
||||
target_kl: 1
|
||||
|
||||
model:
|
||||
_target_: model.rl.gaussian_ppo.PPO_Gaussian
|
||||
clip_ploss_coef: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
actor:
|
||||
_target_: model.common.mlp_gaussian.Gaussian_MLP
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
residual_style: True
|
||||
cond_dim: ${obs_dim}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,71 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/gym/${env}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: halfcheetah-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 3000
|
||||
batch_size: 128
|
||||
learning_rate: 1e-3
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 3000
|
||||
warmup_steps: 1
|
||||
min_lr: 1e-4
|
||||
epoch_start_ema: 10
|
||||
update_ema_freq: 5
|
||||
save_model_freq: 100
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
out_activation_type: Identity
|
||||
use_layernorm: False
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,71 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/gym/${env}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: hopper-medium-v2
|
||||
obs_dim: 11
|
||||
action_dim: 3
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 3000
|
||||
batch_size: 128
|
||||
learning_rate: 1e-3
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 3000
|
||||
warmup_steps: 1
|
||||
min_lr: 1e-4
|
||||
epoch_start_ema: 10
|
||||
update_ema_freq: 5
|
||||
save_model_freq: 100
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
out_activation_type: Identity
|
||||
use_layernorm: False
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,71 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.pretrain.train_diffusion_agent.TrainDiffusionAgent
|
||||
|
||||
name: ${env}_pre_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/gym-pretrain/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
train_dataset_path: ${oc.env:DPPO_DATA_DIR}/gym/${env}/train.pkl
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env: walker2d-medium-v2
|
||||
obs_dim: 17
|
||||
action_dim: 6
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
horizon_steps: 4
|
||||
cond_steps: 1
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: gym-${env}-pretrain
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_epochs: 3000
|
||||
batch_size: 128
|
||||
learning_rate: 1e-3
|
||||
weight_decay: 1e-6
|
||||
lr_scheduler:
|
||||
first_cycle_steps: 3000
|
||||
warmup_steps: 1
|
||||
min_lr: 1e-4
|
||||
epoch_start_ema: 10
|
||||
update_ema_freq: 5
|
||||
save_model_freq: 100
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion.DiffusionModel
|
||||
predict_epsilon: True
|
||||
denoised_clip_value: 1.0
|
||||
network:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
cond_dim: ${obs_dim}
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
activation_type: ReLU
|
||||
out_activation_type: Identity
|
||||
use_layernorm: False
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
|
||||
ema:
|
||||
decay: 0.995
|
||||
|
||||
train_dataset:
|
||||
_target_: agent.dataset.sequence.StitchedActionSequenceDataset
|
||||
dataset_path: ${train_dataset_path}
|
||||
horizon_steps: ${horizon_steps}
|
||||
cond_steps: ${cond_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,14 @@
|
||||
## Pre-training experiments
|
||||
|
||||
### Comparing diffusion-based RL algorithms (Sec. 5.1)
|
||||
Gym configs are under `cfg/gym/pretrain/<env_name>/`, and the config name is `pre_diffusion_mlp`. Robomimic configs are under `cfg/robomimic/pretrain/<env_name>/`, and the name is also `pre_diffusion_mlp`.
|
||||
|
||||
**Note**: In both Gym and Robomimic experiments, for the experiments in the paper we used more than enough expert demonstrations for pre-training. You can specify `+train_dataset.max_n_episodes=<number_of_episodes>` to limit the number of episodes so the pre-training is faster.
|
||||
|
||||
### Comparing policy parameterizations (Sec. 5.2, 5.3)
|
||||
|
||||
Robomimic configs are under `cfg/robomimic/pretrain/<env_name>/`, and the naming follows `pre_<diffusion/gaussian/gmm>_<mlp/unet/transformer>_<img?>`. Furniture-Bench configs are under `cfg/furniture/pretrain/<env_name>/`, and the naming follows `pre_<diffusion/gaussian>_<mlp/unet>`.
|
||||
|
||||
### D3IL (Sec. 6)
|
||||
|
||||
D3IL configs are under `cfg/d3il/pretrain/avoid_<mode>/`, and the naming follows `pre_<diffusion/gaussian/gmm>_mlp`. In the paper we manually examine the pre-trained checkpoints and pick the ones that visually match the pre-training data the best. We also tune the Gaussian and GMM policy architecture extensively for best pre-training performance. The action chunk size can be specified with `horizon_steps` and the number of denoising steps can be specified with `denoising_steps`.
|
||||
@@ -0,0 +1 @@
|
||||
{"env_name": "PickPlaceCan", "env_version": "1.4.1", "type": 1, "env_kwargs": {"has_renderer": false, "has_offscreen_renderer": true, "ignore_done": true, "use_object_obs": true, "use_camera_obs": true, "control_freq": 20, "controller_configs": {"type": "OSC_POSE", "input_max": 1, "input_min": -1, "output_max": [0.05, 0.05, 0.05, 0.5, 0.5, 0.5], "output_min": [-0.05, -0.05, -0.05, -0.5, -0.5, -0.5], "kp": 150, "damping": 1, "impedance_mode": "fixed", "kp_limits": [0, 300], "damping_limits": [0, 10], "position_limits": null, "orientation_limits": null, "uncouple_pos_ori": true, "control_delta": true, "interpolation": null, "ramp_ratio": 0.2}, "robots": ["Panda"], "camera_depths": false, "camera_heights": 96, "camera_widths": 96, "reward_shaping": false, "camera_names": ["robot0_eye_in_hand"], "render_gpu_device_id": 0}}
|
||||
@@ -0,0 +1 @@
|
||||
{"env_name": "PickPlaceCan", "env_version": "1.4.1", "type": 1, "env_kwargs": {"has_renderer": false, "has_offscreen_renderer": false, "ignore_done": true, "use_object_obs": true, "use_camera_obs": false, "control_freq": 20, "controller_configs": {"type": "OSC_POSE", "input_max": 1, "input_min": -1, "output_max": [0.05, 0.05, 0.05, 0.5, 0.5, 0.5], "output_min": [-0.05, -0.05, -0.05, -0.5, -0.5, -0.5], "kp": 150, "damping": 1, "impedance_mode": "fixed", "kp_limits": [0, 300], "damping_limits": [0, 10], "position_limits": null, "orientation_limits": null, "uncouple_pos_ori": true, "control_delta": true, "interpolation": null, "ramp_ratio": 0.2}, "robots": ["Panda"], "camera_depths": false, "camera_heights": 84, "camera_widths": 84, "reward_shaping": false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"env_name": "Lift", "env_version": "1.4.1", "type": 1, "env_kwargs": {"has_renderer": false, "has_offscreen_renderer": true, "ignore_done": true, "use_object_obs": true, "use_camera_obs": true, "control_freq": 20, "controller_configs": {"type": "OSC_POSE", "input_max": 1, "input_min": -1, "output_max": [0.05, 0.05, 0.05, 0.5, 0.5, 0.5], "output_min": [-0.05, -0.05, -0.05, -0.5, -0.5, -0.5], "kp": 150, "damping": 1, "impedance_mode": "fixed", "kp_limits": [0, 300], "damping_limits": [0, 10], "position_limits": null, "orientation_limits": null, "uncouple_pos_ori": true, "control_delta": true, "interpolation": null, "ramp_ratio": 0.2}, "robots": ["Panda"], "camera_depths": false, "camera_heights": 96, "camera_widths": 96, "reward_shaping": false, "camera_names": ["robot0_eye_in_hand"], "render_gpu_device_id": 0}}
|
||||
@@ -0,0 +1 @@
|
||||
{"env_name": "Lift", "env_version": "1.4.1", "type": 1, "env_kwargs": {"has_renderer": false, "has_offscreen_renderer": false, "ignore_done": true, "use_object_obs": true, "use_camera_obs": false, "control_freq": 20, "controller_configs": {"type": "OSC_POSE", "input_max": 1, "input_min": -1, "output_max": [0.05, 0.05, 0.05, 0.5, 0.5, 0.5], "output_min": [-0.05, -0.05, -0.05, -0.5, -0.5, -0.5], "kp": 150, "damping": 1, "impedance_mode": "fixed", "kp_limits": [0, 300], "damping_limits": [0, 10], "position_limits": null, "orientation_limits": null, "uncouple_pos_ori": true, "control_delta": true, "interpolation": null, "ramp_ratio": 0.2}, "robots": ["Panda"], "camera_depths": false, "camera_heights": 84, "camera_widths": 84, "reward_shaping": false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"env_name": "NutAssemblySquare", "env_version": "1.4.1", "type": 1, "env_kwargs": {"has_renderer": false, "has_offscreen_renderer": true, "ignore_done": true, "use_object_obs": true, "use_camera_obs": true, "control_freq": 20, "controller_configs": {"type": "OSC_POSE", "input_max": 1, "input_min": -1, "output_max": [0.05, 0.05, 0.05, 0.5, 0.5, 0.5], "output_min": [-0.05, -0.05, -0.05, -0.5, -0.5, -0.5], "kp": 150, "damping": 1, "impedance_mode": "fixed", "kp_limits": [0, 300], "damping_limits": [0, 10], "position_limits": null, "orientation_limits": null, "uncouple_pos_ori": true, "control_delta": true, "interpolation": null, "ramp_ratio": 0.2}, "robots": ["Panda"], "camera_depths": false, "camera_heights": 96, "camera_widths": 96, "reward_shaping": false, "camera_names": ["agentview"], "render_gpu_device_id": 0}}
|
||||
@@ -0,0 +1 @@
|
||||
{"env_name": "NutAssemblySquare", "env_version": "1.4.1", "type": 1, "env_kwargs": {"has_renderer": false, "has_offscreen_renderer": false, "ignore_done": true, "use_object_obs": true, "use_camera_obs": false, "control_freq": 20, "controller_configs": {"type": "OSC_POSE", "input_max": 1, "input_min": -1, "output_max": [0.05, 0.05, 0.05, 0.5, 0.5, 0.5], "output_min": [-0.05, -0.05, -0.05, -0.5, -0.5, -0.5], "kp": 150, "damping": 1, "impedance_mode": "fixed", "kp_limits": [0, 300], "damping_limits": [0, 10], "position_limits": null, "orientation_limits": null, "uncouple_pos_ori": true, "control_delta": true, "interpolation": null, "ramp_ratio": 0.2}, "robots": ["Panda"], "camera_depths": false, "camera_heights": 84, "camera_widths": 84, "reward_shaping": false}}
|
||||
@@ -0,0 +1 @@
|
||||
{"env_name": "TwoArmTransport", "env_version": "1.4.1", "type": 1, "env_kwargs": {"has_renderer": false, "has_offscreen_renderer": true, "ignore_done": true, "use_object_obs": true, "use_camera_obs": true, "control_freq": 20, "controller_configs": {"type": "OSC_POSE", "input_max": 1, "input_min": -1, "output_max": [0.05, 0.05, 0.05, 0.5, 0.5, 0.5], "output_min": [-0.05, -0.05, -0.05, -0.5, -0.5, -0.5], "kp": 150, "damping": 1, "impedance_mode": "fixed", "kp_limits": [0, 300], "damping_limits": [0, 10], "position_limits": null, "orientation_limits": null, "uncouple_pos_ori": true, "control_delta": true, "interpolation": null, "ramp_ratio": 0.2}, "robots": ["Panda", "Panda"], "env_configuration": "single-arm-opposed", "camera_depths": false, "camera_heights": 96, "camera_widths": 96, "reward_shaping": false, "camera_names": ["shouldercamera0", "shouldercamera1"], "render_gpu_device_id": 0}}
|
||||
@@ -0,0 +1 @@
|
||||
{"env_name": "TwoArmTransport", "env_version": "1.4.1", "type": 1, "env_kwargs": {"has_renderer": false, "has_offscreen_renderer": false, "ignore_done": true, "use_object_obs": true, "use_camera_obs": false, "control_freq": 20, "controller_configs": {"type": "OSC_POSE", "input_max": 1, "input_min": -1, "output_max": [0.05, 0.05, 0.05, 0.5, 0.5, 0.5], "output_min": [-0.05, -0.05, -0.05, -0.5, -0.5, -0.5], "kp": 150, "damping": 1, "impedance_mode": "fixed", "kp_limits": [0, 300], "damping_limits": [0, 10], "position_limits": null, "orientation_limits": null, "uncouple_pos_ori": true, "control_delta": true, "interpolation": null, "ramp_ratio": 0.2}, "robots": ["Panda", "Panda"], "env_configuration": "single-arm-opposed", "camera_depths": false, "camera_heights": 84, "camera_widths": 84, "reward_shaping": false}}
|
||||
@@ -0,0 +1,106 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_awr_diffusion_agent.TrainAWRDiffusionAgent
|
||||
|
||||
name: ${env_name}_awr_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/robomimic-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/robomimic-pretrain/can/can_pre_diffusion_mlp_ta4_td20/2024-06-28_13-29-54/checkpoint/state_5000.pt
|
||||
robomimic_env_cfg_path: cfg/robomimic/env_meta/${env_name}.json
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/robomimic/${env_name}/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: can
|
||||
obs_dim: 23
|
||||
action_dim: 7
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
best_reward_threshold_for_success: 1
|
||||
max_episode_steps: 300
|
||||
save_video: false
|
||||
wrappers:
|
||||
robomimic_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
low_dim_keys: ['robot0_eef_pos',
|
||||
'robot0_eef_quat',
|
||||
'robot0_gripper_qpos',
|
||||
'object'] # same order of preprocessed observations
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: robomimic-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 300
|
||||
n_critic_warmup_itr: 2
|
||||
n_steps: 300
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# AWR specific
|
||||
scale_reward_factor: 1
|
||||
max_adv_weight: 100
|
||||
beta: 10
|
||||
buffer_size: 3000
|
||||
batch_size: 256
|
||||
replay_ratio: 64
|
||||
critic_update_ratio: 4
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_awr.AWRDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.10
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,107 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_dipo_diffusion_agent.TrainDIPODiffusionAgent
|
||||
|
||||
name: ${env_name}_dipo_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/robomimic-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/robomimic-pretrain/can/can_pre_diffusion_mlp_ta4_td20/2024-06-28_13-29-54/checkpoint/state_5000.pt
|
||||
robomimic_env_cfg_path: cfg/robomimic/env_meta/${env_name}.json
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/robomimic/${env_name}/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: can
|
||||
obs_dim: 23
|
||||
action_dim: 7
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
best_reward_threshold_for_success: 1
|
||||
max_episode_steps: 300
|
||||
save_video: False
|
||||
wrappers:
|
||||
robomimic_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
low_dim_keys: ['robot0_eef_pos',
|
||||
'robot0_eef_quat',
|
||||
'robot0_gripper_qpos',
|
||||
'object'] # same order of preprocessed observations
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: robomimic-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 300
|
||||
n_critic_warmup_itr: 2
|
||||
n_steps: 300
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# DIPO specific
|
||||
scale_reward_factor: 1
|
||||
eta: 0.0001
|
||||
action_gradient_steps: 10
|
||||
buffer_size: 400000
|
||||
batch_size: 5000
|
||||
replay_ratio: 64
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_dipo.DIPODiffusion
|
||||
# HP to tune
|
||||
min_sampling_denoising_std: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,106 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_dql_diffusion_agent.TrainDQLDiffusionAgent
|
||||
|
||||
name: ${env_name}_dql_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/robomimic-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/robomimic-pretrain/can/can_pre_diffusion_mlp_ta4_td20/2024-06-28_13-29-54/checkpoint/state_5000.pt
|
||||
robomimic_env_cfg_path: cfg/robomimic/env_meta/${env_name}.json
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/robomimic/${env_name}/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: can
|
||||
obs_dim: 23
|
||||
action_dim: 7
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
best_reward_threshold_for_success: 1
|
||||
max_episode_steps: 300
|
||||
save_video: false
|
||||
wrappers:
|
||||
robomimic_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
low_dim_keys: ['robot0_eef_pos',
|
||||
'robot0_eef_quat',
|
||||
'robot0_gripper_qpos',
|
||||
'object'] # same order of preprocessed observations
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: robomimic-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 300
|
||||
n_critic_warmup_itr: 2
|
||||
n_steps: 300
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# DQL specific
|
||||
scale_reward_factor: 1
|
||||
eta: 1.0
|
||||
buffer_size: 400000
|
||||
batch_size: 5000
|
||||
replay_ratio: 64
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_dql.DQLDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
@@ -0,0 +1,115 @@
|
||||
defaults:
|
||||
- _self_
|
||||
hydra:
|
||||
run:
|
||||
dir: ${logdir}
|
||||
_target_: agent.finetune.train_idql_diffusion_agent.TrainIDQLDiffusionAgent
|
||||
|
||||
name: ${env_name}_idql_diffusion_mlp_ta${horizon_steps}_td${denoising_steps}
|
||||
logdir: ${oc.env:DPPO_LOG_DIR}/robomimic-finetune/${name}/${now:%Y-%m-%d}_${now:%H-%M-%S}_${seed}
|
||||
base_policy_path: ${oc.env:DPPO_LOG_DIR}/robomimic-pretrain/can/can_pre_diffusion_mlp_ta4_td20/2024-06-28_13-29-54/checkpoint/state_5000.pt
|
||||
robomimic_env_cfg_path: cfg/robomimic/env_meta/${env_name}.json
|
||||
normalization_path: ${oc.env:DPPO_DATA_DIR}/robomimic/${env_name}/normalization.npz
|
||||
|
||||
seed: 42
|
||||
device: cuda:0
|
||||
env_name: can
|
||||
obs_dim: 23
|
||||
action_dim: 7
|
||||
transition_dim: ${action_dim}
|
||||
denoising_steps: 20
|
||||
cond_steps: 1
|
||||
horizon_steps: 4
|
||||
act_steps: 4
|
||||
|
||||
env:
|
||||
n_envs: 50
|
||||
name: ${env_name}
|
||||
best_reward_threshold_for_success: 1
|
||||
max_episode_steps: 300
|
||||
save_video: False
|
||||
wrappers:
|
||||
robomimic_lowdim:
|
||||
normalization_path: ${normalization_path}
|
||||
low_dim_keys: ['robot0_eef_pos',
|
||||
'robot0_eef_quat',
|
||||
'robot0_gripper_qpos',
|
||||
'object'] # same order of preprocessed observations
|
||||
multi_step:
|
||||
n_obs_steps: ${cond_steps}
|
||||
n_action_steps: ${act_steps}
|
||||
max_episode_steps: ${env.max_episode_steps}
|
||||
reset_within_step: True
|
||||
|
||||
wandb:
|
||||
entity: ${oc.env:DPPO_WANDB_ENTITY}
|
||||
project: robomimic-${env_name}-finetune
|
||||
run: ${now:%H-%M-%S}_${name}
|
||||
|
||||
train:
|
||||
n_train_itr: 300
|
||||
n_critic_warmup_itr: 5
|
||||
n_steps: 300
|
||||
gamma: 0.999
|
||||
actor_lr: 1e-5
|
||||
actor_weight_decay: 0
|
||||
actor_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-5
|
||||
critic_lr: 1e-3
|
||||
critic_weight_decay: 0
|
||||
critic_lr_scheduler:
|
||||
first_cycle_steps: 1000
|
||||
warmup_steps: 10
|
||||
min_lr: 1e-3
|
||||
save_model_freq: 100
|
||||
val_freq: 10
|
||||
render:
|
||||
freq: 1
|
||||
num: 0
|
||||
# IDQL specific
|
||||
scale_reward_factor: 1
|
||||
eval_deterministic: True
|
||||
eval_sample_num: 10 # how many samples to score during eval
|
||||
critic_tau: 0.001 # rate of target q network update
|
||||
use_expectile_exploration: True
|
||||
buffer_size: 3000
|
||||
batch_size: 512
|
||||
replay_ratio: 16
|
||||
|
||||
model:
|
||||
_target_: model.diffusion.diffusion_idql.IDQLDiffusion
|
||||
# Sampling HPs
|
||||
min_sampling_denoising_std: 0.1
|
||||
randn_clip_value: 3
|
||||
#
|
||||
network_path: ${base_policy_path}
|
||||
actor:
|
||||
_target_: model.diffusion.mlp_diffusion.DiffusionMLP
|
||||
time_dim: 16
|
||||
mlp_dims: [512, 512, 512]
|
||||
residual_style: True
|
||||
cond_dim: ${eval:'${obs_dim} * ${cond_steps}'}
|
||||
horizon_steps: ${horizon_steps}
|
||||
transition_dim: ${transition_dim}
|
||||
critic_q:
|
||||
_target_: model.common.critic.CriticObsAct
|
||||
action_dim: ${action_dim}
|
||||
action_steps: ${act_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
critic_v:
|
||||
_target_: model.common.critic.CriticObs
|
||||
obs_dim: ${obs_dim}
|
||||
mlp_dims: [256, 256, 256]
|
||||
activation_type: Mish
|
||||
residual_style: True
|
||||
horizon_steps: ${horizon_steps}
|
||||
obs_dim: ${obs_dim}
|
||||
action_dim: ${action_dim}
|
||||
transition_dim: ${transition_dim}
|
||||
denoising_steps: ${denoising_steps}
|
||||
device: ${device}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user