serialexperimentsleon commited on
Commit
787e39b
·
verified ·
1 Parent(s): 4de8157

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +15 -0
  2. 191332/.hydra/config.yaml +349 -0
  3. 191332/.hydra/hydra.yaml +169 -0
  4. 191332/.hydra/overrides.yaml +3 -0
  5. 191332/eval_policy.log +15 -0
  6. 191334/.hydra/config.yaml +349 -0
  7. 191334/.hydra/hydra.yaml +169 -0
  8. 191334/.hydra/overrides.yaml +3 -0
  9. 191334/episode_rosbags/aligned_depth_to_color_K.npy +3 -0
  10. 191334/episode_rosbags/cam_tf_world.npy +3 -0
  11. 191334/episode_rosbags/color_K.npy +3 -0
  12. 191334/episode_rosbags/depth_K.npy +3 -0
  13. 191334/episode_rosbags/episode_0_2024-12-11-19-14-01.bag +3 -0
  14. 191334/episode_rosbags/episode_1_2024-12-11-19-14-40.bag +3 -0
  15. 191334/episode_rosbags/episode_2_2024-12-11-19-15-49.bag +3 -0
  16. 191334/episode_rosbags/episode_3_2024-12-11-19-16-37.bag +3 -0
  17. 191334/episode_rosbags/episode_4_2024-12-11-19-17-19.bag +3 -0
  18. 191334/episode_zarrs/episode_0_2024-12-11-19-14-01.zarr/.zgroup +3 -0
  19. 191334/episode_zarrs/episode_0_2024-12-11-19-14-01.zarr/data/.zgroup +3 -0
  20. 191334/eval_robot.log +12 -0
  21. 191334/eval_video/0_eval.mp4 +3 -0
  22. 191334/eval_video/1_eval.mp4 +3 -0
  23. 191334/eval_video/2_eval.mp4 +3 -0
  24. 191334/eval_video/3_eval.mp4 +3 -0
  25. 191334/eval_video/4_eval.mp4 +3 -0
  26. 191334/tb/events.out.tfevents.1733962421.leonmkim-ROG-Strix-G15CS-G15CS.773302.0 +3 -0
  27. 191334/wandb/debug-internal.log +0 -0
  28. 191334/wandb/debug.log +31 -0
  29. 191334/wandb/run-20241211_191340-l07wa4hd/files/code/FISH/eval_robot.py +512 -0
  30. 191334/wandb/run-20241211_191340-l07wa4hd/files/config.yaml +966 -0
  31. 191334/wandb/run-20241211_191340-l07wa4hd/files/diff.patch +57 -0
  32. 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/0_eval_0_3da136561a2ad42749fd.mp4 +3 -0
  33. 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/1_eval_1_3a45ace652f05385ee75.mp4 +3 -0
  34. 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/2_eval_2_c9cccf7ec7cae45b2fa1.mp4 +3 -0
  35. 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/3_eval_3_334d1f02994a0fcdeda5.mp4 +3 -0
  36. 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/4_eval_4_35283caf4103c3829cd1.mp4 +3 -0
  37. 191334/wandb/run-20241211_191340-l07wa4hd/files/output.log +263 -0
  38. 191334/wandb/run-20241211_191340-l07wa4hd/files/requirements.txt +339 -0
  39. 191334/wandb/run-20241211_191340-l07wa4hd/files/wandb-metadata.json +92 -0
  40. 191334/wandb/run-20241211_191340-l07wa4hd/files/wandb-summary.json +1 -0
  41. 191334/wandb/run-20241211_191340-l07wa4hd/logs/debug-internal.log +0 -0
  42. 191334/wandb/run-20241211_191340-l07wa4hd/logs/debug.log +31 -0
  43. 191334/wandb/run-20241211_191340-l07wa4hd/run-l07wa4hd.wandb +0 -0
  44. config.yaml +453 -0
  45. snapshot_10499.pt +3 -0
  46. snapshot_10500.pt +3 -0
  47. snapshot_11249.pt +3 -0
  48. snapshot_12000.pt +3 -0
  49. snapshot_13500.pt +3 -0
  50. snapshot_14999.pt +3 -0
