File size: 4,652 Bytes
e53d215 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | name: train_diffusion_unet_teleop_stack_blocks
_target_: memory_diffusion_policy.workspace.train_diffusion_unet_teleop_block_workspace.TrainDiffusionUnetTeleopBlockWorkspace
task_name: ${task.name}
shape_meta: ${task.shape_meta}
exp_name: default
horizon: 16
n_obs_steps: 2
n_action_steps: 8
n_latency_steps: 0
dataset_obs_steps: ${n_obs_steps}
past_action_visible: false
keypoint_visible_rate: 1.0
obs_as_global_cond: true
policy:
_target_: diffusion_policy.policy.diffusion_unet_image_policy.DiffusionUnetImagePolicy
shape_meta: ${shape_meta}
noise_scheduler:
_target_: diffusers.schedulers.scheduling_ddim.DDIMScheduler
num_train_timesteps: 100
beta_start: 0.0001
beta_end: 0.02
beta_schedule: squaredcos_cap_v2
clip_sample: true
set_alpha_to_one: true
steps_offset: 0
prediction_type: epsilon
obs_encoder:
_target_: diffusion_policy.model.vision.multi_image_obs_encoder.MultiImageObsEncoder
shape_meta: ${shape_meta}
rgb_model:
_target_: diffusion_policy.model.vision.model_getter.get_resnet
name: resnet18
weights: null
resize_shape: null
crop_shape:
- 108
- 144
random_crop: true
use_group_norm: true
share_rgb_model: false
imagenet_norm: true
horizon: ${horizon}
n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
n_obs_steps: ${n_obs_steps}
num_inference_steps: 16
obs_as_global_cond: ${obs_as_global_cond}
diffusion_step_embed_dim: 128
down_dims:
- 512
- 1024
- 2048
kernel_size: 5
n_groups: 8
cond_predict_scale: true
ema:
_target_: diffusion_policy.model.diffusion.ema_model.EMAModel
update_after_step: 0
inv_gamma: 1.0
power: 0.75
min_value: 0.0
max_value: 0.9999
dataloader:
batch_size: 64
num_workers: 2
shuffle: true
pin_memory: true
persistent_workers: false
val_dataloader:
batch_size: 64
num_workers: 2
shuffle: false
pin_memory: true
persistent_workers: false
optimizer:
_target_: torch.optim.AdamW
lr: 0.0001
betas:
- 0.95
- 0.999
eps: 1.0e-08
weight_decay: 1.0e-06
training:
device: cuda:0
seed: 42
debug: false
resume: true
lr_scheduler: cosine
lr_warmup_steps: 500
num_epochs: 1502
gradient_accumulate_every: 1
use_ema: true
freeze_encoder: false
rollout_every: 1000000
checkpoint_every: 1
snapshot_every: 100
val_every: 1
sample_every: 100
max_train_steps: null
max_val_steps: null
tqdm_interval_sec: 1.0
logging:
project: teleop_block_dp
resume: true
mode: offline
name: ${name}_${task_name}_${exp_name}
tags:
- ${name}
- ${task_name}
- ${exp_name}
id: null
group: null
checkpoint:
topk:
monitor_key: train_loss
mode: min
k: 0
format_str: epoch={epoch:04d}-train_loss={train_loss:.4f}.ckpt
save_last_ckpt: true
save_last_snapshot: false
multi_run:
run_dir: data/outputs/teleop_block_dp/${name}_${task_name}_${exp_name}
wandb_name_base: ${name}_${task_name}_${exp_name}
task:
name: teleop_stack_blocks_image
image_shape:
- 3
- 120
- 160
dataset_path: data/teleop_stack_blocks/teleop_dataset_20260925_161227/replay_buffer.zarr
action_shift: 1
gripper_range:
- 0.0
- 0.08
quat_order: wxyz
shape_meta:
obs:
img_third:
shape: ${task.image_shape}
type: rgb
img_wrist:
shape: ${task.image_shape}
type: rgb
robot_eef_pose:
shape:
- 9
type: low_dim
gripper_state:
shape:
- 1
type: low_dim
action:
shape:
- 10
env_runner:
_target_: diffusion_policy.env_runner.real_pusht_image_runner.RealPushTImageRunner
dataset:
_target_: memory_diffusion_policy.dataset.teleop_block_image_dataset.TeleopBlockImageDataset
shape_meta:
obs:
img_third:
shape: ${task.image_shape}
type: rgb
img_wrist:
shape: ${task.image_shape}
type: rgb
robot_eef_pose:
shape:
- 9
type: low_dim
gripper_state:
shape:
- 1
type: low_dim
action:
shape:
- 10
dataset_path: ${task.dataset_path}
horizon: ${horizon}
pad_before: ${eval:'${n_obs_steps}-1+${n_latency_steps}'}
pad_after: ${eval:'${n_action_steps}-1'}
n_obs_steps: ${dataset_obs_steps}
n_latency_steps: ${n_latency_steps}
seed: 42
val_ratio: 0.0
max_train_episodes: null
bgr_to_rgb: true
action_shift: ${task.action_shift}
gripper_range: ${task.gripper_range}
image_cache: true
image_cache_path: null
quat_order: ${task.quat_order}
repair_dropouts: true
|