serialexperimentsleon commited on
Commit
207e1b1
·
verified ·
1 Parent(s): 2a8c8bc

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +37 -0
  2. 73h7fwcu/episode_rosbags/aligned_depth_to_color_K.npy +3 -0
  3. 73h7fwcu/episode_rosbags/cam_tf_world.npy +3 -0
  4. 73h7fwcu/episode_rosbags/color_K.npy +3 -0
  5. 73h7fwcu/episode_rosbags/depth_K.npy +3 -0
  6. 73h7fwcu/eval_robot.log +12 -0
  7. 73h7fwcu/wandb/debug-internal.log +0 -0
  8. 73h7fwcu/wandb/debug.log +31 -0
  9. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/config.yaml +895 -0
  10. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/diff.patch +15 -0
  11. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/table/eval/success_rate_ci_5_e6508f0181aa84573747.table.json +1 -0
  12. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/table/eval/total_success_rate_ci_6_8532fe6ae6edcefe2d2b.table.json +1 -0
  13. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/0_eval_0_67a649dac0864a0b9776.mp4 +3 -0
  14. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/1_eval_1_cffb0391d794a1519dba.mp4 +3 -0
  15. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/2_eval_2_43ad98f5bb65a23f42a7.mp4 +3 -0
  16. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/3_eval_3_5b62306ad8696d8b8c90.mp4 +3 -0
  17. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/4_eval_4_66fc966ceba4d62103d3.mp4 +3 -0
  18. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/output.log +290 -0
  19. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/requirements.txt +340 -0
  20. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/wandb-metadata.json +92 -0
  21. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/wandb-summary.json +1 -0
  22. 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/run-73h7fwcu.wandb +0 -0
  23. bknjqqyi/.hydra/config.yaml +350 -0
  24. bknjqqyi/.hydra/hydra.yaml +169 -0
  25. bknjqqyi/.hydra/overrides.yaml +3 -0
  26. bknjqqyi/eval_policy.log +15 -0
  27. config.yaml +546 -0
  28. no798ka2/.hydra/config.yaml +350 -0
  29. no798ka2/.hydra/hydra.yaml +169 -0
  30. no798ka2/.hydra/overrides.yaml +3 -0
  31. no798ka2/episode_rosbags/aligned_depth_to_color_K.npy +3 -0
  32. no798ka2/episode_rosbags/cam_tf_world.npy +3 -0
  33. no798ka2/episode_rosbags/color_K.npy +3 -0
  34. no798ka2/episode_rosbags/depth_K.npy +3 -0
  35. no798ka2/eval_robot.log +12 -0
  36. no798ka2/eval_video/0_eval.mp4 +3 -0
  37. no798ka2/eval_video/1_eval.mp4 +3 -0
  38. no798ka2/eval_video/2_eval.mp4 +3 -0
  39. no798ka2/eval_video/3_eval.mp4 +3 -0
  40. no798ka2/eval_video/4_eval.mp4 +3 -0
  41. no798ka2/tb/events.out.tfevents.1736292190.leonmkim-ROG-Strix-G15CS-G15CS.2211530.0 +3 -0
  42. no798ka2/wandb/debug-internal.log +0 -0
  43. no798ka2/wandb/debug.log +31 -0
  44. no798ka2/wandb/run-20250107_182310-no798ka2/files/code/FISH/eval_robot.py +605 -0
  45. no798ka2/wandb/run-20250107_182310-no798ka2/files/config.yaml +895 -0
  46. no798ka2/wandb/run-20250107_182310-no798ka2/files/diff.patch +15 -0
  47. no798ka2/wandb/run-20250107_182310-no798ka2/files/media/table/eval/success_rate_ci_5_d8821c50291f0fbf979f.table.json +1 -0
  48. no798ka2/wandb/run-20250107_182310-no798ka2/files/media/table/eval/total_success_rate_ci_6_ac8537acf8bec14e3652.table.json +1 -0
  49. no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/0_eval_0_c3c69d41167ae5a9086a.mp4 +3 -0
  50. no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/1_eval_1_ddb2bcf1bbe47f8bb323.mp4 +3 -0
