Add files using upload-large-folder tool
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +47 -0
- 3o6eq09y/episode_rosbags/episode_4_2024-12-31-21-17-59.bag +3 -0
- 9rj28b8z/episode_rosbags/episode_0_2024-12-31-22-21-47.bag +3 -0
- 9rj28b8z/episode_rosbags/episode_1_2024-12-31-22-22-27.bag +3 -0
- 9rj28b8z/episode_rosbags/episode_2_2024-12-31-22-23-09.bag +3 -0
- 9rj28b8z/episode_rosbags/episode_3_2024-12-31-22-23-49.bag +3 -0
- 9rj28b8z/episode_rosbags/episode_4_2024-12-31-22-24-34.bag +3 -0
- gwnrzhmx/episode_rosbags/episode_0_2024-12-31-22-15-30.bag +3 -0
- gwnrzhmx/episode_rosbags/episode_1_2024-12-31-22-16-10.bag +3 -0
- gwnrzhmx/episode_rosbags/episode_2_2024-12-31-22-16-50.bag +3 -0
- gwnrzhmx/episode_rosbags/episode_3_2024-12-31-22-17-38.bag +3 -0
- gwnrzhmx/episode_rosbags/episode_4_2024-12-31-22-18-19.bag +3 -0
- ix23zko1/.hydra/config.yaml +350 -0
- ix23zko1/.hydra/hydra.yaml +169 -0
- ix23zko1/.hydra/overrides.yaml +3 -0
- ix23zko1/episode_rosbags/aligned_depth_to_color_K.npy +3 -0
- ix23zko1/episode_rosbags/color_K.npy +3 -0
- ix23zko1/episode_rosbags/episode_1_2024-12-31-23-24-18.bag +3 -0
- ix23zko1/episode_rosbags/episode_2_2024-12-31-23-25-04.bag +3 -0
- ix23zko1/episode_rosbags/episode_3_2024-12-31-23-25-55.bag +3 -0
- ix23zko1/eval_video/0_eval.mp4 +3 -0
- ix23zko1/eval_video/1_eval.mp4 +3 -0
- ix23zko1/eval_video/2_eval.mp4 +3 -0
- ix23zko1/eval_video/3_eval.mp4 +3 -0
- ix23zko1/eval_video/4_eval.mp4 +3 -0
- ix23zko1/tb/events.out.tfevents.1735705372.leonmkim-ROG-Strix-G15CS-G15CS.1763844.0 +3 -0
- ix23zko1/wandb/debug-internal.log +0 -0
- ix23zko1/wandb/debug.log +31 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/code/FISH/eval_robot.py +605 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/config.yaml +895 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/diff.patch +86 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/table/eval/success_rate_ci_5_36776135f97d857e6145.table.json +1 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/table/eval/total_success_rate_ci_6_cdffd89ce3ca7a2fac89.table.json +1 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/0_eval_0_eeec50fdf1118de79305.mp4 +3 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/1_eval_1_00cd606e45f670b2df9c.mp4 +3 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/2_eval_2_3ca0a8506093efa659f9.mp4 +3 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/3_eval_3_4b8025834b9f25779448.mp4 +3 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/media/videos/eval/4_eval_4_e48861ffe574038dd2b6.mp4 +3 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/output.log +281 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/requirements.txt +340 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/wandb-metadata.json +92 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/files/wandb-summary.json +1 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug-internal.log +0 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/logs/debug.log +31 -0
- ix23zko1/wandb/run-20241231_232251-ix23zko1/run-ix23zko1.wandb +0 -0
- ksj6ie6d/episode_rosbags/aligned_depth_to_color_K.npy +3 -0
- ksj6ie6d/episode_rosbags/cam_tf_world.npy +3 -0
- ksj6ie6d/episode_rosbags/color_K.npy +3 -0
- ksj6ie6d/episode_rosbags/depth_K.npy +3 -0
- 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 |
+
[1mstarted 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 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 38 |
+
[1mprocess[pub_text-1]: started with pid [1764338]
|
| 39 |
+
[1mprocess[print_text-2]: started with pid [1764362]
|
| 40 |
+
[1mprocess[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 |
+
[1mstarted 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 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 91 |
+
[1mprocess[pub_text-4]: started with pid [1764475]
|
| 92 |
+
[1mprocess[print_text-5]: started with pid [1764476]
|
| 93 |
+
[1mprocess[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 |
+
[33m[WARN] [1735705486.574249]: Plan exhausted
|
| 108 |
+
[33m[WARN] [1735705486.614203]: Plan exhausted
|
| 109 |
+
[33m[WARN] [1735705486.654212]: Plan exhausted
|
| 110 |
+
[33m[WARN] [1735705486.694333]: Plan exhausted
|
| 111 |
+
[33m[WARN] [1735705486.742095]: Plan exhausted
|
| 112 |
+
[33m[WARN] [1735705486.774960]: Plan exhausted
|
| 113 |
+
[33m[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 |
+
[1mstarted 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 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 146 |
+
[1mprocess[pub_text-7]: started with pid [1764612]
|
| 147 |
+
[1mprocess[print_text-8]: started with pid [1764636]
|
| 148 |
+
[1mprocess[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 |
+
[1mstarted 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 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 194 |
+
[1mprocess[pub_text-10]: started with pid [1764749]
|
| 195 |
+
[1mprocess[print_text-11]: started with pid [1764750]
|
| 196 |
+
[1mprocess[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 |
+
[33m[WARN] [1735705583.656499]: Plan exhausted
|
| 210 |
+
[33m[WARN] [1735705583.694503]: Plan exhausted
|
| 211 |
+
[33m[WARN] [1735705583.736489]: Plan exhausted
|
| 212 |
+
[33m[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 |
+
[1mstarted 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 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 245 |
+
[1mprocess[pub_text-13]: started with pid [1764908]
|
| 246 |
+
[1mprocess[print_text-14]: started with pid [1764909]
|
| 247 |
+
[1mprocess[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 |
+
[33m[WARN] [1735705645.335951]: Plan exhausted
|
| 260 |
+
[33m[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 |
+
|