Add files using upload-large-folder tool
Browse files- .gitattributes +9 -0
- 3fs5lhth/episode_rosbags/episode_3_2025-01-06-23-00-21.bag +3 -0
- 3fs5lhth/episode_rosbags/episode_4_2025-01-06-23-01-18.bag +3 -0
- kkp1x4wb/episode_rosbags/episode_0_2025-01-06-18-13-37.bag +3 -0
- kkp1x4wb/episode_rosbags/episode_1_2025-01-06-18-17-32.bag +3 -0
- snapshot_10500.pt +3 -0
- up4gjipz/episode_rosbags/color_K.npy +3 -0
- up4gjipz/wandb/debug-internal.log +0 -0
- up4gjipz/wandb/debug.log +31 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/code/FISH/eval_robot.py +605 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/config.yaml +895 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/diff.patch +63 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/table/eval/success_rate_ci_5_1b420c32327aa0ba7f75.table.json +1 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/table/eval/total_success_rate_ci_6_9da6f5d41b864e33184b.table.json +1 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/0_eval_0_10ebed5c632009219ad7.mp4 +3 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/1_eval_1_fb1fe7858735fb891304.mp4 +3 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/2_eval_2_2afb9a1beef184590273.mp4 +3 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/3_eval_3_3f13de8c1cf058ceccfd.mp4 +3 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/4_eval_4_9d921c57a920655085ef.mp4 +3 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/output.log +273 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/requirements.txt +340 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/wandb-metadata.json +92 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/files/wandb-summary.json +1 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/logs/debug-internal.log +0 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/logs/debug.log +31 -0
- up4gjipz/wandb/run-20250106_200056-up4gjipz/run-up4gjipz.wandb +0 -0
.gitattributes
CHANGED
|
@@ -74,3 +74,12 @@ kkp1x4wb/eval_video/4_eval.mp4 filter=lfs diff=lfs merge=lfs -text
|
|
| 74 |
kkp1x4wb/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 75 |
kkp1x4wb/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 76 |
kkp1x4wb/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
kkp1x4wb/eval_video/1_eval.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 75 |
kkp1x4wb/eval_video/2_eval.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 76 |
kkp1x4wb/eval_video/0_eval.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 77 |
+
3fs5lhth/episode_rosbags/episode_4_2025-01-06-23-01-18.bag filter=lfs diff=lfs merge=lfs -text
|
| 78 |
+
kkp1x4wb/episode_rosbags/episode_1_2025-01-06-18-17-32.bag filter=lfs diff=lfs merge=lfs -text
|
| 79 |
+
3fs5lhth/episode_rosbags/episode_3_2025-01-06-23-00-21.bag filter=lfs diff=lfs merge=lfs -text
|
| 80 |
+
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/1_eval_1_fb1fe7858735fb891304.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 81 |
+
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/4_eval_4_9d921c57a920655085ef.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 82 |
+
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/2_eval_2_2afb9a1beef184590273.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 83 |
+
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/3_eval_3_3f13de8c1cf058ceccfd.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 84 |
+
kkp1x4wb/episode_rosbags/episode_0_2025-01-06-18-13-37.bag filter=lfs diff=lfs merge=lfs -text
|
| 85 |
+
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/0_eval_0_10ebed5c632009219ad7.mp4 filter=lfs diff=lfs merge=lfs -text
|
3fs5lhth/episode_rosbags/episode_3_2025-01-06-23-00-21.bag
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:634b40ccca755f8318dba125d00b75e1a51c0883884793579ec2d86c6a524acb
|
| 3 |
+
size 2604709741
|
3fs5lhth/episode_rosbags/episode_4_2025-01-06-23-01-18.bag
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:43f44f927bc6af80e778c90c2e10b02fce1da87edb864e09dd48987e1c302dd8
|
| 3 |
+
size 2604642659
|
kkp1x4wb/episode_rosbags/episode_0_2025-01-06-18-13-37.bag
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:82ed12eb4864632ab734472d95fdb780cba0b8462896c9ba145c40e882bc3000
|
| 3 |
+
size 2600483785
|
kkp1x4wb/episode_rosbags/episode_1_2025-01-06-18-17-32.bag
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:64d1c354cb718b1cecc10dd90b005beb3ed93da78b1ba14d10e77eb55cc1c755
|
| 3 |
+
size 2608698854
|
snapshot_10500.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9c460a67e1be9bb7eff37c8abd967546ddaeca288da25650b9da15fdfdd30158
|
| 3 |
+
size 910445958
|
up4gjipz/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
|
up4gjipz/wandb/debug-internal.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
up4gjipz/wandb/debug.log
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Current SDK version is 0.17.5
|
| 2 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Configure stats pid to 2103006
|
| 3 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/.config/wandb/settings
|
| 4 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/wandb/settings
|
| 5 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
|
| 6 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
|
| 7 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [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-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Applying login settings: {}
|
| 9 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:_log_setup():529] Logging user logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/wandb/run-20250106_200056-up4gjipz/logs/debug.log
|
| 10 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:_log_setup():530] Logging internal logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/wandb/run-20250106_200056-up4gjipz/logs/debug-internal.log
|
| 11 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:init():569] calling init triggers
|
| 12 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:init():576] wandb.init called with sweep_config: {}
|
| 13 |
+
config: {'root_dir': '/home/leonmkim/fish_leon', 'replay_buffer_size': 150000, 'replay_buffer_num_workers': 2, 'nstep': 3, 'batch_size': 128, 'seed': 0, 'dataset_shuffle_seed': 1, 'device': 'cuda', 'save_video': True, 'save_train_video': True, 'use_tb': True, 'use_wandb': True, 'wandb_run_id': '1017_0', 'wandb_notes': '1017_0_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/1017_0', 'agent': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgent', 'name': 'diffusion_policy', 'load_checkpoint': True, 'device': 'cuda', 'n_obs_steps': 1, 'suite_name': 'frankagym', 'obs_type': 'pixels', 'enable_arm': True, 'enable_camera': True, 'use_tb': True, 'desired_image_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'config': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgentConfig', 'compile': False, 'device': 'cuda', 'cam_resize_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'policy_frequency': 5, 'interpolation_frequency': 25, 'policy_cfg': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig', 'n_obs_steps': 1, 'horizon': 36, 'n_action_steps': 36, 'output_shapes': {'action': [7]}, 'input_normalization_modes': {'observation.image': 'mean_std', 'observation.state': 'min_max', 'observation.action_history': 'min_max'}, 'output_normalization_modes': {'action': 'min_max'}, 'vision_backbone': 'resnet18', 'pretrained_backbone_weights': None, 'transforms': [{'_target_': 'torchaug.transforms.RandomAffine', 'degrees': [-5, 5], 'translate': [0.05, 0.05], 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}, {'_target_': 'torchaug.transforms.RandomColorJitter', 'brightness': 0.3, 'contrast': 0.4, 'saturation': 0.5, 'hue': 0.08, 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}], 'use_group_norm': True, 'spatial_softmax_num_keypoints': 32, 'action_history_encoder_config': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig', 'in_channels': 7, 'out_channels': 32, 'history_length': 6, 'kernel_size': 5, 'downsample_kernel_size': 3, 'downsample_stride': 2, 'downsample_padding': 1}, 'down_dims': [256, 512, 1024], 'kernel_size': 5, 'n_groups': 8, 'diffusion_step_embed_dim': 128, 'use_film_scale_modulation': True, 'noise_scheduler_type': 'DDIM', 'beta_schedule': 'squaredcos_cap_v2', 'beta_start': 0.0001, 'beta_end': 0.02, 'prediction_type': 'epsilon', 'clip_sample': True, 'clip_sample_range': 1.0, 'num_train_timesteps': 50, 'num_inference_steps': 10, 'do_mask_loss_for_padding': False, 'input_shapes': {'observation.image': [13, 180, 240], 'context_observation.image': [13, 180, 240], 'observation.state': [8], 'observation.action_history': [7]}}, 'train_cfg': {'_target_': 'utils.TrainConfig', 'lr': 0.0001, 'lr_scheduler': 'cosine', 'lr_warmup_steps': 500, 'adam_betas': [0.95, 0.999], 'adam_eps': 1e-08, 'adam_weight_decay': 1e-06, 'grad_clip_norm': 10, 'offline_steps': 1000000, 'use_amp': True}, 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': True, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': 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': 0, 'enable_arm': True, 'enable_gripper': True, 'start_with_gripper_open': True, 'enable_camera': True, 'path_to_depth_extrinsics': '~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy', 'contact_estimation_model_ckpt_path': '~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt', 'x_limit': [0.2, 0.7], 'y_limit': [-0.4, 0.4], 'z_limit': [-0.05, 0.55], 'device': 'cuda', 'interpolation_frequency': 25, 'policy_frequency': 5, 'debug_timestamps': False, 'stop_after_action': False, 'open_loop': False, 'wait_for_new_camera_frames': True, 'action_key': 'action_trajectory_25hz', 'action_trajectory_horizon': 36, 'action_trajectories': True, 'path_to_zarr_dataset': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'agent_policy_cfg': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgentConfig', 'compile': False, 'device': 'cuda', 'cam_resize_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'policy_frequency': 5, 'interpolation_frequency': 25, 'policy_cfg': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig', 'n_obs_steps': 1, 'horizon': 36, 'n_action_steps': 36, 'output_shapes': {'action': [7]}, 'input_normalization_modes': {'observation.image': 'mean_std', 'observation.state': 'min_max', 'observation.action_history': 'min_max'}, 'output_normalization_modes': {'action': 'min_max'}, 'vision_backbone': 'resnet18', 'pretrained_backbone_weights': None, 'transforms': [{'_target_': 'torchaug.transforms.RandomAffine', 'degrees': [-5, 5], 'translate': [0.05, 0.05], 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}, {'_target_': 'torchaug.transforms.RandomColorJitter', 'brightness': 0.3, 'contrast': 0.4, 'saturation': 0.5, 'hue': 0.08, 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}], 'use_group_norm': True, 'spatial_softmax_num_keypoints': 32, 'action_history_encoder_config': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig', 'in_channels': 7, 'out_channels': 32, 'history_length': 6, 'kernel_size': 5, 'downsample_kernel_size': 3, 'downsample_stride': 2, 'downsample_padding': 1}, 'down_dims': [256, 512, 1024], 'kernel_size': 5, 'n_groups': 8, 'diffusion_step_embed_dim': 128, 'use_film_scale_modulation': True, 'noise_scheduler_type': 'DDIM', 'beta_schedule': 'squaredcos_cap_v2', 'beta_start': 0.0001, 'beta_end': 0.02, 'prediction_type': 'epsilon', 'clip_sample': True, 'clip_sample_range': 1.0, 'num_train_timesteps': 50, 'num_inference_steps': 10, 'do_mask_loss_for_padding': False, 'input_shapes': {'observation.image': [13, 180, 240], 'context_observation.image': [13, 180, 240], 'observation.state': [8], 'observation.action_history': [7]}}, 'train_cfg': {'_target_': 'utils.TrainConfig', 'lr': 0.0001, 'lr_scheduler': 'cosine', 'lr_warmup_steps': 500, 'adam_betas': [0.95, 0.999], 'adam_eps': 1e-08, 'adam_weight_decay': 1e-06, 'grad_clip_norm': 10, 'offline_steps': 1000000, 'use_amp': True}, 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': True, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': 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/1017_0', 'residual_weight': '/home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt', 'final_experiment_dir': './exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz'}
|
| 14 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:init():619] starting backend
|
| 15 |
+
2025-01-06 20:00:56,740 INFO MainThread:2103006 [wandb_init.py:init():623] setting up manager
|
| 16 |
+
2025-01-06 20:00:56,744 INFO MainThread:2103006 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
|
| 17 |
+
2025-01-06 20:00:56,745 INFO MainThread:2103006 [wandb_init.py:init():631] backend started and connected
|
| 18 |
+
2025-01-06 20:00:56,757 INFO MainThread:2103006 [wandb_init.py:init():720] updated telemetry
|
| 19 |
+
2025-01-06 20:00:56,769 INFO MainThread:2103006 [wandb_init.py:init():753] communicating run to backend with 90.0 second timeout
|
| 20 |
+
2025-01-06 20:00:57,041 INFO MainThread:2103006 [wandb_run.py:_on_init():2435] communicating current version
|
| 21 |
+
2025-01-06 20:00:57,083 INFO MainThread:2103006 [wandb_run.py:_on_init():2444] got version response upgrade_message: "wandb version 0.19.1 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
|
| 22 |
+
|
| 23 |
+
2025-01-06 20:00:57,084 INFO MainThread:2103006 [wandb_init.py:init():804] starting run threads in backend
|
| 24 |
+
2025-01-06 20:00:57,447 INFO MainThread:2103006 [wandb_run.py:_console_start():2413] atexit reg
|
| 25 |
+
2025-01-06 20:00:57,447 INFO MainThread:2103006 [wandb_run.py:_redirect():2255] redirect: wrap_raw
|
| 26 |
+
2025-01-06 20:00:57,447 INFO MainThread:2103006 [wandb_run.py:_redirect():2320] Wrapping output streams.
|
| 27 |
+
2025-01-06 20:00:57,447 INFO MainThread:2103006 [wandb_run.py:_redirect():2345] Redirects installed.
|
| 28 |
+
2025-01-06 20:00:57,448 INFO MainThread:2103006 [wandb_init.py:init():847] run started, returning control to user process
|
| 29 |
+
2025-01-06 20:00:57,448 INFO MainThread:2103006 [wandb_run.py:_tensorboard_callback():1544] tensorboard callback: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/tb, True
|
| 30 |
+
2025-01-06 20:01:00,348 INFO MainThread:2103006 [wandb_run.py:_config_callback():1382] config_cb None None {'grasped_obj_name': 'fowlers', 'left_book_slot': 'twodim'}
|
| 31 |
+
2025-01-06 20:05:40,743 WARNING MsgRouterThr:2103006 [router.py:message_loop():77] message_loop has been closed
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/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()
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/config.yaml
ADDED
|
@@ -0,0 +1,895 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
wandb_version: 1
|
| 2 |
+
|
| 3 |
+
root_dir:
|
| 4 |
+
desc: null
|
| 5 |
+
value: /home/leonmkim/fish_leon
|
| 6 |
+
replay_buffer_size:
|
| 7 |
+
desc: null
|
| 8 |
+
value: 150000
|
| 9 |
+
replay_buffer_num_workers:
|
| 10 |
+
desc: null
|
| 11 |
+
value: 2
|
| 12 |
+
nstep:
|
| 13 |
+
desc: null
|
| 14 |
+
value: 3
|
| 15 |
+
batch_size:
|
| 16 |
+
desc: null
|
| 17 |
+
value: 128
|
| 18 |
+
seed:
|
| 19 |
+
desc: null
|
| 20 |
+
value: 0
|
| 21 |
+
dataset_shuffle_seed:
|
| 22 |
+
desc: null
|
| 23 |
+
value: 1
|
| 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: '1017_0'
|
| 42 |
+
wandb_notes:
|
| 43 |
+
desc: null
|
| 44 |
+
value: 1017_0_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/1017_0
|
| 301 |
+
agent:
|
| 302 |
+
desc: null
|
| 303 |
+
value:
|
| 304 |
+
_target_: agent.diffusion_policy.DiffusionPolicyAgent
|
| 305 |
+
name: diffusion_policy
|
| 306 |
+
load_checkpoint: true
|
| 307 |
+
device: cuda
|
| 308 |
+
n_obs_steps: 1
|
| 309 |
+
suite_name: frankagym
|
| 310 |
+
obs_type: pixels
|
| 311 |
+
enable_arm: true
|
| 312 |
+
enable_camera: true
|
| 313 |
+
use_tb: true
|
| 314 |
+
desired_image_shape:
|
| 315 |
+
- 13
|
| 316 |
+
- 180
|
| 317 |
+
- 240
|
| 318 |
+
orig_cam_shape:
|
| 319 |
+
- 3
|
| 320 |
+
- 240
|
| 321 |
+
- 320
|
| 322 |
+
config:
|
| 323 |
+
_target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
|
| 324 |
+
compile: false
|
| 325 |
+
device: cuda
|
| 326 |
+
cam_resize_shape:
|
| 327 |
+
- 13
|
| 328 |
+
- 180
|
| 329 |
+
- 240
|
| 330 |
+
orig_cam_shape:
|
| 331 |
+
- 3
|
| 332 |
+
- 240
|
| 333 |
+
- 320
|
| 334 |
+
policy_frequency: 5
|
| 335 |
+
interpolation_frequency: 25
|
| 336 |
+
policy_cfg:
|
| 337 |
+
_target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
|
| 338 |
+
n_obs_steps: 1
|
| 339 |
+
horizon: 36
|
| 340 |
+
n_action_steps: 36
|
| 341 |
+
output_shapes:
|
| 342 |
+
action:
|
| 343 |
+
- 7
|
| 344 |
+
input_normalization_modes:
|
| 345 |
+
observation.image: mean_std
|
| 346 |
+
observation.state: min_max
|
| 347 |
+
observation.action_history: min_max
|
| 348 |
+
output_normalization_modes:
|
| 349 |
+
action: min_max
|
| 350 |
+
vision_backbone: resnet18
|
| 351 |
+
pretrained_backbone_weights: null
|
| 352 |
+
transforms:
|
| 353 |
+
- _target_: torchaug.transforms.RandomAffine
|
| 354 |
+
degrees:
|
| 355 |
+
- -5
|
| 356 |
+
- 5
|
| 357 |
+
translate:
|
| 358 |
+
- 0.05
|
| 359 |
+
- 0.05
|
| 360 |
+
batch_transform: true
|
| 361 |
+
num_chunks: -1
|
| 362 |
+
batch_inplace: true
|
| 363 |
+
- _target_: torchaug.transforms.RandomColorJitter
|
| 364 |
+
brightness: 0.3
|
| 365 |
+
contrast: 0.4
|
| 366 |
+
saturation: 0.5
|
| 367 |
+
hue: 0.08
|
| 368 |
+
batch_transform: true
|
| 369 |
+
num_chunks: -1
|
| 370 |
+
batch_inplace: true
|
| 371 |
+
use_group_norm: true
|
| 372 |
+
spatial_softmax_num_keypoints: 32
|
| 373 |
+
action_history_encoder_config:
|
| 374 |
+
_target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
|
| 375 |
+
in_channels: 7
|
| 376 |
+
out_channels: 32
|
| 377 |
+
history_length: 6
|
| 378 |
+
kernel_size: 5
|
| 379 |
+
downsample_kernel_size: 3
|
| 380 |
+
downsample_stride: 2
|
| 381 |
+
downsample_padding: 1
|
| 382 |
+
down_dims:
|
| 383 |
+
- 256
|
| 384 |
+
- 512
|
| 385 |
+
- 1024
|
| 386 |
+
kernel_size: 5
|
| 387 |
+
n_groups: 8
|
| 388 |
+
diffusion_step_embed_dim: 128
|
| 389 |
+
use_film_scale_modulation: true
|
| 390 |
+
noise_scheduler_type: DDIM
|
| 391 |
+
beta_schedule: squaredcos_cap_v2
|
| 392 |
+
beta_start: 0.0001
|
| 393 |
+
beta_end: 0.02
|
| 394 |
+
prediction_type: epsilon
|
| 395 |
+
clip_sample: true
|
| 396 |
+
clip_sample_range: 1.0
|
| 397 |
+
num_train_timesteps: 50
|
| 398 |
+
num_inference_steps: 10
|
| 399 |
+
do_mask_loss_for_padding: false
|
| 400 |
+
input_shapes:
|
| 401 |
+
observation.image:
|
| 402 |
+
- 13
|
| 403 |
+
- 180
|
| 404 |
+
- 240
|
| 405 |
+
context_observation.image:
|
| 406 |
+
- 13
|
| 407 |
+
- 180
|
| 408 |
+
- 240
|
| 409 |
+
observation.state:
|
| 410 |
+
- 8
|
| 411 |
+
observation.action_history:
|
| 412 |
+
- 7
|
| 413 |
+
train_cfg:
|
| 414 |
+
_target_: utils.TrainConfig
|
| 415 |
+
lr: 0.0001
|
| 416 |
+
lr_scheduler: cosine
|
| 417 |
+
lr_warmup_steps: 500
|
| 418 |
+
adam_betas:
|
| 419 |
+
- 0.95
|
| 420 |
+
- 0.999
|
| 421 |
+
adam_eps: 1.0e-08
|
| 422 |
+
adam_weight_decay: 1.0e-06
|
| 423 |
+
grad_clip_norm: 10
|
| 424 |
+
offline_steps: 1000000
|
| 425 |
+
use_amp: true
|
| 426 |
+
observation_cfg:
|
| 427 |
+
_target_: agent.encoder.VisualFeatureSet
|
| 428 |
+
use_depth: true
|
| 429 |
+
use_color: true
|
| 430 |
+
mask_input_dict:
|
| 431 |
+
_target_: agent.encoder.MaskInputDict
|
| 432 |
+
enable: true
|
| 433 |
+
representation: channels
|
| 434 |
+
mask_list:
|
| 435 |
+
- EE_obj_mask
|
| 436 |
+
crop_input_config:
|
| 437 |
+
_target_: agent.encoder.CropInputConfig
|
| 438 |
+
color_crop_type: null
|
| 439 |
+
depth_crop_type: null
|
| 440 |
+
segmask_crop_type: null
|
| 441 |
+
crop_hw:
|
| 442 |
+
- 144
|
| 443 |
+
- 144
|
| 444 |
+
crop_down_offset: 48
|
| 445 |
+
add_crop_binary_mask: false
|
| 446 |
+
add_coord_conv_map: false
|
| 447 |
+
context_input_config:
|
| 448 |
+
_target_: agent.encoder.ContextInputConfig
|
| 449 |
+
use_color: false
|
| 450 |
+
use_depth: false
|
| 451 |
+
mask_input_dict:
|
| 452 |
+
_target_: agent.encoder.MaskInputDict
|
| 453 |
+
enable: false
|
| 454 |
+
representation: channels
|
| 455 |
+
mask_list:
|
| 456 |
+
- EE_obj_mask
|
| 457 |
+
crop_input_config:
|
| 458 |
+
_target_: agent.encoder.CropInputConfig
|
| 459 |
+
color_crop_type: null
|
| 460 |
+
depth_crop_type: null
|
| 461 |
+
segmask_crop_type: null
|
| 462 |
+
crop_hw:
|
| 463 |
+
- 144
|
| 464 |
+
- 144
|
| 465 |
+
crop_down_offset: 48
|
| 466 |
+
add_crop_binary_mask: false
|
| 467 |
+
add_coord_conv_map: false
|
| 468 |
+
mask_soft_approx_scheduler_config:
|
| 469 |
+
_target_: agent.encoder.MaskSoftApproxSchedulerConfig
|
| 470 |
+
num_steps: 40000
|
| 471 |
+
initial_value: 10.0
|
| 472 |
+
final_value: 1000.0
|
| 473 |
+
interpolation_scheme: cosine
|
| 474 |
+
use_contact_map: 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: 0
|
| 526 |
+
enable_arm: true
|
| 527 |
+
enable_gripper: true
|
| 528 |
+
start_with_gripper_open: true
|
| 529 |
+
enable_camera: true
|
| 530 |
+
path_to_depth_extrinsics: ~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy
|
| 531 |
+
contact_estimation_model_ckpt_path: ~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt
|
| 532 |
+
x_limit:
|
| 533 |
+
- 0.2
|
| 534 |
+
- 0.7
|
| 535 |
+
y_limit:
|
| 536 |
+
- -0.4
|
| 537 |
+
- 0.4
|
| 538 |
+
z_limit:
|
| 539 |
+
- -0.05
|
| 540 |
+
- 0.55
|
| 541 |
+
device: cuda
|
| 542 |
+
interpolation_frequency: 25
|
| 543 |
+
policy_frequency: 5
|
| 544 |
+
debug_timestamps: false
|
| 545 |
+
stop_after_action: false
|
| 546 |
+
open_loop: false
|
| 547 |
+
wait_for_new_camera_frames: true
|
| 548 |
+
action_key: action_trajectory_25hz
|
| 549 |
+
action_trajectory_horizon: 36
|
| 550 |
+
action_trajectories: true
|
| 551 |
+
path_to_zarr_dataset: /home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr
|
| 552 |
+
agent_policy_cfg:
|
| 553 |
+
_target_: agent.diffusion_policy.DiffusionPolicyAgentConfig
|
| 554 |
+
compile: false
|
| 555 |
+
device: cuda
|
| 556 |
+
cam_resize_shape:
|
| 557 |
+
- 13
|
| 558 |
+
- 180
|
| 559 |
+
- 240
|
| 560 |
+
orig_cam_shape:
|
| 561 |
+
- 3
|
| 562 |
+
- 240
|
| 563 |
+
- 320
|
| 564 |
+
policy_frequency: 5
|
| 565 |
+
interpolation_frequency: 25
|
| 566 |
+
policy_cfg:
|
| 567 |
+
_target_: lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig
|
| 568 |
+
n_obs_steps: 1
|
| 569 |
+
horizon: 36
|
| 570 |
+
n_action_steps: 36
|
| 571 |
+
output_shapes:
|
| 572 |
+
action:
|
| 573 |
+
- 7
|
| 574 |
+
input_normalization_modes:
|
| 575 |
+
observation.image: mean_std
|
| 576 |
+
observation.state: min_max
|
| 577 |
+
observation.action_history: min_max
|
| 578 |
+
output_normalization_modes:
|
| 579 |
+
action: min_max
|
| 580 |
+
vision_backbone: resnet18
|
| 581 |
+
pretrained_backbone_weights: null
|
| 582 |
+
transforms:
|
| 583 |
+
- _target_: torchaug.transforms.RandomAffine
|
| 584 |
+
degrees:
|
| 585 |
+
- -5
|
| 586 |
+
- 5
|
| 587 |
+
translate:
|
| 588 |
+
- 0.05
|
| 589 |
+
- 0.05
|
| 590 |
+
batch_transform: true
|
| 591 |
+
num_chunks: -1
|
| 592 |
+
batch_inplace: true
|
| 593 |
+
- _target_: torchaug.transforms.RandomColorJitter
|
| 594 |
+
brightness: 0.3
|
| 595 |
+
contrast: 0.4
|
| 596 |
+
saturation: 0.5
|
| 597 |
+
hue: 0.08
|
| 598 |
+
batch_transform: true
|
| 599 |
+
num_chunks: -1
|
| 600 |
+
batch_inplace: true
|
| 601 |
+
use_group_norm: true
|
| 602 |
+
spatial_softmax_num_keypoints: 32
|
| 603 |
+
action_history_encoder_config:
|
| 604 |
+
_target_: lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig
|
| 605 |
+
in_channels: 7
|
| 606 |
+
out_channels: 32
|
| 607 |
+
history_length: 6
|
| 608 |
+
kernel_size: 5
|
| 609 |
+
downsample_kernel_size: 3
|
| 610 |
+
downsample_stride: 2
|
| 611 |
+
downsample_padding: 1
|
| 612 |
+
down_dims:
|
| 613 |
+
- 256
|
| 614 |
+
- 512
|
| 615 |
+
- 1024
|
| 616 |
+
kernel_size: 5
|
| 617 |
+
n_groups: 8
|
| 618 |
+
diffusion_step_embed_dim: 128
|
| 619 |
+
use_film_scale_modulation: true
|
| 620 |
+
noise_scheduler_type: DDIM
|
| 621 |
+
beta_schedule: squaredcos_cap_v2
|
| 622 |
+
beta_start: 0.0001
|
| 623 |
+
beta_end: 0.02
|
| 624 |
+
prediction_type: epsilon
|
| 625 |
+
clip_sample: true
|
| 626 |
+
clip_sample_range: 1.0
|
| 627 |
+
num_train_timesteps: 50
|
| 628 |
+
num_inference_steps: 10
|
| 629 |
+
do_mask_loss_for_padding: false
|
| 630 |
+
input_shapes:
|
| 631 |
+
observation.image:
|
| 632 |
+
- 13
|
| 633 |
+
- 180
|
| 634 |
+
- 240
|
| 635 |
+
context_observation.image:
|
| 636 |
+
- 13
|
| 637 |
+
- 180
|
| 638 |
+
- 240
|
| 639 |
+
observation.state:
|
| 640 |
+
- 8
|
| 641 |
+
observation.action_history:
|
| 642 |
+
- 7
|
| 643 |
+
train_cfg:
|
| 644 |
+
_target_: utils.TrainConfig
|
| 645 |
+
lr: 0.0001
|
| 646 |
+
lr_scheduler: cosine
|
| 647 |
+
lr_warmup_steps: 500
|
| 648 |
+
adam_betas:
|
| 649 |
+
- 0.95
|
| 650 |
+
- 0.999
|
| 651 |
+
adam_eps: 1.0e-08
|
| 652 |
+
adam_weight_decay: 1.0e-06
|
| 653 |
+
grad_clip_norm: 10
|
| 654 |
+
offline_steps: 1000000
|
| 655 |
+
use_amp: true
|
| 656 |
+
observation_cfg:
|
| 657 |
+
_target_: agent.encoder.VisualFeatureSet
|
| 658 |
+
use_depth: true
|
| 659 |
+
use_color: true
|
| 660 |
+
mask_input_dict:
|
| 661 |
+
_target_: agent.encoder.MaskInputDict
|
| 662 |
+
enable: true
|
| 663 |
+
representation: channels
|
| 664 |
+
mask_list:
|
| 665 |
+
- EE_obj_mask
|
| 666 |
+
crop_input_config:
|
| 667 |
+
_target_: agent.encoder.CropInputConfig
|
| 668 |
+
color_crop_type: null
|
| 669 |
+
depth_crop_type: null
|
| 670 |
+
segmask_crop_type: null
|
| 671 |
+
crop_hw:
|
| 672 |
+
- 144
|
| 673 |
+
- 144
|
| 674 |
+
crop_down_offset: 48
|
| 675 |
+
add_crop_binary_mask: false
|
| 676 |
+
add_coord_conv_map: false
|
| 677 |
+
context_input_config:
|
| 678 |
+
_target_: agent.encoder.ContextInputConfig
|
| 679 |
+
use_color: false
|
| 680 |
+
use_depth: false
|
| 681 |
+
mask_input_dict:
|
| 682 |
+
_target_: agent.encoder.MaskInputDict
|
| 683 |
+
enable: false
|
| 684 |
+
representation: channels
|
| 685 |
+
mask_list:
|
| 686 |
+
- EE_obj_mask
|
| 687 |
+
crop_input_config:
|
| 688 |
+
_target_: agent.encoder.CropInputConfig
|
| 689 |
+
color_crop_type: null
|
| 690 |
+
depth_crop_type: null
|
| 691 |
+
segmask_crop_type: null
|
| 692 |
+
crop_hw:
|
| 693 |
+
- 144
|
| 694 |
+
- 144
|
| 695 |
+
crop_down_offset: 48
|
| 696 |
+
add_crop_binary_mask: false
|
| 697 |
+
add_coord_conv_map: false
|
| 698 |
+
mask_soft_approx_scheduler_config:
|
| 699 |
+
_target_: agent.encoder.MaskSoftApproxSchedulerConfig
|
| 700 |
+
num_steps: 40000
|
| 701 |
+
initial_value: 10.0
|
| 702 |
+
final_value: 1000.0
|
| 703 |
+
interpolation_scheme: cosine
|
| 704 |
+
use_contact_map: 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/1017_0
|
| 848 |
+
residual_weight:
|
| 849 |
+
desc: null
|
| 850 |
+
value: /home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt
|
| 851 |
+
final_experiment_dir:
|
| 852 |
+
desc: null
|
| 853 |
+
value: ./exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz
|
| 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: 1736211656
|
| 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: fowlers
|
| 893 |
+
left_book_slot:
|
| 894 |
+
desc: null
|
| 895 |
+
value: twodim
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/diff.patch
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
diff --git a/FISH/cfgs/config_eval.yaml b/FISH/cfgs/config_eval.yaml
|
| 2 |
+
index d2afe29..54e6cd0 100644
|
| 3 |
+
--- a/FISH/cfgs/config_eval.yaml
|
| 4 |
+
+++ b/FISH/cfgs/config_eval.yaml
|
| 5 |
+
@@ -134,11 +134,18 @@ load_checkpoint: ${agent.load_checkpoint}
|
| 6 |
+
# all books, 10/20 demos per book
|
| 7 |
+
# RGBD+mask+act history
|
| 8 |
+
# wandb_run_id: '1002_0'
|
| 9 |
+
+# wandb_run_id: '1009_1' # seed 1
|
| 10 |
+
+# wandb_run_id: '1022_0' # dataset shuffle seed 1
|
| 11 |
+
+
|
| 12 |
+
+# RGBD+mask+contact(all ftrs)+act history
|
| 13 |
+
+# wandb_run_id: '1003_0'
|
| 14 |
+
+# wandb_run_id: '1013_1' # seed 1
|
| 15 |
+
+wandb_run_id: '1017_0' # dataset shuffle seed 1
|
| 16 |
+
|
| 17 |
+
# all books, 6/20 demos per book
|
| 18 |
+
# RGBD+mask+act history
|
| 19 |
+
# wandb_run_id: '1007_0'
|
| 20 |
+
-wandb_run_id: '1922_1' # seed 1
|
| 21 |
+
+# wandb_run_id: '1922_1' # seed 1
|
| 22 |
+
# wandb_run_id: '1938_0' # dataset shuffle seed 1
|
| 23 |
+
|
| 24 |
+
# RGBD+mask+contact(all ftrs)+act history
|
| 25 |
+
@@ -146,11 +153,11 @@ wandb_run_id: '1922_1' # seed 1
|
| 26 |
+
# wandb_run_id: '1926_1' # seed 1
|
| 27 |
+
# wandb_run_id: '1930_0' # dataset shuffle seed 1
|
| 28 |
+
|
| 29 |
+
-
|
| 30 |
+
-
|
| 31 |
+
# RGBD+mask+contact(contact+DTC)+act history
|
| 32 |
+
# wandb_run_id: '1745_0'
|
| 33 |
+
|
| 34 |
+
+# all books, 4/20 demos per book
|
| 35 |
+
+
|
| 36 |
+
# 112_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act
|
| 37 |
+
# 14 demos
|
| 38 |
+
|
| 39 |
+
diff --git a/FISH/download_model_checkpoints.py b/FISH/download_model_checkpoints.py
|
| 40 |
+
index c7eadce..e3c7dc1 100644
|
| 41 |
+
--- a/FISH/download_model_checkpoints.py
|
| 42 |
+
+++ b/FISH/download_model_checkpoints.py
|
| 43 |
+
@@ -161,8 +161,18 @@ run_id_list = [
|
| 44 |
+
run_id_list = [
|
| 45 |
+
# '1922_1',
|
| 46 |
+
# '1922_2',
|
| 47 |
+
- '1926_1',
|
| 48 |
+
- '1930_0',
|
| 49 |
+
+ # '1944_0',
|
| 50 |
+
+ # '1972_0',
|
| 51 |
+
+ # '1976_1',
|
| 52 |
+
+ # '1948_0',
|
| 53 |
+
+ # '1950_0',
|
| 54 |
+
+ # '1954_1',
|
| 55 |
+
+ '1002_0',
|
| 56 |
+
+ '1009_1',
|
| 57 |
+
+ '1022_0',
|
| 58 |
+
+ '1003_0',
|
| 59 |
+
+ '1013_1',
|
| 60 |
+
+ '1017_0',
|
| 61 |
+
]
|
| 62 |
+
|
| 63 |
+
checkpoint_epoch = 12000
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/table/eval/success_rate_ci_5_1b420c32327aa0ba7f75.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.449680686007073, 1, 0.47999376058978616, 1, 0.6638181209236573, 1, 1, 1]]}
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/table/eval/total_success_rate_ci_6_9da6f5d41b864e33184b.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": [[15, 15, 1.0, 0.7578194736918749, 1, 0.8468897341988106, 1, 0.881214111967138, 1, 0.8713090381773767, 1]]}
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/0_eval_0_10ebed5c632009219ad7.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:10ebed5c632009219ad7d9302f7f5a63e08a512951d50a98abbf25a2373cb531
|
| 3 |
+
size 1449386
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/1_eval_1_fb1fe7858735fb891304.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fb1fe7858735fb8913041554892c4674ef9522fc367fbfd3a84fc79cccefb279
|
| 3 |
+
size 1449250
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/2_eval_2_2afb9a1beef184590273.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2afb9a1beef18459027384888451a24b2d1097337e11c58f263d8f2652da5473
|
| 3 |
+
size 1459030
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/3_eval_3_3f13de8c1cf058ceccfd.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3f13de8c1cf058ceccfd9f7d89923048c5fe77f56744140af762e4a52a063fb4
|
| 3 |
+
size 1441720
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/media/videos/eval/4_eval_4_9d921c57a920655085ef.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9d921c57a920655085eff556536a59a60176aadeb38e3fd2e879763debea3738
|
| 3 |
+
size 1442675
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/output.log
ADDED
|
@@ -0,0 +1,273 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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] [1736211660.349319]: resetting environment
|
| 4 |
+
[INFO] [1736211660.353106]: cleared current plan
|
| 5 |
+
[INFO] [1736211660.353932]: moving to home
|
| 6 |
+
[INFO] [1736211662.356923]: reached home
|
| 7 |
+
[INFO] [1736211662.358652]: reset action history
|
| 8 |
+
[INFO] [1736211665.067761]: environment reset
|
| 9 |
+
Starting episode 0
|
| 10 |
+
[INFO] [1736211665.072186]: resetting environment
|
| 11 |
+
[INFO] [1736211665.076947]: cleared current plan
|
| 12 |
+
[INFO] [1736211665.077774]: moving to home
|
| 13 |
+
[INFO] [1736211666.080106]: reached home
|
| 14 |
+
[INFO] [1736211666.081390]: reset action history
|
| 15 |
+
[INFO] [1736211668.792786]: 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![INFO] [1736211673.372360]: resetting environment
|
| 18 |
+
[INFO] [1736211673.377371]: cleared current plan
|
| 19 |
+
[INFO] [1736211673.378291]: moving to home
|
| 20 |
+
[INFO] [1736211674.380775]: reached home
|
| 21 |
+
[INFO] [1736211674.381930]: reset action history
|
| 22 |
+
[INFO] [1736211677.090562]: environment reset
|
| 23 |
+
bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/episode_rosbags/episode_0_2025-01-06-20-01-17.bag
|
| 24 |
+
... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2103006.log
|
| 25 |
+
[1mstarted roslaunch server http://158.130.50.37:45743/
|
| 26 |
+
SUMMARY
|
| 27 |
+
========
|
| 28 |
+
PARAMETERS
|
| 29 |
+
* /rosdistro: noetic
|
| 30 |
+
* /rosversion: 1.16.0
|
| 31 |
+
NODES
|
| 32 |
+
/
|
| 33 |
+
print_text (rostopic/rostopic)
|
| 34 |
+
pub_text (rostopic/rostopic)
|
| 35 |
+
rosbag_record (rosbag/record)
|
| 36 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 37 |
+
[1mprocess[pub_text-1]: started with pid [2103297]
|
| 38 |
+
[1mprocess[print_text-2]: started with pid [2103321]
|
| 39 |
+
[1mprocess[rosbag_record-3]: started with pid [2103322]
|
| 40 |
+
started bagging!
|
| 41 |
+
For topic gripper_width: timestamp difference is 105638663 for nearest: 1736211679499960105 - target: 1736211679394321442 at idx 28
|
| 42 |
+
For topic gripper_width: timestamp difference is 113856143 for nearest: 1736211689899920529 - target: 1736211689786064386 at idx 171
|
| 43 |
+
For topic gripper_width: timestamp difference is -102568187 for nearest: 1736211710733212910 - target: 1736211710835781097 at idx 249
|
| 44 |
+
[INFO] [1736211711.926512]: Storing episode...
|
| 45 |
+
[rosbag_record-3] killing on exit
|
| 46 |
+
[print_text-2] killing on exit
|
| 47 |
+
[pub_text-1] killing on exit
|
| 48 |
+
[INFO] [1736211712.652085]: Stored episode 1.
|
| 49 |
+
[INFO] [1736211712.652358]: Saving video...
|
| 50 |
+
[INFO] [1736211712.843338]: Video saved!
|
| 51 |
+
Starting episode 1
|
| 52 |
+
[INFO] [1736211712.863166]: resetting environment
|
| 53 |
+
[INFO] [1736211712.879828]: cleared current plan
|
| 54 |
+
[INFO] [1736211712.880116]: moving to home
|
| 55 |
+
[INFO] [1736211716.586677]: reached home
|
| 56 |
+
[INFO] [1736211716.587105]: reset action history
|
| 57 |
+
[INFO] [1736211719.348493]: environment reset
|
| 58 |
+
Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
|
| 59 |
+
proceeding to start episode!
|
| 60 |
+
Comuting lower confidence bound
|
| 61 |
+
Comuting upper confidence bound
|
| 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 |
+
[INFO] [1736211721.057543]: resetting environment
|
| 69 |
+
[INFO] [1736211721.061523]: cleared current plan
|
| 70 |
+
[INFO] [1736211721.061725]: moving to home
|
| 71 |
+
[INFO] [1736211722.063168]: reached home
|
| 72 |
+
[INFO] [1736211722.063590]: reset action history
|
| 73 |
+
[INFO] [1736211724.773265]: environment reset
|
| 74 |
+
bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/episode_rosbags/episode_1_2025-01-06-20-02-04.bag
|
| 75 |
+
... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2103006.log
|
| 76 |
+
[1mstarted roslaunch server http://158.130.50.37:43525/
|
| 77 |
+
SUMMARY
|
| 78 |
+
========
|
| 79 |
+
PARAMETERS
|
| 80 |
+
* /rosdistro: noetic
|
| 81 |
+
* /rosversion: 1.16.0
|
| 82 |
+
NODES
|
| 83 |
+
/
|
| 84 |
+
print_text (rostopic/rostopic)
|
| 85 |
+
pub_text (rostopic/rostopic)
|
| 86 |
+
rosbag_record (rosbag/record)
|
| 87 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 88 |
+
[1mprocess[pub_text-4]: started with pid [2103446]
|
| 89 |
+
[1mprocess[print_text-5]: started with pid [2103447]
|
| 90 |
+
[1mprocess[rosbag_record-6]: started with pid [2103448]
|
| 91 |
+
started bagging!
|
| 92 |
+
For topic gripper_width: timestamp difference is 116652413 for nearest: 1736211727299890919 - target: 1736211727183238506 at idx 37
|
| 93 |
+
For topic gripper_width: timestamp difference is 121131386 for nearest: 1736211740299919810 - target: 1736211740178788424 at idx 224
|
| 94 |
+
For topic gripper_width: timestamp difference is 126882683 for nearest: 1736211747299919735 - target: 1736211747173037052 at idx 249
|
| 95 |
+
[INFO] [1736211759.492835]: Storing episode...
|
| 96 |
+
[pub_text-4] killing on exit[print_text-5] killing on exit
|
| 97 |
+
[rosbag_record-6] killing on exit
|
| 98 |
+
[INFO] [1736211760.225026]: Stored episode 2.
|
| 99 |
+
[INFO] [1736211760.225942]: Saving video...
|
| 100 |
+
[INFO] [1736211760.600671]: Video saved!
|
| 101 |
+
Starting episode 2
|
| 102 |
+
[INFO] [1736211760.633743]: resetting environment
|
| 103 |
+
[INFO] [1736211760.652103]: cleared current plan
|
| 104 |
+
[INFO] [1736211760.652822]: moving to home
|
| 105 |
+
[INFO] [1736211764.355531]: reached home
|
| 106 |
+
[INFO] [1736211764.357739]: reset action history
|
| 107 |
+
[INFO] [1736211767.079796]: environment reset
|
| 108 |
+
Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
|
| 109 |
+
proceeding to start episode!
|
| 110 |
+
Comuting lower confidence bound
|
| 111 |
+
Comuting upper confidence bound
|
| 112 |
+
Comuting lower confidence bound
|
| 113 |
+
Comuting upper confidence bound
|
| 114 |
+
Comuting lower confidence bound
|
| 115 |
+
Comuting upper confidence bound
|
| 116 |
+
Comuting lower confidence bound
|
| 117 |
+
Comuting upper confidence bound
|
| 118 |
+
[INFO] [1736211780.375838]: resetting environment
|
| 119 |
+
[INFO] [1736211780.386518]: cleared current plan
|
| 120 |
+
[INFO] [1736211780.386790]: moving to home
|
| 121 |
+
[INFO] [1736211781.388307]: reached home
|
| 122 |
+
[INFO] [1736211781.389590]: reset action history
|
| 123 |
+
[INFO] [1736211784.102747]: environment reset
|
| 124 |
+
bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/episode_rosbags/episode_2_2025-01-06-20-03-04.bag
|
| 125 |
+
... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2103006.log
|
| 126 |
+
[1mstarted roslaunch server http://158.130.50.37:33607/
|
| 127 |
+
SUMMARY
|
| 128 |
+
========
|
| 129 |
+
PARAMETERS
|
| 130 |
+
* /rosdistro: noetic
|
| 131 |
+
* /rosversion: 1.16.0
|
| 132 |
+
NODES
|
| 133 |
+
/
|
| 134 |
+
print_text (rostopic/rostopic)
|
| 135 |
+
pub_text (rostopic/rostopic)
|
| 136 |
+
rosbag_record (rosbag/record)
|
| 137 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 138 |
+
[1mprocess[pub_text-7]: started with pid [2103590]
|
| 139 |
+
[1mprocess[print_text-8]: started with pid [2103591]
|
| 140 |
+
[1mprocess[rosbag_record-9]: started with pid [2103592]
|
| 141 |
+
started bagging!
|
| 142 |
+
For topic gripper_width: timestamp difference is 105822448 for nearest: 1736211803833250884 - target: 1736211803727428436 at idx 249
|
| 143 |
+
For topic gripper_width: timestamp difference is 108203384 for nearest: 1736211806699958774 - target: 1736211806591755390 at idx 249
|
| 144 |
+
[INFO] [1736211818.940250]: Storing episode...
|
| 145 |
+
[rosbag_record-9] killing on exit
|
| 146 |
+
[print_text-8] killing on exit
|
| 147 |
+
[pub_text-7] killing on exit
|
| 148 |
+
[INFO] [1736211819.673929]: Stored episode 3.
|
| 149 |
+
[INFO] [1736211819.677274]: Saving video...
|
| 150 |
+
[INFO] [1736211820.350251]: Video saved!
|
| 151 |
+
Starting episode 3
|
| 152 |
+
[INFO] [1736211820.403688]: resetting environment
|
| 153 |
+
[INFO] [1736211820.434097]: cleared current plan
|
| 154 |
+
[INFO] [1736211820.438171]: moving to home
|
| 155 |
+
[33m[WARN] [1736211820.315088]: Plan exhausted
|
| 156 |
+
[33m[WARN] [1736211820.363302]: Plan exhausted
|
| 157 |
+
[33m[WARN] [1736211820.395109]: Plan exhausted
|
| 158 |
+
[INFO] [1736211824.040593]: reached home
|
| 159 |
+
[INFO] [1736211824.043114]: reset action history
|
| 160 |
+
[INFO] [1736211826.773317]: environment reset
|
| 161 |
+
Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
|
| 162 |
+
proceeding to start episode!Comuting lower confidence bound
|
| 163 |
+
Comuting upper confidence bound
|
| 164 |
+
Comuting lower confidence bound
|
| 165 |
+
Comuting upper confidence bound
|
| 166 |
+
Comuting lower confidence bound
|
| 167 |
+
Comuting upper confidence bound
|
| 168 |
+
Comuting lower confidence bound
|
| 169 |
+
Comuting upper confidence bound
|
| 170 |
+
[INFO] [1736211829.791981]: resetting environment
|
| 171 |
+
[INFO] [1736211829.800776]: cleared current plan
|
| 172 |
+
[INFO] [1736211829.801183]: moving to home
|
| 173 |
+
[INFO] [1736211830.802690]: reached home
|
| 174 |
+
[INFO] [1736211830.809264]: reset action history
|
| 175 |
+
[INFO] [1736211833.535059]: environment reset
|
| 176 |
+
bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/episode_rosbags/episode_3_2025-01-06-20-03-53.bag
|
| 177 |
+
... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2103006.log
|
| 178 |
+
[1mstarted roslaunch server http://158.130.50.37:42249/
|
| 179 |
+
SUMMARY
|
| 180 |
+
========
|
| 181 |
+
PARAMETERS
|
| 182 |
+
* /rosdistro: noetic
|
| 183 |
+
* /rosversion: 1.16.0
|
| 184 |
+
NODES
|
| 185 |
+
/
|
| 186 |
+
print_text (rostopic/rostopic)
|
| 187 |
+
pub_text (rostopic/rostopic)
|
| 188 |
+
rosbag_record (rosbag/record)
|
| 189 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 190 |
+
[1mprocess[pub_text-10]: started with pid [2103731]
|
| 191 |
+
[1mprocess[print_text-11]: started with pid [2103732]
|
| 192 |
+
[1mprocess[rosbag_record-12]: started with pid [2103756]
|
| 193 |
+
started bagging!
|
| 194 |
+
For topic gripper_width: timestamp difference is -107224260 for nearest: 1736211836433251347 - target: 1736211836540475607 at idx 43
|
| 195 |
+
[INFO] [1736211868.365720]: Storing episode...
|
| 196 |
+
[rosbag_record-12] killing on exit
|
| 197 |
+
[pub_text-10] killing on exit
|
| 198 |
+
[print_text-11] killing on exit
|
| 199 |
+
[INFO] [1736211869.108990]: Stored episode 4.
|
| 200 |
+
[INFO] [1736211869.111494]: Saving video...
|
| 201 |
+
[INFO] [1736211869.549411]: Video saved!
|
| 202 |
+
Starting episode 4
|
| 203 |
+
[INFO] [1736211869.601057]: resetting environment
|
| 204 |
+
[INFO] [1736211869.627710]: cleared current plan
|
| 205 |
+
[INFO] [1736211869.629492]: moving to home
|
| 206 |
+
[INFO] [1736211873.237368]: reached home
|
| 207 |
+
[INFO] [1736211873.246453]: reset action history
|
| 208 |
+
[INFO] [1736211876.031523]: environment reset
|
| 209 |
+
Press Enter to continue... after reseting env. To rate prev episode, press 0 for failure and 1 for success
|
| 210 |
+
proceeding to start episode!Comuting lower confidence bound
|
| 211 |
+
Comuting upper confidence bound
|
| 212 |
+
Comuting lower confidence bound
|
| 213 |
+
Comuting upper confidence bound
|
| 214 |
+
Comuting lower confidence bound
|
| 215 |
+
Comuting upper confidence bound
|
| 216 |
+
Comuting lower confidence bound
|
| 217 |
+
Comuting upper confidence bound
|
| 218 |
+
[INFO] [1736211878.738951]: resetting environment
|
| 219 |
+
[INFO] [1736211878.766559]: cleared current plan
|
| 220 |
+
[INFO] [1736211878.768920]: moving to home
|
| 221 |
+
[INFO] [1736211879.773239]: reached home
|
| 222 |
+
[INFO] [1736211879.775372]: reset action history
|
| 223 |
+
[INFO] [1736211882.502597]: environment reset
|
| 224 |
+
bag_path_name:=/home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/episode_rosbags/episode_4_2025-01-06-20-04-42.bag
|
| 225 |
+
... logging to /home/leonmkim/.ros/log/a8a09c64-c64e-11ef-96d2-5defea869005/roslaunch-leonmkim-ROG-Strix-G15CS-G15CS-2103006.log
|
| 226 |
+
[1mstarted roslaunch server http://158.130.50.37:38215/
|
| 227 |
+
SUMMARY
|
| 228 |
+
========
|
| 229 |
+
PARAMETERS
|
| 230 |
+
* /rosdistro: noetic
|
| 231 |
+
* /rosversion: 1.16.0
|
| 232 |
+
NODES
|
| 233 |
+
/
|
| 234 |
+
print_text (rostopic/rostopic)
|
| 235 |
+
pub_text (rostopic/rostopic)
|
| 236 |
+
rosbag_record (rosbag/record)
|
| 237 |
+
[1mROS_MASTER_URI=http://localhost:11311
|
| 238 |
+
[1mprocess[pub_text-13]: started with pid [2103873]
|
| 239 |
+
[1mprocess[print_text-14]: started with pid [2103874]
|
| 240 |
+
[1mprocess[rosbag_record-15]: started with pid [2103898]
|
| 241 |
+
started bagging!
|
| 242 |
+
For topic gripper_width: timestamp difference is 106997889 for nearest: 1736211887899872464 - target: 1736211887792874575 at idx 80
|
| 243 |
+
[INFO] [1736211917.238783]: Storing episode...
|
| 244 |
+
[rosbag_record-15] killing on exit
|
| 245 |
+
[print_text-14] killing on exit
|
| 246 |
+
[pub_text-13] killing on exit
|
| 247 |
+
[INFO] [1736211917.988698]: Stored episode 5.
|
| 248 |
+
[INFO] [1736211917.993749]: Saving video...
|
| 249 |
+
[INFO] [1736211918.322463]: Video saved!
|
| 250 |
+
[INFO] [1736211918.366302]: resetting environment
|
| 251 |
+
[INFO] [1736211918.383186]: cleared current plan
|
| 252 |
+
[INFO] [1736211918.384957]: moving to home
|
| 253 |
+
[INFO] [1736211922.090842]: reached home
|
| 254 |
+
[INFO] [1736211922.094313]: reset action history
|
| 255 |
+
[INFO] [1736211924.873733]: environment reset
|
| 256 |
+
Evaluation finished. To wrap up, rate prev episode, press 0 for failure and 1 for success
|
| 257 |
+
proceeding to start episode!Comuting lower confidence bound
|
| 258 |
+
Comuting upper confidence bound
|
| 259 |
+
Comuting lower confidence bound
|
| 260 |
+
Comuting upper confidence bound
|
| 261 |
+
Comuting lower confidence bound
|
| 262 |
+
Comuting upper confidence bound
|
| 263 |
+
Comuting lower confidence bound
|
| 264 |
+
Comuting upper confidence bound
|
| 265 |
+
Comuting lower confidence bound
|
| 266 |
+
Comuting upper confidence bound
|
| 267 |
+
Comuting lower confidence bound
|
| 268 |
+
Comuting upper confidence bound
|
| 269 |
+
Comuting lower confidence bound
|
| 270 |
+
Comuting upper confidence bound
|
| 271 |
+
Comuting lower confidence bound
|
| 272 |
+
Comuting upper confidence bound
|
| 273 |
+
proceeding to start episode!
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/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
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/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-07T01:00:57.108553",
|
| 5 |
+
"startedAt": "2025-01-07T01:00:56.734702",
|
| 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": "22931875031f38fc79957f52ac8e49b1fb3d9fdc"
|
| 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": 3748.1562499999995,
|
| 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": 4499.96,
|
| 41 |
+
"min": 800.0,
|
| 42 |
+
"max": 4700.0
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"current": 4485.267,
|
| 46 |
+
"min": 800.0,
|
| 47 |
+
"max": 4700.0
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"current": 3000.0,
|
| 51 |
+
"min": 800.0,
|
| 52 |
+
"max": 4700.0
|
| 53 |
+
},
|
| 54 |
+
{
|
| 55 |
+
"current": 3000.0,
|
| 56 |
+
"min": 800.0,
|
| 57 |
+
"max": 4700.0
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"current": 3000.0,
|
| 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": 426.1226806640625
|
| 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 |
+
}
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/files/wandb-summary.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"eval/0_eval": {"_type": "video-file", "sha256": "10ebed5c632009219ad7d9302f7f5a63e08a512951d50a98abbf25a2373cb531", "size": 1449386, "path": "media/videos/eval/0_eval_0_10ebed5c632009219ad7.mp4"}, "global_step": 665, "_timestamp": 1736211928.1644485, "_runtime": 271.41880440711975, "_step": 11, "eval/1_eval": {"_type": "video-file", "sha256": "fb1fe7858735fb8913041554892c4674ef9522fc367fbfd3a84fc79cccefb279", "size": 1449250, "path": "media/videos/eval/1_eval_1_fb1fe7858735fb891304.mp4"}, "eval/num_success": 5.0, "episode": 15.0, "eval/success_rate": 1.0, "eval/success_rate_lb_0.01": 0.4496806859970093, "eval/success_rate_ub_0.01": 1.0, "eval/success_rate_lb_0.025": 0.4799937605857849, "eval/success_rate_ub_0.025": 1.0, "eval/success_rate_lb_0.05": 0.6638181209564209, "eval/success_rate_ub_0.05": 1.0, "eval/success_rate_lb_0.1": 1.0, "eval/success_rate_ub_0.1": 1.0, "eval/2_eval": {"_type": "video-file", "sha256": "2afb9a1beef18459027384888451a24b2d1097337e11c58f263d8f2652da5473", "size": 1459030, "path": "media/videos/eval/2_eval_2_2afb9a1beef184590273.mp4"}, "eval/3_eval": {"_type": "video-file", "sha256": "3f13de8c1cf058ceccfd9f7d89923048c5fe77f56744140af762e4a52a063fb4", "size": 1441720, "path": "media/videos/eval/3_eval_3_3f13de8c1cf058ceccfd.mp4"}, "eval/4_eval": {"_type": "video-file", "sha256": "9d921c57a920655085eff556536a59a60176aadeb38e3fd2e879763debea3738", "size": 1442675, "path": "media/videos/eval/4_eval_4_9d921c57a920655085ef.mp4"}, "eval/success_rate_ci": {"_type": "table-file", "sha256": "1b420c32327aa0ba7f7504ab8676a845cd69d26134af4445f97766065563f5e1", "size": 313, "artifact_path": "wandb-client-artifact://jft1k4fixqt5wpmefrdydckl5ld0l6qdgudzwgruon76ah6qyrphzb7t9d39bsafer2vqystwm9phrk32ifrj309a2iskd1n0qxemw5ikp5cece1osia8xr8l7hhrjdh/eval/success_rate_ci.table.json", "_latest_artifact_path": "wandb-client-artifact://m9bhfddm3dw6wlufuyezxnjlhnmfnt9jwekewwsb9oxh3jcjr9g96eftw44akjxhcmj8rkft95b5kijlti8cx9x23ur8vzuqae9p1rdumhul56io2ewycb93vwx3vkpm:latest/eval/success_rate_ci.table.json", "path": "media/table/eval/success_rate_ci_5_1b420c32327aa0ba7f75.table.json", "ncols": 9, "nrows": 1}, "total_num_successes": 15, "total_num_episodes": 15, "total_success_rate": 1.0, "total_success_rate_lb_0.01": 0.7578194736918749, "total_success_rate_ub_0.01": 1, "total_success_rate_lb_0.025": 0.8468897341988106, "total_success_rate_ub_0.025": 1, "total_success_rate_lb_0.05": 0.881214111967138, "total_success_rate_ub_0.05": 1, "total_success_rate_lb_0.1": 0.8713090381773767, "total_success_rate_ub_0.1": 1, "eval/total_success_rate_ci": {"_type": "table-file", "sha256": "9da6f5d41b864e33184be83bfe8ab58f23a3014178f464aa2b357614b8c56bf4", "size": 436, "artifact_path": "wandb-client-artifact://id9jysy59wt70c2u1kj5qyrwstfg7hcje75qaitmx95oh5ht6lce4gmm0mnwqulpt0gvsiya4a44sf3ppwx7l8vuxhi4z371sxxozl4g6x7esjpgb9kt92qtfwt2hlkx/eval/total_success_rate_ci.table.json", "_latest_artifact_path": "wandb-client-artifact://norhbvik73o744fmbdoauv1oswcoi9q7h4hfqin5hzibxg2ystagw07wt5ma2kl9wauswcj57bcmwa0hxtew8n74n1emmeu3el3d7up1uqhat6dih0j9ol3ko3bjastr:latest/eval/total_success_rate_ci.table.json", "path": "media/table/eval/total_success_rate_ci_6_9da6f5d41b864e33184b.table.json", "ncols": 11, "nrows": 1}, "_wandb": {"runtime": 271}, "eval/total_success_rate": 1.0, "eval/total_success_rate_lb_0.01": 0.7578194737434387, "eval/total_success_rate_ub_0.01": 1.0, "eval/total_success_rate_lb_0.025": 0.8468897342681885, "eval/total_success_rate_ub_0.025": 1.0, "eval/total_success_rate_lb_0.05": 0.8812140822410583, "eval/total_success_rate_ub_0.05": 1.0, "eval/total_success_rate_lb_0.1": 0.8713090419769287, "eval/total_success_rate_ub_0.1": 1.0}
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/logs/debug-internal.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/logs/debug.log
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Current SDK version is 0.17.5
|
| 2 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Configure stats pid to 2103006
|
| 3 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/.config/wandb/settings
|
| 4 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Loading settings from /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/wandb/settings
|
| 5 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
|
| 6 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
|
| 7 |
+
2025-01-06 20:00:56,738 INFO MainThread:2103006 [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-06 20:00:56,738 INFO MainThread:2103006 [wandb_setup.py:_flush():76] Applying login settings: {}
|
| 9 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:_log_setup():529] Logging user logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/wandb/run-20250106_200056-up4gjipz/logs/debug.log
|
| 10 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:_log_setup():530] Logging internal logs to /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/wandb/run-20250106_200056-up4gjipz/logs/debug-internal.log
|
| 11 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:init():569] calling init triggers
|
| 12 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:init():576] wandb.init called with sweep_config: {}
|
| 13 |
+
config: {'root_dir': '/home/leonmkim/fish_leon', 'replay_buffer_size': 150000, 'replay_buffer_num_workers': 2, 'nstep': 3, 'batch_size': 128, 'seed': 0, 'dataset_shuffle_seed': 1, 'device': 'cuda', 'save_video': True, 'save_train_video': True, 'use_tb': True, 'use_wandb': True, 'wandb_run_id': '1017_0', 'wandb_notes': '1017_0_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/1017_0', 'agent': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgent', 'name': 'diffusion_policy', 'load_checkpoint': True, 'device': 'cuda', 'n_obs_steps': 1, 'suite_name': 'frankagym', 'obs_type': 'pixels', 'enable_arm': True, 'enable_camera': True, 'use_tb': True, 'desired_image_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'config': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgentConfig', 'compile': False, 'device': 'cuda', 'cam_resize_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'policy_frequency': 5, 'interpolation_frequency': 25, 'policy_cfg': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig', 'n_obs_steps': 1, 'horizon': 36, 'n_action_steps': 36, 'output_shapes': {'action': [7]}, 'input_normalization_modes': {'observation.image': 'mean_std', 'observation.state': 'min_max', 'observation.action_history': 'min_max'}, 'output_normalization_modes': {'action': 'min_max'}, 'vision_backbone': 'resnet18', 'pretrained_backbone_weights': None, 'transforms': [{'_target_': 'torchaug.transforms.RandomAffine', 'degrees': [-5, 5], 'translate': [0.05, 0.05], 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}, {'_target_': 'torchaug.transforms.RandomColorJitter', 'brightness': 0.3, 'contrast': 0.4, 'saturation': 0.5, 'hue': 0.08, 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}], 'use_group_norm': True, 'spatial_softmax_num_keypoints': 32, 'action_history_encoder_config': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig', 'in_channels': 7, 'out_channels': 32, 'history_length': 6, 'kernel_size': 5, 'downsample_kernel_size': 3, 'downsample_stride': 2, 'downsample_padding': 1}, 'down_dims': [256, 512, 1024], 'kernel_size': 5, 'n_groups': 8, 'diffusion_step_embed_dim': 128, 'use_film_scale_modulation': True, 'noise_scheduler_type': 'DDIM', 'beta_schedule': 'squaredcos_cap_v2', 'beta_start': 0.0001, 'beta_end': 0.02, 'prediction_type': 'epsilon', 'clip_sample': True, 'clip_sample_range': 1.0, 'num_train_timesteps': 50, 'num_inference_steps': 10, 'do_mask_loss_for_padding': False, 'input_shapes': {'observation.image': [13, 180, 240], 'context_observation.image': [13, 180, 240], 'observation.state': [8], 'observation.action_history': [7]}}, 'train_cfg': {'_target_': 'utils.TrainConfig', 'lr': 0.0001, 'lr_scheduler': 'cosine', 'lr_warmup_steps': 500, 'adam_betas': [0.95, 0.999], 'adam_eps': 1e-08, 'adam_weight_decay': 1e-06, 'grad_clip_norm': 10, 'offline_steps': 1000000, 'use_amp': True}, 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': True, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': 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': 0, 'enable_arm': True, 'enable_gripper': True, 'start_with_gripper_open': True, 'enable_camera': True, 'path_to_depth_extrinsics': '~/fish_leon/FISH/cfgs/camera_poses/camera_poses_L515/20240904-122305/color_tf_world.npy', 'contact_estimation_model_ckpt_path': '~/fish_leon/contact_estimation/artifacts/175604_2/checkpoints/epoch=09-val_loss=0.00.ckpt', 'x_limit': [0.2, 0.7], 'y_limit': [-0.4, 0.4], 'z_limit': [-0.05, 0.55], 'device': 'cuda', 'interpolation_frequency': 25, 'policy_frequency': 5, 'debug_timestamps': False, 'stop_after_action': False, 'open_loop': False, 'wait_for_new_camera_frames': True, 'action_key': 'action_trajectory_25hz', 'action_trajectory_horizon': 36, 'action_trajectories': True, 'path_to_zarr_dataset': '/home/leonmkim/fish_leon/FISH/expert_demos/frankagym/FrankaInsertion-v1/120_240x320_all_twodim_left_to_right_annotated_start_idx_5hz_zstd7_EE_pxl_coords_expert_demos_imp_act/demos.zarr', 'agent_policy_cfg': {'_target_': 'agent.diffusion_policy.DiffusionPolicyAgentConfig', 'compile': False, 'device': 'cuda', 'cam_resize_shape': [13, 180, 240], 'orig_cam_shape': [3, 240, 320], 'policy_frequency': 5, 'interpolation_frequency': 25, 'policy_cfg': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.DiffusionConfig', 'n_obs_steps': 1, 'horizon': 36, 'n_action_steps': 36, 'output_shapes': {'action': [7]}, 'input_normalization_modes': {'observation.image': 'mean_std', 'observation.state': 'min_max', 'observation.action_history': 'min_max'}, 'output_normalization_modes': {'action': 'min_max'}, 'vision_backbone': 'resnet18', 'pretrained_backbone_weights': None, 'transforms': [{'_target_': 'torchaug.transforms.RandomAffine', 'degrees': [-5, 5], 'translate': [0.05, 0.05], 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}, {'_target_': 'torchaug.transforms.RandomColorJitter', 'brightness': 0.3, 'contrast': 0.4, 'saturation': 0.5, 'hue': 0.08, 'batch_transform': True, 'num_chunks': -1, 'batch_inplace': True}], 'use_group_norm': True, 'spatial_softmax_num_keypoints': 32, 'action_history_encoder_config': {'_target_': 'lerobot.common.policies.diffusion.configuration_diffusion.Unet1dEncoderConfig', 'in_channels': 7, 'out_channels': 32, 'history_length': 6, 'kernel_size': 5, 'downsample_kernel_size': 3, 'downsample_stride': 2, 'downsample_padding': 1}, 'down_dims': [256, 512, 1024], 'kernel_size': 5, 'n_groups': 8, 'diffusion_step_embed_dim': 128, 'use_film_scale_modulation': True, 'noise_scheduler_type': 'DDIM', 'beta_schedule': 'squaredcos_cap_v2', 'beta_start': 0.0001, 'beta_end': 0.02, 'prediction_type': 'epsilon', 'clip_sample': True, 'clip_sample_range': 1.0, 'num_train_timesteps': 50, 'num_inference_steps': 10, 'do_mask_loss_for_padding': False, 'input_shapes': {'observation.image': [13, 180, 240], 'context_observation.image': [13, 180, 240], 'observation.state': [8], 'observation.action_history': [7]}}, 'train_cfg': {'_target_': 'utils.TrainConfig', 'lr': 0.0001, 'lr_scheduler': 'cosine', 'lr_warmup_steps': 500, 'adam_betas': [0.95, 0.999], 'adam_eps': 1e-08, 'adam_weight_decay': 1e-06, 'grad_clip_norm': 10, 'offline_steps': 1000000, 'use_amp': True}, 'observation_cfg': {'_target_': 'agent.encoder.VisualFeatureSet', 'use_depth': True, 'use_color': True, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': True, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}, 'context_input_config': {'_target_': 'agent.encoder.ContextInputConfig', 'use_color': False, 'use_depth': False, 'mask_input_dict': {'_target_': 'agent.encoder.MaskInputDict', 'enable': False, 'representation': 'channels', 'mask_list': ['EE_obj_mask']}, 'crop_input_config': {'_target_': 'agent.encoder.CropInputConfig', 'color_crop_type': None, 'depth_crop_type': None, 'segmask_crop_type': None, 'crop_hw': [144, 144], 'crop_down_offset': 48, 'add_crop_binary_mask': False, 'add_coord_conv_map': False}}, 'mask_soft_approx_scheduler_config': {'_target_': 'agent.encoder.MaskSoftApproxSchedulerConfig', 'num_steps': 40000, 'initial_value': 10.0, 'final_value': 1000.0, 'interpolation_scheme': 'cosine'}, 'use_contact_map': 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/1017_0', 'residual_weight': '/home/leonmkim/fish_leon/FISH/weights/frankagym_pixels/FrankaInsertion-v1/weight.pt', 'final_experiment_dir': './exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz'}
|
| 14 |
+
2025-01-06 20:00:56,739 INFO MainThread:2103006 [wandb_init.py:init():619] starting backend
|
| 15 |
+
2025-01-06 20:00:56,740 INFO MainThread:2103006 [wandb_init.py:init():623] setting up manager
|
| 16 |
+
2025-01-06 20:00:56,744 INFO MainThread:2103006 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
|
| 17 |
+
2025-01-06 20:00:56,745 INFO MainThread:2103006 [wandb_init.py:init():631] backend started and connected
|
| 18 |
+
2025-01-06 20:00:56,757 INFO MainThread:2103006 [wandb_init.py:init():720] updated telemetry
|
| 19 |
+
2025-01-06 20:00:56,769 INFO MainThread:2103006 [wandb_init.py:init():753] communicating run to backend with 90.0 second timeout
|
| 20 |
+
2025-01-06 20:00:57,041 INFO MainThread:2103006 [wandb_run.py:_on_init():2435] communicating current version
|
| 21 |
+
2025-01-06 20:00:57,083 INFO MainThread:2103006 [wandb_run.py:_on_init():2444] got version response upgrade_message: "wandb version 0.19.1 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
|
| 22 |
+
|
| 23 |
+
2025-01-06 20:00:57,084 INFO MainThread:2103006 [wandb_init.py:init():804] starting run threads in backend
|
| 24 |
+
2025-01-06 20:00:57,447 INFO MainThread:2103006 [wandb_run.py:_console_start():2413] atexit reg
|
| 25 |
+
2025-01-06 20:00:57,447 INFO MainThread:2103006 [wandb_run.py:_redirect():2255] redirect: wrap_raw
|
| 26 |
+
2025-01-06 20:00:57,447 INFO MainThread:2103006 [wandb_run.py:_redirect():2320] Wrapping output streams.
|
| 27 |
+
2025-01-06 20:00:57,447 INFO MainThread:2103006 [wandb_run.py:_redirect():2345] Redirects installed.
|
| 28 |
+
2025-01-06 20:00:57,448 INFO MainThread:2103006 [wandb_init.py:init():847] run started, returning control to user process
|
| 29 |
+
2025-01-06 20:00:57,448 INFO MainThread:2103006 [wandb_run.py:_tensorboard_callback():1544] tensorboard callback: /home/leonmkim/fish_leon/FISH/exp_local/frankagym_pixels/FrankaInsertion-v1/1017_0/up4gjipz/tb, True
|
| 30 |
+
2025-01-06 20:01:00,348 INFO MainThread:2103006 [wandb_run.py:_config_callback():1382] config_cb None None {'grasped_obj_name': 'fowlers', 'left_book_slot': 'twodim'}
|
| 31 |
+
2025-01-06 20:05:40,743 WARNING MsgRouterThr:2103006 [router.py:message_loop():77] message_loop has been closed
|
up4gjipz/wandb/run-20250106_200056-up4gjipz/run-up4gjipz.wandb
ADDED
|
Binary file (78.2 kB). View file
|
|
|