.gitattributes CHANGED
@@ -33,3 +33,40 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ q50r8fwa/wandb/run-20250107_201615-q50r8fwa/files/media/videos/eval/2_eval_2_2011ea908dfd24dcf4b7.mp4 filter=lfs diff=lfs merge=lfs -text
37
+ q50r8fwa/wandb/run-20250107_201615-q50r8fwa/files/media/videos/eval/1_eval_1_77e85503de0c92b9ff4c.mp4 filter=lfs diff=lfs merge=lfs -text
38
+ q50r8fwa/wandb/run-20250107_201615-q50r8fwa/files/media/videos/eval/0_eval_0_dd301aef3dc772a0c0e9.mp4 filter=lfs diff=lfs merge=lfs -text
39
+ q50r8fwa/wandb/run-20250107_201615-q50r8fwa/files/media/videos/eval/4_eval_4_84c6290cf5d078bb7ea7.mp4 filter=lfs diff=lfs merge=lfs -text
40
+ q50r8fwa/wandb/run-20250107_201615-q50r8fwa/files/media/videos/eval/3_eval_3_c14c10349ec35d2de07a.mp4 filter=lfs diff=lfs merge=lfs -text
41
+ q50r8fwa/eval_video/3_eval.mp4 filter=lfs diff=lfs merge=lfs -text
42
+ q50r8fwa/eval_video/4_eval.mp4 filter=lfs diff=lfs merge=lfs -text
43
+ q50r8fwa/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
44
+ q50r8fwa/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
45
+ q50r8fwa/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
46
+ w4b02c7s/wandb/run-20250107_202114-w4b02c7s/files/media/videos/eval/1_eval_1_407b26ce0b9569f5bbfd.mp4 filter=lfs diff=lfs merge=lfs -text
47
+ w4b02c7s/wandb/run-20250107_202114-w4b02c7s/files/media/videos/eval/3_eval_3_c5460bdfba046140b658.mp4 filter=lfs diff=lfs merge=lfs -text
48
+ w4b02c7s/wandb/run-20250107_202114-w4b02c7s/files/media/videos/eval/0_eval_0_bec6c78d6d5d8da97ef5.mp4 filter=lfs diff=lfs merge=lfs -text
49
+ w4b02c7s/wandb/run-20250107_202114-w4b02c7s/files/media/videos/eval/2_eval_2_a036985f900b09e578db.mp4 filter=lfs diff=lfs merge=lfs -text
50
+ w4b02c7s/wandb/run-20250107_202114-w4b02c7s/files/media/videos/eval/4_eval_4_dc542bb6f251b5d41e0c.mp4 filter=lfs diff=lfs merge=lfs -text
51
+ w4b02c7s/eval_video/3_eval.mp4 filter=lfs diff=lfs merge=lfs -text
52
+ w4b02c7s/eval_video/4_eval.mp4 filter=lfs diff=lfs merge=lfs -text
53
+ w4b02c7s/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
54
+ w4b02c7s/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
55
+ w4b02c7s/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
56
+ w4b02c7s/episode_rosbags/episode_0_2025-01-07-20-21-32.bag filter=lfs diff=lfs merge=lfs -text
57
+ no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/1_eval_1_ddb2bcf1bbe47f8bb323.mp4 filter=lfs diff=lfs merge=lfs -text
58
+ no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/2_eval_2_05d28ce3514e2b70c559.mp4 filter=lfs diff=lfs merge=lfs -text
59
+ no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/0_eval_0_c3c69d41167ae5a9086a.mp4 filter=lfs diff=lfs merge=lfs -text
60
+ no798ka2/eval_video/3_eval.mp4 filter=lfs diff=lfs merge=lfs -text
61
+ no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/3_eval_3_3a5d4eef35ecdfe13399.mp4 filter=lfs diff=lfs merge=lfs -text
62
+ no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/4_eval_4_e8bdad0cca02a9e00142.mp4 filter=lfs diff=lfs merge=lfs -text
63
+ no798ka2/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
64
+ no798ka2/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
65
+ no798ka2/eval_video/4_eval.mp4 filter=lfs diff=lfs merge=lfs -text
66
+ no798ka2/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
67
+ w4b02c7s/episode_rosbags/episode_1_2025-01-07-20-22-04.bag filter=lfs diff=lfs merge=lfs -text
68
+ 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/3_eval_3_5b62306ad8696d8b8c90.mp4 filter=lfs diff=lfs merge=lfs -text
69
+ 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/4_eval_4_66fc966ceba4d62103d3.mp4 filter=lfs diff=lfs merge=lfs -text
70
+ 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/0_eval_0_67a649dac0864a0b9776.mp4 filter=lfs diff=lfs merge=lfs -text
71
+ 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/2_eval_2_43ad98f5bb65a23f42a7.mp4 filter=lfs diff=lfs merge=lfs -text
72
+ 73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/1_eval_1_cffb0391d794a1519dba.mp4 filter=lfs diff=lfs merge=lfs -text
73h7fwcu/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
73h7fwcu/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
73h7fwcu/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
73h7fwcu/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
73h7fwcu/eval_robot.log ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [2025-01-07 16:39:43,773][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_robot.py:596: 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
+ [2025-01-07 16:39:43,776][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_robot.py:532: 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
+
73h7fwcu/wandb/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
73h7fwcu/wandb/debug.log ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [wandb_setup.py:_flush():76] Current SDK version is 0.17.5
2
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [wandb_setup.py:_flush():76] Configure stats pid to 2187297
3
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/.config/wandb/settings
4
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/wandb/settings
5
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [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
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [wandb_setup.py:_flush():76] Applying login settings: {}
9
+ 2025-01-07 16:39:50,207 INFO MainThread:2187297 [wandb_init.py:_log_setup():529] Logging user logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/wandb/run-20250107_163950-73h7fwcu/logs/debug.log
10
+ 2025-01-07 16:39:50,208 INFO MainThread:2187297 [wandb_init.py:_log_setup():530] Logging internal logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/wandb/run-20250107_163950-73h7fwcu/logs/debug-internal.log
11
+ 2025-01-07 16:39:50,208 INFO MainThread:2187297 [wandb_init.py:init():569] calling init triggers
12
+ 2025-01-07 16:39:50,208 INFO MainThread:2187297 [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': 1, 'dataset_shuffle_seed': 0, 'device': 'cuda', 'save_video': True, 'save_train_video': True, 'use_tb': True, 'use_wandb': True, 'wandb_run_id': '1013_1', 'wandb_notes': '1013_1_restarted_11', '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': True, 'use_sdf_maps': True, 'use_normals_maps': True, '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': 5, '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/1013_1', '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': True, 'use_sdf_maps': True, 'use_normals_maps': True, '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': 1, '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': True, 'use_sdf_maps': True, 'use_normals_maps': True, '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_cntct_0.1_DTC_clmpd_lrnbl_nrmls_DTCmask_adpt_lrnbl_both_lr_0.0001_wd_0.0_local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9_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/1013_1', 'residual_weight': '/home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt', 'final_experiment_dir': './exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu'}
14
+ 2025-01-07 16:39:50,208 INFO MainThread:2187297 [wandb_init.py:init():619] starting backend
15
+ 2025-01-07 16:39:50,208 INFO MainThread:2187297 [wandb_init.py:init():623] setting up manager
16
+ 2025-01-07 16:39:50,212 INFO MainThread:2187297 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
17
+ 2025-01-07 16:39:50,213 INFO MainThread:2187297 [wandb_init.py:init():631] backend started and connected
18
+ 2025-01-07 16:39:50,226 INFO MainThread:2187297 [wandb_init.py:init():720] updated telemetry
19
+ 2025-01-07 16:39:50,234 INFO MainThread:2187297 [wandb_init.py:init():753] communicating run to backend with 90.0 second timeout
20
+ 2025-01-07 16:39:50,460 INFO MainThread:2187297 [wandb_run.py:_on_init():2435] communicating current version
21
+ 2025-01-07 16:39:50,531 INFO MainThread:2187297 [wandb_run.py:_on_init():2444] got version response upgrade_message: "wandb version 0.19.2 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
22
+
23
+ 2025-01-07 16:39:50,531 INFO MainThread:2187297 [wandb_init.py:init():804] starting run threads in backend
24
+ 2025-01-07 16:39:50,906 INFO MainThread:2187297 [wandb_run.py:_console_start():2413] atexit reg
25
+ 2025-01-07 16:39:50,906 INFO MainThread:2187297 [wandb_run.py:_redirect():2255] redirect: wrap_raw
26
+ 2025-01-07 16:39:50,906 INFO MainThread:2187297 [wandb_run.py:_redirect():2320] Wrapping output streams.
27
+ 2025-01-07 16:39:50,907 INFO MainThread:2187297 [wandb_run.py:_redirect():2345] Redirects installed.
28
+ 2025-01-07 16:39:50,908 INFO MainThread:2187297 [wandb_init.py:init():847] run started, returning control to user process
29
+ 2025-01-07 16:39:50,908 INFO MainThread:2187297 [wandb_run.py:_tensorboard_callback():1544] tensorboard callback: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/tb, True
30
+ 2025-01-07 16:39:55,456 INFO MainThread:2187297 [wandb_run.py:_config_callback():1382] config_cb None None {'grasped_obj_name': 'hbm', 'left_book_slot': 'twodim'}
31
+ 2025-01-07 16:45:25,384 WARNING MsgRouterThr:2187297 [router.py:message_loop():77] message_loop has been closed
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/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: 1
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: '1013_1'
42
+ wandb_notes:
43
+ desc: null
44
+ value: 1013_1_restarted_11
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: true
126
+ use_sdf_maps:
127
+ desc: null
128
+ value: true
129
+ use_normals_maps:
130
+ desc: null
131
+ value: true
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: 5
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/1013_1
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: true
475
+ use_sdf_maps: true
476
+ use_normals_maps: true
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: 1
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: true
705
+ use_sdf_maps: true
706
+ use_normals_maps: true
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_cntct_0.1_DTC_clmpd_lrnbl_nrmls_DTCmask_adpt_lrnbl_both_lr_0.0001_wd_0.0_local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9_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/1013_1
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/1013_1/73h7fwcu
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: 1736285990
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: hbm
893
+ left_book_slot:
894
+ desc: null
895
+ value: twodim
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/diff.patch ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/FISH/cfgs/config_eval.yaml b/FISH/cfgs/config_eval.yaml
2
+ index a5e82a4..1c0be7a 100644
3
+ --- a/FISH/cfgs/config_eval.yaml
4
+ +++ b/FISH/cfgs/config_eval.yaml
5
+ @@ -139,8 +139,8 @@ load_checkpoint: ${agent.load_checkpoint}
6
+
7
+ # RGBD+mask+contact(all ftrs)+act history
8
+ # wandb_run_id: '1003_0'
9
+ -# wandb_run_id: '1013_1' # seed 1
10
+ -wandb_run_id: '1017_0' # dataset shuffle seed 1
11
+ +wandb_run_id: '1013_1' # seed 1
12
+ +# wandb_run_id: '1017_0' # dataset shuffle seed 1
13
+
14
+ # all books, 6/20 demos per book
15
+ # RGBD+mask+act history
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/table/eval/success_rate_ci_5_e6508f0181aa84573747.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.5363743901179997, 0, 0.48415964842159465, 0, 0.21277225023292168, 0, 0.1673506349990479]]}
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/table/eval/total_success_rate_ci_6_8532fe6ae6edcefe2d2b.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": [[25, 40, 0.625, 0.4539579749199444, 0.7813661097917493, 0.4635710865332028, 0.7571975811801546, 0.4847957044870268, 0.7443524449575001, 0.5340144000879443, 0.7229229919166562]]}
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/0_eval_0_67a649dac0864a0b9776.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:67a649dac0864a0b9776f767bc7576b313825aedd1fb1e5bd8232dcfb9a9c3be
3
+ size 1465999
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/1_eval_1_cffb0391d794a1519dba.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cffb0391d794a1519dbaf82e22d4d4b11d19cd4cb117756b1dd14997b708132a
3
+ size 1495191
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/2_eval_2_43ad98f5bb65a23f42a7.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:43ad98f5bb65a23f42a77ee3e7485ca244a84f2eca11d653428a694f8dbc7587
3
+ size 1523457
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/3_eval_3_5b62306ad8696d8b8c90.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5b62306ad8696d8b8c905da27e65c2d240f6e4906b7c2a1fcbe93a1da19fac61
3
+ size 1485499
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/media/videos/eval/4_eval_4_66fc966ceba4d62103d3.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:66fc966ceba4d62103d365426065720163bd13fbbc1c8e542447c5b4dabe78dd
3
+ size 1502654
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/output.log ADDED
@@ -0,0 +1,290 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ loaded agent with feature_type: 180x240_1_RGB_D_2.0_msk_channels_EE_obj_mask_cntct_0.1_DTC_clmpd_lrnbl_nrmls_DTCmask_adpt_lrnbl_both_lr_0.0001_wd_0.0_local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1
3
+ [INFO] [1736285995.457175]: resetting environment
4
+ [INFO] [1736285995.465323]: cleared current plan
5
+ [INFO] [1736285995.467233]: moving to home
6
+ [INFO] [1736285996.471064]: reached home
7
+ [INFO] [1736285996.472350]: reset action history
8
+ [INFO] [1736285999.181207]: environment reset
9
+ Starting episode 0
10
+ [INFO] [1736285999.185618]: resetting environment
11
+ [INFO] [1736285999.192549]: cleared current plan
12
+ [INFO] [1736285999.193753]: moving to home
13
+ [INFO] [1736286000.197190]: reached home
14
+ [INFO] [1736286000.198450]: reset action history
15
+ [INFO] [1736286002.908808]: 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] [1736286013.072206]: resetting environment
19
+ [INFO] [1736286013.076876]: cleared current plan
20
+ [INFO] [1736286013.078669]: moving to home
21
+ [INFO] [1736286014.082706]: reached home
22
+ [INFO] [1736286014.084465]: reset action history
23
+ [INFO] [1736286016.793408]: environment reset
24
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/episode_rosbags/episode_0_2025-01-07-16-40-16.bag
25
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2187297.log
26
+ started roslaunch server http://158.130.50.37:35775/
27
+ SUMMARY
28
+ ========
29
+ PARAMETERS
30
+ * /rosdistro: noetic
31
+ * /rosversion: 1.16.0
32
+ NODES
33
+ /
34
+ print_text (rostopic/rostopic)
35
+ pub_text (rostopic/rostopic)
36
+ rosbag_record (rosbag/record)
37
+ ROS_MASTER_URI=http://localhost:11311
38
+ process[pub_text-1]: started with pid [2187576]
39
+ process[print_text-2]: started with pid [2187600]
40
+ process[rosbag_record-3]: started with pid [2187601]
41
+ started bagging!
42
+ For topic gripper_width: timestamp difference is 129801058 for nearest: 1736286031645529293 - target: 1736286031515728235 at idx 203
43
+ For topic gripper_width: timestamp difference is 100160986 for nearest: 1736286036078889996 - target: 1736286035978729010 at idx 249
44
+ For topic gripper_width: timestamp difference is 100523277 for nearest: 1736286036578863903 - target: 1736286036478340626 at idx 249
45
+ For topic gripper_width: timestamp difference is 107315137 for nearest: 1736286044945530488 - target: 1736286044838215351 at idx 249
46
+ For topic gripper_width: timestamp difference is 108376987 for nearest: 1736286046245555408 - target: 1736286046137178421 at idx 249
47
+ [INFO] [1736286051.770073]: Storing episode...
48
+ [rosbag_record-3] killing on exit
49
+ [print_text-2] killing on exit[pub_text-1] killing on exit
50
+ [INFO] [1736286052.541237]: Stored episode 1.
51
+ [INFO] [1736286052.541545]: Saving video...
52
+ [INFO] [1736286052.741593]: Video saved!
53
+ Starting episode 1
54
+ [INFO] [1736286052.777390]: resetting environment
55
+ [INFO] [1736286052.793707]: cleared current plan
56
+ [INFO] [1736286052.797335]: moving to home
57
+ [INFO] [1736286055.600956]: reached home
58
+ [INFO] [1736286055.601413]: reset action history
59
+ [INFO] [1736286058.313222]: environment reset
60
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
61
+ proceeding to start episode!
62
+ Comuting lower confidence bound
63
+ Comuting upper confidence bound
64
+ Comuting lower confidence bound
65
+ Comuting upper confidence bound
66
+ Comuting lower confidence bound
67
+ Comuting upper confidence bound
68
+ Comuting lower confidence bound
69
+ Comuting upper confidence bound
70
+ [INFO] [1736286061.123260]: resetting environment
71
+ [INFO] [1736286061.127646]: cleared current plan
72
+ [INFO] [1736286061.127831]: moving to home
73
+ [INFO] [1736286062.129265]: reached home
74
+ [INFO] [1736286062.129676]: reset action history
75
+ [INFO] [1736286064.842000]: environment reset
76
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/episode_rosbags/episode_1_2025-01-07-16-41-04.bag
77
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2187297.log
78
+ started roslaunch server http://158.130.50.37:44223/
79
+ SUMMARY
80
+ ========
81
+ PARAMETERS
82
+ * /rosdistro: noetic
83
+ * /rosversion: 1.16.0
84
+ NODES
85
+ /
86
+ print_text (rostopic/rostopic)
87
+ pub_text (rostopic/rostopic)
88
+ rosbag_record (rosbag/record)
89
+ ROS_MASTER_URI=http://localhost:11311
90
+ process[pub_text-4]: started with pid [2187722]
91
+ process[print_text-5]: started with pid [2187723]
92
+ process[rosbag_record-6]: started with pid [2187747]
93
+ started bagging!
94
+ For topic gripper_width: timestamp difference is 115052639 for nearest: 1736286095845565973 - target: 1736286095730513334 at idx 249
95
+ [INFO] [1736286099.701087]: Storing episode...
96
+ [rosbag_record-6] killing on exit
97
+ [pub_text-4] killing on exit
98
+ [print_text-5] killing on exit
99
+ [INFO] [1736286100.413486]: Stored episode 2.
100
+ [INFO] [1736286100.415964]: Saving video...
101
+ [WARN] [1736286101.043723]: Plan exhausted
102
+ [WARN] [1736286101.083732]: Plan exhausted
103
+ [WARN] [1736286101.125677]: Plan exhausted
104
+ [INFO] [1736286101.093618]: Video saved!
105
+ Starting episode 2
106
+ [INFO] [1736286101.129830]: resetting environment
107
+ [INFO] [1736286101.152658]: cleared current plan
108
+ [INFO] [1736286101.152958]: moving to home
109
+ [INFO] [1736286104.555906]: reached home
110
+ [INFO] [1736286104.562178]: reset action history
111
+ [INFO] [1736286107.352538]: environment reset
112
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
113
+ proceeding to start episode!Comuting lower confidence bound
114
+ Comuting upper confidence bound
115
+ Comuting lower confidence bound
116
+ Comuting upper confidence bound
117
+ Comuting lower confidence bound
118
+ Comuting upper confidence bound
119
+ Comuting lower confidence bound
120
+ Comuting upper confidence bound
121
+ [INFO] [1736286110.716276]: resetting environment
122
+ [INFO] [1736286110.729270]: cleared current plan
123
+ [INFO] [1736286110.729724]: moving to home
124
+ [INFO] [1736286111.732345]: reached home
125
+ [INFO] [1736286111.733429]: reset action history
126
+ [INFO] [1736286114.441725]: environment reset
127
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/episode_rosbags/episode_2_2025-01-07-16-41-54.bag
128
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2187297.log
129
+ started roslaunch server http://158.130.50.37:44963/
130
+ SUMMARY
131
+ ========
132
+ PARAMETERS
133
+ * /rosdistro: noetic
134
+ * /rosversion: 1.16.0
135
+ NODES
136
+ /
137
+ print_text (rostopic/rostopic)
138
+ pub_text (rostopic/rostopic)
139
+ rosbag_record (rosbag/record)
140
+ ROS_MASTER_URI=http://localhost:11311
141
+ process[pub_text-7]: started with pid [2187866]
142
+ process[print_text-8]: started with pid [2187867]
143
+ process[rosbag_record-9]: started with pid [2187891]
144
+ started bagging!
145
+ For topic gripper_width: timestamp difference is 104886551 for nearest: 1736286123245530624 - target: 1736286123140644073 at idx 120
146
+ For topic gripper_width: timestamp difference is 107547068 for nearest: 1736286124545512223 - target: 1736286124437965155 at idx 141
147
+ For topic gripper_width: timestamp difference is 106895428 for nearest: 1736286134478886824 - target: 1736286134371991396 at idx 249
148
+ [INFO] [1736286149.359496]: Storing episode...
149
+ [rosbag_record-9] killing on exit
150
+ [print_text-8] killing on exit
151
+ [pub_text-7] killing on exit
152
+ [INFO] [1736286150.313573]: Stored episode 3.
153
+ [INFO] [1736286150.316314]: Saving video...
154
+ [WARN] [1736286150.693634]: Plan exhausted
155
+ [WARN] [1736286150.734602]: Plan exhausted
156
+ [WARN] [1736286150.775726]: Plan exhausted
157
+ [WARN] [1736286150.813630]: Plan exhausted
158
+ [WARN] [1736286150.853925]: Plan exhausted
159
+ [INFO] [1736286150.803364]: Video saved!
160
+ Starting episode 3
161
+ [INFO] [1736286150.863345]: resetting environment
162
+ [INFO] [1736286150.886508]: cleared current plan
163
+ [INFO] [1736286150.888074]: moving to home
164
+ [INFO] [1736286153.892676]: reached home
165
+ [INFO] [1736286153.897894]: reset action history
166
+ [INFO] [1736286156.700223]: environment reset
167
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
168
+ proceeding to start episode!
169
+ Comuting lower confidence bound
170
+ Comuting upper confidence bound
171
+ Comuting lower confidence bound
172
+ Comuting upper confidence bound
173
+ Comuting lower confidence bound
174
+ Comuting upper confidence bound
175
+ Comuting lower confidence bound
176
+ Comuting upper confidence bound
177
+ [INFO] [1736286190.135751]: resetting environment
178
+ [INFO] [1736286190.175810]: cleared current plan
179
+ [INFO] [1736286190.178025]: moving to home
180
+ [INFO] [1736286191.181459]: reached home
181
+ [INFO] [1736286191.182217]: reset action history
182
+ [INFO] [1736286193.975663]: environment reset
183
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/episode_rosbags/episode_3_2025-01-07-16-43-13.bag
184
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2187297.log
185
+ started roslaunch server http://158.130.50.37:36097/
186
+ SUMMARY
187
+ ========
188
+ PARAMETERS
189
+ * /rosdistro: noetic
190
+ * /rosversion: 1.16.0
191
+ NODES
192
+ /
193
+ print_text (rostopic/rostopic)
194
+ pub_text (rostopic/rostopic)
195
+ rosbag_record (rosbag/record)
196
+ ROS_MASTER_URI=http://localhost:11311
197
+ process[pub_text-10]: started with pid [2188052]
198
+ process[print_text-11]: started with pid [2188053]
199
+ process[rosbag_record-12]: started with pid [2188054]
200
+ started bagging!
201
+ For topic gripper_width: timestamp difference is -101218556 for nearest: 1736286195678940679 - target: 1736286195780159235 at idx 27
202
+ For topic gripper_width: timestamp difference is 113827914 for nearest: 1736286220345530003 - target: 1736286220231702089 at idx 249
203
+ For topic gripper_width: timestamp difference is 115452099 for nearest: 1736286221145529795 - target: 1736286221030077696 at idx 249
204
+ [WARN] [1736286230.573903]: Plan exhausted
205
+ [WARN] [1736286230.613621]: Plan exhausted
206
+ [WARN] [1736286230.653697]: Plan exhausted
207
+ [INFO] [1736286229.223199]: Storing episode...
208
+ [rosbag_record-12] killing on exit
209
+ [print_text-11] killing on exit
210
+ [pub_text-10] killing on exit
211
+ [INFO] [1736286229.973995]: Stored episode 4.
212
+ [INFO] [1736286229.978026]: Saving video...
213
+ [INFO] [1736286230.563666]: Video saved!
214
+ Starting episode 4
215
+ [INFO] [1736286230.629431]: resetting environment
216
+ [INFO] [1736286230.663484]: cleared current plan
217
+ [INFO] [1736286230.663757]: moving to home
218
+ [INFO] [1736286234.175244]: reached home
219
+ [INFO] [1736286234.180196]: reset action history
220
+ [INFO] [1736286236.976359]: environment reset
221
+ Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
222
+ proceeding to start episode!Comuting lower confidence bound
223
+ Comuting upper confidence bound
224
+ Comuting lower confidence bound
225
+ Comuting upper confidence bound
226
+ Comuting lower confidence bound
227
+ Comuting upper confidence bound
228
+ Comuting lower confidence bound
229
+ Comuting upper confidence bound
230
+ [INFO] [1736286252.498630]: resetting environment
231
+ [INFO] [1736286252.547677]: cleared current plan
232
+ [INFO] [1736286252.552248]: moving to home
233
+ [INFO] [1736286253.562289]: reached home
234
+ [INFO] [1736286253.572218]: reset action history
235
+ [INFO] [1736286256.355802]: environment reset
236
+ bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/73h7fwcu/episode_rosbags/episode_4_2025-01-07-16-44-16.bag
237
+ ... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2187297.log
238
+ started roslaunch server http://158.130.50.37:41171/
239
+ SUMMARY
240
+ ========
241
+ PARAMETERS
242
+ * /rosdistro: noetic
243
+ * /rosversion: 1.16.0
244
+ NODES
245
+ /
246
+ print_text (rostopic/rostopic)
247
+ pub_text (rostopic/rostopic)
248
+ rosbag_record (rosbag/record)
249
+ ROS_MASTER_URI=http://localhost:11311
250
+ process[pub_text-13]: started with pid [2188194]
251
+ process[print_text-14]: started with pid [2188195]
252
+ process[rosbag_record-15]: started with pid [2188196]
253
+ started bagging!
254
+ For topic gripper_width: timestamp difference is -120287631 for nearest: 1736286269878874089 - target: 1736286269999161720 at idx 191
255
+ For topic gripper_width: timestamp difference is -105615531 for nearest: 1736286282678821410 - target: 1736286282784436941 at idx 249
256
+ [INFO] [1736286291.492491]: Storing episode...
257
+ [print_text-14] killing on exit
258
+ [rosbag_record-15] killing on exit
259
+ [pub_text-13] killing on exit
260
+ [INFO] [1736286292.235655]: Stored episode 5.
261
+ [INFO] [1736286292.239938]: Saving video...
262
+ [WARN] [1736286292.837599]: Plan exhausted
263
+ [WARN] [1736286292.860514]: Plan exhausted
264
+ [WARN] [1736286292.893902]: Plan exhausted
265
+ [INFO] [1736286292.819429]: Video saved!
266
+ [INFO] [1736286292.886611]: resetting environment
267
+ [INFO] [1736286292.913476]: cleared current plan
268
+ [INFO] [1736286292.914095]: moving to home
269
+ [INFO] [1736286295.929808]: reached home
270
+ [INFO] [1736286295.933763]: reset action history
271
+ [INFO] [1736286298.750589]: environment reset
272
+ Evaluation finished. To wrap up, rate prev episode, press 0 for failure and 1 for success
273
+ proceeding to start episode!
274
+ Comuting lower confidence bound
275
+ Comuting upper confidence bound
276
+ Comuting lower confidence bound
277
+ Comuting upper confidence bound
278
+ Comuting lower confidence bound
279
+ Comuting upper confidence bound
280
+ Comuting lower confidence bound
281
+ Comuting upper confidence bound
282
+ Comuting lower confidence bound
283
+ Comuting upper confidence bound
284
+ Comuting lower confidence bound
285
+ Comuting upper confidence bound
286
+ Comuting lower confidence bound
287
+ Comuting upper confidence bound
288
+ Comuting lower confidence bound
289
+ Comuting upper confidence bound
290
+ proceeding to start episode!
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/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
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/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-07T21:39:50.553160",
5
+ "startedAt": "2025-01-07T21:39:50.204123",
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": "29237eae507484d4aff7683bad40a564046255b9"
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": 3560.988625,
30
+ "min": 800.0,
31
+ "max": 4700.0
32
+ },
33
+ "cpu_freq_per_core": [
34
+ {
35
+ "current": 3000.0,
36
+ "min": 800.0,
37
+ "max": 4700.0
38
+ },
39
+ {
40
+ "current": 3000.0,
41
+ "min": 800.0,
42
+ "max": 4700.0
43
+ },
44
+ {
45
+ "current": 3000.0,
46
+ "min": 800.0,
47
+ "max": 4700.0
48
+ },
49
+ {
50
+ "current": 4496.073,
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": 4495.306,
61
+ "min": 800.0,
62
+ "max": 4700.0
63
+ },
64
+ {
65
+ "current": 3000.0,
66
+ "min": 800.0,
67
+ "max": 4700.0
68
+ },
69
+ {
70
+ "current": 3000.0,
71
+ "min": 800.0,
72
+ "max": 4700.0
73
+ }
74
+ ],
75
+ "disk": {
76
+ "/": {
77
+ "total": 915.3232879638672,
78
+ "used": 687.2928199768066
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
+ }
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"eval/0_eval": {"_type": "video-file", "sha256": "67a649dac0864a0b9776f767bc7576b313825aedd1fb1e5bd8232dcfb9a9c3be", "size": 1465999, "path": "media/videos/eval/0_eval_0_67a649dac0864a0b9776.mp4"}, "global_step": 665, "_timestamp": 1736286308.5551977, "_runtime": 318.3417308330536, "_step": 11, "eval/1_eval": {"_type": "video-file", "sha256": "cffb0391d794a1519dbaf82e22d4d4b11d19cd4cb117756b1dd14997b708132a", "size": 1495191, "path": "media/videos/eval/1_eval_1_cffb0391d794a1519dba.mp4"}, "eval/num_success": 0.0, "episode": 40.0, "eval/success_rate": 0.0, "eval/success_rate_lb_0.01": 0.0, "eval/success_rate_ub_0.01": 0.5363743901252747, "eval/success_rate_lb_0.025": 0.0, "eval/success_rate_ub_0.025": 0.4841596484184265, "eval/success_rate_lb_0.05": 0.0, "eval/success_rate_ub_0.05": 0.21277225017547607, "eval/success_rate_lb_0.1": 0.0, "eval/success_rate_ub_0.1": 0.167350634932518, "eval/2_eval": {"_type": "video-file", "sha256": "43ad98f5bb65a23f42a77ee3e7485ca244a84f2eca11d653428a694f8dbc7587", "size": 1523457, "path": "media/videos/eval/2_eval_2_43ad98f5bb65a23f42a7.mp4"}, "eval/3_eval": {"_type": "video-file", "sha256": "5b62306ad8696d8b8c905da27e65c2d240f6e4906b7c2a1fcbe93a1da19fac61", "size": 1485499, "path": "media/videos/eval/3_eval_3_5b62306ad8696d8b8c90.mp4"}, "eval/4_eval": {"_type": "video-file", "sha256": "66fc966ceba4d62103d365426065720163bd13fbbc1c8e542447c5b4dabe78dd", "size": 1502654, "path": "media/videos/eval/4_eval_4_66fc966ceba4d62103d3.mp4"}, "eval/success_rate_ci": {"_type": "table-file", "sha256": "e6508f0181aa84573747f0d380a2c6725005451ce9eb7fcdf77e1f39c90f7528", "size": 332, "artifact_path": "wandb-client-artifact://z318y79ay5g891wxj3poov74sexpy8py9qrxifamcm230wdj81f7ikpg9zb1jh3ua7smf7hjfp06s2ntrl3caf0zv2brd6s5xrk78dofq922b89zq9tr28r5hn4wg2br/eval/success_rate_ci.table.json", "_latest_artifact_path": "wandb-client-artifact://wt4a4wpclyk32webglfx084lu2t19gmfmisd9365j1qnfntc7yj30k68vk0naiydnhr5zd71we9v60exxb8fz62mxl4677l62m9lb2bx2qv3tyly1qquw0m10kxpocid:latest/eval/success_rate_ci.table.json", "path": "media/table/eval/success_rate_ci_5_e6508f0181aa84573747.table.json", "ncols": 9, "nrows": 1}, "total_num_successes": 25, "total_num_episodes": 40, "total_success_rate": 0.625, "total_success_rate_lb_0.01": 0.4539579749199444, "total_success_rate_ub_0.01": 0.7813661097917493, "total_success_rate_lb_0.025": 0.4635710865332028, "total_success_rate_ub_0.025": 0.7571975811801546, "total_success_rate_lb_0.05": 0.4847957044870268, "total_success_rate_ub_0.05": 0.7443524449575001, "total_success_rate_lb_0.1": 0.5340144000879443, "total_success_rate_ub_0.1": 0.7229229919166562, "eval/total_success_rate_ci": {"_type": "table-file", "sha256": "8532fe6ae6edcefe2d2bae63aaa26430eaaab95085b3bd2e29bf99158b42bd2a", "size": 507, "artifact_path": "wandb-client-artifact://8nh4ifnmbje8lxh1xgsebazmgkhnvqt731wjjcete99tf842jgqzrdjym60lh1vf9gvglkdfxxr55vf5zv595w5q0wnot2g7n75gxfywe5yijjm9mzpdjbv2zfa2kzw6/eval/total_success_rate_ci.table.json", "_latest_artifact_path": "wandb-client-artifact://uy8430xdvinom7jsvirq9nz0t7iif6dqjnfwcf62bcbz5lfxan0eatvmnwo17l5snzm68rsiufeu1xpw34g828degozpctysk133s2zws2rj9fu3wwif9eo1khpqagn5:latest/eval/total_success_rate_ci.table.json", "path": "media/table/eval/total_success_rate_ci_6_8532fe6ae6edcefe2d2b.table.json", "ncols": 11, "nrows": 1}, "_wandb": {"runtime": 322}, "eval/total_success_rate": 0.625, "eval/total_success_rate_lb_0.01": 0.4539579749107361, "eval/total_success_rate_ub_0.01": 0.7813661098480225, "eval/total_success_rate_lb_0.025": 0.46357110142707825, "eval/total_success_rate_ub_0.025": 0.7571975588798523, "eval/total_success_rate_lb_0.05": 0.4847957193851471, "eval/total_success_rate_ub_0.05": 0.7443524599075317, "eval/total_success_rate_lb_0.1": 0.5340144038200378, "eval/total_success_rate_ub_0.1": 0.7229229807853699}
73h7fwcu/wandb/run-20250107_163950-73h7fwcu/run-73h7fwcu.wandb ADDED
Binary file (81.8 kB). View file
 
