serialexperimentsleon commited on
Commit
92d93f4
·
verified ·
1 Parent(s): d62eb72

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 +47 -0
  2. 3o6eq09y/episode_rosbags/episode_4_2024-12-31-21-17-59.bag +3 -0
  3. 9rj28b8z/episode_rosbags/episode_0_2024-12-31-22-21-47.bag +3 -0
  4. 9rj28b8z/episode_rosbags/episode_1_2024-12-31-22-22-27.bag +3 -0
  5. 9rj28b8z/episode_rosbags/episode_2_2024-12-31-22-23-09.bag +3 -0
  6. 9rj28b8z/episode_rosbags/episode_3_2024-12-31-22-23-49.bag +3 -0
  7. 9rj28b8z/episode_rosbags/episode_4_2024-12-31-22-24-34.bag +3 -0
  8. gwnrzhmx/episode_rosbags/episode_0_2024-12-31-22-15-30.bag +3 -0
  9. gwnrzhmx/episode_rosbags/episode_1_2024-12-31-22-16-10.bag +3 -0
  10. gwnrzhmx/episode_rosbags/episode_2_2024-12-31-22-16-50.bag +3 -0
  11. gwnrzhmx/episode_rosbags/episode_3_2024-12-31-22-17-38.bag +3 -0
  12. gwnrzhmx/episode_rosbags/episode_4_2024-12-31-22-18-19.bag +3 -0
  13. ix23zko1/.hydra/config.yaml +350 -0
  14. ix23zko1/.hydra/hydra.yaml +169 -0
  15. ix23zko1/.hydra/overrides.yaml +3 -0
  16. ix23zko1/episode_rosbags/aligned_depth_to_color_K.npy +3 -0
  17. ix23zko1/episode_rosbags/color_K.npy +3 -0
  18. ix23zko1/episode_rosbags/episode_1_2024-12-31-23-24-18.bag +3 -0
  19. ix23zko1/episode_rosbags/episode_2_2024-12-31-23-25-04.bag +3 -0
  20. ix23zko1/episode_rosbags/episode_3_2024-12-31-23-25-55.bag +3 -0
  21. ix23zko1/eval_video/0_eval.mp4 +3 -0
  22. ix23zko1/eval_video/1_eval.mp4 +3 -0
  23. ix23zko1/eval_video/2_eval.mp4 +3 -0
  24. ix23zko1/eval_video/3_eval.mp4 +3 -0
  25. ix23zko1/eval_video/4_eval.mp4 +3 -0
  26. ix23zko1/tb/events.out.tfevents.1735705372.leonmkim-ROG-Strix-G15CS-G15CS.1763844.0 +3 -0
  27. ix23zko1/wandb/debug-internal.log +0 -0
  28. ix23zko1/wandb/debug.log +31 -0
  29. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/code/FISH/eval_robot.py +605 -0
  30. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/config.yaml +895 -0
  31. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/diff.patch +86 -0
  32. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/table/eval/success_rate_ci_5_36776135f97d857e6145.table.json +1 -0
  33. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/table/eval/total_success_rate_ci_6_cdffd89ce3ca7a2fac89.table.json +1 -0
  34. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/0_eval_0_eeec50fdf1118de79305.mp4 +3 -0
  35. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/1_eval_1_00cd606e45f670b2df9c.mp4 +3 -0
  36. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/2_eval_2_3ca0a8506093efa659f9.mp4 +3 -0
  37. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/3_eval_3_4b8025834b9f25779448.mp4 +3 -0
  38. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/4_eval_4_e48861ffe574038dd2b6.mp4 +3 -0
  39. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/output.log +281 -0
  40. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/requirements.txt +340 -0
  41. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/wandb-metadata.json +92 -0
  42. ix23zko1/wandb/run-20241231_232251-ix23zko1/files/wandb-summary.json +1 -0
  43. ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug-internal.log +0 -0
  44. ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug.log +31 -0
  45. ix23zko1/wandb/run-20241231_232251-ix23zko1/run-ix23zko1.wandb +0 -0
  46. ksj6ie6d/episode_rosbags/aligned_depth_to_color_K.npy +3 -0
  47. ksj6ie6d/episode_rosbags/cam_tf_world.npy +3 -0
  48. ksj6ie6d/episode_rosbags/color_K.npy +3 -0
  49. ksj6ie6d/episode_rosbags/depth_K.npy +3 -0
  50. ksj6ie6d/eval_robot.log +12 -0
.gitattributes CHANGED
@@ -152,3 +152,50 @@ qo464509/episode_rosbags/episode_4_2025-01-01-10-55-58.bag filter=lfs diff=lfs m
152
  3o6eq09y/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
153
  ix23zko1/episode_rosbags/episode_4_2024-12-31-23-27-07.bag filter=lfs diff=lfs merge=lfs -text
154
  ix23zko1/episode_rosbags/episode_0_2024-12-31-23-23-23.bag filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  3o6eq09y/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
153
  ix23zko1/episode_rosbags/episode_4_2024-12-31-23-27-07.bag filter=lfs diff=lfs merge=lfs -text
154
  ix23zko1/episode_rosbags/episode_0_2024-12-31-23-23-23.bag filter=lfs diff=lfs merge=lfs -text