.gitattributes CHANGED
@@ -33,3 +33,18 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/4_eval_4_35283caf4103c3829cd1.mp4 filter=lfs diff=lfs merge=lfs -text
37
+ 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/3_eval_3_334d1f02994a0fcdeda5.mp4 filter=lfs diff=lfs merge=lfs -text
38
+ 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/1_eval_1_3a45ace652f05385ee75.mp4 filter=lfs diff=lfs merge=lfs -text
39
+ 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/2_eval_2_c9cccf7ec7cae45b2fa1.mp4 filter=lfs diff=lfs merge=lfs -text
40
+ 191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/0_eval_0_3da136561a2ad42749fd.mp4 filter=lfs diff=lfs merge=lfs -text
41
+ 191334/eval_video/3_eval.mp4 filter=lfs diff=lfs merge=lfs -text
42
+ 191334/eval_video/4_eval.mp4 filter=lfs diff=lfs merge=lfs -text
43
+ 191334/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
44
+ 191334/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
45
+ 191334/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
46
+ 191334/episode_rosbags/episode_3_2024-12-11-19-16-37.bag filter=lfs diff=lfs merge=lfs -text
47
+ 191334/episode_rosbags/episode_4_2024-12-11-19-17-19.bag filter=lfs diff=lfs merge=lfs -text
48
+ 191334/episode_rosbags/episode_0_2024-12-11-19-14-01.bag filter=lfs diff=lfs merge=lfs -text
49
+ 191334/episode_rosbags/episode_1_2024-12-11-19-14-40.bag filter=lfs diff=lfs merge=lfs -text
50
+ 191334/episode_rosbags/episode_2_2024-12-11-19-15-49.bag filter=lfs diff=lfs merge=lfs -text
191332/.hydra/config.yaml ADDED
@@ -0,0 +1,349 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ root_dir: /home/${oc.env:USER}/fish_leon
2
+ nstep: 3
3
+ seed: 41
4
+ dataset_shuffle_seed: ${seed}
5
+ device: cuda
6
+ save_video: true
7
+ save_buffer: true
8
+ use_tb: true
9
+ baseline: false
10
+ use_wandb: true
11
+ eval: true
12
+ process_contact_features: ${eval}
13
+ obs_type: pixels
14
+ use_color: true
15
+ use_depth: true
16
+ use_masks: false
17
+ mask_list:
18
+ - EE_obj_mask
19
+ mask_representation: channels
20
+ crop_hw:
21
+ - 144
22
+ - 144
23
+ crop_down_offset: 48
24
+ color_crop_type: null
25
+ depth_crop_type: null
26
+ segmask_crop_type: null
27
+ add_crop_binary_mask: false
28
+ add_coord_conv_map: false
29
+ use_context_color: false
30
+ use_context_depth: false
31
+ use_context_segmask: false
32
+ context_color_crop_type: null
33
+ context_depth_crop_type: null
34
+ context_segmask_crop_type: null
35
+ context_add_crop_binary_mask: false
36
+ context_add_coord_conv_map: false
37
+ use_contact_map: false
38
+ use_sdf_maps: false
39
+ use_normals_maps: false
40
+ which_objects: both
41
+ max_contact_prob: 0.1
42
+ max_depth: 2.0
43
+ grasped_dtc_max_value: 0.105
44
+ env_dtc_max_value: 0.425
45
+ grasped_normals_mask_max_dtc_value: 0.105
46
+ env_normals_mask_max_dtc_value: 0.425
47
+ clamp_dtc: true
48
+ dtc_adaptive_normalization: false
49
+ mask_normals_within_sdf: true
50
+ adaptive_normals_mask: true
51
+ learnable_contact_preprocess_params: false
52
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9
53
+ contact_estimation_model_ckpt_path: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
54
+ num_eval: 5
55
+ debug_timestamps: false
56
+ open_loop: false
57
+ action_trajectories: true
58
+ stop_after_action: false
59
+ interpolation_frequency: 25
60
+ policy_frequency: 5
61
+ wait_for_new_camera_frames: true
62
+ random_start: false
63
+ eval_starts: ${root_dir}/FISH/eval_starts/${suite.name}_${obs_type}/${task_name}
64
+ train_demo_idxs_list_or_num: null
65
+ num_valid_demos: null
66
+ val_num_groups: 3
67
+ name_of_expert_demo: 192_240x320_multiobj_twodim_recovery_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
68
+ expert_dataset_dirpath: ${root_dir}/FISH/expert_demos/${suite.name}/${task_name}/${name_of_expert_demo}
69
+ expert_dataset: ${expert_dataset_dirpath}/demos.zarr
70
+ action_key: ${oc.if_else:${action_trajectories}, 'action_trajectory_${interpolation_frequency}hz',
71
+ 'action'}
72
+ semantic_demo_grouping_name: semantic_demo_grouping.yaml
73
+ semantic_demo_grouping: ${expert_dataset_dirpath}/${semantic_demo_grouping_name}
74
+ expert_dataset_config: ${expert_dataset_dirpath}/demo_config.yaml
75
+ bc_regularize: false
76
+ bc_weight_type: qfilter
77
+ load_checkpoint: ${agent.load_checkpoint}
78
+ wandb_run_id: '266406_0'
79
+ true_action_history: false
80
+ wandb_notes: null
81
+ checkpoint_epoch: 12000
82
+ load_residual_weight: false
83
+ checkpoint_root_dir: /home/${oc.env:USER}/fish_leon/FISH
84
+ checkpoint_weight_dir: ${checkpoint_root_dir}/exp_local/${suite.name}_${obs_type}/${task_name}/${wandb_run_id}
85
+ residual_weight: ${root_dir}/FISH/weights/${suite.name}_${obs_type}/${task_name}/weight.pt
86
+ experiment_dir: ./exp_local/${suite.name}_${obs_type}/${task_name}/${wandb_run_id}
87
+ agent:
88
+ _target_: agent.diffusion_policy.DiffusionPolicyAgent
89
+ name: diffusion_policy
90
+ load_checkpoint: ${eval}
91
+ device: ${device}
92
+ n_obs_steps: ${.config.policy_cfg.n_obs_steps}
93
+ suite_name: ${suite.name}
94
+ obs_type: ${obs_type}
95
+ enable_arm: ${eval}
96
+ enable_camera: ${eval}
97
+ use_tb: ${use_tb}
98
+ desired_image_shape:
99
+ - 13
100
+ - 180
101
+ - 240
102
+ orig_cam_shape:
103
+ - 3
104
+ - 240
105
+ - 320
106
+ config:
107
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
108
+ compile: false
109
+ device: ${device}
110
+ cam_resize_shape: ${agent.desired_image_shape}
111
+ orig_cam_shape: ${agent.orig_cam_shape}
112
+ policy_frequency: ${policy_frequency}
113
+ interpolation_frequency: ${interpolation_frequency}
114
+ policy_cfg:
115
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
116
+ n_obs_steps: 1
117
+ horizon: 36
118
+ n_action_steps: ${agent.config.policy_cfg.horizon}
119
+ input_shapes:
120
+ observation.image: ${agent.config.cam_resize_shape}
121
+ context_observation.image: ${agent.config.cam_resize_shape}
122
+ observation.state:
123
+ - 8
124
+ observation.action_history:
125
+ - 7
126
+ output_shapes:
127
+ action:
128
+ - 7
129
+ input_normalization_modes:
130
+ observation.image: mean_std
131
+ observation.state: min_max
132
+ observation.action_history: min_max
133
+ output_normalization_modes:
134
+ action: min_max
135
+ vision_backbone: resnet18
136
+ pretrained_backbone_weights: null
137
+ transforms:
138
+ - _target_: torchaug.transforms.RandomAffine
139
+ degrees:
140
+ - -5
141
+ - 5
142
+ translate:
143
+ - 0.05
144
+ - 0.05
145
+ batch_transform: true
146
+ num_chunks: -1
147
+ batch_inplace: true
148
+ - _target_: torchaug.transforms.RandomColorJitter
149
+ brightness: 0.3
150
+ contrast: 0.4
151
+ saturation: 0.5
152
+ hue: 0.08
153
+ batch_transform: true
154
+ num_chunks: -1
155
+ batch_inplace: true
156
+ use_group_norm: true
157
+ spatial_softmax_num_keypoints: 32
158
+ action_history_encoder_config:
159
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
160
+ in_channels: 7
161
+ out_channels: 32
162
+ history_length: ${agent.config.policy_cfg.n_action_steps}
163
+ kernel_size: ${agent.config.policy_cfg.kernel_size}
164
+ downsample_kernel_size: 3
165
+ downsample_stride: 2
166
+ downsample_padding: 1
167
+ down_dims:
168
+ - 256
169
+ - 512
170
+ - 1024
171
+ kernel_size: 5
172
+ n_groups: 8
173
+ diffusion_step_embed_dim: 128
174
+ use_film_scale_modulation: true
175
+ noise_scheduler_type: DDIM
176
+ beta_schedule: squaredcos_cap_v2
177
+ beta_start: 0.0001
178
+ beta_end: 0.02
179
+ prediction_type: epsilon
180
+ clip_sample: true
181
+ clip_sample_range: 1.0
182
+ num_train_timesteps: 50
183
+ num_inference_steps: 10
184
+ do_mask_loss_for_padding: false
185
+ train_cfg:
186
+ _target_: utils.TrainConfig
187
+ lr: 0.0001
188
+ lr_scheduler: cosine
189
+ lr_warmup_steps: 500
190
+ adam_betas:
191
+ - 0.95
192
+ - 0.999
193
+ adam_eps: 1.0e-08
194
+ adam_weight_decay: 1.0e-06
195
+ grad_clip_norm: 10
196
+ offline_steps: ${num_train_frames_diffusion}
197
+ use_amp: true
198
+ observation_cfg:
199
+ _target_: agent.encoder.VisualFeatureSet
200
+ use_depth: ${use_depth}
201
+ use_color: ${use_color}
202
+ mask_input_dict:
203
+ _target_: agent.encoder.MaskInputDict
204
+ enable: ${use_masks}
205
+ representation: ${mask_representation}
206
+ mask_list: ${mask_list}
207
+ crop_input_config:
208
+ _target_: agent.encoder.CropInputConfig
209
+ color_crop_type: ${color_crop_type}
210
+ depth_crop_type: ${depth_crop_type}
211
+ segmask_crop_type: ${segmask_crop_type}
212
+ crop_hw: ${crop_hw}
213
+ crop_down_offset: ${crop_down_offset}
214
+ add_crop_binary_mask: ${add_crop_binary_mask}
215
+ add_coord_conv_map: ${add_coord_conv_map}
216
+ context_input_config:
217
+ _target_: agent.encoder.ContextInputConfig
218
+ use_color: ${use_context_color}
219
+ use_depth: ${use_context_depth}
220
+ mask_input_dict:
221
+ _target_: agent.encoder.MaskInputDict
222
+ enable: ${use_context_segmask}
223
+ representation: ${mask_representation}
224
+ mask_list: ${mask_list}
225
+ crop_input_config:
226
+ _target_: agent.encoder.CropInputConfig
227
+ color_crop_type: ${context_color_crop_type}
228
+ depth_crop_type: ${context_depth_crop_type}
229
+ segmask_crop_type: ${context_segmask_crop_type}
230
+ crop_hw: ${crop_hw}
231
+ crop_down_offset: ${crop_down_offset}
232
+ add_crop_binary_mask: ${context_add_crop_binary_mask}
233
+ add_coord_conv_map: ${context_add_coord_conv_map}
234
+ mask_soft_approx_scheduler_config:
235
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
236
+ num_steps: 40000
237
+ initial_value: 10.0
238
+ final_value: 1000.0
239
+ interpolation_scheme: constant
240
+ use_contact_map: ${use_contact_map}
241
+ use_sdf_maps: ${use_sdf_maps}
242
+ use_normals_maps: ${use_normals_maps}
243
+ which_objects: ${which_objects}
244
+ grasped_dtc_max_value: ${grasped_dtc_max_value}
245
+ env_dtc_max_value: ${env_dtc_max_value}
246
+ grasped_normals_mask_max_dtc_value: ${grasped_normals_mask_max_dtc_value}
247
+ env_normals_mask_max_dtc_value: ${env_normals_mask_max_dtc_value}
248
+ clamp_dtc: ${clamp_dtc}
249
+ max_contact_prob: ${max_contact_prob}
250
+ mask_normals_within_sdf: ${mask_normals_within_sdf}
251
+ dtc_adaptive_normalization: ${dtc_adaptive_normalization}
252
+ adaptive_normals_mask: ${adaptive_normals_mask}
253
+ max_depth: ${max_depth}
254
+ image_shape: ${agent.desired_image_shape}
255
+ learnable_contact_preprocess_params: ${learnable_contact_preprocess_params}
256
+ learning_rate: ${agent.config.train_cfg.lr}
257
+ weight_decay: 0.0
258
+ contact_model_name: ${contact_model_name}
259
+ zero_centered: false
260
+ suite:
261
+ suite: frankagym
262
+ name: frankagym
263
+ frame_stack: ${agent.n_obs_steps}
264
+ action_repeat: 1
265
+ discount: 0.99
266
+ hidden_dim: 1024
267
+ num_train_frames: 2010
268
+ num_seed_frames: 260
269
+ num_train_epochs: 5000
270
+ validate_every_epochs: 100
271
+ validate_diffusion_on_action_loss_every_epochs: 500
272
+ train_eval_diffusion_on_action_loss_every_epochs: 500
273
+ check_topk_every_epochs: 10
274
+ save_snapshot_every_epochs: 5000
275
+ eval_every_frames: 2000
276
+ num_eval_episodes: 5
277
+ save_snapshot: true
278
+ wait_for_user_to_start_episode: true
279
+ task_make_fn:
280
+ _target_: suite.frankagym.make
281
+ name: ${task_name}
282
+ height: 240
283
+ width: 320
284
+ frame_stack: ${suite.frame_stack}
285
+ action_repeat: ${suite.action_repeat}
286
+ seed: ${seed}
287
+ enable_arm: ${agent.enable_arm}
288
+ enable_gripper: ${enable_gripper}
289
+ start_with_gripper_open: ${start_with_gripper_open}
290
+ enable_camera: ${agent.enable_camera}
291
+ path_to_depth_extrinsics: ${path_to_depth_extrinsics}
292
+ contact_estimation_model_ckpt_path: ${contact_estimation_model_ckpt_path}
293
+ x_limit: ${x_limit}
294
+ y_limit: ${y_limit}
295
+ z_limit: ${z_limit}
296
+ device: ${device}
297
+ interpolation_frequency: ${interpolation_frequency}
298
+ policy_frequency: ${policy_frequency}
299
+ debug_timestamps: ${debug_timestamps}
300
+ stop_after_action: ${stop_after_action}
301
+ open_loop: ${open_loop}
302
+ wait_for_new_camera_frames: ${wait_for_new_camera_frames}
303
+ action_key: ${action_key}
304
+ action_trajectory_horizon: ${agent.config.policy_cfg.horizon}
305
+ action_trajectories: ${action_trajectories}
306
+ path_to_zarr_dataset: ${expert_dataset}
307
+ agent_policy_cfg: ???
308
+ true_action_history: ${true_action_history}
309
+ num_train_frames_bc: 50000
310
+ num_train_frames_drq: 1100000
311
+ stddev_schedule_drq: linear(1.0,0.1,100000)
312
+ task_name: FrankaInsertion-v1
313
+ num_train_frames_vinn: 25000
314
+ num_train_frames_diffusion: 1000000
315
+ num_train_epochs_bc: 5000
316
+ num_train_epochs_diffusion: 5000
317
+ validate_every_epochs_bc: 5
318
+ validate_every_epochs_diffusion: 25
319
+ validate_diffusion_on_action_loss_every_epochs: 50
320
+ train_eval_diffusion_on_action_loss_every_epochs: 500
321
+ check_topk_every_epochs: 5
322
+ check_topk_every_epochs_diffusion: ${validate_diffusion_on_action_loss_every_epochs}
323
+ save_snapshot_every_epochs_diffusion: 5000
324
+ x_limit:
325
+ - 0.2
326
+ - 0.7
327
+ y_limit:
328
+ - -0.4
329
+ - 0.4
330
+ z_limit:
331
+ - -0.05
332
+ - 0.55
333
+ home_displacement:
334
+ - 0.55
335
+ - 0.0
336
+ - 0.55
337
+ - 180.0
338
+ - 0.0
339
+ - 0.0
340
+ enable_gripper: true
341
+ start_with_gripper_open: true
342
+ offset_mask:
343
+ - 1
344
+ - 1
345
+ - 1
346
+ - 1
347
+ - 1
348
+ - 1
349
+ path_to_depth_extrinsics: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
191332/.hydra/hydra.yaml ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: ${experiment_dir}/${now:%H%M%S}
4
+ sweep:
5
+ dir: ${experiment_dir}/${now:%H%M%S}
6
+ subdir: ${hydra.job.num}
7
+ launcher:
8
+ submitit_folder: ${experiment_dir}/${now:%H%M%S}/.slurm
9
+ timeout_min: 60
10
+ cpus_per_task: null
11
+ gpus_per_node: null
12
+ tasks_per_node: 1
13
+ mem_gb: null
14
+ nodes: 1
15
+ name: ${hydra.job.name}
16
+ stderr_to_stdout: false
17
+ _target_: hydra_plugins.hydra_submitit_launcher.submitit_launcher.LocalLauncher
18
+ sweeper:
19
+ _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper
20
+ max_batch_size: null
21
+ params: null
22
+ help:
23
+ app_name: ${hydra.job.name}
24
+ header: '${hydra.help.app_name} is powered by Hydra.
25
+
26
+ '
27
+ footer: 'Powered by Hydra (https://hydra.cc)
28
+
29
+ Use --hydra-help to view Hydra specific help
30
+
31
+ '
32
+ template: '${hydra.help.header}
33
+
34
+ == Configuration groups ==
35
+
36
+ Compose your configuration from those groups (group=option)
37
+
38
+
39
+ $APP_CONFIG_GROUPS
40
+
41
+
42
+ == Config ==
43
+
44
+ Override anything in the config (foo.bar=value)
45
+
46
+
47
+ $CONFIG
48
+
49
+
50
+ ${hydra.help.footer}
51
+
52
+ '
53
+ hydra_help:
54
+ template: 'Hydra (${hydra.runtime.version})
55
+
56
+ See https://hydra.cc for more info.
57
+
58
+
59
+ == Flags ==
60
+
61
+ $FLAGS_HELP
62
+
63
+
64
+ == Configuration groups ==
65
+
66
+ Compose your configuration from those groups (For example, append hydra/job_logging=disabled
67
+ to command line)
68
+
69
+
70
+ $HYDRA_CONFIG_GROUPS
71
+
72
+
73
+ Use ''--cfg hydra'' to Show the Hydra config.
74
+
75
+ '
76
+ hydra_help: ???
77
+ hydra_logging:
78
+ version: 1
79
+ formatters:
80
+ simple:
81
+ format: '[%(asctime)s][HYDRA] %(message)s'
82
+ handlers:
83
+ console:
84
+ class: logging.StreamHandler
85
+ formatter: simple
86
+ stream: ext://sys.stdout
87
+ root:
88
+ level: INFO
89
+ handlers:
90
+ - console
91
+ loggers:
92
+ logging_example:
93
+ level: DEBUG
94
+ disable_existing_loggers: false
95
+ job_logging:
96
+ version: 1
97
+ formatters:
98
+ simple:
99
+ format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s'
100
+ handlers:
101
+ console:
102
+ class: logging.StreamHandler
103
+ formatter: simple
104
+ stream: ext://sys.stdout
105
+ file:
106
+ class: logging.FileHandler
107
+ formatter: simple
108
+ filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log
109
+ root:
110
+ level: INFO
111
+ handlers:
112
+ - console
113
+ - file
114
+ disable_existing_loggers: false
115
+ env: {}
116
+ mode: RUN
117
+ searchpath: []
118
+ callbacks: {}
119
+ output_subdir: .hydra
120
+ overrides:
121
+ hydra:
122
+ - hydra.mode=RUN
123
+ task:
124
+ - agent=diffusion
125
+ - suite=frankagym
126
+ - suite/frankagym_task@_global_=insertion
127
+ job:
128
+ name: eval_policy
129
+ chdir: true
130
+ override_dirname: agent=diffusion,suite/frankagym_task@_global_=insertion,suite=frankagym
131
+ id: ???
132
+ num: ???
133
+ config_name: config_eval
134
+ env_set: {}
135
+ env_copy: []
136
+ config:
137
+ override_dirname:
138
+ kv_sep: '='
139
+ item_sep: ','
140
+ exclude_keys: []
141
+ runtime:
142
+ version: 1.3.2
143
+ version_base: '1.1'
144
+ cwd: /home/leonmkim/fish_leon/FISH
145
+ config_sources:
146
+ - path: hydra.conf
147
+ schema: pkg
148
+ provider: hydra
149
+ - path: /home/leonmkim/fish_leon/FISH/cfgs
150
+ schema: file
151
+ provider: main
152
+ - path: ''
153
+ schema: structured
154
+ provider: schema
155
+ output_dir: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191332
156
+ choices:
157
+ suite: frankagym
158
+ suite/frankagym_task@_global_: insertion
159
+ agent: diffusion
160
+ hydra/env: default
161
+ hydra/callbacks: null
162
+ hydra/job_logging: default
163
+ hydra/hydra_logging: default
164
+ hydra/hydra_help: default
165
+ hydra/help: default
166
+ hydra/sweeper: basic
167
+ hydra/launcher: submitit_local
168
+ hydra/output: default
169
+ verbose: false
191332/.hydra/overrides.yaml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ - agent=diffusion
2
+ - suite=frankagym
3
+ - suite/frankagym_task@_global_=insertion
191332/eval_policy.log ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [2024-12-11 19:13:32,823][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_policy.py:428: UserWarning:
2
+ The version_base parameter is not specified.
3
+ Please specify a compatability version level, or None.
4
+ Will assume defaults for version 1.1
5
+ @hydra.main(config_path='cfgs', config_name='config_eval')
6
+
7
+ [2024-12-11 19:13:32,826][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_policy.py:365: UserWarning:
8
+ The version_base parameter is not specified.
9
+ Please specify a compatability version level, or None.
10
+ Will assume defaults for version 1.1
11
+ hydra.initialize(
12
+
13
+ [2024-12-11 19:13:36,207][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_policy.py:414: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
14
+ payload = torch.load(f)
15
+
191334/.hydra/config.yaml ADDED
@@ -0,0 +1,349 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ root_dir: /home/${oc.env:USER}/fish_leon
2
+ nstep: 3
3
+ seed: 41
4
+ dataset_shuffle_seed: ${seed}
5
+ device: cuda
6
+ save_video: true
7
+ save_buffer: true
8
+ use_tb: true
9
+ baseline: false
10
+ use_wandb: true
11
+ eval: true
12
+ process_contact_features: ${eval}
13
+ obs_type: pixels
14
+ use_color: true
15
+ use_depth: true
16
+ use_masks: false
17
+ mask_list:
18
+ - EE_obj_mask
19
+ mask_representation: channels
20
+ crop_hw:
21
+ - 144
22
+ - 144
23
+ crop_down_offset: 48
24
+ color_crop_type: null
25
+ depth_crop_type: null
26
+ segmask_crop_type: null
27
+ add_crop_binary_mask: false
28
+ add_coord_conv_map: false
29
+ use_context_color: false
30
+ use_context_depth: false
31
+ use_context_segmask: false
32
+ context_color_crop_type: null
33
+ context_depth_crop_type: null
34
+ context_segmask_crop_type: null
35
+ context_add_crop_binary_mask: false
36
+ context_add_coord_conv_map: false
37
+ use_contact_map: false
38
+ use_sdf_maps: false
39
+ use_normals_maps: false
40
+ which_objects: both
41
+ max_contact_prob: 0.1
42
+ max_depth: 2.0
43
+ grasped_dtc_max_value: 0.105
44
+ env_dtc_max_value: 0.425
45
+ grasped_normals_mask_max_dtc_value: 0.105
46
+ env_normals_mask_max_dtc_value: 0.425
47
+ clamp_dtc: true
48
+ dtc_adaptive_normalization: false
49
+ mask_normals_within_sdf: true
50
+ adaptive_normals_mask: true
51
+ learnable_contact_preprocess_params: false
52
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9
53
+ contact_estimation_model_ckpt_path: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
54
+ num_eval: 5
55
+ debug_timestamps: false
56
+ open_loop: false
57
+ action_trajectories: true
58
+ stop_after_action: false
59
+ interpolation_frequency: 25
60
+ policy_frequency: 5
61
+ wait_for_new_camera_frames: true
62
+ random_start: false
63
+ eval_starts: ${root_dir}/FISH/eval_starts/${suite.name}_${obs_type}/${task_name}
64
+ train_demo_idxs_list_or_num: null
65
+ num_valid_demos: null
66
+ val_num_groups: 3
67
+ name_of_expert_demo: 192_240x320_multiobj_twodim_recovery_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
68
+ expert_dataset_dirpath: ${root_dir}/FISH/expert_demos/${suite.name}/${task_name}/${name_of_expert_demo}
69
+ expert_dataset: ${expert_dataset_dirpath}/demos.zarr
70
+ action_key: ${oc.if_else:${action_trajectories}, 'action_trajectory_${interpolation_frequency}hz',
71
+ 'action'}
72
+ semantic_demo_grouping_name: semantic_demo_grouping.yaml
73
+ semantic_demo_grouping: ${expert_dataset_dirpath}/${semantic_demo_grouping_name}
74
+ expert_dataset_config: ${expert_dataset_dirpath}/demo_config.yaml
75
+ bc_regularize: false
76
+ bc_weight_type: qfilter
77
+ load_checkpoint: ${agent.load_checkpoint}
78
+ wandb_run_id: '266406_0'
79
+ true_action_history: false
80
+ wandb_notes: null
81
+ checkpoint_epoch: 12000
82
+ load_residual_weight: false
83
+ checkpoint_root_dir: /home/${oc.env:USER}/fish_leon/FISH
84
+ checkpoint_weight_dir: ${checkpoint_root_dir}/exp_local/${suite.name}_${obs_type}/${task_name}/${wandb_run_id}
85
+ residual_weight: ${root_dir}/FISH/weights/${suite.name}_${obs_type}/${task_name}/weight.pt
86
+ experiment_dir: ./exp_local/${suite.name}_${obs_type}/${task_name}/${wandb_run_id}
87
+ agent:
88
+ _target_: agent.diffusion_policy.DiffusionPolicyAgent
89
+ name: diffusion_policy
90
+ load_checkpoint: ${eval}
91
+ device: ${device}
92
+ n_obs_steps: ${.config.policy_cfg.n_obs_steps}
93
+ suite_name: ${suite.name}
94
+ obs_type: ${obs_type}
95
+ enable_arm: ${eval}
96
+ enable_camera: ${eval}
97
+ use_tb: ${use_tb}
98
+ desired_image_shape:
99
+ - 13
100
+ - 180
101
+ - 240
102
+ orig_cam_shape:
103
+ - 3
104
+ - 240
105
+ - 320
106
+ config:
107
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
108
+ compile: false
109
+ device: ${device}
110
+ cam_resize_shape: ${agent.desired_image_shape}
111
+ orig_cam_shape: ${agent.orig_cam_shape}
112
+ policy_frequency: ${policy_frequency}
113
+ interpolation_frequency: ${interpolation_frequency}
114
+ policy_cfg:
115
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
116
+ n_obs_steps: 1
117
+ horizon: 36
118
+ n_action_steps: ${agent.config.policy_cfg.horizon}
119
+ input_shapes:
120
+ observation.image: ${agent.config.cam_resize_shape}
121
+ context_observation.image: ${agent.config.cam_resize_shape}
122
+ observation.state:
123
+ - 8
124
+ observation.action_history:
125
+ - 7
126
+ output_shapes:
127
+ action:
128
+ - 7
129
+ input_normalization_modes:
130
+ observation.image: mean_std
131
+ observation.state: min_max
132
+ observation.action_history: min_max
133
+ output_normalization_modes:
134
+ action: min_max
135
+ vision_backbone: resnet18
136
+ pretrained_backbone_weights: null
137
+ transforms:
138
+ - _target_: torchaug.transforms.RandomAffine
139
+ degrees:
140
+ - -5
141
+ - 5
142
+ translate:
143
+ - 0.05
144
+ - 0.05
145
+ batch_transform: true
146
+ num_chunks: -1
147
+ batch_inplace: true
148
+ - _target_: torchaug.transforms.RandomColorJitter
149
+ brightness: 0.3
150
+ contrast: 0.4
151
+ saturation: 0.5
152
+ hue: 0.08
153
+ batch_transform: true
154
+ num_chunks: -1
155
+ batch_inplace: true
156
+ use_group_norm: true
157
+ spatial_softmax_num_keypoints: 32
158
+ action_history_encoder_config:
159
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
160
+ in_channels: 7
161
+ out_channels: 32
162
+ history_length: ${agent.config.policy_cfg.n_action_steps}
163
+ kernel_size: ${agent.config.policy_cfg.kernel_size}
164
+ downsample_kernel_size: 3
165
+ downsample_stride: 2
166
+ downsample_padding: 1
167
+ down_dims:
168
+ - 256
169
+ - 512
170
+ - 1024
171
+ kernel_size: 5
172
+ n_groups: 8
173
+ diffusion_step_embed_dim: 128
174
+ use_film_scale_modulation: true
175
+ noise_scheduler_type: DDIM
176
+ beta_schedule: squaredcos_cap_v2
177
+ beta_start: 0.0001
178
+ beta_end: 0.02
179
+ prediction_type: epsilon
180
+ clip_sample: true
181
+ clip_sample_range: 1.0
182
+ num_train_timesteps: 50
183
+ num_inference_steps: 10
184
+ do_mask_loss_for_padding: false
185
+ train_cfg:
186
+ _target_: utils.TrainConfig
187
+ lr: 0.0001
188
+ lr_scheduler: cosine
189
+ lr_warmup_steps: 500
190
+ adam_betas:
191
+ - 0.95
192
+ - 0.999
193
+ adam_eps: 1.0e-08
194
+ adam_weight_decay: 1.0e-06
195
+ grad_clip_norm: 10
196
+ offline_steps: ${num_train_frames_diffusion}
197
+ use_amp: true
198
+ observation_cfg:
199
+ _target_: agent.encoder.VisualFeatureSet
200
+ use_depth: ${use_depth}
201
+ use_color: ${use_color}
202
+ mask_input_dict:
203
+ _target_: agent.encoder.MaskInputDict
204
+ enable: ${use_masks}
205
+ representation: ${mask_representation}
206
+ mask_list: ${mask_list}
207
+ crop_input_config:
208
+ _target_: agent.encoder.CropInputConfig
209
+ color_crop_type: ${color_crop_type}
210
+ depth_crop_type: ${depth_crop_type}
211
+ segmask_crop_type: ${segmask_crop_type}
212
+ crop_hw: ${crop_hw}
213
+ crop_down_offset: ${crop_down_offset}
214
+ add_crop_binary_mask: ${add_crop_binary_mask}
215
+ add_coord_conv_map: ${add_coord_conv_map}
216
+ context_input_config:
217
+ _target_: agent.encoder.ContextInputConfig
218
+ use_color: ${use_context_color}
219
+ use_depth: ${use_context_depth}
220
+ mask_input_dict:
221
+ _target_: agent.encoder.MaskInputDict
222
+ enable: ${use_context_segmask}
223
+ representation: ${mask_representation}
224
+ mask_list: ${mask_list}
225
+ crop_input_config:
226
+ _target_: agent.encoder.CropInputConfig
227
+ color_crop_type: ${context_color_crop_type}
228
+ depth_crop_type: ${context_depth_crop_type}
229
+ segmask_crop_type: ${context_segmask_crop_type}
230
+ crop_hw: ${crop_hw}
231
+ crop_down_offset: ${crop_down_offset}
232
+ add_crop_binary_mask: ${context_add_crop_binary_mask}
233
+ add_coord_conv_map: ${context_add_coord_conv_map}
234
+ mask_soft_approx_scheduler_config:
235
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
236
+ num_steps: 40000
237
+ initial_value: 10.0
238
+ final_value: 1000.0
239
+ interpolation_scheme: constant
240
+ use_contact_map: ${use_contact_map}
241
+ use_sdf_maps: ${use_sdf_maps}
242
+ use_normals_maps: ${use_normals_maps}
243
+ which_objects: ${which_objects}
244
+ grasped_dtc_max_value: ${grasped_dtc_max_value}
245
+ env_dtc_max_value: ${env_dtc_max_value}
246
+ grasped_normals_mask_max_dtc_value: ${grasped_normals_mask_max_dtc_value}
247
+ env_normals_mask_max_dtc_value: ${env_normals_mask_max_dtc_value}
248
+ clamp_dtc: ${clamp_dtc}
249
+ max_contact_prob: ${max_contact_prob}
250
+ mask_normals_within_sdf: ${mask_normals_within_sdf}
251
+ dtc_adaptive_normalization: ${dtc_adaptive_normalization}
252
+ adaptive_normals_mask: ${adaptive_normals_mask}
253
+ max_depth: ${max_depth}
254
+ image_shape: ${agent.desired_image_shape}
255
+ learnable_contact_preprocess_params: ${learnable_contact_preprocess_params}
256
+ learning_rate: ${agent.config.train_cfg.lr}
257
+ weight_decay: 0.0
258
+ contact_model_name: ${contact_model_name}
259
+ zero_centered: false
260
+ suite:
261
+ suite: frankagym
262
+ name: frankagym
263
+ frame_stack: ${agent.n_obs_steps}
264
+ action_repeat: 1
265
+ discount: 0.99
266
+ hidden_dim: 1024
267
+ num_train_frames: 2010
268
+ num_seed_frames: 260
269
+ num_train_epochs: 5000
270
+ validate_every_epochs: 100
271
+ validate_diffusion_on_action_loss_every_epochs: 500
272
+ train_eval_diffusion_on_action_loss_every_epochs: 500
273
+ check_topk_every_epochs: 10
274
+ save_snapshot_every_epochs: 5000
275
+ eval_every_frames: 2000
276
+ num_eval_episodes: 5
277
+ save_snapshot: true
278
+ wait_for_user_to_start_episode: true
279
+ task_make_fn:
280
+ _target_: suite.frankagym.make
281
+ name: ${task_name}
282
+ height: 240
283
+ width: 320
284
+ frame_stack: ${suite.frame_stack}
285
+ action_repeat: ${suite.action_repeat}
286
+ seed: ${seed}
287
+ enable_arm: ${agent.enable_arm}
288
+ enable_gripper: ${enable_gripper}
289
+ start_with_gripper_open: ${start_with_gripper_open}
290
+ enable_camera: ${agent.enable_camera}
291
+ path_to_depth_extrinsics: ${path_to_depth_extrinsics}
292
+ contact_estimation_model_ckpt_path: ${contact_estimation_model_ckpt_path}
293
+ x_limit: ${x_limit}
294
+ y_limit: ${y_limit}
295
+ z_limit: ${z_limit}
296
+ device: ${device}
297
+ interpolation_frequency: ${interpolation_frequency}
298
+ policy_frequency: ${policy_frequency}
299
+ debug_timestamps: ${debug_timestamps}
300
+ stop_after_action: ${stop_after_action}
301
+ open_loop: ${open_loop}
302
+ wait_for_new_camera_frames: ${wait_for_new_camera_frames}
303
+ action_key: ${action_key}
304
+ action_trajectory_horizon: ${agent.config.policy_cfg.horizon}
305
+ action_trajectories: ${action_trajectories}
306
+ path_to_zarr_dataset: ${expert_dataset}
307
+ agent_policy_cfg: ???
308
+ true_action_history: ${true_action_history}
309
+ num_train_frames_bc: 50000
310
+ num_train_frames_drq: 1100000
311
+ stddev_schedule_drq: linear(1.0,0.1,100000)
312
+ task_name: FrankaInsertion-v1
313
+ num_train_frames_vinn: 25000
314
+ num_train_frames_diffusion: 1000000
315
+ num_train_epochs_bc: 5000
316
+ num_train_epochs_diffusion: 5000
317
+ validate_every_epochs_bc: 5
318
+ validate_every_epochs_diffusion: 25
319
+ validate_diffusion_on_action_loss_every_epochs: 50
320
+ train_eval_diffusion_on_action_loss_every_epochs: 500
321
+ check_topk_every_epochs: 5
322
+ check_topk_every_epochs_diffusion: ${validate_diffusion_on_action_loss_every_epochs}
323
+ save_snapshot_every_epochs_diffusion: 5000
324
+ x_limit:
325
+ - 0.2
326
+ - 0.7
327
+ y_limit:
328
+ - -0.4
329
+ - 0.4
330
+ z_limit:
331
+ - -0.05
332
+ - 0.55
333
+ home_displacement:
334
+ - 0.55
335
+ - 0.0
336
+ - 0.55
337
+ - 180.0
338
+ - 0.0
339
+ - 0.0
340
+ enable_gripper: true
341
+ start_with_gripper_open: true
342
+ offset_mask:
343
+ - 1
344
+ - 1
345
+ - 1
346
+ - 1
347
+ - 1
348
+ - 1
349
+ path_to_depth_extrinsics: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
191334/.hydra/hydra.yaml ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: ${experiment_dir}/${now:%H%M%S}
4
+ sweep:
5
+ dir: ${experiment_dir}/${now:%H%M%S}
6
+ subdir: ${hydra.job.num}
7
+ launcher:
8
+ submitit_folder: ${experiment_dir}/${now:%H%M%S}/.slurm
9
+ timeout_min: 60
10
+ cpus_per_task: null
11
+ gpus_per_node: null
12
+ tasks_per_node: 1
13
+ mem_gb: null
14
+ nodes: 1
15
+ name: ${hydra.job.name}
16
+ stderr_to_stdout: false
17
+ _target_: hydra_plugins.hydra_submitit_launcher.submitit_launcher.LocalLauncher
18
+ sweeper:
19
+ _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper
20
+ max_batch_size: null
21
+ params: null
22
+ help:
23
+ app_name: ${hydra.job.name}
24
+ header: '${hydra.help.app_name} is powered by Hydra.
25
+
26
+ '
27
+ footer: 'Powered by Hydra (https://hydra.cc)
28
+
29
+ Use --hydra-help to view Hydra specific help
30
+
31
+ '
32
+ template: '${hydra.help.header}
33
+
34
+ == Configuration groups ==
35
+
36
+ Compose your configuration from those groups (group=option)
37
+
38
+
39
+ $APP_CONFIG_GROUPS
40
+
41
+
42
+ == Config ==
43
+
44
+ Override anything in the config (foo.bar=value)
45
+
46
+
47
+ $CONFIG
48
+
49
+
50
+ ${hydra.help.footer}
51
+
52
+ '
53
+ hydra_help:
54
+ template: 'Hydra (${hydra.runtime.version})
55
+
56
+ See https://hydra.cc for more info.
57
+
58
+
59
+ == Flags ==
60
+
61
+ $FLAGS_HELP
62
+
63
+
64
+ == Configuration groups ==
65
+
66
+ Compose your configuration from those groups (For example, append hydra/job_logging=disabled
67
+ to command line)
68
+
69
+
70
+ $HYDRA_CONFIG_GROUPS
71
+
72
+
73
+ Use ''--cfg hydra'' to Show the Hydra config.
74
+
75
+ '
76
+ hydra_help: ???
77
+ hydra_logging:
78
+ version: 1
79
+ formatters:
80
+ simple:
81
+ format: '[%(asctime)s][HYDRA] %(message)s'
82
+ handlers:
83
+ console:
84
+ class: logging.StreamHandler
85
+ formatter: simple
86
+ stream: ext://sys.stdout
87
+ root:
88
+ level: INFO
89
+ handlers:
90
+ - console
91
+ loggers:
92
+ logging_example:
93
+ level: DEBUG
94
+ disable_existing_loggers: false
95
+ job_logging:
96
+ version: 1
97
+ formatters:
98
+ simple:
99
+ format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s'
100
+ handlers:
101
+ console:
102
+ class: logging.StreamHandler
103
+ formatter: simple
104
+ stream: ext://sys.stdout
105
+ file:
106
+ class: logging.FileHandler
107
+ formatter: simple
108
+ filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log
109
+ root:
110
+ level: INFO
111
+ handlers:
112
+ - console
113
+ - file
114
+ disable_existing_loggers: false
115
+ env: {}
116
+ mode: RUN
117
+ searchpath: []
118
+ callbacks: {}
119
+ output_subdir: .hydra
120
+ overrides:
121
+ hydra:
122
+ - hydra.mode=RUN
123
+ task:
124
+ - agent=diffusion
125
+ - suite=frankagym
126
+ - suite/frankagym_task@_global_=insertion
127
+ job:
128
+ name: eval_robot
129
+ chdir: true
130
+ override_dirname: agent=diffusion,suite/frankagym_task@_global_=insertion,suite=frankagym
131
+ id: ???
132
+ num: ???
133
+ config_name: config_eval
134
+ env_set: {}
135
+ env_copy: []
136
+ config:
137
+ override_dirname:
138
+ kv_sep: '='
139
+ item_sep: ','
140
+ exclude_keys: []
141
+ runtime:
142
+ version: 1.3.2
143
+ version_base: '1.1'
144
+ cwd: /home/leonmkim/fish_leon/FISH
145
+ config_sources:
146
+ - path: hydra.conf
147
+ schema: pkg
148
+ provider: hydra
149
+ - path: /home/leonmkim/fish_leon/FISH/cfgs
150
+ schema: file
151
+ provider: main
152
+ - path: ''
153
+ schema: structured
154
+ provider: schema
155
+ output_dir: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334
156
+ choices:
157
+ suite: frankagym
158
+ suite/frankagym_task@_global_: insertion
159
+ agent: diffusion
160
+ hydra/env: default
161
+ hydra/callbacks: null
162
+ hydra/job_logging: default
163
+ hydra/hydra_logging: default
164
+ hydra/hydra_help: default
165
+ hydra/help: default
166
+ hydra/sweeper: basic
167
+ hydra/launcher: submitit_local
168
+ hydra/output: default
169
+ verbose: false
191334/.hydra/overrides.yaml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ - agent=diffusion
2
+ - suite=frankagym
3
+ - suite/frankagym_task@_global_=insertion
191334/episode_rosbags/aligned_depth_to_color_K.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4a962c703d20da282f5e009d432dff51df4ebd22f3386699b6754ea9cfc06a55
3
+ size 200
191334/episode_rosbags/cam_tf_world.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:29313ba240dd65ebbc79056d5582a97c9586cf2a1d4a1e0db13b87b49152cc9e
3
+ size 256
191334/episode_rosbags/color_K.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4a962c703d20da282f5e009d432dff51df4ebd22f3386699b6754ea9cfc06a55
3
+ size 200
191334/episode_rosbags/depth_K.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cc601d2fecd31c5513c76a88b5d4d8059adc1f92dad682e2d755d89a66d8fdf7
3
+ size 200
191334/episode_rosbags/episode_0_2024-12-11-19-14-01.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2a155461da1a2dfae39a56f4efc0d7b26ed5b94e3bb376701ac85a5e2cf3ce0e
3
+ size 1358855173
191334/episode_rosbags/episode_1_2024-12-11-19-14-40.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:54d2ad33a56c44359af30095a50116094bce2df633bba604d9b39bdcc75457b5
3
+ size 1365117617
191334/episode_rosbags/episode_2_2024-12-11-19-15-49.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d7c1730b0d0f0c7bffa9171211a845fb18546f7817caf381ae10ac04be953443
3
+ size 1363946609
191334/episode_rosbags/episode_3_2024-12-11-19-16-37.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bc9e73a2ad25d7637db6b335bf6927ff08607a15fc0e7a52ae230dfde246d20a
3
+ size 1365532312
191334/episode_rosbags/episode_4_2024-12-11-19-17-19.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9a5997dbddd47c04d669922d6cbd1718e658edaa1497ac0d79c8a0b84787b77a
3
+ size 1361871865
191334/episode_zarrs/episode_0_2024-12-11-19-14-01.zarr/.zgroup ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "zarr_format": 2
3
+ }
191334/episode_zarrs/episode_0_2024-12-11-19-14-01.zarr/data/.zgroup ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "zarr_format": 2
3
+ }
191334/eval_robot.log ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [2024-12-11 19:13:34,754][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_robot.py:503: UserWarning:
2
+ The version_base parameter is not specified.
3
+ Please specify a compatability version level, or None.
4
+ Will assume defaults for version 1.1
5
+ @hydra.main(config_path='cfgs', config_name='config_eval')
6
+
7
+ [2024-12-11 19:13:34,757][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_robot.py:439: UserWarning:
8
+ The version_base parameter is not specified.
9
+ Please specify a compatability version level, or None.
10
+ Will assume defaults for version 1.1
11
+ hydra.initialize(
12
+
191334/eval_video/0_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3da136561a2ad42749fdae27d6475d37bd6904f003bb617bd102700e75835318
3
+ size 1151012
191334/eval_video/1_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3a45ace652f05385ee7562019925e1bc1406b8fdc00f0c2a8c0f3a6261051e5f
3
+ size 1151665
191334/eval_video/2_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c9cccf7ec7cae45b2fa152dff13e74643ef89365bb489c5d108e4a154438176e
3
+ size 1239572
191334/eval_video/3_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:334d1f02994a0fcdeda5419961508a7e674f6bbf2f7c4b38d27d336ee27676ec
3
+ size 1243778
191334/eval_video/4_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35283caf4103c3829cd1d42553a2a9aa55f66bad96d4d9acf1eb68d56d1ef317
3
+ size 1268903
191334/tb/events.out.tfevents.1733962421.leonmkim-ROG-Strix-G15CS-G15CS.773302.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1d1854ed1efc7c51777bbefd9b4a35f2b95e5c16066781df5b5b2982a3d43b2b
3
+ size 1103
191334/wandb/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
191334/wandb/debug.log ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Current SDK version is 0.17.5
2
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Configure stats pid to 773302
3
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/.config/wandb/settings
4
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/wandb/settings
5
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Inferring run settings from compute environment: {'program_relpath': 'FISH/eval_robot.py', 'program_abspath': '/home/leonmkim/fish_leon/FISH/eval_robot.py', 'program': '/home/leonmkim/fish_leon/FISH/eval_robot.py'}
8
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Applying login settings: {}
9
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_init.py:_log_setup():529] Logging user logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/wandb/run-20241211_191340-l07wa4hd/logs/debug.log
10
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_init.py:_log_setup():530] Logging internal logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/wandb/run-20241211_191340-l07wa4hd/logs/debug-internal.log
11
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_init.py:init():569] calling init triggers
12
+ 2024-12-11 19:13:40,896 INFO MainThread:773302 [wandb_init.py:init():576] wandb.init called with sweep_config: {}
13
+ config: {'root_dir': '/home/leonmkim/fish_leon', 'replay_buffer_size': 150000, 'replay_buffer_num_workers': 2, 'nstep': 3, 'batch_size': 128, 'seed': 0, 'dataset_shuffle_seed': 2, 'device': 'cuda', 'save_video': True, 'save_train_video': True, 'use_tb': True, 'use_wandb': True, 'wandb_run_id': '266406_0', 'wandb_notes': '266406_0_', 'eval': True, 'process_contact_features': True, 'obs_type': 'pixels', 'use_color': True, 'use_depth': True, 'use_masks': False, 'mask_list': ['EE_obj_mask'], 'mask_representation': 'channels', 'crop_hw': [144, 144], 'crop_down_offset': 48, 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'add_crop_binary_mask': False, 'add_coord_conv_map': False, 'use_context_color': False, 'use_context_depth': False, 'use_context_segmask': False, 'context_color_crop_type': None, 'context_depth_crop_type': None, 'context_segmask_crop_type': None, 'context_add_crop_binary_mask': False, 'context_add_coord_conv_map': False, 'use_contact_map': False, 'use_sdf_maps': False, 'use_normals_maps': False, 'which_objects': 'both', 'max_contact_prob': 0.1, 'max_depth': 2.0, 'grasped_dtc_max_value': 0.2, 'env_dtc_max_value': 0.4, 'grasped_normals_mask_max_dtc_value': 0.2, 'env_normals_mask_max_dtc_value': 0.4, 'clamp_dtc': True, 'dtc_adaptive_normalization': False, 'mask_normals_within_sdf': True, 'adaptive_normals_mask': True, 'learnable_contact_preprocess_params': True, 'contact_model_name': 'local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9', 'contact_estimation_model_ckpt_path': '~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt', 'encoder_type': 'small', 'debug_timestamps': False, 'open_loop': False, 'action_trajectories': True, 'stop_after_action': False, 'interpolation_frequency': 25, 'policy_frequency': 5, 'wait_for_new_camera_frames': True, 'baseline': False, 'train_demo_idxs_list_or_num': -1, 'log_train_every_steps': 25, 'name_of_expert_demo': '64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act', 'expert_dataset_dirpath': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act', 'store_dataset_in_memory': False, 'expert_dataset': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'action_key': 'action_trajectory_25hz', 'semantic_demo_grouping_name': 'semantic_demo_grouping.yaml', 'semantic_demo_grouping': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/semantic_demo_grouping.yaml', 'include_groups_list': ['hbm_twodim_left_to_right'], 'expert_dataset_config': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demo_config.yaml', 'name_of_valid_demo': '64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act', 'valid_dataset_dir': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'valid_demo_idxs_list_or_num': None, 'val_num_groups': 16, 'load_bc': True, 'checkpoint_epoch_list': [99, 199, 299, 399, 499, 599, 699, 799, 899, 999, 1249, 1499, 1749, 1999, 2999, 3999, 4999, 5999, 6999, 7999, 8999, 9999], 'snapshot_root_dir': '/mnt/grasp_high_usage/leonmkim/contact_estimation/FISH', 'save_snapshot': True, 'save_last_snapshot': True, 'save_snapshot_when_done': True, 'top_k_checkpoints': 5, 'save_snapshot_link_to_weights_dir': 'deprecated', 'bc_regularize': False, 'bc_weight_type': 'qfilter', 'experiment_dir': './exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0', 'agent': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgent', 'name': 'diffusion_policy', 'load_checkpoint': True, 'obs_shape': [4, 240, 320], 'action_shape': [36, 7], 'device': 'cuda', 'n_obs_steps': 1, 'suite_name': 'frankagym', 'obs_type': 'pixels', 'enable_arm': True, 'enable_camera': True, 'use_tb': True, 'desired_image_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'config': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgentConfig', 'compile': False, 'device': 'cuda', 'cam_resize_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'policy_frequency': 5, 'interpolation_frequency': 25, 'policy_cfg': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig', 'n_obs_steps': 1, 'horizon': 36, 'n_action_steps': 36, 'output_shapes': {'action': [7]}, 'input_normalization_modes': {'observation.image': 'mean_std', 'observation.state': 'min_max', 'observation.action_history': 'min_max'}, 'output_normalization_modes': {'action': 'min_max'}, 'vision_backbone': 'resnet18', 'pretrained_backbone_weights': None, 'transforms': [{'_target_': 'torchaug.transforms.RandomAffine', 'degrees': [-5, 5], 'translate': [0.05, 0.05], 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}, {'_target_': 'torchaug.transforms.RandomColorJitter', 'brightness': 0.3, 'contrast': 0.4, 'saturation': 0.5, 'hue': 0.08, 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}], 'use_group_norm': True, 'spatial_softmax_num_keypoints': 32, 'action_history_encoder_config': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig', 'in_channels': 7, 'out_channels': 32, 'history_length': 6, 'kernel_size': 5, 'downsample_kernel_size': 3, 'downsample_stride': 2, 'downsample_padding': 1}, 'down_dims': [256, 512, 1024], 'kernel_size': 5, 'n_groups': 8, 'diffusion_step_embed_dim': 128, 'use_film_scale_modulation': True, 'noise_scheduler_type': 'DDIM', 'beta_schedule': 'squaredcos_cap_v2', 'beta_start': 0.0001, 'beta_end': 0.02, 'prediction_type': 'epsilon', 'clip_sample': True, 'clip_sample_range': 1.0, 'num_train_timesteps': 50, 'num_inference_steps': 10, 'do_mask_loss_for_padding': False, 'input_shapes': {'observation.image': [13, 180, 240], 'context_observation.image': [13, 180, 240], 'observation.state': [8], 'observation.action_history': [7]}}, 'train_cfg': {'_target_': 'utils.TrainConfig', 'lr': 0.0001, 'lr_scheduler': 'cosine', 'lr_warmup_steps': 500, 'adam_betas': [0.95, 0.999], 'adam_eps': 1e-08, 'adam_weight_decay': 1e-06, 'grad_clip_norm': 10, 'offline_steps': 1000000, 'use_amp': True}, 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': False, 'use_sdf_maps': False, 'use_normals_maps': False, 'which_objects': 'both', 'grasped_dtc_max_value': 0.2, 'env_dtc_max_value': 0.4, 'grasped_normals_mask_max_dtc_value': 0.2, 'env_normals_mask_max_dtc_value': 0.4, 'clamp_dtc': True, 'max_contact_prob': 0.1, 'mask_normals_within_sdf': True, 'dtc_adaptive_normalization': False, 'adaptive_normals_mask': True, 'max_depth': 2.0, 'image_shape': [13, 180, 240], 'learnable_contact_preprocess_params': True, 'learning_rate': 0.0001, 'weight_decay': 0.0, 'contact_model_name': 'local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9', 'zero_centered': False}}}, 'suite': {'suite': 'frankagym', 'name': 'frankagym', 'frame_stack': 1, 'action_repeat': 1, 'discount': 0.99, 'hidden_dim': 1024, 'num_train_frames': 2010, 'num_seed_frames': 260, 'num_train_epochs': 5000, 'validate_every_epochs': 100, 'validate_diffusion_on_action_loss_every_epochs': 500, 'train_eval_diffusion_on_action_loss_every_epochs': 500, 'check_topk_every_epochs': 10, 'save_snapshot_every_epochs': 5000, 'eval_every_frames': 2000, 'num_eval_episodes': 5, 'save_snapshot': True, 'wait_for_user_to_start_episode': True, 'task_make_fn': {'_target_': 'suite.frankagym.make', 'name': 'FrankaInsertion-v1', 'height': 240, 'width': 320, 'frame_stack': 1, 'action_repeat': 1, 'seed': 0, 'enable_arm': True, 'enable_gripper': True, 'start_with_gripper_open': True, 'enable_camera': True, 'path_to_depth_extrinsics': '~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy', 'contact_estimation_model_ckpt_path': '~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt', 'x_limit': [0.2, 0.7], 'y_limit': [-0.4, 0.4], 'z_limit': [-0.05, 0.55], 'device': 'cuda', 'interpolation_frequency': 25, 'policy_frequency': 5, 'debug_timestamps': False, 'stop_after_action': False, 'open_loop': False, 'wait_for_new_camera_frames': True, 'action_key': 'action_trajectory_25hz', 'action_trajectory_horizon': 36, 'action_trajectories': True, 'path_to_zarr_dataset': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': False, 'use_sdf_maps': False, 'use_normals_maps': False, 'which_objects': 'both', 'grasped_dtc_max_value': 0.2, 'env_dtc_max_value': 0.4, 'grasped_normals_mask_max_dtc_value': 0.2, 'env_normals_mask_max_dtc_value': 0.4, 'clamp_dtc': True, 'max_contact_prob': 0.1, 'mask_normals_within_sdf': True, 'dtc_adaptive_normalization': False, 'adaptive_normals_mask': True, 'max_depth': 2.0, 'image_shape': [13, 180, 240], 'learnable_contact_preprocess_params': True, 'learning_rate': 0.0001, 'weight_decay': 0.0, 'contact_model_name': 'local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9', 'zero_centered': False}, 'agent_policy_cfg': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgentConfig', 'compile': False, 'device': 'cuda', 'cam_resize_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'policy_frequency': 5, 'interpolation_frequency': 25, 'policy_cfg': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig', 'n_obs_steps': 1, 'horizon': 36, 'n_action_steps': 36, 'output_shapes': {'action': [7]}, 'input_normalization_modes': {'observation.image': 'mean_std', 'observation.state': 'min_max', 'observation.action_history': 'min_max'}, 'output_normalization_modes': {'action': 'min_max'}, 'vision_backbone': 'resnet18', 'pretrained_backbone_weights': None, 'transforms': [{'_target_': 'torchaug.transforms.RandomAffine', 'degrees': [-5, 5], 'translate': [0.05, 0.05], 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}, {'_target_': 'torchaug.transforms.RandomColorJitter', 'brightness': 0.3, 'contrast': 0.4, 'saturation': 0.5, 'hue': 0.08, 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}], 'use_group_norm': True, 'spatial_softmax_num_keypoints': 32, 'action_history_encoder_config': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig', 'in_channels': 7, 'out_channels': 32, 'history_length': 6, 'kernel_size': 5, 'downsample_kernel_size': 3, 'downsample_stride': 2, 'downsample_padding': 1}, 'down_dims': [256, 512, 1024], 'kernel_size': 5, 'n_groups': 8, 'diffusion_step_embed_dim': 128, 'use_film_scale_modulation': True, 'noise_scheduler_type': 'DDIM', 'beta_schedule': 'squaredcos_cap_v2', 'beta_start': 0.0001, 'beta_end': 0.02, 'prediction_type': 'epsilon', 'clip_sample': True, 'clip_sample_range': 1.0, 'num_train_timesteps': 50, 'num_inference_steps': 10, 'do_mask_loss_for_padding': False, 'input_shapes': {'observation.image': [13, 180, 240], 'context_observation.image': [13, 180, 240], 'observation.state': [8], 'observation.action_history': [7]}}, 'train_cfg': {'_target_': 'utils.TrainConfig', 'lr': 0.0001, 'lr_scheduler': 'cosine', 'lr_warmup_steps': 500, 'adam_betas': [0.95, 0.999], 'adam_eps': 1e-08, 'adam_weight_decay': 1e-06, 'grad_clip_norm': 10, 'offline_steps': 1000000, 'use_amp': True}, 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': False, 'use_sdf_maps': False, 'use_normals_maps': False, 'which_objects': 'both', 'grasped_dtc_max_value': 0.2, 'env_dtc_max_value': 0.4, 'grasped_normals_mask_max_dtc_value': 0.2, 'env_normals_mask_max_dtc_value': 0.4, 'clamp_dtc': True, 'max_contact_prob': 0.1, 'mask_normals_within_sdf': True, 'dtc_adaptive_normalization': False, 'adaptive_normals_mask': True, 'max_depth': 2.0, 'image_shape': [13, 180, 240], 'learnable_contact_preprocess_params': True, 'learning_rate': 0.0001, 'weight_decay': 0.0, 'contact_model_name': 'local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9', 'zero_centered': False}}, 'true_action_history': False}}, 'num_train_frames_bc': 50000, 'num_train_frames_drq': 1100000, 'stddev_schedule_drq': 'linear(1.0,0.1,100000)', 'task_name': 'FrankaInsertion-v1', 'num_train_frames_vinn': 25000, 'num_train_frames_diffusion': 1000000, 'num_train_epochs_bc': 5000, 'num_train_epochs_diffusion': 15000, 'validate_every_epochs_bc': 5, 'validate_every_epochs_diffusion': 250, 'validate_diffusion_on_action_loss_every_epochs': 250, 'train_eval_diffusion_on_action_loss_every_epochs': 250, 'check_topk_every_epochs': 5, 'check_topk_every_epochs_diffusion': 250, 'save_snapshot_every_epochs_diffusion': 1500, 'x_limit': [0.2, 0.7], 'y_limit': [-0.4, 0.4], 'z_limit': [-0.05, 0.55], 'home_displacement': [0.55, 0.0, 0.55, 180.0, 0.0, 0.0], 'enable_gripper': True, 'start_with_gripper_open': True, 'offset_mask': [1, 1, 1, 1, 1, 1], 'path_to_depth_extrinsics': '~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy', 'feature_type': '180x240_1_RGB_D_2.0_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1', 'save_buffer': True, 'num_eval': 5, 'random_start': False, 'eval_starts': '/home/leonmkim/fish_leon/FISH/eval_starts/frankagym_pixels/FrankaInsertion-v1', 'num_valid_demos': None, 'load_checkpoint': True, 'true_action_history': False, 'checkpoint_epoch': 12000, 'load_residual_weight': False, 'checkpoint_root_dir': '/home/leonmkim/fish_leon/FISH', 'checkpoint_weight_dir': '/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0', 'residual_weight': '/home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt'}
14
+ 2024-12-11 19:13:40,896 INFO MainThread:773302 [wandb_init.py:init():619] starting backend
15
+ 2024-12-11 19:13:40,896 INFO MainThread:773302 [wandb_init.py:init():623] setting up manager
16
+ 2024-12-11 19:13:40,901 INFO MainThread:773302 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
17
+ 2024-12-11 19:13:40,904 INFO MainThread:773302 [wandb_init.py:init():631] backend started and connected
18
+ 2024-12-11 19:13:40,917 INFO MainThread:773302 [wandb_init.py:init():720] updated telemetry
19
+ 2024-12-11 19:13:40,923 INFO MainThread:773302 [wandb_init.py:init():753] communicating run to backend with 90.0 second timeout
20
+ 2024-12-11 19:13:41,191 INFO MainThread:773302 [wandb_run.py:_on_init():2435] communicating current version
21
+ 2024-12-11 19:13:41,259 INFO MainThread:773302 [wandb_run.py:_on_init():2444] got version response upgrade_message: "wandb version 0.19.0 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
22
+
23
+ 2024-12-11 19:13:41,261 INFO MainThread:773302 [wandb_init.py:init():804] starting run threads in backend
24
+ 2024-12-11 19:13:41,616 INFO MainThread:773302 [wandb_run.py:_console_start():2413] atexit reg
25
+ 2024-12-11 19:13:41,616 INFO MainThread:773302 [wandb_run.py:_redirect():2255] redirect: wrap_raw
26
+ 2024-12-11 19:13:41,616 INFO MainThread:773302 [wandb_run.py:_redirect():2320] Wrapping output streams.
27
+ 2024-12-11 19:13:41,617 INFO MainThread:773302 [wandb_run.py:_redirect():2345] Redirects installed.
28
+ 2024-12-11 19:13:41,618 INFO MainThread:773302 [wandb_init.py:init():847] run started, returning control to user process
29
+ 2024-12-11 19:13:41,619 INFO MainThread:773302 [wandb_run.py:_tensorboard_callback():1544] tensorboard callback: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/tb, True
30
+ 2024-12-11 19:13:45,500 INFO MainThread:773302 [wandb_run.py:_config_callback():1382] config_cb None None {'grasped_obj_name': 'hbm', 'left_book_slot': 'twodim'}
31
+ 2024-12-11 19:18:28,045 WARNING MsgRouterThr:773302 [router.py:message_loop():77] message_loop has been closed
191334/wandb/run-20241211_191340-l07wa4hd/files/code/FISH/eval_robot.py ADDED
@@ -0,0 +1,512 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #%%
2
+ import warnings
3
+ import os
4
+
5
+ os.environ['MKL_SERVICE_FORCE_INTEL'] = '1'
6
+ os.environ['MUJOCO_GL'] = 'egl'
7
+ from pathlib import Path
8
+ #%%
9
+ import hydra
10
+ import numpy as np
11
+ import torch
12
+
13
+ import utils
14
+ from utils import get_feature_dirname_from_configs
15
+
16
+ from video import VideoRecorder
17
+ import pickle
18
+ import time
19
+ import threading
20
+ import shutil
21
+ from logger import Logger
22
+
23
+ import wandb
24
+ from omegaconf import OmegaConf, open_dict
25
+
26
+ from replay_buffer_robot import RosbagEvalReplayBufferStorage
27
+ from lerobot.common.utils.utils import _relative_path_between
28
+
29
+ torch.backends.cudnn.benchmark = True
30
+ warnings.filterwarnings('ignore', category=DeprecationWarning)
31
+
32
+ # import specs for replay buffer
33
+ from dm_env import specs
34
+
35
+ import sys, signal
36
+ import yaml
37
+
38
+ # get path of current file
39
+ current_path = os.path.dirname(os.path.realpath(__file__))
40
+ sys.path.append(os.path.join(current_path, os.pardir))
41
+ # from contact_estimation.src.utils.viz_utils import normalized_surface_normal_to_rgb, depth_map_to_im, grasped_env_dtc_map_to_im, contact_prob_map_to_im, desaturate_color_image, masked_overlay_im_list
42
+
43
+ def make_agent(obs_spec, action_spec, cfg):
44
+ cfg.obs_shape = obs_spec['pixels'].shape
45
+ dataset_statistics = None # this will be loaded from the checkpoint
46
+ try:
47
+ cfg.action_shape = action_spec.shape
48
+ except:
49
+ pass
50
+ return hydra.utils.instantiate(cfg, dataset_statistics)
51
+
52
+ class Workspace:
53
+ def __init__(self, cfg):
54
+ self.work_dir = Path.cwd()
55
+ print(f'workspace: {self.work_dir}')
56
+
57
+ signal.signal(signal.SIGINT, self.signal_handler)
58
+
59
+ self.cfg = cfg
60
+ self.loading_uncompiled_checkpoint_with_compile = False
61
+ self.loading_compiled_checkpoint_with_no_compile = False
62
+
63
+ snapshot_path = Path(self.cfg.checkpoint_weight_dir) / f'snapshot_{self.cfg.checkpoint_epoch}.pt'
64
+ self.load_checkpoint_conf(snapshot_path=snapshot_path)
65
+
66
+ # load config for action trajectories
67
+ utils.set_seed_everywhere(self.cfg.seed)
68
+ self.device = torch.device(self.cfg.device)
69
+ self.setup()
70
+
71
+ # self.agent = make_agent(self.eval_env.observation_spec(),
72
+ # self.eval_env.action_spec(), self.cfg.agent)
73
+ self.timer = utils.Timer()
74
+ # self._global_step = 0
75
+ self._global_episode = 0
76
+ self._global_epoch = 0
77
+ self.num_episode_successes = 0
78
+
79
+ # Need to convert hydra config to primitive container for wandb https://docs.wandb.ai/guides/integrations/hydra
80
+ with open_dict(self.cfg):
81
+ self.cfg.feature_type = get_feature_dirname_from_configs(
82
+ hydra.utils.instantiate(self.cfg.agent.config.observation_cfg),
83
+ self.cfg.agent.config.policy_cfg.input_shapes,
84
+ hydra.utils.instantiate(self.cfg.agent.config.policy_cfg.action_history_encoder_config) if 'observation.action_history' in self.cfg.agent.config.policy_cfg.input_shapes else None,
85
+ )
86
+
87
+ wandb_config = OmegaConf.to_container(
88
+ self.cfg, resolve=True, throw_on_missing=True
89
+ )
90
+ # must be called before any tf summary writer is created
91
+ if self.cfg.use_wandb:
92
+ wandb.init(project='extrinsic_contact_downstream', entity='serialexperimentsleon', job_type='eval', sync_tensorboard=self.cfg.use_tb, config=wandb_config)
93
+
94
+ self.logger = Logger(self.work_dir, use_tb=self.cfg.use_tb, use_wandb=self.cfg.use_wandb)
95
+
96
+ # if not self.loading_uncompiled_checkpoint_with_compile and self.cfg.agent.config.compile:
97
+ # self.agent.compile_modules()
98
+
99
+ # self.load_checkpoint(snapshot_path=snapshot_path)
100
+
101
+ # if self.loading_uncompiled_checkpoint_with_compile: # need to call compile after loading the checkpoint
102
+ # self.agent.compile_modules()
103
+
104
+ print(f"loaded agent with feature_type: {self.cfg.feature_type}")
105
+
106
+ def check_for_key_press(self):
107
+ while self.continue_keypress_thread:
108
+ inp = input("Press 'r' to restart current episode, 'n' to stop current episode and skip to next, 'q' to break entire eval\n")
109
+ if inp == 'n':
110
+ self.preempt_episode = True
111
+ print("preempting episode")
112
+ elif inp in ['', '0', '1']: # enter key
113
+ if inp in ['0', '1']:
114
+ self.num_episode_successes += int(inp)
115
+ self.proceed_after_env_reset_event.set()
116
+ print("proceeding to start episode!")
117
+ elif inp == 'q':
118
+ self.proceed_after_env_reset_event.set()
119
+ self.preempt_episode = True
120
+ self.exit_eval = True
121
+ self.continue_keypress_thread = False # will stop the keypress thread
122
+ print("quitting eval")
123
+ break
124
+ elif inp == 'r':
125
+ print('restarting episode')
126
+ self.preempt_episode = True
127
+ self.restart_episode = True
128
+ else:
129
+ print("Invalid key press, try again")
130
+
131
+ # self.keypress_input_thread.join() # wait for the keypress thread to finish
132
+
133
+ def signal_handler(self, signal, frame):
134
+ print("\nprogram exiting gracefully")
135
+ self.proceed_after_env_reset_event.set()
136
+ self.preempt_episode = True
137
+ self.exit_eval = True
138
+ self.continue_keypress_thread = False # will stop the keypress thread
139
+ self.keypress_input_thread.join() # wait for the keypress thread to finish
140
+ video_filepath = self.video_recorder.save()
141
+ # get the video file and convert to video tensor to log
142
+ self.logger.log_video('eval/video', video_filepath, self.global_step)
143
+ sys.exit(0)
144
+
145
+ def setup(self):
146
+ # create envs
147
+ self.eval_env = hydra.utils.call(self.cfg.suite.task_make_fn)
148
+ # expert_demo_config_path = os.path.join(os.path.dirname(self.cfg.expert_dataset), 'demo_config.yaml')
149
+ # self.expert_demo_config = yaml.load(open(expert_demo_config_path, 'r'), Loader=yaml.FullLoader)
150
+ # self.eval_env._env.action_trans_norm = expert_demo_config['max_translation_action_norm']
151
+ # self.eval_env._env.action_rot_norm = expert_demo_config['max_rotation_action_norm']
152
+ # self.eval_env._env.action_period = expert_demo_config['sample_period']
153
+ # print(f"setting max_translation_action_norm to {expert_demo_config['max_translation_action_norm']} and sample_period to {expert_demo_config['sample_period']}")
154
+ # print(f"setting max_rotation_action_norm to {expert_demo_config['max_rotation_action_norm']}")
155
+
156
+ # self.eval_env.set_demo_params(self.cfg.expert_dataset)
157
+
158
+ # Turn off random start
159
+ self.eval_env.random_start = False
160
+
161
+ # create replay buffer
162
+ # data_specs = [
163
+ # {
164
+ # 'observation': self.eval_env.observation_spec(),
165
+ # },
166
+ # # self.eval_env.observation_spec()['features'],
167
+ # self.eval_env.action_spec(),
168
+ # specs.Array(self.eval_env.action_spec().shape, self.eval_env.action_spec().dtype, 'vinn_action'),
169
+ # specs.Array((1, ), np.float32, 'reward'),
170
+ # specs.Array((1, ), np.float32, 'discount'),
171
+ # ]
172
+
173
+ # self.eval_replay_storage = ZarrEvalReplayBufferStorage(data_specs, self.work_dir / 'eval_buffer', debug_timestamps=self.cfg.debug_timestamps, save_buffer=self.cfg.save_buffer, debug_info_data_specs=self.eval_env.debug_info_data_specs, camera_info_dict=self.eval_env.get_camera_info_dict())
174
+ self.eval_replay_storage = RosbagEvalReplayBufferStorage(self.work_dir)
175
+
176
+ self.video_recorder = VideoRecorder(
177
+ self.work_dir if self.cfg.save_video else None,
178
+ ros_enabled=True,
179
+ fps=self.cfg.agent.config.policy_frequency,
180
+ )
181
+
182
+ print('workspace setup complete')
183
+
184
+ @property
185
+ def global_step(self):
186
+ # return self._global_step
187
+ return self.eval_env.get_global_step()
188
+
189
+ @property
190
+ def global_episode(self):
191
+ return self._global_episode
192
+
193
+ @property
194
+ def global_frame(self):
195
+ return self.global_step * self.cfg.action_repeat
196
+
197
+ @property
198
+ def global_epoch(self):
199
+ return self._global_epoch
200
+
201
+ def reset(self, eval_idx):
202
+ if not self.eval_env.enable_arm:
203
+ return np.array([0,0,0], dtype=np.float32)
204
+ self.eval_env.arm_refresh(reset=False)
205
+ # Set start position
206
+ try:
207
+ self.eval_env.set_position(self.start_pos[eval_idx])
208
+ except:
209
+ self.eval_env.arm.set_position(self.start_pos[eval_idx])
210
+ if self.eval_env.arm.keep_gripper_closed:
211
+ self.eval_env.arm.close_gripper_fully()
212
+ else:
213
+ self.eval_env.arm.open_gripper_fully()
214
+ time.sleep(0.1)
215
+ time_step = self.eval_env.step(np.zeros(self.eval_env.action_spec().shape[0], dtype=np.float32),
216
+ np.zeros(self.eval_env.action_spec().shape[0], dtype=np.float32))
217
+ return time_step
218
+
219
+ def eval(self):
220
+ # before evals start, prompt user for name of grasped object and the left book of the slot location
221
+ grasped_obj_name = input("Enter the name of the grasped object: ")
222
+ left_book_slot = input("Enter the left book slot location: ")
223
+ # update wandb config
224
+ if self.cfg.use_wandb:
225
+ wandb.config.update({'grasped_obj_name': grasped_obj_name, 'left_book_slot': left_book_slot})
226
+
227
+ self.preempt_episode = False
228
+ self.exit_eval = False
229
+ self.restart_episode = False
230
+
231
+ self.continue_keypress_thread = True
232
+ self.proceed_after_env_reset_event = threading.Event()
233
+ self.keypress_input_thread = threading.Thread(target=self.check_for_key_press)
234
+ self.keypress_input_thread.start()
235
+
236
+ # # Set model to eval mode
237
+ # self.agent.train(False)
238
+
239
+ eval_until_episode = utils.Until(self.cfg.num_eval)
240
+
241
+ self.use_action_history = False
242
+ # if "dp" in repr(self.agent) and "observation.action_history" in self.cfg.agent.config.policy_cfg.input_shapes:
243
+ if "observation.action_history" in self.cfg.agent.config.policy_cfg.input_shapes:
244
+ self.use_action_history = True
245
+
246
+ # self.eval_replay_storage._new_eval_step(0)
247
+
248
+ # if 'vinn' in repr(self.agent) or 'openloop' in repr(self.agent):
249
+ # with open(self.cfg.expert_dataset, 'rb') as f:
250
+ # if self.cfg.obs_type == 'pixels':
251
+ # self.expert_demo, _, self.expert_action, self.expert_reward = pickle.load(f)
252
+ # elif self.cfg.obs_type == 'features':
253
+ # _, self.expert_demo, self.expert_action, self.expert_reward = pickle.load(f)
254
+
255
+ # if self.cfg.action_trajectories:
256
+ # with open(self.cfg.expert_action_trajectories, 'rb') as f:
257
+ # self.expert_action = pickle.load(f)
258
+
259
+ # if isinstance(self.cfg.train_demo_idxs_list_or_num, int):
260
+ # if self.cfg.train_demo_idxs_list_or_num == -1:
261
+ # self.cfg.train_demo_idxs_list_or_num = len(self.expert_demo)
262
+ # train_demo_idxs_list_or_num = list(range(self.cfg.train_demo_idxs_list_or_num))
263
+
264
+ # self.expert_demo = self.expert_demo[train_demo_idxs_list_or_num]
265
+ # self.expert_action = self.expert_action[train_demo_idxs_list_or_num]
266
+ # self.expert_reward = self.expert_reward[train_demo_idxs_list_or_num]
267
+ # # if self.cfg.action_plans:
268
+ # # self.expert_action_plans = self.expert_action_plans[self.cfg.train_demo_idxs_list_or_num]
269
+ # # self.expert_demo = self.expert_demo[:self.cfg.num_demos]
270
+ # # self.expert_action = self.expert_action[:self.cfg.num_demos]
271
+ # # self.expert_reward = self.expert_reward[:self.cfg.num_demos]
272
+
273
+ # self.expert_demo = np.concatenate(self.expert_demo, axis=0)
274
+ # self.expert_rgb_obs = np.ascontiguousarray(np.transpose(self.expert_demo, (0,2,3,1))[:, :,:,:3].astype(np.uint8))
275
+ # self.expert_action = np.concatenate(self.expert_action, axis=0)
276
+
277
+ # self.agent.save_representations(self.expert_demo, self.expert_action, 128, config=self.expert_demo_config)
278
+
279
+ # Get start points
280
+ if self.cfg.random_start:
281
+ eval_starts = Path(self.cfg.eval_starts) / 'starts.pkl'
282
+ if eval_starts.exists():
283
+ with eval_starts.open('rb') as f:
284
+ self.start_pos = pickle.load(f)
285
+ else:
286
+ eval_starts = Path(self.cfg.eval_starts)
287
+ eval_starts.mkdir(parents=True, exist_ok=True)
288
+
289
+ # Generate start points
290
+ self.start_pos = []
291
+ try:
292
+ for _ in range(self.cfg.num_eval):
293
+ self.start_pos.append(self.eval_env.get_random_pos())
294
+ except:
295
+ for _ in range(self.cfg.num_eval):
296
+ self.start_pos.append(self.eval_env.arm.get_random_pos())
297
+
298
+ # Save start points for the task
299
+ eval_starts = eval_starts / 'starts.pkl'
300
+ with eval_starts.open('wb') as f:
301
+ pickle.dump(self.start_pos, f)
302
+
303
+ time_step = self.eval_env.reset()
304
+ # replay_thread = None
305
+ while eval_until_episode(self.global_episode) and not self.exit_eval:
306
+ # self.video_recorder.init(self.eval_env, video_filename=f'{self.global_episode}_eval.mp4')
307
+ print(f"Starting episode {self.global_episode}")
308
+ time_step = self.eval_env.reset() #Leon: need to call reset twice in case objects are trapped
309
+ self.video_recorder.init(self.eval_env, video_filename=f'{self.global_episode}_eval.mp4')
310
+ # x = input("Press Enter to continue... after reseting env")
311
+ print("Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success")
312
+ self.proceed_after_env_reset_event.clear() # clear the event flag
313
+ self.proceed_after_env_reset_event.wait() # blocking wait for the event flag to be set
314
+ if self.global_episode > 0:
315
+ self.logger.log_metrics({'num_success': self.num_episode_successes}, self.global_step, 'eval', episode=self.global_episode)
316
+ self.logger.log_metrics({'success_rate': self.num_episode_successes/self.global_episode}, self.global_step, 'eval', episode=self.global_episode)
317
+ time_step = self.eval_env.reset()
318
+ # debug_info_dict = self.eval_env.debug_info_dict
319
+ # if replay_thread is not None:
320
+ # # wait for the last replay thread to finish
321
+ # replay_thread.join()
322
+
323
+ # self.eval_replay_storage.add(time_step._replace(observation=time_step.observation[self.cfg.obs_type]), debug_info_dict)
324
+ # replay_thread = threading.Thread(target=self.eval_replay_storage.add, args=(time_step._replace(observation=time_step.observation[self.cfg.obs_type]), debug_info_dict))
325
+ # replay_thread = threading.Thread(target=self.eval_replay_storage.add, args=(time_step, debug_info_dict))
326
+
327
+ # replay_thread.start()
328
+ if self.cfg.random_start:
329
+ time_step = self.reset(self.global_episode)
330
+ time.sleep(2) #5)
331
+ # if 'vinn' in repr(self.agent):
332
+ # self.agent.reset()
333
+ # # self.agent.buffer.reset()
334
+ # # if self.cfg.open_loop:
335
+ # # self.agent.current_step = 0
336
+ # if 'openloop' in repr(self.agent):
337
+ # self.agent.curr_step = 0
338
+ # at start of each episode, provide zero action for policies that use action history
339
+ # shape should be (T_o, T_a, action_dim)
340
+
341
+ # while not time_step.last() and not self.preempt_episode:
342
+ self.video_recorder.ros_start_recording()
343
+ self.eval_replay_storage.start_episode()
344
+ self.eval_env.start_policy_timer()
345
+ while not self.eval_env.episode_done() and not self.preempt_episode:
346
+ # with torch.no_grad(), utils.eval_mode(self.agent):
347
+ # # if self.cfg.agent.provide_topk:
348
+ # # action, vinn_action, topk = self.agent.act(
349
+ # # time_step.observation['pixels'],
350
+ # # self.global_step,
351
+ # # eval_mode=True)
352
+ # # elif self.cfg.agent.provide_obs:
353
+ # # action, vinn_action, obs = self.agent.act(
354
+ # # time_step.observation['pixels'],
355
+ # # self.global_step,
356
+ # # eval_mode=True)
357
+ # # else:
358
+ # action, vinn_action = self.agent.act(
359
+ # time_step.observation,
360
+ # self.global_step,
361
+ # eval_mode=True,
362
+ # obs_timestamp=time_step.observation['timestamp'],
363
+ # obs_seq=time_step.observation['seq'],
364
+ # action_history=action_history,
365
+ # action_history_start_timestamp=action_history_start_timestamp,
366
+ # )
367
+ # DONT WAIT FOR POLICY TO GET AN ACTION
368
+ # we dont want to slow down grabbing obs and passing to sam/contact features
369
+
370
+ self.eval_env.run_policy_threads() # this just does a rospy sleep
371
+
372
+ # if self.use_action_history:
373
+ # action_history_start_timestamp = time_step.observation['timestamp']
374
+ # # action_history = action[:self.cfg.agent.config.policy_cfg.action_history_encoder_config.history_length, ...]
375
+ # # add n_obs_steps dimension to action_history, for now we assume n_obs_steps = 1
376
+ # # TODO: handle n_obs_steps > 1
377
+ # action_history = action[np.newaxis, ...]
378
+
379
+ # time_step = self.eval_env.step(action, vinn_action) # obs, reward after action has been taken
380
+ # debug_info_dict = self.eval_env.debug_info_dict
381
+
382
+ # time_step = self.eval_env.ros_step()
383
+
384
+ # replay_thread.join()
385
+
386
+ # time how long it takes to execute the step
387
+ # time_before_add = time.perf_counter()
388
+ # self.eval_replay_storage.add(time_step._replace(observation=time_step.observation[self.cfg.obs_type]), debug_info_dict)
389
+ # use thread to call the add function in a separate thread
390
+ # replay_thread = threading.Thread(target=self.eval_replay_storage.add, args=(time_step._replace(observation=time_step.observation[self.cfg.obs_type]), debug_info_dict))
391
+
392
+ # replay_thread = threading.Thread(target=self.eval_replay_storage.add, args=(time_step, debug_info_dict))
393
+ # replay_thread.start()
394
+
395
+ # print(f"Time to add to replay buffer: {time.perf_counter() - time_before_add}")
396
+
397
+ # self.video_recorder.record(self.eval_env)
398
+ # self._global_step += 1
399
+
400
+ self.eval_env.stop_policy_timer()
401
+
402
+ if self.restart_episode:
403
+ # means we should delete the current episode and start again
404
+ self.restart_episode = False
405
+ self.eval_replay_storage.reset_current_episode()
406
+ self.video_recorder.reset_current_episode()
407
+
408
+ else:
409
+ self.eval_replay_storage.store_current_episode()
410
+ video_filepath = self.video_recorder.save()
411
+ self.logger.log_video(f"eval/{video_filepath.name.rstrip('.mp4')}", video_filepath, self.global_step)
412
+ self._global_episode += 1
413
+
414
+ self.preempt_episode = False # reset preempt_episode flag
415
+
416
+ # self.video_recorder.save(f'{episode}_eval.mp4')
417
+ # get the video file and convert to video tensor to log
418
+
419
+ self.eval_env.reset()
420
+
421
+ print("Evaluation finished. To wrap up, rate prev episode, press 0 for failure and 1 for success")
422
+ self.proceed_after_env_reset_event.clear() # clear the event flag
423
+ self.proceed_after_env_reset_event.wait() # blocking wait for the event flag to be set
424
+ if self.global_episode > 0:
425
+ # self.logger.log_metrics({'num_success': self.num_episode_successes}, self.global_step, 'eval', episode=self.global_episode)
426
+ self.logger.log_metrics({'num_success': self.num_episode_successes}, self.global_step, 'eval', episode=self.global_episode)
427
+ self.logger.log_metrics({'success_rate': self.num_episode_successes/self.global_episode}, self.global_step, 'eval', episode=self.global_episode)
428
+
429
+ self.continue_keypress_thread = False # will stop the keypress thread
430
+ self.keypress_input_thread.join() # wait for the keypress thread to finish
431
+
432
+ def load_checkpoint_conf(self, snapshot_path):
433
+ config_path = snapshot_path.parent / 'config.yaml'
434
+ if not config_path.exists():
435
+ raise FileNotFoundError(f'No snapshot conf found at {config_path}')
436
+ else:
437
+ # load the omegaconf config
438
+ hydra.core.global_hydra.GlobalHydra.instance().clear()
439
+ hydra.initialize(
440
+ str(_relative_path_between(Path(config_path).absolute().parent, Path(__file__).absolute().parent)),
441
+ )
442
+ cfg = hydra.compose(Path(config_path).stem)
443
+ from deepdiff import DeepDiff
444
+ from omegaconf import open_dict
445
+ diff = DeepDiff(OmegaConf.to_container(cfg), OmegaConf.to_container(self.cfg)) # old, new
446
+ # import re
447
+ overwriteable_keys = [f"root{overwritable_key}" for overwritable_key in ["['use_wandb']", "['path_to_depth_extrinsics']", "['eval']", "['root_dir']", "['wandb_notes']", "['agent']['config']['train_cfg']['use_amp']", "['agent']['config']['compile']", "['agent']['config']['policy_cfg']['num_inference_steps']"]]
448
+ if "values_changed" in diff:
449
+ # top_k_checkpoints, wandb_notes, agent.config.train_cfg.use_amp, save_snapshot_every_epochs_diffusion, check_topk_every_epochs_diffusion, validate_diffusion_on_action_loss_every_epochs, train_eval_diffusion_on_action_loss_every_epochs, validate_every_epochs_diffusion
450
+ # for keys above, overwrite the old config with the new config
451
+ for k, v in diff['values_changed'].items():
452
+ # replace any keys that are under "root['suite']"
453
+ if k in overwriteable_keys or k.startswith("root['suite']"):
454
+ print(f"Found changed key {k} with value {v}. Overwriting old checkpoint config")
455
+ if k == "root['agent']['config']['compile']":
456
+ if diff['values_changed'][k]['new_value']:
457
+ self.loading_uncompiled_checkpoint_with_compile = True
458
+ elif not diff['values_changed'][k]['new_value']:
459
+ # raise ValueError("Cannot load a compiled checkpoint without compile")
460
+ self.loading_compiled_checkpoint_with_no_compile = True
461
+ exec(f"{k.replace('root[', 'cfg[')} = {k.replace('root[', 'self.cfg[')}")
462
+ # for any new values, update the old checkpoint config
463
+ if "dictionary_item_added" in diff:
464
+ for new_key in diff['dictionary_item_added']: # this is a list
465
+ # if new_key == "root['suite']['task_make_fn']['observation_cfg']":
466
+ if new_key == "root['suite']['task_make_fn']['agent_policy_cfg']":
467
+ # pass the agents observation_cfg to the suite task_make_fn
468
+ with open_dict(cfg): # to allow addition of non-existing keys
469
+ # cfg.suite.task_make_fn.observation_cfg = cfg.agent.config.observation_cfg
470
+ cfg.suite.task_make_fn.agent_policy_cfg = cfg.agent.config
471
+ continue
472
+ elif "['agent']['config']['policy_cfg']['input_shapes']" in new_key:
473
+ # skip adding the new key if it is the input_shapes of the policy_cfg
474
+ continue
475
+ else:
476
+ print(f"Found new key {new_key} with value {eval(new_key.replace('root[', 'self.cfg['))}. Adding to checkpoint config")
477
+ # eval(new_key.replace('root', 'cfg')) = eval(new_key.replace('root', 'self.cfg'))
478
+ if new_key == "root['agent']['config']['compile']":
479
+ if self.cfg.agent.config.compile:
480
+ self.loading_uncompiled_checkpoint_with_compile = True
481
+
482
+ with open_dict(cfg):
483
+ exec(f"{new_key.replace('root[', 'cfg[')}={new_key.replace('root[', 'self.cfg[')}")
484
+ self.cfg = cfg
485
+
486
+ def load_checkpoint(self, snapshot_path, bc=False):
487
+ print(f'resuming {repr(self.agent)}: {snapshot_path}')
488
+ with snapshot_path.open('rb') as f:
489
+ payload = torch.load(f)
490
+ agent_payload = {}
491
+ for k, v in payload.items():
492
+ if k not in self.__dict__:
493
+ agent_payload[k] = v
494
+ elif k == '_global_epoch':
495
+ self._global_epoch = v
496
+ print(f'loaded epoch: {v}')
497
+ if self.cfg.use_wandb:
498
+ # add to config of wandb
499
+ wandb.config.update({'epoch': v})
500
+
501
+ # self.agent.load_snapshot_eval(agent_payload, bc)
502
+
503
+ @hydra.main(config_path='cfgs', config_name='config_eval')
504
+ def main(cfg):
505
+ from eval_robot import Workspace as W
506
+ root_dir = Path.cwd()
507
+ workspace = W(cfg)
508
+
509
+ workspace.eval()
510
+
511
+ if __name__ == '__main__':
512
+ main()
191334/wandb/run-20241211_191340-l07wa4hd/files/config.yaml ADDED
@@ -0,0 +1,966 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_version: 1
2
+
3
+ root_dir:
4
+ desc: null
5
+ value: /home/leonmkim/fish_leon
6
+ replay_buffer_size:
7
+ desc: null
8
+ value: 150000
9
+ replay_buffer_num_workers:
10
+ desc: null
11
+ value: 2
12
+ nstep:
13
+ desc: null
14
+ value: 3
15
+ batch_size:
16
+ desc: null
17
+ value: 128
18
+ seed:
19
+ desc: null
20
+ value: 0
21
+ dataset_shuffle_seed:
22
+ desc: null
23
+ value: 2
24
+ device:
25
+ desc: null
26
+ value: cuda
27
+ save_video:
28
+ desc: null
29
+ value: true
30
+ save_train_video:
31
+ desc: null
32
+ value: true
33
+ use_tb:
34
+ desc: null
35
+ value: true
36
+ use_wandb:
37
+ desc: null
38
+ value: true
39
+ wandb_run_id:
40
+ desc: null
41
+ value: '266406_0'
42
+ wandb_notes:
43
+ desc: null
44
+ value: '266406_0_'
45
+ eval:
46
+ desc: null
47
+ value: true
48
+ process_contact_features:
49
+ desc: null
50
+ value: true
51
+ obs_type:
52
+ desc: null
53
+ value: pixels
54
+ use_color:
55
+ desc: null
56
+ value: true
57
+ use_depth:
58
+ desc: null
59
+ value: true
60
+ use_masks:
61
+ desc: null
62
+ value: false
63
+ mask_list:
64
+ desc: null
65
+ value:
66
+ - EE_obj_mask
67
+ mask_representation:
68
+ desc: null
69
+ value: channels
70
+ crop_hw:
71
+ desc: null
72
+ value:
73
+ - 144
74
+ - 144
75
+ crop_down_offset:
76
+ desc: null
77
+ value: 48
78
+ color_crop_type:
79
+ desc: null
80
+ value: null
81
+ depth_crop_type:
82
+ desc: null
83
+ value: null
84
+ segmask_crop_type:
85
+ desc: null
86
+ value: null
87
+ add_crop_binary_mask:
88
+ desc: null
89
+ value: false
90
+ add_coord_conv_map:
91
+ desc: null
92
+ value: false
93
+ use_context_color:
94
+ desc: null
95
+ value: false
96
+ use_context_depth:
97
+ desc: null
98
+ value: false
99
+ use_context_segmask:
100
+ desc: null
101
+ value: false
102
+ context_color_crop_type:
103
+ desc: null
104
+ value: null
105
+ context_depth_crop_type:
106
+ desc: null
107
+ value: null
108
+ context_segmask_crop_type:
109
+ desc: null
110
+ value: null
111
+ context_add_crop_binary_mask:
112
+ desc: null
113
+ value: false
114
+ context_add_coord_conv_map:
115
+ desc: null
116
+ value: false
117
+ use_contact_map:
118
+ desc: null
119
+ value: false
120
+ use_sdf_maps:
121
+ desc: null
122
+ value: false
123
+ use_normals_maps:
124
+ desc: null
125
+ value: false
126
+ which_objects:
127
+ desc: null
128
+ value: both
129
+ max_contact_prob:
130
+ desc: null
131
+ value: 0.1
132
+ max_depth:
133
+ desc: null
134
+ value: 2.0
135
+ grasped_dtc_max_value:
136
+ desc: null
137
+ value: 0.2
138
+ env_dtc_max_value:
139
+ desc: null
140
+ value: 0.4
141
+ grasped_normals_mask_max_dtc_value:
142
+ desc: null
143
+ value: 0.2
144
+ env_normals_mask_max_dtc_value:
145
+ desc: null
146
+ value: 0.4
147
+ clamp_dtc:
148
+ desc: null
149
+ value: true
150
+ dtc_adaptive_normalization:
151
+ desc: null
152
+ value: false
153
+ mask_normals_within_sdf:
154
+ desc: null
155
+ value: true
156
+ adaptive_normals_mask:
157
+ desc: null
158
+ value: true
159
+ learnable_contact_preprocess_params:
160
+ desc: null
161
+ value: true
162
+ contact_model_name:
163
+ desc: null
164
+ value: local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9
165
+ contact_estimation_model_ckpt_path:
166
+ desc: null
167
+ value: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
168
+ encoder_type:
169
+ desc: null
170
+ value: small
171
+ debug_timestamps:
172
+ desc: null
173
+ value: false
174
+ open_loop:
175
+ desc: null
176
+ value: false
177
+ action_trajectories:
178
+ desc: null
179
+ value: true
180
+ stop_after_action:
181
+ desc: null
182
+ value: false
183
+ interpolation_frequency:
184
+ desc: null
185
+ value: 25
186
+ policy_frequency:
187
+ desc: null
188
+ value: 5
189
+ wait_for_new_camera_frames:
190
+ desc: null
191
+ value: true
192
+ baseline:
193
+ desc: null
194
+ value: false
195
+ train_demo_idxs_list_or_num:
196
+ desc: null
197
+ value: -1
198
+ log_train_every_steps:
199
+ desc: null
200
+ value: 25
201
+ name_of_expert_demo:
202
+ desc: null
203
+ value: 64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
204
+ expert_dataset_dirpath:
205
+ desc: null
206
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
207
+ store_dataset_in_memory:
208
+ desc: null
209
+ value: false
210
+ expert_dataset:
211
+ desc: null
212
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr
213
+ action_key:
214
+ desc: null
215
+ value: action_trajectory_25hz
216
+ semantic_demo_grouping_name:
217
+ desc: null
218
+ value: semantic_demo_grouping.yaml
219
+ semantic_demo_grouping:
220
+ desc: null
221
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/semantic_demo_grouping.yaml
222
+ include_groups_list:
223
+ desc: null
224
+ value:
225
+ - hbm_twodim_left_to_right
226
+ expert_dataset_config:
227
+ desc: null
228
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demo_config.yaml
229
+ name_of_valid_demo:
230
+ desc: null
231
+ value: 64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
232
+ valid_dataset_dir:
233
+ desc: null
234
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr
235
+ valid_demo_idxs_list_or_num:
236
+ desc: null
237
+ value: null
238
+ val_num_groups:
239
+ desc: null
240
+ value: 16
241
+ load_bc:
242
+ desc: null
243
+ value: true
244
+ checkpoint_epoch_list:
245
+ desc: null
246
+ value:
247
+ - 99
248
+ - 199
249
+ - 299
250
+ - 399
251
+ - 499
252
+ - 599
253
+ - 699
254
+ - 799
255
+ - 899
256
+ - 999
257
+ - 1249
258
+ - 1499
259
+ - 1749
260
+ - 1999
261
+ - 2999
262
+ - 3999
263
+ - 4999
264
+ - 5999
265
+ - 6999
266
+ - 7999
267
+ - 8999
268
+ - 9999
269
+ snapshot_root_dir:
270
+ desc: null
271
+ value: /mnt/grasp_high_usage/leonmkim/contact_estimation/FISH
272
+ save_snapshot:
273
+ desc: null
274
+ value: true
275
+ save_last_snapshot:
276
+ desc: null
277
+ value: true
278
+ save_snapshot_when_done:
279
+ desc: null
280
+ value: true
281
+ top_k_checkpoints:
282
+ desc: null
283
+ value: 5
284
+ save_snapshot_link_to_weights_dir:
285
+ desc: null
286
+ value: deprecated
287
+ bc_regularize:
288
+ desc: null
289
+ value: false
290
+ bc_weight_type:
291
+ desc: null
292
+ value: qfilter
293
+ experiment_dir:
294
+ desc: null
295
+ value: ./exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0
296
+ agent:
297
+ desc: null
298
+ value:
299
+ _target_: agent.diffusion_policy.DiffusionPolicyAgent
300
+ name: diffusion_policy
301
+ load_checkpoint: true
302
+ obs_shape:
303
+ - 4
304
+ - 240
305
+ - 320
306
+ action_shape:
307
+ - 36
308
+ - 7
309
+ device: cuda
310
+ n_obs_steps: 1
311
+ suite_name: frankagym
312
+ obs_type: pixels
313
+ enable_arm: true
314
+ enable_camera: true
315
+ use_tb: true
316
+ desired_image_shape:
317
+ - 13
318
+ - 180
319
+ - 240
320
+ orig_cam_shape:
321
+ - 3
322
+ - 240
323
+ - 320
324
+ config:
325
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
326
+ compile: false
327
+ device: cuda
328
+ cam_resize_shape:
329
+ - 13
330
+ - 180
331
+ - 240
332
+ orig_cam_shape:
333
+ - 3
334
+ - 240
335
+ - 320
336
+ policy_frequency: 5
337
+ interpolation_frequency: 25
338
+ policy_cfg:
339
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
340
+ n_obs_steps: 1
341
+ horizon: 36
342
+ n_action_steps: 36
343
+ output_shapes:
344
+ action:
345
+ - 7
346
+ input_normalization_modes:
347
+ observation.image: mean_std
348
+ observation.state: min_max
349
+ observation.action_history: min_max
350
+ output_normalization_modes:
351
+ action: min_max
352
+ vision_backbone: resnet18
353
+ pretrained_backbone_weights: null
354
+ transforms:
355
+ - _target_: torchaug.transforms.RandomAffine
356
+ degrees:
357
+ - -5
358
+ - 5
359
+ translate:
360
+ - 0.05
361
+ - 0.05
362
+ batch_transform: true
363
+ num_chunks: -1
364
+ batch_inplace: true
365
+ - _target_: torchaug.transforms.RandomColorJitter
366
+ brightness: 0.3
367
+ contrast: 0.4
368
+ saturation: 0.5
369
+ hue: 0.08
370
+ batch_transform: true
371
+ num_chunks: -1
372
+ batch_inplace: true
373
+ use_group_norm: true
374
+ spatial_softmax_num_keypoints: 32
375
+ action_history_encoder_config:
376
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
377
+ in_channels: 7
378
+ out_channels: 32
379
+ history_length: 6
380
+ kernel_size: 5
381
+ downsample_kernel_size: 3
382
+ downsample_stride: 2
383
+ downsample_padding: 1
384
+ down_dims:
385
+ - 256
386
+ - 512
387
+ - 1024
388
+ kernel_size: 5
389
+ n_groups: 8
390
+ diffusion_step_embed_dim: 128
391
+ use_film_scale_modulation: true
392
+ noise_scheduler_type: DDIM
393
+ beta_schedule: squaredcos_cap_v2
394
+ beta_start: 0.0001
395
+ beta_end: 0.02
396
+ prediction_type: epsilon
397
+ clip_sample: true
398
+ clip_sample_range: 1.0
399
+ num_train_timesteps: 50
400
+ num_inference_steps: 10
401
+ do_mask_loss_for_padding: false
402
+ input_shapes:
403
+ observation.image:
404
+ - 13
405
+ - 180
406
+ - 240
407
+ context_observation.image:
408
+ - 13
409
+ - 180
410
+ - 240
411
+ observation.state:
412
+ - 8
413
+ observation.action_history:
414
+ - 7
415
+ train_cfg:
416
+ _target_: utils.TrainConfig
417
+ lr: 0.0001
418
+ lr_scheduler: cosine
419
+ lr_warmup_steps: 500
420
+ adam_betas:
421
+ - 0.95
422
+ - 0.999
423
+ adam_eps: 1.0e-08
424
+ adam_weight_decay: 1.0e-06
425
+ grad_clip_norm: 10
426
+ offline_steps: 1000000
427
+ use_amp: true
428
+ observation_cfg:
429
+ _target_: agent.encoder.VisualFeatureSet
430
+ use_depth: true
431
+ use_color: true
432
+ mask_input_dict:
433
+ _target_: agent.encoder.MaskInputDict
434
+ enable: false
435
+ representation: channels
436
+ mask_list:
437
+ - EE_obj_mask
438
+ crop_input_config:
439
+ _target_: agent.encoder.CropInputConfig
440
+ color_crop_type: null
441
+ depth_crop_type: null
442
+ segmask_crop_type: null
443
+ crop_hw:
444
+ - 144
445
+ - 144
446
+ crop_down_offset: 48
447
+ add_crop_binary_mask: false
448
+ add_coord_conv_map: false
449
+ context_input_config:
450
+ _target_: agent.encoder.ContextInputConfig
451
+ use_color: false
452
+ use_depth: false
453
+ mask_input_dict:
454
+ _target_: agent.encoder.MaskInputDict
455
+ enable: false
456
+ representation: channels
457
+ mask_list:
458
+ - EE_obj_mask
459
+ crop_input_config:
460
+ _target_: agent.encoder.CropInputConfig
461
+ color_crop_type: null
462
+ depth_crop_type: null
463
+ segmask_crop_type: null
464
+ crop_hw:
465
+ - 144
466
+ - 144
467
+ crop_down_offset: 48
468
+ add_crop_binary_mask: false
469
+ add_coord_conv_map: false
470
+ mask_soft_approx_scheduler_config:
471
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
472
+ num_steps: 40000
473
+ initial_value: 10.0
474
+ final_value: 1000.0
475
+ interpolation_scheme: cosine
476
+ use_contact_map: false
477
+ use_sdf_maps: false
478
+ use_normals_maps: false
479
+ which_objects: both
480
+ grasped_dtc_max_value: 0.2
481
+ env_dtc_max_value: 0.4
482
+ grasped_normals_mask_max_dtc_value: 0.2
483
+ env_normals_mask_max_dtc_value: 0.4
484
+ clamp_dtc: true
485
+ max_contact_prob: 0.1
486
+ mask_normals_within_sdf: true
487
+ dtc_adaptive_normalization: false
488
+ adaptive_normals_mask: true
489
+ max_depth: 2.0
490
+ image_shape:
491
+ - 13
492
+ - 180
493
+ - 240
494
+ learnable_contact_preprocess_params: true
495
+ learning_rate: 0.0001
496
+ weight_decay: 0.0
497
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9
498
+ zero_centered: false
499
+ suite:
500
+ desc: null
501
+ value:
502
+ suite: frankagym
503
+ name: frankagym
504
+ frame_stack: 1
505
+ action_repeat: 1
506
+ discount: 0.99
507
+ hidden_dim: 1024
508
+ num_train_frames: 2010
509
+ num_seed_frames: 260
510
+ num_train_epochs: 5000
511
+ validate_every_epochs: 100
512
+ validate_diffusion_on_action_loss_every_epochs: 500
513
+ train_eval_diffusion_on_action_loss_every_epochs: 500
514
+ check_topk_every_epochs: 10
515
+ save_snapshot_every_epochs: 5000
516
+ eval_every_frames: 2000
517
+ num_eval_episodes: 5
518
+ save_snapshot: true
519
+ wait_for_user_to_start_episode: true
520
+ task_make_fn:
521
+ _target_: suite.frankagym.make
522
+ name: FrankaInsertion-v1
523
+ height: 240
524
+ width: 320
525
+ frame_stack: 1
526
+ action_repeat: 1
527
+ seed: 0
528
+ enable_arm: true
529
+ enable_gripper: true
530
+ start_with_gripper_open: true
531
+ enable_camera: true
532
+ path_to_depth_extrinsics: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
533
+ contact_estimation_model_ckpt_path: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
534
+ x_limit:
535
+ - 0.2
536
+ - 0.7
537
+ y_limit:
538
+ - -0.4
539
+ - 0.4
540
+ z_limit:
541
+ - -0.05
542
+ - 0.55
543
+ device: cuda
544
+ interpolation_frequency: 25
545
+ policy_frequency: 5
546
+ debug_timestamps: false
547
+ stop_after_action: false
548
+ open_loop: false
549
+ wait_for_new_camera_frames: true
550
+ action_key: action_trajectory_25hz
551
+ action_trajectory_horizon: 36
552
+ action_trajectories: true
553
+ path_to_zarr_dataset: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr
554
+ observation_cfg:
555
+ _target_: agent.encoder.VisualFeatureSet
556
+ use_depth: true
557
+ use_color: true
558
+ mask_input_dict:
559
+ _target_: agent.encoder.MaskInputDict
560
+ enable: false
561
+ representation: channels
562
+ mask_list:
563
+ - EE_obj_mask
564
+ crop_input_config:
565
+ _target_: agent.encoder.CropInputConfig
566
+ color_crop_type: null
567
+ depth_crop_type: null
568
+ segmask_crop_type: null
569
+ crop_hw:
570
+ - 144
571
+ - 144
572
+ crop_down_offset: 48
573
+ add_crop_binary_mask: false
574
+ add_coord_conv_map: false
575
+ context_input_config:
576
+ _target_: agent.encoder.ContextInputConfig
577
+ use_color: false
578
+ use_depth: false
579
+ mask_input_dict:
580
+ _target_: agent.encoder.MaskInputDict
581
+ enable: false
582
+ representation: channels
583
+ mask_list:
584
+ - EE_obj_mask
585
+ crop_input_config:
586
+ _target_: agent.encoder.CropInputConfig
587
+ color_crop_type: null
588
+ depth_crop_type: null
589
+ segmask_crop_type: null
590
+ crop_hw:
591
+ - 144
592
+ - 144
593
+ crop_down_offset: 48
594
+ add_crop_binary_mask: false
595
+ add_coord_conv_map: false
596
+ mask_soft_approx_scheduler_config:
597
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
598
+ num_steps: 40000
599
+ initial_value: 10.0
600
+ final_value: 1000.0
601
+ interpolation_scheme: cosine
602
+ use_contact_map: false
603
+ use_sdf_maps: false
604
+ use_normals_maps: false
605
+ which_objects: both
606
+ grasped_dtc_max_value: 0.2
607
+ env_dtc_max_value: 0.4
608
+ grasped_normals_mask_max_dtc_value: 0.2
609
+ env_normals_mask_max_dtc_value: 0.4
610
+ clamp_dtc: true
611
+ max_contact_prob: 0.1
612
+ mask_normals_within_sdf: true
613
+ dtc_adaptive_normalization: false
614
+ adaptive_normals_mask: true
615
+ max_depth: 2.0
616
+ image_shape:
617
+ - 13
618
+ - 180
619
+ - 240
620
+ learnable_contact_preprocess_params: true
621
+ learning_rate: 0.0001
622
+ weight_decay: 0.0
623
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9
624
+ zero_centered: false
625
+ agent_policy_cfg:
626
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
627
+ compile: false
628
+ device: cuda
629
+ cam_resize_shape:
630
+ - 13
631
+ - 180
632
+ - 240
633
+ orig_cam_shape:
634
+ - 3
635
+ - 240
636
+ - 320
637
+ policy_frequency: 5
638
+ interpolation_frequency: 25
639
+ policy_cfg:
640
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
641
+ n_obs_steps: 1
642
+ horizon: 36
643
+ n_action_steps: 36
644
+ output_shapes:
645
+ action:
646
+ - 7
647
+ input_normalization_modes:
648
+ observation.image: mean_std
649
+ observation.state: min_max
650
+ observation.action_history: min_max
651
+ output_normalization_modes:
652
+ action: min_max
653
+ vision_backbone: resnet18
654
+ pretrained_backbone_weights: null
655
+ transforms:
656
+ - _target_: torchaug.transforms.RandomAffine
657
+ degrees:
658
+ - -5
659
+ - 5
660
+ translate:
661
+ - 0.05
662
+ - 0.05
663
+ batch_transform: true
664
+ num_chunks: -1
665
+ batch_inplace: true
666
+ - _target_: torchaug.transforms.RandomColorJitter
667
+ brightness: 0.3
668
+ contrast: 0.4
669
+ saturation: 0.5
670
+ hue: 0.08
671
+ batch_transform: true
672
+ num_chunks: -1
673
+ batch_inplace: true
674
+ use_group_norm: true
675
+ spatial_softmax_num_keypoints: 32
676
+ action_history_encoder_config:
677
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
678
+ in_channels: 7
679
+ out_channels: 32
680
+ history_length: 6
681
+ kernel_size: 5
682
+ downsample_kernel_size: 3
683
+ downsample_stride: 2
684
+ downsample_padding: 1
685
+ down_dims:
686
+ - 256
687
+ - 512
688
+ - 1024
689
+ kernel_size: 5
690
+ n_groups: 8
691
+ diffusion_step_embed_dim: 128
692
+ use_film_scale_modulation: true
693
+ noise_scheduler_type: DDIM
694
+ beta_schedule: squaredcos_cap_v2
695
+ beta_start: 0.0001
696
+ beta_end: 0.02
697
+ prediction_type: epsilon
698
+ clip_sample: true
699
+ clip_sample_range: 1.0
700
+ num_train_timesteps: 50
701
+ num_inference_steps: 10
702
+ do_mask_loss_for_padding: false
703
+ input_shapes:
704
+ observation.image:
705
+ - 13
706
+ - 180
707
+ - 240
708
+ context_observation.image:
709
+ - 13
710
+ - 180
711
+ - 240
712
+ observation.state:
713
+ - 8
714
+ observation.action_history:
715
+ - 7
716
+ train_cfg:
717
+ _target_: utils.TrainConfig
718
+ lr: 0.0001
719
+ lr_scheduler: cosine
720
+ lr_warmup_steps: 500
721
+ adam_betas:
722
+ - 0.95
723
+ - 0.999
724
+ adam_eps: 1.0e-08
725
+ adam_weight_decay: 1.0e-06
726
+ grad_clip_norm: 10
727
+ offline_steps: 1000000
728
+ use_amp: true
729
+ observation_cfg:
730
+ _target_: agent.encoder.VisualFeatureSet
731
+ use_depth: true
732
+ use_color: true
733
+ mask_input_dict:
734
+ _target_: agent.encoder.MaskInputDict
735
+ enable: false
736
+ representation: channels
737
+ mask_list:
738
+ - EE_obj_mask
739
+ crop_input_config:
740
+ _target_: agent.encoder.CropInputConfig
741
+ color_crop_type: null
742
+ depth_crop_type: null
743
+ segmask_crop_type: null
744
+ crop_hw:
745
+ - 144
746
+ - 144
747
+ crop_down_offset: 48
748
+ add_crop_binary_mask: false
749
+ add_coord_conv_map: false
750
+ context_input_config:
751
+ _target_: agent.encoder.ContextInputConfig
752
+ use_color: false
753
+ use_depth: false
754
+ mask_input_dict:
755
+ _target_: agent.encoder.MaskInputDict
756
+ enable: false
757
+ representation: channels
758
+ mask_list:
759
+ - EE_obj_mask
760
+ crop_input_config:
761
+ _target_: agent.encoder.CropInputConfig
762
+ color_crop_type: null
763
+ depth_crop_type: null
764
+ segmask_crop_type: null
765
+ crop_hw:
766
+ - 144
767
+ - 144
768
+ crop_down_offset: 48
769
+ add_crop_binary_mask: false
770
+ add_coord_conv_map: false
771
+ mask_soft_approx_scheduler_config:
772
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
773
+ num_steps: 40000
774
+ initial_value: 10.0
775
+ final_value: 1000.0
776
+ interpolation_scheme: cosine
777
+ use_contact_map: false
778
+ use_sdf_maps: false
779
+ use_normals_maps: false
780
+ which_objects: both
781
+ grasped_dtc_max_value: 0.2
782
+ env_dtc_max_value: 0.4
783
+ grasped_normals_mask_max_dtc_value: 0.2
784
+ env_normals_mask_max_dtc_value: 0.4
785
+ clamp_dtc: true
786
+ max_contact_prob: 0.1
787
+ mask_normals_within_sdf: true
788
+ dtc_adaptive_normalization: false
789
+ adaptive_normals_mask: true
790
+ max_depth: 2.0
791
+ image_shape:
792
+ - 13
793
+ - 180
794
+ - 240
795
+ learnable_contact_preprocess_params: true
796
+ learning_rate: 0.0001
797
+ weight_decay: 0.0
798
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9
799
+ zero_centered: false
800
+ true_action_history: false
801
+ num_train_frames_bc:
802
+ desc: null
803
+ value: 50000
804
+ num_train_frames_drq:
805
+ desc: null
806
+ value: 1100000
807
+ stddev_schedule_drq:
808
+ desc: null
809
+ value: linear(1.0,0.1,100000)
810
+ task_name:
811
+ desc: null
812
+ value: FrankaInsertion-v1
813
+ num_train_frames_vinn:
814
+ desc: null
815
+ value: 25000
816
+ num_train_frames_diffusion:
817
+ desc: null
818
+ value: 1000000
819
+ num_train_epochs_bc:
820
+ desc: null
821
+ value: 5000
822
+ num_train_epochs_diffusion:
823
+ desc: null
824
+ value: 15000
825
+ validate_every_epochs_bc:
826
+ desc: null
827
+ value: 5
828
+ validate_every_epochs_diffusion:
829
+ desc: null
830
+ value: 250
831
+ validate_diffusion_on_action_loss_every_epochs:
832
+ desc: null
833
+ value: 250
834
+ train_eval_diffusion_on_action_loss_every_epochs:
835
+ desc: null
836
+ value: 250
837
+ check_topk_every_epochs:
838
+ desc: null
839
+ value: 5
840
+ check_topk_every_epochs_diffusion:
841
+ desc: null
842
+ value: 250
843
+ save_snapshot_every_epochs_diffusion:
844
+ desc: null
845
+ value: 1500
846
+ x_limit:
847
+ desc: null
848
+ value:
849
+ - 0.2
850
+ - 0.7
851
+ y_limit:
852
+ desc: null
853
+ value:
854
+ - -0.4
855
+ - 0.4
856
+ z_limit:
857
+ desc: null
858
+ value:
859
+ - -0.05
860
+ - 0.55
861
+ home_displacement:
862
+ desc: null
863
+ value:
864
+ - 0.55
865
+ - 0.0
866
+ - 0.55
867
+ - 180.0
868
+ - 0.0
869
+ - 0.0
870
+ enable_gripper:
871
+ desc: null
872
+ value: true
873
+ start_with_gripper_open:
874
+ desc: null
875
+ value: true
876
+ offset_mask:
877
+ desc: null
878
+ value:
879
+ - 1
880
+ - 1
881
+ - 1
882
+ - 1
883
+ - 1
884
+ - 1
885
+ path_to_depth_extrinsics:
886
+ desc: null
887
+ value: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
888
+ feature_type:
889
+ desc: null
890
+ value: 180x240_1_RGB_D_2.0_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1
891
+ save_buffer:
892
+ desc: null
893
+ value: true
894
+ num_eval:
895
+ desc: null
896
+ value: 5
897
+ random_start:
898
+ desc: null
899
+ value: false
900
+ eval_starts:
901
+ desc: null
902
+ value: /home/leonmkim/fish_leon/FISH/eval_starts/frankagym_pixels/FrankaInsertion-v1
903
+ num_valid_demos:
904
+ desc: null
905
+ value: null
906
+ load_checkpoint:
907
+ desc: null
908
+ value: true
909
+ true_action_history:
910
+ desc: null
911
+ value: false
912
+ checkpoint_epoch:
913
+ desc: null
914
+ value: 12000
915
+ load_residual_weight:
916
+ desc: null
917
+ value: false
918
+ checkpoint_root_dir:
919
+ desc: null
920
+ value: /home/leonmkim/fish_leon/FISH
921
+ checkpoint_weight_dir:
922
+ desc: null
923
+ value: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0
924
+ residual_weight:
925
+ desc: null
926
+ value: /home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt
927
+ _wandb:
928
+ desc: null
929
+ value:
930
+ code_path: code/FISH/eval_robot.py
931
+ python_version: 3.10.14
932
+ cli_version: 0.17.5
933
+ framework: torch
934
+ is_jupyter_run: false
935
+ is_kaggle_kernel: false
936
+ start_time: 1733962420
937
+ t:
938
+ 1:
939
+ - 1
940
+ - 41
941
+ - 49
942
+ - 50
943
+ - 55
944
+ - 83
945
+ 2:
946
+ - 1
947
+ - 41
948
+ - 49
949
+ - 50
950
+ - 55
951
+ - 83
952
+ 3:
953
+ - 16
954
+ - 23
955
+ - 35
956
+ 4: 3.10.14
957
+ 5: 0.17.5
958
+ 8:
959
+ - 5
960
+ 13: linux-x86_64
961
+ grasped_obj_name:
962
+ desc: null
963
+ value: hbm
964
+ left_book_slot:
965
+ desc: null
966
+ value: twodim
191334/wandb/run-20241211_191340-l07wa4hd/files/diff.patch ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/FISH/cfgs/config_eval.yaml b/FISH/cfgs/config_eval.yaml
2
+ index 91f9f99..bb7c714 100644
3
+ --- a/FISH/cfgs/config_eval.yaml
4
+ +++ b/FISH/cfgs/config_eval.yaml
5
+ @@ -124,7 +124,17 @@ bc_weight_type: 'qfilter' # linear, qfilter
6
+ # Load weights
7
+ load_checkpoint: ${agent.load_checkpoint}
8
+ # 64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
9
+ -# full dataset
10
+ +# full 32 demos
11
+ +# wandb_run_id: "265625" # RGBD history seed 0
12
+ +# wandb_run_id: "266370_1" # RGBD history seed 1
13
+ +# wandb_run_id: "266370_2" # RGBD history seed 2
14
+ +# wandb_run_id: "266382_4" # RGBD history seed 4
15
+ +
16
+ +# 16 held out demos (16 demos)
17
+ +# wandb_run_id: "266392_0" # RGBD+act history dataset seed 0
18
+ +# wandb_run_id: "266407_0" # RGBD+act history dataset seed 1
19
+ +wandb_run_id: "266406_0" # RGBD+act history dataset seed 2
20
+ +
21
+ # wandb_run_id: "265626" # RGBD+Mask+act history seed 0
22
+ # wandb_run_id: "265638" # RGBD+Mask+act history seed 1
23
+ # wandb_run_id: "265637" # RGBD+Mask+act history seed 2
24
+ @@ -135,7 +145,32 @@ load_checkpoint: ${agent.load_checkpoint}
25
+ # wandb_run_id: "265630" # RGBD+Mask+contact+act history seed 1
26
+ # wandb_run_id: "265631" # RGBD+Mask+contact+act history seed 2
27
+ # wandb_run_id: "265633" # RGBD+Mask+contact+act history seed 3
28
+ -wandb_run_id: "265634" # RGBD+Mask+contact+act history seed 4
29
+ +# wandb_run_id: "265634" # RGBD+Mask+contact+act history seed 4
30
+ +
31
+ +# 8 held out demos (26 demos)
32
+ +# wandb_run_id: "265652" # RGBD+Mask+contact+act history dataset seed 0
33
+ +# wandb_run_id: "265654" # RGBD+Mask+contact+act history dataset seed 1
34
+ +# wandb_run_id: "265655" # RGBD+Mask+contact+act history dataset seed 2
35
+ +
36
+ +# 8 held out demos (26 demos)
37
+ +# wandb_run_id: "265656" # RGBD+Mask+act history dataset seed 0
38
+ +# wandb_run_id: "265657" # RGBD+Mask+act history dataset seed 1
39
+ +# wandb_run_id: "265658" # RGBD+Mask+act history dataset seed 2
40
+ +
41
+ +# 16 held out demos (16 demos)
42
+ +# wandb_run_id: "265641" # RGBD+Mask+act history dataset seed 0
43
+ +# wandb_run_id: "265644" # RGBD+Mask+act history dataset seed 1
44
+ +# wandb_run_id: "265645" # RGBD+Mask+act history dataset seed 2
45
+ +# wandb_run_id: "266381_0" # RGBD+Mask+act history dataset seed 4
46
+ +
47
+ +# 16 held out demos (16 demos)
48
+ +# wandb_run_id: "265646" # RGBD+Mask+Contact+act history dataset seed 0
49
+ +# wandb_run_id: "265649" # RGBD+Mask+Contact+act history dataset seed 1
50
+ +# wandb_run_id: "265650" # RGBD+Mask+Contact+act history dataset seed 2
51
+ +# wandb_run_id: "266378_0" # RGBD+Mask+Contact+act history dataset seed 4
52
+ +
53
+ +
54
+ +
55
+
56
+ # 54_240x320_hbm_twodim_fps_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
57
+ # full dataset
191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/0_eval_0_3da136561a2ad42749fd.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3da136561a2ad42749fdae27d6475d37bd6904f003bb617bd102700e75835318
3
+ size 1151012
191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/1_eval_1_3a45ace652f05385ee75.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3a45ace652f05385ee7562019925e1bc1406b8fdc00f0c2a8c0f3a6261051e5f
3
+ size 1151665
191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/2_eval_2_c9cccf7ec7cae45b2fa1.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c9cccf7ec7cae45b2fa152dff13e74643ef89365bb489c5d108e4a154438176e
3
+ size 1239572
191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/3_eval_3_334d1f02994a0fcdeda5.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:334d1f02994a0fcdeda5419961508a7e674f6bbf2f7c4b38d27d336ee27676ec
3
+ size 1243778
191334/wandb/run-20241211_191340-l07wa4hd/files/media/videos/eval/4_eval_4_35283caf4103c3829cd1.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35283caf4103c3829cd1d42553a2a9aa55f66bad96d4d9acf1eb68d56d1ef317
3
+ size 1268903
191334/wandb/run-20241211_191340-l07wa4hd/files/output.log ADDED
@@ -0,0 +1,263 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ loaded agent with feature_type: 180x240_1_RGB_D_2.0_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1
3
+ [INFO] [1733962425.501528]: resetting environment
4
+ [INFO] [1733962425.503741]: cleared current plan
5
+ [INFO] [1733962425.504970]: moving to home
6
+ [INFO] [1733962426.507431]: reached home
7
+ [INFO] [1733962426.508574]: reset action history
8
+ [INFO] [1733962429.215545]: environment reset
9
+ Starting episode 0
10
+ [INFO] [1733962429.217764]: resetting environment
11
+ [INFO] [1733962429.218818]: cleared current plan
12
+ [INFO] [1733962429.219946]: moving to home
13
+ [INFO] [1733962430.221876]: reached home
14
+ [INFO] [1733962430.223264]: reset action history
15
+ [INFO] [1733962432.930119]: environment reset
16
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
17
+ proceeding to start episode!
18
+ [INFO] [1733962437.294333]: resetting environment
19
+ [INFO] [1733962437.296180]: cleared current plan
20
+ [INFO] [1733962437.298259]: moving to home
21
+ [INFO] [1733962438.300680]: reached home
22
+ [INFO] [1733962438.301981]: reset action history
23
+ [INFO] [1733962441.009679]: environment reset
24
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/episode_rosbags/episode_0_2024-12-11-19-14-01.bag
25
+ ... logging to /home/leonmkim/.ros/log/1408e5ba-b74f-11ef-9a34-5546d6409a19/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-773302.log
26
+ started roslaunch server http://158.130.50.37:46681/
27
+ SUMMARY
28
+ ========
29
+ PARAMETERS
30
+ * /rosdistro: noetic
31
+ * /rosversion: 1.16.0
32
+ NODES
33
+ /
34
+ print_text (rostopic/rostopic)
35
+ pub_text (rostopic/rostopic)
36
+ rosbag_record (rosbag/record)
37
+ ROS_MASTER_URI=http://localhost:11311
38
+ process[pub_text-1]: started with pid [773570]
39
+ process[print_text-2]: started with pid [773571]
40
+ process[rosbag_record-3]: started with pid [773572]
41
+ started bagging!
42
+ For topic gripper_width: timestamp difference is -112948682 for nearest: 1733962447823948119 - target: 1733962447936896801 at idx 91
43
+ For topic gripper_width: timestamp difference is -106565939 for nearest: 1733962455823925985 - target: 1733962455930491924 at idx 201
44
+ For topic gripper_width: timestamp difference is -136166518 for nearest: 1733962460423930700 - target: 1733962460560097218 at idx 249
45
+ [INFO] [1733962468.417341]: Storing episode...
46
+ [rosbag_record-3] killing on exit
47
+ [print_text-2] killing on exit
48
+ [pub_text-1] killing on exit
49
+ [INFO] [1733962469.138559]: Stored episode 1.
50
+ [INFO] [1733962469.139868]: Saving video...
51
+ [INFO] [1733962469.316209]: Video saved!
52
+ Starting episode 1
53
+ [INFO] [1733962469.330705]: resetting environment
54
+ [INFO] [1733962469.331486]: cleared current plan
55
+ [INFO] [1733962469.331859]: moving to home
56
+ [INFO] [1733962472.136437]: reached home
57
+ [INFO] [1733962472.136898]: reset action history
58
+ [INFO] [1733962474.842866]: environment reset
59
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
60
+ proceeding to start episode![INFO] [1733962477.228348]: resetting environment
61
+ [INFO] [1733962477.229371]: cleared current plan
62
+ [INFO] [1733962477.230343]: moving to home
63
+ [INFO] [1733962478.232135]: reached home
64
+ [INFO] [1733962478.232627]: reset action history
65
+ [INFO] [1733962480.939046]: environment reset
66
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/episode_rosbags/episode_1_2024-12-11-19-14-40.bag
67
+ ... logging to /home/leonmkim/.ros/log/1408e5ba-b74f-11ef-9a34-5546d6409a19/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-773302.log
68
+ started roslaunch server http://158.130.50.37:34167/
69
+ SUMMARY
70
+ ========
71
+ PARAMETERS
72
+ * /rosdistro: noetic
73
+ * /rosversion: 1.16.0
74
+ NODES
75
+ /
76
+ print_text (rostopic/rostopic)
77
+ pub_text (rostopic/rostopic)
78
+ rosbag_record (rosbag/record)
79
+ ROS_MASTER_URI=http://localhost:11311
80
+ process[pub_text-4]: started with pid [773676]
81
+ process[print_text-5]: started with pid [773700]
82
+ process[rosbag_record-6]: started with pid [773701]
83
+ started bagging!
84
+ For topic gripper_width: timestamp difference is -127159754 for nearest: 1733962485323950132 - target: 1733962485451109886 at idx 61
85
+ For topic gripper_width: timestamp difference is -155548493 for nearest: 1733962487723923047 - target: 1733962487879471540 at idx 95
86
+ For topic gripper_width: timestamp difference is -148979598 for nearest: 1733962490923924274 - target: 1733962491072903872 at idx 138
87
+ For topic gripper_width: timestamp difference is -140346101 for nearest: 1733962495123938271 - target: 1733962495264284372 at idx 193
88
+ For topic gripper_width: timestamp difference is -131602562 for nearest: 1733962507323947870 - target: 1733962507455550432 at idx 249
89
+ [INFO] [1733962508.326133]: Storing episode...
90
+ [print_text-5] killing on exit
91
+ [rosbag_record-6] killing on exit
92
+ [pub_text-4] killing on exit
93
+ [INFO] [1733962509.085617]: Stored episode 2.
94
+ [INFO] [1733962509.086154]: Saving video...
95
+ [INFO] [1733962509.572251]: Video saved!
96
+ Starting episode 2
97
+ [INFO] [1733962509.600026]: resetting environment
98
+ [INFO] [1733962509.602875]: cleared current plan
99
+ [INFO] [1733962509.604208]: moving to home
100
+ [INFO] [1733962512.508029]: reached home
101
+ [INFO] [1733962512.520455]: reset action history
102
+ [INFO] [1733962515.294815]: environment reset
103
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
104
+ proceeding to start episode![INFO] [1733962546.139461]: resetting environment
105
+ [INFO] [1733962546.141481]: cleared current plan
106
+ [INFO] [1733962546.145852]: moving to home
107
+ [INFO] [1733962547.149337]: reached home
108
+ [INFO] [1733962547.156180]: reset action history
109
+ [INFO] [1733962549.930298]: environment reset
110
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/episode_rosbags/episode_2_2024-12-11-19-15-49.bag
111
+ ... logging to /home/leonmkim/.ros/log/1408e5ba-b74f-11ef-9a34-5546d6409a19/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-773302.log
112
+ started roslaunch server http://158.130.50.37:36179/
113
+ SUMMARY
114
+ ========
115
+ PARAMETERS
116
+ * /rosdistro: noetic
117
+ * /rosversion: 1.16.0
118
+ NODES
119
+ /
120
+ print_text (rostopic/rostopic)
121
+ pub_text (rostopic/rostopic)
122
+ rosbag_record (rosbag/record)
123
+ ROS_MASTER_URI=http://localhost:11311
124
+ process[pub_text-7]: started with pid [773830]
125
+ process[print_text-8]: started with pid [773831]
126
+ process[rosbag_record-9]: started with pid [773832]
127
+ started bagging!
128
+ For topic gripper_width: timestamp difference is -121712330 for nearest: 1733962560923941490 - target: 1733962561045653820 at idx 139
129
+ For topic gripper_width: timestamp difference is -121584876 for nearest: 1733962561123918788 - target: 1733962561245503664 at idx 141
130
+ For topic gripper_width: timestamp difference is -120972463 for nearest: 1733962561923882178 - target: 1733962562044854641 at idx 155
131
+ For topic gripper_width: timestamp difference is -120303925 for nearest: 1733962562723903362 - target: 1733962562844207287 at idx 163
132
+ For topic gripper_width: timestamp difference is -120126467 for nearest: 1733962562923921365 - target: 1733962563044047832 at idx 165
133
+ For topic gripper_width: timestamp difference is -118874620 for nearest: 1733962564523924281 - target: 1733962564642798901 at idx 186
134
+ For topic gripper_width: timestamp difference is -118712489 for nearest: 1733962564723919566 - target: 1733962564842632055 at idx 188
135
+ For topic gripper_width: timestamp difference is -118241561 for nearest: 1733962565323890912 - target: 1733962565442132473 at idx 195
136
+ For topic gripper_width: timestamp difference is -118048299 for nearest: 1733962565523924004 - target: 1733962565641972303 at idx 197
137
+ For topic gripper_width: timestamp difference is -116245178 for nearest: 1733962567723945233 - target: 1733962567840190411 at idx 227
138
+ For topic gripper_width: timestamp difference is -116117827 for nearest: 1733962567923913129 - target: 1733962568040030956 at idx 229
139
+ For topic gripper_width: timestamp difference is -127329730 for nearest: 1733962569323927737 - target: 1733962569451257467 at idx 246
140
+ For topic gripper_width: timestamp difference is -127051963 for nearest: 1733962569523921357 - target: 1733962569650973320 at idx 247
141
+ For topic gripper_width: timestamp difference is -126704003 for nearest: 1733962569723874305 - target: 1733962569850578308 at idx 249
142
+ For topic gripper_width: timestamp difference is -124603593 for nearest: 1733962570723923362 - target: 1733962570848526955 at idx 249
143
+ For topic gripper_width: timestamp difference is -124237258 for nearest: 1733962570923874419 - target: 1733962571048111677 at idx 249
144
+ For topic gripper_width: timestamp difference is -123743266 for nearest: 1733962571123941690 - target: 1733962571247684956 at idx 249
145
+ For topic gripper_width: timestamp difference is -120467981 for nearest: 1733962572723877589 - target: 1733962572844345570 at idx 249
146
+ For topic gripper_width: timestamp difference is -117876307 for nearest: 1733962573923932060 - target: 1733962574041808367 at idx 249
147
+ For topic gripper_width: timestamp difference is -117449234 for nearest: 1733962574123925735 - target: 1733962574241374969 at idx 249
148
+ For topic gripper_width: timestamp difference is -113736885 for nearest: 1733962575923909885 - target: 1733962576037646770 at idx 249
149
+ For topic gripper_width: timestamp difference is -111240616 for nearest: 1733962577123951921 - target: 1733962577235192537 at idx 249
150
+ For topic gripper_width: timestamp difference is -109266197 for nearest: 1733962578123926485 - target: 1733962578233192682 at idx 249
151
+ For topic gripper_width: timestamp difference is -108846043 for nearest: 1733962578323920871 - target: 1733962578432766914 at idx 249
152
+ For topic gripper_width: timestamp difference is -108465357 for nearest: 1733962578523910360 - target: 1733962578632375717 at idx 249
153
+ [INFO] [1733962579.903526]: Storing episode...
154
+ [rosbag_record-9] killing on exit
155
+ [print_text-8] killing on exit
156
+ [pub_text-7] killing on exit
157
+ [INFO] [1733962580.680182]: Stored episode 3.
158
+ [INFO] [1733962580.682516]: Saving video...
159
+ [INFO] [1733962580.872804]: Video saved!
160
+ Starting episode 3
161
+ [INFO] [1733962580.928169]: resetting environment
162
+ [INFO] [1733962580.932713]: cleared current plan
163
+ [INFO] [1733962580.936045]: moving to home
164
+ [INFO] [1733962583.645926]: reached home
165
+ [INFO] [1733962583.649049]: reset action history
166
+ [INFO] [1733962586.374455]: environment reset
167
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
168
+ proceeding to start episode![INFO] [1733962593.371608]: resetting environment
169
+ [INFO] [1733962593.377288]: cleared current plan
170
+ [INFO] [1733962593.381800]: moving to home
171
+ [INFO] [1733962594.385959]: reached home
172
+ [INFO] [1733962594.394051]: reset action history
173
+ [INFO] [1733962597.128479]: environment reset
174
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/episode_rosbags/episode_3_2024-12-11-19-16-37.bag
175
+ ... logging to /home/leonmkim/.ros/log/1408e5ba-b74f-11ef-9a34-5546d6409a19/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-773302.log
176
+ started roslaunch server http://158.130.50.37:45191/
177
+ SUMMARY
178
+ ========
179
+ PARAMETERS
180
+ * /rosdistro: noetic
181
+ * /rosversion: 1.16.0
182
+ NODES
183
+ /
184
+ print_text (rostopic/rostopic)
185
+ pub_text (rostopic/rostopic)
186
+ rosbag_record (rosbag/record)
187
+ ROS_MASTER_URI=http://localhost:11311
188
+ process[pub_text-10]: started with pid [773960]
189
+ process[print_text-11]: started with pid [773961]
190
+ process[rosbag_record-12]: started with pid [773962]
191
+ started bagging!
192
+ For topic gripper_width: timestamp difference is -120847381 for nearest: 1733962603223920905 - target: 1733962603344768286 at idx 85
193
+ For topic gripper_width: timestamp difference is -120070887 for nearest: 1733962604223920869 - target: 1733962604343991756 at idx 94
194
+ For topic gripper_width: timestamp difference is -123615073 for nearest: 1733962611223919822 - target: 1733962611347534895 at idx 184
195
+ For topic gripper_width: timestamp difference is -123341762 for nearest: 1733962613023922003 - target: 1733962613147263765 at idx 208
196
+ For topic gripper_width: timestamp difference is -120412883 for nearest: 1733962614423919860 - target: 1733962614544332743 at idx 230
197
+ For topic gripper_width: timestamp difference is -114774633 for nearest: 1733962617223870825 - target: 1733962617338645458 at idx 249
198
+ For topic gripper_width: timestamp difference is -110255338 for nearest: 1733962619423944138 - target: 1733962619534199476 at idx 249
199
+ For topic gripper_width: timestamp difference is -108657950 for nearest: 1733962620223950035 - target: 1733962620332607985 at idx 249
200
+ For topic gripper_width: timestamp difference is -103375911 for nearest: 1733962622823929311 - target: 1733962622927305222 at idx 249
201
+ For topic gripper_width: timestamp difference is -101717214 for nearest: 1733962623623920460 - target: 1733962623725637674 at idx 249
202
+ [INFO] [1733962627.005235]: Storing episode...
203
+ [print_text-11] killing on exit
204
+ [rosbag_record-12] killing on exit
205
+ [pub_text-10] killing on exit
206
+ [INFO] [1733962627.800546]: Stored episode 4.
207
+ [INFO] [1733962627.805152]: Saving video...
208
+ [INFO] [1733962628.022158]: Video saved!
209
+ Starting episode 4
210
+ [INFO] [1733962628.082338]: resetting environment
211
+ [INFO] [1733962628.086639]: cleared current plan
212
+ [INFO] [1733962628.089920]: moving to home
213
+ [INFO] [1733962630.906424]: reached home
214
+ [INFO] [1733962630.909156]: reset action history
215
+ [INFO] [1733962633.755561]: environment reset
216
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
217
+ proceeding to start episode![INFO] [1733962636.027454]: resetting environment
218
+ [INFO] [1733962636.031703]: cleared current plan
219
+ [INFO] [1733962636.037811]: moving to home
220
+ [INFO] [1733962637.049122]: reached home
221
+ [INFO] [1733962637.054624]: reset action history
222
+ [INFO] [1733962639.847857]: environment reset
223
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/episode_rosbags/episode_4_2024-12-11-19-17-19.bag
224
+ ... logging to /home/leonmkim/.ros/log/1408e5ba-b74f-11ef-9a34-5546d6409a19/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-773302.log
225
+ started roslaunch server http://158.130.50.37:36633/
226
+ SUMMARY
227
+ ========
228
+ PARAMETERS
229
+ * /rosdistro: noetic
230
+ * /rosversion: 1.16.0
231
+ NODES
232
+ /
233
+ print_text (rostopic/rostopic)
234
+ pub_text (rostopic/rostopic)
235
+ rosbag_record (rosbag/record)
236
+ ROS_MASTER_URI=http://localhost:11311
237
+ process[pub_text-13]: started with pid [774113]
238
+ process[print_text-14]: started with pid [774114]
239
+ process[rosbag_record-15]: started with pid [774115]
240
+ started bagging!
241
+ For topic gripper_width: timestamp difference is -126188727 for nearest: 1733962644923920659 - target: 1733962645050109386 at idx 75
242
+ For topic gripper_width: timestamp difference is -124611001 for nearest: 1733962645723868508 - target: 1733962645848479509 at idx 85
243
+ For topic gripper_width: timestamp difference is -114809845 for nearest: 1733962650523919966 - target: 1733962650638729811 at idx 143
244
+ For topic gripper_width: timestamp difference is -110503214 for nearest: 1733962655323921425 - target: 1733962655434424639 at idx 207
245
+ For topic gripper_width: timestamp difference is -111412838 for nearest: 1733962656123920843 - target: 1733962656235333681 at idx 216
246
+ For topic gripper_width: timestamp difference is -108500294 for nearest: 1733962659723919817 - target: 1733962659832420111 at idx 249
247
+ For topic gripper_width: timestamp difference is -134428791 for nearest: 1733962668923873850 - target: 1733962669058302641 at idx 249
248
+ [INFO] [1733962670.522295]: Storing episode...
249
+ [rosbag_record-15] killing on exit
250
+ [print_text-14] killing on exit
251
+ [pub_text-13] killing on exit
252
+ [INFO] [1733962671.349140]: Stored episode 5.
253
+ [INFO] [1733962671.354508]: Saving video...
254
+ [INFO] [1733962671.589602]: Video saved!
255
+ [INFO] [1733962671.647246]: resetting environment
256
+ [INFO] [1733962671.655068]: cleared current plan
257
+ [INFO] [1733962671.661822]: moving to home
258
+ [INFO] [1733962674.483360]: reached home
259
+ [INFO] [1733962674.502695]: reset action history
260
+ [INFO] [1733962677.300227]: environment reset
261
+ Evaluation finished. To wrap up, rate prev episode, press 0 for failure and 1 for success
262
+ proceeding to start episode!
263
+ proceeding to start episode!
191334/wandb/run-20241211_191340-l07wa4hd/files/requirements.txt ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Cython==3.0.10
2
+ Farama-Notifications==0.0.4
3
+ GitPython==3.1.43
4
+ Jinja2==3.1.4
5
+ Markdown==3.6
6
+ MarkupSafe==2.1.5
7
+ POT==0.7.0
8
+ PyOpenGL==3.1.7
9
+ PySocks==1.7.1
10
+ PyYAML==6.0.1
11
+ Pygments==2.18.0
12
+ Rtree==1.3.0
13
+ Werkzeug==3.0.3
14
+ absl-py==2.1.0
15
+ accelerate==0.33.0
16
+ actionlib-msgs==1.13.0.post3
17
+ actionlib==1.12.0
18
+ actionlib==1.14.0
19
+ aiohttp==3.9.5
20
+ aiosignal==1.3.1
21
+ angles==1.9.13
22
+ antlr4-python3-runtime==4.9.3
23
+ anyio==4.4.0
24
+ asciitree==0.3.3
25
+ async-timeout==4.0.3
26
+ attrs==23.2.0
27
+ autoprop==4.1.0
28
+ beartype==0.18.5
29
+ beautifulsoup4==4.12.3
30
+ bondpy==1.8.6
31
+ byol-pytorch==0.8.0
32
+ cachetools==5.4.0
33
+ camera-calibration-parsers==1.12.0
34
+ camera-calibration==1.17.0
35
+ cascadio==0.0.13
36
+ catkin-pkg==1.0.0
37
+ catkin==0.7.18
38
+ catkin==0.8.10
39
+ certifi==2024.7.4
40
+ cffi==1.16.0
41
+ chardet==5.2.0
42
+ charset-normalizer==3.3.2
43
+ click==8.1.7
44
+ cloudpickle==3.0.0
45
+ cmake==3.30.1
46
+ colorlog==6.8.2
47
+ contourpy==1.2.1
48
+ controller-manager-msgs==0.20.0
49
+ controller-manager==0.20.0
50
+ coverage==7.6.0
51
+ coveralls==4.0.1
52
+ cv-bridge==1.16.2
53
+ cycler==0.12.1
54
+ datasets==2.20.0
55
+ decorator==4.4.2
56
+ deepdiff==7.0.1
57
+ defusedxml==0.7.1
58
+ diagnostic-analysis==1.11.0
59
+ diagnostic-common-diagnostics==1.11.0
60
+ diagnostic-updater==1.11.0
61
+ diffusers==0.27.2
62
+ dill==0.3.8
63
+ distro==1.9.0
64
+ dm-control==1.0.8
65
+ dm-env==1.6
66
+ dm-tree==0.1.8
67
+ docker-pycreds==0.4.0
68
+ docopt==0.6.2
69
+ docutils==0.21.2
70
+ dynamic-reconfigure==1.7.3
71
+ einops==0.8.0
72
+ embreex==2.17.7.post5
73
+ empy==3.3.4
74
+ etils==1.7.0
75
+ exceptiongroup==1.2.2
76
+ ezdxf==1.3.2
77
+ fasteners==0.19
78
+ filelock==3.15.4
79
+ fonttools==4.53.1
80
+ freetype-py==2.4.0
81
+ frozenlist==1.4.1
82
+ fsspec==2024.5.0
83
+ gazebo_plugins==2.9.2
84
+ gazebo_ros==2.9.2
85
+ gdown==5.2.0
86
+ gencpp==0.7.0
87
+ geneus==3.0.0
88
+ genlisp==0.4.18
89
+ genmsg==0.5.12
90
+ genmsg==0.6.0
91
+ gennodejs==2.0.2
92
+ genpy==0.6.14
93
+ genpy==0.6.15
94
+ geometry-msgs==1.13.0.post2
95
+ gitdb==4.0.11
96
+ glfw==2.7.0
97
+ glooey==0.3.6
98
+ gmsh==4.12.2
99
+ gnupg==2.3.1
100
+ google-auth-oauthlib==1.0.0
101
+ google-auth==2.32.0
102
+ grpcio==1.65.1
103
+ gym-envs==0.0.1
104
+ gym-notices==0.0.8
105
+ gym==0.22.0
106
+ gymnasium==0.29.1
107
+ h11==0.14.0
108
+ h5py==3.11.0
109
+ hf_transfer==0.1.8
110
+ httpcore==1.0.5
111
+ httpx==0.27.0
112
+ huggingface-hub==0.23.5
113
+ hydra-core==1.3.2
114
+ hydra-submitit-launcher==1.2.0
115
+ idna==3.7
116
+ image-geometry==1.16.2
117
+ imageio-ffmpeg==0.5.1
118
+ imageio==2.34.2
119
+ importlib_metadata==8.2.0
120
+ importlib_resources==6.4.0
121
+ iniconfig==2.0.0
122
+ interactive-markers==1.12.0
123
+ joint-state-publisher-gui==1.15.1
124
+ joint-state-publisher==1.15.1
125
+ jsonschema-specifications==2023.12.1
126
+ jsonschema==4.23.0
127
+ kiwisolver==1.4.5
128
+ kornia==0.7.3
129
+ kornia_rs==0.1.5
130
+ labmaze==1.0.6
131
+ laser_geometry==1.6.7
132
+ lazy_loader==0.4
133
+ lerobot==0.1.0
134
+ lightning-utilities==0.11.6
135
+ llvmlite==0.43.0
136
+ lxml==5.2.2
137
+ manifold3d==2.5.1
138
+ mapbox-earcut==1.0.1
139
+ markdown-it-py==3.0.0
140
+ matplotlib==3.9.1
141
+ mdurl==0.1.2
142
+ meshio==5.3.5
143
+ message-filters==1.16.0
144
+ more-itertools==10.3.0
145
+ moviepy==1.0.3
146
+ mpmath==1.3.0
147
+ mujoco==3.2.0
148
+ multidict==6.0.5
149
+ multiprocess==0.70.16
150
+ natsort==8.4.0
151
+ netifaces==0.11.0
152
+ networkx==3.3
153
+ nodeenv==1.9.1
154
+ numba==0.60.0
155
+ numcodecs==0.13.0
156
+ numpy==1.26.4
157
+ nvidia-cublas-cu12==12.1.3.1
158
+ nvidia-cuda-cupti-cu12==12.1.105
159
+ nvidia-cuda-nvrtc-cu12==12.1.105
160
+ nvidia-cuda-runtime-cu12==12.1.105
161
+ nvidia-cudnn-cu12==9.1.0.70
162
+ nvidia-cufft-cu12==11.0.2.54
163
+ nvidia-curand-cu12==10.3.2.106
164
+ nvidia-cusolver-cu12==11.4.5.107
165
+ nvidia-cusparse-cu12==12.1.0.106
166
+ nvidia-nccl-cu12==2.20.5
167
+ nvidia-nvjitlink-cu12==12.5.82
168
+ nvidia-nvtx-cu12==12.1.105
169
+ oauthlib==3.2.2
170
+ omegaconf==2.3.0
171
+ openctm==0.0.5
172
+ opencv-python==4.10.0.84
173
+ ordered-set==4.1.0
174
+ packaging==24.1
175
+ pandas==2.2.2
176
+ pillow==10.4.0
177
+ pip==24.2
178
+ platformdirs==4.2.2
179
+ pluggy==1.5.0
180
+ proglog==0.1.10
181
+ protobuf==5.27.2
182
+ psutil==6.0.0
183
+ pyarrow-hotfix==0.6
184
+ pyarrow==17.0.0
185
+ pyasn1==0.6.0
186
+ pyasn1_modules==0.4.0
187
+ pyav==12.3.0
188
+ pycollada==0.8
189
+ pycparser==2.22
190
+ pycryptodomex==3.21.0
191
+ pyglet==1.5.29
192
+ pyinstrument==4.6.2
193
+ pymunk==6.8.1
194
+ pyparsing==2.4.7
195
+ pyrealsense2==2.54.2.5684
196
+ pyribbit==0.1.46
197
+ pyright==1.1.373
198
+ pytest-beartype==0.0.2
199
+ pytest-cov==5.0.0
200
+ pytest==8.3.1
201
+ python-dateutil==2.9.0.post0
202
+ python-fcl==0.7.0.6
203
+ python-qt-binding==0.4.4
204
+ pytorch-lightning==2.4.0
205
+ pytz==2024.1
206
+ qt-dotgraph==0.4.2
207
+ qt-gui-cpp==0.4.2
208
+ qt-gui-py-common==0.4.2
209
+ qt-gui==0.4.2
210
+ referencing==0.35.1
211
+ regex==2024.5.15
212
+ requests-oauthlib==2.0.0
213
+ requests==2.32.3
214
+ rerun-sdk==0.17.0
215
+ resource_retriever==1.12.7
216
+ rich==13.7.1
217
+ ros-numpy==0.0.5
218
+ rosbag==1.16.0
219
+ rosboost-cfg==1.15.8
220
+ rosclean==1.15.8
221
+ roscpp==1.15.11
222
+ roscreate==1.15.8
223
+ rosgraph-msgs==1.11.3.post2
224
+ rosgraph==1.15.11
225
+ rosgraph==1.16.0
226
+ roslaunch==1.16.0
227
+ roslib==1.14.7.post0
228
+ roslib==1.15.8
229
+ roslint==0.12.0
230
+ roslz4==1.16.0
231
+ rosmake==1.15.8
232
+ rosmaster==1.16.0
233
+ rosmsg==1.16.0
234
+ rosnode==1.16.0
235
+ rosparam==1.16.0
236
+ rospkg==1.5.1
237
+ rospy==1.15.11
238
+ rospy==1.16.0
239
+ rosservice==1.16.0
240
+ rostest==1.16.0
241
+ rostopic==1.16.0
242
+ rosunit==1.15.8
243
+ roswtf==1.16.0
244
+ rpds-py==0.19.1
245
+ rqt-console==0.4.12
246
+ rqt-image-view==0.4.17
247
+ rqt-logger-level==0.4.12
248
+ rqt-moveit==0.5.11
249
+ rqt-reconfigure==0.5.5
250
+ rqt-robot-dashboard==0.5.8
251
+ rqt-robot-monitor==0.5.15
252
+ rqt-runtime-monitor==0.5.10
253
+ rqt-rviz==0.7.0
254
+ rqt-tf-tree==0.6.4
255
+ rqt_action==0.4.9
256
+ rqt_bag==0.5.1
257
+ rqt_bag_plugins==0.5.1
258
+ rqt_dep==0.4.12
259
+ rqt_graph==0.4.14
260
+ rqt_gui==0.5.3
261
+ rqt_gui_py==0.5.3
262
+ rqt_launch==0.4.9
263
+ rqt_msg==0.4.10
264
+ rqt_nav_view==0.5.7
265
+ rqt_plot==0.4.13
266
+ rqt_pose_view==0.5.11
267
+ rqt_publisher==0.4.10
268
+ rqt_py_common==0.5.3
269
+ rqt_py_console==0.4.10
270
+ rqt_robot_steering==0.5.12
271
+ rqt_service_caller==0.4.10
272
+ rqt_shell==0.4.11
273
+ rqt_srv==0.4.9
274
+ rqt_top==0.4.10
275
+ rqt_topic==0.4.13
276
+ rqt_web==0.4.10
277
+ rsa==4.9
278
+ ruff==0.5.4
279
+ rviz==1.14.25
280
+ safetensors==0.4.3
281
+ scikit-image==0.24.0
282
+ scikit-video==1.1.11
283
+ scipy==1.14.0
284
+ seaborn==0.13.2
285
+ sensor-msgs==1.13.1
286
+ sentry-sdk==2.11.0
287
+ setproctitle==1.3.3
288
+ setuptools==65.5.0
289
+ shapely==2.0.5
290
+ signature_dispatch==1.0.1
291
+ six==1.16.0
292
+ smach-ros==2.5.2
293
+ smach==2.5.2
294
+ smclib==1.8.6
295
+ smmap==5.0.1
296
+ sniffio==1.3.1
297
+ soupsieve==2.5
298
+ std-msgs==0.5.13.post0
299
+ submitit==1.5.1
300
+ svg.path==6.3
301
+ sympy==1.13.1
302
+ tensorboard-data-server==0.7.2
303
+ tensorboard==2.14.0
304
+ termcolor==2.4.0
305
+ tf-conversions==1.13.2
306
+ tf2-geometry-msgs==0.7.7
307
+ tf2-kdl==0.7.7
308
+ tf2-msgs==0.7.2.post3
309
+ tf2-py==0.7.7
310
+ tf2-ros==0.6.5
311
+ tf2-ros==0.7.7
312
+ tf2_py==0.6.5.post1
313
+ tf==1.13.2
314
+ tifffile==2024.7.24
315
+ tomli==2.0.1
316
+ topic-tools==1.16.0
317
+ torch==2.4.0
318
+ torchaug==0.5.2
319
+ torchmetrics==1.4.0.post0
320
+ torchvision==0.19.0
321
+ tqdm==4.66.4
322
+ trimesh==4.4.3
323
+ triton==3.0.0
324
+ typeguard==3.0.2
325
+ typing_extensions==4.12.2
326
+ tzdata==2024.1
327
+ urchin==0.0.27
328
+ urllib3==2.2.2
329
+ vecrec==0.3.1
330
+ vhacdx==0.0.8.post1
331
+ wandb==0.17.5
332
+ wheel==0.43.0
333
+ xacro==1.14.18
334
+ xatlas==0.0.9
335
+ xxhash==3.4.1
336
+ yarl==1.9.4
337
+ zarr==2.18.2
338
+ zipp==3.19.2
339
+ zstandard==0.23.0
191334/wandb/run-20241211_191340-l07wa4hd/files/wandb-metadata.json ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.15.0-125-generic-x86_64-with-glibc2.31",
3
+ "python": "3.10.14",
4
+ "heartbeatAt": "2024-12-12T00:13:41.286723",
5
+ "startedAt": "2024-12-12T00:13:40.893574",
6
+ "docker": null,
7
+ "cuda": null,
8
+ "args": [
9
+ "agent=diffusion",
10
+ "suite=frankagym",
11
+ "suite/frankagym_task@_global_=insertion"
12
+ ],
13
+ "state": "running",
14
+ "program": "/home/leonmkim/fish_leon/FISH/eval_robot.py",
15
+ "codePathLocal": null,
16
+ "codePath": "FISH/eval_robot.py",
17
+ "git": {
18
+ "remote": "https://github.com/leonmkim/fish_leon.git",
19
+ "commit": "1b557f164c7f62a8d1545c761b13ede1677c3a83"
20
+ },
21
+ "email": "leonmkim@seas.upenn.edu",
22
+ "root": "/home/leonmkim/fish_leon",
23
+ "host": "leonmkim-ROG-Strix-G15CS-G15CS",
24
+ "username": "leonmkim",
25
+ "executable": "/home/leonmkim/.pyenv/versions/lerobot/bin/python",
26
+ "cpu_count": 8,
27
+ "cpu_count_logical": 8,
28
+ "cpu_freq": {
29
+ "current": 3749.654375,
30
+ "min": 800.0,
31
+ "max": 4700.0
32
+ },
33
+ "cpu_freq_per_core": [
34
+ {
35
+ "current": 3000.0,
36
+ "min": 800.0,
37
+ "max": 4700.0
38
+ },
39
+ {
40
+ "current": 3000.0,
41
+ "min": 800.0,
42
+ "max": 4700.0
43
+ },
44
+ {
45
+ "current": 3000.0,
46
+ "min": 800.0,
47
+ "max": 4700.0
48
+ },
49
+ {
50
+ "current": 4499.998,
51
+ "min": 800.0,
52
+ "max": 4700.0
53
+ },
54
+ {
55
+ "current": 3000.0,
56
+ "min": 800.0,
57
+ "max": 4700.0
58
+ },
59
+ {
60
+ "current": 3000.0,
61
+ "min": 800.0,
62
+ "max": 4700.0
63
+ },
64
+ {
65
+ "current": 4500.045,
66
+ "min": 800.0,
67
+ "max": 4700.0
68
+ },
69
+ {
70
+ "current": 3000.0,
71
+ "min": 800.0,
72
+ "max": 4700.0
73
+ }
74
+ ],
75
+ "disk": {
76
+ "/": {
77
+ "total": 915.3232879638672,
78
+ "used": 705.1167831420898
79
+ }
80
+ },
81
+ "gpu": "NVIDIA GeForce RTX 2070 SUPER",
82
+ "gpu_count": 1,
83
+ "gpu_devices": [
84
+ {
85
+ "name": "NVIDIA GeForce RTX 2070 SUPER",
86
+ "memory_total": 8589934592
87
+ }
88
+ ],
89
+ "memory": {
90
+ "total": 62.71596908569336
91
+ }
92
+ }
191334/wandb/run-20241211_191340-l07wa4hd/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"eval/0_eval": {"_type": "video-file", "sha256": "3da136561a2ad42749fdae27d6475d37bd6904f003bb617bd102700e75835318", "size": 1151012, "path": "media/videos/eval/0_eval_0_3da136561a2ad42749fd.mp4"}, "global_step": 675, "_timestamp": 1733962679.691435, "_runtime": 258.78695702552795, "_step": 9, "eval/1_eval": {"_type": "video-file", "sha256": "3a45ace652f05385ee7562019925e1bc1406b8fdc00f0c2a8c0f3a6261051e5f", "size": 1151665, "path": "media/videos/eval/1_eval_1_3a45ace652f05385ee75.mp4"}, "eval/num_success": 5.0, "episode": 5.0, "eval/success_rate": 1.0, "eval/2_eval": {"_type": "video-file", "sha256": "c9cccf7ec7cae45b2fa152dff13e74643ef89365bb489c5d108e4a154438176e", "size": 1239572, "path": "media/videos/eval/2_eval_2_c9cccf7ec7cae45b2fa1.mp4"}, "eval/3_eval": {"_type": "video-file", "sha256": "334d1f02994a0fcdeda5419961508a7e674f6bbf2f7c4b38d27d336ee27676ec", "size": 1243778, "path": "media/videos/eval/3_eval_3_334d1f02994a0fcdeda5.mp4"}, "eval/4_eval": {"_type": "video-file", "sha256": "35283caf4103c3829cd1d42553a2a9aa55f66bad96d4d9acf1eb68d56d1ef317", "size": 1268903, "path": "media/videos/eval/4_eval_4_35283caf4103c3829cd1.mp4"}, "_wandb": {"runtime": 274}}
191334/wandb/run-20241211_191340-l07wa4hd/logs/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
191334/wandb/run-20241211_191340-l07wa4hd/logs/debug.log ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Current SDK version is 0.17.5
2
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Configure stats pid to 773302
3
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/.config/wandb/settings
4
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/wandb/settings
5
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Inferring run settings from compute environment: {'program_relpath': 'FISH/eval_robot.py', 'program_abspath': '/home/leonmkim/fish_leon/FISH/eval_robot.py', 'program': '/home/leonmkim/fish_leon/FISH/eval_robot.py'}
8
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_setup.py:_flush():76] Applying login settings: {}
9
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_init.py:_log_setup():529] Logging user logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/wandb/run-20241211_191340-l07wa4hd/logs/debug.log
10
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_init.py:_log_setup():530] Logging internal logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/wandb/run-20241211_191340-l07wa4hd/logs/debug-internal.log
11
+ 2024-12-11 19:13:40,895 INFO MainThread:773302 [wandb_init.py:init():569] calling init triggers
12
+ 2024-12-11 19:13:40,896 INFO MainThread:773302 [wandb_init.py:init():576] wandb.init called with sweep_config: {}
13
+ config: {'root_dir': '/home/leonmkim/fish_leon', 'replay_buffer_size': 150000, 'replay_buffer_num_workers': 2, 'nstep': 3, 'batch_size': 128, 'seed': 0, 'dataset_shuffle_seed': 2, 'device': 'cuda', 'save_video': True, 'save_train_video': True, 'use_tb': True, 'use_wandb': True, 'wandb_run_id': '266406_0', 'wandb_notes': '266406_0_', 'eval': True, 'process_contact_features': True, 'obs_type': 'pixels', 'use_color': True, 'use_depth': True, 'use_masks': False, 'mask_list': ['EE_obj_mask'], 'mask_representation': 'channels', 'crop_hw': [144, 144], 'crop_down_offset': 48, 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'add_crop_binary_mask': False, 'add_coord_conv_map': False, 'use_context_color': False, 'use_context_depth': False, 'use_context_segmask': False, 'context_color_crop_type': None, 'context_depth_crop_type': None, 'context_segmask_crop_type': None, 'context_add_crop_binary_mask': False, 'context_add_coord_conv_map': False, 'use_contact_map': False, 'use_sdf_maps': False, 'use_normals_maps': False, 'which_objects': 'both', 'max_contact_prob': 0.1, 'max_depth': 2.0, 'grasped_dtc_max_value': 0.2, 'env_dtc_max_value': 0.4, 'grasped_normals_mask_max_dtc_value': 0.2, 'env_normals_mask_max_dtc_value': 0.4, 'clamp_dtc': True, 'dtc_adaptive_normalization': False, 'mask_normals_within_sdf': True, 'adaptive_normals_mask': True, 'learnable_contact_preprocess_params': True, 'contact_model_name': 'local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9', 'contact_estimation_model_ckpt_path': '~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt', 'encoder_type': 'small', 'debug_timestamps': False, 'open_loop': False, 'action_trajectories': True, 'stop_after_action': False, 'interpolation_frequency': 25, 'policy_frequency': 5, 'wait_for_new_camera_frames': True, 'baseline': False, 'train_demo_idxs_list_or_num': -1, 'log_train_every_steps': 25, 'name_of_expert_demo': '64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act', 'expert_dataset_dirpath': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act', 'store_dataset_in_memory': False, 'expert_dataset': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'action_key': 'action_trajectory_25hz', 'semantic_demo_grouping_name': 'semantic_demo_grouping.yaml', 'semantic_demo_grouping': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/semantic_demo_grouping.yaml', 'include_groups_list': ['hbm_twodim_left_to_right'], 'expert_dataset_config': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demo_config.yaml', 'name_of_valid_demo': '64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act', 'valid_dataset_dir': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'valid_demo_idxs_list_or_num': None, 'val_num_groups': 16, 'load_bc': True, 'checkpoint_epoch_list': [99, 199, 299, 399, 499, 599, 699, 799, 899, 999, 1249, 1499, 1749, 1999, 2999, 3999, 4999, 5999, 6999, 7999, 8999, 9999], 'snapshot_root_dir': '/mnt/grasp_high_usage/leonmkim/contact_estimation/FISH', 'save_snapshot': True, 'save_last_snapshot': True, 'save_snapshot_when_done': True, 'top_k_checkpoints': 5, 'save_snapshot_link_to_weights_dir': 'deprecated', 'bc_regularize': False, 'bc_weight_type': 'qfilter', 'experiment_dir': './exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0', 'agent': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgent', 'name': 'diffusion_policy', 'load_checkpoint': True, 'obs_shape': [4, 240, 320], 'action_shape': [36, 7], 'device': 'cuda', 'n_obs_steps': 1, 'suite_name': 'frankagym', 'obs_type': 'pixels', 'enable_arm': True, 'enable_camera': True, 'use_tb': True, 'desired_image_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'config': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgentConfig', 'compile': False, 'device': 'cuda', 'cam_resize_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'policy_frequency': 5, 'interpolation_frequency': 25, 'policy_cfg': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig', 'n_obs_steps': 1, 'horizon': 36, 'n_action_steps': 36, 'output_shapes': {'action': [7]}, 'input_normalization_modes': {'observation.image': 'mean_std', 'observation.state': 'min_max', 'observation.action_history': 'min_max'}, 'output_normalization_modes': {'action': 'min_max'}, 'vision_backbone': 'resnet18', 'pretrained_backbone_weights': None, 'transforms': [{'_target_': 'torchaug.transforms.RandomAffine', 'degrees': [-5, 5], 'translate': [0.05, 0.05], 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}, {'_target_': 'torchaug.transforms.RandomColorJitter', 'brightness': 0.3, 'contrast': 0.4, 'saturation': 0.5, 'hue': 0.08, 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}], 'use_group_norm': True, 'spatial_softmax_num_keypoints': 32, 'action_history_encoder_config': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig', 'in_channels': 7, 'out_channels': 32, 'history_length': 6, 'kernel_size': 5, 'downsample_kernel_size': 3, 'downsample_stride': 2, 'downsample_padding': 1}, 'down_dims': [256, 512, 1024], 'kernel_size': 5, 'n_groups': 8, 'diffusion_step_embed_dim': 128, 'use_film_scale_modulation': True, 'noise_scheduler_type': 'DDIM', 'beta_schedule': 'squaredcos_cap_v2', 'beta_start': 0.0001, 'beta_end': 0.02, 'prediction_type': 'epsilon', 'clip_sample': True, 'clip_sample_range': 1.0, 'num_train_timesteps': 50, 'num_inference_steps': 10, 'do_mask_loss_for_padding': False, 'input_shapes': {'observation.image': [13, 180, 240], 'context_observation.image': [13, 180, 240], 'observation.state': [8], 'observation.action_history': [7]}}, 'train_cfg': {'_target_': 'utils.TrainConfig', 'lr': 0.0001, 'lr_scheduler': 'cosine', 'lr_warmup_steps': 500, 'adam_betas': [0.95, 0.999], 'adam_eps': 1e-08, 'adam_weight_decay': 1e-06, 'grad_clip_norm': 10, 'offline_steps': 1000000, 'use_amp': True}, 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': False, 'use_sdf_maps': False, 'use_normals_maps': False, 'which_objects': 'both', 'grasped_dtc_max_value': 0.2, 'env_dtc_max_value': 0.4, 'grasped_normals_mask_max_dtc_value': 0.2, 'env_normals_mask_max_dtc_value': 0.4, 'clamp_dtc': True, 'max_contact_prob': 0.1, 'mask_normals_within_sdf': True, 'dtc_adaptive_normalization': False, 'adaptive_normals_mask': True, 'max_depth': 2.0, 'image_shape': [13, 180, 240], 'learnable_contact_preprocess_params': True, 'learning_rate': 0.0001, 'weight_decay': 0.0, 'contact_model_name': 'local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9', 'zero_centered': False}}}, 'suite': {'suite': 'frankagym', 'name': 'frankagym', 'frame_stack': 1, 'action_repeat': 1, 'discount': 0.99, 'hidden_dim': 1024, 'num_train_frames': 2010, 'num_seed_frames': 260, 'num_train_epochs': 5000, 'validate_every_epochs': 100, 'validate_diffusion_on_action_loss_every_epochs': 500, 'train_eval_diffusion_on_action_loss_every_epochs': 500, 'check_topk_every_epochs': 10, 'save_snapshot_every_epochs': 5000, 'eval_every_frames': 2000, 'num_eval_episodes': 5, 'save_snapshot': True, 'wait_for_user_to_start_episode': True, 'task_make_fn': {'_target_': 'suite.frankagym.make', 'name': 'FrankaInsertion-v1', 'height': 240, 'width': 320, 'frame_stack': 1, 'action_repeat': 1, 'seed': 0, 'enable_arm': True, 'enable_gripper': True, 'start_with_gripper_open': True, 'enable_camera': True, 'path_to_depth_extrinsics': '~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy', 'contact_estimation_model_ckpt_path': '~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt', 'x_limit': [0.2, 0.7], 'y_limit': [-0.4, 0.4], 'z_limit': [-0.05, 0.55], 'device': 'cuda', 'interpolation_frequency': 25, 'policy_frequency': 5, 'debug_timestamps': False, 'stop_after_action': False, 'open_loop': False, 'wait_for_new_camera_frames': True, 'action_key': 'action_trajectory_25hz', 'action_trajectory_horizon': 36, 'action_trajectories': True, 'path_to_zarr_dataset': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': False, 'use_sdf_maps': False, 'use_normals_maps': False, 'which_objects': 'both', 'grasped_dtc_max_value': 0.2, 'env_dtc_max_value': 0.4, 'grasped_normals_mask_max_dtc_value': 0.2, 'env_normals_mask_max_dtc_value': 0.4, 'clamp_dtc': True, 'max_contact_prob': 0.1, 'mask_normals_within_sdf': True, 'dtc_adaptive_normalization': False, 'adaptive_normals_mask': True, 'max_depth': 2.0, 'image_shape': [13, 180, 240], 'learnable_contact_preprocess_params': True, 'learning_rate': 0.0001, 'weight_decay': 0.0, 'contact_model_name': 'local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9', 'zero_centered': False}, 'agent_policy_cfg': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgentConfig', 'compile': False, 'device': 'cuda', 'cam_resize_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'policy_frequency': 5, 'interpolation_frequency': 25, 'policy_cfg': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig', 'n_obs_steps': 1, 'horizon': 36, 'n_action_steps': 36, 'output_shapes': {'action': [7]}, 'input_normalization_modes': {'observation.image': 'mean_std', 'observation.state': 'min_max', 'observation.action_history': 'min_max'}, 'output_normalization_modes': {'action': 'min_max'}, 'vision_backbone': 'resnet18', 'pretrained_backbone_weights': None, 'transforms': [{'_target_': 'torchaug.transforms.RandomAffine', 'degrees': [-5, 5], 'translate': [0.05, 0.05], 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}, {'_target_': 'torchaug.transforms.RandomColorJitter', 'brightness': 0.3, 'contrast': 0.4, 'saturation': 0.5, 'hue': 0.08, 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}], 'use_group_norm': True, 'spatial_softmax_num_keypoints': 32, 'action_history_encoder_config': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig', 'in_channels': 7, 'out_channels': 32, 'history_length': 6, 'kernel_size': 5, 'downsample_kernel_size': 3, 'downsample_stride': 2, 'downsample_padding': 1}, 'down_dims': [256, 512, 1024], 'kernel_size': 5, 'n_groups': 8, 'diffusion_step_embed_dim': 128, 'use_film_scale_modulation': True, 'noise_scheduler_type': 'DDIM', 'beta_schedule': 'squaredcos_cap_v2', 'beta_start': 0.0001, 'beta_end': 0.02, 'prediction_type': 'epsilon', 'clip_sample': True, 'clip_sample_range': 1.0, 'num_train_timesteps': 50, 'num_inference_steps': 10, 'do_mask_loss_for_padding': False, 'input_shapes': {'observation.image': [13, 180, 240], 'context_observation.image': [13, 180, 240], 'observation.state': [8], 'observation.action_history': [7]}}, 'train_cfg': {'_target_': 'utils.TrainConfig', 'lr': 0.0001, 'lr_scheduler': 'cosine', 'lr_warmup_steps': 500, 'adam_betas': [0.95, 0.999], 'adam_eps': 1e-08, 'adam_weight_decay': 1e-06, 'grad_clip_norm': 10, 'offline_steps': 1000000, 'use_amp': True}, 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': False, 'use_sdf_maps': False, 'use_normals_maps': False, 'which_objects': 'both', 'grasped_dtc_max_value': 0.2, 'env_dtc_max_value': 0.4, 'grasped_normals_mask_max_dtc_value': 0.2, 'env_normals_mask_max_dtc_value': 0.4, 'clamp_dtc': True, 'max_contact_prob': 0.1, 'mask_normals_within_sdf': True, 'dtc_adaptive_normalization': False, 'adaptive_normals_mask': True, 'max_depth': 2.0, 'image_shape': [13, 180, 240], 'learnable_contact_preprocess_params': True, 'learning_rate': 0.0001, 'weight_decay': 0.0, 'contact_model_name': 'local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9', 'zero_centered': False}}, 'true_action_history': False}}, 'num_train_frames_bc': 50000, 'num_train_frames_drq': 1100000, 'stddev_schedule_drq': 'linear(1.0,0.1,100000)', 'task_name': 'FrankaInsertion-v1', 'num_train_frames_vinn': 25000, 'num_train_frames_diffusion': 1000000, 'num_train_epochs_bc': 5000, 'num_train_epochs_diffusion': 15000, 'validate_every_epochs_bc': 5, 'validate_every_epochs_diffusion': 250, 'validate_diffusion_on_action_loss_every_epochs': 250, 'train_eval_diffusion_on_action_loss_every_epochs': 250, 'check_topk_every_epochs': 5, 'check_topk_every_epochs_diffusion': 250, 'save_snapshot_every_epochs_diffusion': 1500, 'x_limit': [0.2, 0.7], 'y_limit': [-0.4, 0.4], 'z_limit': [-0.05, 0.55], 'home_displacement': [0.55, 0.0, 0.55, 180.0, 0.0, 0.0], 'enable_gripper': True, 'start_with_gripper_open': True, 'offset_mask': [1, 1, 1, 1, 1, 1], 'path_to_depth_extrinsics': '~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy', 'feature_type': '180x240_1_RGB_D_2.0_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1', 'save_buffer': True, 'num_eval': 5, 'random_start': False, 'eval_starts': '/home/leonmkim/fish_leon/FISH/eval_starts/frankagym_pixels/FrankaInsertion-v1', 'num_valid_demos': None, 'load_checkpoint': True, 'true_action_history': False, 'checkpoint_epoch': 12000, 'load_residual_weight': False, 'checkpoint_root_dir': '/home/leonmkim/fish_leon/FISH', 'checkpoint_weight_dir': '/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0', 'residual_weight': '/home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt'}
14
+ 2024-12-11 19:13:40,896 INFO MainThread:773302 [wandb_init.py:init():619] starting backend
15
+ 2024-12-11 19:13:40,896 INFO MainThread:773302 [wandb_init.py:init():623] setting up manager
16
+ 2024-12-11 19:13:40,901 INFO MainThread:773302 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
17
+ 2024-12-11 19:13:40,904 INFO MainThread:773302 [wandb_init.py:init():631] backend started and connected
18
+ 2024-12-11 19:13:40,917 INFO MainThread:773302 [wandb_init.py:init():720] updated telemetry
19
+ 2024-12-11 19:13:40,923 INFO MainThread:773302 [wandb_init.py:init():753] communicating run to backend with 90.0 second timeout
20
+ 2024-12-11 19:13:41,191 INFO MainThread:773302 [wandb_run.py:_on_init():2435] communicating current version
21
+ 2024-12-11 19:13:41,259 INFO MainThread:773302 [wandb_run.py:_on_init():2444] got version response upgrade_message: "wandb version 0.19.0 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
22
+
23
+ 2024-12-11 19:13:41,261 INFO MainThread:773302 [wandb_init.py:init():804] starting run threads in backend
24
+ 2024-12-11 19:13:41,616 INFO MainThread:773302 [wandb_run.py:_console_start():2413] atexit reg
25
+ 2024-12-11 19:13:41,616 INFO MainThread:773302 [wandb_run.py:_redirect():2255] redirect: wrap_raw
26
+ 2024-12-11 19:13:41,616 INFO MainThread:773302 [wandb_run.py:_redirect():2320] Wrapping output streams.
27
+ 2024-12-11 19:13:41,617 INFO MainThread:773302 [wandb_run.py:_redirect():2345] Redirects installed.
28
+ 2024-12-11 19:13:41,618 INFO MainThread:773302 [wandb_init.py:init():847] run started, returning control to user process
29
+ 2024-12-11 19:13:41,619 INFO MainThread:773302 [wandb_run.py:_tensorboard_callback():1544] tensorboard callback: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/266406_0/191334/tb, True
30
+ 2024-12-11 19:13:45,500 INFO MainThread:773302 [wandb_run.py:_config_callback():1382] config_cb None None {'grasped_obj_name': 'hbm', 'left_book_slot': 'twodim'}
31
+ 2024-12-11 19:18:28,045 WARNING MsgRouterThr:773302 [router.py:message_loop():77] message_loop has been closed
191334/wandb/run-20241211_191340-l07wa4hd/run-l07wa4hd.wandb ADDED
Binary file (75.4 kB). View file
 