bknjqqyi/.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: '1013_1'
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
bknjqqyi/.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_policy
129
+ chdir: true
130
+ override_dirname: agent=diffusion,suite/frankagym_task@_global_=insertion,suite=frankagym
131
+ id: ???
132
+ num: ???
133
+ config_name: config_eval
134
+ env_set: {}
135
+ env_copy: []
136
+ config:
137
+ override_dirname:
138
+ kv_sep: '='
139
+ item_sep: ','
140
+ exclude_keys: []
141
+ runtime:
142
+ version: 1.3.2
143
+ version_base: '1.1'
144
+ cwd: /home/leonmkim/fish_leon/FISH
145
+ config_sources:
146
+ - path: hydra.conf
147
+ schema: pkg
148
+ provider: hydra
149
+ - path: /home/leonmkim/fish_leon/FISH/cfgs
150
+ schema: file
151
+ provider: main
152
+ - path: ''
153
+ schema: structured
154
+ provider: schema
155
+ output_dir: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/bknjqqyi
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
bknjqqyi/.hydra/overrides.yaml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ - agent=diffusion
2
+ - suite=frankagym
3
+ - suite/frankagym_task@_global_=insertion
bknjqqyi/eval_policy.log ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [2025-01-07 18:17:35,628][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_policy.py:428: UserWarning:
2
+ The version_base parameter is not specified.
3
+ Please specify a compatability version level, or None.
4
+ Will assume defaults for version 1.1
5
+ @hydra.main(config_path='cfgs', config_name='config_eval')
6
+
7
+ [2025-01-07 18:17:35,632][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_policy.py:365: UserWarning:
8
+ The version_base parameter is not specified.
9
+ Please specify a compatability version level, or None.
10
+ Will assume defaults for version 1.1
11
+ hydra.initialize(
12
+
13
+ [2025-01-07 18:17:39,414][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_policy.py:414: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
14
+ payload = torch.load(f)
15
+
config.yaml ADDED
@@ -0,0 +1,546 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ root_dir: /mnt/kostas-graid/datasets/extrinsic_contact_data
2
+ replay_buffer_size: 150000
3
+ replay_buffer_num_workers: 2
4
+ nstep: 3
5
+ batch_size: 128
6
+ seed: 1
7
+ dataset_shuffle_seed: 0
8
+ device: cuda
9
+ save_video: true
10
+ save_train_video: true
11
+ use_tb: true
12
+ use_wandb: true
13
+ wandb_run_id: '1013_1'
14
+ wandb_notes: 1013_1_restarted_11
15
+ eval: false
16
+ true_action_history: false
17
+ train_pad_after: 4
18
+ process_contact_features: ${eval}
19
+ obs_type: pixels
20
+ use_color: true
21
+ use_depth: true
22
+ use_masks: true
23
+ mask_list:
24
+ - EE_obj_mask
25
+ mask_representation: channels
26
+ crop_hw:
27
+ - 144
28
+ - 144
29
+ crop_down_offset: 48
30
+ color_crop_type: null
31
+ depth_crop_type: null
32
+ segmask_crop_type: null
33
+ add_crop_binary_mask: false
34
+ add_coord_conv_map: false
35
+ use_context_color: false
36
+ use_context_depth: false
37
+ use_context_segmask: false
38
+ context_color_crop_type: null
39
+ context_depth_crop_type: null
40
+ context_segmask_crop_type: null
41
+ context_add_crop_binary_mask: false
42
+ context_add_coord_conv_map: false
43
+ use_contact_map: true
44
+ use_sdf_maps: true
45
+ use_normals_maps: true
46
+ which_objects: both
47
+ max_contact_prob: 0.1
48
+ max_depth: 2.0
49
+ grasped_dtc_max_value: 0.2
50
+ env_dtc_max_value: 0.4
51
+ grasped_normals_mask_max_dtc_value: 0.2
52
+ env_normals_mask_max_dtc_value: 0.4
53
+ clamp_dtc: true
54
+ dtc_adaptive_normalization: false
55
+ mask_normals_within_sdf: true
56
+ adaptive_normals_mask: true
57
+ learnable_contact_preprocess_params: true
58
+ contact_model_name: local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9
59
+ contact_estimation_model_ckpt_path: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
60
+ encoder_type: small
61
+ debug_timestamps: false
62
+ open_loop: false
63
+ action_trajectories: true
64
+ stop_after_action: false
65
+ interpolation_frequency: 25
66
+ policy_frequency: 5
67
+ wait_for_new_camera_frames: true
68
+ baseline: false
69
+ train_demo_idxs_list_or_num: -1
70
+ log_train_every_steps: 25
71
+ name_of_expert_demo: 120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
72
+ expert_dataset_dirpath: ${root_dir}/FISH/expert_demos/${suite.name}/${task_name}/${name_of_expert_demo}
73
+ store_dataset_in_memory: false
74
+ expert_dataset: ${expert_dataset_dirpath}/demos.zarr
75
+ action_key: ${oc.if_else:${action_trajectories}, 'action_trajectory_${interpolation_frequency}hz',
76
+ 'action'}
77
+ semantic_demo_grouping_name: semantic_demo_grouping.yaml
78
+ semantic_demo_grouping: ${expert_dataset_dirpath}/${semantic_demo_grouping_name}
79
+ include_groups_list: all
80
+ expert_dataset_config: ${expert_dataset_dirpath}/demo_config.yaml
81
+ name_of_valid_demo: 120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
82
+ valid_dataset_dir: ${root_dir}/FISH/expert_demos/${suite.name}/${task_name}/${name_of_valid_demo}/demos.zarr
83
+ valid_demo_idxs_list_or_num: null
84
+ val_num_groups: 5
85
+ load_bc: ${agent.load_checkpoint}
86
+ checkpoint_epoch_list:
87
+ - 99
88
+ - 199
89
+ - 299
90
+ - 399
91
+ - 499
92
+ - 599
93
+ - 699
94
+ - 799
95
+ - 899
96
+ - 999
97
+ - 1249
98
+ - 1499
99
+ - 1749
100
+ - 1999
101
+ - 2999
102
+ - 3999
103
+ - 4999
104
+ - 5999
105
+ - 6999
106
+ - 7999
107
+ - 8999
108
+ - 9999
109
+ snapshot_root_dir: /mnt/grasp_high_usage/leonmkim/contact_estimation/FISH
110
+ save_snapshot: true
111
+ save_last_snapshot: true
112
+ save_snapshot_when_done: true
113
+ top_k_checkpoints: 5
114
+ save_snapshot_link_to_weights_dir: deprecated
115
+ bc_regularize: false
116
+ bc_weight_type: qfilter
117
+ experiment_dir: ./exp_local/${suite.name}_${obs_type}/${task_name}/${wandb_run_id}
118
+ agent:
119
+ _target_: agent.diffusion_policy.DiffusionPolicyAgent
120
+ name: diffusion_policy
121
+ load_checkpoint: ${eval}
122
+ device: ${device}
123
+ n_obs_steps: ${.config.policy_cfg.n_obs_steps}
124
+ suite_name: ${suite.name}
125
+ obs_type: ${obs_type}
126
+ enable_arm: ${eval}
127
+ enable_camera: ${eval}
128
+ use_tb: ${use_tb}
129
+ desired_image_shape:
130
+ - 13
131
+ - 180
132
+ - 240
133
+ orig_cam_shape:
134
+ - 3
135
+ - 240
136
+ - 320
137
+ config:
138
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
139
+ compile: false
140
+ device: ${device}
141
+ cam_resize_shape: ${agent.desired_image_shape}
142
+ orig_cam_shape: ${agent.orig_cam_shape}
143
+ policy_frequency: ${policy_frequency}
144
+ interpolation_frequency: ${interpolation_frequency}
145
+ policy_cfg:
146
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
147
+ n_obs_steps: 1
148
+ horizon: 36
149
+ n_action_steps: ${agent.config.policy_cfg.horizon}
150
+ output_shapes:
151
+ action:
152
+ - 7
153
+ input_normalization_modes:
154
+ observation.image: mean_std
155
+ observation.state: min_max
156
+ observation.action_history: min_max
157
+ output_normalization_modes:
158
+ action: min_max
159
+ vision_backbone: resnet18
160
+ pretrained_backbone_weights: null
161
+ transforms:
162
+ - _target_: torchaug.transforms.RandomAffine
163
+ degrees:
164
+ - -5
165
+ - 5
166
+ translate:
167
+ - 0.05
168
+ - 0.05
169
+ batch_transform: true
170
+ num_chunks: -1
171
+ batch_inplace: true
172
+ - _target_: torchaug.transforms.RandomColorJitter
173
+ brightness: 0.3
174
+ contrast: 0.4
175
+ saturation: 0.5
176
+ hue: 0.08
177
+ batch_transform: true
178
+ num_chunks: -1
179
+ batch_inplace: true
180
+ use_group_norm: true
181
+ spatial_softmax_num_keypoints: 32
182
+ action_history_encoder_config:
183
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
184
+ in_channels: 7
185
+ out_channels: 32
186
+ history_length: 6
187
+ kernel_size: ${agent.config.policy_cfg.kernel_size}
188
+ downsample_kernel_size: 3
189
+ downsample_stride: 2
190
+ downsample_padding: 1
191
+ down_dims:
192
+ - 256
193
+ - 512
194
+ - 1024
195
+ kernel_size: 5
196
+ n_groups: 8
197
+ diffusion_step_embed_dim: 128
198
+ use_film_scale_modulation: true
199
+ noise_scheduler_type: DDIM
200
+ beta_schedule: squaredcos_cap_v2
201
+ beta_start: 0.0001
202
+ beta_end: 0.02
203
+ prediction_type: epsilon
204
+ clip_sample: true
205
+ clip_sample_range: 1.0
206
+ num_train_timesteps: 50
207
+ num_inference_steps: 10
208
+ do_mask_loss_for_padding: false
209
+ input_shapes:
210
+ observation.image:
211
+ - 13
212
+ - 180
213
+ - 240
214
+ context_observation.image:
215
+ - 13
216
+ - 180
217
+ - 240
218
+ observation.state:
219
+ - 8
220
+ observation.action_history:
221
+ - 7
222
+ train_cfg:
223
+ _target_: utils.TrainConfig
224
+ lr: 0.0001
225
+ lr_scheduler: cosine
226
+ lr_warmup_steps: 500
227
+ adam_betas:
228
+ - 0.95
229
+ - 0.999
230
+ adam_eps: 1.0e-08
231
+ adam_weight_decay: 1.0e-06
232
+ grad_clip_norm: 10
233
+ offline_steps: ${num_train_frames_diffusion}
234
+ use_amp: true
235
+ observation_cfg:
236
+ _target_: agent.encoder.VisualFeatureSet
237
+ use_depth: ${use_depth}
238
+ use_color: ${use_color}
239
+ mask_input_dict:
240
+ _target_: agent.encoder.MaskInputDict
241
+ enable: ${use_masks}
242
+ representation: ${mask_representation}
243
+ mask_list: ${mask_list}
244
+ crop_input_config:
245
+ _target_: agent.encoder.CropInputConfig
246
+ color_crop_type: ${color_crop_type}
247
+ depth_crop_type: ${depth_crop_type}
248
+ segmask_crop_type: ${segmask_crop_type}
249
+ crop_hw: ${crop_hw}
250
+ crop_down_offset: ${crop_down_offset}
251
+ add_crop_binary_mask: ${add_crop_binary_mask}
252
+ add_coord_conv_map: ${add_coord_conv_map}
253
+ context_input_config:
254
+ _target_: agent.encoder.ContextInputConfig
255
+ use_color: ${use_context_color}
256
+ use_depth: ${use_context_depth}
257
+ mask_input_dict:
258
+ _target_: agent.encoder.MaskInputDict
259
+ enable: ${use_context_segmask}
260
+ representation: ${mask_representation}
261
+ mask_list: ${mask_list}
262
+ crop_input_config:
263
+ _target_: agent.encoder.CropInputConfig
264
+ color_crop_type: ${context_color_crop_type}
265
+ depth_crop_type: ${context_depth_crop_type}
266
+ segmask_crop_type: ${context_segmask_crop_type}
267
+ crop_hw: ${crop_hw}
268
+ crop_down_offset: ${crop_down_offset}
269
+ add_crop_binary_mask: ${context_add_crop_binary_mask}
270
+ add_coord_conv_map: ${context_add_coord_conv_map}
271
+ mask_soft_approx_scheduler_config:
272
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
273
+ num_steps: 40000
274
+ initial_value: 10.0
275
+ final_value: 1000.0
276
+ interpolation_scheme: cosine
277
+ use_contact_map: ${use_contact_map}
278
+ use_sdf_maps: ${use_sdf_maps}
279
+ use_normals_maps: ${use_normals_maps}
280
+ which_objects: ${which_objects}
281
+ grasped_dtc_max_value: ${grasped_dtc_max_value}
282
+ env_dtc_max_value: ${env_dtc_max_value}
283
+ grasped_normals_mask_max_dtc_value: ${grasped_normals_mask_max_dtc_value}
284
+ env_normals_mask_max_dtc_value: ${env_normals_mask_max_dtc_value}
285
+ clamp_dtc: ${clamp_dtc}
286
+ max_contact_prob: ${max_contact_prob}
287
+ mask_normals_within_sdf: ${mask_normals_within_sdf}
288
+ dtc_adaptive_normalization: ${dtc_adaptive_normalization}
289
+ adaptive_normals_mask: ${adaptive_normals_mask}
290
+ max_depth: ${max_depth}
291
+ image_shape: ${agent.desired_image_shape}
292
+ learnable_contact_preprocess_params: ${learnable_contact_preprocess_params}
293
+ learning_rate: 0.0001
294
+ weight_decay: 0.0
295
+ contact_model_name: ${contact_model_name}
296
+ zero_centered: false
297
+ suite:
298
+ suite: frankagym
299
+ name: frankagym
300
+ frame_stack: ${agent.n_obs_steps}
301
+ action_repeat: 1
302
+ discount: 0.99
303
+ hidden_dim: 1024
304
+ num_train_frames: 1000000
305
+ num_seed_frames: 0
306
+ num_train_epochs: 15000
307
+ validate_every_epochs: 250
308
+ validate_diffusion_on_action_loss_every_epochs: 250
309
+ train_eval_diffusion_on_action_loss_every_epochs: 250
310
+ check_topk_every_epochs: 250
311
+ save_snapshot_every_epochs: 1500
312
+ eval_every_frames: 2000
313
+ num_eval_episodes: 5
314
+ save_snapshot: true
315
+ wait_for_user_to_start_episode: true
316
+ task_make_fn:
317
+ _target_: suite.frankagym.make
318
+ name: ${task_name}
319
+ height: 240
320
+ width: 320
321
+ frame_stack: ${suite.frame_stack}
322
+ action_repeat: ${suite.action_repeat}
323
+ seed: ${seed}
324
+ enable_arm: ${agent.enable_arm}
325
+ enable_gripper: ${enable_gripper}
326
+ start_with_gripper_open: ${start_with_gripper_open}
327
+ enable_camera: ${agent.enable_camera}
328
+ path_to_depth_extrinsics: ${path_to_depth_extrinsics}
329
+ contact_estimation_model_ckpt_path: ${contact_estimation_model_ckpt_path}
330
+ x_limit: ${x_limit}
331
+ y_limit: ${y_limit}
332
+ z_limit: ${z_limit}
333
+ device: ${device}
334
+ interpolation_frequency: ${interpolation_frequency}
335
+ policy_frequency: ${policy_frequency}
336
+ debug_timestamps: ${debug_timestamps}
337
+ stop_after_action: ${stop_after_action}
338
+ open_loop: ${open_loop}
339
+ wait_for_new_camera_frames: ${wait_for_new_camera_frames}
340
+ action_key: ${action_key}
341
+ action_trajectory_horizon: ${agent.config.policy_cfg.horizon}
342
+ action_trajectories: ${action_trajectories}
343
+ path_to_zarr_dataset: ${expert_dataset}
344
+ agent_policy_cfg:
345
+ _target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
346
+ compile: false
347
+ device: ${device}
348
+ cam_resize_shape: ${agent.desired_image_shape}
349
+ orig_cam_shape: ${agent.orig_cam_shape}
350
+ policy_frequency: ${policy_frequency}
351
+ interpolation_frequency: ${interpolation_frequency}
352
+ policy_cfg:
353
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
354
+ n_obs_steps: 1
355
+ horizon: 36
356
+ n_action_steps: ${agent.config.policy_cfg.horizon}
357
+ output_shapes:
358
+ action:
359
+ - 7
360
+ input_normalization_modes:
361
+ observation.image: mean_std
362
+ observation.state: min_max
363
+ observation.action_history: min_max
364
+ output_normalization_modes:
365
+ action: min_max
366
+ vision_backbone: resnet18
367
+ pretrained_backbone_weights: null
368
+ transforms:
369
+ - _target_: torchaug.transforms.RandomAffine
370
+ degrees:
371
+ - -5
372
+ - 5
373
+ translate:
374
+ - 0.05
375
+ - 0.05
376
+ batch_transform: true
377
+ num_chunks: -1
378
+ batch_inplace: true
379
+ - _target_: torchaug.transforms.RandomColorJitter
380
+ brightness: 0.3
381
+ contrast: 0.4
382
+ saturation: 0.5
383
+ hue: 0.08
384
+ batch_transform: true
385
+ num_chunks: -1
386
+ batch_inplace: true
387
+ use_group_norm: true
388
+ spatial_softmax_num_keypoints: 32
389
+ action_history_encoder_config:
390
+ _target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
391
+ in_channels: 7
392
+ out_channels: 32
393
+ history_length: 6
394
+ kernel_size: ${agent.config.policy_cfg.kernel_size}
395
+ downsample_kernel_size: 3
396
+ downsample_stride: 2
397
+ downsample_padding: 1
398
+ down_dims:
399
+ - 256
400
+ - 512
401
+ - 1024
402
+ kernel_size: 5
403
+ n_groups: 8
404
+ diffusion_step_embed_dim: 128
405
+ use_film_scale_modulation: true
406
+ noise_scheduler_type: DDIM
407
+ beta_schedule: squaredcos_cap_v2
408
+ beta_start: 0.0001
409
+ beta_end: 0.02
410
+ prediction_type: epsilon
411
+ clip_sample: true
412
+ clip_sample_range: 1.0
413
+ num_train_timesteps: 50
414
+ num_inference_steps: 10
415
+ do_mask_loss_for_padding: false
416
+ input_shapes:
417
+ observation.image:
418
+ - 13
419
+ - 180
420
+ - 240
421
+ context_observation.image:
422
+ - 13
423
+ - 180
424
+ - 240
425
+ observation.state:
426
+ - 8
427
+ observation.action_history:
428
+ - 7
429
+ train_cfg:
430
+ _target_: utils.TrainConfig
431
+ lr: 0.0001
432
+ lr_scheduler: cosine
433
+ lr_warmup_steps: 500
434
+ adam_betas:
435
+ - 0.95
436
+ - 0.999
437
+ adam_eps: 1.0e-08
438
+ adam_weight_decay: 1.0e-06
439
+ grad_clip_norm: 10
440
+ offline_steps: ${num_train_frames_diffusion}
441
+ use_amp: true
442
+ observation_cfg:
443
+ _target_: agent.encoder.VisualFeatureSet
444
+ use_depth: ${use_depth}
445
+ use_color: ${use_color}
446
+ mask_input_dict:
447
+ _target_: agent.encoder.MaskInputDict
448
+ enable: ${use_masks}
449
+ representation: ${mask_representation}
450
+ mask_list: ${mask_list}
451
+ crop_input_config:
452
+ _target_: agent.encoder.CropInputConfig
453
+ color_crop_type: ${color_crop_type}
454
+ depth_crop_type: ${depth_crop_type}
455
+ segmask_crop_type: ${segmask_crop_type}
456
+ crop_hw: ${crop_hw}
457
+ crop_down_offset: ${crop_down_offset}
458
+ add_crop_binary_mask: ${add_crop_binary_mask}
459
+ add_coord_conv_map: ${add_coord_conv_map}
460
+ context_input_config:
461
+ _target_: agent.encoder.ContextInputConfig
462
+ use_color: ${use_context_color}
463
+ use_depth: ${use_context_depth}
464
+ mask_input_dict:
465
+ _target_: agent.encoder.MaskInputDict
466
+ enable: ${use_context_segmask}
467
+ representation: ${mask_representation}
468
+ mask_list: ${mask_list}
469
+ crop_input_config:
470
+ _target_: agent.encoder.CropInputConfig
471
+ color_crop_type: ${context_color_crop_type}
472
+ depth_crop_type: ${context_depth_crop_type}
473
+ segmask_crop_type: ${context_segmask_crop_type}
474
+ crop_hw: ${crop_hw}
475
+ crop_down_offset: ${crop_down_offset}
476
+ add_crop_binary_mask: ${context_add_crop_binary_mask}
477
+ add_coord_conv_map: ${context_add_coord_conv_map}
478
+ mask_soft_approx_scheduler_config:
479
+ _target_: agent.encoder.MaskSoftApproxSchedulerConfig
480
+ num_steps: 40000
481
+ initial_value: 10.0
482
+ final_value: 1000.0
483
+ interpolation_scheme: cosine
484
+ use_contact_map: ${use_contact_map}
485
+ use_sdf_maps: ${use_sdf_maps}
486
+ use_normals_maps: ${use_normals_maps}
487
+ which_objects: ${which_objects}
488
+ grasped_dtc_max_value: ${grasped_dtc_max_value}
489
+ env_dtc_max_value: ${env_dtc_max_value}
490
+ grasped_normals_mask_max_dtc_value: ${grasped_normals_mask_max_dtc_value}
491
+ env_normals_mask_max_dtc_value: ${env_normals_mask_max_dtc_value}
492
+ clamp_dtc: ${clamp_dtc}
493
+ max_contact_prob: ${max_contact_prob}
494
+ mask_normals_within_sdf: ${mask_normals_within_sdf}
495
+ dtc_adaptive_normalization: ${dtc_adaptive_normalization}
496
+ adaptive_normals_mask: ${adaptive_normals_mask}
497
+ max_depth: ${max_depth}
498
+ image_shape: ${agent.desired_image_shape}
499
+ learnable_contact_preprocess_params: ${learnable_contact_preprocess_params}
500
+ learning_rate: 0.0001
501
+ weight_decay: 0.0
502
+ contact_model_name: ${contact_model_name}
503
+ zero_centered: false
504
+ true_action_history: ${true_action_history}
505
+ num_train_frames_bc: 50000
506
+ num_train_frames_drq: 1100000
507
+ stddev_schedule_drq: linear(1.0,0.1,100000)
508
+ task_name: FrankaInsertion-v1
509
+ num_train_frames_vinn: 25000
510
+ num_train_frames_diffusion: 1000000
511
+ num_train_epochs_bc: 5000
512
+ num_train_epochs_diffusion: 15000
513
+ validate_every_epochs_bc: 5
514
+ validate_every_epochs_diffusion: 250
515
+ validate_diffusion_on_action_loss_every_epochs: 250
516
+ train_eval_diffusion_on_action_loss_every_epochs: 250
517
+ check_topk_every_epochs: 5
518
+ check_topk_every_epochs_diffusion: 250
519
+ save_snapshot_every_epochs_diffusion: 1500
520
+ x_limit:
521
+ - 0.2
522
+ - 0.7
523
+ y_limit:
524
+ - -0.4
525
+ - 0.4
526
+ z_limit:
527
+ - -0.05
528
+ - 0.55
529
+ home_displacement:
530
+ - 0.55
531
+ - 0.0
532
+ - 0.55
533
+ - 180.0
534
+ - 0.0
535
+ - 0.0
536
+ enable_gripper: true
537
+ start_with_gripper_open: true
538
+ offset_mask:
539
+ - 1
540
+ - 1
541
+ - 1
542
+ - 1
543
+ - 1
544
+ - 1
545
+ path_to_depth_extrinsics: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
546
+ feature_type: 180x240_1_RGB_D_2.0_msk_channels_EE_obj_mask_cntct_0.1_DTC_clmpd_lrnbl_nrmls_DTCmask_adpt_lrnbl_both_lr_0.0001_wd_0.0_local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9_acthst_hst6_out32_dwnkrnl3_dwnstrd2_dwnpd1
no798ka2/.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: '1013_1'
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
no798ka2/.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/1013_1/no798ka2
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
no798ka2/.hydra/overrides.yaml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ - agent=diffusion
2
+ - suite=frankagym
3
+ - suite/frankagym_task@_global_=insertion
no798ka2/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
no798ka2/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
no798ka2/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
no798ka2/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
no798ka2/eval_robot.log ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [2025-01-07 18:23:04,315][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_robot.py:596: 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
+ [2025-01-07 18:23:04,318][py.warnings][WARNING] - /home/leonmkim/fish_leon/FISH/eval_robot.py:532: 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
+
no798ka2/eval_video/0_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3c69d41167ae5a9086a17b4a2606e90c96c74aa1a8a6b32e56a5d151af825b7
3
+ size 1417167
no798ka2/eval_video/1_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ddb2bcf1bbe47f8bb323ec9fe2265e13993d3dc3a5b539a328667e494dcd1176
3
+ size 1424426
no798ka2/eval_video/2_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:05d28ce3514e2b70c559deb00bf52ac7d13db1da0372a10ee394190011dbb3ee
3
+ size 1430708
no798ka2/eval_video/3_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3a5d4eef35ecdfe1339908dc4227c2cd69015e75d84653341550b8667f1b6adf
3
+ size 1435941
no798ka2/eval_video/4_eval.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e8bdad0cca02a9e0014215ae4de330566b89620ab36208ea2937d17365eec38f
3
+ size 1405906
no798ka2/tb/events.out.tfevents.1736292190.leonmkim-ROG-Strix-G15CS-G15CS.2211530.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:334324d840f3b0ae5b7c5632bdc769b1287e5fc92af5e5a5a74c6dfedbcd2347
3
+ size 6539
no798ka2/wandb/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
no798ka2/wandb/debug.log ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [wandb_setup.py:_flush():76] Current SDK version is 0.17.5
2
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [wandb_setup.py:_flush():76] Configure stats pid to 2211530
3
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/.config/wandb/settings
4
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/no798ka2/wandb/settings
5
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [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
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [wandb_setup.py:_flush():76] Applying login settings: {}
9
+ 2025-01-07 18:23:10,066 INFO MainThread:2211530 [wandb_init.py:_log_setup():529] Logging user logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/no798ka2/wandb/run-20250107_182310-no798ka2/logs/debug.log
10
+ 2025-01-07 18:23:10,067 INFO MainThread:2211530 [wandb_init.py:_log_setup():530] Logging internal logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/no798ka2/wandb/run-20250107_182310-no798ka2/logs/debug-internal.log
11
+ 2025-01-07 18:23:10,067 INFO MainThread:2211530 [wandb_init.py:init():569] calling init triggers
12
+ 2025-01-07 18:23:10,067 INFO MainThread:2211530 [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': 1, 'dataset_shuffle_seed': 0, 'device': 'cuda', 'save_video': True, 'save_train_video': True, 'use_tb': True, 'use_wandb': True, 'wandb_run_id': '1013_1', 'wandb_notes': '1013_1_restarted_11', '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': True, 'use_sdf_maps': True, 'use_normals_maps': True, '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': 5, '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/1013_1', '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': True, 'use_sdf_maps': True, 'use_normals_maps': True, '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': 1, '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': True, 'use_sdf_maps': True, 'use_normals_maps': True, '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_cntct_0.1_DTC_clmpd_lrnbl_nrmls_DTCmask_adpt_lrnbl_both_lr_0.0001_wd_0.0_local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9_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/1013_1', 'residual_weight': '/home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt', 'final_experiment_dir': './exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/no798ka2'}
14
+ 2025-01-07 18:23:10,068 INFO MainThread:2211530 [wandb_init.py:init():619] starting backend
15
+ 2025-01-07 18:23:10,068 INFO MainThread:2211530 [wandb_init.py:init():623] setting up manager
16
+ 2025-01-07 18:23:10,071 INFO MainThread:2211530 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
17
+ 2025-01-07 18:23:10,073 INFO MainThread:2211530 [wandb_init.py:init():631] backend started and connected
18
+ 2025-01-07 18:23:10,090 INFO MainThread:2211530 [wandb_init.py:init():720] updated telemetry
19
+ 2025-01-07 18:23:10,096 INFO MainThread:2211530 [wandb_init.py:init():753] communicating run to backend with 90.0 second timeout
20
+ 2025-01-07 18:23:10,390 INFO MainThread:2211530 [wandb_run.py:_on_init():2435] communicating current version
21
+ 2025-01-07 18:23:10,460 INFO MainThread:2211530 [wandb_run.py:_on_init():2444] got version response upgrade_message: "wandb version 0.19.2 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
22
+
23
+ 2025-01-07 18:23:10,460 INFO MainThread:2211530 [wandb_init.py:init():804] starting run threads in backend
24
+ 2025-01-07 18:23:10,813 INFO MainThread:2211530 [wandb_run.py:_console_start():2413] atexit reg
25
+ 2025-01-07 18:23:10,813 INFO MainThread:2211530 [wandb_run.py:_redirect():2255] redirect: wrap_raw
26
+ 2025-01-07 18:23:10,813 INFO MainThread:2211530 [wandb_run.py:_redirect():2320] Wrapping output streams.
27
+ 2025-01-07 18:23:10,813 INFO MainThread:2211530 [wandb_run.py:_redirect():2345] Redirects installed.
28
+ 2025-01-07 18:23:10,816 INFO MainThread:2211530 [wandb_init.py:init():847] run started, returning control to user process
29
+ 2025-01-07 18:23:10,816 INFO MainThread:2211530 [wandb_run.py:_tensorboard_callback():1544] tensorboard callback: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1013_1/no798ka2/tb, True
30
+ 2025-01-07 18:23:16,494 INFO MainThread:2211530 [wandb_run.py:_config_callback():1382] config_cb None None {'grasped_obj_name': 'lib', 'left_book_slot': 'twodim'}
31
+ 2025-01-07 18:28:14,212 WARNING MsgRouterThr:2211530 [router.py:message_loop():77] message_loop has been closed
no798ka2/wandb/run-20250107_182310-no798ka2/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()
no798ka2/wandb/run-20250107_182310-no798ka2/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: 1
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: '1013_1'
42
+ wandb_notes:
43
+ desc: null
44
+ value: 1013_1_restarted_11
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: true
126
+ use_sdf_maps:
127
+ desc: null
128
+ value: true
129
+ use_normals_maps:
130
+ desc: null
131
+ value: true
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: 5
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/1013_1
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: true
475
+ use_sdf_maps: true
476
+ use_normals_maps: true
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: 1
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: true
705
+ use_sdf_maps: true
706
+ use_normals_maps: true
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_cntct_0.1_DTC_clmpd_lrnbl_nrmls_DTCmask_adpt_lrnbl_both_lr_0.0001_wd_0.0_local_multitask_outhd64all_home_crop_h144w144d48_mask_ctxtmask_seed_220979_epoch_9_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/1013_1
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/1013_1/no798ka2
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: 1736292190
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
no798ka2/wandb/run-20250107_182310-no798ka2/files/diff.patch ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/FISH/cfgs/config_eval.yaml b/FISH/cfgs/config_eval.yaml
2
+ index a5e82a4..1c0be7a 100644
3
+ --- a/FISH/cfgs/config_eval.yaml
4
+ +++ b/FISH/cfgs/config_eval.yaml
5
+ @@ -139,8 +139,8 @@ load_checkpoint: ${agent.load_checkpoint}
6
+
7
+ # RGBD+mask+contact(all ftrs)+act history
8
+ # wandb_run_id: '1003_0'
9
+ -# wandb_run_id: '1013_1' # seed 1
10
+ -wandb_run_id: '1017_0' # dataset shuffle seed 1
11
+ +wandb_run_id: '1013_1' # seed 1
12
+ +# wandb_run_id: '1017_0' # dataset shuffle seed 1
13
+
14
+ # all books, 6/20 demos per book
15
+ # RGBD+mask+act history
no798ka2/wandb/run-20250107_182310-no798ka2/files/media/table/eval/success_rate_ci_5_d8821c50291f0fbf979f.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": [[1.0, 0.7501049041247838, 1, 0.6051223873881857, 1, 0.6927025019737123, 1, 0.6332908421488255, 1]]}
no798ka2/wandb/run-20250107_182310-no798ka2/files/media/table/eval/total_success_rate_ci_6_ac8537acf8bec14e3652.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": [[34, 50, 0.68, 0.5274859368746145, 0.8127126097053713, 0.5377310514374611, 0.7924793362032534, 0.5571022108083008, 0.78122860187628, 0.599585097263208, 0.7629664819161672]]}
no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/0_eval_0_c3c69d41167ae5a9086a.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3c69d41167ae5a9086a17b4a2606e90c96c74aa1a8a6b32e56a5d151af825b7
3
+ size 1417167
no798ka2/wandb/run-20250107_182310-no798ka2/files/media/videos/eval/1_eval_1_ddb2bcf1bbe47f8bb323.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ddb2bcf1bbe47f8bb323ec9fe2265e13993d3dc3a5b539a328667e494dcd1176
3
+ size 1424426