155
+ ix23zko1/episode_rosbags/episode_3_2024-12-31-23-25-55.bag filter=lfs diff=lfs merge=lfs -text
156
+ ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/3_eval_3_4b8025834b9f25779448.mp4 filter=lfs diff=lfs merge=lfs -text
157
+ ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/2_eval_2_3ca0a8506093efa659f9.mp4 filter=lfs diff=lfs merge=lfs -text
158
+ ix23zko1/episode_rosbags/episode_1_2024-12-31-23-24-18.bag filter=lfs diff=lfs merge=lfs -text
159
+ ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/0_eval_0_eeec50fdf1118de79305.mp4 filter=lfs diff=lfs merge=lfs -text
160
+ ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/1_eval_1_00cd606e45f670b2df9c.mp4 filter=lfs diff=lfs merge=lfs -text
161
+ ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/4_eval_4_e48861ffe574038dd2b6.mp4 filter=lfs diff=lfs merge=lfs -text
162
+ ix23zko1/eval_video/3_eval.mp4 filter=lfs diff=lfs merge=lfs -text
163
+ ix23zko1/eval_video/4_eval.mp4 filter=lfs diff=lfs merge=lfs -text
164
+ ix23zko1/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
165
+ ix23zko1/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
166
+ ix23zko1/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
167
+ 9rj28b8z/episode_rosbags/episode_4_2024-12-31-22-24-34.bag filter=lfs diff=lfs merge=lfs -text
168
+ 9rj28b8z/episode_rosbags/episode_0_2024-12-31-22-21-47.bag filter=lfs diff=lfs merge=lfs -text
169
+ 9rj28b8z/episode_rosbags/episode_3_2024-12-31-22-23-49.bag filter=lfs diff=lfs merge=lfs -text
170
+ 9rj28b8z/episode_rosbags/episode_1_2024-12-31-22-22-27.bag filter=lfs diff=lfs merge=lfs -text
171
+ 9rj28b8z/episode_rosbags/episode_2_2024-12-31-22-23-09.bag filter=lfs diff=lfs merge=lfs -text
172
+ ix23zko1/episode_rosbags/episode_2_2024-12-31-23-25-04.bag filter=lfs diff=lfs merge=lfs -text
173
+ gwnrzhmx/episode_rosbags/episode_0_2024-12-31-22-15-30.bag filter=lfs diff=lfs merge=lfs -text
174
+ nkdxms1x/wandb/run-20241231_210323-nkdxms1x/run-nkdxms1x.wandb filter=lfs diff=lfs merge=lfs -text
175
+ nkdxms1x/wandb/run-20241231_210323-nkdxms1x/files/media/videos/eval/1_eval_1_53a45cc58516bfa82806.mp4 filter=lfs diff=lfs merge=lfs -text
176
+ nkdxms1x/wandb/run-20241231_210323-nkdxms1x/files/media/videos/eval/3_eval_3_a0e47918912079386856.mp4 filter=lfs diff=lfs merge=lfs -text
177
+ nkdxms1x/wandb/run-20241231_210323-nkdxms1x/files/media/videos/eval/4_eval_4_c43d65e2ea74e852f815.mp4 filter=lfs diff=lfs merge=lfs -text
178
+ nkdxms1x/wandb/run-20241231_210323-nkdxms1x/files/media/videos/eval/2_eval_2_fe1c0520eab448503096.mp4 filter=lfs diff=lfs merge=lfs -text
179
+ nkdxms1x/wandb/run-20241231_210323-nkdxms1x/files/media/videos/eval/0_eval_0_e739aa3a1064d7a115c6.mp4 filter=lfs diff=lfs merge=lfs -text
180
+ nkdxms1x/eval_video/4_eval.mp4 filter=lfs diff=lfs merge=lfs -text
181
+ nkdxms1x/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
182
+ nkdxms1x/eval_video/3_eval.mp4 filter=lfs diff=lfs merge=lfs -text
183
+ nkdxms1x/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
184
+ nkdxms1x/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
185
+ gwnrzhmx/episode_rosbags/episode_1_2024-12-31-22-16-10.bag filter=lfs diff=lfs merge=lfs -text
186
+ gwnrzhmx/episode_rosbags/episode_4_2024-12-31-22-18-19.bag filter=lfs diff=lfs merge=lfs -text
187
+ gwnrzhmx/episode_rosbags/episode_3_2024-12-31-22-17-38.bag filter=lfs diff=lfs merge=lfs -text
188
+ gwnrzhmx/episode_rosbags/episode_2_2024-12-31-22-16-50.bag filter=lfs diff=lfs merge=lfs -text
189
+ wj867hap/wandb/run-20250101_114118-wj867hap/files/media/videos/eval/3_eval_3_f10a7919af6282d63709.mp4 filter=lfs diff=lfs merge=lfs -text
190
+ wj867hap/wandb/run-20250101_114118-wj867hap/files/media/videos/eval/0_eval_0_88d6f4da7bee0d1f957d.mp4 filter=lfs diff=lfs merge=lfs -text
191
+ wj867hap/wandb/run-20250101_114118-wj867hap/files/media/videos/eval/2_eval_2_612933313ae530de7699.mp4 filter=lfs diff=lfs merge=lfs -text
192
+ nkdxms1x/episode_rosbags/episode_1_2024-12-31-21-04-39.bag filter=lfs diff=lfs merge=lfs -text
193
+ wj867hap/wandb/run-20250101_114118-wj867hap/files/media/videos/eval/4_eval_4_39687803b7dbf5e9f63d.mp4 filter=lfs diff=lfs merge=lfs -text
194
+ wj867hap/wandb/run-20250101_114118-wj867hap/files/media/videos/eval/1_eval_1_b96c803a906c327b9d1e.mp4 filter=lfs diff=lfs merge=lfs -text
195
+ wj867hap/eval_video/3_eval.mp4 filter=lfs diff=lfs merge=lfs -text
196
+ wj867hap/eval_video/4_eval.mp4 filter=lfs diff=lfs merge=lfs -text
197
+ wj867hap/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
198
+ wj867hap/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
199
+ wj867hap/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
200
+ 3o6eq09y/episode_rosbags/episode_4_2024-12-31-21-17-59.bag filter=lfs diff=lfs merge=lfs -text
201
+ nkdxms1x/episode_rosbags/episode_0_2024-12-31-21-03-48.bag filter=lfs diff=lfs merge=lfs -text
3o6eq09y/episode_rosbags/episode_4_2024-12-31-21-17-59.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:28c39c0ec81c6900dfdbbf95137fac781179dc0730e6c4ca42409212fa865039
3
+ size 1409306555
9rj28b8z/episode_rosbags/episode_0_2024-12-31-22-21-47.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fe5cf3782d366b6f6f9db0701e2d3a27a0cc320efa9addb4efb0baae4bc186d1
3
+ size 1409355580
9rj28b8z/episode_rosbags/episode_1_2024-12-31-22-22-27.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fd701941b2f3d4e7e453717995c7a6191670ac4b34e4d358272162f0b1dc4ba2
3
+ size 1414217113
9rj28b8z/episode_rosbags/episode_2_2024-12-31-22-23-09.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f8f1419f4c80b861332a83e2d3f18a6bee21c3c56b07b50d6896efe00092190c
3
+ size 1410517765
9rj28b8z/episode_rosbags/episode_3_2024-12-31-22-23-49.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:217be4351cb9abe19f2c0157cd141e536607d68eda02589138435d2e11400643
3
+ size 1414366392
9rj28b8z/episode_rosbags/episode_4_2024-12-31-22-24-34.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4dc9813f6e1e3e6d3f9ad7c63e10e6667201f473d40e7d21881b429449665c9b
3
+ size 1410653010
gwnrzhmx/episode_rosbags/episode_0_2024-12-31-22-15-30.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:274fa9b38db8a38fab17a2e000d6a1ab398ee3862beea707eab227d9159b27ea
3
+ size 1408280363
gwnrzhmx/episode_rosbags/episode_1_2024-12-31-22-16-10.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9258078f0ba4b0a5164dc594109e09d34c80af47f11f899c5138200c8a7f764d
3
+ size 1414773977
gwnrzhmx/episode_rosbags/episode_2_2024-12-31-22-16-50.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e9ff081aeae7ea717ae592a106de73354f1a8e766aa8a43984ec27de308ab3b7
3
+ size 1443058978
gwnrzhmx/episode_rosbags/episode_3_2024-12-31-22-17-38.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fc3d0cf20b4016a8c03eb0fdba29880b35b8b219aa7deb4eb31a1884025dae4e
3
+ size 1409266391
gwnrzhmx/episode_rosbags/episode_4_2024-12-31-22-18-19.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:80036b6280e4b5ddb2fd8de71fb7504994f780163ff042705abb85b34174ffec
3
+ size 1410837938
ix23zko1/.hydra/config.yaml ADDED
@@ -0,0 +1,350 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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: 112_240x320_all_twodim_left_to_right_annotated_start_idx_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: '1007_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
+ final_experiment_dir: ${experiment_dir}/${oc.generate_run_id:}
88
+ agent:
89
+ _target_: agent.diffusion_policy.DiffusionPolicyAgent
90
+ name: diffusion_policy
91
+ load_checkpoint: ${eval}
92
+ device: ${device}
93
+ n_obs_steps: ${.config.policy_cfg.n_obs_steps}
94
+ suite_name: ${suite.name}
95
+ obs_type: ${obs_type}
96
+ enable_arm: ${eval}
97
+ enable_camera: ${eval}
98
+ use_tb: ${use_tb}
99
+ desired_image_shape:
100
+ - 13
101
+ - 180
102
+ - 240
103
+ orig_cam_shape:
104
+ - 3
105
+ - 240
106
+ - 320
107
+ config:
108
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
109
+ compile: false
110
+ device: ${device}
111
+ cam_resize_shape: ${agent.desired_image_shape}
112
+ orig_cam_shape: ${agent.orig_cam_shape}
113
+ policy_frequency: ${policy_frequency}
114
+ interpolation_frequency: ${interpolation_frequency}
115
+ policy_cfg:
116
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
117
+ n_obs_steps: 1
118
+ horizon: 36
119
+ n_action_steps: ${agent.config.policy_cfg.horizon}
120
+ input_shapes:
121
+ observation.image: ${agent.config.cam_resize_shape}
122
+ context_observation.image: ${agent.config.cam_resize_shape}
123
+ observation.state:
124
+ - 8
125
+ observation.action_history:
126
+ - 7
127
+ output_shapes:
128
+ action:
129
+ - 7
130
+ input_normalization_modes:
131
+ observation.image: mean_std
132
+ observation.state: min_max
133
+ observation.action_history: min_max
134
+ output_normalization_modes:
135
+ action: min_max
136
+ vision_backbone: resnet18
137
+ pretrained_backbone_weights: null
138
+ transforms:
139
+ - _target_: torchaug.transforms.RandomAffine
140
+ degrees:
141
+ - -5
142
+ - 5
143
+ translate:
144
+ - 0.05
145
+ - 0.05
146
+ batch_transform: true
147
+ num_chunks: -1
148
+ batch_inplace: true
149
+ - _target_: torchaug.transforms.RandomColorJitter
150
+ brightness: 0.3
151
+ contrast: 0.4
152
+ saturation: 0.5
153
+ hue: 0.08
154
+ batch_transform: true
155
+ num_chunks: -1
156
+ batch_inplace: true
157
+ use_group_norm: true
158
+ spatial_softmax_num_keypoints: 32
159
+ action_history_encoder_config:
160
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
161
+ in_channels: 7
162
+ out_channels: 32
163
+ history_length: ${agent.config.policy_cfg.n_action_steps}
164
+ kernel_size: ${agent.config.policy_cfg.kernel_size}
165
+ downsample_kernel_size: 3
166
+ downsample_stride: 2
167
+ downsample_padding: 1
168
+ down_dims:
169
+ - 256
170
+ - 512
171
+ - 1024
172
+ kernel_size: 5
173
+ n_groups: 8
174
+ diffusion_step_embed_dim: 128
175
+ use_film_scale_modulation: true
176
+ noise_scheduler_type: DDIM
177
+ beta_schedule: squaredcos_cap_v2
178
+ beta_start: 0.0001
179
+ beta_end: 0.02
180
+ prediction_type: epsilon
181
+ clip_sample: true
182
+ clip_sample_range: 1.0
183
+ num_train_timesteps: 50
184
+ num_inference_steps: 10
185
+ do_mask_loss_for_padding: false
186
+ train_cfg:
187
+ _target_: utils.TrainConfig
188
+ lr: 0.0001
189
+ lr_scheduler: cosine
190
+ lr_warmup_steps: 500
191
+ adam_betas:
192
+ - 0.95
193
+ - 0.999
194
+ adam_eps: 1.0e-08
195
+ adam_weight_decay: 1.0e-06
196
+ grad_clip_norm: 10
197
+ offline_steps: ${num_train_frames_diffusion}
198
+ use_amp: true
199
+ observation_cfg:
200
+ _target_: agent.encoder.VisualFeatureSet
201
+ use_depth: ${use_depth}
202
+ use_color: ${use_color}
203
+ mask_input_dict:
204
+ _target_: agent.encoder.MaskInputDict
205
+ enable: ${use_masks}
206
+ representation: ${mask_representation}
207
+ mask_list: ${mask_list}
208
+ crop_input_config:
209
+ _target_: agent.encoder.CropInputConfig
210
+ color_crop_type: ${color_crop_type}
211
+ depth_crop_type: ${depth_crop_type}
212
+ segmask_crop_type: ${segmask_crop_type}
213
+ crop_hw: ${crop_hw}
214
+ crop_down_offset: ${crop_down_offset}
215
+ add_crop_binary_mask: ${add_crop_binary_mask}
216
+ add_coord_conv_map: ${add_coord_conv_map}
217
+ context_input_config:
218
+ _target_: agent.encoder.ContextInputConfig
219
+ use_color: ${use_context_color}
220
+ use_depth: ${use_context_depth}
221
+ mask_input_dict:
222
+ _target_: agent.encoder.MaskInputDict
223
+ enable: ${use_context_segmask}
224
+ representation: ${mask_representation}
225
+ mask_list: ${mask_list}
226
+ crop_input_config:
227
+ _target_: agent.encoder.CropInputConfig
228
+ color_crop_type: ${context_color_crop_type}
229
+ depth_crop_type: ${context_depth_crop_type}
230
+ segmask_crop_type: ${context_segmask_crop_type}
231
+ crop_hw: ${crop_hw}
232
+ crop_down_offset: ${crop_down_offset}
233
+ add_crop_binary_mask: ${context_add_crop_binary_mask}
234
+ add_coord_conv_map: ${context_add_coord_conv_map}
235
+ mask_soft_approx_scheduler_config:
236
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
237
+ num_steps: 40000
238
+ initial_value: 10.0
239
+ final_value: 1000.0
240
+ interpolation_scheme: constant
241
+ use_contact_map: ${use_contact_map}
242
+ use_sdf_maps: ${use_sdf_maps}
243
+ use_normals_maps: ${use_normals_maps}
244
+ which_objects: ${which_objects}
245
+ grasped_dtc_max_value: ${grasped_dtc_max_value}
246
+ env_dtc_max_value: ${env_dtc_max_value}
247
+ grasped_normals_mask_max_dtc_value: ${grasped_normals_mask_max_dtc_value}
248
+ env_normals_mask_max_dtc_value: ${env_normals_mask_max_dtc_value}
249
+ clamp_dtc: ${clamp_dtc}
250
+ max_contact_prob: ${max_contact_prob}
251
+ mask_normals_within_sdf: ${mask_normals_within_sdf}
252
+ dtc_adaptive_normalization: ${dtc_adaptive_normalization}
253
+ adaptive_normals_mask: ${adaptive_normals_mask}
254
+ max_depth: ${max_depth}
255
+ image_shape: ${agent.desired_image_shape}
256
+ learnable_contact_preprocess_params: ${learnable_contact_preprocess_params}
257
+ learning_rate: ${agent.config.train_cfg.lr}
258
+ weight_decay: 0.0
259
+ contact_model_name: ${contact_model_name}
260
+ zero_centered: false
261
+ suite:
262
+ suite: frankagym
263
+ name: frankagym
264
+ frame_stack: ${agent.n_obs_steps}
265
+ action_repeat: 1
266
+ discount: 0.99
267
+ hidden_dim: 1024
268
+ num_train_frames: 2010
269
+ num_seed_frames: 260
270
+ num_train_epochs: 5000
271
+ validate_every_epochs: 100
272
+ validate_diffusion_on_action_loss_every_epochs: 500
273
+ train_eval_diffusion_on_action_loss_every_epochs: 500
274
+ check_topk_every_epochs: 10
275
+ save_snapshot_every_epochs: 5000
276
+ eval_every_frames: 2000
277
+ num_eval_episodes: 5
278
+ save_snapshot: true
279
+ wait_for_user_to_start_episode: true
280
+ task_make_fn:
281
+ _target_: suite.frankagym.make
282
+ name: ${task_name}
283
+ height: 240
284
+ width: 320
285
+ frame_stack: ${suite.frame_stack}
286
+ action_repeat: ${suite.action_repeat}
287
+ seed: ${seed}
288
+ enable_arm: ${agent.enable_arm}
289
+ enable_gripper: ${enable_gripper}
290
+ start_with_gripper_open: ${start_with_gripper_open}
291
+ enable_camera: ${agent.enable_camera}
292
+ path_to_depth_extrinsics: ${path_to_depth_extrinsics}
293
+ contact_estimation_model_ckpt_path: ${contact_estimation_model_ckpt_path}
294
+ x_limit: ${x_limit}
295
+ y_limit: ${y_limit}
296
+ z_limit: ${z_limit}
297
+ device: ${device}
298
+ interpolation_frequency: ${interpolation_frequency}
299
+ policy_frequency: ${policy_frequency}
300
+ debug_timestamps: ${debug_timestamps}
301
+ stop_after_action: ${stop_after_action}
302
+ open_loop: ${open_loop}
303
+ wait_for_new_camera_frames: ${wait_for_new_camera_frames}
304
+ action_key: ${action_key}
305
+ action_trajectory_horizon: ${agent.config.policy_cfg.horizon}
306
+ action_trajectories: ${action_trajectories}
307
+ path_to_zarr_dataset: ${expert_dataset}
308
+ agent_policy_cfg: ???
309
+ true_action_history: ${true_action_history}
310
+ num_train_frames_bc: 50000
311
+ num_train_frames_drq: 1100000
312
+ stddev_schedule_drq: linear(1.0,0.1,100000)
313
+ task_name: FrankaInsertion-v1
314
+ num_train_frames_vinn: 25000
315
+ num_train_frames_diffusion: 1000000
316
+ num_train_epochs_bc: 5000
317
+ num_train_epochs_diffusion: 5000
318
+ validate_every_epochs_bc: 5
319
+ validate_every_epochs_diffusion: 25
320
+ validate_diffusion_on_action_loss_every_epochs: 50
321
+ train_eval_diffusion_on_action_loss_every_epochs: 500
322
+ check_topk_every_epochs: 5
323
+ check_topk_every_epochs_diffusion: ${validate_diffusion_on_action_loss_every_epochs}
324
+ save_snapshot_every_epochs_diffusion: 5000
325
+ x_limit:
326
+ - 0.2
327
+ - 0.7
328
+ y_limit:
329
+ - -0.4
330
+ - 0.4
331
+ z_limit:
332
+ - -0.05
333
+ - 0.55
334
+ home_displacement:
335
+ - 0.55
336
+ - 0.0
337
+ - 0.55
338
+ - 180.0
339
+ - 0.0
340
+ - 0.0
341
+ enable_gripper: true
342
+ start_with_gripper_open: true
343
+ offset_mask:
344
+ - 1
345
+ - 1
346
+ - 1
347
+ - 1
348
+ - 1
349
+ - 1
350
+ path_to_depth_extrinsics: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
ix23zko1/.hydra/hydra.yaml ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: ${final_experiment_dir}
4
+ sweep:
5
+ dir: ${final_experiment_dir}
6
+ subdir: ${hydra.job.num}
7
+ launcher:
8
+ submitit_folder: ${final_experiment_dir}/.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/1007_0/ix23zko1
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
ix23zko1/.hydra/overrides.yaml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ - agent=diffusion
2
+ - suite=frankagym
3
+ - suite/frankagym_task@_global_=insertion
ix23zko1/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
ix23zko1/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
ix23zko1/episode_rosbags/episode_1_2024-12-31-23-24-18.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:239769abf0705817af1f286ece339a024ca86ae3ca3e91e4dbab8909b163c01c
3
+ size 1417661515
ix23zko1/episode_rosbags/episode_2_2024-12-31-23-25-04.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f240bf3c13ea3eb2fc56d7ef6f434502c4d740dcfbdad142d90404e7b9a26d5e
3
+ size 1416761782
ix23zko1/episode_rosbags/episode_3_2024-12-31-23-25-55.bag ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:189fc7f964dc4545ddafe1e596c2897316dac656589aef0848c1b34f42ce886a
3
+ size 1416613606
ix23zko1/eval_video/0_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eeec50fdf1118de79305b75dbc730bef96e223c42b63cc7fd6c2e0932e19edfb
3
+ size 1167823
ix23zko1/eval_video/1_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:00cd606e45f670b2df9cb4720e6edcc75ceb2f32ba3051bbdee3558c24dd2db8
3
+ size 1101377
ix23zko1/eval_video/2_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3ca0a8506093efa659f9d2fbb0fae3841fc3573aaf49314cfd07fcb920ab7666
3
+ size 1154695
ix23zko1/eval_video/3_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b8025834b9f25779448e4060e96f4d6772b8a78044b25a3a1a4533f5b4211cd
3
+ size 1254048
ix23zko1/eval_video/4_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e48861ffe574038dd2b64475e47765707e4011acf7de964a2bb8265cf5950acc
3
+ size 779902
ix23zko1/tb/events.out.tfevents.1735705372.leonmkim-ROG-Strix-G15CS-G15CS.1763844.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:caa983872358b68063c82da6dbcf40e29edb89deaf958c94ee88ad083d016742
3
+ size 6539
ix23zko1/wandb/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
ix23zko1/wandb/debug.log ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Current SDK version is 0.17.5
2
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Configure stats pid to 1763844
3
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/.config/wandb/settings
4
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/wandb/settings
5
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [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-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Applying login settings: {}
9
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_init.py:_log_setup():529] Logging user logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug.log
10
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_init.py:_log_setup():530] Logging internal logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug-internal.log
11
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_init.py:init():569] calling init triggers
12
+ 2024-12-31 23:22:51,408 INFO MainThread:1763844 [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': 0, 'device': 'cuda', 'save_video': True, 'save_train_video': True, 'use_tb': True, 'use_wandb': True, 'wandb_run_id': '1007_0', 'wandb_notes': '1007_0_restarted_2', 'eval': True, 'true_action_history': False, 'train_pad_after': 4, 'process_contact_features': True, 'obs_type': 'pixels', 'use_color': True, 'use_depth': True, 'use_masks': True, '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_mask_ctxtmask_seed_220979_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': '120_240x320_all_twodim_left_to_right_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/120_240x320_all_twodim_left_to_right_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/120_240x320_all_twodim_left_to_right_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/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/semantic_demo_grouping.yaml', 'include_groups_list': 'all', 'expert_dataset_config': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demo_config.yaml', 'name_of_valid_demo': '120_240x320_all_twodim_left_to_right_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/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'valid_demo_idxs_list_or_num': None, 'val_num_groups': 7, '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/1007_0', 'agent': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgent', 'name': 'diffusion_policy', 'load_checkpoint': True, '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': True, '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_mask_ctxtmask_seed_220979_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/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', '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': True, '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_mask_ctxtmask_seed_220979_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_msk_channels_EE_obj_mask_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, '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/1007_0', 'residual_weight': '/home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt', 'final_experiment_dir': './exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1'}
14
+ 2024-12-31 23:22:51,408 INFO MainThread:1763844 [wandb_init.py:init():619] starting backend
15
+ 2024-12-31 23:22:51,408 INFO MainThread:1763844 [wandb_init.py:init():623] setting up manager
16
+ 2024-12-31 23:22:51,412 INFO MainThread:1763844 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
17
+ 2024-12-31 23:22:51,413 INFO MainThread:1763844 [wandb_init.py:init():631] backend started and connected
18
+ 2024-12-31 23:22:51,427 INFO MainThread:1763844 [wandb_init.py:init():720] updated telemetry
19
+ 2024-12-31 23:22:51,435 INFO MainThread:1763844 [wandb_init.py:init():753] communicating run to backend with 90.0 second timeout
20
+ 2024-12-31 23:22:51,706 INFO MainThread:1763844 [wandb_run.py:_on_init():2435] communicating current version
21
+ 2024-12-31 23:22:51,745 INFO MainThread:1763844 [wandb_run.py:_on_init():2444] got version response upgrade_message: "wandb version 0.19.1 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
22
+
23
+ 2024-12-31 23:22:51,746 INFO MainThread:1763844 [wandb_init.py:init():804] starting run threads in backend
24
+ 2024-12-31 23:22:52,099 INFO MainThread:1763844 [wandb_run.py:_console_start():2413] atexit reg
25
+ 2024-12-31 23:22:52,099 INFO MainThread:1763844 [wandb_run.py:_redirect():2255] redirect: wrap_raw
26
+ 2024-12-31 23:22:52,099 INFO MainThread:1763844 [wandb_run.py:_redirect():2320] Wrapping output streams.
27
+ 2024-12-31 23:22:52,099 INFO MainThread:1763844 [wandb_run.py:_redirect():2345] Redirects installed.
28
+ 2024-12-31 23:22:52,101 INFO MainThread:1763844 [wandb_init.py:init():847] run started, returning control to user process
29
+ 2024-12-31 23:22:52,101 INFO MainThread:1763844 [wandb_run.py:_tensorboard_callback():1544] tensorboard callback: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/tb, True
30
+ 2024-12-31 23:22:57,061 INFO MainThread:1763844 [wandb_run.py:_config_callback():1382] config_cb None None {'grasped_obj_name': 'lib', 'left_book_slot': 'twodim'}
31
+ 2024-12-31 23:28:05,561 WARNING MsgRouterThr:1763844 [router.py:message_loop():77] message_loop has been closed
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/code/FISH/eval_robot.py ADDED
@@ -0,0 +1,605 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ import binomial_cis as bc
39
+
40
+ # get path of current file
41
+ current_path = os.path.dirname(os.path.realpath(__file__))
42
+ sys.path.append(os.path.join(current_path, os.pardir))
43
+ # 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
44
+
45
+ def make_agent(obs_spec, action_spec, cfg):
46
+ cfg.obs_shape = obs_spec['pixels'].shape
47
+ dataset_statistics = None # this will be loaded from the checkpoint
48
+ try:
49
+ cfg.action_shape = action_spec.shape
50
+ except:
51
+ pass
52
+ return hydra.utils.instantiate(cfg, dataset_statistics)
53
+
54
+ class Workspace:
55
+ def __init__(self, cfg):
56
+ self.work_dir = Path.cwd()
57
+ print(f'workspace: {self.work_dir}')
58
+
59
+ signal.signal(signal.SIGINT, self.signal_handler)
60
+
61
+ self.cfg = cfg
62
+ self.loading_uncompiled_checkpoint_with_compile = False
63
+ self.loading_compiled_checkpoint_with_no_compile = False
64
+
65
+ snapshot_path = Path(self.cfg.checkpoint_weight_dir) / f'snapshot_{self.cfg.checkpoint_epoch}.pt'
66
+ self.load_checkpoint_conf(snapshot_path=snapshot_path)
67
+
68
+ # load config for action trajectories
69
+ utils.set_seed_everywhere(self.cfg.seed)
70
+ self.device = torch.device(self.cfg.device)
71
+ self.setup()
72
+
73
+ # self.agent = make_agent(self.eval_env.observation_spec(),
74
+ # self.eval_env.action_spec(), self.cfg.agent)
75
+ self.timer = utils.Timer()
76
+ # self._global_step = 0
77
+ self._global_episode = 0
78
+ self._global_epoch = 0
79
+ self.num_episode_successes = 0
80
+
81
+ self.alpha_range = [.01, .025, .05, .1]
82
+
83
+ # Need to convert hydra config to primitive container for wandb https://docs.wandb.ai/guides/integrations/hydra
84
+ with open_dict(self.cfg):
85
+ self.cfg.feature_type = get_feature_dirname_from_configs(
86
+ hydra.utils.instantiate(self.cfg.agent.config.observation_cfg),
87
+ self.cfg.agent.config.policy_cfg.input_shapes,
88
+ 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,
89
+ )
90
+
91
+ wandb_config = OmegaConf.to_container(
92
+ self.cfg, resolve=True, throw_on_missing=True
93
+ )
94
+ # must be called before any tf summary writer is created
95
+ if self.cfg.use_wandb:
96
+ # get the run id from the final_experiment_dir directory
97
+ run_id = os.path.basename(os.path.normpath(self.cfg.final_experiment_dir))
98
+ wandb.init(project='extrinsic_contact_downstream', entity='serialexperimentsleon', job_type='eval', sync_tensorboard=self.cfg.use_tb, config=wandb_config, id=run_id)
99
+
100
+ self.logger = Logger(self.work_dir, use_tb=self.cfg.use_tb, use_wandb=self.cfg.use_wandb)
101
+
102
+ # if not self.loading_uncompiled_checkpoint_with_compile and self.cfg.agent.config.compile:
103
+ # self.agent.compile_modules()
104
+
105
+ # self.load_checkpoint(snapshot_path=snapshot_path)
106
+
107
+ # if self.loading_uncompiled_checkpoint_with_compile: # need to call compile after loading the checkpoint
108
+ # self.agent.compile_modules()
109
+
110
+ print(f"loaded agent with feature_type: {self.cfg.feature_type}")
111
+
112
+ def check_for_key_press(self):
113
+ while self.continue_keypress_thread:
114
+ inp = input("Press 'r' to restart current episode, 'n' to stop current episode and skip to next, 'q' to break entire eval\n")
115
+ if inp == 'n':
116
+ self.preempt_episode = True
117
+ print("preempting episode")
118
+ elif inp in ['', '0', '1']: # enter key
119
+ if inp in ['0', '1']:
120
+ self.num_episode_successes += int(inp)
121
+ self.proceed_after_env_reset_event.set()
122
+ print("proceeding to start episode!")
123
+ elif inp == 'q':
124
+ self.proceed_after_env_reset_event.set()
125
+ self.preempt_episode = True
126
+ self.exit_eval = True
127
+ self.continue_keypress_thread = False # will stop the keypress thread
128
+ print("quitting eval")
129
+ break
130
+ elif inp == 'r':
131
+ print('restarting episode')
132
+ self.preempt_episode = True
133
+ self.restart_episode = True
134
+ else:
135
+ print("Invalid key press, try again")
136
+
137
+ # self.keypress_input_thread.join() # wait for the keypress thread to finish
138
+
139
+ def signal_handler(self, signal, frame):
140
+ print("\nprogram exiting gracefully")
141
+ self.proceed_after_env_reset_event.set()
142
+ self.preempt_episode = True
143
+ self.exit_eval = True
144
+ self.continue_keypress_thread = False # will stop the keypress thread
145
+ self.keypress_input_thread.join() # wait for the keypress thread to finish
146
+ video_filepath = self.video_recorder.save()
147
+ # get the video file and convert to video tensor to log
148
+ self.logger.log_video('eval/video', video_filepath, self.global_step)
149
+ wandb.finish()
150
+ sys.exit(0)
151
+
152
+ def setup(self):
153
+ # create envs
154
+ self.eval_env = hydra.utils.call(self.cfg.suite.task_make_fn)
155
+ # expert_demo_config_path = os.path.join(os.path.dirname(self.cfg.expert_dataset), 'demo_config.yaml')
156
+ # self.expert_demo_config = yaml.load(open(expert_demo_config_path, 'r'), Loader=yaml.FullLoader)
157
+ # self.eval_env._env.action_trans_norm = expert_demo_config['max_translation_action_norm']
158
+ # self.eval_env._env.action_rot_norm = expert_demo_config['max_rotation_action_norm']
159
+ # self.eval_env._env.action_period = expert_demo_config['sample_period']
160
+ # print(f"setting max_translation_action_norm to {expert_demo_config['max_translation_action_norm']} and sample_period to {expert_demo_config['sample_period']}")
161
+ # print(f"setting max_rotation_action_norm to {expert_demo_config['max_rotation_action_norm']}")
162
+
163
+ # self.eval_env.set_demo_params(self.cfg.expert_dataset)
164
+
165
+ # Turn off random start
166
+ self.eval_env.random_start = False
167
+
168
+ # create replay buffer
169
+ # data_specs = [
170
+ # {
171
+ # 'observation': self.eval_env.observation_spec(),
172
+ # },
173
+ # # self.eval_env.observation_spec()['features'],
174
+ # self.eval_env.action_spec(),
175
+ # specs.Array(self.eval_env.action_spec().shape, self.eval_env.action_spec().dtype, 'vinn_action'),
176
+ # specs.Array((1, ), np.float32, 'reward'),
177
+ # specs.Array((1, ), np.float32, 'discount'),
178
+ # ]
179
+
180
+ # 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())
181
+ self.eval_replay_storage = RosbagEvalReplayBufferStorage(self.work_dir)
182
+
183
+ self.video_recorder = VideoRecorder(
184
+ self.work_dir if self.cfg.save_video else None,
185
+ ros_enabled=True,
186
+ fps=self.cfg.agent.config.policy_frequency,
187
+ )
188
+
189
+ print('workspace setup complete')
190
+
191
+ @property
192
+ def global_step(self):
193
+ # return self._global_step
194
+ return self.eval_env.get_global_step()
195
+
196
+ @property
197
+ def global_episode(self):
198
+ return self._global_episode
199
+
200
+ @property
201
+ def global_frame(self):
202
+ return self.global_step * self.cfg.action_repeat
203
+
204
+ @property
205
+ def global_epoch(self):
206
+ return self._global_epoch
207
+
208
+ def reset(self, eval_idx):
209
+ if not self.eval_env.enable_arm:
210
+ return np.array([0,0,0], dtype=np.float32)
211
+ self.eval_env.arm_refresh(reset=False)
212
+ # Set start position
213
+ try:
214
+ self.eval_env.set_position(self.start_pos[eval_idx])
215
+ except:
216
+ self.eval_env.arm.set_position(self.start_pos[eval_idx])
217
+ if self.eval_env.arm.keep_gripper_closed:
218
+ self.eval_env.arm.close_gripper_fully()
219
+ else:
220
+ self.eval_env.arm.open_gripper_fully()
221
+ time.sleep(0.1)
222
+ time_step = self.eval_env.step(np.zeros(self.eval_env.action_spec().shape[0], dtype=np.float32),
223
+ np.zeros(self.eval_env.action_spec().shape[0], dtype=np.float32))
224
+ return time_step
225
+
226
+ def eval(self):
227
+ # before evals start, prompt user for name of grasped object and the left book of the slot location
228
+ grasped_obj_name = input("Enter the name of the grasped object: ")
229
+ left_book_slot = input("Enter the left book slot location: ")
230
+ # update wandb config
231
+ if self.cfg.use_wandb:
232
+ wandb.config.update({'grasped_obj_name': grasped_obj_name, 'left_book_slot': left_book_slot})
233
+
234
+ self.preempt_episode = False
235
+ self.exit_eval = False
236
+ self.restart_episode = False
237
+
238
+ self.continue_keypress_thread = True
239
+ self.proceed_after_env_reset_event = threading.Event()
240
+ self.keypress_input_thread = threading.Thread(target=self.check_for_key_press)
241
+ self.keypress_input_thread.start()
242
+
243
+ # # Set model to eval mode
244
+ # self.agent.train(False)
245
+
246
+ eval_until_episode = utils.Until(self.cfg.num_eval)
247
+
248
+ self.use_action_history = False
249
+ # if "dp" in repr(self.agent) and "observation.action_history" in self.cfg.agent.config.policy_cfg.input_shapes:
250
+ if "observation.action_history" in self.cfg.agent.config.policy_cfg.input_shapes:
251
+ self.use_action_history = True
252
+
253
+ # self.eval_replay_storage._new_eval_step(0)
254
+
255
+ # if 'vinn' in repr(self.agent) or 'openloop' in repr(self.agent):
256
+ # with open(self.cfg.expert_dataset, 'rb') as f:
257
+ # if self.cfg.obs_type == 'pixels':
258
+ # self.expert_demo, _, self.expert_action, self.expert_reward = pickle.load(f)
259
+ # elif self.cfg.obs_type == 'features':
260
+ # _, self.expert_demo, self.expert_action, self.expert_reward = pickle.load(f)
261
+
262
+ # if self.cfg.action_trajectories:
263
+ # with open(self.cfg.expert_action_trajectories, 'rb') as f:
264
+ # self.expert_action = pickle.load(f)
265
+
266
+ # if isinstance(self.cfg.train_demo_idxs_list_or_num, int):
267
+ # if self.cfg.train_demo_idxs_list_or_num == -1:
268
+ # self.cfg.train_demo_idxs_list_or_num = len(self.expert_demo)
269
+ # train_demo_idxs_list_or_num = list(range(self.cfg.train_demo_idxs_list_or_num))
270
+
271
+ # self.expert_demo = self.expert_demo[train_demo_idxs_list_or_num]
272
+ # self.expert_action = self.expert_action[train_demo_idxs_list_or_num]
273
+ # self.expert_reward = self.expert_reward[train_demo_idxs_list_or_num]
274
+ # # if self.cfg.action_plans:
275
+ # # self.expert_action_plans = self.expert_action_plans[self.cfg.train_demo_idxs_list_or_num]
276
+ # # self.expert_demo = self.expert_demo[:self.cfg.num_demos]
277
+ # # self.expert_action = self.expert_action[:self.cfg.num_demos]
278
+ # # self.expert_reward = self.expert_reward[:self.cfg.num_demos]
279
+
280
+ # self.expert_demo = np.concatenate(self.expert_demo, axis=0)
281
+ # self.expert_rgb_obs = np.ascontiguousarray(np.transpose(self.expert_demo, (0,2,3,1))[:, :,:,:3].astype(np.uint8))
282
+ # self.expert_action = np.concatenate(self.expert_action, axis=0)
283
+
284
+ # self.agent.save_representations(self.expert_demo, self.expert_action, 128, config=self.expert_demo_config)
285
+
286
+ # Get start points
287
+ if self.cfg.random_start:
288
+ eval_starts = Path(self.cfg.eval_starts) / 'starts.pkl'
289
+ if eval_starts.exists():
290
+ with eval_starts.open('rb') as f:
291
+ self.start_pos = pickle.load(f)
292
+ else:
293
+ eval_starts = Path(self.cfg.eval_starts)
294
+ eval_starts.mkdir(parents=True, exist_ok=True)
295
+
296
+ # Generate start points
297
+ self.start_pos = []
298
+ try:
299
+ for _ in range(self.cfg.num_eval):
300
+ self.start_pos.append(self.eval_env.get_random_pos())
301
+ except:
302
+ for _ in range(self.cfg.num_eval):
303
+ self.start_pos.append(self.eval_env.arm.get_random_pos())
304
+
305
+ # Save start points for the task
306
+ eval_starts = eval_starts / 'starts.pkl'
307
+ with eval_starts.open('wb') as f:
308
+ pickle.dump(self.start_pos, f)
309
+
310
+ time_step = self.eval_env.reset()
311
+ # replay_thread = None
312
+ while eval_until_episode(self.global_episode) and not self.exit_eval:
313
+ # self.video_recorder.init(self.eval_env, video_filename=f'{self.global_episode}_eval.mp4')
314
+ print(f"Starting episode {self.global_episode}")
315
+ time_step = self.eval_env.reset() #Leon: need to call reset twice in case objects are trapped
316
+ self.video_recorder.init(self.eval_env, video_filename=f'{self.global_episode}_eval.mp4')
317
+ # x = input("Press Enter to continue... after reseting env")
318
+ print("Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success")
319
+ self.proceed_after_env_reset_event.clear() # clear the event flag
320
+ self.proceed_after_env_reset_event.wait() # blocking wait for the event flag to be set
321
+ if self.global_episode > 0:
322
+ self.logger.log_metrics({'num_success': self.num_episode_successes}, self.global_step, 'eval', episode=self.global_episode)
323
+ self.logger.log_metrics({'success_rate': self.num_episode_successes/self.global_episode}, self.global_step, 'eval', episode=self.global_episode)
324
+
325
+ # log confidence intervals for success rate
326
+ k = self.num_episode_successes # number of successes
327
+ n = self.global_episode # number of trials
328
+
329
+ table_columns = []
330
+ table_data = []
331
+ for alpha in self.alpha_range:
332
+ lb = bc.binom_ci(k, n, alpha, 'lb')
333
+ ub = bc.binom_ci(k, n, alpha, 'ub')
334
+
335
+ self.logger.log_metrics({f'success_rate_lb_{alpha}': lb}, self.global_step, 'eval', episode=self.global_episode)
336
+ self.logger.log_metrics({f'success_rate_ub_{alpha}': ub}, self.global_step, 'eval', episode=self.global_episode)
337
+
338
+ time_step = self.eval_env.reset()
339
+ # debug_info_dict = self.eval_env.debug_info_dict
340
+ # if replay_thread is not None:
341
+ # # wait for the last replay thread to finish
342
+ # replay_thread.join()
343
+
344
+ # self.eval_replay_storage.add(time_step._replace(observation=time_step.observation[self.cfg.obs_type]), debug_info_dict)
345
+ # 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))
346
+ # replay_thread = threading.Thread(target=self.eval_replay_storage.add, args=(time_step, debug_info_dict))
347
+
348
+ # replay_thread.start()
349
+ if self.cfg.random_start:
350
+ time_step = self.reset(self.global_episode)
351
+ time.sleep(2) #5)
352
+ # if 'vinn' in repr(self.agent):
353
+ # self.agent.reset()
354
+ # # self.agent.buffer.reset()
355
+ # # if self.cfg.open_loop:
356
+ # # self.agent.current_step = 0
357
+ # if 'openloop' in repr(self.agent):
358
+ # self.agent.curr_step = 0
359
+ # at start of each episode, provide zero action for policies that use action history
360
+ # shape should be (T_o, T_a, action_dim)
361
+
362
+ # while not time_step.last() and not self.preempt_episode:
363
+ self.video_recorder.ros_start_recording()
364
+ self.eval_replay_storage.start_episode()
365
+ self.eval_env.start_policy_timer()
366
+ while not self.eval_env.episode_done() and not self.preempt_episode:
367
+ # with torch.no_grad(), utils.eval_mode(self.agent):
368
+ # # if self.cfg.agent.provide_topk:
369
+ # # action, vinn_action, topk = self.agent.act(
370
+ # # time_step.observation['pixels'],
371
+ # # self.global_step,
372
+ # # eval_mode=True)
373
+ # # elif self.cfg.agent.provide_obs:
374
+ # # action, vinn_action, obs = self.agent.act(
375
+ # # time_step.observation['pixels'],
376
+ # # self.global_step,
377
+ # # eval_mode=True)
378
+ # # else:
379
+ # action, vinn_action = self.agent.act(
380
+ # time_step.observation,
381
+ # self.global_step,
382
+ # eval_mode=True,
383
+ # obs_timestamp=time_step.observation['timestamp'],
384
+ # obs_seq=time_step.observation['seq'],
385
+ # action_history=action_history,
386
+ # action_history_start_timestamp=action_history_start_timestamp,
387
+ # )
388
+ # DONT WAIT FOR POLICY TO GET AN ACTION
389
+ # we dont want to slow down grabbing obs and passing to sam/contact features
390
+
391
+ self.eval_env.run_policy_threads() # this just does a rospy sleep
392
+
393
+ # if self.use_action_history:
394
+ # action_history_start_timestamp = time_step.observation['timestamp']
395
+ # # action_history = action[:self.cfg.agent.config.policy_cfg.action_history_encoder_config.history_length, ...]
396
+ # # add n_obs_steps dimension to action_history, for now we assume n_obs_steps = 1
397
+ # # TODO: handle n_obs_steps > 1
398
+ # action_history = action[np.newaxis, ...]
399
+
400
+ # time_step = self.eval_env.step(action, vinn_action) # obs, reward after action has been taken
401
+ # debug_info_dict = self.eval_env.debug_info_dict
402
+
403
+ # time_step = self.eval_env.ros_step()
404
+
405
+ # replay_thread.join()
406
+
407
+ # time how long it takes to execute the step
408
+ # time_before_add = time.perf_counter()
409
+ # self.eval_replay_storage.add(time_step._replace(observation=time_step.observation[self.cfg.obs_type]), debug_info_dict)
410
+ # use thread to call the add function in a separate thread
411
+ # 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))
412
+
413
+ # replay_thread = threading.Thread(target=self.eval_replay_storage.add, args=(time_step, debug_info_dict))
414
+ # replay_thread.start()
415
+
416
+ # print(f"Time to add to replay buffer: {time.perf_counter() - time_before_add}")
417
+
418
+ # self.video_recorder.record(self.eval_env)
419
+ # self._global_step += 1
420
+
421
+ self.eval_env.stop_policy_timer()
422
+
423
+ if self.restart_episode:
424
+ # means we should delete the current episode and start again
425
+ self.restart_episode = False
426
+ self.eval_replay_storage.reset_current_episode()
427
+ self.video_recorder.reset_current_episode()
428
+
429
+ else:
430
+ self.eval_replay_storage.store_current_episode()
431
+ video_filepath = self.video_recorder.save()
432
+ self.logger.log_video(f"eval/{video_filepath.name.rstrip('.mp4')}", video_filepath, self.global_step)
433
+ self._global_episode += 1
434
+
435
+ self.preempt_episode = False # reset preempt_episode flag
436
+
437
+ # self.video_recorder.save(f'{episode}_eval.mp4')
438
+ # get the video file and convert to video tensor to log
439
+
440
+ self.eval_env.reset()
441
+
442
+ print("Evaluation finished. To wrap up, rate prev episode, press 0 for failure and 1 for success")
443
+ self.proceed_after_env_reset_event.clear() # clear the event flag
444
+ self.proceed_after_env_reset_event.wait() # blocking wait for the event flag to be set
445
+ if self.global_episode > 0:
446
+ # self.logger.log_metrics({'num_success': self.num_episode_successes}, self.global_step, 'eval', episode=self.global_episode)
447
+ self.logger.log_metrics({'num_success': self.num_episode_successes}, self.global_step, 'eval', episode=self.global_episode)
448
+ self.logger.log_metrics({'success_rate': self.num_episode_successes/self.global_episode}, self.global_step, 'eval', episode=self.global_episode)
449
+
450
+ # log confidence intervals for success rate
451
+ k = self.num_episode_successes # number of successes
452
+ n = self.global_episode # number of trials
453
+
454
+ table_columns = ['success_rate']
455
+ table_data = [self.num_episode_successes/self.global_episode]
456
+ for alpha in self.alpha_range:
457
+ lb = bc.binom_ci(k, n, alpha, 'lb')
458
+ ub = bc.binom_ci(k, n, alpha, 'ub')
459
+
460
+ self.logger.log_metrics({f'success_rate_lb_{alpha}': lb}, self.global_step, 'eval', episode=self.global_episode)
461
+ self.logger.log_metrics({f'success_rate_ub_{alpha}': ub}, self.global_step, 'eval', episode=self.global_episode)
462
+
463
+ table_columns.extend([f'success_rate_lb_{alpha}', f'success_rate_ub_{alpha}'])
464
+ table_data.extend([lb, ub])
465
+
466
+ table_data = [table_data]
467
+
468
+ # seperately log as a table
469
+ wandb.log({
470
+ "eval/success_rate_ci": wandb.Table(data=table_data, columns=table_columns)
471
+ })
472
+
473
+ # also accumulate eval metrics across previous eval runs
474
+ # TODO: change wandb init to resume from an existing run!!!
475
+ run_filter={
476
+ "jobType": "eval",
477
+ "config.wandb_run_id": self.cfg.wandb_run_id,
478
+ "summary_metrics.episode": {"$gte": 5},
479
+ "config.checkpoint_epoch": self.cfg.checkpoint_epoch,
480
+ "state": "finished",
481
+ # "config.grasped_obj_name": grasped_obj_name,
482
+ # "config.left_book_slot": left_book_slot,
483
+ }
484
+
485
+ api = wandb.Api()
486
+ filtered_runs = api.runs("serialexperimentsleon/extrinsic_contact_downstream", filters=run_filter)
487
+ total_num_successes = self.num_episode_successes
488
+ total_num_episodes = self.global_episode
489
+ list_of_historical_run_ids = []
490
+ if len(filtered_runs) > 0:
491
+ for filtered_run in filtered_runs:
492
+ total_num_successes += filtered_run.summary_metrics['eval/num_success']
493
+ # total_num_episodes += filtered_run.summary_metrics['episode']
494
+ total_num_episodes += filtered_run.config['num_eval']
495
+ list_of_historical_run_ids.append(filtered_run.id)
496
+
497
+ wandb.summary['total_num_successes'] = total_num_successes
498
+ wandb.summary['total_num_episodes'] = total_num_episodes
499
+ wandb.summary['total_success_rate'] = total_num_successes/total_num_episodes
500
+
501
+ # log the accumulated metrics as a table
502
+ total_table_columns = ['total_num_successes', 'total_num_episodes', 'total_success_rate']
503
+ total_table_data = [total_num_successes, total_num_episodes, total_num_successes/total_num_episodes]
504
+ self.logger.log_metrics({'total_success_rate': total_num_successes/total_num_episodes}, self.global_step, 'eval', episode=total_num_episodes)
505
+
506
+ for alpha in self.alpha_range:
507
+ lb = bc.binom_ci(total_num_successes, total_num_episodes, alpha, 'lb')
508
+ ub = bc.binom_ci(total_num_successes, total_num_episodes, alpha, 'ub')
509
+ total_table_columns.extend([f'total_success_rate_lb_{alpha}', f'total_success_rate_ub_{alpha}'])
510
+ total_table_data.extend([lb, ub])
511
+ wandb.summary[f'total_success_rate_lb_{alpha}'] = lb
512
+ wandb.summary[f'total_success_rate_ub_{alpha}'] = ub
513
+
514
+ self.logger.log_metrics({f'total_success_rate_lb_{alpha}': lb}, self.global_step, 'eval', episode=total_num_episodes)
515
+ self.logger.log_metrics({f'total_success_rate_ub_{alpha}': ub}, self.global_step, 'eval', episode=total_num_episodes)
516
+
517
+ total_table_data = [total_table_data]
518
+ wandb.log({
519
+ 'eval/total_success_rate_ci': wandb.Table(data=total_table_data, columns=total_table_columns)
520
+ })
521
+
522
+ self.continue_keypress_thread = False # will stop the keypress thread
523
+ self.keypress_input_thread.join() # wait for the keypress thread to finish
524
+
525
+ def load_checkpoint_conf(self, snapshot_path):
526
+ config_path = snapshot_path.parent / 'config.yaml'
527
+ if not config_path.exists():
528
+ raise FileNotFoundError(f'No snapshot conf found at {config_path}')
529
+ else:
530
+ # load the omegaconf config
531
+ hydra.core.global_hydra.GlobalHydra.instance().clear()
532
+ hydra.initialize(
533
+ str(_relative_path_between(Path(config_path).absolute().parent, Path(__file__).absolute().parent)),
534
+ )
535
+ cfg = hydra.compose(Path(config_path).stem)
536
+ from deepdiff import DeepDiff
537
+ from omegaconf import open_dict
538
+ diff = DeepDiff(OmegaConf.to_container(cfg), OmegaConf.to_container(self.cfg)) # old, new
539
+ # import re
540
+ 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']"]]
541
+ if "values_changed" in diff:
542
+ # 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
543
+ # for keys above, overwrite the old config with the new config
544
+ for k, v in diff['values_changed'].items():
545
+ # replace any keys that are under "root['suite']"
546
+ if k in overwriteable_keys or k.startswith("root['suite']"):
547
+ print(f"Found changed key {k} with value {v}. Overwriting old checkpoint config")
548
+ if k == "root['agent']['config']['compile']":
549
+ if diff['values_changed'][k]['new_value']:
550
+ self.loading_uncompiled_checkpoint_with_compile = True
551
+ elif not diff['values_changed'][k]['new_value']:
552
+ # raise ValueError("Cannot load a compiled checkpoint without compile")
553
+ self.loading_compiled_checkpoint_with_no_compile = True
554
+ exec(f"{k.replace('root[', 'cfg[')} = {k.replace('root[', 'self.cfg[')}")
555
+ # for any new values, update the old checkpoint config
556
+ if "dictionary_item_added" in diff:
557
+ for new_key in diff['dictionary_item_added']: # this is a list
558
+ # if new_key == "root['suite']['task_make_fn']['observation_cfg']":
559
+ if new_key == "root['suite']['task_make_fn']['agent_policy_cfg']":
560
+ # pass the agents observation_cfg to the suite task_make_fn
561
+ with open_dict(cfg): # to allow addition of non-existing keys
562
+ # cfg.suite.task_make_fn.observation_cfg = cfg.agent.config.observation_cfg
563
+ cfg.suite.task_make_fn.agent_policy_cfg = cfg.agent.config
564
+ continue
565
+ elif "['agent']['config']['policy_cfg']['input_shapes']" in new_key:
566
+ # skip adding the new key if it is the input_shapes of the policy_cfg
567
+ continue
568
+ else:
569
+ print(f"Found new key {new_key} with value {eval(new_key.replace('root[', 'self.cfg['))}. Adding to checkpoint config")
570
+ # eval(new_key.replace('root', 'cfg')) = eval(new_key.replace('root', 'self.cfg'))
571
+ if new_key == "root['agent']['config']['compile']":
572
+ if self.cfg.agent.config.compile:
573
+ self.loading_uncompiled_checkpoint_with_compile = True
574
+
575
+ with open_dict(cfg):
576
+ exec(f"{new_key.replace('root[', 'cfg[')}={new_key.replace('root[', 'self.cfg[')}")
577
+ self.cfg = cfg
578
+
579
+ def load_checkpoint(self, snapshot_path, bc=False):
580
+ print(f'resuming {repr(self.agent)}: {snapshot_path}')
581
+ with snapshot_path.open('rb') as f:
582
+ payload = torch.load(f)
583
+ agent_payload = {}
584
+ for k, v in payload.items():
585
+ if k not in self.__dict__:
586
+ agent_payload[k] = v
587
+ elif k == '_global_epoch':
588
+ self._global_epoch = v
589
+ print(f'loaded epoch: {v}')
590
+ if self.cfg.use_wandb:
591
+ # add to config of wandb
592
+ wandb.config.update({'epoch': v})
593
+
594
+ # self.agent.load_snapshot_eval(agent_payload, bc)
595
+
596
+ @hydra.main(config_path='cfgs', config_name='config_eval')
597
+ def main(cfg):
598
+ from eval_robot import Workspace as W
599
+ root_dir = Path.cwd()
600
+ workspace = W(cfg)
601
+
602
+ workspace.eval()
603
+
604
+ if __name__ == '__main__':
605
+ main()
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/config.yaml ADDED
@@ -0,0 +1,895 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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: 0
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: '1007_0'
42
+ wandb_notes:
43
+ desc: null
44
+ value: 1007_0_restarted_2
45
+ eval:
46
+ desc: null
47
+ value: true
48
+ true_action_history:
49
+ desc: null
50
+ value: false
51
+ train_pad_after:
52
+ desc: null
53
+ value: 4
54
+ process_contact_features:
55
+ desc: null
56
+ value: true
57
+ obs_type:
58
+ desc: null
59
+ value: pixels
60
+ use_color:
61
+ desc: null
62
+ value: true
63
+ use_depth:
64
+ desc: null
65
+ value: true
66
+ use_masks:
67
+ desc: null
68
+ value: true
69
+ mask_list:
70
+ desc: null
71
+ value:
72
+ - EE_obj_mask
73
+ mask_representation:
74
+ desc: null
75
+ value: channels
76
+ crop_hw:
77
+ desc: null
78
+ value:
79
+ - 144
80
+ - 144
81
+ crop_down_offset:
82
+ desc: null
83
+ value: 48
84
+ color_crop_type:
85
+ desc: null
86
+ value: null
87
+ depth_crop_type:
88
+ desc: null
89
+ value: null
90
+ segmask_crop_type:
91
+ desc: null
92
+ value: null
93
+ add_crop_binary_mask:
94
+ desc: null
95
+ value: false
96
+ add_coord_conv_map:
97
+ desc: null
98
+ value: false
99
+ use_context_color:
100
+ desc: null
101
+ value: false
102
+ use_context_depth:
103
+ desc: null
104
+ value: false
105
+ use_context_segmask:
106
+ desc: null
107
+ value: false
108
+ context_color_crop_type:
109
+ desc: null
110
+ value: null
111
+ context_depth_crop_type:
112
+ desc: null
113
+ value: null
114
+ context_segmask_crop_type:
115
+ desc: null
116
+ value: null
117
+ context_add_crop_binary_mask:
118
+ desc: null
119
+ value: false
120
+ context_add_coord_conv_map:
121
+ desc: null
122
+ value: false
123
+ use_contact_map:
124
+ desc: null
125
+ value: false
126
+ use_sdf_maps:
127
+ desc: null
128
+ value: false
129
+ use_normals_maps:
130
+ desc: null
131
+ value: false
132
+ which_objects:
133
+ desc: null
134
+ value: both
135
+ max_contact_prob:
136
+ desc: null
137
+ value: 0.1
138
+ max_depth:
139
+ desc: null
140
+ value: 2.0
141
+ grasped_dtc_max_value:
142
+ desc: null
143
+ value: 0.2
144
+ env_dtc_max_value:
145
+ desc: null
146
+ value: 0.4
147
+ grasped_normals_mask_max_dtc_value:
148
+ desc: null
149
+ value: 0.2
150
+ env_normals_mask_max_dtc_value:
151
+ desc: null
152
+ value: 0.4
153
+ clamp_dtc:
154
+ desc: null
155
+ value: true
156
+ dtc_adaptive_normalization:
157
+ desc: null
158
+ value: false
159
+ mask_normals_within_sdf:
160
+ desc: null
161
+ value: true
162
+ adaptive_normals_mask:
163
+ desc: null
164
+ value: true
165
+ learnable_contact_preprocess_params:
166
+ desc: null
167
+ value: true
168
+ contact_model_name:
169
+ desc: null
170
+ value: local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9
171
+ contact_estimation_model_ckpt_path:
172
+ desc: null
173
+ value: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
174
+ encoder_type:
175
+ desc: null
176
+ value: small
177
+ debug_timestamps:
178
+ desc: null
179
+ value: false
180
+ open_loop:
181
+ desc: null
182
+ value: false
183
+ action_trajectories:
184
+ desc: null
185
+ value: true
186
+ stop_after_action:
187
+ desc: null
188
+ value: false
189
+ interpolation_frequency:
190
+ desc: null
191
+ value: 25
192
+ policy_frequency:
193
+ desc: null
194
+ value: 5
195
+ wait_for_new_camera_frames:
196
+ desc: null
197
+ value: true
198
+ baseline:
199
+ desc: null
200
+ value: false
201
+ train_demo_idxs_list_or_num:
202
+ desc: null
203
+ value: -1
204
+ log_train_every_steps:
205
+ desc: null
206
+ value: 25
207
+ name_of_expert_demo:
208
+ desc: null
209
+ value: 120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
210
+ expert_dataset_dirpath:
211
+ desc: null
212
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
213
+ store_dataset_in_memory:
214
+ desc: null
215
+ value: false
216
+ expert_dataset:
217
+ desc: null
218
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr
219
+ action_key:
220
+ desc: null
221
+ value: action_trajectory_25hz
222
+ semantic_demo_grouping_name:
223
+ desc: null
224
+ value: semantic_demo_grouping.yaml
225
+ semantic_demo_grouping:
226
+ desc: null
227
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/semantic_demo_grouping.yaml
228
+ include_groups_list:
229
+ desc: null
230
+ value: all
231
+ expert_dataset_config:
232
+ desc: null
233
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demo_config.yaml
234
+ name_of_valid_demo:
235
+ desc: null
236
+ value: 120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
237
+ valid_dataset_dir:
238
+ desc: null
239
+ value: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr
240
+ valid_demo_idxs_list_or_num:
241
+ desc: null
242
+ value: null
243
+ val_num_groups:
244
+ desc: null
245
+ value: 7
246
+ load_bc:
247
+ desc: null
248
+ value: true
249
+ checkpoint_epoch_list:
250
+ desc: null
251
+ value:
252
+ - 99
253
+ - 199
254
+ - 299
255
+ - 399
256
+ - 499
257
+ - 599
258
+ - 699
259
+ - 799
260
+ - 899
261
+ - 999
262
+ - 1249
263
+ - 1499
264
+ - 1749
265
+ - 1999
266
+ - 2999
267
+ - 3999
268
+ - 4999
269
+ - 5999
270
+ - 6999
271
+ - 7999
272
+ - 8999
273
+ - 9999
274
+ snapshot_root_dir:
275
+ desc: null
276
+ value: /mnt/grasp_high_usage/leonmkim/contact_estimation/FISH
277
+ save_snapshot:
278
+ desc: null
279
+ value: true
280
+ save_last_snapshot:
281
+ desc: null
282
+ value: true
283
+ save_snapshot_when_done:
284
+ desc: null
285
+ value: true
286
+ top_k_checkpoints:
287
+ desc: null
288
+ value: 5
289
+ save_snapshot_link_to_weights_dir:
290
+ desc: null
291
+ value: deprecated
292
+ bc_regularize:
293
+ desc: null
294
+ value: false
295
+ bc_weight_type:
296
+ desc: null
297
+ value: qfilter
298
+ experiment_dir:
299
+ desc: null
300
+ value: ./exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0
301
+ agent:
302
+ desc: null
303
+ value:
304
+ _target_: agent.diffusion_policy.DiffusionPolicyAgent
305
+ name: diffusion_policy
306
+ load_checkpoint: true
307
+ device: cuda
308
+ n_obs_steps: 1
309
+ suite_name: frankagym
310
+ obs_type: pixels
311
+ enable_arm: true
312
+ enable_camera: true
313
+ use_tb: true
314
+ desired_image_shape:
315
+ - 13
316
+ - 180
317
+ - 240
318
+ orig_cam_shape:
319
+ - 3
320
+ - 240
321
+ - 320
322
+ config:
323
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
324
+ compile: false
325
+ device: cuda
326
+ cam_resize_shape:
327
+ - 13
328
+ - 180
329
+ - 240
330
+ orig_cam_shape:
331
+ - 3
332
+ - 240
333
+ - 320
334
+ policy_frequency: 5
335
+ interpolation_frequency: 25
336
+ policy_cfg:
337
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
338
+ n_obs_steps: 1
339
+ horizon: 36
340
+ n_action_steps: 36
341
+ output_shapes:
342
+ action:
343
+ - 7
344
+ input_normalization_modes:
345
+ observation.image: mean_std
346
+ observation.state: min_max
347
+ observation.action_history: min_max
348
+ output_normalization_modes:
349
+ action: min_max
350
+ vision_backbone: resnet18
351
+ pretrained_backbone_weights: null
352
+ transforms:
353
+ - _target_: torchaug.transforms.RandomAffine
354
+ degrees:
355
+ - -5
356
+ - 5
357
+ translate:
358
+ - 0.05
359
+ - 0.05
360
+ batch_transform: true
361
+ num_chunks: -1
362
+ batch_inplace: true
363
+ - _target_: torchaug.transforms.RandomColorJitter
364
+ brightness: 0.3
365
+ contrast: 0.4
366
+ saturation: 0.5
367
+ hue: 0.08
368
+ batch_transform: true
369
+ num_chunks: -1
370
+ batch_inplace: true
371
+ use_group_norm: true
372
+ spatial_softmax_num_keypoints: 32
373
+ action_history_encoder_config:
374
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
375
+ in_channels: 7
376
+ out_channels: 32
377
+ history_length: 6
378
+ kernel_size: 5
379
+ downsample_kernel_size: 3
380
+ downsample_stride: 2
381
+ downsample_padding: 1
382
+ down_dims:
383
+ - 256
384
+ - 512
385
+ - 1024
386
+ kernel_size: 5
387
+ n_groups: 8
388
+ diffusion_step_embed_dim: 128
389
+ use_film_scale_modulation: true
390
+ noise_scheduler_type: DDIM
391
+ beta_schedule: squaredcos_cap_v2
392
+ beta_start: 0.0001
393
+ beta_end: 0.02
394
+ prediction_type: epsilon
395
+ clip_sample: true
396
+ clip_sample_range: 1.0
397
+ num_train_timesteps: 50
398
+ num_inference_steps: 10
399
+ do_mask_loss_for_padding: false
400
+ input_shapes:
401
+ observation.image:
402
+ - 13
403
+ - 180
404
+ - 240
405
+ context_observation.image:
406
+ - 13
407
+ - 180
408
+ - 240
409
+ observation.state:
410
+ - 8
411
+ observation.action_history:
412
+ - 7
413
+ train_cfg:
414
+ _target_: utils.TrainConfig
415
+ lr: 0.0001
416
+ lr_scheduler: cosine
417
+ lr_warmup_steps: 500
418
+ adam_betas:
419
+ - 0.95
420
+ - 0.999
421
+ adam_eps: 1.0e-08
422
+ adam_weight_decay: 1.0e-06
423
+ grad_clip_norm: 10
424
+ offline_steps: 1000000
425
+ use_amp: true
426
+ observation_cfg:
427
+ _target_: agent.encoder.VisualFeatureSet
428
+ use_depth: true
429
+ use_color: true
430
+ mask_input_dict:
431
+ _target_: agent.encoder.MaskInputDict
432
+ enable: true
433
+ representation: channels
434
+ mask_list:
435
+ - EE_obj_mask
436
+ crop_input_config:
437
+ _target_: agent.encoder.CropInputConfig
438
+ color_crop_type: null
439
+ depth_crop_type: null
440
+ segmask_crop_type: null
441
+ crop_hw:
442
+ - 144
443
+ - 144
444
+ crop_down_offset: 48
445
+ add_crop_binary_mask: false
446
+ add_coord_conv_map: false
447
+ context_input_config:
448
+ _target_: agent.encoder.ContextInputConfig
449
+ use_color: false
450
+ use_depth: false
451
+ mask_input_dict:
452
+ _target_: agent.encoder.MaskInputDict
453
+ enable: false
454
+ representation: channels
455
+ mask_list:
456
+ - EE_obj_mask
457
+ crop_input_config:
458
+ _target_: agent.encoder.CropInputConfig
459
+ color_crop_type: null
460
+ depth_crop_type: null
461
+ segmask_crop_type: null
462
+ crop_hw:
463
+ - 144
464
+ - 144
465
+ crop_down_offset: 48
466
+ add_crop_binary_mask: false
467
+ add_coord_conv_map: false
468
+ mask_soft_approx_scheduler_config:
469
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
470
+ num_steps: 40000
471
+ initial_value: 10.0
472
+ final_value: 1000.0
473
+ interpolation_scheme: cosine
474
+ use_contact_map: false
475
+ use_sdf_maps: false
476
+ use_normals_maps: false
477
+ which_objects: both
478
+ grasped_dtc_max_value: 0.2
479
+ env_dtc_max_value: 0.4
480
+ grasped_normals_mask_max_dtc_value: 0.2
481
+ env_normals_mask_max_dtc_value: 0.4
482
+ clamp_dtc: true
483
+ max_contact_prob: 0.1
484
+ mask_normals_within_sdf: true
485
+ dtc_adaptive_normalization: false
486
+ adaptive_normals_mask: true
487
+ max_depth: 2.0
488
+ image_shape:
489
+ - 13
490
+ - 180
491
+ - 240
492
+ learnable_contact_preprocess_params: true
493
+ learning_rate: 0.0001
494
+ weight_decay: 0.0
495
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9
496
+ zero_centered: false
497
+ suite:
498
+ desc: null
499
+ value:
500
+ suite: frankagym
501
+ name: frankagym
502
+ frame_stack: 1
503
+ action_repeat: 1
504
+ discount: 0.99
505
+ hidden_dim: 1024
506
+ num_train_frames: 2010
507
+ num_seed_frames: 260
508
+ num_train_epochs: 5000
509
+ validate_every_epochs: 100
510
+ validate_diffusion_on_action_loss_every_epochs: 500
511
+ train_eval_diffusion_on_action_loss_every_epochs: 500
512
+ check_topk_every_epochs: 10
513
+ save_snapshot_every_epochs: 5000
514
+ eval_every_frames: 2000
515
+ num_eval_episodes: 5
516
+ save_snapshot: true
517
+ wait_for_user_to_start_episode: true
518
+ task_make_fn:
519
+ _target_: suite.frankagym.make
520
+ name: FrankaInsertion-v1
521
+ height: 240
522
+ width: 320
523
+ frame_stack: 1
524
+ action_repeat: 1
525
+ seed: 0
526
+ enable_arm: true
527
+ enable_gripper: true
528
+ start_with_gripper_open: true
529
+ enable_camera: true
530
+ path_to_depth_extrinsics: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
531
+ contact_estimation_model_ckpt_path: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
532
+ x_limit:
533
+ - 0.2
534
+ - 0.7
535
+ y_limit:
536
+ - -0.4
537
+ - 0.4
538
+ z_limit:
539
+ - -0.05
540
+ - 0.55
541
+ device: cuda
542
+ interpolation_frequency: 25
543
+ policy_frequency: 5
544
+ debug_timestamps: false
545
+ stop_after_action: false
546
+ open_loop: false
547
+ wait_for_new_camera_frames: true
548
+ action_key: action_trajectory_25hz
549
+ action_trajectory_horizon: 36
550
+ action_trajectories: true
551
+ path_to_zarr_dataset: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr
552
+ agent_policy_cfg:
553
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
554
+ compile: false
555
+ device: cuda
556
+ cam_resize_shape:
557
+ - 13
558
+ - 180
559
+ - 240
560
+ orig_cam_shape:
561
+ - 3
562
+ - 240
563
+ - 320
564
+ policy_frequency: 5
565
+ interpolation_frequency: 25
566
+ policy_cfg:
567
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
568
+ n_obs_steps: 1
569
+ horizon: 36
570
+ n_action_steps: 36
571
+ output_shapes:
572
+ action:
573
+ - 7
574
+ input_normalization_modes:
575
+ observation.image: mean_std
576
+ observation.state: min_max
577
+ observation.action_history: min_max
578
+ output_normalization_modes:
579
+ action: min_max
580
+ vision_backbone: resnet18
581
+ pretrained_backbone_weights: null
582
+ transforms:
583
+ - _target_: torchaug.transforms.RandomAffine
584
+ degrees:
585
+ - -5
586
+ - 5
587
+ translate:
588
+ - 0.05
589
+ - 0.05
590
+ batch_transform: true
591
+ num_chunks: -1
592
+ batch_inplace: true
593
+ - _target_: torchaug.transforms.RandomColorJitter
594
+ brightness: 0.3
595
+ contrast: 0.4
596
+ saturation: 0.5
597
+ hue: 0.08
598
+ batch_transform: true
599
+ num_chunks: -1
600
+ batch_inplace: true
601
+ use_group_norm: true
602
+ spatial_softmax_num_keypoints: 32
603
+ action_history_encoder_config:
604
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
605
+ in_channels: 7
606
+ out_channels: 32
607
+ history_length: 6
608
+ kernel_size: 5
609
+ downsample_kernel_size: 3
610
+ downsample_stride: 2
611
+ downsample_padding: 1
612
+ down_dims:
613
+ - 256
614
+ - 512
615
+ - 1024
616
+ kernel_size: 5
617
+ n_groups: 8
618
+ diffusion_step_embed_dim: 128
619
+ use_film_scale_modulation: true
620
+ noise_scheduler_type: DDIM
621
+ beta_schedule: squaredcos_cap_v2
622
+ beta_start: 0.0001
623
+ beta_end: 0.02
624
+ prediction_type: epsilon
625
+ clip_sample: true
626
+ clip_sample_range: 1.0
627
+ num_train_timesteps: 50
628
+ num_inference_steps: 10
629
+ do_mask_loss_for_padding: false
630
+ input_shapes:
631
+ observation.image:
632
+ - 13
633
+ - 180
634
+ - 240
635
+ context_observation.image:
636
+ - 13
637
+ - 180
638
+ - 240
639
+ observation.state:
640
+ - 8
641
+ observation.action_history:
642
+ - 7
643
+ train_cfg:
644
+ _target_: utils.TrainConfig
645
+ lr: 0.0001
646
+ lr_scheduler: cosine
647
+ lr_warmup_steps: 500
648
+ adam_betas:
649
+ - 0.95
650
+ - 0.999
651
+ adam_eps: 1.0e-08
652
+ adam_weight_decay: 1.0e-06
653
+ grad_clip_norm: 10
654
+ offline_steps: 1000000
655
+ use_amp: true
656
+ observation_cfg:
657
+ _target_: agent.encoder.VisualFeatureSet
658
+ use_depth: true
659
+ use_color: true
660
+ mask_input_dict:
661
+ _target_: agent.encoder.MaskInputDict
662
+ enable: true
663
+ representation: channels
664
+ mask_list:
665
+ - EE_obj_mask
666
+ crop_input_config:
667
+ _target_: agent.encoder.CropInputConfig
668
+ color_crop_type: null
669
+ depth_crop_type: null
670
+ segmask_crop_type: null
671
+ crop_hw:
672
+ - 144
673
+ - 144
674
+ crop_down_offset: 48
675
+ add_crop_binary_mask: false
676
+ add_coord_conv_map: false
677
+ context_input_config:
678
+ _target_: agent.encoder.ContextInputConfig
679
+ use_color: false
680
+ use_depth: false
681
+ mask_input_dict:
682
+ _target_: agent.encoder.MaskInputDict
683
+ enable: false
684
+ representation: channels
685
+ mask_list:
686
+ - EE_obj_mask
687
+ crop_input_config:
688
+ _target_: agent.encoder.CropInputConfig
689
+ color_crop_type: null
690
+ depth_crop_type: null
691
+ segmask_crop_type: null
692
+ crop_hw:
693
+ - 144
694
+ - 144
695
+ crop_down_offset: 48
696
+ add_crop_binary_mask: false
697
+ add_coord_conv_map: false
698
+ mask_soft_approx_scheduler_config:
699
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
700
+ num_steps: 40000
701
+ initial_value: 10.0
702
+ final_value: 1000.0
703
+ interpolation_scheme: cosine
704
+ use_contact_map: false
705
+ use_sdf_maps: false
706
+ use_normals_maps: false
707
+ which_objects: both
708
+ grasped_dtc_max_value: 0.2
709
+ env_dtc_max_value: 0.4
710
+ grasped_normals_mask_max_dtc_value: 0.2
711
+ env_normals_mask_max_dtc_value: 0.4
712
+ clamp_dtc: true
713
+ max_contact_prob: 0.1
714
+ mask_normals_within_sdf: true
715
+ dtc_adaptive_normalization: false
716
+ adaptive_normals_mask: true
717
+ max_depth: 2.0
718
+ image_shape:
719
+ - 13
720
+ - 180
721
+ - 240
722
+ learnable_contact_preprocess_params: true
723
+ learning_rate: 0.0001
724
+ weight_decay: 0.0
725
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9
726
+ zero_centered: false
727
+ true_action_history: false
728
+ num_train_frames_bc:
729
+ desc: null
730
+ value: 50000
731
+ num_train_frames_drq:
732
+ desc: null
733
+ value: 1100000
734
+ stddev_schedule_drq:
735
+ desc: null
736
+ value: linear(1.0,0.1,100000)
737
+ task_name:
738
+ desc: null
739
+ value: FrankaInsertion-v1
740
+ num_train_frames_vinn:
741
+ desc: null
742
+ value: 25000
743
+ num_train_frames_diffusion:
744
+ desc: null
745
+ value: 1000000
746
+ num_train_epochs_bc:
747
+ desc: null
748
+ value: 5000
749
+ num_train_epochs_diffusion:
750
+ desc: null
751
+ value: 15000
752
+ validate_every_epochs_bc:
753
+ desc: null
754
+ value: 5
755
+ validate_every_epochs_diffusion:
756
+ desc: null
757
+ value: 250
758
+ validate_diffusion_on_action_loss_every_epochs:
759
+ desc: null
760
+ value: 250
761
+ train_eval_diffusion_on_action_loss_every_epochs:
762
+ desc: null
763
+ value: 250
764
+ check_topk_every_epochs:
765
+ desc: null
766
+ value: 5
767
+ check_topk_every_epochs_diffusion:
768
+ desc: null
769
+ value: 250
770
+ save_snapshot_every_epochs_diffusion:
771
+ desc: null
772
+ value: 1500
773
+ x_limit:
774
+ desc: null
775
+ value:
776
+ - 0.2
777
+ - 0.7
778
+ y_limit:
779
+ desc: null
780
+ value:
781
+ - -0.4
782
+ - 0.4
783
+ z_limit:
784
+ desc: null
785
+ value:
786
+ - -0.05
787
+ - 0.55
788
+ home_displacement:
789
+ desc: null
790
+ value:
791
+ - 0.55
792
+ - 0.0
793
+ - 0.55
794
+ - 180.0
795
+ - 0.0
796
+ - 0.0
797
+ enable_gripper:
798
+ desc: null
799
+ value: true
800
+ start_with_gripper_open:
801
+ desc: null
802
+ value: true
803
+ offset_mask:
804
+ desc: null
805
+ value:
806
+ - 1
807
+ - 1
808
+ - 1
809
+ - 1
810
+ - 1
811
+ - 1
812
+ path_to_depth_extrinsics:
813
+ desc: null
814
+ value: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
815
+ feature_type:
816
+ desc: null
817
+ value: 180x240_1_RGB_D_2.0_msk_channels_EE_obj_mask_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1
818
+ save_buffer:
819
+ desc: null
820
+ value: true
821
+ num_eval:
822
+ desc: null
823
+ value: 5
824
+ random_start:
825
+ desc: null
826
+ value: false
827
+ eval_starts:
828
+ desc: null
829
+ value: /home/leonmkim/fish_leon/FISH/eval_starts/frankagym_pixels/FrankaInsertion-v1
830
+ num_valid_demos:
831
+ desc: null
832
+ value: null
833
+ load_checkpoint:
834
+ desc: null
835
+ value: true
836
+ checkpoint_epoch:
837
+ desc: null
838
+ value: 12000
839
+ load_residual_weight:
840
+ desc: null
841
+ value: false
842
+ checkpoint_root_dir:
843
+ desc: null
844
+ value: /home/leonmkim/fish_leon/FISH
845
+ checkpoint_weight_dir:
846
+ desc: null
847
+ value: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0
848
+ residual_weight:
849
+ desc: null
850
+ value: /home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt
851
+ final_experiment_dir:
852
+ desc: null
853
+ value: ./exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1
854
+ _wandb:
855
+ desc: null
856
+ value:
857
+ code_path: code/FISH/eval_robot.py
858
+ python_version: 3.10.14
859
+ cli_version: 0.17.5
860
+ framework: torch
861
+ is_jupyter_run: false
862
+ is_kaggle_kernel: false
863
+ start_time: 1735705371
864
+ t:
865
+ 1:
866
+ - 1
867
+ - 41
868
+ - 49
869
+ - 50
870
+ - 55
871
+ - 83
872
+ 2:
873
+ - 1
874
+ - 41
875
+ - 49
876
+ - 50
877
+ - 55
878
+ - 83
879
+ 3:
880
+ - 14
881
+ - 16
882
+ - 23
883
+ - 35
884
+ - 62
885
+ 4: 3.10.14
886
+ 5: 0.17.5
887
+ 8:
888
+ - 5
889
+ 13: linux-x86_64
890
+ grasped_obj_name:
891
+ desc: null
892
+ value: lib
893
+ left_book_slot:
894
+ desc: null
895
+ value: twodim
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/diff.patch ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/FISH/cfgs/config_eval.yaml b/FISH/cfgs/config_eval.yaml
2
+ index 0f6a9ec..b9e3dfe 100644
3
+ --- a/FISH/cfgs/config_eval.yaml
4
+ +++ b/FISH/cfgs/config_eval.yaml
5
+ @@ -133,8 +133,17 @@ load_checkpoint: ${agent.load_checkpoint}
6
+
7
+ # all books, 10/20 demos per book
8
+ # RGBD+mask+act history
9
+ +# wandb_run_id: '1002_0'
10
+ +
11
+ +# all books, 6/20 demos per book
12
+ +# RGBD+mask+act history
13
+ wandb_run_id: '1007_0'
14
+
15
+ +# RGBD+mask+contact(all ftrs)+act history
16
+ +# wandb_run_id: '1006_0'
17
+ +
18
+ +# RGBD+mask+contact(contact+DTC)+act history
19
+ +# wandb_run_id: '1745_0'
20
+
21
+ # 112_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
22
+ # 14 demos
23
+ diff --git a/FISH/download_model_checkpoints.py b/FISH/download_model_checkpoints.py
24
+ index 21e335c..71a5d1c 100644
25
+ --- a/FISH/download_model_checkpoints.py
26
+ +++ b/FISH/download_model_checkpoints.py
27
+ @@ -155,7 +155,12 @@ run_id_list = [
28
+ # '1022_0',
29
+ # '1023_0',
30
+ # '1007_0',
31
+ - '1007_0'
32
+ + # '1007_0'
33
+ +]
34
+ +
35
+ +run_id_list = [
36
+ + # '1006_0',
37
+ + '1745_0'
38
+ ]
39
+
40
+ checkpoint_epoch = 12000
41
+ diff --git a/FISH/eval_robot.py b/FISH/eval_robot.py
42
+ index 4179186..50493fe 100644
43
+ --- a/FISH/eval_robot.py
44
+ +++ b/FISH/eval_robot.py
45
+ @@ -478,8 +478,8 @@ class Workspace:
46
+ "summary_metrics.episode": {"$gte": 5},
47
+ "config.checkpoint_epoch": self.cfg.checkpoint_epoch,
48
+ "state": "finished",
49
+ - "config.grasped_obj_name": grasped_obj_name,
50
+ - "config.left_book_slot": left_book_slot,
51
+ + # "config.grasped_obj_name": grasped_obj_name,
52
+ + # "config.left_book_slot": left_book_slot,
53
+ }
54
+
55
+ api = wandb.Api()
56
+ @@ -490,7 +490,8 @@ class Workspace:
57
+ if len(filtered_runs) > 0:
58
+ for filtered_run in filtered_runs:
59
+ total_num_successes += filtered_run.summary_metrics['eval/num_success']
60
+ - total_num_episodes += filtered_run.summary_metrics['episode']
61
+ + # total_num_episodes += filtered_run.summary_metrics['episode']
62
+ + total_num_episodes += filtered_run.config['num_eval']
63
+ list_of_historical_run_ids.append(filtered_run.id)
64
+
65
+ wandb.summary['total_num_successes'] = total_num_successes
66
+ @@ -513,7 +514,6 @@ class Workspace:
67
+ self.logger.log_metrics({f'total_success_rate_lb_{alpha}': lb}, self.global_step, 'eval', episode=total_num_episodes)
68
+ self.logger.log_metrics({f'total_success_rate_ub_{alpha}': ub}, self.global_step, 'eval', episode=total_num_episodes)
69
+
70
+ -
71
+ total_table_data = [total_table_data]
72
+ wandb.log({
73
+ 'eval/total_success_rate_ci': wandb.Table(data=total_table_data, columns=total_table_columns)
74
+ diff --git a/gym-envs/gym_envs/envs/franka_env.py b/gym-envs/gym_envs/envs/franka_env.py
75
+ index 3302c31..1946eca 100644
76
+ --- a/gym-envs/gym_envs/envs/franka_env.py
77
+ +++ b/gym-envs/gym_envs/envs/franka_env.py
78
+ @@ -319,7 +319,7 @@ class FrankaEnv(gym.Env):
79
+
80
+ def mask_obs_callback(self, msg):
81
+ msg = self.possibly_resize_mask_obs(msg)
82
+ - rospy.loginfo(f"received mask_obs with header {msg.header} and grasped_object_mask header {msg.grasped_object_mask.header}")
83
+ + # rospy.loginfo(f"received mask_obs with header {msg.header} and grasped_object_mask header {msg.grasped_object_mask.header}")
84
+ self.mask_obs_queue.add(msg.header, msg.grasped_object_mask.header.stamp, msg)
85
+
86
+ def contact_obs_callback(self, msg):
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/table/eval/success_rate_ci_5_36776135f97d857e6145.table.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"columns": ["success_rate", "success_rate_lb_0.01", "success_rate_ub_0.01", "success_rate_lb_0.025", "success_rate_ub_0.025", "success_rate_lb_0.05", "success_rate_ub_0.05", "success_rate_lb_0.1", "success_rate_ub_0.1"], "data": [[0.0, 0, 0.5290328860224832, 0, 0.4204478860060532, 0, 0.33451344076128464, 0.009447986358166901, 0.2066487521519853]]}
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/table/eval/total_success_rate_ci_6_cdffd89ce3ca7a2fac89.table.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"columns": ["total_num_successes", "total_num_episodes", "total_success_rate", "total_success_rate_lb_0.01", "total_success_rate_ub_0.01", "total_success_rate_lb_0.025", "total_success_rate_ub_0.025", "total_success_rate_lb_0.05", "total_success_rate_ub_0.05", "total_success_rate_lb_0.1", "total_success_rate_ub_0.1"], "data": [[14, 30, 0.4666666666666667, 0.2629978359219579, 0.6768004893902991, 0.3015182316700217, 0.6554286777662317, 0.32652336362493584, 0.6110612675325477, 0.34375845644022573, 0.5951753780055431]]}
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/0_eval_0_eeec50fdf1118de79305.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eeec50fdf1118de79305b75dbc730bef96e223c42b63cc7fd6c2e0932e19edfb
3
+ size 1167823
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/1_eval_1_00cd606e45f670b2df9c.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:00cd606e45f670b2df9cb4720e6edcc75ceb2f32ba3051bbdee3558c24dd2db8
3
+ size 1101377
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/2_eval_2_3ca0a8506093efa659f9.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3ca0a8506093efa659f9d2fbb0fae3841fc3573aaf49314cfd07fcb920ab7666
3
+ size 1154695
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/3_eval_3_4b8025834b9f25779448.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b8025834b9f25779448e4060e96f4d6772b8a78044b25a3a1a4533f5b4211cd
3
+ size 1254048
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/4_eval_4_e48861ffe574038dd2b6.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e48861ffe574038dd2b64475e47765707e4011acf7de964a2bb8265cf5950acc
3
+ size 779902
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/output.log ADDED
@@ -0,0 +1,281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ loaded agent with feature_type: 180x240_1_RGB_D_2.0_msk_channels_EE_obj_mask_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1
3
+ [INFO] [1735705377.062350]: resetting environment
4
+ [INFO] [1735705377.069575]: cleared current plan
5
+ [INFO] [1735705377.071244]: moving to home
6
+ [INFO] [1735705378.073267]: reached home
7
+ [INFO] [1735705378.074844]: reset action history
8
+ [INFO] [1735705380.783974]: environment reset
9
+ Starting episode 0
10
+ [INFO] [1735705380.786510]: resetting environment
11
+ [INFO] [1735705380.789752]: cleared current plan
12
+ [INFO] [1735705380.791144]: moving to home
13
+ [INFO] [1735705381.794270]: reached home
14
+ [INFO] [1735705381.796008]: reset action history
15
+ [INFO] [1735705384.503909]: 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] [1735705399.733702]: resetting environment
19
+ [INFO] [1735705399.737190]: cleared current plan
20
+ [INFO] [1735705399.738044]: moving to home
21
+ [INFO] [1735705400.740458]: reached home
22
+ [INFO] [1735705400.741668]: reset action history
23
+ [INFO] [1735705403.450042]: environment reset
24
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/episode_rosbags/episode_0_2024-12-31-23-23-23.bag
25
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-1763844.log
26
+ started roslaunch server http://158.130.50.37:45197/
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 [1764338]
39
+ process[print_text-2]: started with pid [1764362]
40
+ process[rosbag_record-3]: started with pid [1764363]
41
+ started bagging!
42
+ For topic gripper_width: timestamp difference is 102041854 for nearest: 1735705416520001067 - target: 1735705416417959213 at idx 178
43
+ For topic gripper_width: timestamp difference is 106378053 for nearest: 1735705421919963573 - target: 1735705421813585520 at idx 247
44
+ For topic gripper_width: timestamp difference is 140871007 for nearest: 1735705424119961698 - target: 1735705423979090691 at idx 249
45
+ For topic gripper_width: timestamp difference is -192123918 for nearest: 1735705424253291579 - target: 1735705424445415497 at idx 249
46
+ For topic gripper_width: timestamp difference is 111043663 for nearest: 1735705428119965048 - target: 1735705428008921385 at idx 249
47
+ [INFO] [1735705430.503121]: Storing episode...
48
+ [rosbag_record-3] killing on exit
49
+ [print_text-2] killing on exit
50
+ [pub_text-1] killing on exit
51
+ [INFO] [1735705431.265008]: Stored episode 1.
52
+ [INFO] [1735705431.265242]: Saving video...
53
+ [INFO] [1735705431.523601]: Video saved!
54
+ Starting episode 1
55
+ [INFO] [1735705431.545691]: resetting environment
56
+ [INFO] [1735705431.549961]: cleared current plan
57
+ [INFO] [1735705431.550268]: moving to home
58
+ [INFO] [1735705435.256597]: reached home
59
+ [INFO] [1735705435.257030]: reset action history
60
+ [INFO] [1735705437.966370]: environment reset
61
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
62
+ proceeding to start episode!
63
+ Comuting lower confidence bound
64
+ Comuting upper confidence bound
65
+ Comuting lower confidence bound
66
+ Comuting upper confidence bound
67
+ Comuting lower confidence bound
68
+ Comuting upper confidence bound
69
+ Comuting lower confidence bound
70
+ Comuting upper confidence bound
71
+ [INFO] [1735705454.488602]: resetting environment
72
+ [INFO] [1735705454.490999]: cleared current plan
73
+ [INFO] [1735705454.491157]: moving to home
74
+ [INFO] [1735705455.492563]: reached home
75
+ [INFO] [1735705455.493627]: reset action history
76
+ [INFO] [1735705458.202812]: environment reset
77
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/episode_rosbags/episode_1_2024-12-31-23-24-18.bag
78
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-1763844.log
79
+ started roslaunch server http://158.130.50.37:37899/
80
+ SUMMARY
81
+ ========
82
+ PARAMETERS
83
+ * /rosdistro: noetic
84
+ * /rosversion: 1.16.0
85
+ NODES
86
+ /
87
+ print_text (rostopic/rostopic)
88
+ pub_text (rostopic/rostopic)
89
+ rosbag_record (rosbag/record)
90
+ ROS_MASTER_URI=http://localhost:11311
91
+ process[pub_text-4]: started with pid [1764475]
92
+ process[print_text-5]: started with pid [1764476]
93
+ process[rosbag_record-6]: started with pid [1764500]
94
+ started bagging!
95
+ For topic gripper_width: timestamp difference is -217798505 for nearest: 1735705474253334489 - target: 1735705474471132994 at idx 226
96
+ [INFO] [1735705485.242267]: Storing episode...
97
+ [rosbag_record-6] killing on exit
98
+ [print_text-5] killing on exit
99
+ [pub_text-4] killing on exit
100
+ [INFO] [1735705486.048554]: Stored episode 2.
101
+ [INFO] [1735705486.049467]: Saving video...
102
+ [INFO] [1735705486.788718]: Video saved!
103
+ Starting episode 2
104
+ [INFO] [1735705486.831948]: resetting environment
105
+ [INFO] [1735705486.847362]: cleared current plan
106
+ [INFO] [1735705486.855657]: moving to home
107
+ [WARN] [1735705486.574249]: Plan exhausted
108
+ [WARN] [1735705486.614203]: Plan exhausted
109
+ [WARN] [1735705486.654212]: Plan exhausted
110
+ [WARN] [1735705486.694333]: Plan exhausted
111
+ [WARN] [1735705486.742095]: Plan exhausted
112
+ [WARN] [1735705486.774960]: Plan exhausted
113
+ [WARN] [1735705486.814959]: Plan exhausted
114
+ [INFO] [1735705490.565387]: reached home
115
+ [INFO] [1735705490.568522]: reset action history
116
+ [INFO] [1735705493.340520]: environment reset
117
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
118
+ proceeding to start episode!Comuting lower confidence bound
119
+ Comuting upper confidence bound
120
+ Comuting lower confidence bound
121
+ Comuting upper confidence bound
122
+ Comuting lower confidence bound
123
+ Comuting upper confidence bound
124
+ Comuting lower confidence bound
125
+ Comuting upper confidence bound
126
+ [INFO] [1735705501.216985]: resetting environment
127
+ [INFO] [1735705501.223313]: cleared current plan
128
+ [INFO] [1735705501.224358]: moving to home
129
+ [INFO] [1735705502.226843]: reached home
130
+ [INFO] [1735705502.227553]: reset action history
131
+ [INFO] [1735705504.940190]: environment reset
132
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/episode_rosbags/episode_2_2024-12-31-23-25-04.bag
133
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-1763844.log
134
+ started roslaunch server http://158.130.50.37:45009/
135
+ SUMMARY
136
+ ========
137
+ PARAMETERS
138
+ * /rosdistro: noetic
139
+ * /rosversion: 1.16.0
140
+ NODES
141
+ /
142
+ print_text (rostopic/rostopic)
143
+ pub_text (rostopic/rostopic)
144
+ rosbag_record (rosbag/record)
145
+ ROS_MASTER_URI=http://localhost:11311
146
+ process[pub_text-7]: started with pid [1764612]
147
+ process[print_text-8]: started with pid [1764636]
148
+ process[rosbag_record-9]: started with pid [1764637]
149
+ started bagging!
150
+ For topic gripper_width: timestamp difference is 103371654 for nearest: 1735705513019959722 - target: 1735705512916588068 at idx 113
151
+ [INFO] [1735705532.098828]: Storing episode...
152
+ [rosbag_record-9] killing on exit
153
+ [pub_text-7] killing on exit
154
+ [print_text-8] killing on exit
155
+ [INFO] [1735705532.830240]: Stored episode 3.
156
+ [INFO] [1735705532.836840]: Saving video...
157
+ [INFO] [1735705533.151389]: Video saved!
158
+ Starting episode 3
159
+ [INFO] [1735705533.205078]: resetting environment
160
+ [INFO] [1735705533.226279]: cleared current plan
161
+ [INFO] [1735705533.229586]: moving to home
162
+ [INFO] [1735705536.946969]: reached home
163
+ [INFO] [1735705536.949765]: reset action history
164
+ [INFO] [1735705539.797777]: environment reset
165
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
166
+ proceeding to start episode!Comuting lower confidence bound
167
+ Comuting upper confidence bound
168
+ Comuting lower confidence bound
169
+ Comuting upper confidence bound
170
+ Comuting lower confidence bound
171
+ Comuting upper confidence bound
172
+ Comuting lower confidence bound
173
+ Comuting upper confidence bound
174
+ [INFO] [1735705551.434893]: resetting environment
175
+ [INFO] [1735705551.443621]: cleared current plan
176
+ [INFO] [1735705551.445770]: moving to home
177
+ [INFO] [1735705552.451352]: reached home
178
+ [INFO] [1735705552.455570]: reset action history
179
+ [INFO] [1735705555.179552]: environment reset
180
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/episode_rosbags/episode_3_2024-12-31-23-25-55.bag
181
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-1763844.log
182
+ started roslaunch server http://158.130.50.37:39323/
183
+ SUMMARY
184
+ ========
185
+ PARAMETERS
186
+ * /rosdistro: noetic
187
+ * /rosversion: 1.16.0
188
+ NODES
189
+ /
190
+ print_text (rostopic/rostopic)
191
+ pub_text (rostopic/rostopic)
192
+ rosbag_record (rosbag/record)
193
+ ROS_MASTER_URI=http://localhost:11311
194
+ process[pub_text-10]: started with pid [1764749]
195
+ process[print_text-11]: started with pid [1764750]
196
+ process[rosbag_record-12]: started with pid [1764774]
197
+ started bagging!
198
+ [INFO] [1735705582.319831]: Storing episode...
199
+ [pub_text-10] killing on exit
200
+ [print_text-11] killing on exit
201
+ [rosbag_record-12] killing on exit
202
+ [INFO] [1735705583.080423]: Stored episode 4.
203
+ [INFO] [1735705583.086799]: Saving video...
204
+ [INFO] [1735705583.709671]: Video saved!
205
+ Starting episode 4
206
+ [INFO] [1735705583.755128]: resetting environment
207
+ [INFO] [1735705583.776053]: cleared current plan
208
+ [INFO] [1735705583.778098]: moving to home
209
+ [WARN] [1735705583.656499]: Plan exhausted
210
+ [WARN] [1735705583.694503]: Plan exhausted
211
+ [WARN] [1735705583.736489]: Plan exhausted
212
+ [WARN] [1735705583.774212]: Plan exhausted
213
+ [INFO] [1735705587.599492]: reached home
214
+ [INFO] [1735705587.601034]: reset action history
215
+ [INFO] [1735705590.400108]: 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!Comuting lower confidence bound
218
+ Comuting upper confidence bound
219
+ Comuting lower confidence bound
220
+ Comuting upper confidence bound
221
+ Comuting lower confidence bound
222
+ Comuting upper confidence bound
223
+ Comuting lower confidence bound
224
+ Comuting upper confidence bound
225
+ [INFO] [1735705623.207325]: resetting environment
226
+ [INFO] [1735705623.232991]: cleared current plan
227
+ [INFO] [1735705623.237709]: moving to home
228
+ [INFO] [1735705624.243272]: reached home
229
+ [INFO] [1735705624.248002]: reset action history
230
+ [INFO] [1735705627.029378]: environment reset
231
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/episode_rosbags/episode_4_2024-12-31-23-27-07.bag
232
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-1763844.log
233
+ started roslaunch server http://158.130.50.37:38139/
234
+ SUMMARY
235
+ ========
236
+ PARAMETERS
237
+ * /rosdistro: noetic
238
+ * /rosversion: 1.16.0
239
+ NODES
240
+ /
241
+ print_text (rostopic/rostopic)
242
+ pub_text (rostopic/rostopic)
243
+ rosbag_record (rosbag/record)
244
+ ROS_MASTER_URI=http://localhost:11311
245
+ process[pub_text-13]: started with pid [1764908]
246
+ process[print_text-14]: started with pid [1764909]
247
+ process[rosbag_record-15]: started with pid [1764910]
248
+ started bagging!
249
+ preempting episode
250
+ [INFO] [1735705644.150497]: Storing episode...
251
+ [print_text-14] killing on exit[rosbag_record-15] killing on exit
252
+ [pub_text-13] killing on exit
253
+ [INFO] [1735705644.999417]: Stored episode 5.
254
+ [INFO] [1735705645.002374]: Saving video...
255
+ [INFO] [1735705645.312643]: Video saved!
256
+ [INFO] [1735705645.372400]: resetting environment
257
+ [INFO] [1735705645.396023]: cleared current plan
258
+ [INFO] [1735705645.396280]: moving to home
259
+ [WARN] [1735705645.335951]: Plan exhausted
260
+ [WARN] [1735705645.376273]: Plan exhausted
261
+ [INFO] [1735705649.000052]: reached home
262
+ [INFO] [1735705649.010500]: reset action history
263
+ [INFO] [1735705652.060615]: environment reset
264
+ Evaluation finished. To wrap up, rate prev episode, press 0 for failure and 1 for success
265
+ proceeding to start episode!Comuting lower confidence bound
266
+ Comuting upper confidence bound
267
+ Comuting lower confidence bound
268
+ Comuting upper confidence bound
269
+ Comuting lower confidence bound
270
+ Comuting upper confidence bound
271
+ Comuting lower confidence bound
272
+ Comuting upper confidence bound
273
+ Comuting lower confidence bound
274
+ Comuting upper confidence bound
275
+ Comuting lower confidence bound
276
+ Comuting upper confidence bound
277
+ Comuting lower confidence bound
278
+ Comuting upper confidence bound
279
+ Comuting lower confidence bound
280
+ Comuting upper confidence bound
281
+ proceeding to start episode!
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/requirements.txt ADDED
@@ -0,0 +1,340 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ binomial_cis==0.0.11
31
+ bondpy==1.8.6
32
+ byol-pytorch==0.8.0
33
+ cachetools==5.4.0
34
+ camera-calibration-parsers==1.12.0
35
+ camera-calibration==1.17.0
36
+ cascadio==0.0.13
37
+ catkin-pkg==1.0.0
38
+ catkin==0.7.18
39
+ catkin==0.8.10
40
+ certifi==2024.7.4
41
+ cffi==1.16.0
42
+ chardet==5.2.0
43
+ charset-normalizer==3.3.2
44
+ click==8.1.7
45
+ cloudpickle==3.0.0
46
+ cmake==3.30.1
47
+ colorlog==6.8.2
48
+ contourpy==1.2.1
49
+ controller-manager-msgs==0.20.0
50
+ controller-manager==0.20.0
51
+ coverage==7.6.0
52
+ coveralls==4.0.1
53
+ cv-bridge==1.16.2
54
+ cycler==0.12.1
55
+ datasets==2.20.0
56
+ decorator==4.4.2
57
+ deepdiff==7.0.1
58
+ defusedxml==0.7.1
59
+ diagnostic-analysis==1.11.0
60
+ diagnostic-common-diagnostics==1.11.0
61
+ diagnostic-updater==1.11.0
62
+ diffusers==0.27.2
63
+ dill==0.3.8
64
+ distro==1.9.0
65
+ dm-control==1.0.8
66
+ dm-env==1.6
67
+ dm-tree==0.1.8
68
+ docker-pycreds==0.4.0
69
+ docopt==0.6.2
70
+ docutils==0.21.2
71
+ dynamic-reconfigure==1.7.3
72
+ einops==0.8.0
73
+ embreex==2.17.7.post5
74
+ empy==3.3.4
75
+ etils==1.7.0
76
+ exceptiongroup==1.2.2
77
+ ezdxf==1.3.2
78
+ fasteners==0.19
79
+ filelock==3.15.4
80
+ fonttools==4.53.1
81
+ freetype-py==2.4.0
82
+ frozenlist==1.4.1
83
+ fsspec==2024.5.0
84
+ gazebo_plugins==2.9.2
85
+ gazebo_ros==2.9.2
86
+ gdown==5.2.0
87
+ gencpp==0.7.0
88
+ geneus==3.0.0
89
+ genlisp==0.4.18
90
+ genmsg==0.5.12
91
+ genmsg==0.6.0
92
+ gennodejs==2.0.2
93
+ genpy==0.6.14
94
+ genpy==0.6.15
95
+ geometry-msgs==1.13.0.post2
96
+ gitdb==4.0.11
97
+ glfw==2.7.0
98
+ glooey==0.3.6
99
+ gmsh==4.12.2
100
+ gnupg==2.3.1
101
+ google-auth-oauthlib==1.0.0
102
+ google-auth==2.32.0
103
+ grpcio==1.65.1
104
+ gym-envs==0.0.1
105
+ gym-notices==0.0.8
106
+ gym==0.22.0
107
+ gymnasium==0.29.1
108
+ h11==0.14.0
109
+ h5py==3.11.0
110
+ hf_transfer==0.1.8
111
+ httpcore==1.0.5
112
+ httpx==0.27.0
113
+ huggingface-hub==0.23.5
114
+ hydra-core==1.3.2
115
+ hydra-submitit-launcher==1.2.0
116
+ idna==3.7
117
+ image-geometry==1.16.2
118
+ imageio-ffmpeg==0.5.1
119
+ imageio==2.34.2
120
+ importlib_metadata==8.2.0
121
+ importlib_resources==6.4.0
122
+ iniconfig==2.0.0
123
+ interactive-markers==1.12.0
124
+ joint-state-publisher-gui==1.15.1
125
+ joint-state-publisher==1.15.1
126
+ jsonschema-specifications==2023.12.1
127
+ jsonschema==4.23.0
128
+ kiwisolver==1.4.5
129
+ kornia==0.7.3
130
+ kornia_rs==0.1.5
131
+ labmaze==1.0.6
132
+ laser_geometry==1.6.7
133
+ lazy_loader==0.4
134
+ lerobot==0.1.0
135
+ lightning-utilities==0.11.6
136
+ llvmlite==0.43.0
137
+ lxml==5.2.2
138
+ manifold3d==2.5.1
139
+ mapbox-earcut==1.0.1
140
+ markdown-it-py==3.0.0
141
+ matplotlib==3.9.1
142
+ mdurl==0.1.2
143
+ meshio==5.3.5
144
+ message-filters==1.16.0
145
+ more-itertools==10.3.0
146
+ moviepy==1.0.3
147
+ mpmath==1.3.0
148
+ mujoco==3.2.0
149
+ multidict==6.0.5
150
+ multiprocess==0.70.16
151
+ natsort==8.4.0
152
+ netifaces==0.11.0
153
+ networkx==3.3
154
+ nodeenv==1.9.1
155
+ numba==0.60.0
156
+ numcodecs==0.13.0
157
+ numpy==1.26.4
158
+ nvidia-cublas-cu12==12.1.3.1
159
+ nvidia-cuda-cupti-cu12==12.1.105
160
+ nvidia-cuda-nvrtc-cu12==12.1.105
161
+ nvidia-cuda-runtime-cu12==12.1.105
162
+ nvidia-cudnn-cu12==9.1.0.70
163
+ nvidia-cufft-cu12==11.0.2.54
164
+ nvidia-curand-cu12==10.3.2.106
165
+ nvidia-cusolver-cu12==11.4.5.107
166
+ nvidia-cusparse-cu12==12.1.0.106
167
+ nvidia-nccl-cu12==2.20.5
168
+ nvidia-nvjitlink-cu12==12.5.82
169
+ nvidia-nvtx-cu12==12.1.105
170
+ oauthlib==3.2.2
171
+ omegaconf==2.3.0
172
+ openctm==0.0.5
173
+ opencv-python==4.10.0.84
174
+ ordered-set==4.1.0
175
+ packaging==24.1
176
+ pandas==2.2.2
177
+ pillow==10.4.0
178
+ pip==24.3.1
179
+ platformdirs==4.2.2
180
+ pluggy==1.5.0
181
+ proglog==0.1.10
182
+ protobuf==5.27.2
183
+ psutil==6.0.0
184
+ pyarrow-hotfix==0.6
185
+ pyarrow==17.0.0
186
+ pyasn1==0.6.0
187
+ pyasn1_modules==0.4.0
188
+ pyav==12.3.0
189
+ pycollada==0.8
190
+ pycparser==2.22
191
+ pycryptodomex==3.21.0
192
+ pyglet==1.5.29
193
+ pyinstrument==4.6.2
194
+ pymunk==6.8.1
195
+ pyparsing==2.4.7
196
+ pyrealsense2==2.54.2.5684
197
+ pyribbit==0.1.46
198
+ pyright==1.1.373
199
+ pytest-beartype==0.0.2
200
+ pytest-cov==5.0.0
201
+ pytest==8.3.1
202
+ python-dateutil==2.9.0.post0
203
+ python-fcl==0.7.0.6
204
+ python-qt-binding==0.4.4
205
+ pytorch-lightning==2.4.0
206
+ pytz==2024.1
207
+ qt-dotgraph==0.4.2
208
+ qt-gui-cpp==0.4.2
209
+ qt-gui-py-common==0.4.2
210
+ qt-gui==0.4.2
211
+ referencing==0.35.1
212
+ regex==2024.5.15
213
+ requests-oauthlib==2.0.0
214
+ requests==2.32.3
215
+ rerun-sdk==0.17.0
216
+ resource_retriever==1.12.7
217
+ rich==13.7.1
218
+ ros-numpy==0.0.5
219
+ rosbag==1.16.0
220
+ rosboost-cfg==1.15.8
221
+ rosclean==1.15.8
222
+ roscpp==1.15.11
223
+ roscreate==1.15.8
224
+ rosgraph-msgs==1.11.3.post2
225
+ rosgraph==1.15.11
226
+ rosgraph==1.16.0
227
+ roslaunch==1.16.0
228
+ roslib==1.14.7.post0
229
+ roslib==1.15.8
230
+ roslint==0.12.0
231
+ roslz4==1.16.0
232
+ rosmake==1.15.8
233
+ rosmaster==1.16.0
234
+ rosmsg==1.16.0
235
+ rosnode==1.16.0
236
+ rosparam==1.16.0
237
+ rospkg==1.5.1
238
+ rospy==1.15.11
239
+ rospy==1.16.0
240
+ rosservice==1.16.0
241
+ rostest==1.16.0
242
+ rostopic==1.16.0
243
+ rosunit==1.15.8
244
+ roswtf==1.16.0
245
+ rpds-py==0.19.1
246
+ rqt-console==0.4.12
247
+ rqt-image-view==0.4.17
248
+ rqt-logger-level==0.4.12
249
+ rqt-moveit==0.5.11
250
+ rqt-reconfigure==0.5.5
251
+ rqt-robot-dashboard==0.5.8
252
+ rqt-robot-monitor==0.5.15
253
+ rqt-runtime-monitor==0.5.10
254
+ rqt-rviz==0.7.0
255
+ rqt-tf-tree==0.6.4
256
+ rqt_action==0.4.9
257
+ rqt_bag==0.5.1
258
+ rqt_bag_plugins==0.5.1
259
+ rqt_dep==0.4.12
260
+ rqt_graph==0.4.14
261
+ rqt_gui==0.5.3
262
+ rqt_gui_py==0.5.3
263
+ rqt_launch==0.4.9
264
+ rqt_msg==0.4.10
265
+ rqt_nav_view==0.5.7
266
+ rqt_plot==0.4.13
267
+ rqt_pose_view==0.5.11
268
+ rqt_publisher==0.4.10
269
+ rqt_py_common==0.5.3
270
+ rqt_py_console==0.4.10
271
+ rqt_robot_steering==0.5.12
272
+ rqt_service_caller==0.4.10
273
+ rqt_shell==0.4.11
274
+ rqt_srv==0.4.9
275
+ rqt_top==0.4.10
276
+ rqt_topic==0.4.13
277
+ rqt_web==0.4.10
278
+ rsa==4.9
279
+ ruff==0.5.4
280
+ rviz==1.14.25
281
+ safetensors==0.4.3
282
+ scikit-image==0.24.0
283
+ scikit-video==1.1.11
284
+ scipy==1.14.0
285
+ seaborn==0.13.2
286
+ sensor-msgs==1.13.1
287
+ sentry-sdk==2.11.0
288
+ setproctitle==1.3.3
289
+ setuptools==65.5.0
290
+ shapely==2.0.5
291
+ signature_dispatch==1.0.1
292
+ six==1.16.0
293
+ smach-ros==2.5.2
294
+ smach==2.5.2
295
+ smclib==1.8.6
296
+ smmap==5.0.1
297
+ sniffio==1.3.1
298
+ soupsieve==2.5
299
+ std-msgs==0.5.13.post0
300
+ submitit==1.5.1
301
+ svg.path==6.3
302
+ sympy==1.13.1
303
+ tensorboard-data-server==0.7.2
304
+ tensorboard==2.14.0
305
+ termcolor==2.4.0
306
+ tf-conversions==1.13.2
307
+ tf2-geometry-msgs==0.7.7
308
+ tf2-kdl==0.7.7
309
+ tf2-msgs==0.7.2.post3
310
+ tf2-py==0.7.7
311
+ tf2-ros==0.6.5
312
+ tf2-ros==0.7.7
313
+ tf2_py==0.6.5.post1
314
+ tf==1.13.2
315
+ tifffile==2024.7.24
316
+ tomli==2.0.1
317
+ topic-tools==1.16.0
318
+ torch==2.4.0
319
+ torchaug==0.5.2
320
+ torchmetrics==1.4.0.post0
321
+ torchvision==0.19.0
322
+ tqdm==4.66.4
323
+ trimesh==4.4.3
324
+ triton==3.0.0
325
+ typeguard==3.0.2
326
+ typing_extensions==4.12.2
327
+ tzdata==2024.1
328
+ urchin==0.0.27
329
+ urllib3==2.2.2
330
+ vecrec==0.3.1
331
+ vhacdx==0.0.8.post1
332
+ wandb==0.17.5
333
+ wheel==0.43.0
334
+ xacro==1.14.18
335
+ xatlas==0.0.9
336
+ xxhash==3.4.1
337
+ yarl==1.9.4
338
+ zarr==2.18.2
339
+ zipp==3.19.2
340
+ zstandard==0.23.0
ix23zko1/wandb/run-20241231_232251-ix23zko1/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": "2025-01-01T04:22:51.769978",
5
+ "startedAt": "2025-01-01T04:22:51.405701",
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": "efd33a493dbad5ba8b9c770955ac9f0942bd971a"
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": 4124.998375,
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": 4500.019,
46
+ "min": 800.0,
47
+ "max": 4700.0
48
+ },
49
+ {
50
+ "current": 3000.0,
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": 4500.002,
61
+ "min": 800.0,
62
+ "max": 4700.0
63
+ },
64
+ {
65
+ "current": 4500.015,
66
+ "min": 800.0,
67
+ "max": 4700.0
68
+ },
69
+ {
70
+ "current": 4500.002,
71
+ "min": 800.0,
72
+ "max": 4700.0
73
+ }
74
+ ],
75
+ "disk": {
76
+ "/": {
77
+ "total": 915.3232879638672,
78
+ "used": 579.1383628845215
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.71595764160156
91
+ }
92
+ }
ix23zko1/wandb/run-20241231_232251-ix23zko1/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"eval/0_eval": {"_type": "video-file", "sha256": "eeec50fdf1118de79305b75dbc730bef96e223c42b63cc7fd6c2e0932e19edfb", "size": 1167823, "path": "media/videos/eval/0_eval_0_eeec50fdf1118de79305.mp4"}, "global_step": 606, "_timestamp": 1735705670.9173996, "_runtime": 299.5036675930023, "_step": 11, "eval/1_eval": {"_type": "video-file", "sha256": "00cd606e45f670b2df9cb4720e6edcc75ceb2f32ba3051bbdee3558c24dd2db8", "size": 1101377, "path": "media/videos/eval/1_eval_1_00cd606e45f670b2df9c.mp4"}, "eval/num_success": 0.0, "episode": 30.0, "eval/success_rate": 0.0, "eval/success_rate_lb_0.01": 0.0, "eval/success_rate_ub_0.01": 0.5290328860282898, "eval/success_rate_lb_0.025": 0.0, "eval/success_rate_ub_0.025": 0.4204478859901428, "eval/success_rate_lb_0.05": 0.0, "eval/success_rate_ub_0.05": 0.33451345562934875, "eval/success_rate_lb_0.1": 0.009447986260056496, "eval/success_rate_ub_0.1": 0.20664875209331512, "eval/2_eval": {"_type": "video-file", "sha256": "3ca0a8506093efa659f9d2fbb0fae3841fc3573aaf49314cfd07fcb920ab7666", "size": 1154695, "path": "media/videos/eval/2_eval_2_3ca0a8506093efa659f9.mp4"}, "eval/3_eval": {"_type": "video-file", "sha256": "4b8025834b9f25779448e4060e96f4d6772b8a78044b25a3a1a4533f5b4211cd", "size": 1254048, "path": "media/videos/eval/3_eval_3_4b8025834b9f25779448.mp4"}, "eval/4_eval": {"_type": "video-file", "sha256": "e48861ffe574038dd2b64475e47765707e4011acf7de964a2bb8265cf5950acc", "size": 779902, "path": "media/videos/eval/4_eval_4_e48861ffe574038dd2b6.mp4"}, "eval/success_rate_ci": {"_type": "table-file", "sha256": "36776135f97d857e6145c8894b46a34f285be837fe819b79f437deddabc06a55", "size": 350, "artifact_path": "wandb-client-artifact://tl513i0uy8upvergcygdern945umz6808ilf7kwiei2v50acp7lql0kfn9fflelulxvvey7m5tbg29kexez03p4qjk3558emarp6o0qnmst3cerlidqr1ahvk5xfs692/eval/success_rate_ci.table.json", "_latest_artifact_path": "wandb-client-artifact://mi73bqk23hj6woqibyrjwj87ufuliyx1nnn9oofcz9yio0r89sg46l5m39yssuf1i1kqnvykbm6p6ejffd224d9tm7zk90vi43qart1hgiu7wr5666t7sxvgkjhan6ks:latest/eval/success_rate_ci.table.json", "path": "media/table/eval/success_rate_ci_5_36776135f97d857e6145.table.json", "ncols": 9, "nrows": 1}, "total_num_successes": 14, "total_num_episodes": 30, "total_success_rate": 0.4666666666666667, "total_success_rate_lb_0.01": 0.2629978359219579, "total_success_rate_ub_0.01": 0.6768004893902991, "total_success_rate_lb_0.025": 0.3015182316700217, "total_success_rate_ub_0.025": 0.6554286777662317, "total_success_rate_lb_0.05": 0.32652336362493584, "total_success_rate_ub_0.05": 0.6110612675325477, "total_success_rate_lb_0.1": 0.34375845644022573, "total_success_rate_ub_0.1": 0.5951753780055431, "eval/total_success_rate_ci": {"_type": "table-file", "sha256": "cdffd89ce3ca7a2fac895e34b3a4c4f97735368b1ef33cbf174cf8e29f059823", "size": 522, "artifact_path": "wandb-client-artifact://pclj198tnuh6j81i4qzmrtpnx8d8t1hfsnyb4rc6pxcp1xljjnnj6e4a31kymv704oyk9prqr2hqwykd5l06uk5klswfiw89ulrjh8c70l74n9l9a63n2oaaji9r8kzd/eval/total_success_rate_ci.table.json", "_latest_artifact_path": "wandb-client-artifact://xy9aawejic19yyish95yj95pjimgnhmsxiwh57r37gswzfp6mg3xvo6t0tfhyfsdp20n7bbjndxqrjt8waom2lsj72tj6bhg7qqxujuvnxh0ibsv1gnccqarffowjruw:latest/eval/total_success_rate_ci.table.json", "path": "media/table/eval/total_success_rate_ci_6_cdffd89ce3ca7a2fac89.table.json", "ncols": 11, "nrows": 1}, "_wandb": {"runtime": 302}, "eval/total_success_rate": 0.46666666865348816, "eval/total_success_rate_lb_0.01": 0.2629978358745575, "eval/total_success_rate_ub_0.01": 0.6768004894256592, "eval/total_success_rate_lb_0.025": 0.3015182316303253, "eval/total_success_rate_ub_0.025": 0.6554286479949951, "eval/total_success_rate_lb_0.05": 0.3265233635902405, "eval/total_success_rate_ub_0.05": 0.6110612750053406, "eval/total_success_rate_lb_0.1": 0.3437584638595581, "eval/total_success_rate_ub_0.1": 0.5951753854751587}
ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug.log ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Current SDK version is 0.17.5
2
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Configure stats pid to 1763844
3
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/.config/wandb/settings
4
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/wandb/settings
5
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [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-31 23:22:51,407 INFO MainThread:1763844 [wandb_setup.py:_flush():76] Applying login settings: {}
9
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_init.py:_log_setup():529] Logging user logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug.log
10
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_init.py:_log_setup():530] Logging internal logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug-internal.log
11
+ 2024-12-31 23:22:51,407 INFO MainThread:1763844 [wandb_init.py:init():569] calling init triggers
12
+ 2024-12-31 23:22:51,408 INFO MainThread:1763844 [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': 0, 'device': 'cuda', 'save_video': True, 'save_train_video': True, 'use_tb': True, 'use_wandb': True, 'wandb_run_id': '1007_0', 'wandb_notes': '1007_0_restarted_2', 'eval': True, 'true_action_history': False, 'train_pad_after': 4, 'process_contact_features': True, 'obs_type': 'pixels', 'use_color': True, 'use_depth': True, 'use_masks': True, '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_mask_ctxtmask_seed_220979_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': '120_240x320_all_twodim_left_to_right_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/120_240x320_all_twodim_left_to_right_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/120_240x320_all_twodim_left_to_right_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/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/semantic_demo_grouping.yaml', 'include_groups_list': 'all', 'expert_dataset_config': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demo_config.yaml', 'name_of_valid_demo': '120_240x320_all_twodim_left_to_right_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/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'valid_demo_idxs_list_or_num': None, 'val_num_groups': 7, '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/1007_0', 'agent': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgent', 'name': 'diffusion_policy', 'load_checkpoint': True, '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': True, '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_mask_ctxtmask_seed_220979_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/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', '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': True, '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_mask_ctxtmask_seed_220979_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_msk_channels_EE_obj_mask_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, '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/1007_0', 'residual_weight': '/home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt', 'final_experiment_dir': './exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1'}
14
+ 2024-12-31 23:22:51,408 INFO MainThread:1763844 [wandb_init.py:init():619] starting backend
15
+ 2024-12-31 23:22:51,408 INFO MainThread:1763844 [wandb_init.py:init():623] setting up manager
16
+ 2024-12-31 23:22:51,412 INFO MainThread:1763844 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
17
+ 2024-12-31 23:22:51,413 INFO MainThread:1763844 [wandb_init.py:init():631] backend started and connected
18
+ 2024-12-31 23:22:51,427 INFO MainThread:1763844 [wandb_init.py:init():720] updated telemetry
19
+ 2024-12-31 23:22:51,435 INFO MainThread:1763844 [wandb_init.py:init():753] communicating run to backend with 90.0 second timeout
20
+ 2024-12-31 23:22:51,706 INFO MainThread:1763844 [wandb_run.py:_on_init():2435] communicating current version
21
+ 2024-12-31 23:22:51,745 INFO MainThread:1763844 [wandb_run.py:_on_init():2444] got version response upgrade_message: "wandb version 0.19.1 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
22
+
23
+ 2024-12-31 23:22:51,746 INFO MainThread:1763844 [wandb_init.py:init():804] starting run threads in backend
24
+ 2024-12-31 23:22:52,099 INFO MainThread:1763844 [wandb_run.py:_console_start():2413] atexit reg
25
+ 2024-12-31 23:22:52,099 INFO MainThread:1763844 [wandb_run.py:_redirect():2255] redirect: wrap_raw
26
+ 2024-12-31 23:22:52,099 INFO MainThread:1763844 [wandb_run.py:_redirect():2320] Wrapping output streams.
27
+ 2024-12-31 23:22:52,099 INFO MainThread:1763844 [wandb_run.py:_redirect():2345] Redirects installed.
28
+ 2024-12-31 23:22:52,101 INFO MainThread:1763844 [wandb_init.py:init():847] run started, returning control to user process
29
+ 2024-12-31 23:22:52,101 INFO MainThread:1763844 [wandb_run.py:_tensorboard_callback():1544] tensorboard callback: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1007_0/ix23zko1/tb, True
30
+ 2024-12-31 23:22:57,061 INFO MainThread:1763844 [wandb_run.py:_config_callback():1382] config_cb None None {'grasped_obj_name': 'lib', 'left_book_slot': 'twodim'}
31
+ 2024-12-31 23:28:05,561 WARNING MsgRouterThr:1763844 [router.py:message_loop():77] message_loop has been closed
ix23zko1/wandb/run-20241231_232251-ix23zko1/run-ix23zko1.wandb ADDED
Binary file (79.6 kB). View file
 
ksj6ie6d/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
ksj6ie6d/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
ksj6ie6d/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
ksj6ie6d/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
ksj6ie6d/eval_robot.log ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [2024-12-31 21:08:31,773][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_robot.py:590: 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-31 21:08:31,776][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_robot.py:526: 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
+