config.yaml ADDED
@@ -0,0 +1,453 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ root_dir: /mnt/kostas-graid/datasets/extrinsic_contact_data
2
+ replay_buffer_size: 150000
3
+ replay_buffer_num_workers: 2
4
+ nstep: 3
5
+ batch_size: 128
6
+ seed: 0
7
+ dataset_shuffle_seed: 2
8
+ device: cuda
9
+ save_video: true
10
+ save_train_video: true
11
+ use_tb: true
12
+ use_wandb: true
13
+ wandb_run_id: '266406_0'
14
+ wandb_notes: '266406_0_'
15
+ eval: false
16
+ process_contact_features: ${eval}
17
+ obs_type: pixels
18
+ use_color: true
19
+ use_depth: true
20
+ use_masks: false
21
+ mask_list:
22
+ - EE_obj_mask
23
+ mask_representation: channels
24
+ crop_hw:
25
+ - 144
26
+ - 144
27
+ crop_down_offset: 48
28
+ color_crop_type: null
29
+ depth_crop_type: null
30
+ segmask_crop_type: null
31
+ add_crop_binary_mask: false
32
+ add_coord_conv_map: false
33
+ use_context_color: false
34
+ use_context_depth: false
35
+ use_context_segmask: false
36
+ context_color_crop_type: null
37
+ context_depth_crop_type: null
38
+ context_segmask_crop_type: null
39
+ context_add_crop_binary_mask: false
40
+ context_add_coord_conv_map: false
41
+ use_contact_map: false
42
+ use_sdf_maps: false
43
+ use_normals_maps: false
44
+ which_objects: both
45
+ max_contact_prob: 0.1
46
+ max_depth: 2.0
47
+ grasped_dtc_max_value: 0.2
48
+ env_dtc_max_value: 0.4
49
+ grasped_normals_mask_max_dtc_value: 0.2
50
+ env_normals_mask_max_dtc_value: 0.4
51
+ clamp_dtc: true
52
+ dtc_adaptive_normalization: false
53
+ mask_normals_within_sdf: true
54
+ adaptive_normals_mask: true
55
+ learnable_contact_preprocess_params: true
56
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_ctxt_seed_183386_epoch_9
57
+ contact_estimation_model_ckpt_path: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
58
+ encoder_type: small
59
+ debug_timestamps: false
60
+ open_loop: false
61
+ action_trajectories: true
62
+ stop_after_action: false
63
+ interpolation_frequency: 25
64
+ policy_frequency: 5
65
+ wait_for_new_camera_frames: true
66
+ baseline: false
67
+ train_demo_idxs_list_or_num: -1
68
+ log_train_every_steps: 25
69
+ name_of_expert_demo: 64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
70
+ expert_dataset_dirpath: ${root_dir}/FISH/expert_demos/${suite.name}/${task_name}/${name_of_expert_demo}
71
+ store_dataset_in_memory: false
72
+ expert_dataset: ${expert_dataset_dirpath}/demos.zarr
73
+ action_key: ${oc.if_else:${action_trajectories}, 'action_trajectory_${interpolation_frequency}hz',
74
+ 'action'}
75
+ semantic_demo_grouping_name: semantic_demo_grouping.yaml
76
+ semantic_demo_grouping: ${expert_dataset_dirpath}/${semantic_demo_grouping_name}
77
+ include_groups_list:
78
+ - hbm_twodim_left_to_right
79
+ expert_dataset_config: ${expert_dataset_dirpath}/demo_config.yaml
80
+ name_of_valid_demo: 64_240x320_hbm_twodim_fps_fix_contact_fix_recovery_fix_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
81
+ valid_dataset_dir: ${root_dir}/FISH/expert_demos/${suite.name}/${task_name}/${name_of_valid_demo}/demos.zarr
82
+ valid_demo_idxs_list_or_num: null
83
+ val_num_groups: 16
84
+ load_bc: ${agent.load_checkpoint}
85
+ checkpoint_epoch_list:
86
+ - 99
87
+ - 199
88
+ - 299
89
+ - 399
90
+ - 499
91
+ - 599
92
+ - 699
93
+ - 799
94
+ - 899
95
+ - 999
96
+ - 1249
97
+ - 1499
98
+ - 1749
99
+ - 1999
100
+ - 2999
101
+ - 3999
102
+ - 4999
103
+ - 5999
104
+ - 6999
105
+ - 7999
106
+ - 8999
107
+ - 9999
108
+ snapshot_root_dir: /mnt/grasp_high_usage/leonmkim/contact_estimation/FISH
109
+ save_snapshot: true
110
+ save_last_snapshot: true
111
+ save_snapshot_when_done: true
112
+ top_k_checkpoints: 5
113
+ save_snapshot_link_to_weights_dir: deprecated
114
+ bc_regularize: false
115
+ bc_weight_type: qfilter
116
+ experiment_dir: ./exp_local/${suite.name}_${obs_type}/${task_name}/${wandb_run_id}
117
+ agent:
118
+ _target_: agent.diffusion_policy.DiffusionPolicyAgent
119
+ name: diffusion_policy
120
+ load_checkpoint: ${eval}
121
+ obs_shape:
122
+ - 4
123
+ - 240
124
+ - 320
125
+ action_shape:
126
+ - 36
127
+ - 7
128
+ device: ${device}
129
+ n_obs_steps: ${.config.policy_cfg.n_obs_steps}
130
+ suite_name: ${suite.name}
131
+ obs_type: ${obs_type}
132
+ enable_arm: ${eval}
133
+ enable_camera: ${eval}
134
+ use_tb: ${use_tb}
135
+ desired_image_shape:
136
+ - 13
137
+ - 180
138
+ - 240
139
+ orig_cam_shape:
140
+ - 3
141
+ - 240
142
+ - 320
143
+ config:
144
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
145
+ compile: false
146
+ device: ${device}
147
+ cam_resize_shape: ${agent.desired_image_shape}
148
+ orig_cam_shape: ${agent.orig_cam_shape}
149
+ policy_frequency: ${policy_frequency}
150
+ interpolation_frequency: ${interpolation_frequency}
151
+ policy_cfg:
152
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
153
+ n_obs_steps: 1
154
+ horizon: 36
155
+ n_action_steps: ${agent.config.policy_cfg.horizon}
156
+ output_shapes:
157
+ action:
158
+ - 7
159
+ input_normalization_modes:
160
+ observation.image: mean_std
161
+ observation.state: min_max
162
+ observation.action_history: min_max
163
+ output_normalization_modes:
164
+ action: min_max
165
+ vision_backbone: resnet18
166
+ pretrained_backbone_weights: null
167
+ transforms:
168
+ - _target_: torchaug.transforms.RandomAffine
169
+ degrees:
170
+ - -5
171
+ - 5
172
+ translate:
173
+ - 0.05
174
+ - 0.05
175
+ batch_transform: true
176
+ num_chunks: -1
177
+ batch_inplace: true
178
+ - _target_: torchaug.transforms.RandomColorJitter
179
+ brightness: 0.3
180
+ contrast: 0.4
181
+ saturation: 0.5
182
+ hue: 0.08
183
+ batch_transform: true
184
+ num_chunks: -1
185
+ batch_inplace: true
186
+ use_group_norm: true
187
+ spatial_softmax_num_keypoints: 32
188
+ action_history_encoder_config:
189
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
190
+ in_channels: 7
191
+ out_channels: 32
192
+ history_length: 6
193
+ kernel_size: ${agent.config.policy_cfg.kernel_size}
194
+ downsample_kernel_size: 3
195
+ downsample_stride: 2
196
+ downsample_padding: 1
197
+ down_dims:
198
+ - 256
199
+ - 512
200
+ - 1024
201
+ kernel_size: 5
202
+ n_groups: 8
203
+ diffusion_step_embed_dim: 128
204
+ use_film_scale_modulation: true
205
+ noise_scheduler_type: DDIM
206
+ beta_schedule: squaredcos_cap_v2
207
+ beta_start: 0.0001
208
+ beta_end: 0.02
209
+ prediction_type: epsilon
210
+ clip_sample: true
211
+ clip_sample_range: 1.0
212
+ num_train_timesteps: 50
213
+ num_inference_steps: 10
214
+ do_mask_loss_for_padding: false
215
+ input_shapes:
216
+ observation.image:
217
+ - 13
218
+ - 180
219
+ - 240
220
+ context_observation.image:
221
+ - 13
222
+ - 180
223
+ - 240
224
+ observation.state:
225
+ - 8
226
+ observation.action_history:
227
+ - 7
228
+ train_cfg:
229
+ _target_: utils.TrainConfig
230
+ lr: 0.0001
231
+ lr_scheduler: cosine
232
+ lr_warmup_steps: 500
233
+ adam_betas:
234
+ - 0.95
235
+ - 0.999
236
+ adam_eps: 1.0e-08
237
+ adam_weight_decay: 1.0e-06
238
+ grad_clip_norm: 10
239
+ offline_steps: ${num_train_frames_diffusion}
240
+ use_amp: true
241
+ observation_cfg:
242
+ _target_: agent.encoder.VisualFeatureSet
243
+ use_depth: ${use_depth}
244
+ use_color: ${use_color}
245
+ mask_input_dict:
246
+ _target_: agent.encoder.MaskInputDict
247
+ enable: ${use_masks}
248
+ representation: ${mask_representation}
249
+ mask_list: ${mask_list}
250
+ crop_input_config:
251
+ _target_: agent.encoder.CropInputConfig
252
+ color_crop_type: ${color_crop_type}
253
+ depth_crop_type: ${depth_crop_type}
254
+ segmask_crop_type: ${segmask_crop_type}
255
+ crop_hw: ${crop_hw}
256
+ crop_down_offset: ${crop_down_offset}
257
+ add_crop_binary_mask: ${add_crop_binary_mask}
258
+ add_coord_conv_map: ${add_coord_conv_map}
259
+ context_input_config:
260
+ _target_: agent.encoder.ContextInputConfig
261
+ use_color: ${use_context_color}
262
+ use_depth: ${use_context_depth}
263
+ mask_input_dict:
264
+ _target_: agent.encoder.MaskInputDict
265
+ enable: ${use_context_segmask}
266
+ representation: ${mask_representation}
267
+ mask_list: ${mask_list}
268
+ crop_input_config:
269
+ _target_: agent.encoder.CropInputConfig
270
+ color_crop_type: ${context_color_crop_type}
271
+ depth_crop_type: ${context_depth_crop_type}
272
+ segmask_crop_type: ${context_segmask_crop_type}
273
+ crop_hw: ${crop_hw}
274
+ crop_down_offset: ${crop_down_offset}
275
+ add_crop_binary_mask: ${context_add_crop_binary_mask}
276
+ add_coord_conv_map: ${context_add_coord_conv_map}
277
+ mask_soft_approx_scheduler_config:
278
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
279
+ num_steps: 40000
280
+ initial_value: 10.0
281
+ final_value: 1000.0
282
+ interpolation_scheme: cosine
283
+ use_contact_map: ${use_contact_map}
284
+ use_sdf_maps: ${use_sdf_maps}
285
+ use_normals_maps: ${use_normals_maps}
286
+ which_objects: ${which_objects}
287
+ grasped_dtc_max_value: ${grasped_dtc_max_value}
288
+ env_dtc_max_value: ${env_dtc_max_value}
289
+ grasped_normals_mask_max_dtc_value: ${grasped_normals_mask_max_dtc_value}
290
+ env_normals_mask_max_dtc_value: ${env_normals_mask_max_dtc_value}
291
+ clamp_dtc: ${clamp_dtc}
292
+ max_contact_prob: ${max_contact_prob}
293
+ mask_normals_within_sdf: ${mask_normals_within_sdf}
294
+ dtc_adaptive_normalization: ${dtc_adaptive_normalization}
295
+ adaptive_normals_mask: ${adaptive_normals_mask}
296
+ max_depth: ${max_depth}
297
+ image_shape: ${agent.desired_image_shape}
298
+ learnable_contact_preprocess_params: ${learnable_contact_preprocess_params}
299
+ learning_rate: 0.0001
300
+ weight_decay: 0.0
301
+ contact_model_name: ${contact_model_name}
302
+ zero_centered: false
303
+ suite:
304
+ suite: frankagym
305
+ name: frankagym
306
+ frame_stack: ${agent.n_obs_steps}
307
+ action_repeat: 1
308
+ discount: 0.99
309
+ hidden_dim: 1024
310
+ num_train_frames: 1000000
311
+ num_seed_frames: 0
312
+ num_train_epochs: 15000
313
+ validate_every_epochs: 250
314
+ validate_diffusion_on_action_loss_every_epochs: 250
315
+ train_eval_diffusion_on_action_loss_every_epochs: 250
316
+ check_topk_every_epochs: 250
317
+ save_snapshot_every_epochs: 1500
318
+ eval_every_frames: 2000
319
+ num_eval_episodes: 5
320
+ save_snapshot: true
321
+ wait_for_user_to_start_episode: true
322
+ task_make_fn:
323
+ _target_: suite.frankagym.make
324
+ name: ${task_name}
325
+ height: 240
326
+ width: 320
327
+ frame_stack: ${suite.frame_stack}
328
+ action_repeat: ${suite.action_repeat}
329
+ seed: ${seed}
330
+ enable_arm: ${agent.enable_arm}
331
+ enable_gripper: ${enable_gripper}
332
+ start_with_gripper_open: ${start_with_gripper_open}
333
+ enable_camera: ${agent.enable_camera}
334
+ path_to_depth_extrinsics: ${path_to_depth_extrinsics}
335
+ contact_estimation_model_ckpt_path: ${contact_estimation_model_ckpt_path}
336
+ x_limit: ${x_limit}
337
+ y_limit: ${y_limit}
338
+ z_limit: ${z_limit}
339
+ device: ${device}
340
+ interpolation_frequency: ${interpolation_frequency}
341
+ policy_frequency: ${policy_frequency}
342
+ debug_timestamps: ${debug_timestamps}
343
+ stop_after_action: ${stop_after_action}
344
+ open_loop: ${open_loop}
345
+ wait_for_new_camera_frames: ${wait_for_new_camera_frames}
346
+ action_key: ${action_key}
347
+ action_trajectory_horizon: ${agent.config.policy_cfg.horizon}
348
+ action_trajectories: ${action_trajectories}
349
+ path_to_zarr_dataset: ${expert_dataset}
350
+ observation_cfg:
351
+ _target_: agent.encoder.VisualFeatureSet
352
+ use_depth: ${use_depth}
353
+ use_color: ${use_color}
354
+ mask_input_dict:
355
+ _target_: agent.encoder.MaskInputDict
356
+ enable: ${use_masks}
357
+ representation: ${mask_representation}
358
+ mask_list: ${mask_list}
359
+ crop_input_config:
360
+ _target_: agent.encoder.CropInputConfig
361
+ color_crop_type: ${color_crop_type}
362
+ depth_crop_type: ${depth_crop_type}
363
+ segmask_crop_type: ${segmask_crop_type}
364
+ crop_hw: ${crop_hw}
365
+ crop_down_offset: ${crop_down_offset}
366
+ add_crop_binary_mask: ${add_crop_binary_mask}
367
+ add_coord_conv_map: ${add_coord_conv_map}
368
+ context_input_config:
369
+ _target_: agent.encoder.ContextInputConfig
370
+ use_color: ${use_context_color}
371
+ use_depth: ${use_context_depth}
372
+ mask_input_dict:
373
+ _target_: agent.encoder.MaskInputDict
374
+ enable: ${use_context_segmask}
375
+ representation: ${mask_representation}
376
+ mask_list: ${mask_list}
377
+ crop_input_config:
378
+ _target_: agent.encoder.CropInputConfig
379
+ color_crop_type: ${context_color_crop_type}
380
+ depth_crop_type: ${context_depth_crop_type}
381
+ segmask_crop_type: ${context_segmask_crop_type}
382
+ crop_hw: ${crop_hw}
383
+ crop_down_offset: ${crop_down_offset}
384
+ add_crop_binary_mask: ${context_add_crop_binary_mask}
385
+ add_coord_conv_map: ${context_add_coord_conv_map}
386
+ mask_soft_approx_scheduler_config:
387
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
388
+ num_steps: 40000
389
+ initial_value: 10.0
390
+ final_value: 1000.0
391
+ interpolation_scheme: cosine
392
+ use_contact_map: ${use_contact_map}
393
+ use_sdf_maps: ${use_sdf_maps}
394
+ use_normals_maps: ${use_normals_maps}
395
+ which_objects: ${which_objects}
396
+ grasped_dtc_max_value: ${grasped_dtc_max_value}
397
+ env_dtc_max_value: ${env_dtc_max_value}
398
+ grasped_normals_mask_max_dtc_value: ${grasped_normals_mask_max_dtc_value}
399
+ env_normals_mask_max_dtc_value: ${env_normals_mask_max_dtc_value}
400
+ clamp_dtc: ${clamp_dtc}
401
+ max_contact_prob: ${max_contact_prob}
402
+ mask_normals_within_sdf: ${mask_normals_within_sdf}
403
+ dtc_adaptive_normalization: ${dtc_adaptive_normalization}
404
+ adaptive_normals_mask: ${adaptive_normals_mask}
405
+ max_depth: ${max_depth}
406
+ image_shape: ${agent.desired_image_shape}
407
+ learnable_contact_preprocess_params: ${learnable_contact_preprocess_params}
408
+ learning_rate: 0.0001
409
+ weight_decay: 0.0
410
+ contact_model_name: ${contact_model_name}
411
+ zero_centered: false
412
+ num_train_frames_bc: 50000
413
+ num_train_frames_drq: 1100000
414
+ stddev_schedule_drq: linear(1.0,0.1,100000)
415
+ task_name: FrankaInsertion-v1
416
+ num_train_frames_vinn: 25000
417
+ num_train_frames_diffusion: 1000000
418
+ num_train_epochs_bc: 5000
419
+ num_train_epochs_diffusion: 15000
420
+ validate_every_epochs_bc: 5
421
+ validate_every_epochs_diffusion: 250
422
+ validate_diffusion_on_action_loss_every_epochs: 250
423
+ train_eval_diffusion_on_action_loss_every_epochs: 250
424
+ check_topk_every_epochs: 5
425
+ check_topk_every_epochs_diffusion: 250
426
+ save_snapshot_every_epochs_diffusion: 1500
427
+ x_limit:
428
+ - 0.2
429
+ - 0.7
430
+ y_limit:
431
+ - -0.4
432
+ - 0.4
433
+ z_limit:
434
+ - -0.05
435
+ - 0.55
436
+ home_displacement:
437
+ - 0.55
438
+ - 0.0
439
+ - 0.55
440
+ - 180.0
441
+ - 0.0
442
+ - 0.0
443
+ enable_gripper: true
444
+ start_with_gripper_open: true
445
+ offset_mask:
446
+ - 1
447
+ - 1
448
+ - 1
449
+ - 1
450
+ - 1
451
+ - 1
452
+ path_to_depth_extrinsics: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
453
+ feature_type: 180x240_1_RGB_D_2.0_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1
snapshot_10499.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1702c03ee954b0d8a50d79858fc6fece9df5efb19a636c080069d8c2e4773efd
3
+ size 910064728
snapshot_10500.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1a1c795bfd12b3845aaa2bc4d017e14a0124ac8ac4b9b084e8e81a04572f18c4
3
+ size 910064728
snapshot_11249.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:53a7baefb5d72aed8aa4c0221b74be04ee442af7d1f08e52d025e49698fc7e47
3
+ size 910064728
snapshot_12000.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:60ce39abcf5b30ca6e95fff78604d99d31fafd40899cc3d130204247b33b5b47
3
+ size 910064728
snapshot_13500.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ea1cc29c54827d1659ec1aad224b07479e91851cdb2c1c01725d036b3c2e3bd4
3
+ size 910064728
snapshot_14999.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d69e4bbea743e8f03fa03fa80f77dadf62de8183235751592ed02e3e4ef007ca
3
+ size 910064728