Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Feature/ddp #13

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
379 changes: 379 additions & 0 deletions config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,379 @@
_target_: diffusion_policy.workspace.train_diffusion_unet_hybrid_workspace.TrainDiffusionUnetHybridWorkspace
checkpoint:
save_last_ckpt: true
save_last_snapshot: false
topk:
format_str: epoch={epoch:04d}-test_mean_score={test_mean_score:.3f}.ckpt
k: 5
mode: max
monitor_key: test_mean_score
dataloader:
batch_size: 64
num_workers: 8
persistent_workers: false
pin_memory: true
shuffle: true
dataset_obs_steps: 2
ema:
_target_: diffusion_policy.model.diffusion.ema_model.EMAModel
inv_gamma: 1.0
max_value: 0.9999
min_value: 0.0
power: 0.75
update_after_step: 0
exp_name: default
horizon: 16
keypoint_visible_rate: 1.0
logging:
group: null
id: null
mode: online
name: 2023.01.03-19.43.07_train_diffusion_unet_hybrid_transport_image
project: diffusion_policy_debug
resume: true
tags:
- train_diffusion_unet_hybrid
- transport_image
- default
multi_run:
run_dir: data/outputs/2023.01.03/19.43.07_train_diffusion_unet_hybrid_transport_image
wandb_name_base: 2023.01.03-19.43.07_train_diffusion_unet_hybrid_transport_image
n_action_steps: 8
n_latency_steps: 0
n_obs_steps: 2
name: train_diffusion_unet_hybrid
obs_as_global_cond: true
optimizer:
_target_: torch.optim.AdamW
betas:
- 0.95
- 0.999
eps: 1.0e-08
lr: 0.0001
weight_decay: 1.0e-06
past_action_visible: false
policy:
_target_: diffusion_policy.policy.diffusion_unet_hybrid_image_policy.DiffusionUnetHybridImagePolicy
cond_predict_scale: true
crop_shape:
- 76
- 76
diffusion_step_embed_dim: 128
down_dims:
- 512
- 1024
- 2048
eval_fixed_crop: true
horizon: 16
kernel_size: 5
n_action_steps: 8
n_groups: 8
n_obs_steps: 2
noise_scheduler:
_target_: diffusers.schedulers.scheduling_ddpm.DDPMScheduler
beta_end: 0.02
beta_schedule: squaredcos_cap_v2
beta_start: 0.0001
clip_sample: true
num_train_timesteps: 100
prediction_type: epsilon
variance_type: fixed_small
num_inference_steps: 100
obs_as_global_cond: true
obs_encoder_group_norm: true
shape_meta:
action:
shape:
- 20
obs:
robot0_eef_pos:
shape:
- 3
robot0_eef_quat:
shape:
- 4
robot0_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot0_gripper_qpos:
shape:
- 2
robot1_eef_pos:
shape:
- 3
robot1_eef_quat:
shape:
- 4
robot1_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot1_gripper_qpos:
shape:
- 2
shouldercamera0_image:
shape:
- 3
- 84
- 84
type: rgb
shouldercamera1_image:
shape:
- 3
- 84
- 84
type: rgb
shape_meta:
action:
shape:
- 20
obs:
robot0_eef_pos:
shape:
- 3
robot0_eef_quat:
shape:
- 4
robot0_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot0_gripper_qpos:
shape:
- 2
robot1_eef_pos:
shape:
- 3
robot1_eef_quat:
shape:
- 4
robot1_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot1_gripper_qpos:
shape:
- 2
shouldercamera0_image:
shape:
- 3
- 84
- 84
type: rgb
shouldercamera1_image:
shape:
- 3
- 84
- 84
type: rgb
task:
abs_action: true
dataset:
_target_: diffusion_policy.dataset.robomimic_replay_image_dataset.RobomimicReplayImageDataset
abs_action: true
dataset_path: data/robomimic/datasets/transport/mh/image_abs.hdf5
horizon: 16
n_obs_steps: 2
pad_after: 7
pad_before: 1
rotation_rep: rotation_6d
seed: 42
shape_meta:
action:
shape:
- 20
obs:
robot0_eef_pos:
shape:
- 3
robot0_eef_quat:
shape:
- 4
robot0_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot0_gripper_qpos:
shape:
- 2
robot1_eef_pos:
shape:
- 3
robot1_eef_quat:
shape:
- 4
robot1_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot1_gripper_qpos:
shape:
- 2
shouldercamera0_image:
shape:
- 3
- 84
- 84
type: rgb
shouldercamera1_image:
shape:
- 3
- 84
- 84
type: rgb
use_cache: false
val_ratio: 0.02
dataset_path: data/robomimic/datasets/transport/mh/image_abs.hdf5
dataset_type: mh
env_runner:
_target_: diffusion_policy.env_runner.robomimic_image_runner.RobomimicImageRunner
abs_action: true
crf: 22
dataset_path: data/robomimic/datasets/transport/mh/image_abs.hdf5
fps: 10
max_steps: 700
n_action_steps: 8
n_envs: 28
n_obs_steps: 2
n_test: 50
n_test_vis: 4
n_train: 6
n_train_vis: 2
past_action: false
render_obs_key: shouldercamera0_image
shape_meta:
action:
shape:
- 20
obs:
robot0_eef_pos:
shape:
- 3
robot0_eef_quat:
shape:
- 4
robot0_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot0_gripper_qpos:
shape:
- 2
robot1_eef_pos:
shape:
- 3
robot1_eef_quat:
shape:
- 4
robot1_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot1_gripper_qpos:
shape:
- 2
shouldercamera0_image:
shape:
- 3
- 84
- 84
type: rgb
shouldercamera1_image:
shape:
- 3
- 84
- 84
type: rgb
test_start_seed: 100000
tqdm_interval_sec: 1.0
train_start_idx: 0
name: transport_image
shape_meta:
action:
shape:
- 20
obs:
robot0_eef_pos:
shape:
- 3
robot0_eef_quat:
shape:
- 4
robot0_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot0_gripper_qpos:
shape:
- 2
robot1_eef_pos:
shape:
- 3
robot1_eef_quat:
shape:
- 4
robot1_eye_in_hand_image:
shape:
- 3
- 84
- 84
type: rgb
robot1_gripper_qpos:
shape:
- 2
shouldercamera0_image:
shape:
- 3
- 84
- 84
type: rgb
shouldercamera1_image:
shape:
- 3
- 84
- 84
type: rgb
task_name: transport
task_name: transport_image
training:
checkpoint_every: 50
debug: false
device: cuda:0
gradient_accumulate_every: 1
lr_scheduler: cosine
lr_warmup_steps: 500
max_train_steps: null
max_val_steps: null
num_epochs: 3000
resume: true
rollout_every: 50
sample_every: 5
seed: 42
tqdm_interval_sec: 1.0
use_ema: true
val_every: 1
val_dataloader:
batch_size: 64
num_workers: 8
persistent_workers: false
pin_memory: true
shuffle: false
Loading