diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..a2ffb96ab9e11b0ccad6e4db0e076bb0e0dc0cc6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,8 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.gif filter=lfs diff=lfs merge=lfs -text +*.mp4 filter=lfs diff=lfs merge=lfs -text diff --git a/models/Robometer-4B/.gitattributes b/models/Robometer-4B/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..a6344aac8c09253b3b630fb776ae94478aa0275b --- /dev/null +++ b/models/Robometer-4B/.gitattributes @@ -0,0 +1,35 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/models/Robometer-4B/README.md b/models/Robometer-4B/README.md new file mode 100644 index 0000000000000000000000000000000000000000..56bba2ae87aaf12df16875608debec55fb42771c --- /dev/null +++ b/models/Robometer-4B/README.md @@ -0,0 +1,66 @@ +--- +license: apache-2.0 +base_model: Qwen/Qwen3-VL-4B-Instruct +tags: + - reward model + - robot learning + - foundation models +library_name: transformers +--- + +# Robometer 4B + +**Paper:** [arXiv (Coming Soon)](https://arxiv.org/) + +**Robometer** is a general-purpose vision-language reward model for robotics. It is trained on [RBM-1M](https://huggingface.co/datasets/) with **Qwen3-VL-4B** to predict **per-frame progress**, **per-frame success**, and **trajectory preferences** from rollout videos. The model combines (1) frame-level progress supervision on expert data and (2) trajectory-comparison preference supervision, so it can learn from both successful and failed rollouts and generalize across diverse robot embodiments and tasks. + +Given a **task instruction** and a **rollout video** (or frame sequence), the model predicts: + +- **Per-frame progress** — continuous progress values over time (e.g. 0–1 or binned). +- **Per-frame success** — success probability (or binary) at each timestep. +- **Preference / ranking** — which of two trajectories is better for the task. + +### Usage + +For full setup, example scripts, and configs, see the **GitHub repo**: [github.com/robometer/robometer](https://github.com/robometer/robometer). + +**Option 1 — Run the model locally** (loads this checkpoint from Hugging Face): + +```bash +uv run python scripts/example_inference_local.py \ + --model-path robometer/Robometer-4B \ + --video /path/to/video.mp4 \ + --task "your task description" +``` + +**Option 2 — Use the evaluation server** (start server, then run client): + +```bash +# Start server +uv run python robometer/evals/eval_server.py \ + --config-path=robometer/configs \ + --config-name=eval_config_server \ + model_path=robometer/Robometer-4B \ + server_url=0.0.0.0 \ + server_port=8000 + +# Client (no robometer dependency) +uv run python scripts/example_inference.py \ + --eval-server-url http://localhost:8000 \ + --video /path/to/video.mp4 \ + --task "your task description" +``` + +## Citation + +If you use this model, please cite: + +```bibtex +@misc{liang2026robometer, + title={Robometer: Scaling General-Purpose Robotic Reward Models via Trajectory Comparisons}, + author={Anthony Liang* and Yigit Korkmaz* and Jiahui Zhang and Minyoung Hwang and Abrar Anwar and Sidhant Kaushik and Aditya Shah and Alex S. Huang and Luke Zettlemoyer and Dieter Fox and Yu Xiang and Anqi Li and Andreea Bobu and Abhishek Gupta and Stephen Tu† and Erdem B{\i}y{\i}k† and Jesse Zhang†}, + year={2026}, + url={https://github.com/robometer/robometer}, + note={arXiv coming soon} +} +``` diff --git a/models/Robometer-4B/config.json b/models/Robometer-4B/config.json new file mode 100644 index 0000000000000000000000000000000000000000..33c5aa8c1d3a0bee0164762f9a10d19f6675978b --- /dev/null +++ b/models/Robometer-4B/config.json @@ -0,0 +1,68 @@ +{ + "architectures": [ + "RFM" + ], + "dtype": "bfloat16", + "image_token_id": 151655, + "model_type": "qwen3_vl", + "pad_token_id": 151654, + "text_config": { + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 151643, + "dtype": "bfloat16", + "eos_token_id": 151645, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 2560, + "initializer_range": 0.02, + "intermediate_size": 9728, + "max_position_embeddings": 262144, + "model_type": "qwen3_vl_text", + "num_attention_heads": 32, + "num_hidden_layers": 36, + "num_key_value_heads": 8, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_interleaved": true, + "mrope_section": [ + 24, + 20, + 20 + ], + "rope_type": "default" + }, + "rope_theta": 5000000, + "tie_word_embeddings": true, + "use_cache": true, + "vocab_size": 151674 + }, + "tie_word_embeddings": true, + "transformers_version": "4.57.2", + "unsloth_fixed": true, + "unsloth_version": "2025.10.11", + "video_token_id": 151656, + "vision_config": { + "deepstack_visual_indexes": [ + 5, + 11, + 17 + ], + "depth": 24, + "dtype": "bfloat16", + "hidden_act": "gelu_pytorch_tanh", + "hidden_size": 1024, + "in_channels": 3, + "initializer_range": 0.02, + "intermediate_size": 4096, + "model_type": "qwen3_vl", + "num_heads": 16, + "num_position_embeddings": 2304, + "out_hidden_size": 2560, + "patch_size": 16, + "spatial_merge_size": 2, + "temporal_patch_size": 2 + }, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652 +} diff --git a/models/Robometer-4B/config.yaml b/models/Robometer-4B/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d17e3b626ac795163d498bea33a735296f3cb886 --- /dev/null +++ b/models/Robometer-4B/config.yaml @@ -0,0 +1,187 @@ +custom_eval: + comparisons_per_task: 5 + confusion_matrix: + - mw + custom_eval_random_seed: 42 + eval_types: + - reward_alignment + - policy_ranking + num_examples_per_quality_pr: 5 + num_partial_successes: 5 + pad_frames: true + policy_ranking: + - rbm-1m-ood + policy_ranking_max_tasks: 100 + quality_preference: + - mw + reward_alignment: + - rbm-1m-id + - rbm-1m-ood + reward_alignment_max_trajectories: 10 + subsample_n_frames: null + use_frame_steps: true +data: + data_source_weights: + metaworld_train: 1.0 + molmoact_dataset_household: 1.0 + molmoact_dataset_tabletop: 1.0 + oxe_droid: 1.0 + roboarena: 1.0 + dataloader_num_workers: 8 + dataloader_persistent_workers: true + dataloader_pin_memory: true + dataset_preference_ratio: 0.7 + dataset_success_cutoff_file: robometer/data/dataset_success_cutoff.txt + dataset_type: strategy_first + eval_datasets: + - mw + eval_subset_size: null + load_embeddings: false + max_frames: 8 + max_frames_after_preprocessing: 64 + max_success: 1.0 + max_trajectories: -1 + min_frames_per_trajectory: 5 + min_success: 0.5 + partial_success_threshold: 0.2 + predict_last_frame_partial_progress: false + preference_strategy_ratio: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + progress_discrete_bins: 10 + progress_loss_type: discrete + progress_pred_type: absolute_wrt_total_frames + progress_strategy_ratio: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + resized_height: null + resized_width: null + sample_type_ratio: + - 1.0 + - 0.0 + - 0.0 + seed: 42 + shuffle: true + shuffle_progress_frames: false + train_datasets: + - rbm-1m-id + traj_same_source_prob: 0.5 + use_multi_image: true + use_per_frame_progress_token: true +debug: false +logging: + log_level: debug + log_to: + - wandb + save_best: + greater_is_better: + - true + - true + - true + - true + - true + hub_private: false + hub_save_every: 1000 + hub_token: null + keep_top_k: 5 + metric_names: + - eval_p_rank/kendall_last_utd_so101_clean_top + - eval_p_rank/kendall_last_usc_xarm + - eval_p_rank/kendall_last_usc_franka + - eval_p_rank/kendall_last_rfm_new_mit_franka_nowrist + - eval_p_rank/kendall_last_usc_trossen + save_every: 250 + upload_to_hub: false + save_model: true + save_processor: true + wandb_entity: clvr + wandb_mode: null + wandb_notes: all run with prog_token per frame, qwen 4b, discrete progress, 10 bins + wandb_project: robometer +loss: + predict_last_frame_progress: false + progress_discrete_bins: 10 + progress_loss_type: discrete + success_positive_weight: 1.0 +mode: train +model: + average_temporal_patches: true + base_model_id: Qwen/Qwen3-VL-4B-Instruct + frame_pooling: mean + frame_pooling_attn_temperature: 1.0 + model_type: default + peft_vision_encoder: false + progress_discrete_bins: 10 + progress_loss_type: discrete + quantization: false + rewind: null + torch_dtype: bfloat16 + train_language_model: true + train_preference_head: true + train_progress_head: true + train_success_head: true + train_vision_encoder: false + trust_remote_code: true + use_multi_image: true + use_peft: false + use_per_frame_progress_token: true + use_unsloth: true +peft: + bias: none + lora_alpha: 64 + lora_dropout: 0.05 + peft_vision_encoder: false + r: 32 + target_modules: + - q_proj + - k_proj + - v_proj + - o_proj + - gate_proj + - up_proj + - down_proj +trainer_cls: rbm_heads +training: + beta: 0.1 + bf16: true + custom_eval_steps: 250 + dataloader_num_workers: 8 + dataloader_persistent_workers: true + dataloader_pin_memory: true + ddp_bucket_cap_mb: 25 + ddp_find_unused_parameters: false + do_eval: true + eval_steps: 250 + evaluation_strategy: steps + exp_name: ant_rfm_qwen4b_4gpu_bs16_pref_prog_succ_8_frames_all_discrete_10_bins_part2 + fp16: false + gradient_accumulation_steps: 1 + gradient_checkpointing: true + learning_rate: 2.0e-05 + logging_steps: 1 + lr_scheduler_type: cosine + max_grad_norm: 10.0 + max_seq_length: 1024 + max_steps: 15000 + num_gpus: 2 + num_train_epochs: -1 + output_dir: ./logs + overwrite_output_dir: true + per_device_eval_batch_size: 16 + per_device_train_batch_size: 16 + predict_pref_progress: true + prediction_loss_only: true + remove_unused_columns: false + resume_from_checkpoint: /gpfs/home/jessezha/scrubbed_storage/reward_fm/logs/ant_rfm_qwen4b_4gpu_bs16_pref_prog_succ_8_frames_all_discrete_10_bins/ckpt-avg-5metrics=0.6973_step=3000 + run_default_eval: false + save_steps: 200 + save_strategy: 'no' + vision_encoder_lr: 5.0e-06 + vision_encoder_num_layers: 3 + warmup_ratio: 0.1 + warmup_steps: 0 + weight_decay: 0.01 diff --git a/models/Robometer-4B/dataset_random_state.json b/models/Robometer-4B/dataset_random_state.json new file mode 100644 index 0000000000000000000000000000000000000000..9b4d82bc375c4846a8ddbc0c1d77021f8be68276 --- /dev/null +++ b/models/Robometer-4B/dataset_random_state.json @@ -0,0 +1,1266 @@ +{ + "dataset": [ + 3, + [ + 2147483648, + 3564348608, + 1266698288, + 4212342371, + 3595291661, + 3180588708, + 3037210256, + 946923017, + 2565409715, + 2900535780, + 924383152, + 4180157270, + 4230508198, + 2039675917, + 3755350407, + 2362848650, + 2818100609, + 2097423432, + 524478045, + 540883378, + 281170210, + 1485176884, + 1493190386, + 1773214509, + 380915208, + 3667698522, + 2648371337, + 2961234806, + 3857480267, + 1582950522, + 246289694, + 3322185604, + 1944574775, + 302623699, + 169865066, + 1143540808, + 3733177770, + 513116636, + 1411153081, + 3205493053, + 768926902, + 549624109, + 1470655403, + 59539609, + 3678480009, + 3087139671, + 1176835859, + 2078491503, + 2299934332, + 1592059249, + 1062716176, + 2654193596, + 3531838733, + 2661260596, + 3881209635, + 2106865768, + 4154287292, + 2082185616, + 2301197011, + 2177349827, + 3082181756, + 1787663536, + 3714670796, + 3018262113, + 1670056238, + 1856738750, + 99824592, + 2279837081, + 1414647942, + 3416675731, + 3458782472, + 3997022236, + 468762002, + 2666158583, + 953353270, + 1788980658, + 3802061067, + 407586584, + 1844776834, + 1906917274, + 3154715663, + 3028370222, + 4156024188, + 3996363428, + 80495456, + 2659800972, + 2005649973, + 3818358673, + 3952623596, + 2506862371, + 3282302532, + 263923435, + 3384662671, + 3292439172, + 3119957588, + 1224426111, + 899864150, + 215262826, + 1619647231, + 3347694949, + 3497868538, + 2029552053, + 2992804824, + 4080010250, + 2023513186, + 1885979437, + 3564622190, + 3775424270, + 2297810139, + 3549449169, + 2664856277, + 3274801974, + 2794883969, + 980412666, + 2980215653, + 2794389321, + 2816521934, + 1266970739, + 542306338, + 3646225311, + 3598997630, + 2111980720, + 2949252482, + 2489027658, + 352815024, + 11610683, + 1386663624, + 2004196796, + 1161461546, + 1921293780, + 2463949525, + 1647009713, + 3550093655, + 2563894064, + 3486310554, + 1506105865, + 243092931, + 2659437476, + 4200687059, + 2284345122, + 1974438610, + 3591096528, + 967119212, + 3362401375, + 140678365, + 311602112, + 2361740275, + 2139598582, + 3632873481, + 2762232439, + 4156482318, + 381637792, + 3253346525, + 2492118775, + 1502434558, + 3164497290, + 3550998357, + 2412448305, + 2223955385, + 4122879535, + 350121793, + 1835149778, + 2175117867, + 989674750, + 3178241202, + 3553093569, + 3470650311, + 2829698151, + 3209427769, + 1779174943, + 275388428, + 4044574515, + 715447260, + 3180940440, + 4020772289, + 1322708567, + 3189868792, + 4250485633, + 716970023, + 2307550151, + 1074996711, + 1217573599, + 197006094, + 2178394212, + 1255233746, + 4164251484, + 1405608772, + 2808160475, + 1304736088, + 1796071066, + 2761748078, + 3570739698, + 1616118556, + 2232868135, + 3567541936, + 3470600401, + 3031621994, + 3351764214, + 1359785149, + 2617497797, + 3340028190, + 356162828, + 2083806068, + 2503635608, + 4024838996, + 2577080371, + 2897993505, + 3120733934, + 905794891, + 2506078507, + 4211618666, + 3777871979, + 809751414, + 4080874167, + 1562977008, + 3917373055, + 2132779194, + 4014249473, + 4067327082, + 2582869847, + 1780081876, + 1842619106, + 3381761227, + 921004274, + 1393256920, + 1883566732, + 2702071861, + 865327389, + 1622085203, + 3021825820, + 2687061406, + 1748902923, + 689023977, + 308399650, + 2377287978, + 1646969411, + 1051806316, + 4277884230, + 2041056290, + 101134519, + 2032472116, + 4112521069, + 151202901, + 2773743461, + 551348559, + 3476836808, + 510935951, + 625057077, + 3757450756, + 2977698135, + 3027776859, + 2616998041, + 2773430005, + 544190486, + 2241368212, + 1141105829, + 1452816309, + 4199229235, + 3218013033, + 4229475816, + 1659576351, + 3020348754, + 1193400518, + 3208584597, + 1151197733, + 2597187966, + 503065140, + 2421841572, + 1437291709, + 1909275895, + 2872630545, + 793588217, + 3792934707, + 1784451785, + 2921385648, + 1669902526, + 4189978976, + 1196986251, + 434805516, + 1907541826, + 2624415034, + 1687778718, + 650746582, + 1949153382, + 4148493093, + 841300520, + 1164202054, + 4203468658, + 4106300911, + 850346789, + 1715730760, + 3114661489, + 2866524548, + 1360448945, + 3601318775, + 1743078223, + 2413855408, + 1211895622, + 325117146, + 2721152875, + 1284334485, + 2446538832, + 739014618, + 2237045115, + 842553465, + 2538598293, + 746460793, + 4010387366, + 2002655192, + 4193733112, + 1194380773, + 3918217378, + 1447487475, + 5659228, + 3408847694, + 4190318700, + 1862549564, + 781683719, + 1194618118, + 755053413, + 3436011942, + 2885435303, + 3081151348, + 2017642831, + 1053816502, + 1086627485, + 2157296554, + 110650022, + 965352898, + 1003174194, + 1288956241, + 4057404871, + 2965068465, + 2897064481, + 2457377317, + 1879872545, + 358455290, + 375086701, + 3015902095, + 1676249984, + 924455526, + 2084169389, + 1989014644, + 1993749926, + 2009424973, + 2113340508, + 3980883273, + 2915977458, + 203328382, + 3020815229, + 2415050113, + 4103009585, + 3700885489, + 2916647550, + 1523006503, + 174302338, + 2476909338, + 1969322490, + 4285741984, + 1528449097, + 3355315515, + 4217241278, + 599579127, + 2572243673, + 3035856735, + 1539140489, + 1782314913, + 4238644287, + 1746424142, + 1978148312, + 2380746849, + 184941882, + 1106717981, + 1720750349, + 981701307, + 3953154731, + 3257809181, + 2892339376, + 3339778166, + 3676936849, + 87425948, + 3029257381, + 2037942523, + 3807628706, + 2861474706, + 1058852346, + 1322765211, + 2686046342, + 2689342655, + 2303436168, + 2571627181, + 1986057734, + 1183564308, + 2829677523, + 1295563975, + 503126586, + 2025890348, + 4179277821, + 1735262467, + 981331774, + 1613447066, + 1011606109, + 2000062246, + 3581448390, + 3477731384, + 3641307373, + 3508544379, + 2327233491, + 3931944343, + 4189052882, + 2990416380, + 422406169, + 202291313, + 2531006461, + 4277024116, + 3815144003, + 821314585, + 1344175168, + 3562834071, + 1339615445, + 1831545190, + 3115548822, + 743512780, + 4006999448, + 3720181735, + 1012033521, + 919931041, + 2628967879, + 1151876565, + 1268107129, + 3674829936, + 834977846, + 743987006, + 3947536548, + 3706529695, + 4121073678, + 2507605742, + 1595636918, + 2708047833, + 2427507331, + 3868216331, + 3254240010, + 2097683411, + 3279710596, + 3686819053, + 1843541720, + 1683793619, + 3245287285, + 3571828776, + 3733296431, + 3806747478, + 1390930605, + 3860422228, + 114397037, + 1931519825, + 2770684378, + 1556101783, + 1436111731, + 4031950081, + 562876656, + 1775895782, + 612364620, + 1313509772, + 4283410242, + 3252958463, + 2176555836, + 3933073367, + 3013277102, + 1444071961, + 3120949516, + 2824578890, + 325676929, + 943677134, + 1800649256, + 1721927060, + 347498719, + 1435221321, + 2623572981, + 1408548470, + 4145586315, + 2901889237, + 1849377952, + 1239144551, + 3382598266, + 2992893897, + 3738297588, + 611280106, + 3897415338, + 2370299241, + 1772308583, + 3697465753, + 354508058, + 2702360134, + 591308331, + 3524072501, + 976616000, + 2563717192, + 3078266097, + 1376594703, + 4209795919, + 2454412767, + 2712206031, + 2963860163, + 3734324882, + 2248653800, + 324872786, + 3789837448, + 3779000146, + 527733939, + 2844165793, + 576499681, + 1618787435, + 2638888650, + 57511068, + 2804627518, + 2993670030, + 481402236, + 2810124845, + 1416045214, + 1723694191, + 1214944572, + 3188123783, + 1139185907, + 3851015362, + 1719652470, + 1661343029, + 3644307578, + 3564178709, + 1256656955, + 46631590, + 4231317929, + 3098958589, + 1834956625, + 2206185428, + 3695688374, + 3647957317, + 1064098871, + 1739100906, + 2579568980, + 27974051, + 2617466775, + 964075233, + 907049942, + 4164146575, + 3377168066, + 2524828266, + 1083546008, + 2992960953, + 2260789066, + 1543742095, + 2843842831, + 1375722284, + 3574521313, + 110842534, + 2310998251, + 3076511734, + 783145600, + 1287776608, + 3087144146, + 305559823, + 2356293719, + 3228441476, + 1678938122, + 3775814061, + 1620283952, + 2512027726, + 1031432407, + 962295099, + 3877418501, + 968669928, + 304126693, + 3711291137, + 3847527101, + 494066767, + 4050229756, + 4169448589, + 671763915, + 1095747781, + 4006132710, + 394725957, + 200521654, + 2715998750, + 1477567673, + 895171901, + 3370105999, + 2684157455, + 4153990023, + 3966076501, + 2043374409, + 144443759, + 6764556, + 1611650045, + 1480956755, + 1388276468, + 4136518438, + 1538041336, + 266773992, + 1623357516, + 2267298390, + 3183919402, + 1084292424, + 2796136160, + 2413448816, + 2850375199, + 3510894040, + 2644778623, + 3317288284, + 3697317540, + 1465776787, + 1843489446, + 1416711171, + 744701117, + 1286781349, + 3748640476, + 861982119, + 2377742909, + 1171768136, + 2701877439, + 3839724288, + 2869791015, + 2386067954, + 2629214347, + 955801623, + 3831079317, + 624 + ], + null + ], + "pref_sampler": [ + 3, + [ + 2147483648, + 3564348608, + 1266698288, + 4212342371, + 3595291661, + 3180588708, + 3037210256, + 946923017, + 2565409715, + 2900535780, + 924383152, + 4180157270, + 4230508198, + 2039675917, + 3755350407, + 2362848650, + 2818100609, + 2097423432, + 524478045, + 540883378, + 281170210, + 1485176884, + 1493190386, + 1773214509, + 380915208, + 3667698522, + 2648371337, + 2961234806, + 3857480267, + 1582950522, + 246289694, + 3322185604, + 1944574775, + 302623699, + 169865066, + 1143540808, + 3733177770, + 513116636, + 1411153081, + 3205493053, + 768926902, + 549624109, + 1470655403, + 59539609, + 3678480009, + 3087139671, + 1176835859, + 2078491503, + 2299934332, + 1592059249, + 1062716176, + 2654193596, + 3531838733, + 2661260596, + 3881209635, + 2106865768, + 4154287292, + 2082185616, + 2301197011, + 2177349827, + 3082181756, + 1787663536, + 3714670796, + 3018262113, + 1670056238, + 1856738750, + 99824592, + 2279837081, + 1414647942, + 3416675731, + 3458782472, + 3997022236, + 468762002, + 2666158583, + 953353270, + 1788980658, + 3802061067, + 407586584, + 1844776834, + 1906917274, + 3154715663, + 3028370222, + 4156024188, + 3996363428, + 80495456, + 2659800972, + 2005649973, + 3818358673, + 3952623596, + 2506862371, + 3282302532, + 263923435, + 3384662671, + 3292439172, + 3119957588, + 1224426111, + 899864150, + 215262826, + 1619647231, + 3347694949, + 3497868538, + 2029552053, + 2992804824, + 4080010250, + 2023513186, + 1885979437, + 3564622190, + 3775424270, + 2297810139, + 3549449169, + 2664856277, + 3274801974, + 2794883969, + 980412666, + 2980215653, + 2794389321, + 2816521934, + 1266970739, + 542306338, + 3646225311, + 3598997630, + 2111980720, + 2949252482, + 2489027658, + 352815024, + 11610683, + 1386663624, + 2004196796, + 1161461546, + 1921293780, + 2463949525, + 1647009713, + 3550093655, + 2563894064, + 3486310554, + 1506105865, + 243092931, + 2659437476, + 4200687059, + 2284345122, + 1974438610, + 3591096528, + 967119212, + 3362401375, + 140678365, + 311602112, + 2361740275, + 2139598582, + 3632873481, + 2762232439, + 4156482318, + 381637792, + 3253346525, + 2492118775, + 1502434558, + 3164497290, + 3550998357, + 2412448305, + 2223955385, + 4122879535, + 350121793, + 1835149778, + 2175117867, + 989674750, + 3178241202, + 3553093569, + 3470650311, + 2829698151, + 3209427769, + 1779174943, + 275388428, + 4044574515, + 715447260, + 3180940440, + 4020772289, + 1322708567, + 3189868792, + 4250485633, + 716970023, + 2307550151, + 1074996711, + 1217573599, + 197006094, + 2178394212, + 1255233746, + 4164251484, + 1405608772, + 2808160475, + 1304736088, + 1796071066, + 2761748078, + 3570739698, + 1616118556, + 2232868135, + 3567541936, + 3470600401, + 3031621994, + 3351764214, + 1359785149, + 2617497797, + 3340028190, + 356162828, + 2083806068, + 2503635608, + 4024838996, + 2577080371, + 2897993505, + 3120733934, + 905794891, + 2506078507, + 4211618666, + 3777871979, + 809751414, + 4080874167, + 1562977008, + 3917373055, + 2132779194, + 4014249473, + 4067327082, + 2582869847, + 1780081876, + 1842619106, + 3381761227, + 921004274, + 1393256920, + 1883566732, + 2702071861, + 865327389, + 1622085203, + 3021825820, + 2687061406, + 1748902923, + 689023977, + 308399650, + 2377287978, + 1646969411, + 1051806316, + 4277884230, + 2041056290, + 101134519, + 2032472116, + 4112521069, + 151202901, + 2773743461, + 551348559, + 3476836808, + 510935951, + 625057077, + 3757450756, + 2977698135, + 3027776859, + 2616998041, + 2773430005, + 544190486, + 2241368212, + 1141105829, + 1452816309, + 4199229235, + 3218013033, + 4229475816, + 1659576351, + 3020348754, + 1193400518, + 3208584597, + 1151197733, + 2597187966, + 503065140, + 2421841572, + 1437291709, + 1909275895, + 2872630545, + 793588217, + 3792934707, + 1784451785, + 2921385648, + 1669902526, + 4189978976, + 1196986251, + 434805516, + 1907541826, + 2624415034, + 1687778718, + 650746582, + 1949153382, + 4148493093, + 841300520, + 1164202054, + 4203468658, + 4106300911, + 850346789, + 1715730760, + 3114661489, + 2866524548, + 1360448945, + 3601318775, + 1743078223, + 2413855408, + 1211895622, + 325117146, + 2721152875, + 1284334485, + 2446538832, + 739014618, + 2237045115, + 842553465, + 2538598293, + 746460793, + 4010387366, + 2002655192, + 4193733112, + 1194380773, + 3918217378, + 1447487475, + 5659228, + 3408847694, + 4190318700, + 1862549564, + 781683719, + 1194618118, + 755053413, + 3436011942, + 2885435303, + 3081151348, + 2017642831, + 1053816502, + 1086627485, + 2157296554, + 110650022, + 965352898, + 1003174194, + 1288956241, + 4057404871, + 2965068465, + 2897064481, + 2457377317, + 1879872545, + 358455290, + 375086701, + 3015902095, + 1676249984, + 924455526, + 2084169389, + 1989014644, + 1993749926, + 2009424973, + 2113340508, + 3980883273, + 2915977458, + 203328382, + 3020815229, + 2415050113, + 4103009585, + 3700885489, + 2916647550, + 1523006503, + 174302338, + 2476909338, + 1969322490, + 4285741984, + 1528449097, + 3355315515, + 4217241278, + 599579127, + 2572243673, + 3035856735, + 1539140489, + 1782314913, + 4238644287, + 1746424142, + 1978148312, + 2380746849, + 184941882, + 1106717981, + 1720750349, + 981701307, + 3953154731, + 3257809181, + 2892339376, + 3339778166, + 3676936849, + 87425948, + 3029257381, + 2037942523, + 3807628706, + 2861474706, + 1058852346, + 1322765211, + 2686046342, + 2689342655, + 2303436168, + 2571627181, + 1986057734, + 1183564308, + 2829677523, + 1295563975, + 503126586, + 2025890348, + 4179277821, + 1735262467, + 981331774, + 1613447066, + 1011606109, + 2000062246, + 3581448390, + 3477731384, + 3641307373, + 3508544379, + 2327233491, + 3931944343, + 4189052882, + 2990416380, + 422406169, + 202291313, + 2531006461, + 4277024116, + 3815144003, + 821314585, + 1344175168, + 3562834071, + 1339615445, + 1831545190, + 3115548822, + 743512780, + 4006999448, + 3720181735, + 1012033521, + 919931041, + 2628967879, + 1151876565, + 1268107129, + 3674829936, + 834977846, + 743987006, + 3947536548, + 3706529695, + 4121073678, + 2507605742, + 1595636918, + 2708047833, + 2427507331, + 3868216331, + 3254240010, + 2097683411, + 3279710596, + 3686819053, + 1843541720, + 1683793619, + 3245287285, + 3571828776, + 3733296431, + 3806747478, + 1390930605, + 3860422228, + 114397037, + 1931519825, + 2770684378, + 1556101783, + 1436111731, + 4031950081, + 562876656, + 1775895782, + 612364620, + 1313509772, + 4283410242, + 3252958463, + 2176555836, + 3933073367, + 3013277102, + 1444071961, + 3120949516, + 2824578890, + 325676929, + 943677134, + 1800649256, + 1721927060, + 347498719, + 1435221321, + 2623572981, + 1408548470, + 4145586315, + 2901889237, + 1849377952, + 1239144551, + 3382598266, + 2992893897, + 3738297588, + 611280106, + 3897415338, + 2370299241, + 1772308583, + 3697465753, + 354508058, + 2702360134, + 591308331, + 3524072501, + 976616000, + 2563717192, + 3078266097, + 1376594703, + 4209795919, + 2454412767, + 2712206031, + 2963860163, + 3734324882, + 2248653800, + 324872786, + 3789837448, + 3779000146, + 527733939, + 2844165793, + 576499681, + 1618787435, + 2638888650, + 57511068, + 2804627518, + 2993670030, + 481402236, + 2810124845, + 1416045214, + 1723694191, + 1214944572, + 3188123783, + 1139185907, + 3851015362, + 1719652470, + 1661343029, + 3644307578, + 3564178709, + 1256656955, + 46631590, + 4231317929, + 3098958589, + 1834956625, + 2206185428, + 3695688374, + 3647957317, + 1064098871, + 1739100906, + 2579568980, + 27974051, + 2617466775, + 964075233, + 907049942, + 4164146575, + 3377168066, + 2524828266, + 1083546008, + 2992960953, + 2260789066, + 1543742095, + 2843842831, + 1375722284, + 3574521313, + 110842534, + 2310998251, + 3076511734, + 783145600, + 1287776608, + 3087144146, + 305559823, + 2356293719, + 3228441476, + 1678938122, + 3775814061, + 1620283952, + 2512027726, + 1031432407, + 962295099, + 3877418501, + 968669928, + 304126693, + 3711291137, + 3847527101, + 494066767, + 4050229756, + 4169448589, + 671763915, + 1095747781, + 4006132710, + 394725957, + 200521654, + 2715998750, + 1477567673, + 895171901, + 3370105999, + 2684157455, + 4153990023, + 3966076501, + 2043374409, + 144443759, + 6764556, + 1611650045, + 1480956755, + 1388276468, + 4136518438, + 1538041336, + 266773992, + 1623357516, + 2267298390, + 3183919402, + 1084292424, + 2796136160, + 2413448816, + 2850375199, + 3510894040, + 2644778623, + 3317288284, + 3697317540, + 1465776787, + 1843489446, + 1416711171, + 744701117, + 1286781349, + 3748640476, + 861982119, + 2377742909, + 1171768136, + 2701877439, + 3839724288, + 2869791015, + 2386067954, + 2629214347, + 955801623, + 3831079317, + 624 + ], + null + ], + "progress_sampler": null, + "similarity_sampler": null +} \ No newline at end of file diff --git a/models/Robometer-4B/metrics.json b/models/Robometer-4B/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..9054e563c37d8a51985256f80b87d7f320945176 --- /dev/null +++ b/models/Robometer-4B/metrics.json @@ -0,0 +1,369 @@ +{ + "step": 4500, + "metrics": { + "eval_rew_align/success_auprc_racer_val": 0.5972598636691593, + "eval_rew_align/positive_success_acc_racer_val": 0.5238095238095238, + "eval_rew_align/negative_success_acc_racer_val": 0.9725363489499192, + "eval_rew_align/loss_racer_val": 1.5039077520370483, + "eval_rew_align/pearson_racer_val": 0.8166853465988891, + "eval_rew_align/success_auprc_oxe_bc_z_eval": 0.054588487359398905, + "eval_rew_align/positive_success_acc_oxe_bc_z_eval": 0.7, + "eval_rew_align/negative_success_acc_oxe_bc_z_eval": 0.9432314410480349, + "eval_rew_align/loss_oxe_bc_z_eval": 1.7649718403816224, + "eval_rew_align/pearson_oxe_bc_z_eval": 0.5611694184881661, + "eval_rew_align/success_auprc_oxe_berkeley_cable_eval": 0.12320737550700828, + "eval_rew_align/positive_success_acc_oxe_berkeley_cable_eval": 0.7, + "eval_rew_align/negative_success_acc_oxe_berkeley_cable_eval": 0.9396299902629016, + "eval_rew_align/loss_oxe_berkeley_cable_eval": 1.6676030993461608, + "eval_rew_align/pearson_oxe_berkeley_cable_eval": 0.7626281468321523, + "eval_rew_align/success_auprc_oxe_bridge_v2_eval": 0.2226129586383097, + "eval_rew_align/positive_success_acc_oxe_bridge_v2_eval": 0.7, + "eval_rew_align/negative_success_acc_oxe_bridge_v2_eval": 0.9700440528634361, + "eval_rew_align/loss_oxe_bridge_v2_eval": 1.5779191851615906, + "eval_rew_align/pearson_oxe_bridge_v2_eval": 0.8196023502220793, + "eval_rew_align/success_auprc_oxe_jaco_eval": 0.05703350629550197, + "eval_rew_align/positive_success_acc_oxe_jaco_eval": 0.8, + "eval_rew_align/negative_success_acc_oxe_jaco_eval": 0.9796816087138668, + "eval_rew_align/loss_oxe_jaco_eval": 1.701886808872223, + "eval_rew_align/pearson_oxe_jaco_eval": 0.7369627561402344, + "eval_rew_align/success_auprc_oxe_toto_eval": 0.10819046102805713, + "eval_rew_align/positive_success_acc_oxe_toto_eval": 1.0, + "eval_rew_align/negative_success_acc_oxe_toto_eval": 0.9452054794520548, + "eval_rew_align/loss_oxe_toto_eval": 1.5248035669326783, + "eval_rew_align/pearson_oxe_toto_eval": 0.9275399402861348, + "eval_rew_align/success_auprc_oxe_viola_eval": 0.3924038961069135, + "eval_rew_align/positive_success_acc_oxe_viola_eval": 1.0, + "eval_rew_align/negative_success_acc_oxe_viola_eval": 0.9430528375733855, + "eval_rew_align/loss_oxe_viola_eval": 1.5757618188858031, + "eval_rew_align/pearson_oxe_viola_eval": 0.8978344352364431, + "eval_rew_align/success_auprc_mw_eval": 0.14365004363589842, + "eval_rew_align/positive_success_acc_mw_eval": 0.8, + "eval_rew_align/negative_success_acc_mw_eval": 0.9627450980392157, + "eval_rew_align/loss_mw_eval": 1.7702434301376342, + "eval_rew_align/pearson_mw_eval": 0.7687541228936258, + "eval_rew_align/success_auprc_libero_90": 0.1795092166845774, + "eval_rew_align/positive_success_acc_libero_90": 0.9, + "eval_rew_align/negative_success_acc_libero_90": 0.9682352941176471, + "eval_rew_align/loss_libero_90": 1.5339298248291016, + "eval_rew_align/pearson_libero_90": 0.8980980150621931, + "eval_rew_align/success_auprc_usc_trossen": 0.2819898652527857, + "eval_rew_align/positive_success_acc_usc_trossen": 0.5, + "eval_rew_align/negative_success_acc_usc_trossen": 0.98, + "eval_rew_align/loss_usc_trossen": 1.5562334299087524, + "eval_rew_align/pearson_usc_trossen": 0.7085253582776633, + "eval_p_rank/kendall_last_usc_trossen": 0.8333333333333333, + "eval_p_rank/kendall_rewind_last_usc_trossen": 1.0, + "eval_p_rank/avg_succ_subopt_diff_last_usc_trossen": 0.14124762515227, + "eval_p_rank/min_succ_subopt_diff_last_usc_trossen": 0.040902674198150635, + "eval_p_rank/max_succ_subopt_diff_last_usc_trossen": 0.2803109735250473, + "eval_p_rank/avg_subopt_fail_diff_last_usc_trossen": 0.19397936016321182, + "eval_p_rank/min_subopt_fail_diff_last_usc_trossen": 0.026902765035629272, + "eval_p_rank/max_subopt_fail_diff_last_usc_trossen": 0.3610559552907944, + "eval_p_rank/avg_succ_fail_diff_last_usc_trossen": 0.28165244973368114, + "eval_p_rank/min_succ_fail_diff_last_usc_trossen": 0.06780543923377991, + "eval_p_rank/max_succ_fail_diff_last_usc_trossen": 0.46358518302440643, + "eval_p_rank/ranking_acc_last_usc_trossen": 0.8809523809523809, + "eval_p_rank/ranking_acc_all_pairs_last_usc_trossen": 0.8809523809523809, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_last_usc_trossen": 0.9375, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_last_usc_trossen": 0.75, + "eval_p_rank/ranking_acc_failure_vs_successful_last_usc_trossen": 0.8888888888888888, + "eval_p_rank/kendall_avg_usc_trossen": 0.8333333333333333, + "eval_p_rank/kendall_rewind_avg_usc_trossen": 1.0, + "eval_p_rank/avg_succ_subopt_diff_avg_usc_trossen": 0.14124762515227, + "eval_p_rank/min_succ_subopt_diff_avg_usc_trossen": 0.040902674198150635, + "eval_p_rank/max_succ_subopt_diff_avg_usc_trossen": 0.2803109735250473, + "eval_p_rank/avg_subopt_fail_diff_avg_usc_trossen": 0.19397936016321182, + "eval_p_rank/min_subopt_fail_diff_avg_usc_trossen": 0.026902765035629272, + "eval_p_rank/max_subopt_fail_diff_avg_usc_trossen": 0.3610559552907944, + "eval_p_rank/avg_succ_fail_diff_avg_usc_trossen": 0.28165244973368114, + "eval_p_rank/min_succ_fail_diff_avg_usc_trossen": 0.06780543923377991, + "eval_p_rank/max_succ_fail_diff_avg_usc_trossen": 0.46358518302440643, + "eval_p_rank/ranking_acc_avg_usc_trossen": 0.8809523809523809, + "eval_p_rank/ranking_acc_all_pairs_avg_usc_trossen": 0.8809523809523809, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_avg_usc_trossen": 0.9375, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_avg_usc_trossen": 0.75, + "eval_p_rank/ranking_acc_failure_vs_successful_avg_usc_trossen": 0.8888888888888888, + "eval_p_rank/kendall_sum_usc_trossen": 0.8333333333333333, + "eval_p_rank/kendall_rewind_sum_usc_trossen": 1.0, + "eval_p_rank/avg_succ_subopt_diff_sum_usc_trossen": 0.14124762515227, + "eval_p_rank/min_succ_subopt_diff_sum_usc_trossen": 0.040902674198150635, + "eval_p_rank/max_succ_subopt_diff_sum_usc_trossen": 0.2803109735250473, + "eval_p_rank/avg_subopt_fail_diff_sum_usc_trossen": 0.19397936016321182, + "eval_p_rank/min_subopt_fail_diff_sum_usc_trossen": 0.026902765035629272, + "eval_p_rank/max_subopt_fail_diff_sum_usc_trossen": 0.3610559552907944, + "eval_p_rank/avg_succ_fail_diff_sum_usc_trossen": 0.28165244973368114, + "eval_p_rank/min_succ_fail_diff_sum_usc_trossen": 0.06780543923377991, + "eval_p_rank/max_succ_fail_diff_sum_usc_trossen": 0.46358518302440643, + "eval_p_rank/ranking_acc_sum_usc_trossen": 0.8809523809523809, + "eval_p_rank/ranking_acc_all_pairs_sum_usc_trossen": 0.8809523809523809, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_sum_usc_trossen": 0.9375, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_sum_usc_trossen": 0.75, + "eval_p_rank/ranking_acc_failure_vs_successful_sum_usc_trossen": 0.8888888888888888, + "eval_rew_align/success_auprc_rfm_new_mit_franka_nowrist": 0.13878492377635082, + "eval_rew_align/positive_success_acc_rfm_new_mit_franka_nowrist": 0.9, + "eval_rew_align/negative_success_acc_rfm_new_mit_franka_nowrist": 0.9635294117647059, + "eval_rew_align/loss_rfm_new_mit_franka_nowrist": 1.3595333456993104, + "eval_rew_align/pearson_rfm_new_mit_franka_nowrist": 0.9332205211882452, + "eval_p_rank/kendall_last_rfm_new_mit_franka_nowrist": 0.46904761904761905, + "eval_p_rank/kendall_rewind_last_rfm_new_mit_franka_nowrist": 0.8095238095238095, + "eval_p_rank/avg_succ_subopt_diff_last_rfm_new_mit_franka_nowrist": 0.1011232117811839, + "eval_p_rank/min_succ_subopt_diff_last_rfm_new_mit_franka_nowrist": 0.022794996698697445, + "eval_p_rank/max_succ_subopt_diff_last_rfm_new_mit_franka_nowrist": 0.21488183736801147, + "eval_p_rank/avg_subopt_fail_diff_last_rfm_new_mit_franka_nowrist": 0.14513030257962997, + "eval_p_rank/min_subopt_fail_diff_last_rfm_new_mit_franka_nowrist": -0.14316336512565614, + "eval_p_rank/max_subopt_fail_diff_last_rfm_new_mit_franka_nowrist": 0.34648392796516414, + "eval_p_rank/avg_succ_fail_diff_last_rfm_new_mit_franka_nowrist": 0.24625351436081383, + "eval_p_rank/min_succ_fail_diff_last_rfm_new_mit_franka_nowrist": -0.00810291568438215, + "eval_p_rank/max_succ_fail_diff_last_rfm_new_mit_franka_nowrist": 0.49043338249127066, + "eval_p_rank/ranking_acc_last_rfm_new_mit_franka_nowrist": 0.7598684210526315, + "eval_p_rank/ranking_acc_all_pairs_last_rfm_new_mit_franka_nowrist": 0.7598684210526315, + "eval_p_rank/ranking_acc_failure_vs_successful_last_rfm_new_mit_franka_nowrist": 0.8482142857142857, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_last_rfm_new_mit_franka_nowrist": 0.7523809523809524, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_last_rfm_new_mit_franka_nowrist": 0.6551724137931034, + "eval_p_rank/kendall_avg_rfm_new_mit_franka_nowrist": 0.46904761904761905, + "eval_p_rank/kendall_rewind_avg_rfm_new_mit_franka_nowrist": 0.8095238095238095, + "eval_p_rank/avg_succ_subopt_diff_avg_rfm_new_mit_franka_nowrist": 0.1011232117811839, + "eval_p_rank/min_succ_subopt_diff_avg_rfm_new_mit_franka_nowrist": 0.022794996698697445, + "eval_p_rank/max_succ_subopt_diff_avg_rfm_new_mit_franka_nowrist": 0.21488183736801147, + "eval_p_rank/avg_subopt_fail_diff_avg_rfm_new_mit_franka_nowrist": 0.14513030257962997, + "eval_p_rank/min_subopt_fail_diff_avg_rfm_new_mit_franka_nowrist": -0.14316336512565614, + "eval_p_rank/max_subopt_fail_diff_avg_rfm_new_mit_franka_nowrist": 0.34648392796516414, + "eval_p_rank/avg_succ_fail_diff_avg_rfm_new_mit_franka_nowrist": 0.24625351436081383, + "eval_p_rank/min_succ_fail_diff_avg_rfm_new_mit_franka_nowrist": -0.00810291568438215, + "eval_p_rank/max_succ_fail_diff_avg_rfm_new_mit_franka_nowrist": 0.49043338249127066, + "eval_p_rank/ranking_acc_avg_rfm_new_mit_franka_nowrist": 0.7598684210526315, + "eval_p_rank/ranking_acc_all_pairs_avg_rfm_new_mit_franka_nowrist": 0.7598684210526315, + "eval_p_rank/ranking_acc_failure_vs_successful_avg_rfm_new_mit_franka_nowrist": 0.8482142857142857, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_avg_rfm_new_mit_franka_nowrist": 0.7523809523809524, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_avg_rfm_new_mit_franka_nowrist": 0.6551724137931034, + "eval_p_rank/kendall_sum_rfm_new_mit_franka_nowrist": 0.46904761904761905, + "eval_p_rank/kendall_rewind_sum_rfm_new_mit_franka_nowrist": 0.8095238095238095, + "eval_p_rank/avg_succ_subopt_diff_sum_rfm_new_mit_franka_nowrist": 0.1011232117811839, + "eval_p_rank/min_succ_subopt_diff_sum_rfm_new_mit_franka_nowrist": 0.022794996698697445, + "eval_p_rank/max_succ_subopt_diff_sum_rfm_new_mit_franka_nowrist": 0.21488183736801147, + "eval_p_rank/avg_subopt_fail_diff_sum_rfm_new_mit_franka_nowrist": 0.14513030257962997, + "eval_p_rank/min_subopt_fail_diff_sum_rfm_new_mit_franka_nowrist": -0.14316336512565614, + "eval_p_rank/max_subopt_fail_diff_sum_rfm_new_mit_franka_nowrist": 0.34648392796516414, + "eval_p_rank/avg_succ_fail_diff_sum_rfm_new_mit_franka_nowrist": 0.24625351436081383, + "eval_p_rank/min_succ_fail_diff_sum_rfm_new_mit_franka_nowrist": -0.00810291568438215, + "eval_p_rank/max_succ_fail_diff_sum_rfm_new_mit_franka_nowrist": 0.49043338249127066, + "eval_p_rank/ranking_acc_sum_rfm_new_mit_franka_nowrist": 0.7598684210526315, + "eval_p_rank/ranking_acc_all_pairs_sum_rfm_new_mit_franka_nowrist": 0.7598684210526315, + "eval_p_rank/ranking_acc_failure_vs_successful_sum_rfm_new_mit_franka_nowrist": 0.8482142857142857, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_sum_rfm_new_mit_franka_nowrist": 0.7523809523809524, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_sum_rfm_new_mit_franka_nowrist": 0.6551724137931034, + "eval_rew_align/success_auprc_utd_so101_clean_top": 0.1594673014952464, + "eval_rew_align/positive_success_acc_utd_so101_clean_top": 0.8, + "eval_rew_align/negative_success_acc_utd_so101_clean_top": 0.9796078431372549, + "eval_rew_align/loss_utd_so101_clean_top": 1.422999668121338, + "eval_rew_align/pearson_utd_so101_clean_top": 0.9214771733077172, + "eval_p_rank/kendall_last_utd_so101_clean_top": 0.7333333333333333, + "eval_p_rank/kendall_rewind_last_utd_so101_clean_top": 0.7333333333333333, + "eval_p_rank/avg_succ_subopt_diff_last_utd_so101_clean_top": 0.1281689941883087, + "eval_p_rank/min_succ_subopt_diff_last_utd_so101_clean_top": -0.6224770694971085, + "eval_p_rank/max_succ_subopt_diff_last_utd_so101_clean_top": 0.4432547390460968, + "eval_p_rank/avg_subopt_fail_diff_last_utd_so101_clean_top": 0.2357720375061035, + "eval_p_rank/min_subopt_fail_diff_last_utd_so101_clean_top": -0.012576103210449219, + "eval_p_rank/max_subopt_fail_diff_last_utd_so101_clean_top": 0.5894219428300858, + "eval_p_rank/avg_succ_fail_diff_last_utd_so101_clean_top": 0.3639410316944122, + "eval_p_rank/min_succ_fail_diff_last_utd_so101_clean_top": -0.033055126667022705, + "eval_p_rank/max_succ_fail_diff_last_utd_so101_clean_top": 0.6650743782520294, + "eval_p_rank/ranking_acc_last_utd_so101_clean_top": 0.8666666666666667, + "eval_p_rank/ranking_acc_all_pairs_last_utd_so101_clean_top": 0.8666666666666667, + "eval_p_rank/ranking_acc_failure_vs_successful_last_utd_so101_clean_top": 0.9, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_last_utd_so101_clean_top": 0.8, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_last_utd_so101_clean_top": 0.9, + "eval_p_rank/kendall_avg_utd_so101_clean_top": 0.7333333333333333, + "eval_p_rank/kendall_rewind_avg_utd_so101_clean_top": 0.7333333333333333, + "eval_p_rank/avg_succ_subopt_diff_avg_utd_so101_clean_top": 0.1281689941883087, + "eval_p_rank/min_succ_subopt_diff_avg_utd_so101_clean_top": -0.6224770694971085, + "eval_p_rank/max_succ_subopt_diff_avg_utd_so101_clean_top": 0.4432547390460968, + "eval_p_rank/avg_subopt_fail_diff_avg_utd_so101_clean_top": 0.2357720375061035, + "eval_p_rank/min_subopt_fail_diff_avg_utd_so101_clean_top": -0.012576103210449219, + "eval_p_rank/max_subopt_fail_diff_avg_utd_so101_clean_top": 0.5894219428300858, + "eval_p_rank/avg_succ_fail_diff_avg_utd_so101_clean_top": 0.3639410316944122, + "eval_p_rank/min_succ_fail_diff_avg_utd_so101_clean_top": -0.033055126667022705, + "eval_p_rank/max_succ_fail_diff_avg_utd_so101_clean_top": 0.6650743782520294, + "eval_p_rank/ranking_acc_avg_utd_so101_clean_top": 0.8666666666666667, + "eval_p_rank/ranking_acc_all_pairs_avg_utd_so101_clean_top": 0.8666666666666667, + "eval_p_rank/ranking_acc_failure_vs_successful_avg_utd_so101_clean_top": 0.9, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_avg_utd_so101_clean_top": 0.8, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_avg_utd_so101_clean_top": 0.9, + "eval_p_rank/kendall_sum_utd_so101_clean_top": 0.7333333333333333, + "eval_p_rank/kendall_rewind_sum_utd_so101_clean_top": 0.7333333333333333, + "eval_p_rank/avg_succ_subopt_diff_sum_utd_so101_clean_top": 0.1281689941883087, + "eval_p_rank/min_succ_subopt_diff_sum_utd_so101_clean_top": -0.6224770694971085, + "eval_p_rank/max_succ_subopt_diff_sum_utd_so101_clean_top": 0.4432547390460968, + "eval_p_rank/avg_subopt_fail_diff_sum_utd_so101_clean_top": 0.2357720375061035, + "eval_p_rank/min_subopt_fail_diff_sum_utd_so101_clean_top": -0.012576103210449219, + "eval_p_rank/max_subopt_fail_diff_sum_utd_so101_clean_top": 0.5894219428300858, + "eval_p_rank/avg_succ_fail_diff_sum_utd_so101_clean_top": 0.3639410316944122, + "eval_p_rank/min_succ_fail_diff_sum_utd_so101_clean_top": -0.033055126667022705, + "eval_p_rank/max_succ_fail_diff_sum_utd_so101_clean_top": 0.6650743782520294, + "eval_p_rank/ranking_acc_sum_utd_so101_clean_top": 0.8666666666666667, + "eval_p_rank/ranking_acc_all_pairs_sum_utd_so101_clean_top": 0.8666666666666667, + "eval_p_rank/ranking_acc_failure_vs_successful_sum_utd_so101_clean_top": 0.9, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_sum_utd_so101_clean_top": 0.8, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_sum_utd_so101_clean_top": 0.9, + "eval_rew_align/success_auprc_usc_xarm": 0.3298253598253598, + "eval_rew_align/positive_success_acc_usc_xarm": 1.0, + "eval_rew_align/negative_success_acc_usc_xarm": 0.971764705882353, + "eval_rew_align/loss_usc_xarm": 1.459894859790802, + "eval_rew_align/pearson_usc_xarm": 0.9290145264370201, + "eval_p_rank/kendall_last_usc_xarm": 0.75, + "eval_p_rank/kendall_rewind_last_usc_xarm": 0.8888888888888888, + "eval_p_rank/avg_succ_subopt_diff_last_usc_xarm": 0.11288829644521077, + "eval_p_rank/min_succ_subopt_diff_last_usc_xarm": 0.0029833614826202393, + "eval_p_rank/max_succ_subopt_diff_last_usc_xarm": 0.217641681432724, + "eval_p_rank/avg_subopt_fail_diff_last_usc_xarm": 0.11646403868993123, + "eval_p_rank/min_subopt_fail_diff_last_usc_xarm": -0.03846535086631775, + "eval_p_rank/max_subopt_fail_diff_last_usc_xarm": 0.34273654222488403, + "eval_p_rank/avg_succ_fail_diff_last_usc_xarm": 0.229352335135142, + "eval_p_rank/min_succ_fail_diff_last_usc_xarm": 0.0956188440322876, + "eval_p_rank/max_succ_fail_diff_last_usc_xarm": 0.35525771975517273, + "eval_p_rank/ranking_acc_last_usc_xarm": 0.875, + "eval_p_rank/ranking_acc_all_pairs_last_usc_xarm": 0.875, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_last_usc_xarm": 0.7083333333333334, + "eval_p_rank/ranking_acc_failure_vs_successful_last_usc_xarm": 1.0, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_last_usc_xarm": 0.9166666666666666, + "eval_p_rank/kendall_avg_usc_xarm": 0.75, + "eval_p_rank/kendall_rewind_avg_usc_xarm": 0.8888888888888888, + "eval_p_rank/avg_succ_subopt_diff_avg_usc_xarm": 0.11288829644521077, + "eval_p_rank/min_succ_subopt_diff_avg_usc_xarm": 0.0029833614826202393, + "eval_p_rank/max_succ_subopt_diff_avg_usc_xarm": 0.217641681432724, + "eval_p_rank/avg_subopt_fail_diff_avg_usc_xarm": 0.11646403868993123, + "eval_p_rank/min_subopt_fail_diff_avg_usc_xarm": -0.03846535086631775, + "eval_p_rank/max_subopt_fail_diff_avg_usc_xarm": 0.34273654222488403, + "eval_p_rank/avg_succ_fail_diff_avg_usc_xarm": 0.229352335135142, + "eval_p_rank/min_succ_fail_diff_avg_usc_xarm": 0.0956188440322876, + "eval_p_rank/max_succ_fail_diff_avg_usc_xarm": 0.35525771975517273, + "eval_p_rank/ranking_acc_avg_usc_xarm": 0.875, + "eval_p_rank/ranking_acc_all_pairs_avg_usc_xarm": 0.875, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_avg_usc_xarm": 0.7083333333333334, + "eval_p_rank/ranking_acc_failure_vs_successful_avg_usc_xarm": 1.0, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_avg_usc_xarm": 0.9166666666666666, + "eval_p_rank/kendall_sum_usc_xarm": 0.75, + "eval_p_rank/kendall_rewind_sum_usc_xarm": 0.8888888888888888, + "eval_p_rank/avg_succ_subopt_diff_sum_usc_xarm": 0.11288829644521077, + "eval_p_rank/min_succ_subopt_diff_sum_usc_xarm": 0.0029833614826202393, + "eval_p_rank/max_succ_subopt_diff_sum_usc_xarm": 0.217641681432724, + "eval_p_rank/avg_subopt_fail_diff_sum_usc_xarm": 0.11646403868993123, + "eval_p_rank/min_subopt_fail_diff_sum_usc_xarm": -0.03846535086631775, + "eval_p_rank/max_subopt_fail_diff_sum_usc_xarm": 0.34273654222488403, + "eval_p_rank/avg_succ_fail_diff_sum_usc_xarm": 0.229352335135142, + "eval_p_rank/min_succ_fail_diff_sum_usc_xarm": 0.0956188440322876, + "eval_p_rank/max_succ_fail_diff_sum_usc_xarm": 0.35525771975517273, + "eval_p_rank/ranking_acc_sum_usc_xarm": 0.875, + "eval_p_rank/ranking_acc_all_pairs_sum_usc_xarm": 0.875, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_sum_usc_xarm": 0.7083333333333334, + "eval_p_rank/ranking_acc_failure_vs_successful_sum_usc_xarm": 1.0, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_sum_usc_xarm": 0.9166666666666666, + "eval_rew_align/success_auprc_usc_franka": 0.178648534454372, + "eval_rew_align/positive_success_acc_usc_franka": 0.75, + "eval_rew_align/negative_success_acc_usc_franka": 0.9436274509803921, + "eval_rew_align/loss_usc_franka": 1.4907499551773071, + "eval_rew_align/pearson_usc_franka": 0.9115594502071923, + "eval_p_rank/kendall_last_usc_franka": 0.7916666666666666, + "eval_p_rank/kendall_rewind_last_usc_franka": 0.8333333333333334, + "eval_p_rank/avg_succ_subopt_diff_last_usc_franka": 0.06161930412054062, + "eval_p_rank/min_succ_subopt_diff_last_usc_franka": -0.010589927434921265, + "eval_p_rank/max_succ_subopt_diff_last_usc_franka": 0.17146822810173035, + "eval_p_rank/avg_subopt_fail_diff_last_usc_franka": 0.18651490285992622, + "eval_p_rank/min_subopt_fail_diff_last_usc_franka": 0.0136566162109375, + "eval_p_rank/max_subopt_fail_diff_last_usc_franka": 0.3522116541862488, + "eval_p_rank/avg_succ_fail_diff_last_usc_franka": 0.24813420698046684, + "eval_p_rank/min_succ_fail_diff_last_usc_franka": 0.032290756702423096, + "eval_p_rank/max_succ_fail_diff_last_usc_franka": 0.4191764295101166, + "eval_p_rank/ranking_acc_last_usc_franka": 0.8958333333333334, + "eval_p_rank/ranking_acc_all_pairs_last_usc_franka": 0.8958333333333334, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_last_usc_franka": 0.8125, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_last_usc_franka": 0.9375, + "eval_p_rank/ranking_acc_failure_vs_successful_last_usc_franka": 0.9375, + "eval_p_rank/kendall_avg_usc_franka": 0.7916666666666666, + "eval_p_rank/kendall_rewind_avg_usc_franka": 0.8333333333333334, + "eval_p_rank/avg_succ_subopt_diff_avg_usc_franka": 0.06161930412054062, + "eval_p_rank/min_succ_subopt_diff_avg_usc_franka": -0.010589927434921265, + "eval_p_rank/max_succ_subopt_diff_avg_usc_franka": 0.17146822810173035, + "eval_p_rank/avg_subopt_fail_diff_avg_usc_franka": 0.18651490285992622, + "eval_p_rank/min_subopt_fail_diff_avg_usc_franka": 0.0136566162109375, + "eval_p_rank/max_subopt_fail_diff_avg_usc_franka": 0.3522116541862488, + "eval_p_rank/avg_succ_fail_diff_avg_usc_franka": 0.24813420698046684, + "eval_p_rank/min_succ_fail_diff_avg_usc_franka": 0.032290756702423096, + "eval_p_rank/max_succ_fail_diff_avg_usc_franka": 0.4191764295101166, + "eval_p_rank/ranking_acc_avg_usc_franka": 0.8958333333333334, + "eval_p_rank/ranking_acc_all_pairs_avg_usc_franka": 0.8958333333333334, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_avg_usc_franka": 0.8125, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_avg_usc_franka": 0.9375, + "eval_p_rank/ranking_acc_failure_vs_successful_avg_usc_franka": 0.9375, + "eval_p_rank/kendall_sum_usc_franka": 0.7916666666666666, + "eval_p_rank/kendall_rewind_sum_usc_franka": 0.8333333333333334, + "eval_p_rank/avg_succ_subopt_diff_sum_usc_franka": 0.06161930412054062, + "eval_p_rank/min_succ_subopt_diff_sum_usc_franka": -0.010589927434921265, + "eval_p_rank/max_succ_subopt_diff_sum_usc_franka": 0.17146822810173035, + "eval_p_rank/avg_subopt_fail_diff_sum_usc_franka": 0.18651490285992622, + "eval_p_rank/min_subopt_fail_diff_sum_usc_franka": 0.0136566162109375, + "eval_p_rank/max_subopt_fail_diff_sum_usc_franka": 0.3522116541862488, + "eval_p_rank/avg_succ_fail_diff_sum_usc_franka": 0.24813420698046684, + "eval_p_rank/min_succ_fail_diff_sum_usc_franka": 0.032290756702423096, + "eval_p_rank/max_succ_fail_diff_sum_usc_franka": 0.4191764295101166, + "eval_p_rank/ranking_acc_sum_usc_franka": 0.8958333333333334, + "eval_p_rank/ranking_acc_all_pairs_sum_usc_franka": 0.8958333333333334, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_sum_usc_franka": 0.8125, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_sum_usc_franka": 0.9375, + "eval_p_rank/ranking_acc_failure_vs_successful_sum_usc_franka": 0.9375, + "eval_rew_align/success_auprc_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.08961776352588778, + "eval_rew_align/positive_success_acc_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.9, + "eval_rew_align/negative_success_acc_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.9552941176470588, + "eval_rew_align/loss_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 1.5833105087280273, + "eval_rew_align/pearson_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.8841339237987327, + "eval_p_rank/kendall_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.3093333333333333, + "eval_p_rank/kendall_rewind_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.5333333333333333, + "eval_p_rank/avg_succ_subopt_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.02896499633789066, + "eval_p_rank/min_succ_subopt_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.23819030523300178, + "eval_p_rank/max_succ_subopt_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.0715120196342468, + "eval_p_rank/avg_subopt_fail_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.20831456266343595, + "eval_p_rank/min_subopt_fail_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.16911142468452456, + "eval_p_rank/max_subopt_fail_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.4413899302482605, + "eval_p_rank/avg_succ_fail_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.17934956632554527, + "eval_p_rank/min_succ_fail_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.09759940505027775, + "eval_p_rank/max_succ_fail_diff_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.4535657167434692, + "eval_p_rank/ranking_acc_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.6546666666666666, + "eval_p_rank/ranking_acc_all_pairs_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.6546666666666666, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.76, + "eval_p_rank/ranking_acc_failure_vs_successful_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.744, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_last_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.46, + "eval_p_rank/kendall_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.3093333333333333, + "eval_p_rank/kendall_rewind_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.5333333333333333, + "eval_p_rank/avg_succ_subopt_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.02896499633789066, + "eval_p_rank/min_succ_subopt_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.23819030523300178, + "eval_p_rank/max_succ_subopt_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.0715120196342468, + "eval_p_rank/avg_subopt_fail_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.20831456266343595, + "eval_p_rank/min_subopt_fail_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.16911142468452456, + "eval_p_rank/max_subopt_fail_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.4413899302482605, + "eval_p_rank/avg_succ_fail_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.17934956632554527, + "eval_p_rank/min_succ_fail_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.09759940505027775, + "eval_p_rank/max_succ_fail_diff_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.4535657167434692, + "eval_p_rank/ranking_acc_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.6546666666666666, + "eval_p_rank/ranking_acc_all_pairs_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.6546666666666666, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.76, + "eval_p_rank/ranking_acc_failure_vs_successful_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.744, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_avg_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.46, + "eval_p_rank/kendall_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.3093333333333333, + "eval_p_rank/kendall_rewind_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.5333333333333333, + "eval_p_rank/avg_succ_subopt_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.02896499633789066, + "eval_p_rank/min_succ_subopt_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.23819030523300178, + "eval_p_rank/max_succ_subopt_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.0715120196342468, + "eval_p_rank/avg_subopt_fail_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.20831456266343595, + "eval_p_rank/min_subopt_fail_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.16911142468452456, + "eval_p_rank/max_subopt_fail_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.4413899302482605, + "eval_p_rank/avg_succ_fail_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.17934956632554527, + "eval_p_rank/min_succ_fail_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": -0.09759940505027775, + "eval_p_rank/max_succ_fail_diff_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.4535657167434692, + "eval_p_rank/ranking_acc_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.6546666666666666, + "eval_p_rank/ranking_acc_all_pairs_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.6546666666666666, + "eval_p_rank/ranking_acc_failure_vs_suboptimal_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.76, + "eval_p_rank/ranking_acc_failure_vs_successful_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.744, + "eval_p_rank/ranking_acc_suboptimal_vs_successful_sum_jesbu1_usc_koch_p_ranking_rfm_usc_koch_p_ranking_all": 0.46, + "time/custom_evaluations": 227.5345072869677 + } +} \ No newline at end of file diff --git a/models/Robometer-4B/model-00001-of-00002.safetensors b/models/Robometer-4B/model-00001-of-00002.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..e45dcf2d98236089c61705f013cf10baec6ec5bb --- /dev/null +++ b/models/Robometer-4B/model-00001-of-00002.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cfa81761595f6b10bd079736eb32bdeeeb0b49224619411bd511d9d1f1171a4 +size 4965629698 diff --git a/models/Robometer-4B/model-00002-of-00002.safetensors b/models/Robometer-4B/model-00002-of-00002.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..1be8a5ccfe859630938dc0f212374411d1d35ed8 --- /dev/null +++ b/models/Robometer-4B/model-00002-of-00002.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a25be9713ccc3cb14738be76ef6665742093d70323ec026ea70e8fa843a342be +size 3935034144 diff --git a/models/Robometer-4B/model.safetensors.index.json b/models/Robometer-4B/model.safetensors.index.json new file mode 100644 index 0000000000000000000000000000000000000000..3274c65863b237a8f04ddb2a67753f61d010768b --- /dev/null +++ b/models/Robometer-4B/model.safetensors.index.json @@ -0,0 +1,746 @@ +{ + "metadata": { + "total_parameters": 4450286861, + "total_size": 8900573722 + }, + "weight_map": { + "frame_pool_attn.weight": "model-00002-of-00002.safetensors", + "model.language_model.embed_tokens.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.0.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.1.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.10.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.11.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.12.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.13.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.14.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.15.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.16.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.16.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.16.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.16.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.16.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.16.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.16.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.16.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.16.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.16.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.16.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.17.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.17.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.18.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.19.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.2.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.2.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.20.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.20.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.21.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.22.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.23.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.24.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.25.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.26.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.27.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.28.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.29.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.3.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.3.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.30.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.30.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.31.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.32.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.33.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.34.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.mlp.down_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.mlp.gate_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.mlp.up_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.self_attn.k_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.self_attn.q_norm.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.35.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.language_model.layers.4.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.4.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.5.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.6.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.7.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.8.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.mlp.down_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.mlp.gate_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.mlp.up_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.self_attn.k_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.self_attn.q_norm.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.layers.9.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.language_model.norm.weight": "model-00002-of-00002.safetensors", + "model.visual.blocks.0.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.0.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.1.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.10.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.11.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.12.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.13.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.14.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.15.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.16.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.17.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.18.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.19.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.2.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.20.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.21.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.22.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.23.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.3.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.4.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.5.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.6.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.7.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.8.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.attn.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.attn.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.attn.qkv.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.attn.qkv.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.norm1.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.norm1.weight": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.norm2.bias": "model-00001-of-00002.safetensors", + "model.visual.blocks.9.norm2.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.0.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.0.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.0.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.0.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.0.norm.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.0.norm.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.1.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.1.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.1.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.1.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.1.norm.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.1.norm.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.2.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.2.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.2.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.2.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.2.norm.bias": "model-00001-of-00002.safetensors", + "model.visual.deepstack_merger_list.2.norm.weight": "model-00001-of-00002.safetensors", + "model.visual.merger.linear_fc1.bias": "model-00001-of-00002.safetensors", + "model.visual.merger.linear_fc1.weight": "model-00001-of-00002.safetensors", + "model.visual.merger.linear_fc2.bias": "model-00001-of-00002.safetensors", + "model.visual.merger.linear_fc2.weight": "model-00001-of-00002.safetensors", + "model.visual.merger.norm.bias": "model-00001-of-00002.safetensors", + "model.visual.merger.norm.weight": "model-00001-of-00002.safetensors", + "model.visual.patch_embed.proj.bias": "model-00001-of-00002.safetensors", + "model.visual.patch_embed.proj.weight": "model-00001-of-00002.safetensors", + "model.visual.pos_embed.weight": "model-00001-of-00002.safetensors", + "preference_head.0.bias": "model-00001-of-00002.safetensors", + "preference_head.0.weight": "model-00001-of-00002.safetensors", + "preference_head.1.bias": "model-00001-of-00002.safetensors", + "preference_head.1.weight": "model-00001-of-00002.safetensors", + "preference_head.4.bias": "model-00001-of-00002.safetensors", + "preference_head.4.weight": "model-00001-of-00002.safetensors", + "progress_head.0.bias": "model-00001-of-00002.safetensors", + "progress_head.0.weight": "model-00001-of-00002.safetensors", + "progress_head.1.bias": "model-00001-of-00002.safetensors", + "progress_head.1.weight": "model-00001-of-00002.safetensors", + "progress_head.4.bias": "model-00001-of-00002.safetensors", + "progress_head.4.weight": "model-00001-of-00002.safetensors", + "similarity_head.0.bias": "model-00001-of-00002.safetensors", + "similarity_head.0.weight": "model-00001-of-00002.safetensors", + "similarity_head.1.bias": "model-00001-of-00002.safetensors", + "similarity_head.1.weight": "model-00001-of-00002.safetensors", + "similarity_head.4.bias": "model-00001-of-00002.safetensors", + "similarity_head.4.weight": "model-00001-of-00002.safetensors", + "success_head.0.bias": "model-00001-of-00002.safetensors", + "success_head.0.weight": "model-00001-of-00002.safetensors", + "success_head.1.bias": "model-00001-of-00002.safetensors", + "success_head.1.weight": "model-00001-of-00002.safetensors", + "success_head.4.bias": "model-00001-of-00002.safetensors", + "success_head.4.weight": "model-00001-of-00002.safetensors" + } +} diff --git a/models/Robometer-4B/trainer_state.json b/models/Robometer-4B/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..b778001459c11fcdfa893971c730208f5cf08923 --- /dev/null +++ b/models/Robometer-4B/trainer_state.json @@ -0,0 +1,31534 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.27654867256637167, + "eval_steps": 250, + "global_step": 4500, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 6.145526057030482e-05, + "grad_norm": 29.75, + "learning_rate": 0.0, + "loss": 1.4108, + "step": 1 + }, + { + "epoch": 0.00012291052114060964, + "grad_norm": 28.75, + "learning_rate": 1.3333333333333334e-08, + "loss": 1.4446, + "step": 2 + }, + { + "epoch": 0.00018436578171091445, + "grad_norm": 29.875, + "learning_rate": 2.6666666666666667e-08, + "loss": 1.4226, + "step": 3 + }, + { + "epoch": 0.0002458210422812193, + "grad_norm": 28.5, + "learning_rate": 4e-08, + "loss": 1.4369, + "step": 4 + }, + { + "epoch": 0.00030727630285152407, + "grad_norm": 34.0, + "learning_rate": 5.3333333333333334e-08, + "loss": 1.4434, + "step": 5 + }, + { + "epoch": 0.0003687315634218289, + "grad_norm": 35.25, + "learning_rate": 6.666666666666668e-08, + "loss": 1.4788, + "step": 6 + }, + { + "epoch": 0.00043018682399213374, + "grad_norm": 36.25, + "learning_rate": 8e-08, + "loss": 1.4425, + "step": 7 + }, + { + "epoch": 0.0004916420845624386, + "grad_norm": 50.25, + "learning_rate": 9.333333333333335e-08, + "loss": 1.4805, + "step": 8 + }, + { + "epoch": 0.0005530973451327434, + "grad_norm": 33.25, + "learning_rate": 1.0666666666666667e-07, + "loss": 1.4837, + "step": 9 + }, + { + "epoch": 0.0006145526057030481, + "grad_norm": 32.75, + "learning_rate": 1.2000000000000002e-07, + "loss": 1.472, + "step": 10 + }, + { + "epoch": 0.000676007866273353, + "grad_norm": 33.5, + "learning_rate": 1.3333333333333336e-07, + "loss": 1.5112, + "step": 11 + }, + { + "epoch": 0.0007374631268436578, + "grad_norm": 37.5, + "learning_rate": 1.4666666666666668e-07, + "loss": 1.4344, + "step": 12 + }, + { + "epoch": 0.0007989183874139626, + "grad_norm": 41.5, + "learning_rate": 1.6e-07, + "loss": 1.4732, + "step": 13 + }, + { + "epoch": 0.0008603736479842675, + "grad_norm": 30.5, + "learning_rate": 1.7333333333333335e-07, + "loss": 1.4347, + "step": 14 + }, + { + "epoch": 0.0009218289085545723, + "grad_norm": 35.25, + "learning_rate": 1.866666666666667e-07, + "loss": 1.5008, + "step": 15 + }, + { + "epoch": 0.0009832841691248771, + "grad_norm": 33.25, + "learning_rate": 2.0000000000000002e-07, + "loss": 1.437, + "step": 16 + }, + { + "epoch": 0.0010447394296951818, + "grad_norm": 29.875, + "learning_rate": 2.1333333333333334e-07, + "loss": 1.5193, + "step": 17 + }, + { + "epoch": 0.0011061946902654867, + "grad_norm": 34.0, + "learning_rate": 2.266666666666667e-07, + "loss": 1.4585, + "step": 18 + }, + { + "epoch": 0.0011676499508357916, + "grad_norm": 33.25, + "learning_rate": 2.4000000000000003e-07, + "loss": 1.5157, + "step": 19 + }, + { + "epoch": 0.0012291052114060963, + "grad_norm": 31.875, + "learning_rate": 2.533333333333333e-07, + "loss": 1.4815, + "step": 20 + }, + { + "epoch": 0.0012905604719764012, + "grad_norm": 27.0, + "learning_rate": 2.666666666666667e-07, + "loss": 1.4444, + "step": 21 + }, + { + "epoch": 0.001352015732546706, + "grad_norm": 28.0, + "learning_rate": 2.8e-07, + "loss": 1.4639, + "step": 22 + }, + { + "epoch": 0.0014134709931170107, + "grad_norm": 26.125, + "learning_rate": 2.9333333333333337e-07, + "loss": 1.4939, + "step": 23 + }, + { + "epoch": 0.0014749262536873156, + "grad_norm": 35.5, + "learning_rate": 3.0666666666666666e-07, + "loss": 1.5076, + "step": 24 + }, + { + "epoch": 0.0015363815142576205, + "grad_norm": 32.75, + "learning_rate": 3.2e-07, + "loss": 1.4532, + "step": 25 + }, + { + "epoch": 0.0015978367748279252, + "grad_norm": 27.375, + "learning_rate": 3.3333333333333335e-07, + "loss": 1.5085, + "step": 26 + }, + { + "epoch": 0.00165929203539823, + "grad_norm": 26.625, + "learning_rate": 3.466666666666667e-07, + "loss": 1.4565, + "step": 27 + }, + { + "epoch": 0.001720747295968535, + "grad_norm": 37.25, + "learning_rate": 3.6e-07, + "loss": 1.5237, + "step": 28 + }, + { + "epoch": 0.0017822025565388396, + "grad_norm": 24.5, + "learning_rate": 3.733333333333334e-07, + "loss": 1.4745, + "step": 29 + }, + { + "epoch": 0.0018436578171091445, + "grad_norm": 30.375, + "learning_rate": 3.8666666666666674e-07, + "loss": 1.484, + "step": 30 + }, + { + "epoch": 0.0019051130776794494, + "grad_norm": 25.25, + "learning_rate": 4.0000000000000003e-07, + "loss": 1.4895, + "step": 31 + }, + { + "epoch": 0.0019665683382497543, + "grad_norm": 28.0, + "learning_rate": 4.133333333333334e-07, + "loss": 1.4245, + "step": 32 + }, + { + "epoch": 0.002028023598820059, + "grad_norm": 30.875, + "learning_rate": 4.266666666666667e-07, + "loss": 1.5198, + "step": 33 + }, + { + "epoch": 0.0020894788593903636, + "grad_norm": 30.375, + "learning_rate": 4.4e-07, + "loss": 1.4599, + "step": 34 + }, + { + "epoch": 0.0021509341199606687, + "grad_norm": 27.875, + "learning_rate": 4.533333333333334e-07, + "loss": 1.4397, + "step": 35 + }, + { + "epoch": 0.0022123893805309734, + "grad_norm": 27.875, + "learning_rate": 4.666666666666667e-07, + "loss": 1.4923, + "step": 36 + }, + { + "epoch": 0.002273844641101278, + "grad_norm": 24.5, + "learning_rate": 4.800000000000001e-07, + "loss": 1.468, + "step": 37 + }, + { + "epoch": 0.002335299901671583, + "grad_norm": 29.125, + "learning_rate": 4.933333333333334e-07, + "loss": 1.4585, + "step": 38 + }, + { + "epoch": 0.002396755162241888, + "grad_norm": 39.0, + "learning_rate": 5.066666666666667e-07, + "loss": 1.4864, + "step": 39 + }, + { + "epoch": 0.0024582104228121925, + "grad_norm": 28.625, + "learning_rate": 5.2e-07, + "loss": 1.5024, + "step": 40 + }, + { + "epoch": 0.0025196656833824977, + "grad_norm": 29.5, + "learning_rate": 5.333333333333335e-07, + "loss": 1.4955, + "step": 41 + }, + { + "epoch": 0.0025811209439528023, + "grad_norm": 35.25, + "learning_rate": 5.466666666666667e-07, + "loss": 1.4087, + "step": 42 + }, + { + "epoch": 0.002642576204523107, + "grad_norm": 33.5, + "learning_rate": 5.6e-07, + "loss": 1.4448, + "step": 43 + }, + { + "epoch": 0.002704031465093412, + "grad_norm": 32.5, + "learning_rate": 5.733333333333334e-07, + "loss": 1.4495, + "step": 44 + }, + { + "epoch": 0.0027654867256637168, + "grad_norm": 31.75, + "learning_rate": 5.866666666666667e-07, + "loss": 1.4562, + "step": 45 + }, + { + "epoch": 0.0028269419862340214, + "grad_norm": 27.0, + "learning_rate": 6.000000000000001e-07, + "loss": 1.4601, + "step": 46 + }, + { + "epoch": 0.0028883972468043266, + "grad_norm": 29.5, + "learning_rate": 6.133333333333333e-07, + "loss": 1.4944, + "step": 47 + }, + { + "epoch": 0.0029498525073746312, + "grad_norm": 27.25, + "learning_rate": 6.266666666666667e-07, + "loss": 1.4711, + "step": 48 + }, + { + "epoch": 0.003011307767944936, + "grad_norm": 29.75, + "learning_rate": 6.4e-07, + "loss": 1.4145, + "step": 49 + }, + { + "epoch": 0.003072763028515241, + "grad_norm": 23.25, + "learning_rate": 6.533333333333334e-07, + "loss": 1.4167, + "step": 50 + }, + { + "epoch": 0.0031342182890855457, + "grad_norm": 26.5, + "learning_rate": 6.666666666666667e-07, + "loss": 1.4101, + "step": 51 + }, + { + "epoch": 0.0031956735496558504, + "grad_norm": 34.5, + "learning_rate": 6.800000000000001e-07, + "loss": 1.4635, + "step": 52 + }, + { + "epoch": 0.0032571288102261555, + "grad_norm": 25.25, + "learning_rate": 6.933333333333334e-07, + "loss": 1.4237, + "step": 53 + }, + { + "epoch": 0.00331858407079646, + "grad_norm": 26.375, + "learning_rate": 7.066666666666667e-07, + "loss": 1.4127, + "step": 54 + }, + { + "epoch": 0.003380039331366765, + "grad_norm": 30.5, + "learning_rate": 7.2e-07, + "loss": 1.4324, + "step": 55 + }, + { + "epoch": 0.00344149459193707, + "grad_norm": 23.25, + "learning_rate": 7.333333333333334e-07, + "loss": 1.4182, + "step": 56 + }, + { + "epoch": 0.0035029498525073746, + "grad_norm": 36.75, + "learning_rate": 7.466666666666668e-07, + "loss": 1.4212, + "step": 57 + }, + { + "epoch": 0.0035644051130776793, + "grad_norm": 31.125, + "learning_rate": 7.6e-07, + "loss": 1.4183, + "step": 58 + }, + { + "epoch": 0.0036258603736479844, + "grad_norm": 32.5, + "learning_rate": 7.733333333333335e-07, + "loss": 1.5004, + "step": 59 + }, + { + "epoch": 0.003687315634218289, + "grad_norm": 29.125, + "learning_rate": 7.866666666666667e-07, + "loss": 1.4667, + "step": 60 + }, + { + "epoch": 0.0037487708947885937, + "grad_norm": 30.5, + "learning_rate": 8.000000000000001e-07, + "loss": 1.4404, + "step": 61 + }, + { + "epoch": 0.003810226155358899, + "grad_norm": 27.875, + "learning_rate": 8.133333333333333e-07, + "loss": 1.4657, + "step": 62 + }, + { + "epoch": 0.0038716814159292035, + "grad_norm": 40.75, + "learning_rate": 8.266666666666668e-07, + "loss": 1.4001, + "step": 63 + }, + { + "epoch": 0.003933136676499509, + "grad_norm": 27.0, + "learning_rate": 8.400000000000001e-07, + "loss": 1.4232, + "step": 64 + }, + { + "epoch": 0.003994591937069813, + "grad_norm": 27.25, + "learning_rate": 8.533333333333334e-07, + "loss": 1.3774, + "step": 65 + }, + { + "epoch": 0.004056047197640118, + "grad_norm": 29.625, + "learning_rate": 8.666666666666668e-07, + "loss": 1.3763, + "step": 66 + }, + { + "epoch": 0.004117502458210423, + "grad_norm": 27.5, + "learning_rate": 8.8e-07, + "loss": 1.3875, + "step": 67 + }, + { + "epoch": 0.004178957718780727, + "grad_norm": 34.25, + "learning_rate": 8.933333333333334e-07, + "loss": 1.404, + "step": 68 + }, + { + "epoch": 0.004240412979351032, + "grad_norm": 33.5, + "learning_rate": 9.066666666666668e-07, + "loss": 1.3785, + "step": 69 + }, + { + "epoch": 0.0043018682399213375, + "grad_norm": 31.875, + "learning_rate": 9.200000000000001e-07, + "loss": 1.3663, + "step": 70 + }, + { + "epoch": 0.004363323500491642, + "grad_norm": 22.75, + "learning_rate": 9.333333333333334e-07, + "loss": 1.3843, + "step": 71 + }, + { + "epoch": 0.004424778761061947, + "grad_norm": 22.875, + "learning_rate": 9.466666666666667e-07, + "loss": 1.3844, + "step": 72 + }, + { + "epoch": 0.004486234021632252, + "grad_norm": 19.375, + "learning_rate": 9.600000000000001e-07, + "loss": 1.4336, + "step": 73 + }, + { + "epoch": 0.004547689282202556, + "grad_norm": 25.5, + "learning_rate": 9.733333333333333e-07, + "loss": 1.4111, + "step": 74 + }, + { + "epoch": 0.004609144542772861, + "grad_norm": 31.875, + "learning_rate": 9.866666666666668e-07, + "loss": 1.3456, + "step": 75 + }, + { + "epoch": 0.004670599803343166, + "grad_norm": 25.375, + "learning_rate": 1.0000000000000002e-06, + "loss": 1.3526, + "step": 76 + }, + { + "epoch": 0.004732055063913471, + "grad_norm": 28.625, + "learning_rate": 1.0133333333333333e-06, + "loss": 1.3306, + "step": 77 + }, + { + "epoch": 0.004793510324483776, + "grad_norm": 22.375, + "learning_rate": 1.0266666666666669e-06, + "loss": 1.3395, + "step": 78 + }, + { + "epoch": 0.004854965585054081, + "grad_norm": 23.125, + "learning_rate": 1.04e-06, + "loss": 1.3588, + "step": 79 + }, + { + "epoch": 0.004916420845624385, + "grad_norm": 22.0, + "learning_rate": 1.0533333333333333e-06, + "loss": 1.3521, + "step": 80 + }, + { + "epoch": 0.00497787610619469, + "grad_norm": 27.25, + "learning_rate": 1.066666666666667e-06, + "loss": 1.3255, + "step": 81 + }, + { + "epoch": 0.005039331366764995, + "grad_norm": 25.375, + "learning_rate": 1.08e-06, + "loss": 1.3141, + "step": 82 + }, + { + "epoch": 0.0051007866273352995, + "grad_norm": 19.0, + "learning_rate": 1.0933333333333334e-06, + "loss": 1.3346, + "step": 83 + }, + { + "epoch": 0.005162241887905605, + "grad_norm": 27.75, + "learning_rate": 1.1066666666666667e-06, + "loss": 1.2773, + "step": 84 + }, + { + "epoch": 0.00522369714847591, + "grad_norm": 26.25, + "learning_rate": 1.12e-06, + "loss": 1.2768, + "step": 85 + }, + { + "epoch": 0.005285152409046214, + "grad_norm": 26.0, + "learning_rate": 1.1333333333333334e-06, + "loss": 1.3128, + "step": 86 + }, + { + "epoch": 0.005346607669616519, + "grad_norm": 19.875, + "learning_rate": 1.1466666666666668e-06, + "loss": 1.3132, + "step": 87 + }, + { + "epoch": 0.005408062930186824, + "grad_norm": 30.875, + "learning_rate": 1.1600000000000001e-06, + "loss": 1.3141, + "step": 88 + }, + { + "epoch": 0.0054695181907571284, + "grad_norm": 22.0, + "learning_rate": 1.1733333333333335e-06, + "loss": 1.2636, + "step": 89 + }, + { + "epoch": 0.0055309734513274336, + "grad_norm": 25.125, + "learning_rate": 1.1866666666666668e-06, + "loss": 1.2607, + "step": 90 + }, + { + "epoch": 0.005592428711897739, + "grad_norm": 17.875, + "learning_rate": 1.2000000000000002e-06, + "loss": 1.2474, + "step": 91 + }, + { + "epoch": 0.005653883972468043, + "grad_norm": 21.25, + "learning_rate": 1.2133333333333335e-06, + "loss": 1.2857, + "step": 92 + }, + { + "epoch": 0.005715339233038348, + "grad_norm": 31.125, + "learning_rate": 1.2266666666666666e-06, + "loss": 1.2651, + "step": 93 + }, + { + "epoch": 0.005776794493608653, + "grad_norm": 22.625, + "learning_rate": 1.2400000000000002e-06, + "loss": 1.2309, + "step": 94 + }, + { + "epoch": 0.005838249754178957, + "grad_norm": 26.375, + "learning_rate": 1.2533333333333333e-06, + "loss": 1.2152, + "step": 95 + }, + { + "epoch": 0.0058997050147492625, + "grad_norm": 31.75, + "learning_rate": 1.2666666666666669e-06, + "loss": 1.2495, + "step": 96 + }, + { + "epoch": 0.0059611602753195676, + "grad_norm": 13.9375, + "learning_rate": 1.28e-06, + "loss": 1.2448, + "step": 97 + }, + { + "epoch": 0.006022615535889872, + "grad_norm": 15.875, + "learning_rate": 1.2933333333333334e-06, + "loss": 1.2347, + "step": 98 + }, + { + "epoch": 0.006084070796460177, + "grad_norm": 13.4375, + "learning_rate": 1.3066666666666667e-06, + "loss": 1.2758, + "step": 99 + }, + { + "epoch": 0.006145526057030482, + "grad_norm": 15.25, + "learning_rate": 1.32e-06, + "loss": 1.3125, + "step": 100 + }, + { + "epoch": 0.006206981317600786, + "grad_norm": 28.375, + "learning_rate": 1.3333333333333334e-06, + "loss": 1.254, + "step": 101 + }, + { + "epoch": 0.006268436578171091, + "grad_norm": 21.0, + "learning_rate": 1.3466666666666668e-06, + "loss": 1.2636, + "step": 102 + }, + { + "epoch": 0.0063298918387413965, + "grad_norm": 14.6875, + "learning_rate": 1.3600000000000001e-06, + "loss": 1.2687, + "step": 103 + }, + { + "epoch": 0.006391347099311701, + "grad_norm": 14.5625, + "learning_rate": 1.3733333333333335e-06, + "loss": 1.2174, + "step": 104 + }, + { + "epoch": 0.006452802359882006, + "grad_norm": 18.75, + "learning_rate": 1.3866666666666668e-06, + "loss": 1.2783, + "step": 105 + }, + { + "epoch": 0.006514257620452311, + "grad_norm": 15.875, + "learning_rate": 1.4000000000000001e-06, + "loss": 1.2473, + "step": 106 + }, + { + "epoch": 0.006575712881022615, + "grad_norm": 14.3125, + "learning_rate": 1.4133333333333335e-06, + "loss": 1.2454, + "step": 107 + }, + { + "epoch": 0.00663716814159292, + "grad_norm": 41.25, + "learning_rate": 1.4266666666666668e-06, + "loss": 1.3315, + "step": 108 + }, + { + "epoch": 0.006698623402163225, + "grad_norm": 15.1875, + "learning_rate": 1.44e-06, + "loss": 1.2593, + "step": 109 + }, + { + "epoch": 0.00676007866273353, + "grad_norm": 16.75, + "learning_rate": 1.4533333333333335e-06, + "loss": 1.2575, + "step": 110 + }, + { + "epoch": 0.006821533923303835, + "grad_norm": 15.0, + "learning_rate": 1.4666666666666669e-06, + "loss": 1.265, + "step": 111 + }, + { + "epoch": 0.00688298918387414, + "grad_norm": 23.125, + "learning_rate": 1.48e-06, + "loss": 1.2893, + "step": 112 + }, + { + "epoch": 0.006944444444444444, + "grad_norm": 23.0, + "learning_rate": 1.4933333333333336e-06, + "loss": 1.2425, + "step": 113 + }, + { + "epoch": 0.007005899705014749, + "grad_norm": 18.375, + "learning_rate": 1.506666666666667e-06, + "loss": 1.3032, + "step": 114 + }, + { + "epoch": 0.007067354965585054, + "grad_norm": 24.625, + "learning_rate": 1.52e-06, + "loss": 1.2893, + "step": 115 + }, + { + "epoch": 0.0071288102261553585, + "grad_norm": 14.375, + "learning_rate": 1.5333333333333334e-06, + "loss": 1.1966, + "step": 116 + }, + { + "epoch": 0.007190265486725664, + "grad_norm": 21.0, + "learning_rate": 1.546666666666667e-06, + "loss": 1.23, + "step": 117 + }, + { + "epoch": 0.007251720747295969, + "grad_norm": 18.25, + "learning_rate": 1.56e-06, + "loss": 1.294, + "step": 118 + }, + { + "epoch": 0.007313176007866273, + "grad_norm": 18.125, + "learning_rate": 1.5733333333333334e-06, + "loss": 1.2289, + "step": 119 + }, + { + "epoch": 0.007374631268436578, + "grad_norm": 13.875, + "learning_rate": 1.586666666666667e-06, + "loss": 1.3106, + "step": 120 + }, + { + "epoch": 0.007436086529006883, + "grad_norm": 8.3125, + "learning_rate": 1.6000000000000001e-06, + "loss": 1.238, + "step": 121 + }, + { + "epoch": 0.007497541789577187, + "grad_norm": 13.6875, + "learning_rate": 1.6133333333333335e-06, + "loss": 1.2299, + "step": 122 + }, + { + "epoch": 0.0075589970501474925, + "grad_norm": 13.125, + "learning_rate": 1.6266666666666666e-06, + "loss": 1.2363, + "step": 123 + }, + { + "epoch": 0.007620452310717798, + "grad_norm": 10.1875, + "learning_rate": 1.6400000000000002e-06, + "loss": 1.1714, + "step": 124 + }, + { + "epoch": 0.007681907571288102, + "grad_norm": 19.75, + "learning_rate": 1.6533333333333335e-06, + "loss": 1.191, + "step": 125 + }, + { + "epoch": 0.007743362831858407, + "grad_norm": 18.625, + "learning_rate": 1.6666666666666667e-06, + "loss": 1.1915, + "step": 126 + }, + { + "epoch": 0.007804818092428712, + "grad_norm": 14.6875, + "learning_rate": 1.6800000000000002e-06, + "loss": 1.1701, + "step": 127 + }, + { + "epoch": 0.007866273352999017, + "grad_norm": 19.625, + "learning_rate": 1.6933333333333336e-06, + "loss": 1.173, + "step": 128 + }, + { + "epoch": 0.007927728613569322, + "grad_norm": 10.625, + "learning_rate": 1.7066666666666667e-06, + "loss": 1.2696, + "step": 129 + }, + { + "epoch": 0.007989183874139626, + "grad_norm": 15.5625, + "learning_rate": 1.72e-06, + "loss": 1.2133, + "step": 130 + }, + { + "epoch": 0.00805063913470993, + "grad_norm": 13.0, + "learning_rate": 1.7333333333333336e-06, + "loss": 1.242, + "step": 131 + }, + { + "epoch": 0.008112094395280236, + "grad_norm": 13.0625, + "learning_rate": 1.7466666666666667e-06, + "loss": 1.2084, + "step": 132 + }, + { + "epoch": 0.008173549655850541, + "grad_norm": 14.3125, + "learning_rate": 1.76e-06, + "loss": 1.192, + "step": 133 + }, + { + "epoch": 0.008235004916420846, + "grad_norm": 14.625, + "learning_rate": 1.7733333333333336e-06, + "loss": 1.1556, + "step": 134 + }, + { + "epoch": 0.008296460176991151, + "grad_norm": 13.125, + "learning_rate": 1.7866666666666668e-06, + "loss": 1.2567, + "step": 135 + }, + { + "epoch": 0.008357915437561455, + "grad_norm": 23.5, + "learning_rate": 1.8000000000000001e-06, + "loss": 1.243, + "step": 136 + }, + { + "epoch": 0.00841937069813176, + "grad_norm": 11.9375, + "learning_rate": 1.8133333333333337e-06, + "loss": 1.1579, + "step": 137 + }, + { + "epoch": 0.008480825958702065, + "grad_norm": 10.0, + "learning_rate": 1.8266666666666668e-06, + "loss": 1.0972, + "step": 138 + }, + { + "epoch": 0.00854228121927237, + "grad_norm": 20.875, + "learning_rate": 1.8400000000000002e-06, + "loss": 1.1399, + "step": 139 + }, + { + "epoch": 0.008603736479842675, + "grad_norm": 27.625, + "learning_rate": 1.8533333333333333e-06, + "loss": 1.1345, + "step": 140 + }, + { + "epoch": 0.00866519174041298, + "grad_norm": 9.1875, + "learning_rate": 1.8666666666666669e-06, + "loss": 1.1324, + "step": 141 + }, + { + "epoch": 0.008726647000983283, + "grad_norm": 15.625, + "learning_rate": 1.8800000000000002e-06, + "loss": 1.1115, + "step": 142 + }, + { + "epoch": 0.008788102261553589, + "grad_norm": 21.125, + "learning_rate": 1.8933333333333333e-06, + "loss": 1.0983, + "step": 143 + }, + { + "epoch": 0.008849557522123894, + "grad_norm": 32.0, + "learning_rate": 1.906666666666667e-06, + "loss": 1.1227, + "step": 144 + }, + { + "epoch": 0.008911012782694199, + "grad_norm": 20.125, + "learning_rate": 1.9200000000000003e-06, + "loss": 1.2015, + "step": 145 + }, + { + "epoch": 0.008972468043264504, + "grad_norm": 20.5, + "learning_rate": 1.9333333333333336e-06, + "loss": 1.2647, + "step": 146 + }, + { + "epoch": 0.009033923303834809, + "grad_norm": 16.125, + "learning_rate": 1.9466666666666665e-06, + "loss": 1.2075, + "step": 147 + }, + { + "epoch": 0.009095378564405112, + "grad_norm": 17.0, + "learning_rate": 1.9600000000000003e-06, + "loss": 1.2263, + "step": 148 + }, + { + "epoch": 0.009156833824975417, + "grad_norm": 25.25, + "learning_rate": 1.9733333333333336e-06, + "loss": 1.313, + "step": 149 + }, + { + "epoch": 0.009218289085545723, + "grad_norm": 8.3125, + "learning_rate": 1.9866666666666666e-06, + "loss": 1.1606, + "step": 150 + }, + { + "epoch": 0.009279744346116028, + "grad_norm": 47.5, + "learning_rate": 2.0000000000000003e-06, + "loss": 1.3511, + "step": 151 + }, + { + "epoch": 0.009341199606686333, + "grad_norm": 10.6875, + "learning_rate": 2.0133333333333337e-06, + "loss": 1.2138, + "step": 152 + }, + { + "epoch": 0.009402654867256638, + "grad_norm": 14.125, + "learning_rate": 2.0266666666666666e-06, + "loss": 1.1739, + "step": 153 + }, + { + "epoch": 0.009464110127826941, + "grad_norm": 24.0, + "learning_rate": 2.04e-06, + "loss": 1.1725, + "step": 154 + }, + { + "epoch": 0.009525565388397246, + "grad_norm": 21.625, + "learning_rate": 2.0533333333333337e-06, + "loss": 1.1152, + "step": 155 + }, + { + "epoch": 0.009587020648967551, + "grad_norm": 13.375, + "learning_rate": 2.0666666666666666e-06, + "loss": 1.1109, + "step": 156 + }, + { + "epoch": 0.009648475909537857, + "grad_norm": 20.25, + "learning_rate": 2.08e-06, + "loss": 1.1053, + "step": 157 + }, + { + "epoch": 0.009709931170108162, + "grad_norm": 10.375, + "learning_rate": 2.0933333333333338e-06, + "loss": 1.1225, + "step": 158 + }, + { + "epoch": 0.009771386430678467, + "grad_norm": 11.4375, + "learning_rate": 2.1066666666666667e-06, + "loss": 1.1424, + "step": 159 + }, + { + "epoch": 0.00983284169124877, + "grad_norm": 28.5, + "learning_rate": 2.12e-06, + "loss": 1.1637, + "step": 160 + }, + { + "epoch": 0.009894296951819075, + "grad_norm": 19.5, + "learning_rate": 2.133333333333334e-06, + "loss": 1.1104, + "step": 161 + }, + { + "epoch": 0.00995575221238938, + "grad_norm": 30.75, + "learning_rate": 2.1466666666666667e-06, + "loss": 1.1314, + "step": 162 + }, + { + "epoch": 0.010017207472959685, + "grad_norm": 13.625, + "learning_rate": 2.16e-06, + "loss": 1.0777, + "step": 163 + }, + { + "epoch": 0.01007866273352999, + "grad_norm": 14.125, + "learning_rate": 2.1733333333333334e-06, + "loss": 1.1029, + "step": 164 + }, + { + "epoch": 0.010140117994100296, + "grad_norm": 28.625, + "learning_rate": 2.1866666666666668e-06, + "loss": 1.0845, + "step": 165 + }, + { + "epoch": 0.010201573254670599, + "grad_norm": 16.375, + "learning_rate": 2.2e-06, + "loss": 1.1821, + "step": 166 + }, + { + "epoch": 0.010263028515240904, + "grad_norm": 21.25, + "learning_rate": 2.2133333333333335e-06, + "loss": 1.141, + "step": 167 + }, + { + "epoch": 0.01032448377581121, + "grad_norm": 17.0, + "learning_rate": 2.226666666666667e-06, + "loss": 1.1344, + "step": 168 + }, + { + "epoch": 0.010385939036381514, + "grad_norm": 13.125, + "learning_rate": 2.24e-06, + "loss": 1.1131, + "step": 169 + }, + { + "epoch": 0.01044739429695182, + "grad_norm": 16.125, + "learning_rate": 2.2533333333333335e-06, + "loss": 1.0608, + "step": 170 + }, + { + "epoch": 0.010508849557522125, + "grad_norm": 15.0, + "learning_rate": 2.266666666666667e-06, + "loss": 1.1074, + "step": 171 + }, + { + "epoch": 0.010570304818092428, + "grad_norm": 16.75, + "learning_rate": 2.28e-06, + "loss": 1.1097, + "step": 172 + }, + { + "epoch": 0.010631760078662733, + "grad_norm": 12.4375, + "learning_rate": 2.2933333333333335e-06, + "loss": 1.1263, + "step": 173 + }, + { + "epoch": 0.010693215339233038, + "grad_norm": 36.25, + "learning_rate": 2.306666666666667e-06, + "loss": 1.1327, + "step": 174 + }, + { + "epoch": 0.010754670599803343, + "grad_norm": 13.375, + "learning_rate": 2.3200000000000002e-06, + "loss": 1.1072, + "step": 175 + }, + { + "epoch": 0.010816125860373648, + "grad_norm": 16.875, + "learning_rate": 2.3333333333333336e-06, + "loss": 1.1052, + "step": 176 + }, + { + "epoch": 0.010877581120943954, + "grad_norm": 12.5625, + "learning_rate": 2.346666666666667e-06, + "loss": 1.1051, + "step": 177 + }, + { + "epoch": 0.010939036381514257, + "grad_norm": 19.0, + "learning_rate": 2.3600000000000003e-06, + "loss": 1.2418, + "step": 178 + }, + { + "epoch": 0.011000491642084562, + "grad_norm": 18.25, + "learning_rate": 2.3733333333333336e-06, + "loss": 1.0645, + "step": 179 + }, + { + "epoch": 0.011061946902654867, + "grad_norm": 9.25, + "learning_rate": 2.386666666666667e-06, + "loss": 1.1151, + "step": 180 + }, + { + "epoch": 0.011123402163225172, + "grad_norm": 34.25, + "learning_rate": 2.4000000000000003e-06, + "loss": 1.1364, + "step": 181 + }, + { + "epoch": 0.011184857423795477, + "grad_norm": 21.375, + "learning_rate": 2.4133333333333337e-06, + "loss": 1.1714, + "step": 182 + }, + { + "epoch": 0.011246312684365782, + "grad_norm": 17.875, + "learning_rate": 2.426666666666667e-06, + "loss": 1.1789, + "step": 183 + }, + { + "epoch": 0.011307767944936086, + "grad_norm": 39.0, + "learning_rate": 2.4400000000000004e-06, + "loss": 1.0766, + "step": 184 + }, + { + "epoch": 0.011369223205506391, + "grad_norm": 18.25, + "learning_rate": 2.4533333333333333e-06, + "loss": 1.2983, + "step": 185 + }, + { + "epoch": 0.011430678466076696, + "grad_norm": 12.375, + "learning_rate": 2.466666666666667e-06, + "loss": 1.1043, + "step": 186 + }, + { + "epoch": 0.011492133726647001, + "grad_norm": 22.5, + "learning_rate": 2.4800000000000004e-06, + "loss": 1.1895, + "step": 187 + }, + { + "epoch": 0.011553588987217306, + "grad_norm": 21.75, + "learning_rate": 2.4933333333333333e-06, + "loss": 1.1812, + "step": 188 + }, + { + "epoch": 0.011615044247787611, + "grad_norm": 11.1875, + "learning_rate": 2.5066666666666667e-06, + "loss": 1.1458, + "step": 189 + }, + { + "epoch": 0.011676499508357915, + "grad_norm": 20.625, + "learning_rate": 2.52e-06, + "loss": 1.3059, + "step": 190 + }, + { + "epoch": 0.01173795476892822, + "grad_norm": 16.625, + "learning_rate": 2.5333333333333338e-06, + "loss": 1.1491, + "step": 191 + }, + { + "epoch": 0.011799410029498525, + "grad_norm": 17.25, + "learning_rate": 2.5466666666666667e-06, + "loss": 1.1945, + "step": 192 + }, + { + "epoch": 0.01186086529006883, + "grad_norm": 23.375, + "learning_rate": 2.56e-06, + "loss": 1.1187, + "step": 193 + }, + { + "epoch": 0.011922320550639135, + "grad_norm": 32.5, + "learning_rate": 2.573333333333334e-06, + "loss": 1.1354, + "step": 194 + }, + { + "epoch": 0.01198377581120944, + "grad_norm": 18.875, + "learning_rate": 2.5866666666666667e-06, + "loss": 1.1791, + "step": 195 + }, + { + "epoch": 0.012045231071779744, + "grad_norm": 20.625, + "learning_rate": 2.6e-06, + "loss": 1.1322, + "step": 196 + }, + { + "epoch": 0.012106686332350049, + "grad_norm": 32.0, + "learning_rate": 2.6133333333333334e-06, + "loss": 1.1313, + "step": 197 + }, + { + "epoch": 0.012168141592920354, + "grad_norm": 45.75, + "learning_rate": 2.6266666666666668e-06, + "loss": 1.1602, + "step": 198 + }, + { + "epoch": 0.012229596853490659, + "grad_norm": 14.375, + "learning_rate": 2.64e-06, + "loss": 1.1752, + "step": 199 + }, + { + "epoch": 0.012291052114060964, + "grad_norm": 30.875, + "learning_rate": 2.6533333333333335e-06, + "loss": 1.2652, + "step": 200 + }, + { + "epoch": 0.012352507374631269, + "grad_norm": 23.75, + "learning_rate": 2.666666666666667e-06, + "loss": 1.1371, + "step": 201 + }, + { + "epoch": 0.012413962635201573, + "grad_norm": 21.25, + "learning_rate": 2.68e-06, + "loss": 1.0729, + "step": 202 + }, + { + "epoch": 0.012475417895771878, + "grad_norm": 17.0, + "learning_rate": 2.6933333333333335e-06, + "loss": 1.0273, + "step": 203 + }, + { + "epoch": 0.012536873156342183, + "grad_norm": 20.0, + "learning_rate": 2.706666666666667e-06, + "loss": 1.1027, + "step": 204 + }, + { + "epoch": 0.012598328416912488, + "grad_norm": 21.625, + "learning_rate": 2.7200000000000002e-06, + "loss": 1.149, + "step": 205 + }, + { + "epoch": 0.012659783677482793, + "grad_norm": 19.375, + "learning_rate": 2.7333333333333336e-06, + "loss": 1.0611, + "step": 206 + }, + { + "epoch": 0.012721238938053098, + "grad_norm": 17.125, + "learning_rate": 2.746666666666667e-06, + "loss": 1.055, + "step": 207 + }, + { + "epoch": 0.012782694198623401, + "grad_norm": 9.9375, + "learning_rate": 2.7600000000000003e-06, + "loss": 1.0826, + "step": 208 + }, + { + "epoch": 0.012844149459193707, + "grad_norm": 39.25, + "learning_rate": 2.7733333333333336e-06, + "loss": 1.0489, + "step": 209 + }, + { + "epoch": 0.012905604719764012, + "grad_norm": 11.1875, + "learning_rate": 2.786666666666667e-06, + "loss": 1.1321, + "step": 210 + }, + { + "epoch": 0.012967059980334317, + "grad_norm": 24.75, + "learning_rate": 2.8000000000000003e-06, + "loss": 1.1996, + "step": 211 + }, + { + "epoch": 0.013028515240904622, + "grad_norm": 21.875, + "learning_rate": 2.8133333333333336e-06, + "loss": 1.1491, + "step": 212 + }, + { + "epoch": 0.013089970501474927, + "grad_norm": 20.375, + "learning_rate": 2.826666666666667e-06, + "loss": 1.0555, + "step": 213 + }, + { + "epoch": 0.01315142576204523, + "grad_norm": 25.125, + "learning_rate": 2.84e-06, + "loss": 1.1075, + "step": 214 + }, + { + "epoch": 0.013212881022615535, + "grad_norm": 10.125, + "learning_rate": 2.8533333333333337e-06, + "loss": 1.0926, + "step": 215 + }, + { + "epoch": 0.01327433628318584, + "grad_norm": 17.375, + "learning_rate": 2.866666666666667e-06, + "loss": 1.1172, + "step": 216 + }, + { + "epoch": 0.013335791543756146, + "grad_norm": 30.875, + "learning_rate": 2.88e-06, + "loss": 1.1143, + "step": 217 + }, + { + "epoch": 0.01339724680432645, + "grad_norm": 14.875, + "learning_rate": 2.8933333333333337e-06, + "loss": 1.1945, + "step": 218 + }, + { + "epoch": 0.013458702064896756, + "grad_norm": 20.0, + "learning_rate": 2.906666666666667e-06, + "loss": 1.111, + "step": 219 + }, + { + "epoch": 0.01352015732546706, + "grad_norm": 12.25, + "learning_rate": 2.92e-06, + "loss": 1.1282, + "step": 220 + }, + { + "epoch": 0.013581612586037364, + "grad_norm": 29.5, + "learning_rate": 2.9333333333333338e-06, + "loss": 1.0827, + "step": 221 + }, + { + "epoch": 0.01364306784660767, + "grad_norm": 10.0625, + "learning_rate": 2.946666666666667e-06, + "loss": 1.1045, + "step": 222 + }, + { + "epoch": 0.013704523107177975, + "grad_norm": 40.5, + "learning_rate": 2.96e-06, + "loss": 1.1818, + "step": 223 + }, + { + "epoch": 0.01376597836774828, + "grad_norm": 38.25, + "learning_rate": 2.973333333333334e-06, + "loss": 1.1809, + "step": 224 + }, + { + "epoch": 0.013827433628318585, + "grad_norm": 20.5, + "learning_rate": 2.986666666666667e-06, + "loss": 1.0895, + "step": 225 + }, + { + "epoch": 0.013888888888888888, + "grad_norm": 13.5, + "learning_rate": 3e-06, + "loss": 1.0573, + "step": 226 + }, + { + "epoch": 0.013950344149459193, + "grad_norm": 22.625, + "learning_rate": 3.013333333333334e-06, + "loss": 1.1354, + "step": 227 + }, + { + "epoch": 0.014011799410029498, + "grad_norm": 21.75, + "learning_rate": 3.0266666666666668e-06, + "loss": 1.0277, + "step": 228 + }, + { + "epoch": 0.014073254670599803, + "grad_norm": 15.375, + "learning_rate": 3.04e-06, + "loss": 1.0699, + "step": 229 + }, + { + "epoch": 0.014134709931170109, + "grad_norm": 28.0, + "learning_rate": 3.053333333333334e-06, + "loss": 1.0487, + "step": 230 + }, + { + "epoch": 0.014196165191740414, + "grad_norm": 43.75, + "learning_rate": 3.066666666666667e-06, + "loss": 1.0535, + "step": 231 + }, + { + "epoch": 0.014257620452310717, + "grad_norm": 9.5, + "learning_rate": 3.08e-06, + "loss": 1.0433, + "step": 232 + }, + { + "epoch": 0.014319075712881022, + "grad_norm": 35.5, + "learning_rate": 3.093333333333334e-06, + "loss": 1.2087, + "step": 233 + }, + { + "epoch": 0.014380530973451327, + "grad_norm": 34.25, + "learning_rate": 3.106666666666667e-06, + "loss": 1.25, + "step": 234 + }, + { + "epoch": 0.014441986234021632, + "grad_norm": 9.75, + "learning_rate": 3.12e-06, + "loss": 1.1464, + "step": 235 + }, + { + "epoch": 0.014503441494591937, + "grad_norm": 12.25, + "learning_rate": 3.133333333333334e-06, + "loss": 1.1258, + "step": 236 + }, + { + "epoch": 0.014564896755162243, + "grad_norm": 13.75, + "learning_rate": 3.146666666666667e-06, + "loss": 1.2378, + "step": 237 + }, + { + "epoch": 0.014626352015732546, + "grad_norm": 52.75, + "learning_rate": 3.1600000000000002e-06, + "loss": 1.2047, + "step": 238 + }, + { + "epoch": 0.014687807276302851, + "grad_norm": 12.25, + "learning_rate": 3.173333333333334e-06, + "loss": 1.0881, + "step": 239 + }, + { + "epoch": 0.014749262536873156, + "grad_norm": 13.3125, + "learning_rate": 3.186666666666667e-06, + "loss": 1.1176, + "step": 240 + }, + { + "epoch": 0.014810717797443461, + "grad_norm": 24.125, + "learning_rate": 3.2000000000000003e-06, + "loss": 1.1777, + "step": 241 + }, + { + "epoch": 0.014872173058013766, + "grad_norm": 15.6875, + "learning_rate": 3.213333333333334e-06, + "loss": 1.2388, + "step": 242 + }, + { + "epoch": 0.014933628318584071, + "grad_norm": 37.0, + "learning_rate": 3.226666666666667e-06, + "loss": 1.1639, + "step": 243 + }, + { + "epoch": 0.014995083579154375, + "grad_norm": 26.375, + "learning_rate": 3.2400000000000003e-06, + "loss": 1.2209, + "step": 244 + }, + { + "epoch": 0.01505653883972468, + "grad_norm": 13.0, + "learning_rate": 3.2533333333333332e-06, + "loss": 1.1995, + "step": 245 + }, + { + "epoch": 0.015117994100294985, + "grad_norm": 18.625, + "learning_rate": 3.266666666666667e-06, + "loss": 1.1579, + "step": 246 + }, + { + "epoch": 0.01517944936086529, + "grad_norm": 19.875, + "learning_rate": 3.2800000000000004e-06, + "loss": 1.1907, + "step": 247 + }, + { + "epoch": 0.015240904621435595, + "grad_norm": 18.375, + "learning_rate": 3.2933333333333333e-06, + "loss": 1.2377, + "step": 248 + }, + { + "epoch": 0.0153023598820059, + "grad_norm": 16.5, + "learning_rate": 3.306666666666667e-06, + "loss": 1.0934, + "step": 249 + }, + { + "epoch": 0.015363815142576204, + "grad_norm": 15.0, + "learning_rate": 3.3200000000000004e-06, + "loss": 1.0654, + "step": 250 + }, + { + "epoch": 0.015425270403146509, + "grad_norm": 20.625, + "learning_rate": 3.3333333333333333e-06, + "loss": 1.1563, + "step": 251 + }, + { + "epoch": 0.015486725663716814, + "grad_norm": 16.625, + "learning_rate": 3.346666666666667e-06, + "loss": 1.099, + "step": 252 + }, + { + "epoch": 0.015548180924287119, + "grad_norm": 12.6875, + "learning_rate": 3.3600000000000004e-06, + "loss": 1.0963, + "step": 253 + }, + { + "epoch": 0.015609636184857424, + "grad_norm": 18.625, + "learning_rate": 3.3733333333333334e-06, + "loss": 1.0406, + "step": 254 + }, + { + "epoch": 0.015671091445427728, + "grad_norm": 8.5625, + "learning_rate": 3.386666666666667e-06, + "loss": 1.0701, + "step": 255 + }, + { + "epoch": 0.015732546705998034, + "grad_norm": 14.1875, + "learning_rate": 3.4000000000000005e-06, + "loss": 1.077, + "step": 256 + }, + { + "epoch": 0.015794001966568338, + "grad_norm": 17.75, + "learning_rate": 3.4133333333333334e-06, + "loss": 1.1132, + "step": 257 + }, + { + "epoch": 0.015855457227138645, + "grad_norm": 23.25, + "learning_rate": 3.426666666666667e-06, + "loss": 1.1191, + "step": 258 + }, + { + "epoch": 0.015916912487708948, + "grad_norm": 26.625, + "learning_rate": 3.44e-06, + "loss": 1.322, + "step": 259 + }, + { + "epoch": 0.01597836774827925, + "grad_norm": 14.6875, + "learning_rate": 3.4533333333333334e-06, + "loss": 1.1019, + "step": 260 + }, + { + "epoch": 0.016039823008849558, + "grad_norm": 11.5, + "learning_rate": 3.4666666666666672e-06, + "loss": 1.1694, + "step": 261 + }, + { + "epoch": 0.01610127826941986, + "grad_norm": 17.25, + "learning_rate": 3.48e-06, + "loss": 1.1177, + "step": 262 + }, + { + "epoch": 0.01616273352999017, + "grad_norm": 13.25, + "learning_rate": 3.4933333333333335e-06, + "loss": 1.0603, + "step": 263 + }, + { + "epoch": 0.016224188790560472, + "grad_norm": 23.5, + "learning_rate": 3.5066666666666673e-06, + "loss": 1.1767, + "step": 264 + }, + { + "epoch": 0.016285644051130775, + "grad_norm": 35.0, + "learning_rate": 3.52e-06, + "loss": 1.2425, + "step": 265 + }, + { + "epoch": 0.016347099311701082, + "grad_norm": 10.875, + "learning_rate": 3.5333333333333335e-06, + "loss": 1.1201, + "step": 266 + }, + { + "epoch": 0.016408554572271385, + "grad_norm": 11.0, + "learning_rate": 3.5466666666666673e-06, + "loss": 1.1221, + "step": 267 + }, + { + "epoch": 0.016470009832841692, + "grad_norm": 16.5, + "learning_rate": 3.5600000000000002e-06, + "loss": 1.27, + "step": 268 + }, + { + "epoch": 0.016531465093411996, + "grad_norm": 13.375, + "learning_rate": 3.5733333333333336e-06, + "loss": 1.1907, + "step": 269 + }, + { + "epoch": 0.016592920353982302, + "grad_norm": 11.125, + "learning_rate": 3.5866666666666673e-06, + "loss": 1.1787, + "step": 270 + }, + { + "epoch": 0.016654375614552606, + "grad_norm": 22.25, + "learning_rate": 3.6000000000000003e-06, + "loss": 1.232, + "step": 271 + }, + { + "epoch": 0.01671583087512291, + "grad_norm": 32.75, + "learning_rate": 3.6133333333333336e-06, + "loss": 1.1656, + "step": 272 + }, + { + "epoch": 0.016777286135693216, + "grad_norm": 17.25, + "learning_rate": 3.6266666666666674e-06, + "loss": 1.1151, + "step": 273 + }, + { + "epoch": 0.01683874139626352, + "grad_norm": 19.0, + "learning_rate": 3.6400000000000003e-06, + "loss": 1.0429, + "step": 274 + }, + { + "epoch": 0.016900196656833826, + "grad_norm": 16.75, + "learning_rate": 3.6533333333333336e-06, + "loss": 1.1054, + "step": 275 + }, + { + "epoch": 0.01696165191740413, + "grad_norm": 16.125, + "learning_rate": 3.6666666666666666e-06, + "loss": 1.1221, + "step": 276 + }, + { + "epoch": 0.017023107177974433, + "grad_norm": 19.375, + "learning_rate": 3.6800000000000003e-06, + "loss": 1.1401, + "step": 277 + }, + { + "epoch": 0.01708456243854474, + "grad_norm": 17.375, + "learning_rate": 3.6933333333333337e-06, + "loss": 1.1432, + "step": 278 + }, + { + "epoch": 0.017146017699115043, + "grad_norm": 25.75, + "learning_rate": 3.7066666666666666e-06, + "loss": 1.0428, + "step": 279 + }, + { + "epoch": 0.01720747295968535, + "grad_norm": 15.6875, + "learning_rate": 3.7200000000000004e-06, + "loss": 1.0607, + "step": 280 + }, + { + "epoch": 0.017268928220255653, + "grad_norm": 10.0, + "learning_rate": 3.7333333333333337e-06, + "loss": 1.1018, + "step": 281 + }, + { + "epoch": 0.01733038348082596, + "grad_norm": 22.875, + "learning_rate": 3.7466666666666667e-06, + "loss": 1.1253, + "step": 282 + }, + { + "epoch": 0.017391838741396264, + "grad_norm": 15.8125, + "learning_rate": 3.7600000000000004e-06, + "loss": 1.1724, + "step": 283 + }, + { + "epoch": 0.017453294001966567, + "grad_norm": 34.25, + "learning_rate": 3.7733333333333338e-06, + "loss": 1.1102, + "step": 284 + }, + { + "epoch": 0.017514749262536874, + "grad_norm": 21.375, + "learning_rate": 3.7866666666666667e-06, + "loss": 1.1293, + "step": 285 + }, + { + "epoch": 0.017576204523107177, + "grad_norm": 29.5, + "learning_rate": 3.8000000000000005e-06, + "loss": 1.2461, + "step": 286 + }, + { + "epoch": 0.017637659783677484, + "grad_norm": 38.75, + "learning_rate": 3.813333333333334e-06, + "loss": 1.1235, + "step": 287 + }, + { + "epoch": 0.017699115044247787, + "grad_norm": 9.3125, + "learning_rate": 3.826666666666667e-06, + "loss": 1.1524, + "step": 288 + }, + { + "epoch": 0.01776057030481809, + "grad_norm": 21.75, + "learning_rate": 3.8400000000000005e-06, + "loss": 1.0407, + "step": 289 + }, + { + "epoch": 0.017822025565388398, + "grad_norm": 13.8125, + "learning_rate": 3.853333333333334e-06, + "loss": 1.0842, + "step": 290 + }, + { + "epoch": 0.0178834808259587, + "grad_norm": 11.625, + "learning_rate": 3.866666666666667e-06, + "loss": 1.0728, + "step": 291 + }, + { + "epoch": 0.017944936086529008, + "grad_norm": 13.3125, + "learning_rate": 3.88e-06, + "loss": 1.0725, + "step": 292 + }, + { + "epoch": 0.01800639134709931, + "grad_norm": 36.5, + "learning_rate": 3.893333333333333e-06, + "loss": 1.0338, + "step": 293 + }, + { + "epoch": 0.018067846607669618, + "grad_norm": 11.75, + "learning_rate": 3.906666666666667e-06, + "loss": 1.0135, + "step": 294 + }, + { + "epoch": 0.01812930186823992, + "grad_norm": 27.25, + "learning_rate": 3.920000000000001e-06, + "loss": 1.0667, + "step": 295 + }, + { + "epoch": 0.018190757128810225, + "grad_norm": 15.25, + "learning_rate": 3.9333333333333335e-06, + "loss": 1.068, + "step": 296 + }, + { + "epoch": 0.01825221238938053, + "grad_norm": 46.75, + "learning_rate": 3.946666666666667e-06, + "loss": 1.2074, + "step": 297 + }, + { + "epoch": 0.018313667649950835, + "grad_norm": 24.125, + "learning_rate": 3.96e-06, + "loss": 1.1072, + "step": 298 + }, + { + "epoch": 0.018375122910521142, + "grad_norm": 41.75, + "learning_rate": 3.973333333333333e-06, + "loss": 1.2243, + "step": 299 + }, + { + "epoch": 0.018436578171091445, + "grad_norm": 36.0, + "learning_rate": 3.986666666666667e-06, + "loss": 1.1642, + "step": 300 + }, + { + "epoch": 0.01849803343166175, + "grad_norm": 22.875, + "learning_rate": 4.000000000000001e-06, + "loss": 1.1821, + "step": 301 + }, + { + "epoch": 0.018559488692232055, + "grad_norm": 20.625, + "learning_rate": 4.013333333333334e-06, + "loss": 1.2046, + "step": 302 + }, + { + "epoch": 0.01862094395280236, + "grad_norm": 22.625, + "learning_rate": 4.026666666666667e-06, + "loss": 1.2256, + "step": 303 + }, + { + "epoch": 0.018682399213372666, + "grad_norm": 20.0, + "learning_rate": 4.04e-06, + "loss": 1.2917, + "step": 304 + }, + { + "epoch": 0.01874385447394297, + "grad_norm": 34.0, + "learning_rate": 4.053333333333333e-06, + "loss": 1.1289, + "step": 305 + }, + { + "epoch": 0.018805309734513276, + "grad_norm": 37.0, + "learning_rate": 4.066666666666667e-06, + "loss": 1.1572, + "step": 306 + }, + { + "epoch": 0.01886676499508358, + "grad_norm": 24.375, + "learning_rate": 4.08e-06, + "loss": 1.106, + "step": 307 + }, + { + "epoch": 0.018928220255653883, + "grad_norm": 27.0, + "learning_rate": 4.093333333333334e-06, + "loss": 1.1808, + "step": 308 + }, + { + "epoch": 0.01898967551622419, + "grad_norm": 13.5625, + "learning_rate": 4.1066666666666674e-06, + "loss": 1.1536, + "step": 309 + }, + { + "epoch": 0.019051130776794493, + "grad_norm": 25.75, + "learning_rate": 4.12e-06, + "loss": 1.1452, + "step": 310 + }, + { + "epoch": 0.0191125860373648, + "grad_norm": 41.5, + "learning_rate": 4.133333333333333e-06, + "loss": 1.0979, + "step": 311 + }, + { + "epoch": 0.019174041297935103, + "grad_norm": 11.6875, + "learning_rate": 4.146666666666667e-06, + "loss": 1.1598, + "step": 312 + }, + { + "epoch": 0.019235496558505406, + "grad_norm": 18.375, + "learning_rate": 4.16e-06, + "loss": 1.0453, + "step": 313 + }, + { + "epoch": 0.019296951819075713, + "grad_norm": 21.75, + "learning_rate": 4.173333333333334e-06, + "loss": 1.0437, + "step": 314 + }, + { + "epoch": 0.019358407079646017, + "grad_norm": 13.375, + "learning_rate": 4.1866666666666675e-06, + "loss": 1.0363, + "step": 315 + }, + { + "epoch": 0.019419862340216323, + "grad_norm": 8.125, + "learning_rate": 4.2000000000000004e-06, + "loss": 1.0984, + "step": 316 + }, + { + "epoch": 0.019481317600786627, + "grad_norm": 30.125, + "learning_rate": 4.213333333333333e-06, + "loss": 1.0599, + "step": 317 + }, + { + "epoch": 0.019542772861356934, + "grad_norm": 15.375, + "learning_rate": 4.226666666666667e-06, + "loss": 1.076, + "step": 318 + }, + { + "epoch": 0.019604228121927237, + "grad_norm": 19.375, + "learning_rate": 4.24e-06, + "loss": 1.0374, + "step": 319 + }, + { + "epoch": 0.01966568338249754, + "grad_norm": 11.25, + "learning_rate": 4.253333333333334e-06, + "loss": 1.0459, + "step": 320 + }, + { + "epoch": 0.019727138643067847, + "grad_norm": 8.625, + "learning_rate": 4.266666666666668e-06, + "loss": 1.0229, + "step": 321 + }, + { + "epoch": 0.01978859390363815, + "grad_norm": 19.25, + "learning_rate": 4.2800000000000005e-06, + "loss": 1.0628, + "step": 322 + }, + { + "epoch": 0.019850049164208457, + "grad_norm": 14.4375, + "learning_rate": 4.2933333333333334e-06, + "loss": 1.0568, + "step": 323 + }, + { + "epoch": 0.01991150442477876, + "grad_norm": 9.8125, + "learning_rate": 4.306666666666666e-06, + "loss": 1.037, + "step": 324 + }, + { + "epoch": 0.019972959685349064, + "grad_norm": 26.125, + "learning_rate": 4.32e-06, + "loss": 1.0578, + "step": 325 + }, + { + "epoch": 0.02003441494591937, + "grad_norm": 11.8125, + "learning_rate": 4.333333333333334e-06, + "loss": 1.0025, + "step": 326 + }, + { + "epoch": 0.020095870206489674, + "grad_norm": 13.375, + "learning_rate": 4.346666666666667e-06, + "loss": 1.0442, + "step": 327 + }, + { + "epoch": 0.02015732546705998, + "grad_norm": 21.25, + "learning_rate": 4.360000000000001e-06, + "loss": 0.9953, + "step": 328 + }, + { + "epoch": 0.020218780727630285, + "grad_norm": 11.75, + "learning_rate": 4.3733333333333335e-06, + "loss": 1.1609, + "step": 329 + }, + { + "epoch": 0.02028023598820059, + "grad_norm": 23.75, + "learning_rate": 4.3866666666666665e-06, + "loss": 1.1098, + "step": 330 + }, + { + "epoch": 0.020341691248770895, + "grad_norm": 37.25, + "learning_rate": 4.4e-06, + "loss": 1.0725, + "step": 331 + }, + { + "epoch": 0.020403146509341198, + "grad_norm": 32.25, + "learning_rate": 4.413333333333334e-06, + "loss": 1.0925, + "step": 332 + }, + { + "epoch": 0.020464601769911505, + "grad_norm": 14.1875, + "learning_rate": 4.426666666666667e-06, + "loss": 1.0454, + "step": 333 + }, + { + "epoch": 0.02052605703048181, + "grad_norm": 12.375, + "learning_rate": 4.440000000000001e-06, + "loss": 1.1047, + "step": 334 + }, + { + "epoch": 0.020587512291052115, + "grad_norm": 22.125, + "learning_rate": 4.453333333333334e-06, + "loss": 1.096, + "step": 335 + }, + { + "epoch": 0.02064896755162242, + "grad_norm": 14.875, + "learning_rate": 4.4666666666666665e-06, + "loss": 1.1137, + "step": 336 + }, + { + "epoch": 0.020710422812192722, + "grad_norm": 20.75, + "learning_rate": 4.48e-06, + "loss": 1.121, + "step": 337 + }, + { + "epoch": 0.02077187807276303, + "grad_norm": 19.625, + "learning_rate": 4.493333333333333e-06, + "loss": 1.1034, + "step": 338 + }, + { + "epoch": 0.020833333333333332, + "grad_norm": 11.625, + "learning_rate": 4.506666666666667e-06, + "loss": 1.1099, + "step": 339 + }, + { + "epoch": 0.02089478859390364, + "grad_norm": 18.875, + "learning_rate": 4.520000000000001e-06, + "loss": 1.0467, + "step": 340 + }, + { + "epoch": 0.020956243854473942, + "grad_norm": 23.5, + "learning_rate": 4.533333333333334e-06, + "loss": 1.2196, + "step": 341 + }, + { + "epoch": 0.02101769911504425, + "grad_norm": 24.0, + "learning_rate": 4.546666666666667e-06, + "loss": 1.1509, + "step": 342 + }, + { + "epoch": 0.021079154375614553, + "grad_norm": 27.5, + "learning_rate": 4.56e-06, + "loss": 1.1707, + "step": 343 + }, + { + "epoch": 0.021140609636184856, + "grad_norm": 13.375, + "learning_rate": 4.573333333333333e-06, + "loss": 1.0749, + "step": 344 + }, + { + "epoch": 0.021202064896755163, + "grad_norm": 26.75, + "learning_rate": 4.586666666666667e-06, + "loss": 1.1022, + "step": 345 + }, + { + "epoch": 0.021263520157325466, + "grad_norm": 10.1875, + "learning_rate": 4.600000000000001e-06, + "loss": 1.0706, + "step": 346 + }, + { + "epoch": 0.021324975417895773, + "grad_norm": 23.0, + "learning_rate": 4.613333333333334e-06, + "loss": 1.113, + "step": 347 + }, + { + "epoch": 0.021386430678466076, + "grad_norm": 26.625, + "learning_rate": 4.626666666666667e-06, + "loss": 1.0932, + "step": 348 + }, + { + "epoch": 0.021447885939036383, + "grad_norm": 43.5, + "learning_rate": 4.6400000000000005e-06, + "loss": 1.1524, + "step": 349 + }, + { + "epoch": 0.021509341199606687, + "grad_norm": 22.125, + "learning_rate": 4.653333333333333e-06, + "loss": 1.1053, + "step": 350 + }, + { + "epoch": 0.02157079646017699, + "grad_norm": 29.875, + "learning_rate": 4.666666666666667e-06, + "loss": 1.1645, + "step": 351 + }, + { + "epoch": 0.021632251720747297, + "grad_norm": 17.0, + "learning_rate": 4.680000000000001e-06, + "loss": 1.0259, + "step": 352 + }, + { + "epoch": 0.0216937069813176, + "grad_norm": 47.75, + "learning_rate": 4.693333333333334e-06, + "loss": 1.1654, + "step": 353 + }, + { + "epoch": 0.021755162241887907, + "grad_norm": 21.75, + "learning_rate": 4.706666666666667e-06, + "loss": 1.1345, + "step": 354 + }, + { + "epoch": 0.02181661750245821, + "grad_norm": 21.125, + "learning_rate": 4.7200000000000005e-06, + "loss": 1.1081, + "step": 355 + }, + { + "epoch": 0.021878072763028514, + "grad_norm": 17.25, + "learning_rate": 4.7333333333333335e-06, + "loss": 1.108, + "step": 356 + }, + { + "epoch": 0.02193952802359882, + "grad_norm": 20.875, + "learning_rate": 4.746666666666667e-06, + "loss": 1.1756, + "step": 357 + }, + { + "epoch": 0.022000983284169124, + "grad_norm": 14.5625, + "learning_rate": 4.76e-06, + "loss": 1.1457, + "step": 358 + }, + { + "epoch": 0.02206243854473943, + "grad_norm": 18.375, + "learning_rate": 4.773333333333334e-06, + "loss": 1.0998, + "step": 359 + }, + { + "epoch": 0.022123893805309734, + "grad_norm": 52.25, + "learning_rate": 4.786666666666667e-06, + "loss": 1.2224, + "step": 360 + }, + { + "epoch": 0.02218534906588004, + "grad_norm": 15.6875, + "learning_rate": 4.800000000000001e-06, + "loss": 1.184, + "step": 361 + }, + { + "epoch": 0.022246804326450344, + "grad_norm": 13.25, + "learning_rate": 4.8133333333333336e-06, + "loss": 1.1848, + "step": 362 + }, + { + "epoch": 0.022308259587020648, + "grad_norm": 16.5, + "learning_rate": 4.826666666666667e-06, + "loss": 1.0546, + "step": 363 + }, + { + "epoch": 0.022369714847590955, + "grad_norm": 77.5, + "learning_rate": 4.84e-06, + "loss": 1.3082, + "step": 364 + }, + { + "epoch": 0.022431170108161258, + "grad_norm": 32.25, + "learning_rate": 4.853333333333334e-06, + "loss": 1.0865, + "step": 365 + }, + { + "epoch": 0.022492625368731565, + "grad_norm": 40.5, + "learning_rate": 4.866666666666667e-06, + "loss": 1.1381, + "step": 366 + }, + { + "epoch": 0.022554080629301868, + "grad_norm": 12.125, + "learning_rate": 4.880000000000001e-06, + "loss": 1.1044, + "step": 367 + }, + { + "epoch": 0.02261553588987217, + "grad_norm": 18.625, + "learning_rate": 4.893333333333334e-06, + "loss": 1.1129, + "step": 368 + }, + { + "epoch": 0.02267699115044248, + "grad_norm": 13.1875, + "learning_rate": 4.9066666666666666e-06, + "loss": 1.168, + "step": 369 + }, + { + "epoch": 0.022738446411012782, + "grad_norm": 14.25, + "learning_rate": 4.92e-06, + "loss": 1.0833, + "step": 370 + }, + { + "epoch": 0.02279990167158309, + "grad_norm": 20.625, + "learning_rate": 4.933333333333334e-06, + "loss": 1.1194, + "step": 371 + }, + { + "epoch": 0.022861356932153392, + "grad_norm": 21.25, + "learning_rate": 4.946666666666667e-06, + "loss": 1.0971, + "step": 372 + }, + { + "epoch": 0.0229228121927237, + "grad_norm": 21.25, + "learning_rate": 4.960000000000001e-06, + "loss": 1.0615, + "step": 373 + }, + { + "epoch": 0.022984267453294002, + "grad_norm": 18.25, + "learning_rate": 4.973333333333334e-06, + "loss": 1.0367, + "step": 374 + }, + { + "epoch": 0.023045722713864306, + "grad_norm": 12.375, + "learning_rate": 4.986666666666667e-06, + "loss": 1.0912, + "step": 375 + }, + { + "epoch": 0.023107177974434612, + "grad_norm": 14.375, + "learning_rate": 5e-06, + "loss": 1.0483, + "step": 376 + }, + { + "epoch": 0.023168633235004916, + "grad_norm": 28.0, + "learning_rate": 5.013333333333333e-06, + "loss": 1.2354, + "step": 377 + }, + { + "epoch": 0.023230088495575223, + "grad_norm": 25.625, + "learning_rate": 5.026666666666667e-06, + "loss": 1.1683, + "step": 378 + }, + { + "epoch": 0.023291543756145526, + "grad_norm": 30.0, + "learning_rate": 5.04e-06, + "loss": 1.2038, + "step": 379 + }, + { + "epoch": 0.02335299901671583, + "grad_norm": 18.875, + "learning_rate": 5.053333333333334e-06, + "loss": 1.1381, + "step": 380 + }, + { + "epoch": 0.023414454277286136, + "grad_norm": 19.5, + "learning_rate": 5.0666666666666676e-06, + "loss": 1.2141, + "step": 381 + }, + { + "epoch": 0.02347590953785644, + "grad_norm": 17.5, + "learning_rate": 5.0800000000000005e-06, + "loss": 1.0728, + "step": 382 + }, + { + "epoch": 0.023537364798426746, + "grad_norm": 27.875, + "learning_rate": 5.093333333333333e-06, + "loss": 1.2395, + "step": 383 + }, + { + "epoch": 0.02359882005899705, + "grad_norm": 8.375, + "learning_rate": 5.106666666666667e-06, + "loss": 1.1278, + "step": 384 + }, + { + "epoch": 0.023660275319567357, + "grad_norm": 10.375, + "learning_rate": 5.12e-06, + "loss": 1.1472, + "step": 385 + }, + { + "epoch": 0.02372173058013766, + "grad_norm": 23.75, + "learning_rate": 5.133333333333334e-06, + "loss": 1.0952, + "step": 386 + }, + { + "epoch": 0.023783185840707963, + "grad_norm": 11.375, + "learning_rate": 5.146666666666668e-06, + "loss": 1.1354, + "step": 387 + }, + { + "epoch": 0.02384464110127827, + "grad_norm": 13.5, + "learning_rate": 5.1600000000000006e-06, + "loss": 1.0963, + "step": 388 + }, + { + "epoch": 0.023906096361848574, + "grad_norm": 19.75, + "learning_rate": 5.1733333333333335e-06, + "loss": 1.1244, + "step": 389 + }, + { + "epoch": 0.02396755162241888, + "grad_norm": 15.6875, + "learning_rate": 5.186666666666667e-06, + "loss": 1.0766, + "step": 390 + }, + { + "epoch": 0.024029006882989184, + "grad_norm": 13.375, + "learning_rate": 5.2e-06, + "loss": 1.1214, + "step": 391 + }, + { + "epoch": 0.024090462143559487, + "grad_norm": 14.25, + "learning_rate": 5.213333333333334e-06, + "loss": 1.0921, + "step": 392 + }, + { + "epoch": 0.024151917404129794, + "grad_norm": 10.0625, + "learning_rate": 5.226666666666667e-06, + "loss": 1.0561, + "step": 393 + }, + { + "epoch": 0.024213372664700097, + "grad_norm": 10.375, + "learning_rate": 5.240000000000001e-06, + "loss": 1.0064, + "step": 394 + }, + { + "epoch": 0.024274827925270404, + "grad_norm": 9.875, + "learning_rate": 5.2533333333333336e-06, + "loss": 1.084, + "step": 395 + }, + { + "epoch": 0.024336283185840708, + "grad_norm": 13.375, + "learning_rate": 5.2666666666666665e-06, + "loss": 1.1051, + "step": 396 + }, + { + "epoch": 0.024397738446411014, + "grad_norm": 36.25, + "learning_rate": 5.28e-06, + "loss": 1.0979, + "step": 397 + }, + { + "epoch": 0.024459193706981318, + "grad_norm": 15.6875, + "learning_rate": 5.293333333333334e-06, + "loss": 1.1049, + "step": 398 + }, + { + "epoch": 0.02452064896755162, + "grad_norm": 14.8125, + "learning_rate": 5.306666666666667e-06, + "loss": 1.1048, + "step": 399 + }, + { + "epoch": 0.024582104228121928, + "grad_norm": 23.375, + "learning_rate": 5.320000000000001e-06, + "loss": 1.0895, + "step": 400 + }, + { + "epoch": 0.02464355948869223, + "grad_norm": 17.0, + "learning_rate": 5.333333333333334e-06, + "loss": 1.032, + "step": 401 + }, + { + "epoch": 0.024705014749262538, + "grad_norm": 7.46875, + "learning_rate": 5.346666666666667e-06, + "loss": 1.0176, + "step": 402 + }, + { + "epoch": 0.02476647000983284, + "grad_norm": 8.4375, + "learning_rate": 5.36e-06, + "loss": 1.1405, + "step": 403 + }, + { + "epoch": 0.024827925270403145, + "grad_norm": 26.0, + "learning_rate": 5.373333333333334e-06, + "loss": 1.0573, + "step": 404 + }, + { + "epoch": 0.024889380530973452, + "grad_norm": 10.1875, + "learning_rate": 5.386666666666667e-06, + "loss": 1.1466, + "step": 405 + }, + { + "epoch": 0.024950835791543755, + "grad_norm": 24.25, + "learning_rate": 5.400000000000001e-06, + "loss": 1.1189, + "step": 406 + }, + { + "epoch": 0.025012291052114062, + "grad_norm": 19.625, + "learning_rate": 5.413333333333334e-06, + "loss": 1.0372, + "step": 407 + }, + { + "epoch": 0.025073746312684365, + "grad_norm": 36.0, + "learning_rate": 5.426666666666667e-06, + "loss": 1.0903, + "step": 408 + }, + { + "epoch": 0.025135201573254672, + "grad_norm": 41.5, + "learning_rate": 5.4400000000000004e-06, + "loss": 1.2313, + "step": 409 + }, + { + "epoch": 0.025196656833824976, + "grad_norm": 19.0, + "learning_rate": 5.453333333333334e-06, + "loss": 1.0858, + "step": 410 + }, + { + "epoch": 0.02525811209439528, + "grad_norm": 14.9375, + "learning_rate": 5.466666666666667e-06, + "loss": 1.1539, + "step": 411 + }, + { + "epoch": 0.025319567354965586, + "grad_norm": 14.4375, + "learning_rate": 5.480000000000001e-06, + "loss": 1.0802, + "step": 412 + }, + { + "epoch": 0.02538102261553589, + "grad_norm": 26.875, + "learning_rate": 5.493333333333334e-06, + "loss": 1.0796, + "step": 413 + }, + { + "epoch": 0.025442477876106196, + "grad_norm": 17.0, + "learning_rate": 5.506666666666667e-06, + "loss": 1.0887, + "step": 414 + }, + { + "epoch": 0.0255039331366765, + "grad_norm": 22.875, + "learning_rate": 5.5200000000000005e-06, + "loss": 1.0662, + "step": 415 + }, + { + "epoch": 0.025565388397246803, + "grad_norm": 16.5, + "learning_rate": 5.533333333333334e-06, + "loss": 1.0819, + "step": 416 + }, + { + "epoch": 0.02562684365781711, + "grad_norm": 15.5625, + "learning_rate": 5.546666666666667e-06, + "loss": 1.1185, + "step": 417 + }, + { + "epoch": 0.025688298918387413, + "grad_norm": 26.125, + "learning_rate": 5.560000000000001e-06, + "loss": 1.1053, + "step": 418 + }, + { + "epoch": 0.02574975417895772, + "grad_norm": 19.75, + "learning_rate": 5.573333333333334e-06, + "loss": 1.1059, + "step": 419 + }, + { + "epoch": 0.025811209439528023, + "grad_norm": 14.0625, + "learning_rate": 5.586666666666667e-06, + "loss": 1.0988, + "step": 420 + }, + { + "epoch": 0.02587266470009833, + "grad_norm": 9.4375, + "learning_rate": 5.600000000000001e-06, + "loss": 1.1474, + "step": 421 + }, + { + "epoch": 0.025934119960668633, + "grad_norm": 11.0625, + "learning_rate": 5.613333333333334e-06, + "loss": 1.1135, + "step": 422 + }, + { + "epoch": 0.025995575221238937, + "grad_norm": 9.0, + "learning_rate": 5.626666666666667e-06, + "loss": 1.0204, + "step": 423 + }, + { + "epoch": 0.026057030481809244, + "grad_norm": 16.0, + "learning_rate": 5.64e-06, + "loss": 0.9981, + "step": 424 + }, + { + "epoch": 0.026118485742379547, + "grad_norm": 9.0625, + "learning_rate": 5.653333333333334e-06, + "loss": 1.0163, + "step": 425 + }, + { + "epoch": 0.026179941002949854, + "grad_norm": 21.125, + "learning_rate": 5.666666666666667e-06, + "loss": 1.0589, + "step": 426 + }, + { + "epoch": 0.026241396263520157, + "grad_norm": 16.5, + "learning_rate": 5.68e-06, + "loss": 1.1238, + "step": 427 + }, + { + "epoch": 0.02630285152409046, + "grad_norm": 21.25, + "learning_rate": 5.6933333333333344e-06, + "loss": 1.2123, + "step": 428 + }, + { + "epoch": 0.026364306784660767, + "grad_norm": 13.875, + "learning_rate": 5.706666666666667e-06, + "loss": 1.1196, + "step": 429 + }, + { + "epoch": 0.02642576204523107, + "grad_norm": 20.625, + "learning_rate": 5.72e-06, + "loss": 1.0555, + "step": 430 + }, + { + "epoch": 0.026487217305801378, + "grad_norm": 25.375, + "learning_rate": 5.733333333333334e-06, + "loss": 1.0522, + "step": 431 + }, + { + "epoch": 0.02654867256637168, + "grad_norm": 8.5625, + "learning_rate": 5.746666666666667e-06, + "loss": 1.0864, + "step": 432 + }, + { + "epoch": 0.026610127826941988, + "grad_norm": 37.0, + "learning_rate": 5.76e-06, + "loss": 1.1354, + "step": 433 + }, + { + "epoch": 0.02667158308751229, + "grad_norm": 25.125, + "learning_rate": 5.7733333333333345e-06, + "loss": 1.0033, + "step": 434 + }, + { + "epoch": 0.026733038348082595, + "grad_norm": 43.0, + "learning_rate": 5.7866666666666674e-06, + "loss": 1.047, + "step": 435 + }, + { + "epoch": 0.0267944936086529, + "grad_norm": 18.125, + "learning_rate": 5.8e-06, + "loss": 1.1274, + "step": 436 + }, + { + "epoch": 0.026855948869223205, + "grad_norm": 15.4375, + "learning_rate": 5.813333333333334e-06, + "loss": 1.0806, + "step": 437 + }, + { + "epoch": 0.02691740412979351, + "grad_norm": 10.0625, + "learning_rate": 5.826666666666667e-06, + "loss": 1.0263, + "step": 438 + }, + { + "epoch": 0.026978859390363815, + "grad_norm": 16.75, + "learning_rate": 5.84e-06, + "loss": 1.1131, + "step": 439 + }, + { + "epoch": 0.02704031465093412, + "grad_norm": 22.75, + "learning_rate": 5.853333333333335e-06, + "loss": 1.1802, + "step": 440 + }, + { + "epoch": 0.027101769911504425, + "grad_norm": 10.5, + "learning_rate": 5.8666666666666675e-06, + "loss": 1.0123, + "step": 441 + }, + { + "epoch": 0.02716322517207473, + "grad_norm": 13.4375, + "learning_rate": 5.8800000000000005e-06, + "loss": 1.0406, + "step": 442 + }, + { + "epoch": 0.027224680432645035, + "grad_norm": 18.375, + "learning_rate": 5.893333333333334e-06, + "loss": 1.1492, + "step": 443 + }, + { + "epoch": 0.02728613569321534, + "grad_norm": 12.75, + "learning_rate": 5.906666666666667e-06, + "loss": 1.1121, + "step": 444 + }, + { + "epoch": 0.027347590953785646, + "grad_norm": 12.4375, + "learning_rate": 5.92e-06, + "loss": 1.1758, + "step": 445 + }, + { + "epoch": 0.02740904621435595, + "grad_norm": 16.5, + "learning_rate": 5.933333333333335e-06, + "loss": 1.0911, + "step": 446 + }, + { + "epoch": 0.027470501474926252, + "grad_norm": 20.25, + "learning_rate": 5.946666666666668e-06, + "loss": 1.054, + "step": 447 + }, + { + "epoch": 0.02753195673549656, + "grad_norm": 10.4375, + "learning_rate": 5.9600000000000005e-06, + "loss": 1.0425, + "step": 448 + }, + { + "epoch": 0.027593411996066863, + "grad_norm": 17.875, + "learning_rate": 5.973333333333334e-06, + "loss": 1.224, + "step": 449 + }, + { + "epoch": 0.02765486725663717, + "grad_norm": 16.375, + "learning_rate": 5.986666666666667e-06, + "loss": 1.1029, + "step": 450 + }, + { + "epoch": 0.027716322517207473, + "grad_norm": 19.5, + "learning_rate": 6e-06, + "loss": 1.1007, + "step": 451 + }, + { + "epoch": 0.027777777777777776, + "grad_norm": 28.375, + "learning_rate": 6.013333333333335e-06, + "loss": 1.0575, + "step": 452 + }, + { + "epoch": 0.027839233038348083, + "grad_norm": 22.125, + "learning_rate": 6.026666666666668e-06, + "loss": 1.1137, + "step": 453 + }, + { + "epoch": 0.027900688298918386, + "grad_norm": 36.25, + "learning_rate": 6.040000000000001e-06, + "loss": 1.0707, + "step": 454 + }, + { + "epoch": 0.027962143559488693, + "grad_norm": 13.8125, + "learning_rate": 6.0533333333333335e-06, + "loss": 1.0358, + "step": 455 + }, + { + "epoch": 0.028023598820058997, + "grad_norm": 12.5, + "learning_rate": 6.066666666666667e-06, + "loss": 1.0705, + "step": 456 + }, + { + "epoch": 0.028085054080629304, + "grad_norm": 14.75, + "learning_rate": 6.08e-06, + "loss": 1.0621, + "step": 457 + }, + { + "epoch": 0.028146509341199607, + "grad_norm": 14.9375, + "learning_rate": 6.093333333333333e-06, + "loss": 1.0041, + "step": 458 + }, + { + "epoch": 0.02820796460176991, + "grad_norm": 15.6875, + "learning_rate": 6.106666666666668e-06, + "loss": 0.9826, + "step": 459 + }, + { + "epoch": 0.028269419862340217, + "grad_norm": 18.0, + "learning_rate": 6.120000000000001e-06, + "loss": 1.0493, + "step": 460 + }, + { + "epoch": 0.02833087512291052, + "grad_norm": 23.0, + "learning_rate": 6.133333333333334e-06, + "loss": 0.9997, + "step": 461 + }, + { + "epoch": 0.028392330383480827, + "grad_norm": 16.125, + "learning_rate": 6.146666666666667e-06, + "loss": 1.0271, + "step": 462 + }, + { + "epoch": 0.02845378564405113, + "grad_norm": 28.625, + "learning_rate": 6.16e-06, + "loss": 1.0693, + "step": 463 + }, + { + "epoch": 0.028515240904621434, + "grad_norm": 26.25, + "learning_rate": 6.173333333333333e-06, + "loss": 1.0104, + "step": 464 + }, + { + "epoch": 0.02857669616519174, + "grad_norm": 8.9375, + "learning_rate": 6.186666666666668e-06, + "loss": 0.9769, + "step": 465 + }, + { + "epoch": 0.028638151425762044, + "grad_norm": 14.25, + "learning_rate": 6.200000000000001e-06, + "loss": 0.9755, + "step": 466 + }, + { + "epoch": 0.02869960668633235, + "grad_norm": 10.6875, + "learning_rate": 6.213333333333334e-06, + "loss": 1.0195, + "step": 467 + }, + { + "epoch": 0.028761061946902654, + "grad_norm": 8.0, + "learning_rate": 6.2266666666666675e-06, + "loss": 0.9316, + "step": 468 + }, + { + "epoch": 0.02882251720747296, + "grad_norm": 10.9375, + "learning_rate": 6.24e-06, + "loss": 0.8514, + "step": 469 + }, + { + "epoch": 0.028883972468043265, + "grad_norm": 24.375, + "learning_rate": 6.253333333333333e-06, + "loss": 1.0113, + "step": 470 + }, + { + "epoch": 0.028945427728613568, + "grad_norm": 20.125, + "learning_rate": 6.266666666666668e-06, + "loss": 1.0327, + "step": 471 + }, + { + "epoch": 0.029006882989183875, + "grad_norm": 35.5, + "learning_rate": 6.280000000000001e-06, + "loss": 0.885, + "step": 472 + }, + { + "epoch": 0.029068338249754178, + "grad_norm": 15.5, + "learning_rate": 6.293333333333334e-06, + "loss": 1.1404, + "step": 473 + }, + { + "epoch": 0.029129793510324485, + "grad_norm": 14.3125, + "learning_rate": 6.3066666666666676e-06, + "loss": 1.0994, + "step": 474 + }, + { + "epoch": 0.02919124877089479, + "grad_norm": 23.5, + "learning_rate": 6.3200000000000005e-06, + "loss": 1.0879, + "step": 475 + }, + { + "epoch": 0.029252704031465092, + "grad_norm": 12.8125, + "learning_rate": 6.333333333333333e-06, + "loss": 0.8972, + "step": 476 + }, + { + "epoch": 0.0293141592920354, + "grad_norm": 11.0, + "learning_rate": 6.346666666666668e-06, + "loss": 1.0301, + "step": 477 + }, + { + "epoch": 0.029375614552605702, + "grad_norm": 28.0, + "learning_rate": 6.360000000000001e-06, + "loss": 1.0921, + "step": 478 + }, + { + "epoch": 0.02943706981317601, + "grad_norm": 16.125, + "learning_rate": 6.373333333333334e-06, + "loss": 0.9853, + "step": 479 + }, + { + "epoch": 0.029498525073746312, + "grad_norm": 11.1875, + "learning_rate": 6.386666666666668e-06, + "loss": 0.9663, + "step": 480 + }, + { + "epoch": 0.02955998033431662, + "grad_norm": 11.75, + "learning_rate": 6.4000000000000006e-06, + "loss": 1.0874, + "step": 481 + }, + { + "epoch": 0.029621435594886922, + "grad_norm": 12.75, + "learning_rate": 6.4133333333333335e-06, + "loss": 0.9843, + "step": 482 + }, + { + "epoch": 0.029682890855457226, + "grad_norm": 29.625, + "learning_rate": 6.426666666666668e-06, + "loss": 1.0121, + "step": 483 + }, + { + "epoch": 0.029744346116027533, + "grad_norm": 31.625, + "learning_rate": 6.440000000000001e-06, + "loss": 1.0971, + "step": 484 + }, + { + "epoch": 0.029805801376597836, + "grad_norm": 18.0, + "learning_rate": 6.453333333333334e-06, + "loss": 1.0744, + "step": 485 + }, + { + "epoch": 0.029867256637168143, + "grad_norm": 23.125, + "learning_rate": 6.466666666666667e-06, + "loss": 1.0479, + "step": 486 + }, + { + "epoch": 0.029928711897738446, + "grad_norm": 12.6875, + "learning_rate": 6.480000000000001e-06, + "loss": 0.9901, + "step": 487 + }, + { + "epoch": 0.02999016715830875, + "grad_norm": 46.25, + "learning_rate": 6.4933333333333336e-06, + "loss": 1.038, + "step": 488 + }, + { + "epoch": 0.030051622418879056, + "grad_norm": 33.75, + "learning_rate": 6.5066666666666665e-06, + "loss": 1.0754, + "step": 489 + }, + { + "epoch": 0.03011307767944936, + "grad_norm": 14.3125, + "learning_rate": 6.520000000000001e-06, + "loss": 1.0229, + "step": 490 + }, + { + "epoch": 0.030174532940019667, + "grad_norm": 23.75, + "learning_rate": 6.533333333333334e-06, + "loss": 1.0013, + "step": 491 + }, + { + "epoch": 0.03023598820058997, + "grad_norm": 31.75, + "learning_rate": 6.546666666666667e-06, + "loss": 1.1724, + "step": 492 + }, + { + "epoch": 0.030297443461160277, + "grad_norm": 19.5, + "learning_rate": 6.560000000000001e-06, + "loss": 0.9667, + "step": 493 + }, + { + "epoch": 0.03035889872173058, + "grad_norm": 14.125, + "learning_rate": 6.573333333333334e-06, + "loss": 1.1136, + "step": 494 + }, + { + "epoch": 0.030420353982300884, + "grad_norm": 41.25, + "learning_rate": 6.5866666666666666e-06, + "loss": 1.0007, + "step": 495 + }, + { + "epoch": 0.03048180924287119, + "grad_norm": 15.5, + "learning_rate": 6.600000000000001e-06, + "loss": 1.0133, + "step": 496 + }, + { + "epoch": 0.030543264503441494, + "grad_norm": 21.0, + "learning_rate": 6.613333333333334e-06, + "loss": 0.8813, + "step": 497 + }, + { + "epoch": 0.0306047197640118, + "grad_norm": 16.375, + "learning_rate": 6.626666666666667e-06, + "loss": 0.9524, + "step": 498 + }, + { + "epoch": 0.030666175024582104, + "grad_norm": 17.75, + "learning_rate": 6.640000000000001e-06, + "loss": 0.9767, + "step": 499 + }, + { + "epoch": 0.030727630285152407, + "grad_norm": 18.125, + "learning_rate": 6.653333333333334e-06, + "loss": 1.0693, + "step": 500 + }, + { + "epoch": 0.030789085545722714, + "grad_norm": 20.125, + "learning_rate": 6.666666666666667e-06, + "loss": 0.8604, + "step": 501 + }, + { + "epoch": 0.030850540806293018, + "grad_norm": 12.0, + "learning_rate": 6.680000000000001e-06, + "loss": 0.8634, + "step": 502 + }, + { + "epoch": 0.030911996066863325, + "grad_norm": 13.5, + "learning_rate": 6.693333333333334e-06, + "loss": 1.0665, + "step": 503 + }, + { + "epoch": 0.030973451327433628, + "grad_norm": 24.375, + "learning_rate": 6.706666666666667e-06, + "loss": 0.921, + "step": 504 + }, + { + "epoch": 0.031034906588003935, + "grad_norm": 28.5, + "learning_rate": 6.720000000000001e-06, + "loss": 0.935, + "step": 505 + }, + { + "epoch": 0.031096361848574238, + "grad_norm": 14.75, + "learning_rate": 6.733333333333334e-06, + "loss": 0.9524, + "step": 506 + }, + { + "epoch": 0.03115781710914454, + "grad_norm": 18.75, + "learning_rate": 6.746666666666667e-06, + "loss": 0.9773, + "step": 507 + }, + { + "epoch": 0.03121927236971485, + "grad_norm": 23.375, + "learning_rate": 6.760000000000001e-06, + "loss": 0.9076, + "step": 508 + }, + { + "epoch": 0.03128072763028515, + "grad_norm": 30.75, + "learning_rate": 6.773333333333334e-06, + "loss": 0.9671, + "step": 509 + }, + { + "epoch": 0.031342182890855455, + "grad_norm": 29.625, + "learning_rate": 6.786666666666667e-06, + "loss": 0.965, + "step": 510 + }, + { + "epoch": 0.031403638151425765, + "grad_norm": 22.5, + "learning_rate": 6.800000000000001e-06, + "loss": 0.9741, + "step": 511 + }, + { + "epoch": 0.03146509341199607, + "grad_norm": 28.0, + "learning_rate": 6.813333333333334e-06, + "loss": 0.7974, + "step": 512 + }, + { + "epoch": 0.03152654867256637, + "grad_norm": 35.25, + "learning_rate": 6.826666666666667e-06, + "loss": 0.844, + "step": 513 + }, + { + "epoch": 0.031588003933136675, + "grad_norm": 25.75, + "learning_rate": 6.8400000000000014e-06, + "loss": 0.8082, + "step": 514 + }, + { + "epoch": 0.03164945919370698, + "grad_norm": 54.75, + "learning_rate": 6.853333333333334e-06, + "loss": 0.8529, + "step": 515 + }, + { + "epoch": 0.03171091445427729, + "grad_norm": 48.0, + "learning_rate": 6.866666666666667e-06, + "loss": 0.7857, + "step": 516 + }, + { + "epoch": 0.03177236971484759, + "grad_norm": 53.5, + "learning_rate": 6.88e-06, + "loss": 0.8327, + "step": 517 + }, + { + "epoch": 0.031833824975417896, + "grad_norm": 36.75, + "learning_rate": 6.893333333333334e-06, + "loss": 0.7622, + "step": 518 + }, + { + "epoch": 0.0318952802359882, + "grad_norm": 32.0, + "learning_rate": 6.906666666666667e-06, + "loss": 0.8164, + "step": 519 + }, + { + "epoch": 0.0319567354965585, + "grad_norm": 20.875, + "learning_rate": 6.92e-06, + "loss": 0.799, + "step": 520 + }, + { + "epoch": 0.03201819075712881, + "grad_norm": 36.5, + "learning_rate": 6.9333333333333344e-06, + "loss": 0.7903, + "step": 521 + }, + { + "epoch": 0.032079646017699116, + "grad_norm": 35.25, + "learning_rate": 6.946666666666667e-06, + "loss": 1.0056, + "step": 522 + }, + { + "epoch": 0.03214110127826942, + "grad_norm": 27.5, + "learning_rate": 6.96e-06, + "loss": 0.8031, + "step": 523 + }, + { + "epoch": 0.03220255653883972, + "grad_norm": 71.0, + "learning_rate": 6.973333333333334e-06, + "loss": 1.1609, + "step": 524 + }, + { + "epoch": 0.032264011799410026, + "grad_norm": 23.625, + "learning_rate": 6.986666666666667e-06, + "loss": 0.8413, + "step": 525 + }, + { + "epoch": 0.03232546705998034, + "grad_norm": 30.125, + "learning_rate": 7e-06, + "loss": 0.7228, + "step": 526 + }, + { + "epoch": 0.03238692232055064, + "grad_norm": 33.0, + "learning_rate": 7.0133333333333345e-06, + "loss": 0.8425, + "step": 527 + }, + { + "epoch": 0.032448377581120944, + "grad_norm": 46.75, + "learning_rate": 7.0266666666666674e-06, + "loss": 0.8788, + "step": 528 + }, + { + "epoch": 0.03250983284169125, + "grad_norm": 61.5, + "learning_rate": 7.04e-06, + "loss": 0.9771, + "step": 529 + }, + { + "epoch": 0.03257128810226155, + "grad_norm": 70.5, + "learning_rate": 7.053333333333334e-06, + "loss": 0.8288, + "step": 530 + }, + { + "epoch": 0.03263274336283186, + "grad_norm": 35.0, + "learning_rate": 7.066666666666667e-06, + "loss": 0.9278, + "step": 531 + }, + { + "epoch": 0.032694198623402164, + "grad_norm": 88.0, + "learning_rate": 7.08e-06, + "loss": 0.8835, + "step": 532 + }, + { + "epoch": 0.03275565388397247, + "grad_norm": 56.5, + "learning_rate": 7.093333333333335e-06, + "loss": 0.7722, + "step": 533 + }, + { + "epoch": 0.03281710914454277, + "grad_norm": 49.25, + "learning_rate": 7.1066666666666675e-06, + "loss": 0.7818, + "step": 534 + }, + { + "epoch": 0.03287856440511308, + "grad_norm": 69.5, + "learning_rate": 7.1200000000000004e-06, + "loss": 0.7787, + "step": 535 + }, + { + "epoch": 0.032940019665683384, + "grad_norm": 49.25, + "learning_rate": 7.133333333333334e-06, + "loss": 0.8444, + "step": 536 + }, + { + "epoch": 0.03300147492625369, + "grad_norm": 46.0, + "learning_rate": 7.146666666666667e-06, + "loss": 0.8784, + "step": 537 + }, + { + "epoch": 0.03306293018682399, + "grad_norm": 73.0, + "learning_rate": 7.16e-06, + "loss": 0.8475, + "step": 538 + }, + { + "epoch": 0.033124385447394294, + "grad_norm": 32.75, + "learning_rate": 7.173333333333335e-06, + "loss": 0.9105, + "step": 539 + }, + { + "epoch": 0.033185840707964605, + "grad_norm": 91.0, + "learning_rate": 7.186666666666668e-06, + "loss": 0.9562, + "step": 540 + }, + { + "epoch": 0.03324729596853491, + "grad_norm": 49.5, + "learning_rate": 7.2000000000000005e-06, + "loss": 0.8389, + "step": 541 + }, + { + "epoch": 0.03330875122910521, + "grad_norm": 33.5, + "learning_rate": 7.213333333333334e-06, + "loss": 0.838, + "step": 542 + }, + { + "epoch": 0.033370206489675515, + "grad_norm": 43.25, + "learning_rate": 7.226666666666667e-06, + "loss": 0.9548, + "step": 543 + }, + { + "epoch": 0.03343166175024582, + "grad_norm": 32.0, + "learning_rate": 7.24e-06, + "loss": 0.8057, + "step": 544 + }, + { + "epoch": 0.03349311701081613, + "grad_norm": 33.0, + "learning_rate": 7.253333333333335e-06, + "loss": 0.8826, + "step": 545 + }, + { + "epoch": 0.03355457227138643, + "grad_norm": 40.0, + "learning_rate": 7.266666666666668e-06, + "loss": 0.802, + "step": 546 + }, + { + "epoch": 0.033616027531956735, + "grad_norm": 29.5, + "learning_rate": 7.280000000000001e-06, + "loss": 0.7812, + "step": 547 + }, + { + "epoch": 0.03367748279252704, + "grad_norm": 56.75, + "learning_rate": 7.2933333333333335e-06, + "loss": 0.8719, + "step": 548 + }, + { + "epoch": 0.03373893805309734, + "grad_norm": 33.75, + "learning_rate": 7.306666666666667e-06, + "loss": 0.9626, + "step": 549 + }, + { + "epoch": 0.03380039331366765, + "grad_norm": 51.5, + "learning_rate": 7.32e-06, + "loss": 1.0222, + "step": 550 + }, + { + "epoch": 0.033861848574237956, + "grad_norm": 38.75, + "learning_rate": 7.333333333333333e-06, + "loss": 0.7883, + "step": 551 + }, + { + "epoch": 0.03392330383480826, + "grad_norm": 77.5, + "learning_rate": 7.346666666666668e-06, + "loss": 0.8014, + "step": 552 + }, + { + "epoch": 0.03398475909537856, + "grad_norm": 70.5, + "learning_rate": 7.360000000000001e-06, + "loss": 0.862, + "step": 553 + }, + { + "epoch": 0.034046214355948866, + "grad_norm": 40.25, + "learning_rate": 7.373333333333334e-06, + "loss": 0.7617, + "step": 554 + }, + { + "epoch": 0.034107669616519176, + "grad_norm": 46.25, + "learning_rate": 7.386666666666667e-06, + "loss": 0.7726, + "step": 555 + }, + { + "epoch": 0.03416912487708948, + "grad_norm": 49.25, + "learning_rate": 7.4e-06, + "loss": 0.9869, + "step": 556 + }, + { + "epoch": 0.03423058013765978, + "grad_norm": 34.5, + "learning_rate": 7.413333333333333e-06, + "loss": 0.7539, + "step": 557 + }, + { + "epoch": 0.034292035398230086, + "grad_norm": 30.5, + "learning_rate": 7.426666666666668e-06, + "loss": 0.6686, + "step": 558 + }, + { + "epoch": 0.0343534906588004, + "grad_norm": 49.75, + "learning_rate": 7.440000000000001e-06, + "loss": 0.8961, + "step": 559 + }, + { + "epoch": 0.0344149459193707, + "grad_norm": 95.5, + "learning_rate": 7.453333333333334e-06, + "loss": 0.8031, + "step": 560 + }, + { + "epoch": 0.034476401179941, + "grad_norm": 54.25, + "learning_rate": 7.4666666666666675e-06, + "loss": 0.915, + "step": 561 + }, + { + "epoch": 0.03453785644051131, + "grad_norm": 102.0, + "learning_rate": 7.48e-06, + "loss": 1.0234, + "step": 562 + }, + { + "epoch": 0.03459931170108161, + "grad_norm": 70.5, + "learning_rate": 7.493333333333333e-06, + "loss": 0.9048, + "step": 563 + }, + { + "epoch": 0.03466076696165192, + "grad_norm": 101.0, + "learning_rate": 7.506666666666668e-06, + "loss": 0.989, + "step": 564 + }, + { + "epoch": 0.034722222222222224, + "grad_norm": 73.0, + "learning_rate": 7.520000000000001e-06, + "loss": 1.1432, + "step": 565 + }, + { + "epoch": 0.03478367748279253, + "grad_norm": 53.5, + "learning_rate": 7.533333333333334e-06, + "loss": 1.048, + "step": 566 + }, + { + "epoch": 0.03484513274336283, + "grad_norm": 34.75, + "learning_rate": 7.5466666666666675e-06, + "loss": 0.9056, + "step": 567 + }, + { + "epoch": 0.034906588003933134, + "grad_norm": 60.0, + "learning_rate": 7.5600000000000005e-06, + "loss": 0.9027, + "step": 568 + }, + { + "epoch": 0.034968043264503444, + "grad_norm": 32.25, + "learning_rate": 7.573333333333333e-06, + "loss": 0.7684, + "step": 569 + }, + { + "epoch": 0.03502949852507375, + "grad_norm": 57.0, + "learning_rate": 7.586666666666668e-06, + "loss": 0.7446, + "step": 570 + }, + { + "epoch": 0.03509095378564405, + "grad_norm": 52.75, + "learning_rate": 7.600000000000001e-06, + "loss": 0.8055, + "step": 571 + }, + { + "epoch": 0.035152409046214354, + "grad_norm": 36.75, + "learning_rate": 7.613333333333334e-06, + "loss": 0.8156, + "step": 572 + }, + { + "epoch": 0.03521386430678466, + "grad_norm": 27.0, + "learning_rate": 7.626666666666668e-06, + "loss": 0.7767, + "step": 573 + }, + { + "epoch": 0.03527531956735497, + "grad_norm": 32.5, + "learning_rate": 7.640000000000001e-06, + "loss": 0.812, + "step": 574 + }, + { + "epoch": 0.03533677482792527, + "grad_norm": 28.0, + "learning_rate": 7.653333333333333e-06, + "loss": 0.8056, + "step": 575 + }, + { + "epoch": 0.035398230088495575, + "grad_norm": 22.75, + "learning_rate": 7.666666666666667e-06, + "loss": 0.6915, + "step": 576 + }, + { + "epoch": 0.03545968534906588, + "grad_norm": 34.5, + "learning_rate": 7.680000000000001e-06, + "loss": 0.7822, + "step": 577 + }, + { + "epoch": 0.03552114060963618, + "grad_norm": 58.25, + "learning_rate": 7.693333333333333e-06, + "loss": 0.8356, + "step": 578 + }, + { + "epoch": 0.03558259587020649, + "grad_norm": 40.25, + "learning_rate": 7.706666666666669e-06, + "loss": 0.8046, + "step": 579 + }, + { + "epoch": 0.035644051130776795, + "grad_norm": 42.5, + "learning_rate": 7.72e-06, + "loss": 0.642, + "step": 580 + }, + { + "epoch": 0.0357055063913471, + "grad_norm": 36.75, + "learning_rate": 7.733333333333334e-06, + "loss": 0.7037, + "step": 581 + }, + { + "epoch": 0.0357669616519174, + "grad_norm": 53.25, + "learning_rate": 7.746666666666666e-06, + "loss": 0.9178, + "step": 582 + }, + { + "epoch": 0.03582841691248771, + "grad_norm": 61.5, + "learning_rate": 7.76e-06, + "loss": 0.8404, + "step": 583 + }, + { + "epoch": 0.035889872173058016, + "grad_norm": 34.5, + "learning_rate": 7.773333333333334e-06, + "loss": 0.7966, + "step": 584 + }, + { + "epoch": 0.03595132743362832, + "grad_norm": 40.25, + "learning_rate": 7.786666666666666e-06, + "loss": 0.8787, + "step": 585 + }, + { + "epoch": 0.03601278269419862, + "grad_norm": 53.0, + "learning_rate": 7.800000000000002e-06, + "loss": 1.002, + "step": 586 + }, + { + "epoch": 0.036074237954768926, + "grad_norm": 39.75, + "learning_rate": 7.813333333333334e-06, + "loss": 1.1473, + "step": 587 + }, + { + "epoch": 0.036135693215339236, + "grad_norm": 38.75, + "learning_rate": 7.826666666666667e-06, + "loss": 1.088, + "step": 588 + }, + { + "epoch": 0.03619714847590954, + "grad_norm": 26.375, + "learning_rate": 7.840000000000001e-06, + "loss": 0.9988, + "step": 589 + }, + { + "epoch": 0.03625860373647984, + "grad_norm": 45.25, + "learning_rate": 7.853333333333333e-06, + "loss": 0.9803, + "step": 590 + }, + { + "epoch": 0.036320058997050146, + "grad_norm": 36.75, + "learning_rate": 7.866666666666667e-06, + "loss": 1.039, + "step": 591 + }, + { + "epoch": 0.03638151425762045, + "grad_norm": 40.5, + "learning_rate": 7.88e-06, + "loss": 0.8799, + "step": 592 + }, + { + "epoch": 0.03644296951819076, + "grad_norm": 39.0, + "learning_rate": 7.893333333333335e-06, + "loss": 0.8865, + "step": 593 + }, + { + "epoch": 0.03650442477876106, + "grad_norm": 30.125, + "learning_rate": 7.906666666666667e-06, + "loss": 0.8302, + "step": 594 + }, + { + "epoch": 0.03656588003933137, + "grad_norm": 29.375, + "learning_rate": 7.92e-06, + "loss": 0.9001, + "step": 595 + }, + { + "epoch": 0.03662733529990167, + "grad_norm": 59.25, + "learning_rate": 7.933333333333334e-06, + "loss": 0.915, + "step": 596 + }, + { + "epoch": 0.03668879056047197, + "grad_norm": 36.75, + "learning_rate": 7.946666666666666e-06, + "loss": 0.7387, + "step": 597 + }, + { + "epoch": 0.036750245821042284, + "grad_norm": 48.75, + "learning_rate": 7.960000000000002e-06, + "loss": 0.8842, + "step": 598 + }, + { + "epoch": 0.03681170108161259, + "grad_norm": 16.875, + "learning_rate": 7.973333333333334e-06, + "loss": 0.6863, + "step": 599 + }, + { + "epoch": 0.03687315634218289, + "grad_norm": 35.75, + "learning_rate": 7.986666666666668e-06, + "loss": 0.796, + "step": 600 + }, + { + "epoch": 0.036934611602753194, + "grad_norm": 36.25, + "learning_rate": 8.000000000000001e-06, + "loss": 0.7564, + "step": 601 + }, + { + "epoch": 0.0369960668633235, + "grad_norm": 52.25, + "learning_rate": 8.013333333333333e-06, + "loss": 0.8301, + "step": 602 + }, + { + "epoch": 0.03705752212389381, + "grad_norm": 27.75, + "learning_rate": 8.026666666666667e-06, + "loss": 0.6874, + "step": 603 + }, + { + "epoch": 0.03711897738446411, + "grad_norm": 50.75, + "learning_rate": 8.040000000000001e-06, + "loss": 0.6375, + "step": 604 + }, + { + "epoch": 0.037180432645034414, + "grad_norm": 54.25, + "learning_rate": 8.053333333333335e-06, + "loss": 0.6989, + "step": 605 + }, + { + "epoch": 0.03724188790560472, + "grad_norm": 84.0, + "learning_rate": 8.066666666666667e-06, + "loss": 0.9357, + "step": 606 + }, + { + "epoch": 0.03730334316617503, + "grad_norm": 33.0, + "learning_rate": 8.08e-06, + "loss": 0.9372, + "step": 607 + }, + { + "epoch": 0.03736479842674533, + "grad_norm": 32.25, + "learning_rate": 8.093333333333334e-06, + "loss": 0.7379, + "step": 608 + }, + { + "epoch": 0.037426253687315635, + "grad_norm": 34.25, + "learning_rate": 8.106666666666666e-06, + "loss": 0.776, + "step": 609 + }, + { + "epoch": 0.03748770894788594, + "grad_norm": 25.125, + "learning_rate": 8.120000000000002e-06, + "loss": 0.7643, + "step": 610 + }, + { + "epoch": 0.03754916420845624, + "grad_norm": 55.75, + "learning_rate": 8.133333333333334e-06, + "loss": 0.8392, + "step": 611 + }, + { + "epoch": 0.03761061946902655, + "grad_norm": 51.25, + "learning_rate": 8.146666666666668e-06, + "loss": 0.726, + "step": 612 + }, + { + "epoch": 0.037672074729596855, + "grad_norm": 78.0, + "learning_rate": 8.16e-06, + "loss": 0.99, + "step": 613 + }, + { + "epoch": 0.03773352999016716, + "grad_norm": 53.5, + "learning_rate": 8.173333333333334e-06, + "loss": 0.8275, + "step": 614 + }, + { + "epoch": 0.03779498525073746, + "grad_norm": 48.0, + "learning_rate": 8.186666666666667e-06, + "loss": 0.827, + "step": 615 + }, + { + "epoch": 0.037856440511307765, + "grad_norm": 44.5, + "learning_rate": 8.2e-06, + "loss": 0.751, + "step": 616 + }, + { + "epoch": 0.037917895771878075, + "grad_norm": 58.25, + "learning_rate": 8.213333333333335e-06, + "loss": 0.8964, + "step": 617 + }, + { + "epoch": 0.03797935103244838, + "grad_norm": 37.5, + "learning_rate": 8.226666666666667e-06, + "loss": 1.0725, + "step": 618 + }, + { + "epoch": 0.03804080629301868, + "grad_norm": 73.0, + "learning_rate": 8.24e-06, + "loss": 0.8148, + "step": 619 + }, + { + "epoch": 0.038102261553588986, + "grad_norm": 45.25, + "learning_rate": 8.253333333333334e-06, + "loss": 0.7827, + "step": 620 + }, + { + "epoch": 0.03816371681415929, + "grad_norm": 69.0, + "learning_rate": 8.266666666666667e-06, + "loss": 0.9836, + "step": 621 + }, + { + "epoch": 0.0382251720747296, + "grad_norm": 56.0, + "learning_rate": 8.28e-06, + "loss": 0.9259, + "step": 622 + }, + { + "epoch": 0.0382866273352999, + "grad_norm": 42.5, + "learning_rate": 8.293333333333334e-06, + "loss": 0.8056, + "step": 623 + }, + { + "epoch": 0.038348082595870206, + "grad_norm": 40.25, + "learning_rate": 8.306666666666668e-06, + "loss": 0.8676, + "step": 624 + }, + { + "epoch": 0.03840953785644051, + "grad_norm": 61.5, + "learning_rate": 8.32e-06, + "loss": 1.0395, + "step": 625 + }, + { + "epoch": 0.03847099311701081, + "grad_norm": 42.75, + "learning_rate": 8.333333333333334e-06, + "loss": 0.8258, + "step": 626 + }, + { + "epoch": 0.03853244837758112, + "grad_norm": 65.5, + "learning_rate": 8.346666666666668e-06, + "loss": 0.7707, + "step": 627 + }, + { + "epoch": 0.038593903638151426, + "grad_norm": 44.75, + "learning_rate": 8.36e-06, + "loss": 0.8274, + "step": 628 + }, + { + "epoch": 0.03865535889872173, + "grad_norm": 66.5, + "learning_rate": 8.373333333333335e-06, + "loss": 0.8568, + "step": 629 + }, + { + "epoch": 0.03871681415929203, + "grad_norm": 68.5, + "learning_rate": 8.386666666666667e-06, + "loss": 0.7702, + "step": 630 + }, + { + "epoch": 0.03877826941986234, + "grad_norm": 46.5, + "learning_rate": 8.400000000000001e-06, + "loss": 0.7266, + "step": 631 + }, + { + "epoch": 0.03883972468043265, + "grad_norm": 24.75, + "learning_rate": 8.413333333333335e-06, + "loss": 0.6446, + "step": 632 + }, + { + "epoch": 0.03890117994100295, + "grad_norm": 74.0, + "learning_rate": 8.426666666666667e-06, + "loss": 0.9642, + "step": 633 + }, + { + "epoch": 0.038962635201573254, + "grad_norm": 66.0, + "learning_rate": 8.44e-06, + "loss": 1.119, + "step": 634 + }, + { + "epoch": 0.03902409046214356, + "grad_norm": 57.25, + "learning_rate": 8.453333333333334e-06, + "loss": 0.9793, + "step": 635 + }, + { + "epoch": 0.03908554572271387, + "grad_norm": 51.75, + "learning_rate": 8.466666666666668e-06, + "loss": 1.1962, + "step": 636 + }, + { + "epoch": 0.03914700098328417, + "grad_norm": 44.5, + "learning_rate": 8.48e-06, + "loss": 1.0263, + "step": 637 + }, + { + "epoch": 0.039208456243854474, + "grad_norm": 46.0, + "learning_rate": 8.493333333333334e-06, + "loss": 0.9972, + "step": 638 + }, + { + "epoch": 0.03926991150442478, + "grad_norm": 54.5, + "learning_rate": 8.506666666666668e-06, + "loss": 0.9303, + "step": 639 + }, + { + "epoch": 0.03933136676499508, + "grad_norm": 24.625, + "learning_rate": 8.52e-06, + "loss": 0.8192, + "step": 640 + }, + { + "epoch": 0.03939282202556539, + "grad_norm": 57.25, + "learning_rate": 8.533333333333335e-06, + "loss": 0.9214, + "step": 641 + }, + { + "epoch": 0.039454277286135694, + "grad_norm": 37.25, + "learning_rate": 8.546666666666667e-06, + "loss": 0.9645, + "step": 642 + }, + { + "epoch": 0.039515732546706, + "grad_norm": 26.125, + "learning_rate": 8.560000000000001e-06, + "loss": 0.971, + "step": 643 + }, + { + "epoch": 0.0395771878072763, + "grad_norm": 44.5, + "learning_rate": 8.573333333333333e-06, + "loss": 0.8452, + "step": 644 + }, + { + "epoch": 0.039638643067846605, + "grad_norm": 52.25, + "learning_rate": 8.586666666666667e-06, + "loss": 0.967, + "step": 645 + }, + { + "epoch": 0.039700098328416915, + "grad_norm": 79.0, + "learning_rate": 8.6e-06, + "loss": 1.0605, + "step": 646 + }, + { + "epoch": 0.03976155358898722, + "grad_norm": 19.125, + "learning_rate": 8.613333333333333e-06, + "loss": 0.8204, + "step": 647 + }, + { + "epoch": 0.03982300884955752, + "grad_norm": 28.25, + "learning_rate": 8.626666666666668e-06, + "loss": 0.8179, + "step": 648 + }, + { + "epoch": 0.039884464110127825, + "grad_norm": 30.375, + "learning_rate": 8.64e-06, + "loss": 0.8463, + "step": 649 + }, + { + "epoch": 0.03994591937069813, + "grad_norm": 28.375, + "learning_rate": 8.653333333333334e-06, + "loss": 0.7462, + "step": 650 + }, + { + "epoch": 0.04000737463126844, + "grad_norm": 64.5, + "learning_rate": 8.666666666666668e-06, + "loss": 0.7727, + "step": 651 + }, + { + "epoch": 0.04006882989183874, + "grad_norm": 80.5, + "learning_rate": 8.68e-06, + "loss": 0.9155, + "step": 652 + }, + { + "epoch": 0.040130285152409045, + "grad_norm": 47.25, + "learning_rate": 8.693333333333334e-06, + "loss": 0.728, + "step": 653 + }, + { + "epoch": 0.04019174041297935, + "grad_norm": 46.0, + "learning_rate": 8.706666666666667e-06, + "loss": 0.85, + "step": 654 + }, + { + "epoch": 0.04025319567354966, + "grad_norm": 30.0, + "learning_rate": 8.720000000000001e-06, + "loss": 0.8259, + "step": 655 + }, + { + "epoch": 0.04031465093411996, + "grad_norm": 51.25, + "learning_rate": 8.733333333333333e-06, + "loss": 0.729, + "step": 656 + }, + { + "epoch": 0.040376106194690266, + "grad_norm": 35.0, + "learning_rate": 8.746666666666667e-06, + "loss": 0.7594, + "step": 657 + }, + { + "epoch": 0.04043756145526057, + "grad_norm": 43.5, + "learning_rate": 8.76e-06, + "loss": 0.7039, + "step": 658 + }, + { + "epoch": 0.04049901671583087, + "grad_norm": 38.5, + "learning_rate": 8.773333333333333e-06, + "loss": 0.6428, + "step": 659 + }, + { + "epoch": 0.04056047197640118, + "grad_norm": 33.0, + "learning_rate": 8.786666666666668e-06, + "loss": 0.8518, + "step": 660 + }, + { + "epoch": 0.040621927236971486, + "grad_norm": 39.0, + "learning_rate": 8.8e-06, + "loss": 0.6758, + "step": 661 + }, + { + "epoch": 0.04068338249754179, + "grad_norm": 34.5, + "learning_rate": 8.813333333333334e-06, + "loss": 0.6863, + "step": 662 + }, + { + "epoch": 0.04074483775811209, + "grad_norm": 48.75, + "learning_rate": 8.826666666666668e-06, + "loss": 0.7819, + "step": 663 + }, + { + "epoch": 0.040806293018682396, + "grad_norm": 33.5, + "learning_rate": 8.84e-06, + "loss": 0.7992, + "step": 664 + }, + { + "epoch": 0.04086774827925271, + "grad_norm": 39.0, + "learning_rate": 8.853333333333334e-06, + "loss": 0.8031, + "step": 665 + }, + { + "epoch": 0.04092920353982301, + "grad_norm": 36.75, + "learning_rate": 8.866666666666668e-06, + "loss": 0.7268, + "step": 666 + }, + { + "epoch": 0.04099065880039331, + "grad_norm": 22.25, + "learning_rate": 8.880000000000001e-06, + "loss": 0.8118, + "step": 667 + }, + { + "epoch": 0.04105211406096362, + "grad_norm": 30.875, + "learning_rate": 8.893333333333333e-06, + "loss": 0.6847, + "step": 668 + }, + { + "epoch": 0.04111356932153392, + "grad_norm": 47.5, + "learning_rate": 8.906666666666667e-06, + "loss": 0.7691, + "step": 669 + }, + { + "epoch": 0.04117502458210423, + "grad_norm": 46.25, + "learning_rate": 8.920000000000001e-06, + "loss": 0.743, + "step": 670 + }, + { + "epoch": 0.041236479842674534, + "grad_norm": 34.25, + "learning_rate": 8.933333333333333e-06, + "loss": 0.6177, + "step": 671 + }, + { + "epoch": 0.04129793510324484, + "grad_norm": 37.75, + "learning_rate": 8.946666666666669e-06, + "loss": 0.7844, + "step": 672 + }, + { + "epoch": 0.04135939036381514, + "grad_norm": 49.0, + "learning_rate": 8.96e-06, + "loss": 0.7841, + "step": 673 + }, + { + "epoch": 0.041420845624385444, + "grad_norm": 50.5, + "learning_rate": 8.973333333333334e-06, + "loss": 0.7439, + "step": 674 + }, + { + "epoch": 0.041482300884955754, + "grad_norm": 37.75, + "learning_rate": 8.986666666666666e-06, + "loss": 0.7848, + "step": 675 + }, + { + "epoch": 0.04154375614552606, + "grad_norm": 59.0, + "learning_rate": 9e-06, + "loss": 0.7377, + "step": 676 + }, + { + "epoch": 0.04160521140609636, + "grad_norm": 27.125, + "learning_rate": 9.013333333333334e-06, + "loss": 0.7076, + "step": 677 + }, + { + "epoch": 0.041666666666666664, + "grad_norm": 42.0, + "learning_rate": 9.026666666666666e-06, + "loss": 0.7818, + "step": 678 + }, + { + "epoch": 0.041728121927236975, + "grad_norm": 35.0, + "learning_rate": 9.040000000000002e-06, + "loss": 0.6463, + "step": 679 + }, + { + "epoch": 0.04178957718780728, + "grad_norm": 51.25, + "learning_rate": 9.053333333333334e-06, + "loss": 0.7036, + "step": 680 + }, + { + "epoch": 0.04185103244837758, + "grad_norm": 39.25, + "learning_rate": 9.066666666666667e-06, + "loss": 0.7589, + "step": 681 + }, + { + "epoch": 0.041912487708947885, + "grad_norm": 44.0, + "learning_rate": 9.080000000000001e-06, + "loss": 0.7547, + "step": 682 + }, + { + "epoch": 0.04197394296951819, + "grad_norm": 48.0, + "learning_rate": 9.093333333333333e-06, + "loss": 0.7718, + "step": 683 + }, + { + "epoch": 0.0420353982300885, + "grad_norm": 31.625, + "learning_rate": 9.106666666666667e-06, + "loss": 0.816, + "step": 684 + }, + { + "epoch": 0.0420968534906588, + "grad_norm": 26.125, + "learning_rate": 9.12e-06, + "loss": 0.7412, + "step": 685 + }, + { + "epoch": 0.042158308751229105, + "grad_norm": 25.25, + "learning_rate": 9.133333333333335e-06, + "loss": 0.8087, + "step": 686 + }, + { + "epoch": 0.04221976401179941, + "grad_norm": 21.875, + "learning_rate": 9.146666666666667e-06, + "loss": 0.6321, + "step": 687 + }, + { + "epoch": 0.04228121927236971, + "grad_norm": 34.5, + "learning_rate": 9.16e-06, + "loss": 0.7168, + "step": 688 + }, + { + "epoch": 0.04234267453294002, + "grad_norm": 28.0, + "learning_rate": 9.173333333333334e-06, + "loss": 0.7317, + "step": 689 + }, + { + "epoch": 0.042404129793510326, + "grad_norm": 45.0, + "learning_rate": 9.186666666666666e-06, + "loss": 0.7807, + "step": 690 + }, + { + "epoch": 0.04246558505408063, + "grad_norm": 30.125, + "learning_rate": 9.200000000000002e-06, + "loss": 0.735, + "step": 691 + }, + { + "epoch": 0.04252704031465093, + "grad_norm": 35.75, + "learning_rate": 9.213333333333334e-06, + "loss": 0.8574, + "step": 692 + }, + { + "epoch": 0.042588495575221236, + "grad_norm": 41.25, + "learning_rate": 9.226666666666668e-06, + "loss": 0.6181, + "step": 693 + }, + { + "epoch": 0.042649950835791546, + "grad_norm": 39.0, + "learning_rate": 9.240000000000001e-06, + "loss": 0.8465, + "step": 694 + }, + { + "epoch": 0.04271140609636185, + "grad_norm": 26.25, + "learning_rate": 9.253333333333333e-06, + "loss": 0.7085, + "step": 695 + }, + { + "epoch": 0.04277286135693215, + "grad_norm": 35.25, + "learning_rate": 9.266666666666667e-06, + "loss": 0.7554, + "step": 696 + }, + { + "epoch": 0.042834316617502456, + "grad_norm": 82.5, + "learning_rate": 9.280000000000001e-06, + "loss": 1.2424, + "step": 697 + }, + { + "epoch": 0.042895771878072766, + "grad_norm": 33.75, + "learning_rate": 9.293333333333335e-06, + "loss": 0.9356, + "step": 698 + }, + { + "epoch": 0.04295722713864307, + "grad_norm": 30.25, + "learning_rate": 9.306666666666667e-06, + "loss": 0.9749, + "step": 699 + }, + { + "epoch": 0.04301868239921337, + "grad_norm": 52.0, + "learning_rate": 9.32e-06, + "loss": 1.1634, + "step": 700 + }, + { + "epoch": 0.04308013765978368, + "grad_norm": 32.25, + "learning_rate": 9.333333333333334e-06, + "loss": 1.1435, + "step": 701 + }, + { + "epoch": 0.04314159292035398, + "grad_norm": 44.0, + "learning_rate": 9.346666666666666e-06, + "loss": 1.0926, + "step": 702 + }, + { + "epoch": 0.04320304818092429, + "grad_norm": 32.75, + "learning_rate": 9.360000000000002e-06, + "loss": 0.8124, + "step": 703 + }, + { + "epoch": 0.043264503441494594, + "grad_norm": 25.125, + "learning_rate": 9.373333333333334e-06, + "loss": 0.978, + "step": 704 + }, + { + "epoch": 0.0433259587020649, + "grad_norm": 26.75, + "learning_rate": 9.386666666666668e-06, + "loss": 0.7538, + "step": 705 + }, + { + "epoch": 0.0433874139626352, + "grad_norm": 28.25, + "learning_rate": 9.4e-06, + "loss": 0.5974, + "step": 706 + }, + { + "epoch": 0.043448869223205504, + "grad_norm": 25.75, + "learning_rate": 9.413333333333334e-06, + "loss": 0.7366, + "step": 707 + }, + { + "epoch": 0.043510324483775814, + "grad_norm": 27.625, + "learning_rate": 9.426666666666667e-06, + "loss": 0.7622, + "step": 708 + }, + { + "epoch": 0.04357177974434612, + "grad_norm": 44.25, + "learning_rate": 9.440000000000001e-06, + "loss": 0.6432, + "step": 709 + }, + { + "epoch": 0.04363323500491642, + "grad_norm": 49.0, + "learning_rate": 9.453333333333335e-06, + "loss": 0.7007, + "step": 710 + }, + { + "epoch": 0.043694690265486724, + "grad_norm": 38.25, + "learning_rate": 9.466666666666667e-06, + "loss": 0.6815, + "step": 711 + }, + { + "epoch": 0.04375614552605703, + "grad_norm": 39.25, + "learning_rate": 9.48e-06, + "loss": 0.6481, + "step": 712 + }, + { + "epoch": 0.04381760078662734, + "grad_norm": 39.0, + "learning_rate": 9.493333333333334e-06, + "loss": 0.8907, + "step": 713 + }, + { + "epoch": 0.04387905604719764, + "grad_norm": 27.875, + "learning_rate": 9.506666666666667e-06, + "loss": 0.7847, + "step": 714 + }, + { + "epoch": 0.043940511307767945, + "grad_norm": 33.0, + "learning_rate": 9.52e-06, + "loss": 0.7244, + "step": 715 + }, + { + "epoch": 0.04400196656833825, + "grad_norm": 42.75, + "learning_rate": 9.533333333333334e-06, + "loss": 0.7727, + "step": 716 + }, + { + "epoch": 0.04406342182890855, + "grad_norm": 49.5, + "learning_rate": 9.546666666666668e-06, + "loss": 0.7163, + "step": 717 + }, + { + "epoch": 0.04412487708947886, + "grad_norm": 66.0, + "learning_rate": 9.56e-06, + "loss": 0.7222, + "step": 718 + }, + { + "epoch": 0.044186332350049165, + "grad_norm": 69.5, + "learning_rate": 9.573333333333334e-06, + "loss": 0.8451, + "step": 719 + }, + { + "epoch": 0.04424778761061947, + "grad_norm": 42.5, + "learning_rate": 9.586666666666667e-06, + "loss": 0.8206, + "step": 720 + }, + { + "epoch": 0.04430924287118977, + "grad_norm": 64.0, + "learning_rate": 9.600000000000001e-06, + "loss": 0.775, + "step": 721 + }, + { + "epoch": 0.04437069813176008, + "grad_norm": 30.25, + "learning_rate": 9.613333333333335e-06, + "loss": 0.6167, + "step": 722 + }, + { + "epoch": 0.044432153392330385, + "grad_norm": 49.0, + "learning_rate": 9.626666666666667e-06, + "loss": 0.5596, + "step": 723 + }, + { + "epoch": 0.04449360865290069, + "grad_norm": 39.5, + "learning_rate": 9.640000000000001e-06, + "loss": 0.7102, + "step": 724 + }, + { + "epoch": 0.04455506391347099, + "grad_norm": 41.25, + "learning_rate": 9.653333333333335e-06, + "loss": 0.79, + "step": 725 + }, + { + "epoch": 0.044616519174041296, + "grad_norm": 36.0, + "learning_rate": 9.666666666666667e-06, + "loss": 0.7565, + "step": 726 + }, + { + "epoch": 0.044677974434611606, + "grad_norm": 59.75, + "learning_rate": 9.68e-06, + "loss": 0.7336, + "step": 727 + }, + { + "epoch": 0.04473942969518191, + "grad_norm": 30.875, + "learning_rate": 9.693333333333334e-06, + "loss": 0.5786, + "step": 728 + }, + { + "epoch": 0.04480088495575221, + "grad_norm": 37.25, + "learning_rate": 9.706666666666668e-06, + "loss": 0.8139, + "step": 729 + }, + { + "epoch": 0.044862340216322516, + "grad_norm": 30.75, + "learning_rate": 9.72e-06, + "loss": 0.8694, + "step": 730 + }, + { + "epoch": 0.04492379547689282, + "grad_norm": 28.5, + "learning_rate": 9.733333333333334e-06, + "loss": 0.738, + "step": 731 + }, + { + "epoch": 0.04498525073746313, + "grad_norm": 26.5, + "learning_rate": 9.746666666666668e-06, + "loss": 0.6922, + "step": 732 + }, + { + "epoch": 0.04504670599803343, + "grad_norm": 50.75, + "learning_rate": 9.760000000000001e-06, + "loss": 0.7852, + "step": 733 + }, + { + "epoch": 0.045108161258603736, + "grad_norm": 39.5, + "learning_rate": 9.773333333333335e-06, + "loss": 0.8342, + "step": 734 + }, + { + "epoch": 0.04516961651917404, + "grad_norm": 27.5, + "learning_rate": 9.786666666666667e-06, + "loss": 0.6431, + "step": 735 + }, + { + "epoch": 0.04523107177974434, + "grad_norm": 27.375, + "learning_rate": 9.800000000000001e-06, + "loss": 0.757, + "step": 736 + }, + { + "epoch": 0.045292527040314653, + "grad_norm": 15.625, + "learning_rate": 9.813333333333333e-06, + "loss": 0.5835, + "step": 737 + }, + { + "epoch": 0.04535398230088496, + "grad_norm": 49.0, + "learning_rate": 9.826666666666667e-06, + "loss": 0.737, + "step": 738 + }, + { + "epoch": 0.04541543756145526, + "grad_norm": 54.0, + "learning_rate": 9.84e-06, + "loss": 0.661, + "step": 739 + }, + { + "epoch": 0.045476892822025564, + "grad_norm": 41.25, + "learning_rate": 9.853333333333334e-06, + "loss": 0.5831, + "step": 740 + }, + { + "epoch": 0.04553834808259587, + "grad_norm": 27.5, + "learning_rate": 9.866666666666668e-06, + "loss": 0.5602, + "step": 741 + }, + { + "epoch": 0.04559980334316618, + "grad_norm": 52.25, + "learning_rate": 9.88e-06, + "loss": 0.6011, + "step": 742 + }, + { + "epoch": 0.04566125860373648, + "grad_norm": 60.25, + "learning_rate": 9.893333333333334e-06, + "loss": 0.5949, + "step": 743 + }, + { + "epoch": 0.045722713864306784, + "grad_norm": 46.0, + "learning_rate": 9.906666666666668e-06, + "loss": 0.6577, + "step": 744 + }, + { + "epoch": 0.04578416912487709, + "grad_norm": 24.5, + "learning_rate": 9.920000000000002e-06, + "loss": 0.6808, + "step": 745 + }, + { + "epoch": 0.0458456243854474, + "grad_norm": 42.25, + "learning_rate": 9.933333333333334e-06, + "loss": 0.7542, + "step": 746 + }, + { + "epoch": 0.0459070796460177, + "grad_norm": 32.0, + "learning_rate": 9.946666666666667e-06, + "loss": 0.8687, + "step": 747 + }, + { + "epoch": 0.045968534906588004, + "grad_norm": 54.0, + "learning_rate": 9.960000000000001e-06, + "loss": 1.0703, + "step": 748 + }, + { + "epoch": 0.04602999016715831, + "grad_norm": 36.75, + "learning_rate": 9.973333333333333e-06, + "loss": 0.8712, + "step": 749 + }, + { + "epoch": 0.04609144542772861, + "grad_norm": 125.5, + "learning_rate": 9.986666666666667e-06, + "loss": 1.0925, + "step": 750 + }, + { + "epoch": 0.04615290068829892, + "grad_norm": 38.5, + "learning_rate": 1e-05, + "loss": 0.7888, + "step": 751 + }, + { + "epoch": 0.046214355948869225, + "grad_norm": 49.0, + "learning_rate": 1.0013333333333335e-05, + "loss": 0.6424, + "step": 752 + }, + { + "epoch": 0.04627581120943953, + "grad_norm": 48.5, + "learning_rate": 1.0026666666666667e-05, + "loss": 0.7062, + "step": 753 + }, + { + "epoch": 0.04633726647000983, + "grad_norm": 53.25, + "learning_rate": 1.004e-05, + "loss": 0.7203, + "step": 754 + }, + { + "epoch": 0.046398721730580135, + "grad_norm": 49.0, + "learning_rate": 1.0053333333333334e-05, + "loss": 0.8338, + "step": 755 + }, + { + "epoch": 0.046460176991150445, + "grad_norm": 77.0, + "learning_rate": 1.0066666666666666e-05, + "loss": 0.8558, + "step": 756 + }, + { + "epoch": 0.04652163225172075, + "grad_norm": 58.0, + "learning_rate": 1.008e-05, + "loss": 0.7071, + "step": 757 + }, + { + "epoch": 0.04658308751229105, + "grad_norm": 51.25, + "learning_rate": 1.0093333333333336e-05, + "loss": 0.6844, + "step": 758 + }, + { + "epoch": 0.046644542772861355, + "grad_norm": 36.0, + "learning_rate": 1.0106666666666668e-05, + "loss": 0.721, + "step": 759 + }, + { + "epoch": 0.04670599803343166, + "grad_norm": 46.75, + "learning_rate": 1.0120000000000001e-05, + "loss": 0.7316, + "step": 760 + }, + { + "epoch": 0.04676745329400197, + "grad_norm": 47.75, + "learning_rate": 1.0133333333333335e-05, + "loss": 0.7692, + "step": 761 + }, + { + "epoch": 0.04682890855457227, + "grad_norm": 37.5, + "learning_rate": 1.0146666666666667e-05, + "loss": 0.7745, + "step": 762 + }, + { + "epoch": 0.046890363815142576, + "grad_norm": 28.75, + "learning_rate": 1.0160000000000001e-05, + "loss": 0.7728, + "step": 763 + }, + { + "epoch": 0.04695181907571288, + "grad_norm": 36.25, + "learning_rate": 1.0173333333333335e-05, + "loss": 0.6003, + "step": 764 + }, + { + "epoch": 0.04701327433628318, + "grad_norm": 20.875, + "learning_rate": 1.0186666666666667e-05, + "loss": 0.7126, + "step": 765 + }, + { + "epoch": 0.04707472959685349, + "grad_norm": 22.75, + "learning_rate": 1.02e-05, + "loss": 0.5851, + "step": 766 + }, + { + "epoch": 0.047136184857423796, + "grad_norm": 32.75, + "learning_rate": 1.0213333333333334e-05, + "loss": 0.5361, + "step": 767 + }, + { + "epoch": 0.0471976401179941, + "grad_norm": 60.75, + "learning_rate": 1.0226666666666666e-05, + "loss": 0.6993, + "step": 768 + }, + { + "epoch": 0.0472590953785644, + "grad_norm": 40.5, + "learning_rate": 1.024e-05, + "loss": 0.7402, + "step": 769 + }, + { + "epoch": 0.04732055063913471, + "grad_norm": 32.75, + "learning_rate": 1.0253333333333336e-05, + "loss": 0.6583, + "step": 770 + }, + { + "epoch": 0.04738200589970502, + "grad_norm": 30.0, + "learning_rate": 1.0266666666666668e-05, + "loss": 0.6254, + "step": 771 + }, + { + "epoch": 0.04744346116027532, + "grad_norm": 51.0, + "learning_rate": 1.0280000000000002e-05, + "loss": 0.6938, + "step": 772 + }, + { + "epoch": 0.04750491642084562, + "grad_norm": 37.75, + "learning_rate": 1.0293333333333335e-05, + "loss": 0.697, + "step": 773 + }, + { + "epoch": 0.04756637168141593, + "grad_norm": 30.0, + "learning_rate": 1.0306666666666667e-05, + "loss": 0.7263, + "step": 774 + }, + { + "epoch": 0.04762782694198624, + "grad_norm": 49.0, + "learning_rate": 1.0320000000000001e-05, + "loss": 0.6839, + "step": 775 + }, + { + "epoch": 0.04768928220255654, + "grad_norm": 50.25, + "learning_rate": 1.0333333333333335e-05, + "loss": 0.6247, + "step": 776 + }, + { + "epoch": 0.047750737463126844, + "grad_norm": 53.0, + "learning_rate": 1.0346666666666667e-05, + "loss": 0.9384, + "step": 777 + }, + { + "epoch": 0.04781219272369715, + "grad_norm": 33.75, + "learning_rate": 1.036e-05, + "loss": 0.8235, + "step": 778 + }, + { + "epoch": 0.04787364798426745, + "grad_norm": 21.875, + "learning_rate": 1.0373333333333335e-05, + "loss": 0.6401, + "step": 779 + }, + { + "epoch": 0.04793510324483776, + "grad_norm": 31.875, + "learning_rate": 1.0386666666666667e-05, + "loss": 0.6479, + "step": 780 + }, + { + "epoch": 0.047996558505408064, + "grad_norm": 39.25, + "learning_rate": 1.04e-05, + "loss": 0.5009, + "step": 781 + }, + { + "epoch": 0.04805801376597837, + "grad_norm": 47.25, + "learning_rate": 1.0413333333333336e-05, + "loss": 0.7009, + "step": 782 + }, + { + "epoch": 0.04811946902654867, + "grad_norm": 28.375, + "learning_rate": 1.0426666666666668e-05, + "loss": 0.8483, + "step": 783 + }, + { + "epoch": 0.048180924287118974, + "grad_norm": 46.5, + "learning_rate": 1.0440000000000002e-05, + "loss": 0.6512, + "step": 784 + }, + { + "epoch": 0.048242379547689285, + "grad_norm": 40.0, + "learning_rate": 1.0453333333333334e-05, + "loss": 0.7431, + "step": 785 + }, + { + "epoch": 0.04830383480825959, + "grad_norm": 55.75, + "learning_rate": 1.0466666666666668e-05, + "loss": 0.8059, + "step": 786 + }, + { + "epoch": 0.04836529006882989, + "grad_norm": 22.875, + "learning_rate": 1.0480000000000001e-05, + "loss": 0.6876, + "step": 787 + }, + { + "epoch": 0.048426745329400195, + "grad_norm": 45.25, + "learning_rate": 1.0493333333333333e-05, + "loss": 0.6354, + "step": 788 + }, + { + "epoch": 0.0484882005899705, + "grad_norm": 36.25, + "learning_rate": 1.0506666666666667e-05, + "loss": 0.8947, + "step": 789 + }, + { + "epoch": 0.04854965585054081, + "grad_norm": 39.5, + "learning_rate": 1.0520000000000001e-05, + "loss": 0.593, + "step": 790 + }, + { + "epoch": 0.04861111111111111, + "grad_norm": 16.125, + "learning_rate": 1.0533333333333333e-05, + "loss": 0.6071, + "step": 791 + }, + { + "epoch": 0.048672566371681415, + "grad_norm": 60.75, + "learning_rate": 1.0546666666666667e-05, + "loss": 0.6698, + "step": 792 + }, + { + "epoch": 0.04873402163225172, + "grad_norm": 41.0, + "learning_rate": 1.056e-05, + "loss": 0.9218, + "step": 793 + }, + { + "epoch": 0.04879547689282203, + "grad_norm": 36.25, + "learning_rate": 1.0573333333333333e-05, + "loss": 0.8542, + "step": 794 + }, + { + "epoch": 0.04885693215339233, + "grad_norm": 35.25, + "learning_rate": 1.0586666666666668e-05, + "loss": 0.6295, + "step": 795 + }, + { + "epoch": 0.048918387413962636, + "grad_norm": 31.5, + "learning_rate": 1.0600000000000002e-05, + "loss": 0.7025, + "step": 796 + }, + { + "epoch": 0.04897984267453294, + "grad_norm": 32.75, + "learning_rate": 1.0613333333333334e-05, + "loss": 0.6968, + "step": 797 + }, + { + "epoch": 0.04904129793510324, + "grad_norm": 31.375, + "learning_rate": 1.0626666666666668e-05, + "loss": 0.7318, + "step": 798 + }, + { + "epoch": 0.04910275319567355, + "grad_norm": 44.5, + "learning_rate": 1.0640000000000001e-05, + "loss": 0.7562, + "step": 799 + }, + { + "epoch": 0.049164208456243856, + "grad_norm": 18.125, + "learning_rate": 1.0653333333333334e-05, + "loss": 0.6267, + "step": 800 + }, + { + "epoch": 0.04922566371681416, + "grad_norm": 36.75, + "learning_rate": 1.0666666666666667e-05, + "loss": 0.665, + "step": 801 + }, + { + "epoch": 0.04928711897738446, + "grad_norm": 75.0, + "learning_rate": 1.0680000000000001e-05, + "loss": 0.6933, + "step": 802 + }, + { + "epoch": 0.049348574237954766, + "grad_norm": 57.75, + "learning_rate": 1.0693333333333333e-05, + "loss": 0.5902, + "step": 803 + }, + { + "epoch": 0.049410029498525077, + "grad_norm": 65.5, + "learning_rate": 1.0706666666666667e-05, + "loss": 0.6891, + "step": 804 + }, + { + "epoch": 0.04947148475909538, + "grad_norm": 51.75, + "learning_rate": 1.072e-05, + "loss": 0.7041, + "step": 805 + }, + { + "epoch": 0.04953294001966568, + "grad_norm": 35.0, + "learning_rate": 1.0733333333333333e-05, + "loss": 0.6583, + "step": 806 + }, + { + "epoch": 0.04959439528023599, + "grad_norm": 37.25, + "learning_rate": 1.0746666666666668e-05, + "loss": 0.7138, + "step": 807 + }, + { + "epoch": 0.04965585054080629, + "grad_norm": 52.25, + "learning_rate": 1.0760000000000002e-05, + "loss": 0.7472, + "step": 808 + }, + { + "epoch": 0.0497173058013766, + "grad_norm": 49.25, + "learning_rate": 1.0773333333333334e-05, + "loss": 0.6569, + "step": 809 + }, + { + "epoch": 0.049778761061946904, + "grad_norm": 50.5, + "learning_rate": 1.0786666666666668e-05, + "loss": 0.8802, + "step": 810 + }, + { + "epoch": 0.04984021632251721, + "grad_norm": 41.25, + "learning_rate": 1.0800000000000002e-05, + "loss": 0.7542, + "step": 811 + }, + { + "epoch": 0.04990167158308751, + "grad_norm": 27.25, + "learning_rate": 1.0813333333333334e-05, + "loss": 0.5113, + "step": 812 + }, + { + "epoch": 0.049963126843657814, + "grad_norm": 23.625, + "learning_rate": 1.0826666666666667e-05, + "loss": 0.677, + "step": 813 + }, + { + "epoch": 0.050024582104228124, + "grad_norm": 44.0, + "learning_rate": 1.0840000000000001e-05, + "loss": 0.6348, + "step": 814 + }, + { + "epoch": 0.05008603736479843, + "grad_norm": 22.375, + "learning_rate": 1.0853333333333333e-05, + "loss": 0.5962, + "step": 815 + }, + { + "epoch": 0.05014749262536873, + "grad_norm": 93.0, + "learning_rate": 1.0866666666666667e-05, + "loss": 0.6353, + "step": 816 + }, + { + "epoch": 0.050208947885939034, + "grad_norm": 65.0, + "learning_rate": 1.0880000000000001e-05, + "loss": 0.603, + "step": 817 + }, + { + "epoch": 0.050270403146509345, + "grad_norm": 44.0, + "learning_rate": 1.0893333333333333e-05, + "loss": 0.9362, + "step": 818 + }, + { + "epoch": 0.05033185840707965, + "grad_norm": 21.75, + "learning_rate": 1.0906666666666668e-05, + "loss": 0.7394, + "step": 819 + }, + { + "epoch": 0.05039331366764995, + "grad_norm": 43.0, + "learning_rate": 1.0920000000000002e-05, + "loss": 0.6651, + "step": 820 + }, + { + "epoch": 0.050454768928220255, + "grad_norm": 45.25, + "learning_rate": 1.0933333333333334e-05, + "loss": 0.6671, + "step": 821 + }, + { + "epoch": 0.05051622418879056, + "grad_norm": 69.0, + "learning_rate": 1.0946666666666668e-05, + "loss": 0.7588, + "step": 822 + }, + { + "epoch": 0.05057767944936087, + "grad_norm": 59.25, + "learning_rate": 1.0960000000000002e-05, + "loss": 0.7313, + "step": 823 + }, + { + "epoch": 0.05063913470993117, + "grad_norm": 44.25, + "learning_rate": 1.0973333333333334e-05, + "loss": 0.63, + "step": 824 + }, + { + "epoch": 0.050700589970501475, + "grad_norm": 45.25, + "learning_rate": 1.0986666666666668e-05, + "loss": 0.7048, + "step": 825 + }, + { + "epoch": 0.05076204523107178, + "grad_norm": 42.25, + "learning_rate": 1.1000000000000001e-05, + "loss": 0.5822, + "step": 826 + }, + { + "epoch": 0.05082350049164208, + "grad_norm": 51.75, + "learning_rate": 1.1013333333333333e-05, + "loss": 0.7066, + "step": 827 + }, + { + "epoch": 0.05088495575221239, + "grad_norm": 55.0, + "learning_rate": 1.1026666666666667e-05, + "loss": 0.5021, + "step": 828 + }, + { + "epoch": 0.050946411012782696, + "grad_norm": 43.75, + "learning_rate": 1.1040000000000001e-05, + "loss": 0.7969, + "step": 829 + }, + { + "epoch": 0.051007866273353, + "grad_norm": 54.5, + "learning_rate": 1.1053333333333333e-05, + "loss": 0.6311, + "step": 830 + }, + { + "epoch": 0.0510693215339233, + "grad_norm": 25.875, + "learning_rate": 1.1066666666666669e-05, + "loss": 0.6224, + "step": 831 + }, + { + "epoch": 0.051130776794493606, + "grad_norm": 49.75, + "learning_rate": 1.1080000000000002e-05, + "loss": 0.9938, + "step": 832 + }, + { + "epoch": 0.051192232055063916, + "grad_norm": 35.0, + "learning_rate": 1.1093333333333334e-05, + "loss": 0.6986, + "step": 833 + }, + { + "epoch": 0.05125368731563422, + "grad_norm": 34.75, + "learning_rate": 1.1106666666666668e-05, + "loss": 0.7152, + "step": 834 + }, + { + "epoch": 0.05131514257620452, + "grad_norm": 20.25, + "learning_rate": 1.1120000000000002e-05, + "loss": 0.5822, + "step": 835 + }, + { + "epoch": 0.051376597836774826, + "grad_norm": 30.875, + "learning_rate": 1.1133333333333334e-05, + "loss": 0.6785, + "step": 836 + }, + { + "epoch": 0.05143805309734513, + "grad_norm": 22.25, + "learning_rate": 1.1146666666666668e-05, + "loss": 0.5322, + "step": 837 + }, + { + "epoch": 0.05149950835791544, + "grad_norm": 47.0, + "learning_rate": 1.1160000000000002e-05, + "loss": 0.7106, + "step": 838 + }, + { + "epoch": 0.05156096361848574, + "grad_norm": 32.75, + "learning_rate": 1.1173333333333334e-05, + "loss": 0.7764, + "step": 839 + }, + { + "epoch": 0.051622418879056046, + "grad_norm": 63.75, + "learning_rate": 1.1186666666666667e-05, + "loss": 0.9453, + "step": 840 + }, + { + "epoch": 0.05168387413962635, + "grad_norm": 27.875, + "learning_rate": 1.1200000000000001e-05, + "loss": 0.7396, + "step": 841 + }, + { + "epoch": 0.05174532940019666, + "grad_norm": 25.75, + "learning_rate": 1.1213333333333333e-05, + "loss": 0.8482, + "step": 842 + }, + { + "epoch": 0.051806784660766964, + "grad_norm": 18.375, + "learning_rate": 1.1226666666666669e-05, + "loss": 0.6308, + "step": 843 + }, + { + "epoch": 0.05186823992133727, + "grad_norm": 22.25, + "learning_rate": 1.1240000000000002e-05, + "loss": 0.7905, + "step": 844 + }, + { + "epoch": 0.05192969518190757, + "grad_norm": 26.0, + "learning_rate": 1.1253333333333335e-05, + "loss": 0.6793, + "step": 845 + }, + { + "epoch": 0.051991150442477874, + "grad_norm": 24.375, + "learning_rate": 1.1266666666666668e-05, + "loss": 0.6244, + "step": 846 + }, + { + "epoch": 0.052052605703048184, + "grad_norm": 44.25, + "learning_rate": 1.128e-05, + "loss": 0.8591, + "step": 847 + }, + { + "epoch": 0.05211406096361849, + "grad_norm": 43.5, + "learning_rate": 1.1293333333333334e-05, + "loss": 0.7352, + "step": 848 + }, + { + "epoch": 0.05217551622418879, + "grad_norm": 41.5, + "learning_rate": 1.1306666666666668e-05, + "loss": 0.8791, + "step": 849 + }, + { + "epoch": 0.052236971484759094, + "grad_norm": 31.5, + "learning_rate": 1.132e-05, + "loss": 0.8298, + "step": 850 + }, + { + "epoch": 0.0522984267453294, + "grad_norm": 43.25, + "learning_rate": 1.1333333333333334e-05, + "loss": 0.7726, + "step": 851 + }, + { + "epoch": 0.05235988200589971, + "grad_norm": 44.75, + "learning_rate": 1.1346666666666668e-05, + "loss": 0.9036, + "step": 852 + }, + { + "epoch": 0.05242133726647001, + "grad_norm": 40.25, + "learning_rate": 1.136e-05, + "loss": 0.8183, + "step": 853 + }, + { + "epoch": 0.052482792527040315, + "grad_norm": 30.375, + "learning_rate": 1.1373333333333333e-05, + "loss": 0.7978, + "step": 854 + }, + { + "epoch": 0.05254424778761062, + "grad_norm": 28.0, + "learning_rate": 1.1386666666666669e-05, + "loss": 0.9153, + "step": 855 + }, + { + "epoch": 0.05260570304818092, + "grad_norm": 29.0, + "learning_rate": 1.14e-05, + "loss": 0.6611, + "step": 856 + }, + { + "epoch": 0.05266715830875123, + "grad_norm": 39.25, + "learning_rate": 1.1413333333333335e-05, + "loss": 0.7199, + "step": 857 + }, + { + "epoch": 0.052728613569321535, + "grad_norm": 40.25, + "learning_rate": 1.1426666666666669e-05, + "loss": 0.8384, + "step": 858 + }, + { + "epoch": 0.05279006882989184, + "grad_norm": 29.0, + "learning_rate": 1.144e-05, + "loss": 0.7427, + "step": 859 + }, + { + "epoch": 0.05285152409046214, + "grad_norm": 30.375, + "learning_rate": 1.1453333333333334e-05, + "loss": 0.7447, + "step": 860 + }, + { + "epoch": 0.052912979351032445, + "grad_norm": 55.0, + "learning_rate": 1.1466666666666668e-05, + "loss": 0.7126, + "step": 861 + }, + { + "epoch": 0.052974434611602755, + "grad_norm": 20.25, + "learning_rate": 1.148e-05, + "loss": 0.6529, + "step": 862 + }, + { + "epoch": 0.05303588987217306, + "grad_norm": 28.625, + "learning_rate": 1.1493333333333334e-05, + "loss": 0.5448, + "step": 863 + }, + { + "epoch": 0.05309734513274336, + "grad_norm": 34.25, + "learning_rate": 1.1506666666666668e-05, + "loss": 0.5725, + "step": 864 + }, + { + "epoch": 0.053158800393313665, + "grad_norm": 41.25, + "learning_rate": 1.152e-05, + "loss": 0.7562, + "step": 865 + }, + { + "epoch": 0.053220255653883976, + "grad_norm": 33.25, + "learning_rate": 1.1533333333333334e-05, + "loss": 0.9486, + "step": 866 + }, + { + "epoch": 0.05328171091445428, + "grad_norm": 26.25, + "learning_rate": 1.1546666666666669e-05, + "loss": 0.7683, + "step": 867 + }, + { + "epoch": 0.05334316617502458, + "grad_norm": 15.375, + "learning_rate": 1.156e-05, + "loss": 0.5429, + "step": 868 + }, + { + "epoch": 0.053404621435594886, + "grad_norm": 30.125, + "learning_rate": 1.1573333333333335e-05, + "loss": 0.5291, + "step": 869 + }, + { + "epoch": 0.05346607669616519, + "grad_norm": 29.5, + "learning_rate": 1.1586666666666669e-05, + "loss": 0.5687, + "step": 870 + }, + { + "epoch": 0.0535275319567355, + "grad_norm": 17.5, + "learning_rate": 1.16e-05, + "loss": 0.5489, + "step": 871 + }, + { + "epoch": 0.0535889872173058, + "grad_norm": 30.125, + "learning_rate": 1.1613333333333335e-05, + "loss": 0.6197, + "step": 872 + }, + { + "epoch": 0.053650442477876106, + "grad_norm": 24.5, + "learning_rate": 1.1626666666666668e-05, + "loss": 0.7239, + "step": 873 + }, + { + "epoch": 0.05371189773844641, + "grad_norm": 29.625, + "learning_rate": 1.164e-05, + "loss": 0.7267, + "step": 874 + }, + { + "epoch": 0.05377335299901671, + "grad_norm": 43.0, + "learning_rate": 1.1653333333333334e-05, + "loss": 0.6004, + "step": 875 + }, + { + "epoch": 0.05383480825958702, + "grad_norm": 34.0, + "learning_rate": 1.1666666666666668e-05, + "loss": 0.7228, + "step": 876 + }, + { + "epoch": 0.05389626352015733, + "grad_norm": 29.125, + "learning_rate": 1.168e-05, + "loss": 0.6849, + "step": 877 + }, + { + "epoch": 0.05395771878072763, + "grad_norm": 29.75, + "learning_rate": 1.1693333333333334e-05, + "loss": 0.6881, + "step": 878 + }, + { + "epoch": 0.054019174041297933, + "grad_norm": 35.0, + "learning_rate": 1.170666666666667e-05, + "loss": 0.7448, + "step": 879 + }, + { + "epoch": 0.05408062930186824, + "grad_norm": 39.0, + "learning_rate": 1.172e-05, + "loss": 0.8501, + "step": 880 + }, + { + "epoch": 0.05414208456243855, + "grad_norm": 35.5, + "learning_rate": 1.1733333333333335e-05, + "loss": 0.7999, + "step": 881 + }, + { + "epoch": 0.05420353982300885, + "grad_norm": 38.5, + "learning_rate": 1.1746666666666669e-05, + "loss": 0.579, + "step": 882 + }, + { + "epoch": 0.054264995083579154, + "grad_norm": 16.25, + "learning_rate": 1.1760000000000001e-05, + "loss": 0.5202, + "step": 883 + }, + { + "epoch": 0.05432645034414946, + "grad_norm": 21.625, + "learning_rate": 1.1773333333333335e-05, + "loss": 0.5582, + "step": 884 + }, + { + "epoch": 0.05438790560471976, + "grad_norm": 32.25, + "learning_rate": 1.1786666666666668e-05, + "loss": 0.5072, + "step": 885 + }, + { + "epoch": 0.05444936086529007, + "grad_norm": 26.375, + "learning_rate": 1.18e-05, + "loss": 0.5798, + "step": 886 + }, + { + "epoch": 0.054510816125860374, + "grad_norm": 30.75, + "learning_rate": 1.1813333333333334e-05, + "loss": 0.4824, + "step": 887 + }, + { + "epoch": 0.05457227138643068, + "grad_norm": 27.375, + "learning_rate": 1.1826666666666668e-05, + "loss": 0.5179, + "step": 888 + }, + { + "epoch": 0.05463372664700098, + "grad_norm": 62.0, + "learning_rate": 1.184e-05, + "loss": 0.7642, + "step": 889 + }, + { + "epoch": 0.05469518190757129, + "grad_norm": 23.25, + "learning_rate": 1.1853333333333334e-05, + "loss": 0.692, + "step": 890 + }, + { + "epoch": 0.054756637168141595, + "grad_norm": 50.0, + "learning_rate": 1.186666666666667e-05, + "loss": 0.7653, + "step": 891 + }, + { + "epoch": 0.0548180924287119, + "grad_norm": 82.5, + "learning_rate": 1.188e-05, + "loss": 0.7653, + "step": 892 + }, + { + "epoch": 0.0548795476892822, + "grad_norm": 68.0, + "learning_rate": 1.1893333333333335e-05, + "loss": 0.742, + "step": 893 + }, + { + "epoch": 0.054941002949852505, + "grad_norm": 69.0, + "learning_rate": 1.1906666666666669e-05, + "loss": 0.7095, + "step": 894 + }, + { + "epoch": 0.055002458210422815, + "grad_norm": 45.25, + "learning_rate": 1.1920000000000001e-05, + "loss": 0.5097, + "step": 895 + }, + { + "epoch": 0.05506391347099312, + "grad_norm": 48.5, + "learning_rate": 1.1933333333333335e-05, + "loss": 0.5493, + "step": 896 + }, + { + "epoch": 0.05512536873156342, + "grad_norm": 40.75, + "learning_rate": 1.1946666666666669e-05, + "loss": 0.6108, + "step": 897 + }, + { + "epoch": 0.055186823992133725, + "grad_norm": 52.25, + "learning_rate": 1.196e-05, + "loss": 0.6981, + "step": 898 + }, + { + "epoch": 0.05524827925270403, + "grad_norm": 42.25, + "learning_rate": 1.1973333333333334e-05, + "loss": 0.7181, + "step": 899 + }, + { + "epoch": 0.05530973451327434, + "grad_norm": 22.625, + "learning_rate": 1.1986666666666668e-05, + "loss": 0.581, + "step": 900 + }, + { + "epoch": 0.05537118977384464, + "grad_norm": 34.75, + "learning_rate": 1.2e-05, + "loss": 0.6108, + "step": 901 + }, + { + "epoch": 0.055432645034414946, + "grad_norm": 29.875, + "learning_rate": 1.2013333333333334e-05, + "loss": 0.5962, + "step": 902 + }, + { + "epoch": 0.05549410029498525, + "grad_norm": 38.5, + "learning_rate": 1.202666666666667e-05, + "loss": 0.5995, + "step": 903 + }, + { + "epoch": 0.05555555555555555, + "grad_norm": 27.625, + "learning_rate": 1.204e-05, + "loss": 0.6027, + "step": 904 + }, + { + "epoch": 0.05561701081612586, + "grad_norm": 27.875, + "learning_rate": 1.2053333333333335e-05, + "loss": 0.771, + "step": 905 + }, + { + "epoch": 0.055678466076696166, + "grad_norm": 33.25, + "learning_rate": 1.206666666666667e-05, + "loss": 0.9046, + "step": 906 + }, + { + "epoch": 0.05573992133726647, + "grad_norm": 31.875, + "learning_rate": 1.2080000000000001e-05, + "loss": 0.8869, + "step": 907 + }, + { + "epoch": 0.05580137659783677, + "grad_norm": 38.25, + "learning_rate": 1.2093333333333335e-05, + "loss": 0.964, + "step": 908 + }, + { + "epoch": 0.055862831858407076, + "grad_norm": 30.5, + "learning_rate": 1.2106666666666667e-05, + "loss": 1.1805, + "step": 909 + }, + { + "epoch": 0.05592428711897739, + "grad_norm": 23.75, + "learning_rate": 1.2120000000000001e-05, + "loss": 0.74, + "step": 910 + }, + { + "epoch": 0.05598574237954769, + "grad_norm": 24.625, + "learning_rate": 1.2133333333333335e-05, + "loss": 0.8718, + "step": 911 + }, + { + "epoch": 0.05604719764011799, + "grad_norm": 25.625, + "learning_rate": 1.2146666666666667e-05, + "loss": 1.0713, + "step": 912 + }, + { + "epoch": 0.0561086529006883, + "grad_norm": 46.0, + "learning_rate": 1.216e-05, + "loss": 0.8758, + "step": 913 + }, + { + "epoch": 0.05617010816125861, + "grad_norm": 26.875, + "learning_rate": 1.2173333333333334e-05, + "loss": 0.771, + "step": 914 + }, + { + "epoch": 0.05623156342182891, + "grad_norm": 22.625, + "learning_rate": 1.2186666666666666e-05, + "loss": 0.8002, + "step": 915 + }, + { + "epoch": 0.056293018682399214, + "grad_norm": 32.25, + "learning_rate": 1.22e-05, + "loss": 0.6459, + "step": 916 + }, + { + "epoch": 0.05635447394296952, + "grad_norm": 25.125, + "learning_rate": 1.2213333333333336e-05, + "loss": 0.5845, + "step": 917 + }, + { + "epoch": 0.05641592920353982, + "grad_norm": 21.25, + "learning_rate": 1.2226666666666666e-05, + "loss": 0.6145, + "step": 918 + }, + { + "epoch": 0.05647738446411013, + "grad_norm": 23.875, + "learning_rate": 1.2240000000000001e-05, + "loss": 0.6707, + "step": 919 + }, + { + "epoch": 0.056538839724680434, + "grad_norm": 15.1875, + "learning_rate": 1.2253333333333335e-05, + "loss": 0.5965, + "step": 920 + }, + { + "epoch": 0.05660029498525074, + "grad_norm": 33.5, + "learning_rate": 1.2266666666666667e-05, + "loss": 0.5909, + "step": 921 + }, + { + "epoch": 0.05666175024582104, + "grad_norm": 28.625, + "learning_rate": 1.2280000000000001e-05, + "loss": 0.7442, + "step": 922 + }, + { + "epoch": 0.056723205506391344, + "grad_norm": 41.25, + "learning_rate": 1.2293333333333335e-05, + "loss": 0.7375, + "step": 923 + }, + { + "epoch": 0.056784660766961655, + "grad_norm": 25.25, + "learning_rate": 1.2306666666666667e-05, + "loss": 0.5163, + "step": 924 + }, + { + "epoch": 0.05684611602753196, + "grad_norm": 37.75, + "learning_rate": 1.232e-05, + "loss": 0.6513, + "step": 925 + }, + { + "epoch": 0.05690757128810226, + "grad_norm": 34.5, + "learning_rate": 1.2333333333333334e-05, + "loss": 0.7151, + "step": 926 + }, + { + "epoch": 0.056969026548672565, + "grad_norm": 13.5625, + "learning_rate": 1.2346666666666666e-05, + "loss": 0.6596, + "step": 927 + }, + { + "epoch": 0.05703048180924287, + "grad_norm": 34.0, + "learning_rate": 1.236e-05, + "loss": 0.6131, + "step": 928 + }, + { + "epoch": 0.05709193706981318, + "grad_norm": 39.25, + "learning_rate": 1.2373333333333336e-05, + "loss": 0.759, + "step": 929 + }, + { + "epoch": 0.05715339233038348, + "grad_norm": 29.25, + "learning_rate": 1.2386666666666666e-05, + "loss": 0.662, + "step": 930 + }, + { + "epoch": 0.057214847590953785, + "grad_norm": 72.0, + "learning_rate": 1.2400000000000002e-05, + "loss": 1.1421, + "step": 931 + }, + { + "epoch": 0.05727630285152409, + "grad_norm": 40.5, + "learning_rate": 1.2413333333333335e-05, + "loss": 0.7545, + "step": 932 + }, + { + "epoch": 0.05733775811209439, + "grad_norm": 50.5, + "learning_rate": 1.2426666666666667e-05, + "loss": 0.6465, + "step": 933 + }, + { + "epoch": 0.0573992133726647, + "grad_norm": 27.125, + "learning_rate": 1.2440000000000001e-05, + "loss": 0.811, + "step": 934 + }, + { + "epoch": 0.057460668633235006, + "grad_norm": 27.875, + "learning_rate": 1.2453333333333335e-05, + "loss": 0.6222, + "step": 935 + }, + { + "epoch": 0.05752212389380531, + "grad_norm": 31.375, + "learning_rate": 1.2466666666666667e-05, + "loss": 0.6505, + "step": 936 + }, + { + "epoch": 0.05758357915437561, + "grad_norm": 27.375, + "learning_rate": 1.248e-05, + "loss": 0.6831, + "step": 937 + }, + { + "epoch": 0.05764503441494592, + "grad_norm": 40.25, + "learning_rate": 1.2493333333333335e-05, + "loss": 0.7704, + "step": 938 + }, + { + "epoch": 0.057706489675516226, + "grad_norm": 14.6875, + "learning_rate": 1.2506666666666667e-05, + "loss": 0.6004, + "step": 939 + }, + { + "epoch": 0.05776794493608653, + "grad_norm": 67.0, + "learning_rate": 1.252e-05, + "loss": 0.9434, + "step": 940 + }, + { + "epoch": 0.05782940019665683, + "grad_norm": 36.25, + "learning_rate": 1.2533333333333336e-05, + "loss": 0.8295, + "step": 941 + }, + { + "epoch": 0.057890855457227136, + "grad_norm": 47.75, + "learning_rate": 1.2546666666666666e-05, + "loss": 0.6951, + "step": 942 + }, + { + "epoch": 0.057952310717797446, + "grad_norm": 17.625, + "learning_rate": 1.2560000000000002e-05, + "loss": 0.7429, + "step": 943 + }, + { + "epoch": 0.05801376597836775, + "grad_norm": 22.25, + "learning_rate": 1.2573333333333335e-05, + "loss": 0.4897, + "step": 944 + }, + { + "epoch": 0.05807522123893805, + "grad_norm": 45.75, + "learning_rate": 1.2586666666666668e-05, + "loss": 0.7351, + "step": 945 + }, + { + "epoch": 0.058136676499508357, + "grad_norm": 34.5, + "learning_rate": 1.2600000000000001e-05, + "loss": 0.8585, + "step": 946 + }, + { + "epoch": 0.05819813176007866, + "grad_norm": 22.875, + "learning_rate": 1.2613333333333335e-05, + "loss": 0.6328, + "step": 947 + }, + { + "epoch": 0.05825958702064897, + "grad_norm": 26.75, + "learning_rate": 1.2626666666666667e-05, + "loss": 0.7067, + "step": 948 + }, + { + "epoch": 0.058321042281219274, + "grad_norm": 23.0, + "learning_rate": 1.2640000000000001e-05, + "loss": 0.7098, + "step": 949 + }, + { + "epoch": 0.05838249754178958, + "grad_norm": 27.375, + "learning_rate": 1.2653333333333335e-05, + "loss": 0.7714, + "step": 950 + }, + { + "epoch": 0.05844395280235988, + "grad_norm": 40.75, + "learning_rate": 1.2666666666666667e-05, + "loss": 0.6829, + "step": 951 + }, + { + "epoch": 0.058505408062930184, + "grad_norm": 22.5, + "learning_rate": 1.268e-05, + "loss": 0.7709, + "step": 952 + }, + { + "epoch": 0.058566863323500494, + "grad_norm": 15.1875, + "learning_rate": 1.2693333333333336e-05, + "loss": 0.7671, + "step": 953 + }, + { + "epoch": 0.0586283185840708, + "grad_norm": 28.75, + "learning_rate": 1.2706666666666666e-05, + "loss": 0.8198, + "step": 954 + }, + { + "epoch": 0.0586897738446411, + "grad_norm": 39.0, + "learning_rate": 1.2720000000000002e-05, + "loss": 0.754, + "step": 955 + }, + { + "epoch": 0.058751229105211404, + "grad_norm": 38.0, + "learning_rate": 1.2733333333333336e-05, + "loss": 0.8153, + "step": 956 + }, + { + "epoch": 0.05881268436578171, + "grad_norm": 19.75, + "learning_rate": 1.2746666666666668e-05, + "loss": 0.8053, + "step": 957 + }, + { + "epoch": 0.05887413962635202, + "grad_norm": 28.0, + "learning_rate": 1.2760000000000001e-05, + "loss": 0.8798, + "step": 958 + }, + { + "epoch": 0.05893559488692232, + "grad_norm": 29.375, + "learning_rate": 1.2773333333333335e-05, + "loss": 0.6067, + "step": 959 + }, + { + "epoch": 0.058997050147492625, + "grad_norm": 46.25, + "learning_rate": 1.2786666666666667e-05, + "loss": 0.7138, + "step": 960 + }, + { + "epoch": 0.05905850540806293, + "grad_norm": 21.375, + "learning_rate": 1.2800000000000001e-05, + "loss": 0.8096, + "step": 961 + }, + { + "epoch": 0.05911996066863324, + "grad_norm": 35.5, + "learning_rate": 1.2813333333333335e-05, + "loss": 0.9131, + "step": 962 + }, + { + "epoch": 0.05918141592920354, + "grad_norm": 27.0, + "learning_rate": 1.2826666666666667e-05, + "loss": 0.7825, + "step": 963 + }, + { + "epoch": 0.059242871189773845, + "grad_norm": 28.5, + "learning_rate": 1.284e-05, + "loss": 0.7802, + "step": 964 + }, + { + "epoch": 0.05930432645034415, + "grad_norm": 29.25, + "learning_rate": 1.2853333333333336e-05, + "loss": 0.7461, + "step": 965 + }, + { + "epoch": 0.05936578171091445, + "grad_norm": 22.0, + "learning_rate": 1.2866666666666667e-05, + "loss": 0.5613, + "step": 966 + }, + { + "epoch": 0.05942723697148476, + "grad_norm": 21.25, + "learning_rate": 1.2880000000000002e-05, + "loss": 0.6754, + "step": 967 + }, + { + "epoch": 0.059488692232055065, + "grad_norm": 18.125, + "learning_rate": 1.2893333333333336e-05, + "loss": 0.6465, + "step": 968 + }, + { + "epoch": 0.05955014749262537, + "grad_norm": 21.125, + "learning_rate": 1.2906666666666668e-05, + "loss": 0.6107, + "step": 969 + }, + { + "epoch": 0.05961160275319567, + "grad_norm": 26.25, + "learning_rate": 1.2920000000000002e-05, + "loss": 0.7043, + "step": 970 + }, + { + "epoch": 0.059673058013765976, + "grad_norm": 20.25, + "learning_rate": 1.2933333333333334e-05, + "loss": 0.7324, + "step": 971 + }, + { + "epoch": 0.059734513274336286, + "grad_norm": 25.0, + "learning_rate": 1.2946666666666668e-05, + "loss": 0.5054, + "step": 972 + }, + { + "epoch": 0.05979596853490659, + "grad_norm": 45.75, + "learning_rate": 1.2960000000000001e-05, + "loss": 0.7858, + "step": 973 + }, + { + "epoch": 0.05985742379547689, + "grad_norm": 34.0, + "learning_rate": 1.2973333333333333e-05, + "loss": 0.654, + "step": 974 + }, + { + "epoch": 0.059918879056047196, + "grad_norm": 43.0, + "learning_rate": 1.2986666666666667e-05, + "loss": 0.6117, + "step": 975 + }, + { + "epoch": 0.0599803343166175, + "grad_norm": 17.75, + "learning_rate": 1.3000000000000001e-05, + "loss": 0.5343, + "step": 976 + }, + { + "epoch": 0.06004178957718781, + "grad_norm": 62.5, + "learning_rate": 1.3013333333333333e-05, + "loss": 0.6651, + "step": 977 + }, + { + "epoch": 0.06010324483775811, + "grad_norm": 62.0, + "learning_rate": 1.3026666666666667e-05, + "loss": 0.7106, + "step": 978 + }, + { + "epoch": 0.060164700098328416, + "grad_norm": 21.5, + "learning_rate": 1.3040000000000002e-05, + "loss": 0.7053, + "step": 979 + }, + { + "epoch": 0.06022615535889872, + "grad_norm": 21.625, + "learning_rate": 1.3053333333333333e-05, + "loss": 0.7573, + "step": 980 + }, + { + "epoch": 0.06028761061946902, + "grad_norm": 17.0, + "learning_rate": 1.3066666666666668e-05, + "loss": 0.5481, + "step": 981 + }, + { + "epoch": 0.06034906588003933, + "grad_norm": 31.0, + "learning_rate": 1.3080000000000002e-05, + "loss": 0.4952, + "step": 982 + }, + { + "epoch": 0.06041052114060964, + "grad_norm": 28.25, + "learning_rate": 1.3093333333333334e-05, + "loss": 0.5908, + "step": 983 + }, + { + "epoch": 0.06047197640117994, + "grad_norm": 11.0, + "learning_rate": 1.3106666666666668e-05, + "loss": 0.7005, + "step": 984 + }, + { + "epoch": 0.060533431661750244, + "grad_norm": 66.5, + "learning_rate": 1.3120000000000001e-05, + "loss": 0.6408, + "step": 985 + }, + { + "epoch": 0.060594886922320554, + "grad_norm": 31.625, + "learning_rate": 1.3133333333333334e-05, + "loss": 0.7732, + "step": 986 + }, + { + "epoch": 0.06065634218289086, + "grad_norm": 38.5, + "learning_rate": 1.3146666666666667e-05, + "loss": 0.5178, + "step": 987 + }, + { + "epoch": 0.06071779744346116, + "grad_norm": 46.75, + "learning_rate": 1.3160000000000001e-05, + "loss": 0.679, + "step": 988 + }, + { + "epoch": 0.060779252704031464, + "grad_norm": 36.5, + "learning_rate": 1.3173333333333333e-05, + "loss": 0.7539, + "step": 989 + }, + { + "epoch": 0.06084070796460177, + "grad_norm": 43.5, + "learning_rate": 1.3186666666666667e-05, + "loss": 0.5826, + "step": 990 + }, + { + "epoch": 0.06090216322517208, + "grad_norm": 15.3125, + "learning_rate": 1.3200000000000002e-05, + "loss": 0.6359, + "step": 991 + }, + { + "epoch": 0.06096361848574238, + "grad_norm": 34.75, + "learning_rate": 1.3213333333333333e-05, + "loss": 0.6015, + "step": 992 + }, + { + "epoch": 0.061025073746312684, + "grad_norm": 20.625, + "learning_rate": 1.3226666666666668e-05, + "loss": 0.5874, + "step": 993 + }, + { + "epoch": 0.06108652900688299, + "grad_norm": 27.25, + "learning_rate": 1.3240000000000002e-05, + "loss": 0.6563, + "step": 994 + }, + { + "epoch": 0.06114798426745329, + "grad_norm": 34.0, + "learning_rate": 1.3253333333333334e-05, + "loss": 0.6165, + "step": 995 + }, + { + "epoch": 0.0612094395280236, + "grad_norm": 22.5, + "learning_rate": 1.3266666666666668e-05, + "loss": 0.508, + "step": 996 + }, + { + "epoch": 0.061270894788593905, + "grad_norm": 32.75, + "learning_rate": 1.3280000000000002e-05, + "loss": 0.5479, + "step": 997 + }, + { + "epoch": 0.06133235004916421, + "grad_norm": 17.375, + "learning_rate": 1.3293333333333334e-05, + "loss": 0.5173, + "step": 998 + }, + { + "epoch": 0.06139380530973451, + "grad_norm": 29.625, + "learning_rate": 1.3306666666666667e-05, + "loss": 0.5615, + "step": 999 + }, + { + "epoch": 0.061455260570304815, + "grad_norm": 51.75, + "learning_rate": 1.3320000000000001e-05, + "loss": 0.6375, + "step": 1000 + }, + { + "epoch": 0.061516715830875125, + "grad_norm": 66.0, + "learning_rate": 1.3333333333333333e-05, + "loss": 0.8289, + "step": 1001 + }, + { + "epoch": 0.06157817109144543, + "grad_norm": 55.75, + "learning_rate": 1.3346666666666667e-05, + "loss": 0.7942, + "step": 1002 + }, + { + "epoch": 0.06163962635201573, + "grad_norm": 31.625, + "learning_rate": 1.3360000000000003e-05, + "loss": 0.7145, + "step": 1003 + }, + { + "epoch": 0.061701081612586035, + "grad_norm": 21.875, + "learning_rate": 1.3373333333333333e-05, + "loss": 0.5583, + "step": 1004 + }, + { + "epoch": 0.06176253687315634, + "grad_norm": 30.75, + "learning_rate": 1.3386666666666668e-05, + "loss": 0.8524, + "step": 1005 + }, + { + "epoch": 0.06182399213372665, + "grad_norm": 54.0, + "learning_rate": 1.3400000000000002e-05, + "loss": 0.6351, + "step": 1006 + }, + { + "epoch": 0.06188544739429695, + "grad_norm": 23.25, + "learning_rate": 1.3413333333333334e-05, + "loss": 0.4771, + "step": 1007 + }, + { + "epoch": 0.061946902654867256, + "grad_norm": 40.25, + "learning_rate": 1.3426666666666668e-05, + "loss": 0.5642, + "step": 1008 + }, + { + "epoch": 0.06200835791543756, + "grad_norm": 29.625, + "learning_rate": 1.3440000000000002e-05, + "loss": 0.6781, + "step": 1009 + }, + { + "epoch": 0.06206981317600787, + "grad_norm": 41.5, + "learning_rate": 1.3453333333333334e-05, + "loss": 0.7648, + "step": 1010 + }, + { + "epoch": 0.06213126843657817, + "grad_norm": 26.625, + "learning_rate": 1.3466666666666668e-05, + "loss": 0.8041, + "step": 1011 + }, + { + "epoch": 0.062192723697148476, + "grad_norm": 19.5, + "learning_rate": 1.3480000000000001e-05, + "loss": 0.5447, + "step": 1012 + }, + { + "epoch": 0.06225417895771878, + "grad_norm": 19.0, + "learning_rate": 1.3493333333333333e-05, + "loss": 0.5638, + "step": 1013 + }, + { + "epoch": 0.06231563421828908, + "grad_norm": 37.0, + "learning_rate": 1.3506666666666667e-05, + "loss": 0.5458, + "step": 1014 + }, + { + "epoch": 0.06237708947885939, + "grad_norm": 51.75, + "learning_rate": 1.3520000000000003e-05, + "loss": 0.6322, + "step": 1015 + }, + { + "epoch": 0.0624385447394297, + "grad_norm": 27.875, + "learning_rate": 1.3533333333333333e-05, + "loss": 0.6656, + "step": 1016 + }, + { + "epoch": 0.0625, + "grad_norm": 30.0, + "learning_rate": 1.3546666666666669e-05, + "loss": 0.8446, + "step": 1017 + }, + { + "epoch": 0.0625614552605703, + "grad_norm": 19.75, + "learning_rate": 1.3560000000000002e-05, + "loss": 0.777, + "step": 1018 + }, + { + "epoch": 0.0626229105211406, + "grad_norm": 46.0, + "learning_rate": 1.3573333333333334e-05, + "loss": 0.7143, + "step": 1019 + }, + { + "epoch": 0.06268436578171091, + "grad_norm": 41.5, + "learning_rate": 1.3586666666666668e-05, + "loss": 0.7387, + "step": 1020 + }, + { + "epoch": 0.06274582104228121, + "grad_norm": 31.875, + "learning_rate": 1.3600000000000002e-05, + "loss": 0.7029, + "step": 1021 + }, + { + "epoch": 0.06280727630285153, + "grad_norm": 34.5, + "learning_rate": 1.3613333333333334e-05, + "loss": 0.7499, + "step": 1022 + }, + { + "epoch": 0.06286873156342183, + "grad_norm": 23.0, + "learning_rate": 1.3626666666666668e-05, + "loss": 0.6823, + "step": 1023 + }, + { + "epoch": 0.06293018682399214, + "grad_norm": 24.625, + "learning_rate": 1.3640000000000002e-05, + "loss": 0.6845, + "step": 1024 + }, + { + "epoch": 0.06299164208456244, + "grad_norm": 35.0, + "learning_rate": 1.3653333333333334e-05, + "loss": 0.7603, + "step": 1025 + }, + { + "epoch": 0.06305309734513274, + "grad_norm": 28.375, + "learning_rate": 1.3666666666666667e-05, + "loss": 0.7808, + "step": 1026 + }, + { + "epoch": 0.06311455260570305, + "grad_norm": 20.75, + "learning_rate": 1.3680000000000003e-05, + "loss": 0.6171, + "step": 1027 + }, + { + "epoch": 0.06317600786627335, + "grad_norm": 30.125, + "learning_rate": 1.3693333333333333e-05, + "loss": 0.549, + "step": 1028 + }, + { + "epoch": 0.06323746312684365, + "grad_norm": 23.5, + "learning_rate": 1.3706666666666669e-05, + "loss": 0.7087, + "step": 1029 + }, + { + "epoch": 0.06329891838741396, + "grad_norm": 18.875, + "learning_rate": 1.3720000000000002e-05, + "loss": 0.7751, + "step": 1030 + }, + { + "epoch": 0.06336037364798426, + "grad_norm": 18.125, + "learning_rate": 1.3733333333333335e-05, + "loss": 0.6164, + "step": 1031 + }, + { + "epoch": 0.06342182890855458, + "grad_norm": 19.0, + "learning_rate": 1.3746666666666668e-05, + "loss": 0.5633, + "step": 1032 + }, + { + "epoch": 0.06348328416912488, + "grad_norm": 21.75, + "learning_rate": 1.376e-05, + "loss": 0.649, + "step": 1033 + }, + { + "epoch": 0.06354473942969519, + "grad_norm": 24.5, + "learning_rate": 1.3773333333333334e-05, + "loss": 0.764, + "step": 1034 + }, + { + "epoch": 0.06360619469026549, + "grad_norm": 46.5, + "learning_rate": 1.3786666666666668e-05, + "loss": 0.5924, + "step": 1035 + }, + { + "epoch": 0.06366764995083579, + "grad_norm": 32.5, + "learning_rate": 1.38e-05, + "loss": 0.6562, + "step": 1036 + }, + { + "epoch": 0.0637291052114061, + "grad_norm": 43.0, + "learning_rate": 1.3813333333333334e-05, + "loss": 0.731, + "step": 1037 + }, + { + "epoch": 0.0637905604719764, + "grad_norm": 25.375, + "learning_rate": 1.3826666666666668e-05, + "loss": 0.4474, + "step": 1038 + }, + { + "epoch": 0.0638520157325467, + "grad_norm": 29.5, + "learning_rate": 1.384e-05, + "loss": 0.5407, + "step": 1039 + }, + { + "epoch": 0.063913470993117, + "grad_norm": 17.75, + "learning_rate": 1.3853333333333333e-05, + "loss": 0.562, + "step": 1040 + }, + { + "epoch": 0.06397492625368732, + "grad_norm": 73.0, + "learning_rate": 1.3866666666666669e-05, + "loss": 0.6734, + "step": 1041 + }, + { + "epoch": 0.06403638151425763, + "grad_norm": 53.5, + "learning_rate": 1.3880000000000001e-05, + "loss": 0.9431, + "step": 1042 + }, + { + "epoch": 0.06409783677482793, + "grad_norm": 13.625, + "learning_rate": 1.3893333333333335e-05, + "loss": 0.5406, + "step": 1043 + }, + { + "epoch": 0.06415929203539823, + "grad_norm": 60.5, + "learning_rate": 1.3906666666666668e-05, + "loss": 0.7386, + "step": 1044 + }, + { + "epoch": 0.06422074729596854, + "grad_norm": 74.5, + "learning_rate": 1.392e-05, + "loss": 0.6873, + "step": 1045 + }, + { + "epoch": 0.06428220255653884, + "grad_norm": 45.5, + "learning_rate": 1.3933333333333334e-05, + "loss": 0.5061, + "step": 1046 + }, + { + "epoch": 0.06434365781710914, + "grad_norm": 41.5, + "learning_rate": 1.3946666666666668e-05, + "loss": 0.6824, + "step": 1047 + }, + { + "epoch": 0.06440511307767945, + "grad_norm": 34.0, + "learning_rate": 1.396e-05, + "loss": 0.6991, + "step": 1048 + }, + { + "epoch": 0.06446656833824975, + "grad_norm": 25.125, + "learning_rate": 1.3973333333333334e-05, + "loss": 0.7031, + "step": 1049 + }, + { + "epoch": 0.06452802359882005, + "grad_norm": 40.0, + "learning_rate": 1.3986666666666668e-05, + "loss": 0.7898, + "step": 1050 + }, + { + "epoch": 0.06458947885939037, + "grad_norm": 17.25, + "learning_rate": 1.4e-05, + "loss": 0.6144, + "step": 1051 + }, + { + "epoch": 0.06465093411996067, + "grad_norm": 11.25, + "learning_rate": 1.4013333333333334e-05, + "loss": 0.5525, + "step": 1052 + }, + { + "epoch": 0.06471238938053098, + "grad_norm": 12.3125, + "learning_rate": 1.4026666666666669e-05, + "loss": 0.4986, + "step": 1053 + }, + { + "epoch": 0.06477384464110128, + "grad_norm": 26.625, + "learning_rate": 1.4040000000000001e-05, + "loss": 0.5708, + "step": 1054 + }, + { + "epoch": 0.06483529990167158, + "grad_norm": 61.0, + "learning_rate": 1.4053333333333335e-05, + "loss": 0.5904, + "step": 1055 + }, + { + "epoch": 0.06489675516224189, + "grad_norm": 16.125, + "learning_rate": 1.4066666666666669e-05, + "loss": 0.5787, + "step": 1056 + }, + { + "epoch": 0.06495821042281219, + "grad_norm": 32.75, + "learning_rate": 1.408e-05, + "loss": 0.5654, + "step": 1057 + }, + { + "epoch": 0.0650196656833825, + "grad_norm": 40.5, + "learning_rate": 1.4093333333333334e-05, + "loss": 0.4767, + "step": 1058 + }, + { + "epoch": 0.0650811209439528, + "grad_norm": 7.71875, + "learning_rate": 1.4106666666666668e-05, + "loss": 0.5948, + "step": 1059 + }, + { + "epoch": 0.0651425762045231, + "grad_norm": 22.5, + "learning_rate": 1.412e-05, + "loss": 0.5722, + "step": 1060 + }, + { + "epoch": 0.06520403146509342, + "grad_norm": 40.0, + "learning_rate": 1.4133333333333334e-05, + "loss": 0.5792, + "step": 1061 + }, + { + "epoch": 0.06526548672566372, + "grad_norm": 21.625, + "learning_rate": 1.4146666666666668e-05, + "loss": 0.5644, + "step": 1062 + }, + { + "epoch": 0.06532694198623402, + "grad_norm": 61.75, + "learning_rate": 1.416e-05, + "loss": 0.5862, + "step": 1063 + }, + { + "epoch": 0.06538839724680433, + "grad_norm": 91.0, + "learning_rate": 1.4173333333333334e-05, + "loss": 0.6101, + "step": 1064 + }, + { + "epoch": 0.06544985250737463, + "grad_norm": 69.5, + "learning_rate": 1.418666666666667e-05, + "loss": 0.6225, + "step": 1065 + }, + { + "epoch": 0.06551130776794493, + "grad_norm": 38.25, + "learning_rate": 1.4200000000000001e-05, + "loss": 0.7773, + "step": 1066 + }, + { + "epoch": 0.06557276302851524, + "grad_norm": 48.0, + "learning_rate": 1.4213333333333335e-05, + "loss": 0.7213, + "step": 1067 + }, + { + "epoch": 0.06563421828908554, + "grad_norm": 47.25, + "learning_rate": 1.4226666666666669e-05, + "loss": 0.7991, + "step": 1068 + }, + { + "epoch": 0.06569567354965584, + "grad_norm": 89.0, + "learning_rate": 1.4240000000000001e-05, + "loss": 0.7871, + "step": 1069 + }, + { + "epoch": 0.06575712881022616, + "grad_norm": 73.5, + "learning_rate": 1.4253333333333335e-05, + "loss": 0.7182, + "step": 1070 + }, + { + "epoch": 0.06581858407079647, + "grad_norm": 41.75, + "learning_rate": 1.4266666666666668e-05, + "loss": 0.6139, + "step": 1071 + }, + { + "epoch": 0.06588003933136677, + "grad_norm": 66.0, + "learning_rate": 1.428e-05, + "loss": 0.8248, + "step": 1072 + }, + { + "epoch": 0.06594149459193707, + "grad_norm": 72.5, + "learning_rate": 1.4293333333333334e-05, + "loss": 0.8806, + "step": 1073 + }, + { + "epoch": 0.06600294985250738, + "grad_norm": 54.75, + "learning_rate": 1.4306666666666668e-05, + "loss": 1.0585, + "step": 1074 + }, + { + "epoch": 0.06606440511307768, + "grad_norm": 24.625, + "learning_rate": 1.432e-05, + "loss": 0.6862, + "step": 1075 + }, + { + "epoch": 0.06612586037364798, + "grad_norm": 35.25, + "learning_rate": 1.4333333333333334e-05, + "loss": 0.7819, + "step": 1076 + }, + { + "epoch": 0.06618731563421829, + "grad_norm": 32.0, + "learning_rate": 1.434666666666667e-05, + "loss": 0.7898, + "step": 1077 + }, + { + "epoch": 0.06624877089478859, + "grad_norm": 29.625, + "learning_rate": 1.4360000000000001e-05, + "loss": 0.601, + "step": 1078 + }, + { + "epoch": 0.06631022615535889, + "grad_norm": 28.5, + "learning_rate": 1.4373333333333335e-05, + "loss": 0.6504, + "step": 1079 + }, + { + "epoch": 0.06637168141592921, + "grad_norm": 30.25, + "learning_rate": 1.4386666666666669e-05, + "loss": 0.6407, + "step": 1080 + }, + { + "epoch": 0.06643313667649951, + "grad_norm": 21.625, + "learning_rate": 1.4400000000000001e-05, + "loss": 0.6019, + "step": 1081 + }, + { + "epoch": 0.06649459193706982, + "grad_norm": 18.75, + "learning_rate": 1.4413333333333335e-05, + "loss": 0.7393, + "step": 1082 + }, + { + "epoch": 0.06655604719764012, + "grad_norm": 21.75, + "learning_rate": 1.4426666666666669e-05, + "loss": 0.5901, + "step": 1083 + }, + { + "epoch": 0.06661750245821042, + "grad_norm": 26.25, + "learning_rate": 1.444e-05, + "loss": 0.5716, + "step": 1084 + }, + { + "epoch": 0.06667895771878073, + "grad_norm": 20.375, + "learning_rate": 1.4453333333333334e-05, + "loss": 0.5058, + "step": 1085 + }, + { + "epoch": 0.06674041297935103, + "grad_norm": 18.375, + "learning_rate": 1.4466666666666668e-05, + "loss": 0.6311, + "step": 1086 + }, + { + "epoch": 0.06680186823992133, + "grad_norm": 11.25, + "learning_rate": 1.448e-05, + "loss": 0.4169, + "step": 1087 + }, + { + "epoch": 0.06686332350049164, + "grad_norm": 10.625, + "learning_rate": 1.4493333333333334e-05, + "loss": 0.4954, + "step": 1088 + }, + { + "epoch": 0.06692477876106195, + "grad_norm": 32.0, + "learning_rate": 1.450666666666667e-05, + "loss": 0.7037, + "step": 1089 + }, + { + "epoch": 0.06698623402163226, + "grad_norm": 21.375, + "learning_rate": 1.4520000000000002e-05, + "loss": 0.7401, + "step": 1090 + }, + { + "epoch": 0.06704768928220256, + "grad_norm": 7.625, + "learning_rate": 1.4533333333333335e-05, + "loss": 0.6295, + "step": 1091 + }, + { + "epoch": 0.06710914454277286, + "grad_norm": 56.0, + "learning_rate": 1.4546666666666669e-05, + "loss": 0.637, + "step": 1092 + }, + { + "epoch": 0.06717059980334317, + "grad_norm": 56.75, + "learning_rate": 1.4560000000000001e-05, + "loss": 0.6713, + "step": 1093 + }, + { + "epoch": 0.06723205506391347, + "grad_norm": 31.125, + "learning_rate": 1.4573333333333335e-05, + "loss": 0.4808, + "step": 1094 + }, + { + "epoch": 0.06729351032448377, + "grad_norm": 16.5, + "learning_rate": 1.4586666666666667e-05, + "loss": 0.3933, + "step": 1095 + }, + { + "epoch": 0.06735496558505408, + "grad_norm": 36.0, + "learning_rate": 1.46e-05, + "loss": 0.4986, + "step": 1096 + }, + { + "epoch": 0.06741642084562438, + "grad_norm": 50.75, + "learning_rate": 1.4613333333333335e-05, + "loss": 0.5888, + "step": 1097 + }, + { + "epoch": 0.06747787610619468, + "grad_norm": 91.0, + "learning_rate": 1.4626666666666667e-05, + "loss": 0.7183, + "step": 1098 + }, + { + "epoch": 0.067539331366765, + "grad_norm": 64.5, + "learning_rate": 1.464e-05, + "loss": 0.7257, + "step": 1099 + }, + { + "epoch": 0.0676007866273353, + "grad_norm": 48.75, + "learning_rate": 1.4653333333333334e-05, + "loss": 0.8161, + "step": 1100 + }, + { + "epoch": 0.06766224188790561, + "grad_norm": 34.25, + "learning_rate": 1.4666666666666666e-05, + "loss": 0.7636, + "step": 1101 + }, + { + "epoch": 0.06772369714847591, + "grad_norm": 45.75, + "learning_rate": 1.4680000000000002e-05, + "loss": 0.6096, + "step": 1102 + }, + { + "epoch": 0.06778515240904621, + "grad_norm": 38.75, + "learning_rate": 1.4693333333333336e-05, + "loss": 0.7142, + "step": 1103 + }, + { + "epoch": 0.06784660766961652, + "grad_norm": 34.0, + "learning_rate": 1.4706666666666668e-05, + "loss": 0.6443, + "step": 1104 + }, + { + "epoch": 0.06790806293018682, + "grad_norm": 51.5, + "learning_rate": 1.4720000000000001e-05, + "loss": 0.7447, + "step": 1105 + }, + { + "epoch": 0.06796951819075712, + "grad_norm": 37.25, + "learning_rate": 1.4733333333333335e-05, + "loss": 0.8298, + "step": 1106 + }, + { + "epoch": 0.06803097345132743, + "grad_norm": 40.75, + "learning_rate": 1.4746666666666667e-05, + "loss": 0.7638, + "step": 1107 + }, + { + "epoch": 0.06809242871189773, + "grad_norm": 58.75, + "learning_rate": 1.4760000000000001e-05, + "loss": 0.7746, + "step": 1108 + }, + { + "epoch": 0.06815388397246805, + "grad_norm": 43.5, + "learning_rate": 1.4773333333333335e-05, + "loss": 0.9173, + "step": 1109 + }, + { + "epoch": 0.06821533923303835, + "grad_norm": 32.0, + "learning_rate": 1.4786666666666667e-05, + "loss": 0.7881, + "step": 1110 + }, + { + "epoch": 0.06827679449360866, + "grad_norm": 35.5, + "learning_rate": 1.48e-05, + "loss": 0.735, + "step": 1111 + }, + { + "epoch": 0.06833824975417896, + "grad_norm": 21.25, + "learning_rate": 1.4813333333333334e-05, + "loss": 0.6729, + "step": 1112 + }, + { + "epoch": 0.06839970501474926, + "grad_norm": 20.5, + "learning_rate": 1.4826666666666666e-05, + "loss": 1.0147, + "step": 1113 + }, + { + "epoch": 0.06846116027531957, + "grad_norm": 30.125, + "learning_rate": 1.4840000000000002e-05, + "loss": 0.9717, + "step": 1114 + }, + { + "epoch": 0.06852261553588987, + "grad_norm": 36.5, + "learning_rate": 1.4853333333333336e-05, + "loss": 0.7154, + "step": 1115 + }, + { + "epoch": 0.06858407079646017, + "grad_norm": 44.25, + "learning_rate": 1.4866666666666668e-05, + "loss": 1.0762, + "step": 1116 + }, + { + "epoch": 0.06864552605703048, + "grad_norm": 42.5, + "learning_rate": 1.4880000000000002e-05, + "loss": 0.8782, + "step": 1117 + }, + { + "epoch": 0.0687069813176008, + "grad_norm": 39.75, + "learning_rate": 1.4893333333333335e-05, + "loss": 0.9667, + "step": 1118 + }, + { + "epoch": 0.0687684365781711, + "grad_norm": 32.75, + "learning_rate": 1.4906666666666667e-05, + "loss": 0.8376, + "step": 1119 + }, + { + "epoch": 0.0688298918387414, + "grad_norm": 38.25, + "learning_rate": 1.4920000000000001e-05, + "loss": 0.8856, + "step": 1120 + }, + { + "epoch": 0.0688913470993117, + "grad_norm": 40.5, + "learning_rate": 1.4933333333333335e-05, + "loss": 0.7576, + "step": 1121 + }, + { + "epoch": 0.068952802359882, + "grad_norm": 31.5, + "learning_rate": 1.4946666666666667e-05, + "loss": 0.5704, + "step": 1122 + }, + { + "epoch": 0.06901425762045231, + "grad_norm": 29.625, + "learning_rate": 1.496e-05, + "loss": 0.6238, + "step": 1123 + }, + { + "epoch": 0.06907571288102261, + "grad_norm": 28.375, + "learning_rate": 1.4973333333333335e-05, + "loss": 0.6668, + "step": 1124 + }, + { + "epoch": 0.06913716814159292, + "grad_norm": 35.5, + "learning_rate": 1.4986666666666667e-05, + "loss": 0.8984, + "step": 1125 + }, + { + "epoch": 0.06919862340216322, + "grad_norm": 27.125, + "learning_rate": 1.5000000000000002e-05, + "loss": 0.5605, + "step": 1126 + }, + { + "epoch": 0.06926007866273352, + "grad_norm": 33.75, + "learning_rate": 1.5013333333333336e-05, + "loss": 0.6231, + "step": 1127 + }, + { + "epoch": 0.06932153392330384, + "grad_norm": 27.5, + "learning_rate": 1.5026666666666668e-05, + "loss": 0.5572, + "step": 1128 + }, + { + "epoch": 0.06938298918387414, + "grad_norm": 41.0, + "learning_rate": 1.5040000000000002e-05, + "loss": 0.938, + "step": 1129 + }, + { + "epoch": 0.06944444444444445, + "grad_norm": 30.125, + "learning_rate": 1.5053333333333335e-05, + "loss": 0.6742, + "step": 1130 + }, + { + "epoch": 0.06950589970501475, + "grad_norm": 7.71875, + "learning_rate": 1.5066666666666668e-05, + "loss": 0.657, + "step": 1131 + }, + { + "epoch": 0.06956735496558505, + "grad_norm": 46.0, + "learning_rate": 1.5080000000000001e-05, + "loss": 0.7191, + "step": 1132 + }, + { + "epoch": 0.06962881022615536, + "grad_norm": 25.625, + "learning_rate": 1.5093333333333335e-05, + "loss": 0.7605, + "step": 1133 + }, + { + "epoch": 0.06969026548672566, + "grad_norm": 38.0, + "learning_rate": 1.5106666666666667e-05, + "loss": 0.6979, + "step": 1134 + }, + { + "epoch": 0.06975172074729596, + "grad_norm": 34.25, + "learning_rate": 1.5120000000000001e-05, + "loss": 0.7091, + "step": 1135 + }, + { + "epoch": 0.06981317600786627, + "grad_norm": 32.25, + "learning_rate": 1.5133333333333335e-05, + "loss": 0.5476, + "step": 1136 + }, + { + "epoch": 0.06987463126843659, + "grad_norm": 26.375, + "learning_rate": 1.5146666666666667e-05, + "loss": 0.6273, + "step": 1137 + }, + { + "epoch": 0.06993608652900689, + "grad_norm": 30.875, + "learning_rate": 1.516e-05, + "loss": 0.8992, + "step": 1138 + }, + { + "epoch": 0.06999754178957719, + "grad_norm": 30.25, + "learning_rate": 1.5173333333333336e-05, + "loss": 0.87, + "step": 1139 + }, + { + "epoch": 0.0700589970501475, + "grad_norm": 53.0, + "learning_rate": 1.5186666666666668e-05, + "loss": 0.5385, + "step": 1140 + }, + { + "epoch": 0.0701204523107178, + "grad_norm": 55.25, + "learning_rate": 1.5200000000000002e-05, + "loss": 0.6953, + "step": 1141 + }, + { + "epoch": 0.0701819075712881, + "grad_norm": 21.25, + "learning_rate": 1.5213333333333336e-05, + "loss": 0.4616, + "step": 1142 + }, + { + "epoch": 0.0702433628318584, + "grad_norm": 32.25, + "learning_rate": 1.5226666666666668e-05, + "loss": 0.6059, + "step": 1143 + }, + { + "epoch": 0.07030481809242871, + "grad_norm": 36.25, + "learning_rate": 1.5240000000000001e-05, + "loss": 0.6232, + "step": 1144 + }, + { + "epoch": 0.07036627335299901, + "grad_norm": 51.5, + "learning_rate": 1.5253333333333335e-05, + "loss": 0.6747, + "step": 1145 + }, + { + "epoch": 0.07042772861356932, + "grad_norm": 23.625, + "learning_rate": 1.5266666666666667e-05, + "loss": 0.6227, + "step": 1146 + }, + { + "epoch": 0.07048918387413963, + "grad_norm": 19.375, + "learning_rate": 1.5280000000000003e-05, + "loss": 0.6565, + "step": 1147 + }, + { + "epoch": 0.07055063913470994, + "grad_norm": 48.5, + "learning_rate": 1.5293333333333335e-05, + "loss": 0.5863, + "step": 1148 + }, + { + "epoch": 0.07061209439528024, + "grad_norm": 37.25, + "learning_rate": 1.5306666666666667e-05, + "loss": 0.5731, + "step": 1149 + }, + { + "epoch": 0.07067354965585054, + "grad_norm": 48.0, + "learning_rate": 1.5320000000000002e-05, + "loss": 0.6599, + "step": 1150 + }, + { + "epoch": 0.07073500491642085, + "grad_norm": 42.0, + "learning_rate": 1.5333333333333334e-05, + "loss": 0.6357, + "step": 1151 + }, + { + "epoch": 0.07079646017699115, + "grad_norm": 35.25, + "learning_rate": 1.5346666666666667e-05, + "loss": 0.7379, + "step": 1152 + }, + { + "epoch": 0.07085791543756145, + "grad_norm": 23.125, + "learning_rate": 1.5360000000000002e-05, + "loss": 0.7713, + "step": 1153 + }, + { + "epoch": 0.07091937069813176, + "grad_norm": 35.75, + "learning_rate": 1.5373333333333334e-05, + "loss": 0.7325, + "step": 1154 + }, + { + "epoch": 0.07098082595870206, + "grad_norm": 35.0, + "learning_rate": 1.5386666666666666e-05, + "loss": 0.7437, + "step": 1155 + }, + { + "epoch": 0.07104228121927236, + "grad_norm": 42.5, + "learning_rate": 1.54e-05, + "loss": 0.7071, + "step": 1156 + }, + { + "epoch": 0.07110373647984268, + "grad_norm": 45.0, + "learning_rate": 1.5413333333333337e-05, + "loss": 0.6112, + "step": 1157 + }, + { + "epoch": 0.07116519174041298, + "grad_norm": 54.0, + "learning_rate": 1.542666666666667e-05, + "loss": 0.685, + "step": 1158 + }, + { + "epoch": 0.07122664700098329, + "grad_norm": 43.0, + "learning_rate": 1.544e-05, + "loss": 0.6106, + "step": 1159 + }, + { + "epoch": 0.07128810226155359, + "grad_norm": 26.75, + "learning_rate": 1.5453333333333333e-05, + "loss": 0.534, + "step": 1160 + }, + { + "epoch": 0.0713495575221239, + "grad_norm": 46.25, + "learning_rate": 1.546666666666667e-05, + "loss": 0.6219, + "step": 1161 + }, + { + "epoch": 0.0714110127826942, + "grad_norm": 16.625, + "learning_rate": 1.548e-05, + "loss": 0.4795, + "step": 1162 + }, + { + "epoch": 0.0714724680432645, + "grad_norm": 58.5, + "learning_rate": 1.5493333333333333e-05, + "loss": 0.6535, + "step": 1163 + }, + { + "epoch": 0.0715339233038348, + "grad_norm": 21.0, + "learning_rate": 1.550666666666667e-05, + "loss": 0.6997, + "step": 1164 + }, + { + "epoch": 0.07159537856440511, + "grad_norm": 29.25, + "learning_rate": 1.552e-05, + "loss": 0.6972, + "step": 1165 + }, + { + "epoch": 0.07165683382497542, + "grad_norm": 32.0, + "learning_rate": 1.5533333333333333e-05, + "loss": 0.7933, + "step": 1166 + }, + { + "epoch": 0.07171828908554573, + "grad_norm": 12.875, + "learning_rate": 1.5546666666666668e-05, + "loss": 0.6228, + "step": 1167 + }, + { + "epoch": 0.07177974434611603, + "grad_norm": 36.0, + "learning_rate": 1.556e-05, + "loss": 0.5528, + "step": 1168 + }, + { + "epoch": 0.07184119960668633, + "grad_norm": 20.375, + "learning_rate": 1.5573333333333332e-05, + "loss": 0.6039, + "step": 1169 + }, + { + "epoch": 0.07190265486725664, + "grad_norm": 22.625, + "learning_rate": 1.5586666666666668e-05, + "loss": 0.5609, + "step": 1170 + }, + { + "epoch": 0.07196411012782694, + "grad_norm": 7.78125, + "learning_rate": 1.5600000000000003e-05, + "loss": 0.4003, + "step": 1171 + }, + { + "epoch": 0.07202556538839724, + "grad_norm": 25.0, + "learning_rate": 1.5613333333333335e-05, + "loss": 0.3726, + "step": 1172 + }, + { + "epoch": 0.07208702064896755, + "grad_norm": 46.25, + "learning_rate": 1.5626666666666667e-05, + "loss": 0.462, + "step": 1173 + }, + { + "epoch": 0.07214847590953785, + "grad_norm": 50.25, + "learning_rate": 1.5640000000000003e-05, + "loss": 0.4438, + "step": 1174 + }, + { + "epoch": 0.07220993117010815, + "grad_norm": 16.875, + "learning_rate": 1.5653333333333335e-05, + "loss": 0.4034, + "step": 1175 + }, + { + "epoch": 0.07227138643067847, + "grad_norm": 27.125, + "learning_rate": 1.5666666666666667e-05, + "loss": 0.4843, + "step": 1176 + }, + { + "epoch": 0.07233284169124878, + "grad_norm": 60.5, + "learning_rate": 1.5680000000000002e-05, + "loss": 0.6719, + "step": 1177 + }, + { + "epoch": 0.07239429695181908, + "grad_norm": 34.5, + "learning_rate": 1.5693333333333334e-05, + "loss": 0.7294, + "step": 1178 + }, + { + "epoch": 0.07245575221238938, + "grad_norm": 30.625, + "learning_rate": 1.5706666666666666e-05, + "loss": 0.5936, + "step": 1179 + }, + { + "epoch": 0.07251720747295969, + "grad_norm": 68.0, + "learning_rate": 1.5720000000000002e-05, + "loss": 0.67, + "step": 1180 + }, + { + "epoch": 0.07257866273352999, + "grad_norm": 38.25, + "learning_rate": 1.5733333333333334e-05, + "loss": 0.5604, + "step": 1181 + }, + { + "epoch": 0.07264011799410029, + "grad_norm": 67.0, + "learning_rate": 1.574666666666667e-05, + "loss": 0.5524, + "step": 1182 + }, + { + "epoch": 0.0727015732546706, + "grad_norm": 67.0, + "learning_rate": 1.576e-05, + "loss": 0.4872, + "step": 1183 + }, + { + "epoch": 0.0727630285152409, + "grad_norm": 26.875, + "learning_rate": 1.5773333333333334e-05, + "loss": 0.495, + "step": 1184 + }, + { + "epoch": 0.07282448377581122, + "grad_norm": 72.0, + "learning_rate": 1.578666666666667e-05, + "loss": 0.8087, + "step": 1185 + }, + { + "epoch": 0.07288593903638152, + "grad_norm": 40.5, + "learning_rate": 1.58e-05, + "loss": 0.8484, + "step": 1186 + }, + { + "epoch": 0.07294739429695182, + "grad_norm": 30.75, + "learning_rate": 1.5813333333333333e-05, + "loss": 0.8589, + "step": 1187 + }, + { + "epoch": 0.07300884955752213, + "grad_norm": 39.75, + "learning_rate": 1.582666666666667e-05, + "loss": 0.7581, + "step": 1188 + }, + { + "epoch": 0.07307030481809243, + "grad_norm": 23.375, + "learning_rate": 1.584e-05, + "loss": 0.729, + "step": 1189 + }, + { + "epoch": 0.07313176007866273, + "grad_norm": 13.0625, + "learning_rate": 1.5853333333333333e-05, + "loss": 0.6175, + "step": 1190 + }, + { + "epoch": 0.07319321533923304, + "grad_norm": 37.5, + "learning_rate": 1.586666666666667e-05, + "loss": 0.5987, + "step": 1191 + }, + { + "epoch": 0.07325467059980334, + "grad_norm": 49.0, + "learning_rate": 1.588e-05, + "loss": 0.7068, + "step": 1192 + }, + { + "epoch": 0.07331612586037364, + "grad_norm": 42.5, + "learning_rate": 1.5893333333333333e-05, + "loss": 0.8008, + "step": 1193 + }, + { + "epoch": 0.07337758112094395, + "grad_norm": 50.25, + "learning_rate": 1.5906666666666668e-05, + "loss": 0.7017, + "step": 1194 + }, + { + "epoch": 0.07343903638151426, + "grad_norm": 28.5, + "learning_rate": 1.5920000000000003e-05, + "loss": 0.6605, + "step": 1195 + }, + { + "epoch": 0.07350049164208457, + "grad_norm": 21.875, + "learning_rate": 1.5933333333333336e-05, + "loss": 0.527, + "step": 1196 + }, + { + "epoch": 0.07356194690265487, + "grad_norm": 24.25, + "learning_rate": 1.5946666666666668e-05, + "loss": 0.5601, + "step": 1197 + }, + { + "epoch": 0.07362340216322517, + "grad_norm": 42.0, + "learning_rate": 1.5960000000000003e-05, + "loss": 0.5686, + "step": 1198 + }, + { + "epoch": 0.07368485742379548, + "grad_norm": 26.125, + "learning_rate": 1.5973333333333335e-05, + "loss": 0.5352, + "step": 1199 + }, + { + "epoch": 0.07374631268436578, + "grad_norm": 12.25, + "learning_rate": 1.5986666666666667e-05, + "loss": 0.4315, + "step": 1200 + }, + { + "epoch": 0.07380776794493608, + "grad_norm": 26.0, + "learning_rate": 1.6000000000000003e-05, + "loss": 0.7356, + "step": 1201 + }, + { + "epoch": 0.07386922320550639, + "grad_norm": 33.75, + "learning_rate": 1.6013333333333335e-05, + "loss": 0.6635, + "step": 1202 + }, + { + "epoch": 0.07393067846607669, + "grad_norm": 19.25, + "learning_rate": 1.6026666666666667e-05, + "loss": 0.6158, + "step": 1203 + }, + { + "epoch": 0.073992133726647, + "grad_norm": 28.0, + "learning_rate": 1.6040000000000002e-05, + "loss": 0.7113, + "step": 1204 + }, + { + "epoch": 0.07405358898721731, + "grad_norm": 26.75, + "learning_rate": 1.6053333333333334e-05, + "loss": 0.6945, + "step": 1205 + }, + { + "epoch": 0.07411504424778761, + "grad_norm": 17.75, + "learning_rate": 1.606666666666667e-05, + "loss": 0.5829, + "step": 1206 + }, + { + "epoch": 0.07417649950835792, + "grad_norm": 23.75, + "learning_rate": 1.6080000000000002e-05, + "loss": 0.6567, + "step": 1207 + }, + { + "epoch": 0.07423795476892822, + "grad_norm": 21.75, + "learning_rate": 1.6093333333333334e-05, + "loss": 0.5667, + "step": 1208 + }, + { + "epoch": 0.07429941002949852, + "grad_norm": 40.75, + "learning_rate": 1.610666666666667e-05, + "loss": 1.02, + "step": 1209 + }, + { + "epoch": 0.07436086529006883, + "grad_norm": 32.25, + "learning_rate": 1.612e-05, + "loss": 0.8284, + "step": 1210 + }, + { + "epoch": 0.07442232055063913, + "grad_norm": 16.375, + "learning_rate": 1.6133333333333334e-05, + "loss": 0.6401, + "step": 1211 + }, + { + "epoch": 0.07448377581120944, + "grad_norm": 21.125, + "learning_rate": 1.614666666666667e-05, + "loss": 0.6497, + "step": 1212 + }, + { + "epoch": 0.07454523107177974, + "grad_norm": 18.0, + "learning_rate": 1.616e-05, + "loss": 0.6779, + "step": 1213 + }, + { + "epoch": 0.07460668633235006, + "grad_norm": 38.0, + "learning_rate": 1.6173333333333333e-05, + "loss": 0.944, + "step": 1214 + }, + { + "epoch": 0.07466814159292036, + "grad_norm": 19.0, + "learning_rate": 1.618666666666667e-05, + "loss": 0.7312, + "step": 1215 + }, + { + "epoch": 0.07472959685349066, + "grad_norm": 13.25, + "learning_rate": 1.62e-05, + "loss": 0.4905, + "step": 1216 + }, + { + "epoch": 0.07479105211406097, + "grad_norm": 41.5, + "learning_rate": 1.6213333333333333e-05, + "loss": 0.8054, + "step": 1217 + }, + { + "epoch": 0.07485250737463127, + "grad_norm": 29.625, + "learning_rate": 1.6226666666666668e-05, + "loss": 0.6629, + "step": 1218 + }, + { + "epoch": 0.07491396263520157, + "grad_norm": 16.375, + "learning_rate": 1.6240000000000004e-05, + "loss": 0.661, + "step": 1219 + }, + { + "epoch": 0.07497541789577188, + "grad_norm": 33.25, + "learning_rate": 1.6253333333333336e-05, + "loss": 0.5849, + "step": 1220 + }, + { + "epoch": 0.07503687315634218, + "grad_norm": 54.75, + "learning_rate": 1.6266666666666668e-05, + "loss": 0.7616, + "step": 1221 + }, + { + "epoch": 0.07509832841691248, + "grad_norm": 38.25, + "learning_rate": 1.628e-05, + "loss": 0.6739, + "step": 1222 + }, + { + "epoch": 0.07515978367748279, + "grad_norm": 39.5, + "learning_rate": 1.6293333333333335e-05, + "loss": 0.7668, + "step": 1223 + }, + { + "epoch": 0.0752212389380531, + "grad_norm": 31.125, + "learning_rate": 1.6306666666666668e-05, + "loss": 0.4427, + "step": 1224 + }, + { + "epoch": 0.0752826941986234, + "grad_norm": 25.125, + "learning_rate": 1.632e-05, + "loss": 0.5461, + "step": 1225 + }, + { + "epoch": 0.07534414945919371, + "grad_norm": 29.25, + "learning_rate": 1.6333333333333335e-05, + "loss": 0.7374, + "step": 1226 + }, + { + "epoch": 0.07540560471976401, + "grad_norm": 17.75, + "learning_rate": 1.6346666666666667e-05, + "loss": 0.5886, + "step": 1227 + }, + { + "epoch": 0.07546705998033432, + "grad_norm": 23.25, + "learning_rate": 1.636e-05, + "loss": 0.54, + "step": 1228 + }, + { + "epoch": 0.07552851524090462, + "grad_norm": 18.625, + "learning_rate": 1.6373333333333335e-05, + "loss": 0.5391, + "step": 1229 + }, + { + "epoch": 0.07558997050147492, + "grad_norm": 18.5, + "learning_rate": 1.638666666666667e-05, + "loss": 0.569, + "step": 1230 + }, + { + "epoch": 0.07565142576204523, + "grad_norm": 25.375, + "learning_rate": 1.64e-05, + "loss": 0.5415, + "step": 1231 + }, + { + "epoch": 0.07571288102261553, + "grad_norm": 21.125, + "learning_rate": 1.6413333333333334e-05, + "loss": 0.5971, + "step": 1232 + }, + { + "epoch": 0.07577433628318585, + "grad_norm": 33.0, + "learning_rate": 1.642666666666667e-05, + "loss": 0.7882, + "step": 1233 + }, + { + "epoch": 0.07583579154375615, + "grad_norm": 35.25, + "learning_rate": 1.6440000000000002e-05, + "loss": 1.0296, + "step": 1234 + }, + { + "epoch": 0.07589724680432645, + "grad_norm": 29.0, + "learning_rate": 1.6453333333333334e-05, + "loss": 1.0611, + "step": 1235 + }, + { + "epoch": 0.07595870206489676, + "grad_norm": 35.0, + "learning_rate": 1.646666666666667e-05, + "loss": 0.8196, + "step": 1236 + }, + { + "epoch": 0.07602015732546706, + "grad_norm": 57.25, + "learning_rate": 1.648e-05, + "loss": 0.9906, + "step": 1237 + }, + { + "epoch": 0.07608161258603736, + "grad_norm": 17.125, + "learning_rate": 1.6493333333333334e-05, + "loss": 0.72, + "step": 1238 + }, + { + "epoch": 0.07614306784660767, + "grad_norm": 19.5, + "learning_rate": 1.650666666666667e-05, + "loss": 0.6491, + "step": 1239 + }, + { + "epoch": 0.07620452310717797, + "grad_norm": 18.875, + "learning_rate": 1.652e-05, + "loss": 0.6304, + "step": 1240 + }, + { + "epoch": 0.07626597836774827, + "grad_norm": 13.6875, + "learning_rate": 1.6533333333333333e-05, + "loss": 0.7159, + "step": 1241 + }, + { + "epoch": 0.07632743362831858, + "grad_norm": 22.125, + "learning_rate": 1.654666666666667e-05, + "loss": 0.6239, + "step": 1242 + }, + { + "epoch": 0.0763888888888889, + "grad_norm": 24.375, + "learning_rate": 1.656e-05, + "loss": 0.7342, + "step": 1243 + }, + { + "epoch": 0.0764503441494592, + "grad_norm": 15.6875, + "learning_rate": 1.6573333333333336e-05, + "loss": 0.5269, + "step": 1244 + }, + { + "epoch": 0.0765117994100295, + "grad_norm": 18.25, + "learning_rate": 1.6586666666666668e-05, + "loss": 0.4487, + "step": 1245 + }, + { + "epoch": 0.0765732546705998, + "grad_norm": 10.5, + "learning_rate": 1.66e-05, + "loss": 0.5805, + "step": 1246 + }, + { + "epoch": 0.07663470993117011, + "grad_norm": 27.625, + "learning_rate": 1.6613333333333336e-05, + "loss": 0.551, + "step": 1247 + }, + { + "epoch": 0.07669616519174041, + "grad_norm": 7.28125, + "learning_rate": 1.6626666666666668e-05, + "loss": 0.3734, + "step": 1248 + }, + { + "epoch": 0.07675762045231072, + "grad_norm": 27.0, + "learning_rate": 1.664e-05, + "loss": 0.5799, + "step": 1249 + }, + { + "epoch": 0.07681907571288102, + "grad_norm": 25.0, + "learning_rate": 1.6653333333333335e-05, + "loss": 0.4928, + "step": 1250 + }, + { + "epoch": 0.07688053097345132, + "grad_norm": 39.0, + "learning_rate": 1.6666666666666667e-05, + "loss": 0.5519, + "step": 1251 + }, + { + "epoch": 0.07694198623402163, + "grad_norm": 28.125, + "learning_rate": 1.668e-05, + "loss": 0.5392, + "step": 1252 + }, + { + "epoch": 0.07700344149459194, + "grad_norm": 20.375, + "learning_rate": 1.6693333333333335e-05, + "loss": 0.5647, + "step": 1253 + }, + { + "epoch": 0.07706489675516225, + "grad_norm": 40.25, + "learning_rate": 1.670666666666667e-05, + "loss": 0.6763, + "step": 1254 + }, + { + "epoch": 0.07712635201573255, + "grad_norm": 34.25, + "learning_rate": 1.672e-05, + "loss": 0.4502, + "step": 1255 + }, + { + "epoch": 0.07718780727630285, + "grad_norm": 8.75, + "learning_rate": 1.6733333333333335e-05, + "loss": 0.5004, + "step": 1256 + }, + { + "epoch": 0.07724926253687316, + "grad_norm": 94.5, + "learning_rate": 1.674666666666667e-05, + "loss": 0.9472, + "step": 1257 + }, + { + "epoch": 0.07731071779744346, + "grad_norm": 74.0, + "learning_rate": 1.6760000000000002e-05, + "loss": 0.8513, + "step": 1258 + }, + { + "epoch": 0.07737217305801376, + "grad_norm": 34.75, + "learning_rate": 1.6773333333333334e-05, + "loss": 0.8647, + "step": 1259 + }, + { + "epoch": 0.07743362831858407, + "grad_norm": 37.5, + "learning_rate": 1.678666666666667e-05, + "loss": 0.7916, + "step": 1260 + }, + { + "epoch": 0.07749508357915437, + "grad_norm": 35.0, + "learning_rate": 1.6800000000000002e-05, + "loss": 0.7195, + "step": 1261 + }, + { + "epoch": 0.07755653883972469, + "grad_norm": 45.25, + "learning_rate": 1.6813333333333334e-05, + "loss": 0.8831, + "step": 1262 + }, + { + "epoch": 0.07761799410029499, + "grad_norm": 35.25, + "learning_rate": 1.682666666666667e-05, + "loss": 0.5772, + "step": 1263 + }, + { + "epoch": 0.0776794493608653, + "grad_norm": 13.9375, + "learning_rate": 1.684e-05, + "loss": 0.5639, + "step": 1264 + }, + { + "epoch": 0.0777409046214356, + "grad_norm": 39.0, + "learning_rate": 1.6853333333333333e-05, + "loss": 0.6101, + "step": 1265 + }, + { + "epoch": 0.0778023598820059, + "grad_norm": 20.75, + "learning_rate": 1.686666666666667e-05, + "loss": 0.8422, + "step": 1266 + }, + { + "epoch": 0.0778638151425762, + "grad_norm": 36.25, + "learning_rate": 1.688e-05, + "loss": 0.7107, + "step": 1267 + }, + { + "epoch": 0.07792527040314651, + "grad_norm": 32.0, + "learning_rate": 1.6893333333333336e-05, + "loss": 0.6155, + "step": 1268 + }, + { + "epoch": 0.07798672566371681, + "grad_norm": 36.75, + "learning_rate": 1.690666666666667e-05, + "loss": 0.6383, + "step": 1269 + }, + { + "epoch": 0.07804818092428711, + "grad_norm": 29.125, + "learning_rate": 1.692e-05, + "loss": 0.6434, + "step": 1270 + }, + { + "epoch": 0.07810963618485742, + "grad_norm": 27.125, + "learning_rate": 1.6933333333333336e-05, + "loss": 0.4912, + "step": 1271 + }, + { + "epoch": 0.07817109144542773, + "grad_norm": 37.0, + "learning_rate": 1.6946666666666668e-05, + "loss": 0.5515, + "step": 1272 + }, + { + "epoch": 0.07823254670599804, + "grad_norm": 42.0, + "learning_rate": 1.696e-05, + "loss": 0.768, + "step": 1273 + }, + { + "epoch": 0.07829400196656834, + "grad_norm": 22.625, + "learning_rate": 1.6973333333333336e-05, + "loss": 0.8686, + "step": 1274 + }, + { + "epoch": 0.07835545722713864, + "grad_norm": 31.75, + "learning_rate": 1.6986666666666668e-05, + "loss": 0.8938, + "step": 1275 + }, + { + "epoch": 0.07841691248770895, + "grad_norm": 26.875, + "learning_rate": 1.7e-05, + "loss": 0.9088, + "step": 1276 + }, + { + "epoch": 0.07847836774827925, + "grad_norm": 34.5, + "learning_rate": 1.7013333333333335e-05, + "loss": 0.6139, + "step": 1277 + }, + { + "epoch": 0.07853982300884955, + "grad_norm": 17.375, + "learning_rate": 1.702666666666667e-05, + "loss": 0.4993, + "step": 1278 + }, + { + "epoch": 0.07860127826941986, + "grad_norm": 15.625, + "learning_rate": 1.704e-05, + "loss": 0.7102, + "step": 1279 + }, + { + "epoch": 0.07866273352999016, + "grad_norm": 11.5625, + "learning_rate": 1.7053333333333335e-05, + "loss": 0.6416, + "step": 1280 + }, + { + "epoch": 0.07872418879056048, + "grad_norm": 25.625, + "learning_rate": 1.706666666666667e-05, + "loss": 0.707, + "step": 1281 + }, + { + "epoch": 0.07878564405113078, + "grad_norm": 29.0, + "learning_rate": 1.7080000000000002e-05, + "loss": 0.8199, + "step": 1282 + }, + { + "epoch": 0.07884709931170109, + "grad_norm": 22.5, + "learning_rate": 1.7093333333333335e-05, + "loss": 0.7795, + "step": 1283 + }, + { + "epoch": 0.07890855457227139, + "grad_norm": 40.25, + "learning_rate": 1.7106666666666667e-05, + "loss": 0.5938, + "step": 1284 + }, + { + "epoch": 0.07897000983284169, + "grad_norm": 18.375, + "learning_rate": 1.7120000000000002e-05, + "loss": 0.6192, + "step": 1285 + }, + { + "epoch": 0.079031465093412, + "grad_norm": 34.75, + "learning_rate": 1.7133333333333334e-05, + "loss": 0.7148, + "step": 1286 + }, + { + "epoch": 0.0790929203539823, + "grad_norm": 10.375, + "learning_rate": 1.7146666666666666e-05, + "loss": 0.6218, + "step": 1287 + }, + { + "epoch": 0.0791543756145526, + "grad_norm": 33.75, + "learning_rate": 1.7160000000000002e-05, + "loss": 0.5906, + "step": 1288 + }, + { + "epoch": 0.0792158308751229, + "grad_norm": 23.75, + "learning_rate": 1.7173333333333334e-05, + "loss": 0.803, + "step": 1289 + }, + { + "epoch": 0.07927728613569321, + "grad_norm": 27.75, + "learning_rate": 1.7186666666666666e-05, + "loss": 0.5048, + "step": 1290 + }, + { + "epoch": 0.07933874139626353, + "grad_norm": 28.875, + "learning_rate": 1.72e-05, + "loss": 0.6709, + "step": 1291 + }, + { + "epoch": 0.07940019665683383, + "grad_norm": 24.5, + "learning_rate": 1.7213333333333337e-05, + "loss": 0.6672, + "step": 1292 + }, + { + "epoch": 0.07946165191740413, + "grad_norm": 23.5, + "learning_rate": 1.7226666666666665e-05, + "loss": 0.4858, + "step": 1293 + }, + { + "epoch": 0.07952310717797444, + "grad_norm": 18.875, + "learning_rate": 1.724e-05, + "loss": 0.5971, + "step": 1294 + }, + { + "epoch": 0.07958456243854474, + "grad_norm": 16.25, + "learning_rate": 1.7253333333333336e-05, + "loss": 0.5369, + "step": 1295 + }, + { + "epoch": 0.07964601769911504, + "grad_norm": 28.375, + "learning_rate": 1.726666666666667e-05, + "loss": 0.4849, + "step": 1296 + }, + { + "epoch": 0.07970747295968535, + "grad_norm": 29.25, + "learning_rate": 1.728e-05, + "loss": 0.5118, + "step": 1297 + }, + { + "epoch": 0.07976892822025565, + "grad_norm": 11.25, + "learning_rate": 1.7293333333333336e-05, + "loss": 0.4618, + "step": 1298 + }, + { + "epoch": 0.07983038348082595, + "grad_norm": 12.9375, + "learning_rate": 1.7306666666666668e-05, + "loss": 0.5113, + "step": 1299 + }, + { + "epoch": 0.07989183874139626, + "grad_norm": 31.875, + "learning_rate": 1.732e-05, + "loss": 0.4626, + "step": 1300 + }, + { + "epoch": 0.07995329400196657, + "grad_norm": 24.5, + "learning_rate": 1.7333333333333336e-05, + "loss": 0.5453, + "step": 1301 + }, + { + "epoch": 0.08001474926253688, + "grad_norm": 26.375, + "learning_rate": 1.7346666666666668e-05, + "loss": 0.4727, + "step": 1302 + }, + { + "epoch": 0.08007620452310718, + "grad_norm": 17.25, + "learning_rate": 1.736e-05, + "loss": 0.5201, + "step": 1303 + }, + { + "epoch": 0.08013765978367748, + "grad_norm": 10.25, + "learning_rate": 1.7373333333333335e-05, + "loss": 0.3878, + "step": 1304 + }, + { + "epoch": 0.08019911504424779, + "grad_norm": 54.5, + "learning_rate": 1.7386666666666667e-05, + "loss": 0.6364, + "step": 1305 + }, + { + "epoch": 0.08026057030481809, + "grad_norm": 18.5, + "learning_rate": 1.7400000000000003e-05, + "loss": 0.6689, + "step": 1306 + }, + { + "epoch": 0.0803220255653884, + "grad_norm": 10.6875, + "learning_rate": 1.7413333333333335e-05, + "loss": 0.5948, + "step": 1307 + }, + { + "epoch": 0.0803834808259587, + "grad_norm": 16.25, + "learning_rate": 1.7426666666666667e-05, + "loss": 0.7083, + "step": 1308 + }, + { + "epoch": 0.080444936086529, + "grad_norm": 36.5, + "learning_rate": 1.7440000000000002e-05, + "loss": 0.6281, + "step": 1309 + }, + { + "epoch": 0.08050639134709932, + "grad_norm": 26.25, + "learning_rate": 1.7453333333333335e-05, + "loss": 0.5585, + "step": 1310 + }, + { + "epoch": 0.08056784660766962, + "grad_norm": 15.1875, + "learning_rate": 1.7466666666666667e-05, + "loss": 0.386, + "step": 1311 + }, + { + "epoch": 0.08062930186823992, + "grad_norm": 24.125, + "learning_rate": 1.7480000000000002e-05, + "loss": 0.3992, + "step": 1312 + }, + { + "epoch": 0.08069075712881023, + "grad_norm": 45.0, + "learning_rate": 1.7493333333333334e-05, + "loss": 0.9013, + "step": 1313 + }, + { + "epoch": 0.08075221238938053, + "grad_norm": 29.875, + "learning_rate": 1.7506666666666666e-05, + "loss": 1.0279, + "step": 1314 + }, + { + "epoch": 0.08081366764995083, + "grad_norm": 21.125, + "learning_rate": 1.752e-05, + "loss": 0.7779, + "step": 1315 + }, + { + "epoch": 0.08087512291052114, + "grad_norm": 16.375, + "learning_rate": 1.7533333333333337e-05, + "loss": 0.6813, + "step": 1316 + }, + { + "epoch": 0.08093657817109144, + "grad_norm": 44.25, + "learning_rate": 1.7546666666666666e-05, + "loss": 0.9382, + "step": 1317 + }, + { + "epoch": 0.08099803343166175, + "grad_norm": 36.0, + "learning_rate": 1.756e-05, + "loss": 0.9156, + "step": 1318 + }, + { + "epoch": 0.08105948869223205, + "grad_norm": 13.4375, + "learning_rate": 1.7573333333333337e-05, + "loss": 0.746, + "step": 1319 + }, + { + "epoch": 0.08112094395280237, + "grad_norm": 12.5, + "learning_rate": 1.758666666666667e-05, + "loss": 0.5663, + "step": 1320 + }, + { + "epoch": 0.08118239921337267, + "grad_norm": 18.625, + "learning_rate": 1.76e-05, + "loss": 0.6666, + "step": 1321 + }, + { + "epoch": 0.08124385447394297, + "grad_norm": 9.9375, + "learning_rate": 1.7613333333333336e-05, + "loss": 0.5154, + "step": 1322 + }, + { + "epoch": 0.08130530973451328, + "grad_norm": 32.75, + "learning_rate": 1.762666666666667e-05, + "loss": 0.6638, + "step": 1323 + }, + { + "epoch": 0.08136676499508358, + "grad_norm": 15.625, + "learning_rate": 1.764e-05, + "loss": 0.5732, + "step": 1324 + }, + { + "epoch": 0.08142822025565388, + "grad_norm": 20.5, + "learning_rate": 1.7653333333333336e-05, + "loss": 0.5806, + "step": 1325 + }, + { + "epoch": 0.08148967551622419, + "grad_norm": 32.75, + "learning_rate": 1.7666666666666668e-05, + "loss": 0.6079, + "step": 1326 + }, + { + "epoch": 0.08155113077679449, + "grad_norm": 43.0, + "learning_rate": 1.768e-05, + "loss": 0.6406, + "step": 1327 + }, + { + "epoch": 0.08161258603736479, + "grad_norm": 25.5, + "learning_rate": 1.7693333333333336e-05, + "loss": 0.6069, + "step": 1328 + }, + { + "epoch": 0.08167404129793511, + "grad_norm": 26.25, + "learning_rate": 1.7706666666666668e-05, + "loss": 0.7652, + "step": 1329 + }, + { + "epoch": 0.08173549655850541, + "grad_norm": 21.125, + "learning_rate": 1.7720000000000003e-05, + "loss": 0.7136, + "step": 1330 + }, + { + "epoch": 0.08179695181907572, + "grad_norm": 46.0, + "learning_rate": 1.7733333333333335e-05, + "loss": 0.7269, + "step": 1331 + }, + { + "epoch": 0.08185840707964602, + "grad_norm": 58.5, + "learning_rate": 1.7746666666666667e-05, + "loss": 0.8524, + "step": 1332 + }, + { + "epoch": 0.08191986234021632, + "grad_norm": 19.375, + "learning_rate": 1.7760000000000003e-05, + "loss": 0.8192, + "step": 1333 + }, + { + "epoch": 0.08198131760078663, + "grad_norm": 35.25, + "learning_rate": 1.7773333333333335e-05, + "loss": 0.7183, + "step": 1334 + }, + { + "epoch": 0.08204277286135693, + "grad_norm": 24.5, + "learning_rate": 1.7786666666666667e-05, + "loss": 0.6622, + "step": 1335 + }, + { + "epoch": 0.08210422812192723, + "grad_norm": 27.375, + "learning_rate": 1.7800000000000002e-05, + "loss": 0.7104, + "step": 1336 + }, + { + "epoch": 0.08216568338249754, + "grad_norm": 39.0, + "learning_rate": 1.7813333333333334e-05, + "loss": 0.5864, + "step": 1337 + }, + { + "epoch": 0.08222713864306784, + "grad_norm": 21.875, + "learning_rate": 1.7826666666666667e-05, + "loss": 0.7185, + "step": 1338 + }, + { + "epoch": 0.08228859390363816, + "grad_norm": 22.5, + "learning_rate": 1.7840000000000002e-05, + "loss": 0.4773, + "step": 1339 + }, + { + "epoch": 0.08235004916420846, + "grad_norm": 31.375, + "learning_rate": 1.7853333333333337e-05, + "loss": 0.6331, + "step": 1340 + }, + { + "epoch": 0.08241150442477876, + "grad_norm": 25.75, + "learning_rate": 1.7866666666666666e-05, + "loss": 0.5024, + "step": 1341 + }, + { + "epoch": 0.08247295968534907, + "grad_norm": 24.125, + "learning_rate": 1.788e-05, + "loss": 0.5157, + "step": 1342 + }, + { + "epoch": 0.08253441494591937, + "grad_norm": 24.25, + "learning_rate": 1.7893333333333337e-05, + "loss": 0.6028, + "step": 1343 + }, + { + "epoch": 0.08259587020648967, + "grad_norm": 21.875, + "learning_rate": 1.790666666666667e-05, + "loss": 0.3299, + "step": 1344 + }, + { + "epoch": 0.08265732546705998, + "grad_norm": 25.5, + "learning_rate": 1.792e-05, + "loss": 0.4917, + "step": 1345 + }, + { + "epoch": 0.08271878072763028, + "grad_norm": 19.375, + "learning_rate": 1.7933333333333333e-05, + "loss": 0.6454, + "step": 1346 + }, + { + "epoch": 0.08278023598820058, + "grad_norm": 15.5, + "learning_rate": 1.794666666666667e-05, + "loss": 0.6313, + "step": 1347 + }, + { + "epoch": 0.08284169124877089, + "grad_norm": 27.25, + "learning_rate": 1.796e-05, + "loss": 0.7153, + "step": 1348 + }, + { + "epoch": 0.0829031465093412, + "grad_norm": 30.625, + "learning_rate": 1.7973333333333333e-05, + "loss": 0.5216, + "step": 1349 + }, + { + "epoch": 0.08296460176991151, + "grad_norm": 33.75, + "learning_rate": 1.798666666666667e-05, + "loss": 0.497, + "step": 1350 + }, + { + "epoch": 0.08302605703048181, + "grad_norm": 8.3125, + "learning_rate": 1.8e-05, + "loss": 0.4383, + "step": 1351 + }, + { + "epoch": 0.08308751229105212, + "grad_norm": 13.5625, + "learning_rate": 1.8013333333333333e-05, + "loss": 0.5304, + "step": 1352 + }, + { + "epoch": 0.08314896755162242, + "grad_norm": 30.125, + "learning_rate": 1.8026666666666668e-05, + "loss": 0.542, + "step": 1353 + }, + { + "epoch": 0.08321042281219272, + "grad_norm": 24.5, + "learning_rate": 1.8040000000000003e-05, + "loss": 0.6674, + "step": 1354 + }, + { + "epoch": 0.08327187807276303, + "grad_norm": 10.0, + "learning_rate": 1.8053333333333332e-05, + "loss": 0.6858, + "step": 1355 + }, + { + "epoch": 0.08333333333333333, + "grad_norm": 16.125, + "learning_rate": 1.8066666666666668e-05, + "loss": 0.6673, + "step": 1356 + }, + { + "epoch": 0.08339478859390363, + "grad_norm": 9.75, + "learning_rate": 1.8080000000000003e-05, + "loss": 0.4523, + "step": 1357 + }, + { + "epoch": 0.08345624385447395, + "grad_norm": 52.25, + "learning_rate": 1.8093333333333335e-05, + "loss": 0.7677, + "step": 1358 + }, + { + "epoch": 0.08351769911504425, + "grad_norm": 33.0, + "learning_rate": 1.8106666666666667e-05, + "loss": 0.4808, + "step": 1359 + }, + { + "epoch": 0.08357915437561456, + "grad_norm": 51.75, + "learning_rate": 1.8120000000000003e-05, + "loss": 0.8363, + "step": 1360 + }, + { + "epoch": 0.08364060963618486, + "grad_norm": 33.0, + "learning_rate": 1.8133333333333335e-05, + "loss": 0.636, + "step": 1361 + }, + { + "epoch": 0.08370206489675516, + "grad_norm": 11.5625, + "learning_rate": 1.8146666666666667e-05, + "loss": 0.6303, + "step": 1362 + }, + { + "epoch": 0.08376352015732547, + "grad_norm": 21.25, + "learning_rate": 1.8160000000000002e-05, + "loss": 0.6055, + "step": 1363 + }, + { + "epoch": 0.08382497541789577, + "grad_norm": 43.0, + "learning_rate": 1.8173333333333334e-05, + "loss": 0.6292, + "step": 1364 + }, + { + "epoch": 0.08388643067846607, + "grad_norm": 29.375, + "learning_rate": 1.8186666666666666e-05, + "loss": 0.6603, + "step": 1365 + }, + { + "epoch": 0.08394788593903638, + "grad_norm": 29.75, + "learning_rate": 1.8200000000000002e-05, + "loss": 0.5737, + "step": 1366 + }, + { + "epoch": 0.08400934119960668, + "grad_norm": 50.75, + "learning_rate": 1.8213333333333334e-05, + "loss": 0.7035, + "step": 1367 + }, + { + "epoch": 0.084070796460177, + "grad_norm": 76.5, + "learning_rate": 1.822666666666667e-05, + "loss": 0.5051, + "step": 1368 + }, + { + "epoch": 0.0841322517207473, + "grad_norm": 30.375, + "learning_rate": 1.824e-05, + "loss": 0.5556, + "step": 1369 + }, + { + "epoch": 0.0841937069813176, + "grad_norm": 6.84375, + "learning_rate": 1.8253333333333334e-05, + "loss": 0.4911, + "step": 1370 + }, + { + "epoch": 0.08425516224188791, + "grad_norm": 20.375, + "learning_rate": 1.826666666666667e-05, + "loss": 0.6677, + "step": 1371 + }, + { + "epoch": 0.08431661750245821, + "grad_norm": 31.5, + "learning_rate": 1.828e-05, + "loss": 0.5995, + "step": 1372 + }, + { + "epoch": 0.08437807276302851, + "grad_norm": 28.625, + "learning_rate": 1.8293333333333333e-05, + "loss": 0.5916, + "step": 1373 + }, + { + "epoch": 0.08443952802359882, + "grad_norm": 15.9375, + "learning_rate": 1.830666666666667e-05, + "loss": 0.3366, + "step": 1374 + }, + { + "epoch": 0.08450098328416912, + "grad_norm": 20.0, + "learning_rate": 1.832e-05, + "loss": 0.6325, + "step": 1375 + }, + { + "epoch": 0.08456243854473942, + "grad_norm": 54.75, + "learning_rate": 1.8333333333333333e-05, + "loss": 0.4333, + "step": 1376 + }, + { + "epoch": 0.08462389380530974, + "grad_norm": 37.5, + "learning_rate": 1.834666666666667e-05, + "loss": 0.8487, + "step": 1377 + }, + { + "epoch": 0.08468534906588004, + "grad_norm": 39.5, + "learning_rate": 1.8360000000000004e-05, + "loss": 1.3229, + "step": 1378 + }, + { + "epoch": 0.08474680432645035, + "grad_norm": 26.25, + "learning_rate": 1.8373333333333332e-05, + "loss": 0.9511, + "step": 1379 + }, + { + "epoch": 0.08480825958702065, + "grad_norm": 27.125, + "learning_rate": 1.8386666666666668e-05, + "loss": 0.9488, + "step": 1380 + }, + { + "epoch": 0.08486971484759095, + "grad_norm": 20.25, + "learning_rate": 1.8400000000000003e-05, + "loss": 0.89, + "step": 1381 + }, + { + "epoch": 0.08493117010816126, + "grad_norm": 15.4375, + "learning_rate": 1.8413333333333335e-05, + "loss": 0.7851, + "step": 1382 + }, + { + "epoch": 0.08499262536873156, + "grad_norm": 11.4375, + "learning_rate": 1.8426666666666668e-05, + "loss": 0.5351, + "step": 1383 + }, + { + "epoch": 0.08505408062930186, + "grad_norm": 16.0, + "learning_rate": 1.8440000000000003e-05, + "loss": 0.7284, + "step": 1384 + }, + { + "epoch": 0.08511553588987217, + "grad_norm": 20.875, + "learning_rate": 1.8453333333333335e-05, + "loss": 0.6495, + "step": 1385 + }, + { + "epoch": 0.08517699115044247, + "grad_norm": 16.25, + "learning_rate": 1.8466666666666667e-05, + "loss": 0.7219, + "step": 1386 + }, + { + "epoch": 0.08523844641101279, + "grad_norm": 16.375, + "learning_rate": 1.8480000000000003e-05, + "loss": 0.795, + "step": 1387 + }, + { + "epoch": 0.08529990167158309, + "grad_norm": 13.6875, + "learning_rate": 1.8493333333333335e-05, + "loss": 0.5516, + "step": 1388 + }, + { + "epoch": 0.0853613569321534, + "grad_norm": 57.25, + "learning_rate": 1.8506666666666667e-05, + "loss": 0.6733, + "step": 1389 + }, + { + "epoch": 0.0854228121927237, + "grad_norm": 11.8125, + "learning_rate": 1.8520000000000002e-05, + "loss": 0.5545, + "step": 1390 + }, + { + "epoch": 0.085484267453294, + "grad_norm": 24.875, + "learning_rate": 1.8533333333333334e-05, + "loss": 0.5134, + "step": 1391 + }, + { + "epoch": 0.0855457227138643, + "grad_norm": 15.3125, + "learning_rate": 1.854666666666667e-05, + "loss": 0.4192, + "step": 1392 + }, + { + "epoch": 0.08560717797443461, + "grad_norm": 49.75, + "learning_rate": 1.8560000000000002e-05, + "loss": 0.6455, + "step": 1393 + }, + { + "epoch": 0.08566863323500491, + "grad_norm": 49.75, + "learning_rate": 1.8573333333333334e-05, + "loss": 0.5704, + "step": 1394 + }, + { + "epoch": 0.08573008849557522, + "grad_norm": 24.875, + "learning_rate": 1.858666666666667e-05, + "loss": 0.6552, + "step": 1395 + }, + { + "epoch": 0.08579154375614553, + "grad_norm": 28.125, + "learning_rate": 1.86e-05, + "loss": 0.5102, + "step": 1396 + }, + { + "epoch": 0.08585299901671584, + "grad_norm": 34.75, + "learning_rate": 1.8613333333333334e-05, + "loss": 0.8148, + "step": 1397 + }, + { + "epoch": 0.08591445427728614, + "grad_norm": 23.5, + "learning_rate": 1.862666666666667e-05, + "loss": 0.7509, + "step": 1398 + }, + { + "epoch": 0.08597590953785644, + "grad_norm": 36.0, + "learning_rate": 1.864e-05, + "loss": 0.5747, + "step": 1399 + }, + { + "epoch": 0.08603736479842675, + "grad_norm": 8.625, + "learning_rate": 1.8653333333333333e-05, + "loss": 0.4487, + "step": 1400 + }, + { + "epoch": 0.08609882005899705, + "grad_norm": 25.375, + "learning_rate": 1.866666666666667e-05, + "loss": 0.7071, + "step": 1401 + }, + { + "epoch": 0.08616027531956735, + "grad_norm": 83.0, + "learning_rate": 1.8680000000000004e-05, + "loss": 0.825, + "step": 1402 + }, + { + "epoch": 0.08622173058013766, + "grad_norm": 9.8125, + "learning_rate": 1.8693333333333333e-05, + "loss": 0.5407, + "step": 1403 + }, + { + "epoch": 0.08628318584070796, + "grad_norm": 8.125, + "learning_rate": 1.8706666666666668e-05, + "loss": 0.5043, + "step": 1404 + }, + { + "epoch": 0.08634464110127826, + "grad_norm": 16.625, + "learning_rate": 1.8720000000000004e-05, + "loss": 0.5296, + "step": 1405 + }, + { + "epoch": 0.08640609636184858, + "grad_norm": 19.75, + "learning_rate": 1.8733333333333336e-05, + "loss": 0.4216, + "step": 1406 + }, + { + "epoch": 0.08646755162241888, + "grad_norm": 5.875, + "learning_rate": 1.8746666666666668e-05, + "loss": 0.3793, + "step": 1407 + }, + { + "epoch": 0.08652900688298919, + "grad_norm": 24.625, + "learning_rate": 1.876e-05, + "loss": 0.5236, + "step": 1408 + }, + { + "epoch": 0.08659046214355949, + "grad_norm": 19.25, + "learning_rate": 1.8773333333333335e-05, + "loss": 0.5596, + "step": 1409 + }, + { + "epoch": 0.0866519174041298, + "grad_norm": 16.25, + "learning_rate": 1.8786666666666667e-05, + "loss": 0.4285, + "step": 1410 + }, + { + "epoch": 0.0867133726647001, + "grad_norm": 19.125, + "learning_rate": 1.88e-05, + "loss": 0.6017, + "step": 1411 + }, + { + "epoch": 0.0867748279252704, + "grad_norm": 15.125, + "learning_rate": 1.8813333333333335e-05, + "loss": 0.5549, + "step": 1412 + }, + { + "epoch": 0.0868362831858407, + "grad_norm": 15.3125, + "learning_rate": 1.8826666666666667e-05, + "loss": 0.5747, + "step": 1413 + }, + { + "epoch": 0.08689773844641101, + "grad_norm": 27.875, + "learning_rate": 1.884e-05, + "loss": 0.503, + "step": 1414 + }, + { + "epoch": 0.08695919370698131, + "grad_norm": 34.5, + "learning_rate": 1.8853333333333335e-05, + "loss": 0.4358, + "step": 1415 + }, + { + "epoch": 0.08702064896755163, + "grad_norm": 40.75, + "learning_rate": 1.886666666666667e-05, + "loss": 0.5821, + "step": 1416 + }, + { + "epoch": 0.08708210422812193, + "grad_norm": 21.875, + "learning_rate": 1.8880000000000002e-05, + "loss": 0.3984, + "step": 1417 + }, + { + "epoch": 0.08714355948869223, + "grad_norm": 26.125, + "learning_rate": 1.8893333333333334e-05, + "loss": 0.4793, + "step": 1418 + }, + { + "epoch": 0.08720501474926254, + "grad_norm": 26.0, + "learning_rate": 1.890666666666667e-05, + "loss": 0.4882, + "step": 1419 + }, + { + "epoch": 0.08726647000983284, + "grad_norm": 8.3125, + "learning_rate": 1.8920000000000002e-05, + "loss": 0.7466, + "step": 1420 + }, + { + "epoch": 0.08732792527040315, + "grad_norm": 25.875, + "learning_rate": 1.8933333333333334e-05, + "loss": 0.4873, + "step": 1421 + }, + { + "epoch": 0.08738938053097345, + "grad_norm": 23.5, + "learning_rate": 1.894666666666667e-05, + "loss": 0.4732, + "step": 1422 + }, + { + "epoch": 0.08745083579154375, + "grad_norm": 49.5, + "learning_rate": 1.896e-05, + "loss": 0.5643, + "step": 1423 + }, + { + "epoch": 0.08751229105211406, + "grad_norm": 19.625, + "learning_rate": 1.8973333333333334e-05, + "loss": 0.4972, + "step": 1424 + }, + { + "epoch": 0.08757374631268437, + "grad_norm": 43.5, + "learning_rate": 1.898666666666667e-05, + "loss": 0.8297, + "step": 1425 + }, + { + "epoch": 0.08763520157325468, + "grad_norm": 44.0, + "learning_rate": 1.9e-05, + "loss": 0.8204, + "step": 1426 + }, + { + "epoch": 0.08769665683382498, + "grad_norm": 34.25, + "learning_rate": 1.9013333333333333e-05, + "loss": 0.9316, + "step": 1427 + }, + { + "epoch": 0.08775811209439528, + "grad_norm": 18.125, + "learning_rate": 1.902666666666667e-05, + "loss": 0.6756, + "step": 1428 + }, + { + "epoch": 0.08781956735496559, + "grad_norm": 37.5, + "learning_rate": 1.904e-05, + "loss": 0.7311, + "step": 1429 + }, + { + "epoch": 0.08788102261553589, + "grad_norm": 42.75, + "learning_rate": 1.9053333333333336e-05, + "loss": 0.6094, + "step": 1430 + }, + { + "epoch": 0.08794247787610619, + "grad_norm": 18.5, + "learning_rate": 1.9066666666666668e-05, + "loss": 0.5781, + "step": 1431 + }, + { + "epoch": 0.0880039331366765, + "grad_norm": 12.875, + "learning_rate": 1.908e-05, + "loss": 0.6201, + "step": 1432 + }, + { + "epoch": 0.0880653883972468, + "grad_norm": 17.625, + "learning_rate": 1.9093333333333336e-05, + "loss": 0.7821, + "step": 1433 + }, + { + "epoch": 0.0881268436578171, + "grad_norm": 12.9375, + "learning_rate": 1.9106666666666668e-05, + "loss": 0.5977, + "step": 1434 + }, + { + "epoch": 0.08818829891838742, + "grad_norm": 36.75, + "learning_rate": 1.912e-05, + "loss": 0.6369, + "step": 1435 + }, + { + "epoch": 0.08824975417895772, + "grad_norm": 44.0, + "learning_rate": 1.9133333333333335e-05, + "loss": 0.7049, + "step": 1436 + }, + { + "epoch": 0.08831120943952803, + "grad_norm": 30.625, + "learning_rate": 1.9146666666666667e-05, + "loss": 0.5768, + "step": 1437 + }, + { + "epoch": 0.08837266470009833, + "grad_norm": 55.25, + "learning_rate": 1.916e-05, + "loss": 0.7788, + "step": 1438 + }, + { + "epoch": 0.08843411996066863, + "grad_norm": 27.25, + "learning_rate": 1.9173333333333335e-05, + "loss": 0.668, + "step": 1439 + }, + { + "epoch": 0.08849557522123894, + "grad_norm": 28.25, + "learning_rate": 1.918666666666667e-05, + "loss": 0.5766, + "step": 1440 + }, + { + "epoch": 0.08855703048180924, + "grad_norm": 63.0, + "learning_rate": 1.9200000000000003e-05, + "loss": 0.6212, + "step": 1441 + }, + { + "epoch": 0.08861848574237954, + "grad_norm": 40.75, + "learning_rate": 1.9213333333333335e-05, + "loss": 0.6886, + "step": 1442 + }, + { + "epoch": 0.08867994100294985, + "grad_norm": 50.75, + "learning_rate": 1.922666666666667e-05, + "loss": 0.7232, + "step": 1443 + }, + { + "epoch": 0.08874139626352016, + "grad_norm": 13.5625, + "learning_rate": 1.9240000000000002e-05, + "loss": 0.4958, + "step": 1444 + }, + { + "epoch": 0.08880285152409047, + "grad_norm": 31.5, + "learning_rate": 1.9253333333333334e-05, + "loss": 0.4745, + "step": 1445 + }, + { + "epoch": 0.08886430678466077, + "grad_norm": 18.25, + "learning_rate": 1.926666666666667e-05, + "loss": 0.4712, + "step": 1446 + }, + { + "epoch": 0.08892576204523107, + "grad_norm": 14.375, + "learning_rate": 1.9280000000000002e-05, + "loss": 0.3748, + "step": 1447 + }, + { + "epoch": 0.08898721730580138, + "grad_norm": 13.1875, + "learning_rate": 1.9293333333333334e-05, + "loss": 0.3747, + "step": 1448 + }, + { + "epoch": 0.08904867256637168, + "grad_norm": 41.5, + "learning_rate": 1.930666666666667e-05, + "loss": 0.7149, + "step": 1449 + }, + { + "epoch": 0.08911012782694198, + "grad_norm": 17.375, + "learning_rate": 1.932e-05, + "loss": 0.4438, + "step": 1450 + }, + { + "epoch": 0.08917158308751229, + "grad_norm": 12.6875, + "learning_rate": 1.9333333333333333e-05, + "loss": 0.4511, + "step": 1451 + }, + { + "epoch": 0.08923303834808259, + "grad_norm": 54.0, + "learning_rate": 1.934666666666667e-05, + "loss": 0.4975, + "step": 1452 + }, + { + "epoch": 0.0892944936086529, + "grad_norm": 34.75, + "learning_rate": 1.936e-05, + "loss": 0.5387, + "step": 1453 + }, + { + "epoch": 0.08935594886922321, + "grad_norm": 55.5, + "learning_rate": 1.9373333333333336e-05, + "loss": 0.5473, + "step": 1454 + }, + { + "epoch": 0.08941740412979352, + "grad_norm": 36.0, + "learning_rate": 1.938666666666667e-05, + "loss": 0.5324, + "step": 1455 + }, + { + "epoch": 0.08947885939036382, + "grad_norm": 41.5, + "learning_rate": 1.94e-05, + "loss": 0.4644, + "step": 1456 + }, + { + "epoch": 0.08954031465093412, + "grad_norm": 40.75, + "learning_rate": 1.9413333333333336e-05, + "loss": 0.9385, + "step": 1457 + }, + { + "epoch": 0.08960176991150443, + "grad_norm": 68.5, + "learning_rate": 1.9426666666666668e-05, + "loss": 0.5599, + "step": 1458 + }, + { + "epoch": 0.08966322517207473, + "grad_norm": 31.5, + "learning_rate": 1.944e-05, + "loss": 0.7873, + "step": 1459 + }, + { + "epoch": 0.08972468043264503, + "grad_norm": 40.25, + "learning_rate": 1.9453333333333336e-05, + "loss": 0.6027, + "step": 1460 + }, + { + "epoch": 0.08978613569321534, + "grad_norm": 37.25, + "learning_rate": 1.9466666666666668e-05, + "loss": 0.7739, + "step": 1461 + }, + { + "epoch": 0.08984759095378564, + "grad_norm": 8.375, + "learning_rate": 1.948e-05, + "loss": 0.4431, + "step": 1462 + }, + { + "epoch": 0.08990904621435594, + "grad_norm": 30.875, + "learning_rate": 1.9493333333333335e-05, + "loss": 0.4555, + "step": 1463 + }, + { + "epoch": 0.08997050147492626, + "grad_norm": 10.25, + "learning_rate": 1.950666666666667e-05, + "loss": 0.3987, + "step": 1464 + }, + { + "epoch": 0.09003195673549656, + "grad_norm": 19.5, + "learning_rate": 1.9520000000000003e-05, + "loss": 0.544, + "step": 1465 + }, + { + "epoch": 0.09009341199606687, + "grad_norm": 13.25, + "learning_rate": 1.9533333333333335e-05, + "loss": 0.6123, + "step": 1466 + }, + { + "epoch": 0.09015486725663717, + "grad_norm": 25.125, + "learning_rate": 1.954666666666667e-05, + "loss": 0.6146, + "step": 1467 + }, + { + "epoch": 0.09021632251720747, + "grad_norm": 53.5, + "learning_rate": 1.9560000000000002e-05, + "loss": 0.5794, + "step": 1468 + }, + { + "epoch": 0.09027777777777778, + "grad_norm": 30.5, + "learning_rate": 1.9573333333333335e-05, + "loss": 0.5069, + "step": 1469 + }, + { + "epoch": 0.09033923303834808, + "grad_norm": 23.125, + "learning_rate": 1.9586666666666667e-05, + "loss": 0.5018, + "step": 1470 + }, + { + "epoch": 0.09040068829891838, + "grad_norm": 16.5, + "learning_rate": 1.9600000000000002e-05, + "loss": 0.4914, + "step": 1471 + }, + { + "epoch": 0.09046214355948869, + "grad_norm": 73.5, + "learning_rate": 1.9613333333333334e-05, + "loss": 0.4178, + "step": 1472 + }, + { + "epoch": 0.090523598820059, + "grad_norm": 28.5, + "learning_rate": 1.9626666666666666e-05, + "loss": 0.67, + "step": 1473 + }, + { + "epoch": 0.09058505408062931, + "grad_norm": 25.375, + "learning_rate": 1.9640000000000002e-05, + "loss": 0.6884, + "step": 1474 + }, + { + "epoch": 0.09064650934119961, + "grad_norm": 12.5625, + "learning_rate": 1.9653333333333334e-05, + "loss": 0.3814, + "step": 1475 + }, + { + "epoch": 0.09070796460176991, + "grad_norm": 36.5, + "learning_rate": 1.9666666666666666e-05, + "loss": 0.5632, + "step": 1476 + }, + { + "epoch": 0.09076941986234022, + "grad_norm": 22.625, + "learning_rate": 1.968e-05, + "loss": 0.6045, + "step": 1477 + }, + { + "epoch": 0.09083087512291052, + "grad_norm": 12.9375, + "learning_rate": 1.9693333333333337e-05, + "loss": 0.5875, + "step": 1478 + }, + { + "epoch": 0.09089233038348082, + "grad_norm": 10.375, + "learning_rate": 1.970666666666667e-05, + "loss": 0.4524, + "step": 1479 + }, + { + "epoch": 0.09095378564405113, + "grad_norm": 19.375, + "learning_rate": 1.972e-05, + "loss": 0.4269, + "step": 1480 + }, + { + "epoch": 0.09101524090462143, + "grad_norm": 20.125, + "learning_rate": 1.9733333333333336e-05, + "loss": 0.4363, + "step": 1481 + }, + { + "epoch": 0.09107669616519173, + "grad_norm": 26.625, + "learning_rate": 1.974666666666667e-05, + "loss": 0.6239, + "step": 1482 + }, + { + "epoch": 0.09113815142576205, + "grad_norm": 26.75, + "learning_rate": 1.976e-05, + "loss": 0.7371, + "step": 1483 + }, + { + "epoch": 0.09119960668633235, + "grad_norm": 15.4375, + "learning_rate": 1.9773333333333336e-05, + "loss": 0.5799, + "step": 1484 + }, + { + "epoch": 0.09126106194690266, + "grad_norm": 12.9375, + "learning_rate": 1.9786666666666668e-05, + "loss": 0.3869, + "step": 1485 + }, + { + "epoch": 0.09132251720747296, + "grad_norm": 21.5, + "learning_rate": 1.98e-05, + "loss": 0.4029, + "step": 1486 + }, + { + "epoch": 0.09138397246804326, + "grad_norm": 7.625, + "learning_rate": 1.9813333333333336e-05, + "loss": 0.3257, + "step": 1487 + }, + { + "epoch": 0.09144542772861357, + "grad_norm": 31.25, + "learning_rate": 1.9826666666666668e-05, + "loss": 0.3925, + "step": 1488 + }, + { + "epoch": 0.09150688298918387, + "grad_norm": 25.375, + "learning_rate": 1.9840000000000003e-05, + "loss": 0.626, + "step": 1489 + }, + { + "epoch": 0.09156833824975417, + "grad_norm": 28.875, + "learning_rate": 1.9853333333333335e-05, + "loss": 0.6065, + "step": 1490 + }, + { + "epoch": 0.09162979351032448, + "grad_norm": 20.75, + "learning_rate": 1.9866666666666667e-05, + "loss": 0.4988, + "step": 1491 + }, + { + "epoch": 0.0916912487708948, + "grad_norm": 34.0, + "learning_rate": 1.9880000000000003e-05, + "loss": 0.7633, + "step": 1492 + }, + { + "epoch": 0.0917527040314651, + "grad_norm": 12.0625, + "learning_rate": 1.9893333333333335e-05, + "loss": 0.5236, + "step": 1493 + }, + { + "epoch": 0.0918141592920354, + "grad_norm": 38.5, + "learning_rate": 1.9906666666666667e-05, + "loss": 0.744, + "step": 1494 + }, + { + "epoch": 0.0918756145526057, + "grad_norm": 60.25, + "learning_rate": 1.9920000000000002e-05, + "loss": 0.4128, + "step": 1495 + }, + { + "epoch": 0.09193706981317601, + "grad_norm": 11.0625, + "learning_rate": 1.9933333333333334e-05, + "loss": 0.4378, + "step": 1496 + }, + { + "epoch": 0.09199852507374631, + "grad_norm": 16.5, + "learning_rate": 1.9946666666666667e-05, + "loss": 0.5792, + "step": 1497 + }, + { + "epoch": 0.09205998033431662, + "grad_norm": 28.0, + "learning_rate": 1.9960000000000002e-05, + "loss": 0.7458, + "step": 1498 + }, + { + "epoch": 0.09212143559488692, + "grad_norm": 14.25, + "learning_rate": 1.9973333333333334e-05, + "loss": 0.8067, + "step": 1499 + }, + { + "epoch": 0.09218289085545722, + "grad_norm": 25.125, + "learning_rate": 1.9986666666666666e-05, + "loss": 0.6215, + "step": 1500 + }, + { + "epoch": 0.09224434611602753, + "grad_norm": 16.5, + "learning_rate": 2e-05, + "loss": 0.7529, + "step": 1501 + }, + { + "epoch": 0.09230580137659784, + "grad_norm": 15.4375, + "learning_rate": 1.9999999729228962e-05, + "loss": 0.718, + "step": 1502 + }, + { + "epoch": 0.09236725663716815, + "grad_norm": 9.375, + "learning_rate": 1.9999998916915862e-05, + "loss": 0.5488, + "step": 1503 + }, + { + "epoch": 0.09242871189773845, + "grad_norm": 20.75, + "learning_rate": 1.9999997563060744e-05, + "loss": 0.4644, + "step": 1504 + }, + { + "epoch": 0.09249016715830875, + "grad_norm": 14.75, + "learning_rate": 1.9999995667663676e-05, + "loss": 0.7382, + "step": 1505 + }, + { + "epoch": 0.09255162241887906, + "grad_norm": 22.125, + "learning_rate": 1.999999323072477e-05, + "loss": 0.6014, + "step": 1506 + }, + { + "epoch": 0.09261307767944936, + "grad_norm": 28.75, + "learning_rate": 1.9999990252244153e-05, + "loss": 0.6516, + "step": 1507 + }, + { + "epoch": 0.09267453294001966, + "grad_norm": 9.25, + "learning_rate": 1.999998673222198e-05, + "loss": 0.6359, + "step": 1508 + }, + { + "epoch": 0.09273598820058997, + "grad_norm": 49.0, + "learning_rate": 1.9999982670658457e-05, + "loss": 0.6436, + "step": 1509 + }, + { + "epoch": 0.09279744346116027, + "grad_norm": 11.625, + "learning_rate": 1.9999978067553796e-05, + "loss": 0.5704, + "step": 1510 + }, + { + "epoch": 0.09285889872173057, + "grad_norm": 25.0, + "learning_rate": 1.999997292290824e-05, + "loss": 0.6502, + "step": 1511 + }, + { + "epoch": 0.09292035398230089, + "grad_norm": 22.0, + "learning_rate": 1.9999967236722075e-05, + "loss": 0.5587, + "step": 1512 + }, + { + "epoch": 0.0929818092428712, + "grad_norm": 26.5, + "learning_rate": 1.9999961008995607e-05, + "loss": 0.4997, + "step": 1513 + }, + { + "epoch": 0.0930432645034415, + "grad_norm": 32.25, + "learning_rate": 1.9999954239729175e-05, + "loss": 0.8159, + "step": 1514 + }, + { + "epoch": 0.0931047197640118, + "grad_norm": 13.4375, + "learning_rate": 1.999994692892314e-05, + "loss": 0.5844, + "step": 1515 + }, + { + "epoch": 0.0931661750245821, + "grad_norm": 51.5, + "learning_rate": 1.9999939076577906e-05, + "loss": 0.5972, + "step": 1516 + }, + { + "epoch": 0.09322763028515241, + "grad_norm": 25.625, + "learning_rate": 1.9999930682693892e-05, + "loss": 0.5903, + "step": 1517 + }, + { + "epoch": 0.09328908554572271, + "grad_norm": 38.5, + "learning_rate": 1.9999921747271554e-05, + "loss": 0.6251, + "step": 1518 + }, + { + "epoch": 0.09335054080629301, + "grad_norm": 41.5, + "learning_rate": 1.9999912270311376e-05, + "loss": 0.4034, + "step": 1519 + }, + { + "epoch": 0.09341199606686332, + "grad_norm": 63.0, + "learning_rate": 1.9999902251813873e-05, + "loss": 0.4594, + "step": 1520 + }, + { + "epoch": 0.09347345132743363, + "grad_norm": 51.75, + "learning_rate": 1.999989169177959e-05, + "loss": 0.6752, + "step": 1521 + }, + { + "epoch": 0.09353490658800394, + "grad_norm": 34.0, + "learning_rate": 1.999988059020909e-05, + "loss": 0.8115, + "step": 1522 + }, + { + "epoch": 0.09359636184857424, + "grad_norm": 4.75, + "learning_rate": 1.9999868947102982e-05, + "loss": 0.6671, + "step": 1523 + }, + { + "epoch": 0.09365781710914454, + "grad_norm": 36.25, + "learning_rate": 1.9999856762461892e-05, + "loss": 0.9567, + "step": 1524 + }, + { + "epoch": 0.09371927236971485, + "grad_norm": 33.0, + "learning_rate": 1.9999844036286483e-05, + "loss": 0.6517, + "step": 1525 + }, + { + "epoch": 0.09378072763028515, + "grad_norm": 34.25, + "learning_rate": 1.9999830768577445e-05, + "loss": 0.7101, + "step": 1526 + }, + { + "epoch": 0.09384218289085546, + "grad_norm": 29.25, + "learning_rate": 1.999981695933549e-05, + "loss": 0.5927, + "step": 1527 + }, + { + "epoch": 0.09390363815142576, + "grad_norm": 29.5, + "learning_rate": 1.999980260856137e-05, + "loss": 0.5613, + "step": 1528 + }, + { + "epoch": 0.09396509341199606, + "grad_norm": 21.0, + "learning_rate": 1.9999787716255867e-05, + "loss": 0.6787, + "step": 1529 + }, + { + "epoch": 0.09402654867256637, + "grad_norm": 10.0, + "learning_rate": 1.9999772282419783e-05, + "loss": 0.6078, + "step": 1530 + }, + { + "epoch": 0.09408800393313668, + "grad_norm": 23.625, + "learning_rate": 1.9999756307053947e-05, + "loss": 0.6432, + "step": 1531 + }, + { + "epoch": 0.09414945919370699, + "grad_norm": 30.5, + "learning_rate": 1.999973979015924e-05, + "loss": 0.7424, + "step": 1532 + }, + { + "epoch": 0.09421091445427729, + "grad_norm": 22.125, + "learning_rate": 1.999972273173654e-05, + "loss": 0.6113, + "step": 1533 + }, + { + "epoch": 0.09427236971484759, + "grad_norm": 48.25, + "learning_rate": 1.999970513178678e-05, + "loss": 0.6524, + "step": 1534 + }, + { + "epoch": 0.0943338249754179, + "grad_norm": 32.0, + "learning_rate": 1.9999686990310914e-05, + "loss": 0.8329, + "step": 1535 + }, + { + "epoch": 0.0943952802359882, + "grad_norm": 36.5, + "learning_rate": 1.999966830730992e-05, + "loss": 0.8255, + "step": 1536 + }, + { + "epoch": 0.0944567354965585, + "grad_norm": 33.5, + "learning_rate": 1.9999649082784807e-05, + "loss": 0.7094, + "step": 1537 + }, + { + "epoch": 0.0945181907571288, + "grad_norm": 33.0, + "learning_rate": 1.9999629316736624e-05, + "loss": 0.7507, + "step": 1538 + }, + { + "epoch": 0.09457964601769911, + "grad_norm": 21.875, + "learning_rate": 1.999960900916644e-05, + "loss": 0.7474, + "step": 1539 + }, + { + "epoch": 0.09464110127826943, + "grad_norm": 17.875, + "learning_rate": 1.999958816007535e-05, + "loss": 0.5937, + "step": 1540 + }, + { + "epoch": 0.09470255653883973, + "grad_norm": 21.25, + "learning_rate": 1.9999566769464483e-05, + "loss": 0.709, + "step": 1541 + }, + { + "epoch": 0.09476401179941003, + "grad_norm": 16.0, + "learning_rate": 1.9999544837335007e-05, + "loss": 0.5635, + "step": 1542 + }, + { + "epoch": 0.09482546705998034, + "grad_norm": 18.625, + "learning_rate": 1.99995223636881e-05, + "loss": 0.53, + "step": 1543 + }, + { + "epoch": 0.09488692232055064, + "grad_norm": 10.125, + "learning_rate": 1.999949934852498e-05, + "loss": 0.5143, + "step": 1544 + }, + { + "epoch": 0.09494837758112094, + "grad_norm": 35.5, + "learning_rate": 1.9999475791846896e-05, + "loss": 0.7373, + "step": 1545 + }, + { + "epoch": 0.09500983284169125, + "grad_norm": 43.5, + "learning_rate": 1.9999451693655125e-05, + "loss": 0.7662, + "step": 1546 + }, + { + "epoch": 0.09507128810226155, + "grad_norm": 18.25, + "learning_rate": 1.9999427053950965e-05, + "loss": 0.6075, + "step": 1547 + }, + { + "epoch": 0.09513274336283185, + "grad_norm": 26.25, + "learning_rate": 1.999940187273576e-05, + "loss": 0.613, + "step": 1548 + }, + { + "epoch": 0.09519419862340216, + "grad_norm": 32.0, + "learning_rate": 1.9999376150010868e-05, + "loss": 0.5371, + "step": 1549 + }, + { + "epoch": 0.09525565388397247, + "grad_norm": 33.25, + "learning_rate": 1.999934988577768e-05, + "loss": 0.6484, + "step": 1550 + }, + { + "epoch": 0.09531710914454278, + "grad_norm": 35.75, + "learning_rate": 1.9999323080037623e-05, + "loss": 0.6118, + "step": 1551 + }, + { + "epoch": 0.09537856440511308, + "grad_norm": 42.0, + "learning_rate": 1.9999295732792146e-05, + "loss": 0.4874, + "step": 1552 + }, + { + "epoch": 0.09544001966568338, + "grad_norm": 50.25, + "learning_rate": 1.9999267844042734e-05, + "loss": 0.6037, + "step": 1553 + }, + { + "epoch": 0.09550147492625369, + "grad_norm": 16.75, + "learning_rate": 1.9999239413790895e-05, + "loss": 0.475, + "step": 1554 + }, + { + "epoch": 0.09556293018682399, + "grad_norm": 23.75, + "learning_rate": 1.9999210442038164e-05, + "loss": 0.7353, + "step": 1555 + }, + { + "epoch": 0.0956243854473943, + "grad_norm": 35.75, + "learning_rate": 1.9999180928786113e-05, + "loss": 0.6392, + "step": 1556 + }, + { + "epoch": 0.0956858407079646, + "grad_norm": 31.375, + "learning_rate": 1.9999150874036344e-05, + "loss": 0.5754, + "step": 1557 + }, + { + "epoch": 0.0957472959685349, + "grad_norm": 19.0, + "learning_rate": 1.9999120277790477e-05, + "loss": 0.5501, + "step": 1558 + }, + { + "epoch": 0.0958087512291052, + "grad_norm": 20.75, + "learning_rate": 1.9999089140050182e-05, + "loss": 0.4345, + "step": 1559 + }, + { + "epoch": 0.09587020648967552, + "grad_norm": 14.375, + "learning_rate": 1.999905746081713e-05, + "loss": 0.4183, + "step": 1560 + }, + { + "epoch": 0.09593166175024583, + "grad_norm": 23.5, + "learning_rate": 1.9999025240093045e-05, + "loss": 0.5495, + "step": 1561 + }, + { + "epoch": 0.09599311701081613, + "grad_norm": 16.5, + "learning_rate": 1.999899247787967e-05, + "loss": 0.7035, + "step": 1562 + }, + { + "epoch": 0.09605457227138643, + "grad_norm": 15.875, + "learning_rate": 1.9998959174178777e-05, + "loss": 0.539, + "step": 1563 + }, + { + "epoch": 0.09611602753195674, + "grad_norm": 21.5, + "learning_rate": 1.9998925328992175e-05, + "loss": 0.4575, + "step": 1564 + }, + { + "epoch": 0.09617748279252704, + "grad_norm": 18.75, + "learning_rate": 1.9998890942321693e-05, + "loss": 0.5762, + "step": 1565 + }, + { + "epoch": 0.09623893805309734, + "grad_norm": 9.6875, + "learning_rate": 1.9998856014169193e-05, + "loss": 0.6934, + "step": 1566 + }, + { + "epoch": 0.09630039331366765, + "grad_norm": 11.75, + "learning_rate": 1.999882054453657e-05, + "loss": 0.629, + "step": 1567 + }, + { + "epoch": 0.09636184857423795, + "grad_norm": 23.125, + "learning_rate": 1.9998784533425743e-05, + "loss": 0.5115, + "step": 1568 + }, + { + "epoch": 0.09642330383480827, + "grad_norm": 23.5, + "learning_rate": 1.9998747980838655e-05, + "loss": 0.4956, + "step": 1569 + }, + { + "epoch": 0.09648475909537857, + "grad_norm": 63.5, + "learning_rate": 1.9998710886777298e-05, + "loss": 0.864, + "step": 1570 + }, + { + "epoch": 0.09654621435594887, + "grad_norm": 11.125, + "learning_rate": 1.9998673251243672e-05, + "loss": 0.5724, + "step": 1571 + }, + { + "epoch": 0.09660766961651918, + "grad_norm": 41.25, + "learning_rate": 1.999863507423982e-05, + "loss": 0.7549, + "step": 1572 + }, + { + "epoch": 0.09666912487708948, + "grad_norm": 18.75, + "learning_rate": 1.9998596355767805e-05, + "loss": 0.7428, + "step": 1573 + }, + { + "epoch": 0.09673058013765978, + "grad_norm": 47.5, + "learning_rate": 1.9998557095829727e-05, + "loss": 0.5957, + "step": 1574 + }, + { + "epoch": 0.09679203539823009, + "grad_norm": 15.3125, + "learning_rate": 1.9998517294427712e-05, + "loss": 0.49, + "step": 1575 + }, + { + "epoch": 0.09685349065880039, + "grad_norm": 103.0, + "learning_rate": 1.9998476951563914e-05, + "loss": 0.5234, + "step": 1576 + }, + { + "epoch": 0.09691494591937069, + "grad_norm": 15.375, + "learning_rate": 1.9998436067240518e-05, + "loss": 0.5719, + "step": 1577 + }, + { + "epoch": 0.096976401179941, + "grad_norm": 58.25, + "learning_rate": 1.999839464145974e-05, + "loss": 0.6186, + "step": 1578 + }, + { + "epoch": 0.09703785644051131, + "grad_norm": 15.75, + "learning_rate": 1.9998352674223816e-05, + "loss": 0.5239, + "step": 1579 + }, + { + "epoch": 0.09709931170108162, + "grad_norm": 15.9375, + "learning_rate": 1.999831016553503e-05, + "loss": 0.4837, + "step": 1580 + }, + { + "epoch": 0.09716076696165192, + "grad_norm": 35.75, + "learning_rate": 1.999826711539568e-05, + "loss": 0.3647, + "step": 1581 + }, + { + "epoch": 0.09722222222222222, + "grad_norm": 33.75, + "learning_rate": 1.9998223523808092e-05, + "loss": 0.426, + "step": 1582 + }, + { + "epoch": 0.09728367748279253, + "grad_norm": 70.5, + "learning_rate": 1.9998179390774632e-05, + "loss": 0.3515, + "step": 1583 + }, + { + "epoch": 0.09734513274336283, + "grad_norm": 28.0, + "learning_rate": 1.9998134716297688e-05, + "loss": 0.4279, + "step": 1584 + }, + { + "epoch": 0.09740658800393313, + "grad_norm": 20.75, + "learning_rate": 1.999808950037968e-05, + "loss": 0.4479, + "step": 1585 + }, + { + "epoch": 0.09746804326450344, + "grad_norm": 41.0, + "learning_rate": 1.9998043743023056e-05, + "loss": 0.6468, + "step": 1586 + }, + { + "epoch": 0.09752949852507374, + "grad_norm": 17.625, + "learning_rate": 1.9997997444230294e-05, + "loss": 0.6227, + "step": 1587 + }, + { + "epoch": 0.09759095378564406, + "grad_norm": 44.0, + "learning_rate": 1.99979506040039e-05, + "loss": 0.5317, + "step": 1588 + }, + { + "epoch": 0.09765240904621436, + "grad_norm": 12.5625, + "learning_rate": 1.9997903222346418e-05, + "loss": 0.3899, + "step": 1589 + }, + { + "epoch": 0.09771386430678466, + "grad_norm": 12.3125, + "learning_rate": 1.9997855299260403e-05, + "loss": 0.3965, + "step": 1590 + }, + { + "epoch": 0.09777531956735497, + "grad_norm": 23.875, + "learning_rate": 1.9997806834748455e-05, + "loss": 0.449, + "step": 1591 + }, + { + "epoch": 0.09783677482792527, + "grad_norm": 8.4375, + "learning_rate": 1.9997757828813203e-05, + "loss": 0.3195, + "step": 1592 + }, + { + "epoch": 0.09789823008849557, + "grad_norm": 27.875, + "learning_rate": 1.9997708281457293e-05, + "loss": 0.628, + "step": 1593 + }, + { + "epoch": 0.09795968534906588, + "grad_norm": 53.75, + "learning_rate": 1.9997658192683412e-05, + "loss": 0.4898, + "step": 1594 + }, + { + "epoch": 0.09802114060963618, + "grad_norm": 21.75, + "learning_rate": 1.9997607562494277e-05, + "loss": 0.5189, + "step": 1595 + }, + { + "epoch": 0.09808259587020648, + "grad_norm": 20.25, + "learning_rate": 1.9997556390892623e-05, + "loss": 0.5038, + "step": 1596 + }, + { + "epoch": 0.09814405113077679, + "grad_norm": 31.5, + "learning_rate": 1.9997504677881224e-05, + "loss": 0.661, + "step": 1597 + }, + { + "epoch": 0.0982055063913471, + "grad_norm": 23.25, + "learning_rate": 1.999745242346288e-05, + "loss": 0.5747, + "step": 1598 + }, + { + "epoch": 0.09826696165191741, + "grad_norm": 42.5, + "learning_rate": 1.999739962764042e-05, + "loss": 0.4613, + "step": 1599 + }, + { + "epoch": 0.09832841691248771, + "grad_norm": 19.125, + "learning_rate": 1.9997346290416703e-05, + "loss": 0.4801, + "step": 1600 + }, + { + "epoch": 0.09838987217305802, + "grad_norm": 31.875, + "learning_rate": 1.999729241179462e-05, + "loss": 0.8283, + "step": 1601 + }, + { + "epoch": 0.09845132743362832, + "grad_norm": 39.25, + "learning_rate": 1.9997237991777085e-05, + "loss": 0.7647, + "step": 1602 + }, + { + "epoch": 0.09851278269419862, + "grad_norm": 25.625, + "learning_rate": 1.999718303036705e-05, + "loss": 0.7577, + "step": 1603 + }, + { + "epoch": 0.09857423795476893, + "grad_norm": 18.375, + "learning_rate": 1.9997127527567487e-05, + "loss": 0.6192, + "step": 1604 + }, + { + "epoch": 0.09863569321533923, + "grad_norm": 58.25, + "learning_rate": 1.99970714833814e-05, + "loss": 0.6892, + "step": 1605 + }, + { + "epoch": 0.09869714847590953, + "grad_norm": 24.375, + "learning_rate": 1.9997014897811834e-05, + "loss": 0.5686, + "step": 1606 + }, + { + "epoch": 0.09875860373647984, + "grad_norm": 26.25, + "learning_rate": 1.9996957770861843e-05, + "loss": 0.5501, + "step": 1607 + }, + { + "epoch": 0.09882005899705015, + "grad_norm": 24.0, + "learning_rate": 1.9996900102534526e-05, + "loss": 0.4202, + "step": 1608 + }, + { + "epoch": 0.09888151425762046, + "grad_norm": 78.0, + "learning_rate": 1.9996841892833e-05, + "loss": 0.8203, + "step": 1609 + }, + { + "epoch": 0.09894296951819076, + "grad_norm": 38.0, + "learning_rate": 1.9996783141760425e-05, + "loss": 0.5394, + "step": 1610 + }, + { + "epoch": 0.09900442477876106, + "grad_norm": 45.25, + "learning_rate": 1.9996723849319978e-05, + "loss": 0.7046, + "step": 1611 + }, + { + "epoch": 0.09906588003933137, + "grad_norm": 27.125, + "learning_rate": 1.999666401551487e-05, + "loss": 0.6283, + "step": 1612 + }, + { + "epoch": 0.09912733529990167, + "grad_norm": 13.5, + "learning_rate": 1.999660364034835e-05, + "loss": 0.4878, + "step": 1613 + }, + { + "epoch": 0.09918879056047197, + "grad_norm": 24.25, + "learning_rate": 1.9996542723823673e-05, + "loss": 0.4808, + "step": 1614 + }, + { + "epoch": 0.09925024582104228, + "grad_norm": 22.125, + "learning_rate": 1.9996481265944146e-05, + "loss": 0.5646, + "step": 1615 + }, + { + "epoch": 0.09931170108161258, + "grad_norm": 34.0, + "learning_rate": 1.9996419266713097e-05, + "loss": 0.6158, + "step": 1616 + }, + { + "epoch": 0.0993731563421829, + "grad_norm": 24.0, + "learning_rate": 1.999635672613388e-05, + "loss": 0.3868, + "step": 1617 + }, + { + "epoch": 0.0994346116027532, + "grad_norm": 21.625, + "learning_rate": 1.9996293644209886e-05, + "loss": 0.4407, + "step": 1618 + }, + { + "epoch": 0.0994960668633235, + "grad_norm": 6.90625, + "learning_rate": 1.9996230020944535e-05, + "loss": 0.4726, + "step": 1619 + }, + { + "epoch": 0.09955752212389381, + "grad_norm": 13.625, + "learning_rate": 1.999616585634126e-05, + "loss": 0.5784, + "step": 1620 + }, + { + "epoch": 0.09961897738446411, + "grad_norm": 23.0, + "learning_rate": 1.9996101150403543e-05, + "loss": 0.5214, + "step": 1621 + }, + { + "epoch": 0.09968043264503441, + "grad_norm": 36.25, + "learning_rate": 1.9996035903134893e-05, + "loss": 0.5937, + "step": 1622 + }, + { + "epoch": 0.09974188790560472, + "grad_norm": 6.0, + "learning_rate": 1.9995970114538835e-05, + "loss": 0.4794, + "step": 1623 + }, + { + "epoch": 0.09980334316617502, + "grad_norm": 15.125, + "learning_rate": 1.9995903784618936e-05, + "loss": 0.4414, + "step": 1624 + }, + { + "epoch": 0.09986479842674532, + "grad_norm": 36.0, + "learning_rate": 1.9995836913378786e-05, + "loss": 0.6542, + "step": 1625 + }, + { + "epoch": 0.09992625368731563, + "grad_norm": 16.875, + "learning_rate": 1.9995769500822007e-05, + "loss": 0.6602, + "step": 1626 + }, + { + "epoch": 0.09998770894788594, + "grad_norm": 21.5, + "learning_rate": 1.9995701546952252e-05, + "loss": 0.5246, + "step": 1627 + }, + { + "epoch": 0.10004916420845625, + "grad_norm": 14.125, + "learning_rate": 1.9995633051773197e-05, + "loss": 0.5604, + "step": 1628 + }, + { + "epoch": 0.10011061946902655, + "grad_norm": 18.0, + "learning_rate": 1.9995564015288555e-05, + "loss": 0.5439, + "step": 1629 + }, + { + "epoch": 0.10017207472959685, + "grad_norm": 29.0, + "learning_rate": 1.9995494437502064e-05, + "loss": 0.6075, + "step": 1630 + }, + { + "epoch": 0.10023352999016716, + "grad_norm": 23.875, + "learning_rate": 1.999542431841749e-05, + "loss": 0.6336, + "step": 1631 + }, + { + "epoch": 0.10029498525073746, + "grad_norm": 33.0, + "learning_rate": 1.999535365803863e-05, + "loss": 0.5192, + "step": 1632 + }, + { + "epoch": 0.10035644051130777, + "grad_norm": 13.625, + "learning_rate": 1.9995282456369313e-05, + "loss": 0.502, + "step": 1633 + }, + { + "epoch": 0.10041789577187807, + "grad_norm": 18.875, + "learning_rate": 1.9995210713413393e-05, + "loss": 0.5259, + "step": 1634 + }, + { + "epoch": 0.10047935103244837, + "grad_norm": 10.875, + "learning_rate": 1.9995138429174757e-05, + "loss": 0.4521, + "step": 1635 + }, + { + "epoch": 0.10054080629301869, + "grad_norm": 17.625, + "learning_rate": 1.9995065603657317e-05, + "loss": 0.6616, + "step": 1636 + }, + { + "epoch": 0.10060226155358899, + "grad_norm": 22.875, + "learning_rate": 1.9994992236865017e-05, + "loss": 0.6891, + "step": 1637 + }, + { + "epoch": 0.1006637168141593, + "grad_norm": 14.9375, + "learning_rate": 1.9994918328801835e-05, + "loss": 0.5476, + "step": 1638 + }, + { + "epoch": 0.1007251720747296, + "grad_norm": 15.0625, + "learning_rate": 1.999484387947177e-05, + "loss": 0.4832, + "step": 1639 + }, + { + "epoch": 0.1007866273352999, + "grad_norm": 32.25, + "learning_rate": 1.9994768888878848e-05, + "loss": 0.3903, + "step": 1640 + }, + { + "epoch": 0.1008480825958702, + "grad_norm": 31.125, + "learning_rate": 1.999469335702714e-05, + "loss": 0.7796, + "step": 1641 + }, + { + "epoch": 0.10090953785644051, + "grad_norm": 27.125, + "learning_rate": 1.999461728392073e-05, + "loss": 0.8646, + "step": 1642 + }, + { + "epoch": 0.10097099311701081, + "grad_norm": 38.5, + "learning_rate": 1.9994540669563742e-05, + "loss": 0.6055, + "step": 1643 + }, + { + "epoch": 0.10103244837758112, + "grad_norm": 12.6875, + "learning_rate": 1.999446351396032e-05, + "loss": 0.5912, + "step": 1644 + }, + { + "epoch": 0.10109390363815142, + "grad_norm": 18.75, + "learning_rate": 1.9994385817114644e-05, + "loss": 0.5026, + "step": 1645 + }, + { + "epoch": 0.10115535889872174, + "grad_norm": 9.625, + "learning_rate": 1.9994307579030925e-05, + "loss": 0.5101, + "step": 1646 + }, + { + "epoch": 0.10121681415929204, + "grad_norm": 21.75, + "learning_rate": 1.9994228799713396e-05, + "loss": 0.5674, + "step": 1647 + }, + { + "epoch": 0.10127826941986234, + "grad_norm": 10.9375, + "learning_rate": 1.9994149479166324e-05, + "loss": 0.4756, + "step": 1648 + }, + { + "epoch": 0.10133972468043265, + "grad_norm": 30.375, + "learning_rate": 1.999406961739401e-05, + "loss": 0.7109, + "step": 1649 + }, + { + "epoch": 0.10140117994100295, + "grad_norm": 24.5, + "learning_rate": 1.9993989214400765e-05, + "loss": 0.943, + "step": 1650 + }, + { + "epoch": 0.10146263520157325, + "grad_norm": 22.625, + "learning_rate": 1.999390827019096e-05, + "loss": 0.6687, + "step": 1651 + }, + { + "epoch": 0.10152409046214356, + "grad_norm": 34.75, + "learning_rate": 1.9993826784768967e-05, + "loss": 0.6459, + "step": 1652 + }, + { + "epoch": 0.10158554572271386, + "grad_norm": 28.75, + "learning_rate": 1.9993744758139203e-05, + "loss": 0.7094, + "step": 1653 + }, + { + "epoch": 0.10164700098328416, + "grad_norm": 19.375, + "learning_rate": 1.999366219030611e-05, + "loss": 0.5492, + "step": 1654 + }, + { + "epoch": 0.10170845624385447, + "grad_norm": 30.25, + "learning_rate": 1.999357908127416e-05, + "loss": 0.5481, + "step": 1655 + }, + { + "epoch": 0.10176991150442478, + "grad_norm": 26.25, + "learning_rate": 1.999349543104785e-05, + "loss": 0.764, + "step": 1656 + }, + { + "epoch": 0.10183136676499509, + "grad_norm": 24.625, + "learning_rate": 1.9993411239631713e-05, + "loss": 0.6592, + "step": 1657 + }, + { + "epoch": 0.10189282202556539, + "grad_norm": 32.0, + "learning_rate": 1.9993326507030312e-05, + "loss": 0.9689, + "step": 1658 + }, + { + "epoch": 0.1019542772861357, + "grad_norm": 24.5, + "learning_rate": 1.9993241233248227e-05, + "loss": 0.6126, + "step": 1659 + }, + { + "epoch": 0.102015732546706, + "grad_norm": 17.125, + "learning_rate": 1.999315541829008e-05, + "loss": 0.5927, + "step": 1660 + }, + { + "epoch": 0.1020771878072763, + "grad_norm": 17.875, + "learning_rate": 1.999306906216052e-05, + "loss": 0.6562, + "step": 1661 + }, + { + "epoch": 0.1021386430678466, + "grad_norm": 30.375, + "learning_rate": 1.9992982164864223e-05, + "loss": 0.4678, + "step": 1662 + }, + { + "epoch": 0.10220009832841691, + "grad_norm": 17.5, + "learning_rate": 1.9992894726405894e-05, + "loss": 0.4465, + "step": 1663 + }, + { + "epoch": 0.10226155358898721, + "grad_norm": 17.0, + "learning_rate": 1.9992806746790266e-05, + "loss": 0.4717, + "step": 1664 + }, + { + "epoch": 0.10232300884955753, + "grad_norm": 56.5, + "learning_rate": 1.999271822602211e-05, + "loss": 0.8307, + "step": 1665 + }, + { + "epoch": 0.10238446411012783, + "grad_norm": 41.25, + "learning_rate": 1.999262916410621e-05, + "loss": 0.9471, + "step": 1666 + }, + { + "epoch": 0.10244591937069814, + "grad_norm": 16.25, + "learning_rate": 1.9992539561047403e-05, + "loss": 0.9567, + "step": 1667 + }, + { + "epoch": 0.10250737463126844, + "grad_norm": 31.625, + "learning_rate": 1.9992449416850527e-05, + "loss": 0.834, + "step": 1668 + }, + { + "epoch": 0.10256882989183874, + "grad_norm": 29.375, + "learning_rate": 1.999235873152047e-05, + "loss": 0.7224, + "step": 1669 + }, + { + "epoch": 0.10263028515240905, + "grad_norm": 30.5, + "learning_rate": 1.9992267505062143e-05, + "loss": 0.6981, + "step": 1670 + }, + { + "epoch": 0.10269174041297935, + "grad_norm": 19.125, + "learning_rate": 1.9992175737480487e-05, + "loss": 0.5298, + "step": 1671 + }, + { + "epoch": 0.10275319567354965, + "grad_norm": 17.25, + "learning_rate": 1.999208342878047e-05, + "loss": 0.5783, + "step": 1672 + }, + { + "epoch": 0.10281465093411996, + "grad_norm": 35.75, + "learning_rate": 1.999199057896709e-05, + "loss": 0.7088, + "step": 1673 + }, + { + "epoch": 0.10287610619469026, + "grad_norm": 30.875, + "learning_rate": 1.999189718804538e-05, + "loss": 0.6098, + "step": 1674 + }, + { + "epoch": 0.10293756145526058, + "grad_norm": 27.25, + "learning_rate": 1.9991803256020393e-05, + "loss": 0.886, + "step": 1675 + }, + { + "epoch": 0.10299901671583088, + "grad_norm": 29.25, + "learning_rate": 1.9991708782897214e-05, + "loss": 0.504, + "step": 1676 + }, + { + "epoch": 0.10306047197640118, + "grad_norm": 24.375, + "learning_rate": 1.9991613768680965e-05, + "loss": 0.7169, + "step": 1677 + }, + { + "epoch": 0.10312192723697149, + "grad_norm": 26.75, + "learning_rate": 1.9991518213376787e-05, + "loss": 0.6876, + "step": 1678 + }, + { + "epoch": 0.10318338249754179, + "grad_norm": 43.0, + "learning_rate": 1.999142211698986e-05, + "loss": 0.4543, + "step": 1679 + }, + { + "epoch": 0.10324483775811209, + "grad_norm": 41.5, + "learning_rate": 1.999132547952538e-05, + "loss": 0.7736, + "step": 1680 + }, + { + "epoch": 0.1033062930186824, + "grad_norm": 15.0, + "learning_rate": 1.9991228300988586e-05, + "loss": 0.5768, + "step": 1681 + }, + { + "epoch": 0.1033677482792527, + "grad_norm": 46.75, + "learning_rate": 1.9991130581384737e-05, + "loss": 0.6743, + "step": 1682 + }, + { + "epoch": 0.103429203539823, + "grad_norm": 20.625, + "learning_rate": 1.9991032320719132e-05, + "loss": 0.5048, + "step": 1683 + }, + { + "epoch": 0.10349065880039332, + "grad_norm": 27.75, + "learning_rate": 1.9990933518997086e-05, + "loss": 0.539, + "step": 1684 + }, + { + "epoch": 0.10355211406096362, + "grad_norm": 30.25, + "learning_rate": 1.999083417622395e-05, + "loss": 0.4855, + "step": 1685 + }, + { + "epoch": 0.10361356932153393, + "grad_norm": 15.75, + "learning_rate": 1.9990734292405102e-05, + "loss": 0.4706, + "step": 1686 + }, + { + "epoch": 0.10367502458210423, + "grad_norm": 11.4375, + "learning_rate": 1.9990633867545956e-05, + "loss": 0.4691, + "step": 1687 + }, + { + "epoch": 0.10373647984267453, + "grad_norm": 14.1875, + "learning_rate": 1.9990532901651948e-05, + "loss": 0.4734, + "step": 1688 + }, + { + "epoch": 0.10379793510324484, + "grad_norm": 10.5, + "learning_rate": 1.9990431394728547e-05, + "loss": 0.4649, + "step": 1689 + }, + { + "epoch": 0.10385939036381514, + "grad_norm": 10.75, + "learning_rate": 1.999032934678125e-05, + "loss": 0.5539, + "step": 1690 + }, + { + "epoch": 0.10392084562438544, + "grad_norm": 6.8125, + "learning_rate": 1.9990226757815582e-05, + "loss": 0.39, + "step": 1691 + }, + { + "epoch": 0.10398230088495575, + "grad_norm": 9.8125, + "learning_rate": 1.9990123627837094e-05, + "loss": 0.3595, + "step": 1692 + }, + { + "epoch": 0.10404375614552605, + "grad_norm": 9.3125, + "learning_rate": 1.9990019956851384e-05, + "loss": 0.5008, + "step": 1693 + }, + { + "epoch": 0.10410521140609637, + "grad_norm": 19.75, + "learning_rate": 1.998991574486405e-05, + "loss": 0.5157, + "step": 1694 + }, + { + "epoch": 0.10416666666666667, + "grad_norm": 18.875, + "learning_rate": 1.998981099188075e-05, + "loss": 0.3759, + "step": 1695 + }, + { + "epoch": 0.10422812192723697, + "grad_norm": 28.875, + "learning_rate": 1.998970569790715e-05, + "loss": 0.3985, + "step": 1696 + }, + { + "epoch": 0.10428957718780728, + "grad_norm": 50.5, + "learning_rate": 1.998959986294895e-05, + "loss": 0.6884, + "step": 1697 + }, + { + "epoch": 0.10435103244837758, + "grad_norm": 38.5, + "learning_rate": 1.9989493487011883e-05, + "loss": 0.713, + "step": 1698 + }, + { + "epoch": 0.10441248770894788, + "grad_norm": 54.25, + "learning_rate": 1.9989386570101716e-05, + "loss": 0.7491, + "step": 1699 + }, + { + "epoch": 0.10447394296951819, + "grad_norm": 39.0, + "learning_rate": 1.9989279112224226e-05, + "loss": 0.6194, + "step": 1700 + }, + { + "epoch": 0.10453539823008849, + "grad_norm": 26.125, + "learning_rate": 1.998917111338525e-05, + "loss": 0.4844, + "step": 1701 + }, + { + "epoch": 0.1045968534906588, + "grad_norm": 24.875, + "learning_rate": 1.9989062573590618e-05, + "loss": 0.6842, + "step": 1702 + }, + { + "epoch": 0.10465830875122911, + "grad_norm": 8.5625, + "learning_rate": 1.9988953492846218e-05, + "loss": 0.3785, + "step": 1703 + }, + { + "epoch": 0.10471976401179942, + "grad_norm": 29.375, + "learning_rate": 1.998884387115796e-05, + "loss": 0.4311, + "step": 1704 + }, + { + "epoch": 0.10478121927236972, + "grad_norm": 38.5, + "learning_rate": 1.9988733708531772e-05, + "loss": 0.7294, + "step": 1705 + }, + { + "epoch": 0.10484267453294002, + "grad_norm": 28.375, + "learning_rate": 1.9988623004973625e-05, + "loss": 0.7229, + "step": 1706 + }, + { + "epoch": 0.10490412979351033, + "grad_norm": 6.28125, + "learning_rate": 1.9988511760489514e-05, + "loss": 0.6447, + "step": 1707 + }, + { + "epoch": 0.10496558505408063, + "grad_norm": 20.25, + "learning_rate": 1.998839997508546e-05, + "loss": 0.6963, + "step": 1708 + }, + { + "epoch": 0.10502704031465093, + "grad_norm": 63.0, + "learning_rate": 1.9988287648767523e-05, + "loss": 0.6341, + "step": 1709 + }, + { + "epoch": 0.10508849557522124, + "grad_norm": 14.9375, + "learning_rate": 1.9988174781541774e-05, + "loss": 0.3937, + "step": 1710 + }, + { + "epoch": 0.10514995083579154, + "grad_norm": 22.5, + "learning_rate": 1.9988061373414342e-05, + "loss": 0.4364, + "step": 1711 + }, + { + "epoch": 0.10521140609636184, + "grad_norm": 33.5, + "learning_rate": 1.9987947424391358e-05, + "loss": 0.4652, + "step": 1712 + }, + { + "epoch": 0.10527286135693216, + "grad_norm": 28.625, + "learning_rate": 1.9987832934478992e-05, + "loss": 0.6301, + "step": 1713 + }, + { + "epoch": 0.10533431661750246, + "grad_norm": 22.625, + "learning_rate": 1.9987717903683447e-05, + "loss": 0.6495, + "step": 1714 + }, + { + "epoch": 0.10539577187807277, + "grad_norm": 35.5, + "learning_rate": 1.9987602332010952e-05, + "loss": 0.668, + "step": 1715 + }, + { + "epoch": 0.10545722713864307, + "grad_norm": 16.25, + "learning_rate": 1.9987486219467764e-05, + "loss": 0.5514, + "step": 1716 + }, + { + "epoch": 0.10551868239921337, + "grad_norm": 17.0, + "learning_rate": 1.998736956606018e-05, + "loss": 0.5, + "step": 1717 + }, + { + "epoch": 0.10558013765978368, + "grad_norm": 35.25, + "learning_rate": 1.99872523717945e-05, + "loss": 0.5595, + "step": 1718 + }, + { + "epoch": 0.10564159292035398, + "grad_norm": 11.25, + "learning_rate": 1.998713463667709e-05, + "loss": 0.3511, + "step": 1719 + }, + { + "epoch": 0.10570304818092428, + "grad_norm": 3.78125, + "learning_rate": 1.9987016360714307e-05, + "loss": 0.3298, + "step": 1720 + }, + { + "epoch": 0.10576450344149459, + "grad_norm": 42.5, + "learning_rate": 1.998689754391257e-05, + "loss": 0.6871, + "step": 1721 + }, + { + "epoch": 0.10582595870206489, + "grad_norm": 33.0, + "learning_rate": 1.998677818627831e-05, + "loss": 0.7382, + "step": 1722 + }, + { + "epoch": 0.10588741396263521, + "grad_norm": 24.625, + "learning_rate": 1.998665828781799e-05, + "loss": 0.7832, + "step": 1723 + }, + { + "epoch": 0.10594886922320551, + "grad_norm": 37.5, + "learning_rate": 1.99865378485381e-05, + "loss": 0.6788, + "step": 1724 + }, + { + "epoch": 0.10601032448377581, + "grad_norm": 34.5, + "learning_rate": 1.9986416868445167e-05, + "loss": 0.7302, + "step": 1725 + }, + { + "epoch": 0.10607177974434612, + "grad_norm": 50.0, + "learning_rate": 1.9986295347545738e-05, + "loss": 0.6242, + "step": 1726 + }, + { + "epoch": 0.10613323500491642, + "grad_norm": 14.4375, + "learning_rate": 1.99861732858464e-05, + "loss": 0.3836, + "step": 1727 + }, + { + "epoch": 0.10619469026548672, + "grad_norm": 26.0, + "learning_rate": 1.998605068335376e-05, + "loss": 0.6436, + "step": 1728 + }, + { + "epoch": 0.10625614552605703, + "grad_norm": 46.0, + "learning_rate": 1.9985927540074453e-05, + "loss": 0.5314, + "step": 1729 + }, + { + "epoch": 0.10631760078662733, + "grad_norm": 40.0, + "learning_rate": 1.9985803856015155e-05, + "loss": 0.623, + "step": 1730 + }, + { + "epoch": 0.10637905604719763, + "grad_norm": 10.25, + "learning_rate": 1.998567963118256e-05, + "loss": 0.606, + "step": 1731 + }, + { + "epoch": 0.10644051130776795, + "grad_norm": 29.375, + "learning_rate": 1.9985554865583394e-05, + "loss": 0.5354, + "step": 1732 + }, + { + "epoch": 0.10650196656833825, + "grad_norm": 29.125, + "learning_rate": 1.998542955922442e-05, + "loss": 0.4986, + "step": 1733 + }, + { + "epoch": 0.10656342182890856, + "grad_norm": 10.875, + "learning_rate": 1.9985303712112415e-05, + "loss": 0.4722, + "step": 1734 + }, + { + "epoch": 0.10662487708947886, + "grad_norm": 48.75, + "learning_rate": 1.99851773242542e-05, + "loss": 0.4711, + "step": 1735 + }, + { + "epoch": 0.10668633235004917, + "grad_norm": 6.71875, + "learning_rate": 1.9985050395656617e-05, + "loss": 0.4718, + "step": 1736 + }, + { + "epoch": 0.10674778761061947, + "grad_norm": 21.375, + "learning_rate": 1.9984922926326543e-05, + "loss": 0.4948, + "step": 1737 + }, + { + "epoch": 0.10680924287118977, + "grad_norm": 53.25, + "learning_rate": 1.9984794916270876e-05, + "loss": 0.6574, + "step": 1738 + }, + { + "epoch": 0.10687069813176008, + "grad_norm": 33.5, + "learning_rate": 1.9984666365496555e-05, + "loss": 0.5539, + "step": 1739 + }, + { + "epoch": 0.10693215339233038, + "grad_norm": 15.25, + "learning_rate": 1.9984537274010536e-05, + "loss": 0.6014, + "step": 1740 + }, + { + "epoch": 0.10699360865290068, + "grad_norm": 11.75, + "learning_rate": 1.9984407641819812e-05, + "loss": 0.4793, + "step": 1741 + }, + { + "epoch": 0.107055063913471, + "grad_norm": 11.25, + "learning_rate": 1.99842774689314e-05, + "loss": 0.4216, + "step": 1742 + }, + { + "epoch": 0.1071165191740413, + "grad_norm": 8.8125, + "learning_rate": 1.9984146755352354e-05, + "loss": 0.4465, + "step": 1743 + }, + { + "epoch": 0.1071779744346116, + "grad_norm": 9.3125, + "learning_rate": 1.998401550108975e-05, + "loss": 0.4818, + "step": 1744 + }, + { + "epoch": 0.10723942969518191, + "grad_norm": 28.625, + "learning_rate": 1.99838837061507e-05, + "loss": 0.6439, + "step": 1745 + }, + { + "epoch": 0.10730088495575221, + "grad_norm": 106.0, + "learning_rate": 1.9983751370542334e-05, + "loss": 0.4896, + "step": 1746 + }, + { + "epoch": 0.10736234021632252, + "grad_norm": 9.4375, + "learning_rate": 1.9983618494271825e-05, + "loss": 0.5001, + "step": 1747 + }, + { + "epoch": 0.10742379547689282, + "grad_norm": 45.75, + "learning_rate": 1.998348507734636e-05, + "loss": 0.4929, + "step": 1748 + }, + { + "epoch": 0.10748525073746312, + "grad_norm": 31.25, + "learning_rate": 1.998335111977318e-05, + "loss": 0.3756, + "step": 1749 + }, + { + "epoch": 0.10754670599803343, + "grad_norm": 35.25, + "learning_rate": 1.9983216621559525e-05, + "loss": 0.4998, + "step": 1750 + }, + { + "epoch": 0.10760816125860374, + "grad_norm": 30.75, + "learning_rate": 1.9983081582712684e-05, + "loss": 0.4718, + "step": 1751 + }, + { + "epoch": 0.10766961651917405, + "grad_norm": 9.0625, + "learning_rate": 1.998294600323997e-05, + "loss": 0.3708, + "step": 1752 + }, + { + "epoch": 0.10773107177974435, + "grad_norm": 37.0, + "learning_rate": 1.998280988314872e-05, + "loss": 0.5807, + "step": 1753 + }, + { + "epoch": 0.10779252704031465, + "grad_norm": 58.5, + "learning_rate": 1.9982673222446312e-05, + "loss": 0.5386, + "step": 1754 + }, + { + "epoch": 0.10785398230088496, + "grad_norm": 5.34375, + "learning_rate": 1.998253602114015e-05, + "loss": 0.5628, + "step": 1755 + }, + { + "epoch": 0.10791543756145526, + "grad_norm": 65.5, + "learning_rate": 1.9982398279237657e-05, + "loss": 0.6032, + "step": 1756 + }, + { + "epoch": 0.10797689282202556, + "grad_norm": 60.5, + "learning_rate": 1.998225999674629e-05, + "loss": 0.5538, + "step": 1757 + }, + { + "epoch": 0.10803834808259587, + "grad_norm": 34.5, + "learning_rate": 1.9982121173673542e-05, + "loss": 0.5654, + "step": 1758 + }, + { + "epoch": 0.10809980334316617, + "grad_norm": 35.5, + "learning_rate": 1.9981981810026932e-05, + "loss": 0.3955, + "step": 1759 + }, + { + "epoch": 0.10816125860373647, + "grad_norm": 26.0, + "learning_rate": 1.998184190581401e-05, + "loss": 0.4848, + "step": 1760 + }, + { + "epoch": 0.10822271386430679, + "grad_norm": 19.0, + "learning_rate": 1.998170146104234e-05, + "loss": 0.5413, + "step": 1761 + }, + { + "epoch": 0.1082841691248771, + "grad_norm": 10.875, + "learning_rate": 1.998156047571954e-05, + "loss": 0.5592, + "step": 1762 + }, + { + "epoch": 0.1083456243854474, + "grad_norm": 11.875, + "learning_rate": 1.998141894985324e-05, + "loss": 0.4617, + "step": 1763 + }, + { + "epoch": 0.1084070796460177, + "grad_norm": 38.5, + "learning_rate": 1.9981276883451107e-05, + "loss": 0.486, + "step": 1764 + }, + { + "epoch": 0.108468534906588, + "grad_norm": 6.1875, + "learning_rate": 1.9981134276520828e-05, + "loss": 0.3595, + "step": 1765 + }, + { + "epoch": 0.10852999016715831, + "grad_norm": 47.75, + "learning_rate": 1.998099112907013e-05, + "loss": 0.5574, + "step": 1766 + }, + { + "epoch": 0.10859144542772861, + "grad_norm": 27.625, + "learning_rate": 1.998084744110677e-05, + "loss": 0.4474, + "step": 1767 + }, + { + "epoch": 0.10865290068829891, + "grad_norm": 39.25, + "learning_rate": 1.9980703212638522e-05, + "loss": 0.4586, + "step": 1768 + }, + { + "epoch": 0.10871435594886922, + "grad_norm": 22.375, + "learning_rate": 1.99805584436732e-05, + "loss": 0.6056, + "step": 1769 + }, + { + "epoch": 0.10877581120943952, + "grad_norm": 14.5625, + "learning_rate": 1.998041313421864e-05, + "loss": 0.7046, + "step": 1770 + }, + { + "epoch": 0.10883726647000984, + "grad_norm": 23.25, + "learning_rate": 1.9980267284282718e-05, + "loss": 0.7499, + "step": 1771 + }, + { + "epoch": 0.10889872173058014, + "grad_norm": 41.75, + "learning_rate": 1.9980120893873324e-05, + "loss": 0.7948, + "step": 1772 + }, + { + "epoch": 0.10896017699115045, + "grad_norm": 15.5625, + "learning_rate": 1.9979973962998396e-05, + "loss": 0.5272, + "step": 1773 + }, + { + "epoch": 0.10902163225172075, + "grad_norm": 39.75, + "learning_rate": 1.997982649166588e-05, + "loss": 0.7371, + "step": 1774 + }, + { + "epoch": 0.10908308751229105, + "grad_norm": 5.84375, + "learning_rate": 1.997967847988377e-05, + "loss": 0.4769, + "step": 1775 + }, + { + "epoch": 0.10914454277286136, + "grad_norm": 20.75, + "learning_rate": 1.9979529927660076e-05, + "loss": 0.3689, + "step": 1776 + }, + { + "epoch": 0.10920599803343166, + "grad_norm": 28.25, + "learning_rate": 1.9979380835002846e-05, + "loss": 0.5754, + "step": 1777 + }, + { + "epoch": 0.10926745329400196, + "grad_norm": 72.0, + "learning_rate": 1.9979231201920154e-05, + "loss": 0.5654, + "step": 1778 + }, + { + "epoch": 0.10932890855457227, + "grad_norm": 26.625, + "learning_rate": 1.9979081028420105e-05, + "loss": 0.5503, + "step": 1779 + }, + { + "epoch": 0.10939036381514258, + "grad_norm": 20.625, + "learning_rate": 1.9978930314510826e-05, + "loss": 0.5304, + "step": 1780 + }, + { + "epoch": 0.10945181907571289, + "grad_norm": 28.0, + "learning_rate": 1.9978779060200483e-05, + "loss": 0.5729, + "step": 1781 + }, + { + "epoch": 0.10951327433628319, + "grad_norm": 12.6875, + "learning_rate": 1.9978627265497262e-05, + "loss": 0.4955, + "step": 1782 + }, + { + "epoch": 0.10957472959685349, + "grad_norm": 29.0, + "learning_rate": 1.9978474930409396e-05, + "loss": 0.598, + "step": 1783 + }, + { + "epoch": 0.1096361848574238, + "grad_norm": 17.0, + "learning_rate": 1.997832205494512e-05, + "loss": 0.6184, + "step": 1784 + }, + { + "epoch": 0.1096976401179941, + "grad_norm": 16.625, + "learning_rate": 1.997816863911272e-05, + "loss": 0.5125, + "step": 1785 + }, + { + "epoch": 0.1097590953785644, + "grad_norm": 38.75, + "learning_rate": 1.9978014682920503e-05, + "loss": 0.6683, + "step": 1786 + }, + { + "epoch": 0.1098205506391347, + "grad_norm": 50.75, + "learning_rate": 1.9977860186376804e-05, + "loss": 0.6064, + "step": 1787 + }, + { + "epoch": 0.10988200589970501, + "grad_norm": 9.0, + "learning_rate": 1.9977705149489996e-05, + "loss": 0.3939, + "step": 1788 + }, + { + "epoch": 0.10994346116027531, + "grad_norm": 11.9375, + "learning_rate": 1.997754957226847e-05, + "loss": 0.3928, + "step": 1789 + }, + { + "epoch": 0.11000491642084563, + "grad_norm": 23.375, + "learning_rate": 1.9977393454720646e-05, + "loss": 0.4789, + "step": 1790 + }, + { + "epoch": 0.11006637168141593, + "grad_norm": 12.5, + "learning_rate": 1.997723679685499e-05, + "loss": 0.4058, + "step": 1791 + }, + { + "epoch": 0.11012782694198624, + "grad_norm": 9.0, + "learning_rate": 1.9977079598679978e-05, + "loss": 0.4885, + "step": 1792 + }, + { + "epoch": 0.11018928220255654, + "grad_norm": 44.75, + "learning_rate": 1.997692186020413e-05, + "loss": 0.4216, + "step": 1793 + }, + { + "epoch": 0.11025073746312684, + "grad_norm": 39.0, + "learning_rate": 1.997676358143598e-05, + "loss": 0.4548, + "step": 1794 + }, + { + "epoch": 0.11031219272369715, + "grad_norm": 20.125, + "learning_rate": 1.99766047623841e-05, + "loss": 0.4144, + "step": 1795 + }, + { + "epoch": 0.11037364798426745, + "grad_norm": 41.0, + "learning_rate": 1.9976445403057095e-05, + "loss": 0.283, + "step": 1796 + }, + { + "epoch": 0.11043510324483775, + "grad_norm": 9.0, + "learning_rate": 1.9976285503463593e-05, + "loss": 0.3986, + "step": 1797 + }, + { + "epoch": 0.11049655850540806, + "grad_norm": 10.75, + "learning_rate": 1.9976125063612254e-05, + "loss": 0.3914, + "step": 1798 + }, + { + "epoch": 0.11055801376597837, + "grad_norm": 37.5, + "learning_rate": 1.9975964083511768e-05, + "loss": 0.4547, + "step": 1799 + }, + { + "epoch": 0.11061946902654868, + "grad_norm": 14.75, + "learning_rate": 1.9975802563170846e-05, + "loss": 0.403, + "step": 1800 + }, + { + "epoch": 0.11068092428711898, + "grad_norm": 15.0, + "learning_rate": 1.9975640502598243e-05, + "loss": 0.4122, + "step": 1801 + }, + { + "epoch": 0.11074237954768928, + "grad_norm": 24.125, + "learning_rate": 1.9975477901802734e-05, + "loss": 0.5104, + "step": 1802 + }, + { + "epoch": 0.11080383480825959, + "grad_norm": 17.125, + "learning_rate": 1.997531476079312e-05, + "loss": 0.4515, + "step": 1803 + }, + { + "epoch": 0.11086529006882989, + "grad_norm": 78.0, + "learning_rate": 1.9975151079578238e-05, + "loss": 0.4663, + "step": 1804 + }, + { + "epoch": 0.1109267453294002, + "grad_norm": 33.5, + "learning_rate": 1.9974986858166954e-05, + "loss": 0.4599, + "step": 1805 + }, + { + "epoch": 0.1109882005899705, + "grad_norm": 10.4375, + "learning_rate": 1.9974822096568157e-05, + "loss": 0.5938, + "step": 1806 + }, + { + "epoch": 0.1110496558505408, + "grad_norm": 58.5, + "learning_rate": 1.9974656794790777e-05, + "loss": 0.6857, + "step": 1807 + }, + { + "epoch": 0.1111111111111111, + "grad_norm": 25.25, + "learning_rate": 1.997449095284376e-05, + "loss": 0.5636, + "step": 1808 + }, + { + "epoch": 0.11117256637168142, + "grad_norm": 43.5, + "learning_rate": 1.9974324570736087e-05, + "loss": 0.7875, + "step": 1809 + }, + { + "epoch": 0.11123402163225173, + "grad_norm": 36.0, + "learning_rate": 1.9974157648476768e-05, + "loss": 0.6296, + "step": 1810 + }, + { + "epoch": 0.11129547689282203, + "grad_norm": 73.5, + "learning_rate": 1.9973990186074844e-05, + "loss": 0.7205, + "step": 1811 + }, + { + "epoch": 0.11135693215339233, + "grad_norm": 43.25, + "learning_rate": 1.9973822183539384e-05, + "loss": 0.6143, + "step": 1812 + }, + { + "epoch": 0.11141838741396264, + "grad_norm": 36.25, + "learning_rate": 1.9973653640879486e-05, + "loss": 0.7, + "step": 1813 + }, + { + "epoch": 0.11147984267453294, + "grad_norm": 44.25, + "learning_rate": 1.997348455810428e-05, + "loss": 0.5676, + "step": 1814 + }, + { + "epoch": 0.11154129793510324, + "grad_norm": 28.5, + "learning_rate": 1.9973314935222917e-05, + "loss": 0.6433, + "step": 1815 + }, + { + "epoch": 0.11160275319567355, + "grad_norm": 45.0, + "learning_rate": 1.997314477224458e-05, + "loss": 0.5414, + "step": 1816 + }, + { + "epoch": 0.11166420845624385, + "grad_norm": 45.5, + "learning_rate": 1.9972974069178498e-05, + "loss": 0.4317, + "step": 1817 + }, + { + "epoch": 0.11172566371681415, + "grad_norm": 25.125, + "learning_rate": 1.99728028260339e-05, + "loss": 0.4421, + "step": 1818 + }, + { + "epoch": 0.11178711897738447, + "grad_norm": 24.625, + "learning_rate": 1.997263104282007e-05, + "loss": 0.4677, + "step": 1819 + }, + { + "epoch": 0.11184857423795477, + "grad_norm": 13.1875, + "learning_rate": 1.9972458719546307e-05, + "loss": 0.3855, + "step": 1820 + }, + { + "epoch": 0.11191002949852508, + "grad_norm": 27.25, + "learning_rate": 1.9972285856221944e-05, + "loss": 0.4087, + "step": 1821 + }, + { + "epoch": 0.11197148475909538, + "grad_norm": 6.40625, + "learning_rate": 1.997211245285634e-05, + "loss": 0.3288, + "step": 1822 + }, + { + "epoch": 0.11203294001966568, + "grad_norm": 21.125, + "learning_rate": 1.9971938509458888e-05, + "loss": 0.3195, + "step": 1823 + }, + { + "epoch": 0.11209439528023599, + "grad_norm": 18.375, + "learning_rate": 1.9971764026039005e-05, + "loss": 0.5184, + "step": 1824 + }, + { + "epoch": 0.11215585054080629, + "grad_norm": 17.125, + "learning_rate": 1.997158900260614e-05, + "loss": 0.5094, + "step": 1825 + }, + { + "epoch": 0.1122173058013766, + "grad_norm": 22.75, + "learning_rate": 1.9971413439169777e-05, + "loss": 0.5112, + "step": 1826 + }, + { + "epoch": 0.1122787610619469, + "grad_norm": 26.5, + "learning_rate": 1.9971237335739416e-05, + "loss": 0.5052, + "step": 1827 + }, + { + "epoch": 0.11234021632251721, + "grad_norm": 18.25, + "learning_rate": 1.99710606923246e-05, + "loss": 0.5202, + "step": 1828 + }, + { + "epoch": 0.11240167158308752, + "grad_norm": 17.625, + "learning_rate": 1.997088350893489e-05, + "loss": 0.5362, + "step": 1829 + }, + { + "epoch": 0.11246312684365782, + "grad_norm": 26.75, + "learning_rate": 1.9970705785579882e-05, + "loss": 0.6664, + "step": 1830 + }, + { + "epoch": 0.11252458210422812, + "grad_norm": 24.875, + "learning_rate": 1.9970527522269204e-05, + "loss": 0.5387, + "step": 1831 + }, + { + "epoch": 0.11258603736479843, + "grad_norm": 15.6875, + "learning_rate": 1.997034871901251e-05, + "loss": 0.3272, + "step": 1832 + }, + { + "epoch": 0.11264749262536873, + "grad_norm": 18.625, + "learning_rate": 1.9970169375819475e-05, + "loss": 0.6959, + "step": 1833 + }, + { + "epoch": 0.11270894788593903, + "grad_norm": 17.625, + "learning_rate": 1.996998949269982e-05, + "loss": 0.6524, + "step": 1834 + }, + { + "epoch": 0.11277040314650934, + "grad_norm": 25.0, + "learning_rate": 1.996980906966328e-05, + "loss": 0.8149, + "step": 1835 + }, + { + "epoch": 0.11283185840707964, + "grad_norm": 8.4375, + "learning_rate": 1.9969628106719632e-05, + "loss": 0.6222, + "step": 1836 + }, + { + "epoch": 0.11289331366764994, + "grad_norm": 15.9375, + "learning_rate": 1.9969446603878673e-05, + "loss": 0.4338, + "step": 1837 + }, + { + "epoch": 0.11295476892822026, + "grad_norm": 25.75, + "learning_rate": 1.996926456115023e-05, + "loss": 0.6691, + "step": 1838 + }, + { + "epoch": 0.11301622418879056, + "grad_norm": 13.0, + "learning_rate": 1.9969081978544163e-05, + "loss": 0.5539, + "step": 1839 + }, + { + "epoch": 0.11307767944936087, + "grad_norm": 30.5, + "learning_rate": 1.996889885607036e-05, + "loss": 0.7009, + "step": 1840 + }, + { + "epoch": 0.11313913470993117, + "grad_norm": 43.5, + "learning_rate": 1.9968715193738738e-05, + "loss": 0.74, + "step": 1841 + }, + { + "epoch": 0.11320058997050148, + "grad_norm": 41.25, + "learning_rate": 1.9968530991559244e-05, + "loss": 0.592, + "step": 1842 + }, + { + "epoch": 0.11326204523107178, + "grad_norm": 39.75, + "learning_rate": 1.9968346249541848e-05, + "loss": 0.5829, + "step": 1843 + }, + { + "epoch": 0.11332350049164208, + "grad_norm": 30.875, + "learning_rate": 1.9968160967696565e-05, + "loss": 0.6194, + "step": 1844 + }, + { + "epoch": 0.11338495575221239, + "grad_norm": 35.75, + "learning_rate": 1.9967975146033417e-05, + "loss": 0.7347, + "step": 1845 + }, + { + "epoch": 0.11344641101278269, + "grad_norm": 10.5625, + "learning_rate": 1.9967788784562474e-05, + "loss": 0.5696, + "step": 1846 + }, + { + "epoch": 0.113507866273353, + "grad_norm": 41.75, + "learning_rate": 1.9967601883293826e-05, + "loss": 0.5031, + "step": 1847 + }, + { + "epoch": 0.11356932153392331, + "grad_norm": 14.6875, + "learning_rate": 1.9967414442237595e-05, + "loss": 0.4634, + "step": 1848 + }, + { + "epoch": 0.11363077679449361, + "grad_norm": 27.375, + "learning_rate": 1.9967226461403934e-05, + "loss": 0.5535, + "step": 1849 + }, + { + "epoch": 0.11369223205506392, + "grad_norm": 32.25, + "learning_rate": 1.9967037940803016e-05, + "loss": 0.6167, + "step": 1850 + }, + { + "epoch": 0.11375368731563422, + "grad_norm": 18.75, + "learning_rate": 1.996684888044506e-05, + "loss": 0.5572, + "step": 1851 + }, + { + "epoch": 0.11381514257620452, + "grad_norm": 12.75, + "learning_rate": 1.99666592803403e-05, + "loss": 0.4397, + "step": 1852 + }, + { + "epoch": 0.11387659783677483, + "grad_norm": 8.1875, + "learning_rate": 1.9966469140499e-05, + "loss": 0.609, + "step": 1853 + }, + { + "epoch": 0.11393805309734513, + "grad_norm": 13.625, + "learning_rate": 1.9966278460931463e-05, + "loss": 0.3777, + "step": 1854 + }, + { + "epoch": 0.11399950835791543, + "grad_norm": 20.125, + "learning_rate": 1.996608724164801e-05, + "loss": 0.4651, + "step": 1855 + }, + { + "epoch": 0.11406096361848574, + "grad_norm": 12.5, + "learning_rate": 1.9965895482659e-05, + "loss": 0.5072, + "step": 1856 + }, + { + "epoch": 0.11412241887905605, + "grad_norm": 20.0, + "learning_rate": 1.9965703183974813e-05, + "loss": 0.6233, + "step": 1857 + }, + { + "epoch": 0.11418387413962636, + "grad_norm": 20.875, + "learning_rate": 1.9965510345605866e-05, + "loss": 0.6148, + "step": 1858 + }, + { + "epoch": 0.11424532940019666, + "grad_norm": 24.125, + "learning_rate": 1.9965316967562606e-05, + "loss": 0.7652, + "step": 1859 + }, + { + "epoch": 0.11430678466076696, + "grad_norm": 42.75, + "learning_rate": 1.9965123049855498e-05, + "loss": 0.7911, + "step": 1860 + }, + { + "epoch": 0.11436823992133727, + "grad_norm": 22.375, + "learning_rate": 1.9964928592495046e-05, + "loss": 0.7689, + "step": 1861 + }, + { + "epoch": 0.11442969518190757, + "grad_norm": 18.0, + "learning_rate": 1.996473359549178e-05, + "loss": 0.5049, + "step": 1862 + }, + { + "epoch": 0.11449115044247787, + "grad_norm": 18.5, + "learning_rate": 1.9964538058856263e-05, + "loss": 0.6148, + "step": 1863 + }, + { + "epoch": 0.11455260570304818, + "grad_norm": 12.6875, + "learning_rate": 1.996434198259908e-05, + "loss": 0.435, + "step": 1864 + }, + { + "epoch": 0.11461406096361848, + "grad_norm": 34.25, + "learning_rate": 1.9964145366730854e-05, + "loss": 0.4826, + "step": 1865 + }, + { + "epoch": 0.11467551622418878, + "grad_norm": 13.8125, + "learning_rate": 1.9963948211262233e-05, + "loss": 0.5486, + "step": 1866 + }, + { + "epoch": 0.1147369714847591, + "grad_norm": 13.875, + "learning_rate": 1.9963750516203887e-05, + "loss": 0.522, + "step": 1867 + }, + { + "epoch": 0.1147984267453294, + "grad_norm": 12.0625, + "learning_rate": 1.9963552281566523e-05, + "loss": 0.5836, + "step": 1868 + }, + { + "epoch": 0.11485988200589971, + "grad_norm": 36.5, + "learning_rate": 1.9963353507360884e-05, + "loss": 0.4916, + "step": 1869 + }, + { + "epoch": 0.11492133726647001, + "grad_norm": 29.0, + "learning_rate": 1.9963154193597728e-05, + "loss": 0.5142, + "step": 1870 + }, + { + "epoch": 0.11498279252704031, + "grad_norm": 14.5, + "learning_rate": 1.996295434028785e-05, + "loss": 0.3301, + "step": 1871 + }, + { + "epoch": 0.11504424778761062, + "grad_norm": 11.9375, + "learning_rate": 1.9962753947442072e-05, + "loss": 0.3774, + "step": 1872 + }, + { + "epoch": 0.11510570304818092, + "grad_norm": 29.875, + "learning_rate": 1.996255301507125e-05, + "loss": 0.6848, + "step": 1873 + }, + { + "epoch": 0.11516715830875122, + "grad_norm": 5.9375, + "learning_rate": 1.996235154318626e-05, + "loss": 0.717, + "step": 1874 + }, + { + "epoch": 0.11522861356932153, + "grad_norm": 14.8125, + "learning_rate": 1.9962149531798015e-05, + "loss": 0.6016, + "step": 1875 + }, + { + "epoch": 0.11529006882989185, + "grad_norm": 11.5625, + "learning_rate": 1.9961946980917457e-05, + "loss": 0.5468, + "step": 1876 + }, + { + "epoch": 0.11535152409046215, + "grad_norm": 33.75, + "learning_rate": 1.9961743890555553e-05, + "loss": 0.4646, + "step": 1877 + }, + { + "epoch": 0.11541297935103245, + "grad_norm": 13.1875, + "learning_rate": 1.99615402607233e-05, + "loss": 0.4641, + "step": 1878 + }, + { + "epoch": 0.11547443461160276, + "grad_norm": 13.625, + "learning_rate": 1.9961336091431728e-05, + "loss": 0.5797, + "step": 1879 + }, + { + "epoch": 0.11553588987217306, + "grad_norm": 11.125, + "learning_rate": 1.996113138269189e-05, + "loss": 0.3914, + "step": 1880 + }, + { + "epoch": 0.11559734513274336, + "grad_norm": 40.5, + "learning_rate": 1.9960926134514875e-05, + "loss": 0.6931, + "step": 1881 + }, + { + "epoch": 0.11565880039331367, + "grad_norm": 53.0, + "learning_rate": 1.9960720346911798e-05, + "loss": 0.7989, + "step": 1882 + }, + { + "epoch": 0.11572025565388397, + "grad_norm": 48.25, + "learning_rate": 1.99605140198938e-05, + "loss": 0.8516, + "step": 1883 + }, + { + "epoch": 0.11578171091445427, + "grad_norm": 8.3125, + "learning_rate": 1.996030715347206e-05, + "loss": 0.5719, + "step": 1884 + }, + { + "epoch": 0.11584316617502458, + "grad_norm": 12.375, + "learning_rate": 1.9960099747657774e-05, + "loss": 0.6435, + "step": 1885 + }, + { + "epoch": 0.11590462143559489, + "grad_norm": 12.75, + "learning_rate": 1.995989180246218e-05, + "loss": 0.509, + "step": 1886 + }, + { + "epoch": 0.1159660766961652, + "grad_norm": 22.25, + "learning_rate": 1.9959683317896535e-05, + "loss": 0.5274, + "step": 1887 + }, + { + "epoch": 0.1160275319567355, + "grad_norm": 47.75, + "learning_rate": 1.995947429397213e-05, + "loss": 0.7349, + "step": 1888 + }, + { + "epoch": 0.1160889872173058, + "grad_norm": 33.0, + "learning_rate": 1.995926473070029e-05, + "loss": 0.4721, + "step": 1889 + }, + { + "epoch": 0.1161504424778761, + "grad_norm": 18.75, + "learning_rate": 1.9959054628092353e-05, + "loss": 0.5948, + "step": 1890 + }, + { + "epoch": 0.11621189773844641, + "grad_norm": 46.5, + "learning_rate": 1.9958843986159705e-05, + "loss": 0.5243, + "step": 1891 + }, + { + "epoch": 0.11627335299901671, + "grad_norm": 65.5, + "learning_rate": 1.9958632804913753e-05, + "loss": 0.5539, + "step": 1892 + }, + { + "epoch": 0.11633480825958702, + "grad_norm": 33.5, + "learning_rate": 1.9958421084365928e-05, + "loss": 0.4856, + "step": 1893 + }, + { + "epoch": 0.11639626352015732, + "grad_norm": 30.125, + "learning_rate": 1.9958208824527702e-05, + "loss": 0.5976, + "step": 1894 + }, + { + "epoch": 0.11645771878072764, + "grad_norm": 63.25, + "learning_rate": 1.9957996025410565e-05, + "loss": 0.4858, + "step": 1895 + }, + { + "epoch": 0.11651917404129794, + "grad_norm": 27.25, + "learning_rate": 1.9957782687026046e-05, + "loss": 0.5822, + "step": 1896 + }, + { + "epoch": 0.11658062930186824, + "grad_norm": 46.25, + "learning_rate": 1.9957568809385693e-05, + "loss": 0.4152, + "step": 1897 + }, + { + "epoch": 0.11664208456243855, + "grad_norm": 45.25, + "learning_rate": 1.9957354392501092e-05, + "loss": 0.4972, + "step": 1898 + }, + { + "epoch": 0.11670353982300885, + "grad_norm": 44.75, + "learning_rate": 1.995713943638385e-05, + "loss": 0.5448, + "step": 1899 + }, + { + "epoch": 0.11676499508357915, + "grad_norm": 33.25, + "learning_rate": 1.9956923941045613e-05, + "loss": 0.4045, + "step": 1900 + }, + { + "epoch": 0.11682645034414946, + "grad_norm": 38.75, + "learning_rate": 1.9956707906498046e-05, + "loss": 0.4992, + "step": 1901 + }, + { + "epoch": 0.11688790560471976, + "grad_norm": 20.75, + "learning_rate": 1.995649133275285e-05, + "loss": 0.4209, + "step": 1902 + }, + { + "epoch": 0.11694936086529006, + "grad_norm": 35.0, + "learning_rate": 1.995627421982176e-05, + "loss": 0.4744, + "step": 1903 + }, + { + "epoch": 0.11701081612586037, + "grad_norm": 9.4375, + "learning_rate": 1.995605656771652e-05, + "loss": 0.4039, + "step": 1904 + }, + { + "epoch": 0.11707227138643068, + "grad_norm": 23.0, + "learning_rate": 1.9955838376448933e-05, + "loss": 0.4875, + "step": 1905 + }, + { + "epoch": 0.11713372664700099, + "grad_norm": 23.375, + "learning_rate": 1.99556196460308e-05, + "loss": 0.6234, + "step": 1906 + }, + { + "epoch": 0.11719518190757129, + "grad_norm": 26.625, + "learning_rate": 1.9955400376473977e-05, + "loss": 0.5063, + "step": 1907 + }, + { + "epoch": 0.1172566371681416, + "grad_norm": 20.75, + "learning_rate": 1.9955180567790332e-05, + "loss": 0.6176, + "step": 1908 + }, + { + "epoch": 0.1173180924287119, + "grad_norm": 14.8125, + "learning_rate": 1.995496021999177e-05, + "loss": 0.4577, + "step": 1909 + }, + { + "epoch": 0.1173795476892822, + "grad_norm": 24.625, + "learning_rate": 1.995473933309023e-05, + "loss": 0.4337, + "step": 1910 + }, + { + "epoch": 0.1174410029498525, + "grad_norm": 7.25, + "learning_rate": 1.9954517907097663e-05, + "loss": 0.4849, + "step": 1911 + }, + { + "epoch": 0.11750245821042281, + "grad_norm": 16.125, + "learning_rate": 1.9954295942026065e-05, + "loss": 0.585, + "step": 1912 + }, + { + "epoch": 0.11756391347099311, + "grad_norm": 45.25, + "learning_rate": 1.9954073437887457e-05, + "loss": 0.5748, + "step": 1913 + }, + { + "epoch": 0.11762536873156341, + "grad_norm": 38.25, + "learning_rate": 1.995385039469389e-05, + "loss": 0.4938, + "step": 1914 + }, + { + "epoch": 0.11768682399213373, + "grad_norm": 29.875, + "learning_rate": 1.995362681245744e-05, + "loss": 0.7121, + "step": 1915 + }, + { + "epoch": 0.11774827925270404, + "grad_norm": 34.5, + "learning_rate": 1.9953402691190218e-05, + "loss": 0.5834, + "step": 1916 + }, + { + "epoch": 0.11780973451327434, + "grad_norm": 9.125, + "learning_rate": 1.9953178030904357e-05, + "loss": 0.5756, + "step": 1917 + }, + { + "epoch": 0.11787118977384464, + "grad_norm": 8.125, + "learning_rate": 1.9952952831612027e-05, + "loss": 0.531, + "step": 1918 + }, + { + "epoch": 0.11793264503441495, + "grad_norm": 20.25, + "learning_rate": 1.9952727093325423e-05, + "loss": 0.3872, + "step": 1919 + }, + { + "epoch": 0.11799410029498525, + "grad_norm": 21.25, + "learning_rate": 1.9952500816056765e-05, + "loss": 0.3882, + "step": 1920 + }, + { + "epoch": 0.11805555555555555, + "grad_norm": 5.21875, + "learning_rate": 1.9952273999818312e-05, + "loss": 0.527, + "step": 1921 + }, + { + "epoch": 0.11811701081612586, + "grad_norm": 15.9375, + "learning_rate": 1.9952046644622346e-05, + "loss": 0.4709, + "step": 1922 + }, + { + "epoch": 0.11817846607669616, + "grad_norm": 27.5, + "learning_rate": 1.995181875048118e-05, + "loss": 0.3579, + "step": 1923 + }, + { + "epoch": 0.11823992133726648, + "grad_norm": 30.875, + "learning_rate": 1.9951590317407152e-05, + "loss": 0.4172, + "step": 1924 + }, + { + "epoch": 0.11830137659783678, + "grad_norm": 33.0, + "learning_rate": 1.9951361345412636e-05, + "loss": 0.6696, + "step": 1925 + }, + { + "epoch": 0.11836283185840708, + "grad_norm": 31.125, + "learning_rate": 1.9951131834510034e-05, + "loss": 0.3767, + "step": 1926 + }, + { + "epoch": 0.11842428711897739, + "grad_norm": 7.96875, + "learning_rate": 1.9950901784711765e-05, + "loss": 0.4291, + "step": 1927 + }, + { + "epoch": 0.11848574237954769, + "grad_norm": 69.0, + "learning_rate": 1.9950671196030298e-05, + "loss": 0.4201, + "step": 1928 + }, + { + "epoch": 0.118547197640118, + "grad_norm": 28.75, + "learning_rate": 1.9950440068478115e-05, + "loss": 0.7555, + "step": 1929 + }, + { + "epoch": 0.1186086529006883, + "grad_norm": 58.75, + "learning_rate": 1.9950208402067735e-05, + "loss": 0.7644, + "step": 1930 + }, + { + "epoch": 0.1186701081612586, + "grad_norm": 47.25, + "learning_rate": 1.99499761968117e-05, + "loss": 0.7416, + "step": 1931 + }, + { + "epoch": 0.1187315634218289, + "grad_norm": 38.25, + "learning_rate": 1.994974345272259e-05, + "loss": 0.498, + "step": 1932 + }, + { + "epoch": 0.1187930186823992, + "grad_norm": 36.5, + "learning_rate": 1.9949510169813006e-05, + "loss": 0.6546, + "step": 1933 + }, + { + "epoch": 0.11885447394296952, + "grad_norm": 38.75, + "learning_rate": 1.9949276348095576e-05, + "loss": 0.6238, + "step": 1934 + }, + { + "epoch": 0.11891592920353983, + "grad_norm": 21.625, + "learning_rate": 1.9949041987582975e-05, + "loss": 0.5189, + "step": 1935 + }, + { + "epoch": 0.11897738446411013, + "grad_norm": 23.75, + "learning_rate": 1.9948807088287884e-05, + "loss": 0.4802, + "step": 1936 + }, + { + "epoch": 0.11903883972468043, + "grad_norm": 41.25, + "learning_rate": 1.9948571650223027e-05, + "loss": 0.6451, + "step": 1937 + }, + { + "epoch": 0.11910029498525074, + "grad_norm": 27.25, + "learning_rate": 1.9948335673401157e-05, + "loss": 0.6864, + "step": 1938 + }, + { + "epoch": 0.11916175024582104, + "grad_norm": 38.0, + "learning_rate": 1.994809915783505e-05, + "loss": 0.5372, + "step": 1939 + }, + { + "epoch": 0.11922320550639134, + "grad_norm": 60.0, + "learning_rate": 1.994786210353751e-05, + "loss": 0.5996, + "step": 1940 + }, + { + "epoch": 0.11928466076696165, + "grad_norm": 35.75, + "learning_rate": 1.9947624510521385e-05, + "loss": 0.4957, + "step": 1941 + }, + { + "epoch": 0.11934611602753195, + "grad_norm": 25.625, + "learning_rate": 1.9947386378799534e-05, + "loss": 0.4601, + "step": 1942 + }, + { + "epoch": 0.11940757128810227, + "grad_norm": 12.4375, + "learning_rate": 1.9947147708384858e-05, + "loss": 0.3769, + "step": 1943 + }, + { + "epoch": 0.11946902654867257, + "grad_norm": 15.3125, + "learning_rate": 1.9946908499290275e-05, + "loss": 0.4424, + "step": 1944 + }, + { + "epoch": 0.11953048180924288, + "grad_norm": 21.0, + "learning_rate": 1.9946668751528745e-05, + "loss": 0.501, + "step": 1945 + }, + { + "epoch": 0.11959193706981318, + "grad_norm": 25.75, + "learning_rate": 1.9946428465113244e-05, + "loss": 0.4752, + "step": 1946 + }, + { + "epoch": 0.11965339233038348, + "grad_norm": 21.625, + "learning_rate": 1.9946187640056794e-05, + "loss": 0.5517, + "step": 1947 + }, + { + "epoch": 0.11971484759095379, + "grad_norm": 23.625, + "learning_rate": 1.9945946276372435e-05, + "loss": 0.4254, + "step": 1948 + }, + { + "epoch": 0.11977630285152409, + "grad_norm": 11.3125, + "learning_rate": 1.994570437407323e-05, + "loss": 0.463, + "step": 1949 + }, + { + "epoch": 0.11983775811209439, + "grad_norm": 5.1875, + "learning_rate": 1.994546193317229e-05, + "loss": 0.4918, + "step": 1950 + }, + { + "epoch": 0.1198992133726647, + "grad_norm": 12.625, + "learning_rate": 1.9945218953682736e-05, + "loss": 0.3255, + "step": 1951 + }, + { + "epoch": 0.119960668633235, + "grad_norm": 20.0, + "learning_rate": 1.994497543561773e-05, + "loss": 0.2954, + "step": 1952 + }, + { + "epoch": 0.12002212389380532, + "grad_norm": 28.25, + "learning_rate": 1.9944731378990452e-05, + "loss": 0.6378, + "step": 1953 + }, + { + "epoch": 0.12008357915437562, + "grad_norm": 25.625, + "learning_rate": 1.9944486783814135e-05, + "loss": 0.526, + "step": 1954 + }, + { + "epoch": 0.12014503441494592, + "grad_norm": 15.25, + "learning_rate": 1.994424165010201e-05, + "loss": 0.3548, + "step": 1955 + }, + { + "epoch": 0.12020648967551623, + "grad_norm": 10.8125, + "learning_rate": 1.9943995977867358e-05, + "loss": 0.5702, + "step": 1956 + }, + { + "epoch": 0.12026794493608653, + "grad_norm": 9.375, + "learning_rate": 1.994374976712348e-05, + "loss": 0.4634, + "step": 1957 + }, + { + "epoch": 0.12032940019665683, + "grad_norm": 8.1875, + "learning_rate": 1.9943503017883716e-05, + "loss": 0.5298, + "step": 1958 + }, + { + "epoch": 0.12039085545722714, + "grad_norm": 3.890625, + "learning_rate": 1.994325573016142e-05, + "loss": 0.3792, + "step": 1959 + }, + { + "epoch": 0.12045231071779744, + "grad_norm": 9.8125, + "learning_rate": 1.994300790396999e-05, + "loss": 0.5573, + "step": 1960 + }, + { + "epoch": 0.12051376597836774, + "grad_norm": 36.0, + "learning_rate": 1.9942759539322845e-05, + "loss": 0.5288, + "step": 1961 + }, + { + "epoch": 0.12057522123893805, + "grad_norm": 13.375, + "learning_rate": 1.9942510636233435e-05, + "loss": 0.4077, + "step": 1962 + }, + { + "epoch": 0.12063667649950836, + "grad_norm": 48.0, + "learning_rate": 1.9942261194715236e-05, + "loss": 0.6043, + "step": 1963 + }, + { + "epoch": 0.12069813176007867, + "grad_norm": 15.75, + "learning_rate": 1.994201121478176e-05, + "loss": 0.4062, + "step": 1964 + }, + { + "epoch": 0.12075958702064897, + "grad_norm": 11.3125, + "learning_rate": 1.9941760696446546e-05, + "loss": 0.3833, + "step": 1965 + }, + { + "epoch": 0.12082104228121927, + "grad_norm": 40.0, + "learning_rate": 1.9941509639723155e-05, + "loss": 0.65, + "step": 1966 + }, + { + "epoch": 0.12088249754178958, + "grad_norm": 51.25, + "learning_rate": 1.994125804462519e-05, + "loss": 0.4981, + "step": 1967 + }, + { + "epoch": 0.12094395280235988, + "grad_norm": 24.625, + "learning_rate": 1.994100591116627e-05, + "loss": 0.476, + "step": 1968 + }, + { + "epoch": 0.12100540806293018, + "grad_norm": 60.5, + "learning_rate": 1.9940753239360047e-05, + "loss": 0.6537, + "step": 1969 + }, + { + "epoch": 0.12106686332350049, + "grad_norm": 33.5, + "learning_rate": 1.994050002922021e-05, + "loss": 0.4306, + "step": 1970 + }, + { + "epoch": 0.12112831858407079, + "grad_norm": 48.0, + "learning_rate": 1.9940246280760473e-05, + "loss": 0.5095, + "step": 1971 + }, + { + "epoch": 0.12118977384464111, + "grad_norm": 58.25, + "learning_rate": 1.993999199399457e-05, + "loss": 0.506, + "step": 1972 + }, + { + "epoch": 0.12125122910521141, + "grad_norm": 36.5, + "learning_rate": 1.993973716893628e-05, + "loss": 0.4068, + "step": 1973 + }, + { + "epoch": 0.12131268436578171, + "grad_norm": 22.0, + "learning_rate": 1.9939481805599398e-05, + "loss": 0.4259, + "step": 1974 + }, + { + "epoch": 0.12137413962635202, + "grad_norm": 18.25, + "learning_rate": 1.9939225903997748e-05, + "loss": 0.4216, + "step": 1975 + }, + { + "epoch": 0.12143559488692232, + "grad_norm": 11.875, + "learning_rate": 1.99389694641452e-05, + "loss": 0.4085, + "step": 1976 + }, + { + "epoch": 0.12149705014749262, + "grad_norm": 48.25, + "learning_rate": 1.9938712486055632e-05, + "loss": 0.5013, + "step": 1977 + }, + { + "epoch": 0.12155850540806293, + "grad_norm": 22.5, + "learning_rate": 1.993845496974297e-05, + "loss": 0.418, + "step": 1978 + }, + { + "epoch": 0.12161996066863323, + "grad_norm": 7.65625, + "learning_rate": 1.9938196915221147e-05, + "loss": 0.3448, + "step": 1979 + }, + { + "epoch": 0.12168141592920353, + "grad_norm": 13.25, + "learning_rate": 1.9937938322504144e-05, + "loss": 0.4219, + "step": 1980 + }, + { + "epoch": 0.12174287118977384, + "grad_norm": 11.5625, + "learning_rate": 1.9937679191605964e-05, + "loss": 0.3498, + "step": 1981 + }, + { + "epoch": 0.12180432645034416, + "grad_norm": 5.3125, + "learning_rate": 1.9937419522540644e-05, + "loss": 0.3105, + "step": 1982 + }, + { + "epoch": 0.12186578171091446, + "grad_norm": 43.5, + "learning_rate": 1.9937159315322242e-05, + "loss": 0.4721, + "step": 1983 + }, + { + "epoch": 0.12192723697148476, + "grad_norm": 13.5625, + "learning_rate": 1.993689856996485e-05, + "loss": 0.3457, + "step": 1984 + }, + { + "epoch": 0.12198869223205507, + "grad_norm": 46.0, + "learning_rate": 1.993663728648259e-05, + "loss": 0.6441, + "step": 1985 + }, + { + "epoch": 0.12205014749262537, + "grad_norm": 51.75, + "learning_rate": 1.9936375464889608e-05, + "loss": 0.6362, + "step": 1986 + }, + { + "epoch": 0.12211160275319567, + "grad_norm": 27.5, + "learning_rate": 1.9936113105200085e-05, + "loss": 0.594, + "step": 1987 + }, + { + "epoch": 0.12217305801376598, + "grad_norm": 13.9375, + "learning_rate": 1.993585020742823e-05, + "loss": 0.767, + "step": 1988 + }, + { + "epoch": 0.12223451327433628, + "grad_norm": 64.5, + "learning_rate": 1.993558677158828e-05, + "loss": 0.4731, + "step": 1989 + }, + { + "epoch": 0.12229596853490658, + "grad_norm": 37.25, + "learning_rate": 1.99353227976945e-05, + "loss": 0.6903, + "step": 1990 + }, + { + "epoch": 0.1223574237954769, + "grad_norm": 23.0, + "learning_rate": 1.9935058285761185e-05, + "loss": 0.3168, + "step": 1991 + }, + { + "epoch": 0.1224188790560472, + "grad_norm": 25.625, + "learning_rate": 1.993479323580266e-05, + "loss": 0.527, + "step": 1992 + }, + { + "epoch": 0.1224803343166175, + "grad_norm": 24.125, + "learning_rate": 1.9934527647833276e-05, + "loss": 0.8246, + "step": 1993 + }, + { + "epoch": 0.12254178957718781, + "grad_norm": 30.5, + "learning_rate": 1.993426152186742e-05, + "loss": 0.7521, + "step": 1994 + }, + { + "epoch": 0.12260324483775811, + "grad_norm": 17.75, + "learning_rate": 1.9933994857919505e-05, + "loss": 0.5836, + "step": 1995 + }, + { + "epoch": 0.12266470009832842, + "grad_norm": 22.0, + "learning_rate": 1.9933727656003964e-05, + "loss": 0.5834, + "step": 1996 + }, + { + "epoch": 0.12272615535889872, + "grad_norm": 26.5, + "learning_rate": 1.9933459916135277e-05, + "loss": 0.6181, + "step": 1997 + }, + { + "epoch": 0.12278761061946902, + "grad_norm": 16.375, + "learning_rate": 1.9933191638327935e-05, + "loss": 0.5982, + "step": 1998 + }, + { + "epoch": 0.12284906588003933, + "grad_norm": 22.625, + "learning_rate": 1.993292282259647e-05, + "loss": 0.5736, + "step": 1999 + }, + { + "epoch": 0.12291052114060963, + "grad_norm": 16.875, + "learning_rate": 1.9932653468955442e-05, + "loss": 0.4823, + "step": 2000 + }, + { + "epoch": 0.12297197640117995, + "grad_norm": 21.625, + "learning_rate": 1.9932383577419432e-05, + "loss": 0.6774, + "step": 2001 + }, + { + "epoch": 0.12303343166175025, + "grad_norm": 20.75, + "learning_rate": 1.9932113148003057e-05, + "loss": 0.5491, + "step": 2002 + }, + { + "epoch": 0.12309488692232055, + "grad_norm": 22.125, + "learning_rate": 1.9931842180720967e-05, + "loss": 0.5375, + "step": 2003 + }, + { + "epoch": 0.12315634218289086, + "grad_norm": 13.625, + "learning_rate": 1.9931570675587833e-05, + "loss": 0.4592, + "step": 2004 + }, + { + "epoch": 0.12321779744346116, + "grad_norm": 18.375, + "learning_rate": 1.9931298632618355e-05, + "loss": 0.4537, + "step": 2005 + }, + { + "epoch": 0.12327925270403146, + "grad_norm": 13.0625, + "learning_rate": 1.993102605182727e-05, + "loss": 0.4392, + "step": 2006 + }, + { + "epoch": 0.12334070796460177, + "grad_norm": 19.625, + "learning_rate": 1.9930752933229335e-05, + "loss": 0.5462, + "step": 2007 + }, + { + "epoch": 0.12340216322517207, + "grad_norm": 15.1875, + "learning_rate": 1.9930479276839347e-05, + "loss": 0.4, + "step": 2008 + }, + { + "epoch": 0.12346361848574237, + "grad_norm": 24.0, + "learning_rate": 1.9930205082672115e-05, + "loss": 0.513, + "step": 2009 + }, + { + "epoch": 0.12352507374631268, + "grad_norm": 17.0, + "learning_rate": 1.99299303507425e-05, + "loss": 0.4483, + "step": 2010 + }, + { + "epoch": 0.123586529006883, + "grad_norm": 14.5625, + "learning_rate": 1.992965508106537e-05, + "loss": 0.4814, + "step": 2011 + }, + { + "epoch": 0.1236479842674533, + "grad_norm": 31.5, + "learning_rate": 1.992937927365564e-05, + "loss": 0.507, + "step": 2012 + }, + { + "epoch": 0.1237094395280236, + "grad_norm": 22.75, + "learning_rate": 1.992910292852824e-05, + "loss": 0.4852, + "step": 2013 + }, + { + "epoch": 0.1237708947885939, + "grad_norm": 11.5, + "learning_rate": 1.9928826045698138e-05, + "loss": 0.4664, + "step": 2014 + }, + { + "epoch": 0.12383235004916421, + "grad_norm": 10.0, + "learning_rate": 1.992854862518033e-05, + "loss": 0.4074, + "step": 2015 + }, + { + "epoch": 0.12389380530973451, + "grad_norm": 15.75, + "learning_rate": 1.9928270666989835e-05, + "loss": 0.4631, + "step": 2016 + }, + { + "epoch": 0.12395526057030481, + "grad_norm": 24.125, + "learning_rate": 1.9927992171141707e-05, + "loss": 0.7821, + "step": 2017 + }, + { + "epoch": 0.12401671583087512, + "grad_norm": 32.5, + "learning_rate": 1.992771313765103e-05, + "loss": 0.5627, + "step": 2018 + }, + { + "epoch": 0.12407817109144542, + "grad_norm": 50.25, + "learning_rate": 1.9927433566532913e-05, + "loss": 0.4954, + "step": 2019 + }, + { + "epoch": 0.12413962635201574, + "grad_norm": 17.25, + "learning_rate": 1.99271534578025e-05, + "loss": 0.7139, + "step": 2020 + }, + { + "epoch": 0.12420108161258604, + "grad_norm": 27.375, + "learning_rate": 1.9926872811474952e-05, + "loss": 0.7874, + "step": 2021 + }, + { + "epoch": 0.12426253687315635, + "grad_norm": 8.9375, + "learning_rate": 1.9926591627565476e-05, + "loss": 0.4781, + "step": 2022 + }, + { + "epoch": 0.12432399213372665, + "grad_norm": 7.4375, + "learning_rate": 1.992630990608929e-05, + "loss": 0.3339, + "step": 2023 + }, + { + "epoch": 0.12438544739429695, + "grad_norm": 56.0, + "learning_rate": 1.9926027647061658e-05, + "loss": 0.668, + "step": 2024 + }, + { + "epoch": 0.12444690265486726, + "grad_norm": 28.375, + "learning_rate": 1.9925744850497866e-05, + "loss": 0.7087, + "step": 2025 + }, + { + "epoch": 0.12450835791543756, + "grad_norm": 29.0, + "learning_rate": 1.9925461516413224e-05, + "loss": 0.5799, + "step": 2026 + }, + { + "epoch": 0.12456981317600786, + "grad_norm": 20.0, + "learning_rate": 1.9925177644823073e-05, + "loss": 0.5245, + "step": 2027 + }, + { + "epoch": 0.12463126843657817, + "grad_norm": 21.125, + "learning_rate": 1.9924893235742795e-05, + "loss": 0.4386, + "step": 2028 + }, + { + "epoch": 0.12469272369714847, + "grad_norm": 24.25, + "learning_rate": 1.9924608289187786e-05, + "loss": 0.535, + "step": 2029 + }, + { + "epoch": 0.12475417895771879, + "grad_norm": 10.125, + "learning_rate": 1.992432280517348e-05, + "loss": 0.6802, + "step": 2030 + }, + { + "epoch": 0.12481563421828909, + "grad_norm": 16.5, + "learning_rate": 1.992403678371533e-05, + "loss": 0.3988, + "step": 2031 + }, + { + "epoch": 0.1248770894788594, + "grad_norm": 11.625, + "learning_rate": 1.9923750224828833e-05, + "loss": 0.4574, + "step": 2032 + }, + { + "epoch": 0.1249385447394297, + "grad_norm": 11.1875, + "learning_rate": 1.9923463128529507e-05, + "loss": 0.5725, + "step": 2033 + }, + { + "epoch": 0.125, + "grad_norm": 19.875, + "learning_rate": 1.9923175494832895e-05, + "loss": 0.6356, + "step": 2034 + }, + { + "epoch": 0.1250614552605703, + "grad_norm": 23.0, + "learning_rate": 1.992288732375458e-05, + "loss": 0.4285, + "step": 2035 + }, + { + "epoch": 0.1251229105211406, + "grad_norm": 18.875, + "learning_rate": 1.9922598615310157e-05, + "loss": 0.5139, + "step": 2036 + }, + { + "epoch": 0.1251843657817109, + "grad_norm": 32.5, + "learning_rate": 1.9922309369515272e-05, + "loss": 0.528, + "step": 2037 + }, + { + "epoch": 0.1252458210422812, + "grad_norm": 30.125, + "learning_rate": 1.9922019586385587e-05, + "loss": 0.4491, + "step": 2038 + }, + { + "epoch": 0.12530727630285152, + "grad_norm": 12.5625, + "learning_rate": 1.992172926593679e-05, + "loss": 0.4352, + "step": 2039 + }, + { + "epoch": 0.12536873156342182, + "grad_norm": 5.28125, + "learning_rate": 1.99214384081846e-05, + "loss": 0.3763, + "step": 2040 + }, + { + "epoch": 0.12543018682399212, + "grad_norm": 28.25, + "learning_rate": 1.9921147013144782e-05, + "loss": 0.6106, + "step": 2041 + }, + { + "epoch": 0.12549164208456243, + "grad_norm": 38.0, + "learning_rate": 1.99208550808331e-05, + "loss": 0.6626, + "step": 2042 + }, + { + "epoch": 0.12555309734513273, + "grad_norm": 27.5, + "learning_rate": 1.9920562611265378e-05, + "loss": 0.5614, + "step": 2043 + }, + { + "epoch": 0.12561455260570306, + "grad_norm": 32.5, + "learning_rate": 1.9920269604457444e-05, + "loss": 0.7316, + "step": 2044 + }, + { + "epoch": 0.12567600786627336, + "grad_norm": 36.25, + "learning_rate": 1.991997606042517e-05, + "loss": 0.5965, + "step": 2045 + }, + { + "epoch": 0.12573746312684367, + "grad_norm": 17.375, + "learning_rate": 1.9919681979184452e-05, + "loss": 0.484, + "step": 2046 + }, + { + "epoch": 0.12579891838741397, + "grad_norm": 62.5, + "learning_rate": 1.9919387360751216e-05, + "loss": 0.729, + "step": 2047 + }, + { + "epoch": 0.12586037364798427, + "grad_norm": 21.0, + "learning_rate": 1.9919092205141414e-05, + "loss": 0.4672, + "step": 2048 + }, + { + "epoch": 0.12592182890855458, + "grad_norm": 53.25, + "learning_rate": 1.9918796512371035e-05, + "loss": 0.8433, + "step": 2049 + }, + { + "epoch": 0.12598328416912488, + "grad_norm": 24.0, + "learning_rate": 1.991850028245609e-05, + "loss": 0.5589, + "step": 2050 + }, + { + "epoch": 0.12604473942969519, + "grad_norm": 27.625, + "learning_rate": 1.9918203515412616e-05, + "loss": 0.5541, + "step": 2051 + }, + { + "epoch": 0.1261061946902655, + "grad_norm": 34.25, + "learning_rate": 1.9917906211256696e-05, + "loss": 0.6042, + "step": 2052 + }, + { + "epoch": 0.1261676499508358, + "grad_norm": 24.0, + "learning_rate": 1.9917608370004417e-05, + "loss": 0.5591, + "step": 2053 + }, + { + "epoch": 0.1262291052114061, + "grad_norm": 35.5, + "learning_rate": 1.9917309991671915e-05, + "loss": 0.4642, + "step": 2054 + }, + { + "epoch": 0.1262905604719764, + "grad_norm": 53.25, + "learning_rate": 1.991701107627535e-05, + "loss": 0.6261, + "step": 2055 + }, + { + "epoch": 0.1263520157325467, + "grad_norm": 12.875, + "learning_rate": 1.9916711623830904e-05, + "loss": 0.5418, + "step": 2056 + }, + { + "epoch": 0.126413470993117, + "grad_norm": 10.3125, + "learning_rate": 1.99164116343548e-05, + "loss": 0.4516, + "step": 2057 + }, + { + "epoch": 0.1264749262536873, + "grad_norm": 16.5, + "learning_rate": 1.991611110786328e-05, + "loss": 0.5993, + "step": 2058 + }, + { + "epoch": 0.1265363815142576, + "grad_norm": 13.25, + "learning_rate": 1.9915810044372618e-05, + "loss": 0.4228, + "step": 2059 + }, + { + "epoch": 0.12659783677482792, + "grad_norm": 15.3125, + "learning_rate": 1.991550844389912e-05, + "loss": 0.7607, + "step": 2060 + }, + { + "epoch": 0.12665929203539822, + "grad_norm": 13.875, + "learning_rate": 1.9915206306459117e-05, + "loss": 0.4728, + "step": 2061 + }, + { + "epoch": 0.12672074729596852, + "grad_norm": 28.25, + "learning_rate": 1.9914903632068975e-05, + "loss": 0.3913, + "step": 2062 + }, + { + "epoch": 0.12678220255653885, + "grad_norm": 11.0625, + "learning_rate": 1.991460042074508e-05, + "loss": 0.6293, + "step": 2063 + }, + { + "epoch": 0.12684365781710916, + "grad_norm": 29.125, + "learning_rate": 1.9914296672503854e-05, + "loss": 0.4878, + "step": 2064 + }, + { + "epoch": 0.12690511307767946, + "grad_norm": 22.0, + "learning_rate": 1.9913992387361747e-05, + "loss": 0.4785, + "step": 2065 + }, + { + "epoch": 0.12696656833824976, + "grad_norm": 11.5625, + "learning_rate": 1.9913687565335237e-05, + "loss": 0.5729, + "step": 2066 + }, + { + "epoch": 0.12702802359882007, + "grad_norm": 26.625, + "learning_rate": 1.9913382206440834e-05, + "loss": 0.5256, + "step": 2067 + }, + { + "epoch": 0.12708947885939037, + "grad_norm": 28.5, + "learning_rate": 1.9913076310695068e-05, + "loss": 0.6305, + "step": 2068 + }, + { + "epoch": 0.12715093411996067, + "grad_norm": 24.5, + "learning_rate": 1.9912769878114508e-05, + "loss": 0.5512, + "step": 2069 + }, + { + "epoch": 0.12721238938053098, + "grad_norm": 28.5, + "learning_rate": 1.9912462908715752e-05, + "loss": 0.5863, + "step": 2070 + }, + { + "epoch": 0.12727384464110128, + "grad_norm": 21.0, + "learning_rate": 1.991215540251542e-05, + "loss": 0.4194, + "step": 2071 + }, + { + "epoch": 0.12733529990167158, + "grad_norm": 16.25, + "learning_rate": 1.9911847359530165e-05, + "loss": 0.5458, + "step": 2072 + }, + { + "epoch": 0.1273967551622419, + "grad_norm": 36.75, + "learning_rate": 1.991153877977667e-05, + "loss": 0.4815, + "step": 2073 + }, + { + "epoch": 0.1274582104228122, + "grad_norm": 34.25, + "learning_rate": 1.991122966327164e-05, + "loss": 0.5823, + "step": 2074 + }, + { + "epoch": 0.1275196656833825, + "grad_norm": 26.5, + "learning_rate": 1.9910920010031825e-05, + "loss": 0.4819, + "step": 2075 + }, + { + "epoch": 0.1275811209439528, + "grad_norm": 14.1875, + "learning_rate": 1.9910609820073986e-05, + "loss": 0.3158, + "step": 2076 + }, + { + "epoch": 0.1276425762045231, + "grad_norm": 23.875, + "learning_rate": 1.991029909341493e-05, + "loss": 0.4087, + "step": 2077 + }, + { + "epoch": 0.1277040314650934, + "grad_norm": 26.75, + "learning_rate": 1.9909987830071477e-05, + "loss": 0.4744, + "step": 2078 + }, + { + "epoch": 0.1277654867256637, + "grad_norm": 42.5, + "learning_rate": 1.990967603006048e-05, + "loss": 0.3962, + "step": 2079 + }, + { + "epoch": 0.127826941986234, + "grad_norm": 21.875, + "learning_rate": 1.9909363693398828e-05, + "loss": 0.3299, + "step": 2080 + }, + { + "epoch": 0.12788839724680431, + "grad_norm": 60.0, + "learning_rate": 1.990905082010344e-05, + "loss": 0.5674, + "step": 2081 + }, + { + "epoch": 0.12794985250737465, + "grad_norm": 62.75, + "learning_rate": 1.9908737410191255e-05, + "loss": 0.6488, + "step": 2082 + }, + { + "epoch": 0.12801130776794495, + "grad_norm": 28.5, + "learning_rate": 1.9908423463679246e-05, + "loss": 0.4973, + "step": 2083 + }, + { + "epoch": 0.12807276302851525, + "grad_norm": 13.8125, + "learning_rate": 1.9908108980584417e-05, + "loss": 0.3893, + "step": 2084 + }, + { + "epoch": 0.12813421828908556, + "grad_norm": 15.8125, + "learning_rate": 1.9907793960923795e-05, + "loss": 0.4961, + "step": 2085 + }, + { + "epoch": 0.12819567354965586, + "grad_norm": 9.0, + "learning_rate": 1.9907478404714438e-05, + "loss": 0.3962, + "step": 2086 + }, + { + "epoch": 0.12825712881022616, + "grad_norm": 48.0, + "learning_rate": 1.990716231197344e-05, + "loss": 0.3513, + "step": 2087 + }, + { + "epoch": 0.12831858407079647, + "grad_norm": 5.53125, + "learning_rate": 1.9906845682717914e-05, + "loss": 0.4186, + "step": 2088 + }, + { + "epoch": 0.12838003933136677, + "grad_norm": 23.0, + "learning_rate": 1.990652851696501e-05, + "loss": 0.3368, + "step": 2089 + }, + { + "epoch": 0.12844149459193707, + "grad_norm": 31.125, + "learning_rate": 1.9906210814731905e-05, + "loss": 0.6681, + "step": 2090 + }, + { + "epoch": 0.12850294985250738, + "grad_norm": 17.875, + "learning_rate": 1.9905892576035798e-05, + "loss": 0.4653, + "step": 2091 + }, + { + "epoch": 0.12856440511307768, + "grad_norm": 25.25, + "learning_rate": 1.990557380089393e-05, + "loss": 0.4199, + "step": 2092 + }, + { + "epoch": 0.12862586037364798, + "grad_norm": 21.375, + "learning_rate": 1.990525448932356e-05, + "loss": 0.4106, + "step": 2093 + }, + { + "epoch": 0.12868731563421829, + "grad_norm": 20.75, + "learning_rate": 1.9904934641341983e-05, + "loss": 0.3241, + "step": 2094 + }, + { + "epoch": 0.1287487708947886, + "grad_norm": 30.875, + "learning_rate": 1.9904614256966514e-05, + "loss": 0.3988, + "step": 2095 + }, + { + "epoch": 0.1288102261553589, + "grad_norm": 7.71875, + "learning_rate": 1.9904293336214508e-05, + "loss": 0.3013, + "step": 2096 + }, + { + "epoch": 0.1288716814159292, + "grad_norm": 44.75, + "learning_rate": 1.9903971879103344e-05, + "loss": 0.5463, + "step": 2097 + }, + { + "epoch": 0.1289331366764995, + "grad_norm": 63.25, + "learning_rate": 1.990364988565043e-05, + "loss": 0.5981, + "step": 2098 + }, + { + "epoch": 0.1289945919370698, + "grad_norm": 49.25, + "learning_rate": 1.9903327355873205e-05, + "loss": 0.5066, + "step": 2099 + }, + { + "epoch": 0.1290560471976401, + "grad_norm": 26.5, + "learning_rate": 1.990300428978913e-05, + "loss": 0.7064, + "step": 2100 + }, + { + "epoch": 0.1291175024582104, + "grad_norm": 39.75, + "learning_rate": 1.9902680687415704e-05, + "loss": 0.594, + "step": 2101 + }, + { + "epoch": 0.12917895771878074, + "grad_norm": 75.5, + "learning_rate": 1.9902356548770455e-05, + "loss": 0.5776, + "step": 2102 + }, + { + "epoch": 0.12924041297935104, + "grad_norm": 10.0625, + "learning_rate": 1.9902031873870927e-05, + "loss": 0.3013, + "step": 2103 + }, + { + "epoch": 0.12930186823992135, + "grad_norm": 31.5, + "learning_rate": 1.990170666273471e-05, + "loss": 0.3609, + "step": 2104 + }, + { + "epoch": 0.12936332350049165, + "grad_norm": 18.25, + "learning_rate": 1.9901380915379413e-05, + "loss": 0.4397, + "step": 2105 + }, + { + "epoch": 0.12942477876106195, + "grad_norm": 21.625, + "learning_rate": 1.990105463182268e-05, + "loss": 0.6121, + "step": 2106 + }, + { + "epoch": 0.12948623402163226, + "grad_norm": 23.375, + "learning_rate": 1.9900727812082177e-05, + "loss": 0.5462, + "step": 2107 + }, + { + "epoch": 0.12954768928220256, + "grad_norm": 32.25, + "learning_rate": 1.99004004561756e-05, + "loss": 0.5745, + "step": 2108 + }, + { + "epoch": 0.12960914454277286, + "grad_norm": 34.0, + "learning_rate": 1.9900072564120686e-05, + "loss": 0.7375, + "step": 2109 + }, + { + "epoch": 0.12967059980334317, + "grad_norm": 22.75, + "learning_rate": 1.989974413593518e-05, + "loss": 0.5015, + "step": 2110 + }, + { + "epoch": 0.12973205506391347, + "grad_norm": 8.375, + "learning_rate": 1.989941517163688e-05, + "loss": 0.4905, + "step": 2111 + }, + { + "epoch": 0.12979351032448377, + "grad_norm": 37.0, + "learning_rate": 1.989908567124359e-05, + "loss": 0.5282, + "step": 2112 + }, + { + "epoch": 0.12985496558505408, + "grad_norm": 41.25, + "learning_rate": 1.989875563477316e-05, + "loss": 0.719, + "step": 2113 + }, + { + "epoch": 0.12991642084562438, + "grad_norm": 31.625, + "learning_rate": 1.989842506224346e-05, + "loss": 0.5717, + "step": 2114 + }, + { + "epoch": 0.12997787610619468, + "grad_norm": 31.125, + "learning_rate": 1.9898093953672392e-05, + "loss": 0.6358, + "step": 2115 + }, + { + "epoch": 0.130039331366765, + "grad_norm": 30.5, + "learning_rate": 1.989776230907789e-05, + "loss": 0.5398, + "step": 2116 + }, + { + "epoch": 0.1301007866273353, + "grad_norm": 17.0, + "learning_rate": 1.9897430128477912e-05, + "loss": 0.4648, + "step": 2117 + }, + { + "epoch": 0.1301622418879056, + "grad_norm": 10.8125, + "learning_rate": 1.989709741189045e-05, + "loss": 0.4408, + "step": 2118 + }, + { + "epoch": 0.1302236971484759, + "grad_norm": 31.25, + "learning_rate": 1.989676415933351e-05, + "loss": 0.5942, + "step": 2119 + }, + { + "epoch": 0.1302851524090462, + "grad_norm": 22.25, + "learning_rate": 1.9896430370825156e-05, + "loss": 0.5058, + "step": 2120 + }, + { + "epoch": 0.13034660766961653, + "grad_norm": 22.0, + "learning_rate": 1.9896096046383456e-05, + "loss": 0.6241, + "step": 2121 + }, + { + "epoch": 0.13040806293018684, + "grad_norm": 20.25, + "learning_rate": 1.989576118602651e-05, + "loss": 0.4868, + "step": 2122 + }, + { + "epoch": 0.13046951819075714, + "grad_norm": 21.75, + "learning_rate": 1.989542578977246e-05, + "loss": 0.5702, + "step": 2123 + }, + { + "epoch": 0.13053097345132744, + "grad_norm": 33.75, + "learning_rate": 1.989508985763947e-05, + "loss": 0.4937, + "step": 2124 + }, + { + "epoch": 0.13059242871189775, + "grad_norm": 13.0, + "learning_rate": 1.9894753389645723e-05, + "loss": 0.4441, + "step": 2125 + }, + { + "epoch": 0.13065388397246805, + "grad_norm": 18.5, + "learning_rate": 1.9894416385809444e-05, + "loss": 0.4078, + "step": 2126 + }, + { + "epoch": 0.13071533923303835, + "grad_norm": 19.875, + "learning_rate": 1.989407884614889e-05, + "loss": 0.3699, + "step": 2127 + }, + { + "epoch": 0.13077679449360866, + "grad_norm": 16.0, + "learning_rate": 1.9893740770682334e-05, + "loss": 0.4088, + "step": 2128 + }, + { + "epoch": 0.13083824975417896, + "grad_norm": 24.875, + "learning_rate": 1.9893402159428084e-05, + "loss": 0.5049, + "step": 2129 + }, + { + "epoch": 0.13089970501474926, + "grad_norm": 9.875, + "learning_rate": 1.989306301240448e-05, + "loss": 0.4817, + "step": 2130 + }, + { + "epoch": 0.13096116027531957, + "grad_norm": 9.625, + "learning_rate": 1.9892723329629885e-05, + "loss": 0.5094, + "step": 2131 + }, + { + "epoch": 0.13102261553588987, + "grad_norm": 13.875, + "learning_rate": 1.9892383111122696e-05, + "loss": 0.4608, + "step": 2132 + }, + { + "epoch": 0.13108407079646017, + "grad_norm": 23.25, + "learning_rate": 1.9892042356901337e-05, + "loss": 0.4225, + "step": 2133 + }, + { + "epoch": 0.13114552605703048, + "grad_norm": 18.5, + "learning_rate": 1.9891701066984264e-05, + "loss": 0.3494, + "step": 2134 + }, + { + "epoch": 0.13120698131760078, + "grad_norm": 27.375, + "learning_rate": 1.9891359241389955e-05, + "loss": 0.5765, + "step": 2135 + }, + { + "epoch": 0.13126843657817108, + "grad_norm": 14.625, + "learning_rate": 1.9891016880136923e-05, + "loss": 0.5409, + "step": 2136 + }, + { + "epoch": 0.13132989183874139, + "grad_norm": 18.0, + "learning_rate": 1.9890673983243708e-05, + "loss": 0.4229, + "step": 2137 + }, + { + "epoch": 0.1313913470993117, + "grad_norm": 13.8125, + "learning_rate": 1.989033055072888e-05, + "loss": 0.4937, + "step": 2138 + }, + { + "epoch": 0.131452802359882, + "grad_norm": 16.25, + "learning_rate": 1.9889986582611036e-05, + "loss": 0.6144, + "step": 2139 + }, + { + "epoch": 0.13151425762045232, + "grad_norm": 15.0625, + "learning_rate": 1.9889642078908805e-05, + "loss": 0.466, + "step": 2140 + }, + { + "epoch": 0.13157571288102263, + "grad_norm": 15.6875, + "learning_rate": 1.988929703964084e-05, + "loss": 0.4866, + "step": 2141 + }, + { + "epoch": 0.13163716814159293, + "grad_norm": 27.75, + "learning_rate": 1.9888951464825835e-05, + "loss": 0.5341, + "step": 2142 + }, + { + "epoch": 0.13169862340216323, + "grad_norm": 9.6875, + "learning_rate": 1.9888605354482494e-05, + "loss": 0.3986, + "step": 2143 + }, + { + "epoch": 0.13176007866273354, + "grad_norm": 11.75, + "learning_rate": 1.9888258708629565e-05, + "loss": 0.3388, + "step": 2144 + }, + { + "epoch": 0.13182153392330384, + "grad_norm": 32.75, + "learning_rate": 1.988791152728582e-05, + "loss": 0.704, + "step": 2145 + }, + { + "epoch": 0.13188298918387414, + "grad_norm": 17.625, + "learning_rate": 1.988756381047006e-05, + "loss": 0.6299, + "step": 2146 + }, + { + "epoch": 0.13194444444444445, + "grad_norm": 30.0, + "learning_rate": 1.9887215558201115e-05, + "loss": 0.6765, + "step": 2147 + }, + { + "epoch": 0.13200589970501475, + "grad_norm": 16.0, + "learning_rate": 1.9886866770497847e-05, + "loss": 0.669, + "step": 2148 + }, + { + "epoch": 0.13206735496558505, + "grad_norm": 13.5, + "learning_rate": 1.988651744737914e-05, + "loss": 0.8379, + "step": 2149 + }, + { + "epoch": 0.13212881022615536, + "grad_norm": 14.5625, + "learning_rate": 1.9886167588863918e-05, + "loss": 0.5354, + "step": 2150 + }, + { + "epoch": 0.13219026548672566, + "grad_norm": 8.4375, + "learning_rate": 1.9885817194971116e-05, + "loss": 0.3848, + "step": 2151 + }, + { + "epoch": 0.13225172074729596, + "grad_norm": 46.25, + "learning_rate": 1.9885466265719723e-05, + "loss": 0.5101, + "step": 2152 + }, + { + "epoch": 0.13231317600786627, + "grad_norm": 13.875, + "learning_rate": 1.988511480112873e-05, + "loss": 0.4344, + "step": 2153 + }, + { + "epoch": 0.13237463126843657, + "grad_norm": 12.5, + "learning_rate": 1.9884762801217185e-05, + "loss": 0.5549, + "step": 2154 + }, + { + "epoch": 0.13243608652900687, + "grad_norm": 11.6875, + "learning_rate": 1.9884410266004134e-05, + "loss": 0.3857, + "step": 2155 + }, + { + "epoch": 0.13249754178957718, + "grad_norm": 21.75, + "learning_rate": 1.9884057195508683e-05, + "loss": 0.4965, + "step": 2156 + }, + { + "epoch": 0.13255899705014748, + "grad_norm": 13.0625, + "learning_rate": 1.9883703589749938e-05, + "loss": 0.3709, + "step": 2157 + }, + { + "epoch": 0.13262045231071778, + "grad_norm": 25.875, + "learning_rate": 1.988334944874706e-05, + "loss": 0.3618, + "step": 2158 + }, + { + "epoch": 0.13268190757128812, + "grad_norm": 12.6875, + "learning_rate": 1.9882994772519225e-05, + "loss": 0.3453, + "step": 2159 + }, + { + "epoch": 0.13274336283185842, + "grad_norm": 48.0, + "learning_rate": 1.9882639561085634e-05, + "loss": 0.449, + "step": 2160 + }, + { + "epoch": 0.13280481809242872, + "grad_norm": 30.625, + "learning_rate": 1.988228381446553e-05, + "loss": 0.5761, + "step": 2161 + }, + { + "epoch": 0.13286627335299903, + "grad_norm": 28.75, + "learning_rate": 1.9881927532678174e-05, + "loss": 0.5464, + "step": 2162 + }, + { + "epoch": 0.13292772861356933, + "grad_norm": 52.0, + "learning_rate": 1.9881570715742865e-05, + "loss": 0.5055, + "step": 2163 + }, + { + "epoch": 0.13298918387413963, + "grad_norm": 9.625, + "learning_rate": 1.988121336367892e-05, + "loss": 0.5087, + "step": 2164 + }, + { + "epoch": 0.13305063913470994, + "grad_norm": 47.25, + "learning_rate": 1.9880855476505694e-05, + "loss": 0.5997, + "step": 2165 + }, + { + "epoch": 0.13311209439528024, + "grad_norm": 10.625, + "learning_rate": 1.9880497054242566e-05, + "loss": 0.5849, + "step": 2166 + }, + { + "epoch": 0.13317354965585054, + "grad_norm": 5.3125, + "learning_rate": 1.9880138096908955e-05, + "loss": 0.4537, + "step": 2167 + }, + { + "epoch": 0.13323500491642085, + "grad_norm": 14.8125, + "learning_rate": 1.9879778604524286e-05, + "loss": 0.5885, + "step": 2168 + }, + { + "epoch": 0.13329646017699115, + "grad_norm": 37.25, + "learning_rate": 1.9879418577108037e-05, + "loss": 0.5533, + "step": 2169 + }, + { + "epoch": 0.13335791543756145, + "grad_norm": 26.375, + "learning_rate": 1.9879058014679704e-05, + "loss": 0.4738, + "step": 2170 + }, + { + "epoch": 0.13341937069813176, + "grad_norm": 46.25, + "learning_rate": 1.987869691725881e-05, + "loss": 0.4987, + "step": 2171 + }, + { + "epoch": 0.13348082595870206, + "grad_norm": 73.5, + "learning_rate": 1.987833528486491e-05, + "loss": 0.5424, + "step": 2172 + }, + { + "epoch": 0.13354228121927236, + "grad_norm": 43.0, + "learning_rate": 1.987797311751759e-05, + "loss": 0.427, + "step": 2173 + }, + { + "epoch": 0.13360373647984267, + "grad_norm": 18.75, + "learning_rate": 1.9877610415236464e-05, + "loss": 0.4269, + "step": 2174 + }, + { + "epoch": 0.13366519174041297, + "grad_norm": 53.0, + "learning_rate": 1.9877247178041167e-05, + "loss": 0.5603, + "step": 2175 + }, + { + "epoch": 0.13372664700098327, + "grad_norm": 5.875, + "learning_rate": 1.9876883405951378e-05, + "loss": 0.4074, + "step": 2176 + }, + { + "epoch": 0.13378810226155358, + "grad_norm": 21.875, + "learning_rate": 1.987651909898679e-05, + "loss": 0.4472, + "step": 2177 + }, + { + "epoch": 0.1338495575221239, + "grad_norm": 37.25, + "learning_rate": 1.9876154257167143e-05, + "loss": 0.639, + "step": 2178 + }, + { + "epoch": 0.1339110127826942, + "grad_norm": 32.75, + "learning_rate": 1.9875788880512183e-05, + "loss": 0.6329, + "step": 2179 + }, + { + "epoch": 0.13397246804326451, + "grad_norm": 10.875, + "learning_rate": 1.9875422969041697e-05, + "loss": 0.5516, + "step": 2180 + }, + { + "epoch": 0.13403392330383482, + "grad_norm": 12.25, + "learning_rate": 1.9875056522775506e-05, + "loss": 0.5832, + "step": 2181 + }, + { + "epoch": 0.13409537856440512, + "grad_norm": 19.25, + "learning_rate": 1.9874689541733455e-05, + "loss": 0.4347, + "step": 2182 + }, + { + "epoch": 0.13415683382497542, + "grad_norm": 37.5, + "learning_rate": 1.9874322025935414e-05, + "loss": 0.3835, + "step": 2183 + }, + { + "epoch": 0.13421828908554573, + "grad_norm": 28.125, + "learning_rate": 1.9873953975401286e-05, + "loss": 0.4577, + "step": 2184 + }, + { + "epoch": 0.13427974434611603, + "grad_norm": 42.75, + "learning_rate": 1.9873585390151003e-05, + "loss": 0.4348, + "step": 2185 + }, + { + "epoch": 0.13434119960668633, + "grad_norm": 15.9375, + "learning_rate": 1.987321627020453e-05, + "loss": 0.5868, + "step": 2186 + }, + { + "epoch": 0.13440265486725664, + "grad_norm": 26.875, + "learning_rate": 1.9872846615581848e-05, + "loss": 0.5404, + "step": 2187 + }, + { + "epoch": 0.13446411012782694, + "grad_norm": 16.875, + "learning_rate": 1.9872476426302983e-05, + "loss": 0.4522, + "step": 2188 + }, + { + "epoch": 0.13452556538839724, + "grad_norm": 34.0, + "learning_rate": 1.9872105702387976e-05, + "loss": 0.5009, + "step": 2189 + }, + { + "epoch": 0.13458702064896755, + "grad_norm": 19.75, + "learning_rate": 1.9871734443856907e-05, + "loss": 0.489, + "step": 2190 + }, + { + "epoch": 0.13464847590953785, + "grad_norm": 7.0, + "learning_rate": 1.987136265072988e-05, + "loss": 0.3451, + "step": 2191 + }, + { + "epoch": 0.13470993117010815, + "grad_norm": 27.75, + "learning_rate": 1.9870990323027032e-05, + "loss": 0.4976, + "step": 2192 + }, + { + "epoch": 0.13477138643067846, + "grad_norm": 23.75, + "learning_rate": 1.987061746076852e-05, + "loss": 0.4327, + "step": 2193 + }, + { + "epoch": 0.13483284169124876, + "grad_norm": 31.125, + "learning_rate": 1.987024406397454e-05, + "loss": 0.5763, + "step": 2194 + }, + { + "epoch": 0.13489429695181906, + "grad_norm": 25.5, + "learning_rate": 1.9869870132665318e-05, + "loss": 0.5103, + "step": 2195 + }, + { + "epoch": 0.13495575221238937, + "grad_norm": 19.875, + "learning_rate": 1.9869495666861094e-05, + "loss": 0.5635, + "step": 2196 + }, + { + "epoch": 0.13501720747295967, + "grad_norm": 16.125, + "learning_rate": 1.9869120666582153e-05, + "loss": 0.3279, + "step": 2197 + }, + { + "epoch": 0.13507866273353, + "grad_norm": 20.25, + "learning_rate": 1.9868745131848798e-05, + "loss": 0.4138, + "step": 2198 + }, + { + "epoch": 0.1351401179941003, + "grad_norm": 28.125, + "learning_rate": 1.9868369062681373e-05, + "loss": 0.4851, + "step": 2199 + }, + { + "epoch": 0.1352015732546706, + "grad_norm": 13.1875, + "learning_rate": 1.986799245910024e-05, + "loss": 0.3865, + "step": 2200 + }, + { + "epoch": 0.1352630285152409, + "grad_norm": 25.875, + "learning_rate": 1.9867615321125796e-05, + "loss": 0.5552, + "step": 2201 + }, + { + "epoch": 0.13532448377581122, + "grad_norm": 27.875, + "learning_rate": 1.986723764877846e-05, + "loss": 0.6568, + "step": 2202 + }, + { + "epoch": 0.13538593903638152, + "grad_norm": 21.375, + "learning_rate": 1.986685944207868e-05, + "loss": 0.574, + "step": 2203 + }, + { + "epoch": 0.13544739429695182, + "grad_norm": 41.5, + "learning_rate": 1.9866480701046953e-05, + "loss": 0.6094, + "step": 2204 + }, + { + "epoch": 0.13550884955752213, + "grad_norm": 41.0, + "learning_rate": 1.9866101425703776e-05, + "loss": 0.6465, + "step": 2205 + }, + { + "epoch": 0.13557030481809243, + "grad_norm": 36.25, + "learning_rate": 1.9865721616069695e-05, + "loss": 0.6278, + "step": 2206 + }, + { + "epoch": 0.13563176007866273, + "grad_norm": 16.25, + "learning_rate": 1.9865341272165276e-05, + "loss": 0.393, + "step": 2207 + }, + { + "epoch": 0.13569321533923304, + "grad_norm": 16.625, + "learning_rate": 1.9864960394011115e-05, + "loss": 0.4922, + "step": 2208 + }, + { + "epoch": 0.13575467059980334, + "grad_norm": 28.625, + "learning_rate": 1.9864578981627844e-05, + "loss": 0.5771, + "step": 2209 + }, + { + "epoch": 0.13581612586037364, + "grad_norm": 28.5, + "learning_rate": 1.9864197035036112e-05, + "loss": 0.5807, + "step": 2210 + }, + { + "epoch": 0.13587758112094395, + "grad_norm": 16.5, + "learning_rate": 1.98638145542566e-05, + "loss": 0.4254, + "step": 2211 + }, + { + "epoch": 0.13593903638151425, + "grad_norm": 13.375, + "learning_rate": 1.9863431539310033e-05, + "loss": 0.6729, + "step": 2212 + }, + { + "epoch": 0.13600049164208455, + "grad_norm": 16.5, + "learning_rate": 1.9863047990217143e-05, + "loss": 0.527, + "step": 2213 + }, + { + "epoch": 0.13606194690265486, + "grad_norm": 14.0625, + "learning_rate": 1.98626639069987e-05, + "loss": 0.3867, + "step": 2214 + }, + { + "epoch": 0.13612340216322516, + "grad_norm": 12.75, + "learning_rate": 1.986227928967551e-05, + "loss": 0.4007, + "step": 2215 + }, + { + "epoch": 0.13618485742379546, + "grad_norm": 16.25, + "learning_rate": 1.9861894138268402e-05, + "loss": 0.4178, + "step": 2216 + }, + { + "epoch": 0.1362463126843658, + "grad_norm": 27.875, + "learning_rate": 1.9861508452798224e-05, + "loss": 0.5855, + "step": 2217 + }, + { + "epoch": 0.1363077679449361, + "grad_norm": 13.4375, + "learning_rate": 1.9861122233285873e-05, + "loss": 0.4761, + "step": 2218 + }, + { + "epoch": 0.1363692232055064, + "grad_norm": 15.3125, + "learning_rate": 1.986073547975226e-05, + "loss": 0.372, + "step": 2219 + }, + { + "epoch": 0.1364306784660767, + "grad_norm": 38.75, + "learning_rate": 1.9860348192218327e-05, + "loss": 0.5724, + "step": 2220 + }, + { + "epoch": 0.136492133726647, + "grad_norm": 29.875, + "learning_rate": 1.985996037070505e-05, + "loss": 0.4056, + "step": 2221 + }, + { + "epoch": 0.1365535889872173, + "grad_norm": 13.5625, + "learning_rate": 1.9859572015233436e-05, + "loss": 0.5368, + "step": 2222 + }, + { + "epoch": 0.13661504424778761, + "grad_norm": 22.125, + "learning_rate": 1.9859183125824506e-05, + "loss": 0.3944, + "step": 2223 + }, + { + "epoch": 0.13667649950835792, + "grad_norm": 33.0, + "learning_rate": 1.9858793702499322e-05, + "loss": 0.5275, + "step": 2224 + }, + { + "epoch": 0.13673795476892822, + "grad_norm": 27.0, + "learning_rate": 1.9858403745278982e-05, + "loss": 0.5205, + "step": 2225 + }, + { + "epoch": 0.13679941002949852, + "grad_norm": 23.875, + "learning_rate": 1.9858013254184597e-05, + "loss": 0.6841, + "step": 2226 + }, + { + "epoch": 0.13686086529006883, + "grad_norm": 24.875, + "learning_rate": 1.9857622229237315e-05, + "loss": 0.7128, + "step": 2227 + }, + { + "epoch": 0.13692232055063913, + "grad_norm": 33.75, + "learning_rate": 1.985723067045831e-05, + "loss": 0.6001, + "step": 2228 + }, + { + "epoch": 0.13698377581120944, + "grad_norm": 33.5, + "learning_rate": 1.985683857786879e-05, + "loss": 0.6496, + "step": 2229 + }, + { + "epoch": 0.13704523107177974, + "grad_norm": 26.5, + "learning_rate": 1.9856445951489984e-05, + "loss": 0.601, + "step": 2230 + }, + { + "epoch": 0.13710668633235004, + "grad_norm": 12.5625, + "learning_rate": 1.9856052791343153e-05, + "loss": 0.3879, + "step": 2231 + }, + { + "epoch": 0.13716814159292035, + "grad_norm": 23.875, + "learning_rate": 1.9855659097449597e-05, + "loss": 0.4743, + "step": 2232 + }, + { + "epoch": 0.13722959685349065, + "grad_norm": 17.5, + "learning_rate": 1.985526486983063e-05, + "loss": 0.7091, + "step": 2233 + }, + { + "epoch": 0.13729105211406095, + "grad_norm": 18.625, + "learning_rate": 1.98548701085076e-05, + "loss": 0.6984, + "step": 2234 + }, + { + "epoch": 0.13735250737463126, + "grad_norm": 14.5625, + "learning_rate": 1.985447481350189e-05, + "loss": 0.5653, + "step": 2235 + }, + { + "epoch": 0.1374139626352016, + "grad_norm": 19.75, + "learning_rate": 1.9854078984834904e-05, + "loss": 0.4881, + "step": 2236 + }, + { + "epoch": 0.1374754178957719, + "grad_norm": 28.375, + "learning_rate": 1.9853682622528074e-05, + "loss": 0.6677, + "step": 2237 + }, + { + "epoch": 0.1375368731563422, + "grad_norm": 12.125, + "learning_rate": 1.9853285726602874e-05, + "loss": 0.4534, + "step": 2238 + }, + { + "epoch": 0.1375983284169125, + "grad_norm": 13.6875, + "learning_rate": 1.985288829708079e-05, + "loss": 0.4135, + "step": 2239 + }, + { + "epoch": 0.1376597836774828, + "grad_norm": 13.25, + "learning_rate": 1.9852490333983342e-05, + "loss": 0.5622, + "step": 2240 + }, + { + "epoch": 0.1377212389380531, + "grad_norm": 9.5625, + "learning_rate": 1.985209183733209e-05, + "loss": 0.3986, + "step": 2241 + }, + { + "epoch": 0.1377826941986234, + "grad_norm": 10.0625, + "learning_rate": 1.9851692807148612e-05, + "loss": 0.3636, + "step": 2242 + }, + { + "epoch": 0.1378441494591937, + "grad_norm": 23.375, + "learning_rate": 1.9851293243454513e-05, + "loss": 0.3933, + "step": 2243 + }, + { + "epoch": 0.137905604719764, + "grad_norm": 14.4375, + "learning_rate": 1.985089314627143e-05, + "loss": 0.42, + "step": 2244 + }, + { + "epoch": 0.13796705998033432, + "grad_norm": 15.9375, + "learning_rate": 1.9850492515621038e-05, + "loss": 0.4015, + "step": 2245 + }, + { + "epoch": 0.13802851524090462, + "grad_norm": 14.75, + "learning_rate": 1.985009135152503e-05, + "loss": 0.3528, + "step": 2246 + }, + { + "epoch": 0.13808997050147492, + "grad_norm": 5.125, + "learning_rate": 1.9849689654005124e-05, + "loss": 0.2579, + "step": 2247 + }, + { + "epoch": 0.13815142576204523, + "grad_norm": 25.75, + "learning_rate": 1.984928742308308e-05, + "loss": 0.3416, + "step": 2248 + }, + { + "epoch": 0.13821288102261553, + "grad_norm": 12.8125, + "learning_rate": 1.984888465878068e-05, + "loss": 0.3824, + "step": 2249 + }, + { + "epoch": 0.13827433628318583, + "grad_norm": 25.875, + "learning_rate": 1.9848481361119733e-05, + "loss": 0.5539, + "step": 2250 + }, + { + "epoch": 0.13833579154375614, + "grad_norm": 9.5625, + "learning_rate": 1.9848077530122083e-05, + "loss": 0.5354, + "step": 2251 + }, + { + "epoch": 0.13839724680432644, + "grad_norm": 26.25, + "learning_rate": 1.9847673165809595e-05, + "loss": 0.5823, + "step": 2252 + }, + { + "epoch": 0.13845870206489674, + "grad_norm": 63.0, + "learning_rate": 1.9847268268204168e-05, + "loss": 0.716, + "step": 2253 + }, + { + "epoch": 0.13852015732546705, + "grad_norm": 18.375, + "learning_rate": 1.9846862837327733e-05, + "loss": 0.5441, + "step": 2254 + }, + { + "epoch": 0.13858161258603738, + "grad_norm": 27.125, + "learning_rate": 1.984645687320224e-05, + "loss": 0.5445, + "step": 2255 + }, + { + "epoch": 0.13864306784660768, + "grad_norm": 51.0, + "learning_rate": 1.9846050375849674e-05, + "loss": 0.5248, + "step": 2256 + }, + { + "epoch": 0.13870452310717798, + "grad_norm": 12.0, + "learning_rate": 1.9845643345292055e-05, + "loss": 0.6126, + "step": 2257 + }, + { + "epoch": 0.1387659783677483, + "grad_norm": 26.625, + "learning_rate": 1.984523578155142e-05, + "loss": 0.5107, + "step": 2258 + }, + { + "epoch": 0.1388274336283186, + "grad_norm": 29.25, + "learning_rate": 1.984482768464984e-05, + "loss": 0.506, + "step": 2259 + }, + { + "epoch": 0.1388888888888889, + "grad_norm": 20.625, + "learning_rate": 1.9844419054609418e-05, + "loss": 0.595, + "step": 2260 + }, + { + "epoch": 0.1389503441494592, + "grad_norm": 28.375, + "learning_rate": 1.984400989145228e-05, + "loss": 0.4633, + "step": 2261 + }, + { + "epoch": 0.1390117994100295, + "grad_norm": 20.625, + "learning_rate": 1.984360019520059e-05, + "loss": 0.5401, + "step": 2262 + }, + { + "epoch": 0.1390732546705998, + "grad_norm": 9.125, + "learning_rate": 1.9843189965876525e-05, + "loss": 0.3445, + "step": 2263 + }, + { + "epoch": 0.1391347099311701, + "grad_norm": 29.625, + "learning_rate": 1.984277920350231e-05, + "loss": 0.3929, + "step": 2264 + }, + { + "epoch": 0.1391961651917404, + "grad_norm": 45.0, + "learning_rate": 1.9842367908100182e-05, + "loss": 0.5897, + "step": 2265 + }, + { + "epoch": 0.13925762045231072, + "grad_norm": 17.75, + "learning_rate": 1.984195607969242e-05, + "loss": 0.439, + "step": 2266 + }, + { + "epoch": 0.13931907571288102, + "grad_norm": 65.0, + "learning_rate": 1.9841543718301324e-05, + "loss": 0.5191, + "step": 2267 + }, + { + "epoch": 0.13938053097345132, + "grad_norm": 9.8125, + "learning_rate": 1.9841130823949223e-05, + "loss": 0.5323, + "step": 2268 + }, + { + "epoch": 0.13944198623402163, + "grad_norm": 35.25, + "learning_rate": 1.9840717396658483e-05, + "loss": 0.5804, + "step": 2269 + }, + { + "epoch": 0.13950344149459193, + "grad_norm": 34.5, + "learning_rate": 1.9840303436451485e-05, + "loss": 0.5179, + "step": 2270 + }, + { + "epoch": 0.13956489675516223, + "grad_norm": 13.75, + "learning_rate": 1.9839888943350656e-05, + "loss": 0.3176, + "step": 2271 + }, + { + "epoch": 0.13962635201573254, + "grad_norm": 11.4375, + "learning_rate": 1.9839473917378432e-05, + "loss": 0.5403, + "step": 2272 + }, + { + "epoch": 0.13968780727630284, + "grad_norm": 28.625, + "learning_rate": 1.9839058358557296e-05, + "loss": 0.8265, + "step": 2273 + }, + { + "epoch": 0.13974926253687317, + "grad_norm": 42.25, + "learning_rate": 1.983864226690975e-05, + "loss": 0.5885, + "step": 2274 + }, + { + "epoch": 0.13981071779744347, + "grad_norm": 14.1875, + "learning_rate": 1.983822564245833e-05, + "loss": 0.4583, + "step": 2275 + }, + { + "epoch": 0.13987217305801378, + "grad_norm": 10.75, + "learning_rate": 1.983780848522559e-05, + "loss": 0.4722, + "step": 2276 + }, + { + "epoch": 0.13993362831858408, + "grad_norm": 21.375, + "learning_rate": 1.9837390795234128e-05, + "loss": 0.5182, + "step": 2277 + }, + { + "epoch": 0.13999508357915438, + "grad_norm": 12.6875, + "learning_rate": 1.9836972572506557e-05, + "loss": 0.4182, + "step": 2278 + }, + { + "epoch": 0.1400565388397247, + "grad_norm": 28.375, + "learning_rate": 1.983655381706554e-05, + "loss": 0.4289, + "step": 2279 + }, + { + "epoch": 0.140117994100295, + "grad_norm": 9.0, + "learning_rate": 1.9836134528933733e-05, + "loss": 0.4892, + "step": 2280 + }, + { + "epoch": 0.1401794493608653, + "grad_norm": 21.375, + "learning_rate": 1.983571470813386e-05, + "loss": 0.5442, + "step": 2281 + }, + { + "epoch": 0.1402409046214356, + "grad_norm": 24.875, + "learning_rate": 1.983529435468865e-05, + "loss": 0.7, + "step": 2282 + }, + { + "epoch": 0.1403023598820059, + "grad_norm": 9.5, + "learning_rate": 1.9834873468620864e-05, + "loss": 0.3771, + "step": 2283 + }, + { + "epoch": 0.1403638151425762, + "grad_norm": 15.9375, + "learning_rate": 1.98344520499533e-05, + "loss": 0.4826, + "step": 2284 + }, + { + "epoch": 0.1404252704031465, + "grad_norm": 36.5, + "learning_rate": 1.9834030098708773e-05, + "loss": 0.766, + "step": 2285 + }, + { + "epoch": 0.1404867256637168, + "grad_norm": 36.5, + "learning_rate": 1.983360761491014e-05, + "loss": 0.5972, + "step": 2286 + }, + { + "epoch": 0.1405481809242871, + "grad_norm": 20.5, + "learning_rate": 1.983318459858028e-05, + "loss": 0.5578, + "step": 2287 + }, + { + "epoch": 0.14060963618485742, + "grad_norm": 15.5625, + "learning_rate": 1.9832761049742092e-05, + "loss": 0.4374, + "step": 2288 + }, + { + "epoch": 0.14067109144542772, + "grad_norm": 21.375, + "learning_rate": 1.9832336968418527e-05, + "loss": 0.5643, + "step": 2289 + }, + { + "epoch": 0.14073254670599802, + "grad_norm": 19.25, + "learning_rate": 1.9831912354632537e-05, + "loss": 0.4419, + "step": 2290 + }, + { + "epoch": 0.14079400196656833, + "grad_norm": 10.25, + "learning_rate": 1.9831487208407126e-05, + "loss": 0.6119, + "step": 2291 + }, + { + "epoch": 0.14085545722713863, + "grad_norm": 32.25, + "learning_rate": 1.9831061529765316e-05, + "loss": 0.6325, + "step": 2292 + }, + { + "epoch": 0.14091691248770893, + "grad_norm": 51.5, + "learning_rate": 1.9830635318730155e-05, + "loss": 0.5302, + "step": 2293 + }, + { + "epoch": 0.14097836774827927, + "grad_norm": 19.5, + "learning_rate": 1.983020857532473e-05, + "loss": 0.5718, + "step": 2294 + }, + { + "epoch": 0.14103982300884957, + "grad_norm": 14.3125, + "learning_rate": 1.9829781299572147e-05, + "loss": 0.4449, + "step": 2295 + }, + { + "epoch": 0.14110127826941987, + "grad_norm": 30.375, + "learning_rate": 1.9829353491495545e-05, + "loss": 0.4569, + "step": 2296 + }, + { + "epoch": 0.14116273352999018, + "grad_norm": 30.125, + "learning_rate": 1.9828925151118092e-05, + "loss": 0.7089, + "step": 2297 + }, + { + "epoch": 0.14122418879056048, + "grad_norm": 24.25, + "learning_rate": 1.9828496278462987e-05, + "loss": 0.7536, + "step": 2298 + }, + { + "epoch": 0.14128564405113078, + "grad_norm": 25.875, + "learning_rate": 1.982806687355345e-05, + "loss": 0.5499, + "step": 2299 + }, + { + "epoch": 0.14134709931170109, + "grad_norm": 17.75, + "learning_rate": 1.9827636936412736e-05, + "loss": 0.6142, + "step": 2300 + }, + { + "epoch": 0.1414085545722714, + "grad_norm": 6.9375, + "learning_rate": 1.9827206467064133e-05, + "loss": 0.5247, + "step": 2301 + }, + { + "epoch": 0.1414700098328417, + "grad_norm": 17.125, + "learning_rate": 1.982677546553095e-05, + "loss": 0.5337, + "step": 2302 + }, + { + "epoch": 0.141531465093412, + "grad_norm": 25.75, + "learning_rate": 1.982634393183653e-05, + "loss": 0.6573, + "step": 2303 + }, + { + "epoch": 0.1415929203539823, + "grad_norm": 6.65625, + "learning_rate": 1.9825911866004235e-05, + "loss": 0.5288, + "step": 2304 + }, + { + "epoch": 0.1416543756145526, + "grad_norm": 18.25, + "learning_rate": 1.982547926805747e-05, + "loss": 0.4985, + "step": 2305 + }, + { + "epoch": 0.1417158308751229, + "grad_norm": 12.1875, + "learning_rate": 1.9825046138019658e-05, + "loss": 0.607, + "step": 2306 + }, + { + "epoch": 0.1417772861356932, + "grad_norm": 18.0, + "learning_rate": 1.982461247591426e-05, + "loss": 0.4951, + "step": 2307 + }, + { + "epoch": 0.1418387413962635, + "grad_norm": 32.0, + "learning_rate": 1.9824178281764753e-05, + "loss": 0.4146, + "step": 2308 + }, + { + "epoch": 0.14190019665683382, + "grad_norm": 27.125, + "learning_rate": 1.9823743555594655e-05, + "loss": 0.4983, + "step": 2309 + }, + { + "epoch": 0.14196165191740412, + "grad_norm": 26.875, + "learning_rate": 1.9823308297427514e-05, + "loss": 0.3965, + "step": 2310 + }, + { + "epoch": 0.14202310717797442, + "grad_norm": 11.9375, + "learning_rate": 1.982287250728689e-05, + "loss": 0.3937, + "step": 2311 + }, + { + "epoch": 0.14208456243854473, + "grad_norm": 16.125, + "learning_rate": 1.982243618519639e-05, + "loss": 0.4282, + "step": 2312 + }, + { + "epoch": 0.14214601769911506, + "grad_norm": 39.25, + "learning_rate": 1.9821999331179635e-05, + "loss": 0.5139, + "step": 2313 + }, + { + "epoch": 0.14220747295968536, + "grad_norm": 26.125, + "learning_rate": 1.9821561945260292e-05, + "loss": 0.4733, + "step": 2314 + }, + { + "epoch": 0.14226892822025566, + "grad_norm": 15.75, + "learning_rate": 1.9821124027462043e-05, + "loss": 0.5178, + "step": 2315 + }, + { + "epoch": 0.14233038348082597, + "grad_norm": 28.875, + "learning_rate": 1.9820685577808604e-05, + "loss": 0.6117, + "step": 2316 + }, + { + "epoch": 0.14239183874139627, + "grad_norm": 25.75, + "learning_rate": 1.982024659632372e-05, + "loss": 0.5936, + "step": 2317 + }, + { + "epoch": 0.14245329400196657, + "grad_norm": 27.625, + "learning_rate": 1.981980708303116e-05, + "loss": 0.4173, + "step": 2318 + }, + { + "epoch": 0.14251474926253688, + "grad_norm": 14.0, + "learning_rate": 1.9819367037954725e-05, + "loss": 0.4138, + "step": 2319 + }, + { + "epoch": 0.14257620452310718, + "grad_norm": 19.25, + "learning_rate": 1.9818926461118254e-05, + "loss": 0.4707, + "step": 2320 + }, + { + "epoch": 0.14263765978367748, + "grad_norm": 23.875, + "learning_rate": 1.9818485352545595e-05, + "loss": 0.7985, + "step": 2321 + }, + { + "epoch": 0.1426991150442478, + "grad_norm": 20.125, + "learning_rate": 1.981804371226064e-05, + "loss": 0.6754, + "step": 2322 + }, + { + "epoch": 0.1427605703048181, + "grad_norm": 8.9375, + "learning_rate": 1.981760154028731e-05, + "loss": 0.6029, + "step": 2323 + }, + { + "epoch": 0.1428220255653884, + "grad_norm": 24.125, + "learning_rate": 1.9817158836649542e-05, + "loss": 0.5088, + "step": 2324 + }, + { + "epoch": 0.1428834808259587, + "grad_norm": 22.25, + "learning_rate": 1.981671560137132e-05, + "loss": 0.4542, + "step": 2325 + }, + { + "epoch": 0.142944936086529, + "grad_norm": 14.4375, + "learning_rate": 1.9816271834476642e-05, + "loss": 0.7558, + "step": 2326 + }, + { + "epoch": 0.1430063913470993, + "grad_norm": 22.5, + "learning_rate": 1.981582753598954e-05, + "loss": 0.5192, + "step": 2327 + }, + { + "epoch": 0.1430678466076696, + "grad_norm": 31.875, + "learning_rate": 1.981538270593407e-05, + "loss": 0.4768, + "step": 2328 + }, + { + "epoch": 0.1431293018682399, + "grad_norm": 37.5, + "learning_rate": 1.981493734433433e-05, + "loss": 0.4595, + "step": 2329 + }, + { + "epoch": 0.14319075712881021, + "grad_norm": 32.5, + "learning_rate": 1.9814491451214434e-05, + "loss": 0.6074, + "step": 2330 + }, + { + "epoch": 0.14325221238938052, + "grad_norm": 27.75, + "learning_rate": 1.981404502659853e-05, + "loss": 0.5599, + "step": 2331 + }, + { + "epoch": 0.14331366764995085, + "grad_norm": 9.6875, + "learning_rate": 1.981359807051079e-05, + "loss": 0.5609, + "step": 2332 + }, + { + "epoch": 0.14337512291052115, + "grad_norm": 11.0625, + "learning_rate": 1.9813150582975425e-05, + "loss": 0.4313, + "step": 2333 + }, + { + "epoch": 0.14343657817109146, + "grad_norm": 18.25, + "learning_rate": 1.9812702564016664e-05, + "loss": 0.4355, + "step": 2334 + }, + { + "epoch": 0.14349803343166176, + "grad_norm": 8.375, + "learning_rate": 1.981225401365877e-05, + "loss": 0.352, + "step": 2335 + }, + { + "epoch": 0.14355948869223206, + "grad_norm": 13.125, + "learning_rate": 1.981180493192603e-05, + "loss": 0.4398, + "step": 2336 + }, + { + "epoch": 0.14362094395280237, + "grad_norm": 25.375, + "learning_rate": 1.9811355318842776e-05, + "loss": 0.5923, + "step": 2337 + }, + { + "epoch": 0.14368239921337267, + "grad_norm": 16.5, + "learning_rate": 1.981090517443334e-05, + "loss": 0.4834, + "step": 2338 + }, + { + "epoch": 0.14374385447394297, + "grad_norm": 21.125, + "learning_rate": 1.9810454498722114e-05, + "loss": 0.4312, + "step": 2339 + }, + { + "epoch": 0.14380530973451328, + "grad_norm": 6.375, + "learning_rate": 1.9810003291733492e-05, + "loss": 0.3149, + "step": 2340 + }, + { + "epoch": 0.14386676499508358, + "grad_norm": 49.25, + "learning_rate": 1.9809551553491918e-05, + "loss": 0.4829, + "step": 2341 + }, + { + "epoch": 0.14392822025565388, + "grad_norm": 5.90625, + "learning_rate": 1.980909928402185e-05, + "loss": 0.378, + "step": 2342 + }, + { + "epoch": 0.14398967551622419, + "grad_norm": 13.0, + "learning_rate": 1.980864648334778e-05, + "loss": 0.3847, + "step": 2343 + }, + { + "epoch": 0.1440511307767945, + "grad_norm": 5.03125, + "learning_rate": 1.9808193151494233e-05, + "loss": 0.3351, + "step": 2344 + }, + { + "epoch": 0.1441125860373648, + "grad_norm": 10.8125, + "learning_rate": 1.9807739288485758e-05, + "loss": 0.3433, + "step": 2345 + }, + { + "epoch": 0.1441740412979351, + "grad_norm": 49.75, + "learning_rate": 1.980728489434693e-05, + "loss": 0.5013, + "step": 2346 + }, + { + "epoch": 0.1442354965585054, + "grad_norm": 3.109375, + "learning_rate": 1.9806829969102356e-05, + "loss": 0.373, + "step": 2347 + }, + { + "epoch": 0.1442969518190757, + "grad_norm": 17.5, + "learning_rate": 1.980637451277668e-05, + "loss": 0.4202, + "step": 2348 + }, + { + "epoch": 0.144358407079646, + "grad_norm": 15.9375, + "learning_rate": 1.980591852539456e-05, + "loss": 0.4677, + "step": 2349 + }, + { + "epoch": 0.1444198623402163, + "grad_norm": 20.125, + "learning_rate": 1.9805462006980688e-05, + "loss": 0.4328, + "step": 2350 + }, + { + "epoch": 0.14448131760078664, + "grad_norm": 18.5, + "learning_rate": 1.9805004957559795e-05, + "loss": 0.4094, + "step": 2351 + }, + { + "epoch": 0.14454277286135694, + "grad_norm": 29.375, + "learning_rate": 1.9804547377156624e-05, + "loss": 0.3067, + "step": 2352 + }, + { + "epoch": 0.14460422812192725, + "grad_norm": 28.625, + "learning_rate": 1.980408926579596e-05, + "loss": 0.7151, + "step": 2353 + }, + { + "epoch": 0.14466568338249755, + "grad_norm": 20.75, + "learning_rate": 1.9803630623502606e-05, + "loss": 0.5994, + "step": 2354 + }, + { + "epoch": 0.14472713864306785, + "grad_norm": 25.75, + "learning_rate": 1.9803171450301405e-05, + "loss": 0.6675, + "step": 2355 + }, + { + "epoch": 0.14478859390363816, + "grad_norm": 24.125, + "learning_rate": 1.9802711746217222e-05, + "loss": 0.6266, + "step": 2356 + }, + { + "epoch": 0.14485004916420846, + "grad_norm": 26.5, + "learning_rate": 1.9802251511274946e-05, + "loss": 0.7621, + "step": 2357 + }, + { + "epoch": 0.14491150442477876, + "grad_norm": 19.5, + "learning_rate": 1.980179074549951e-05, + "loss": 0.5386, + "step": 2358 + }, + { + "epoch": 0.14497295968534907, + "grad_norm": 13.875, + "learning_rate": 1.9801329448915863e-05, + "loss": 0.4819, + "step": 2359 + }, + { + "epoch": 0.14503441494591937, + "grad_norm": 10.6875, + "learning_rate": 1.980086762154898e-05, + "loss": 0.4122, + "step": 2360 + }, + { + "epoch": 0.14509587020648967, + "grad_norm": 16.625, + "learning_rate": 1.980040526342388e-05, + "loss": 0.608, + "step": 2361 + }, + { + "epoch": 0.14515732546705998, + "grad_norm": 21.5, + "learning_rate": 1.9799942374565597e-05, + "loss": 0.5776, + "step": 2362 + }, + { + "epoch": 0.14521878072763028, + "grad_norm": 21.0, + "learning_rate": 1.9799478954999198e-05, + "loss": 0.7758, + "step": 2363 + }, + { + "epoch": 0.14528023598820058, + "grad_norm": 20.0, + "learning_rate": 1.979901500474978e-05, + "loss": 0.7533, + "step": 2364 + }, + { + "epoch": 0.1453416912487709, + "grad_norm": 15.6875, + "learning_rate": 1.979855052384247e-05, + "loss": 0.679, + "step": 2365 + }, + { + "epoch": 0.1454031465093412, + "grad_norm": 11.4375, + "learning_rate": 1.9798085512302418e-05, + "loss": 0.3526, + "step": 2366 + }, + { + "epoch": 0.1454646017699115, + "grad_norm": 17.375, + "learning_rate": 1.9797619970154807e-05, + "loss": 0.4703, + "step": 2367 + }, + { + "epoch": 0.1455260570304818, + "grad_norm": 15.625, + "learning_rate": 1.9797153897424854e-05, + "loss": 0.3675, + "step": 2368 + }, + { + "epoch": 0.1455875122910521, + "grad_norm": 19.0, + "learning_rate": 1.979668729413779e-05, + "loss": 0.4406, + "step": 2369 + }, + { + "epoch": 0.14564896755162243, + "grad_norm": 14.875, + "learning_rate": 1.9796220160318885e-05, + "loss": 0.5295, + "step": 2370 + }, + { + "epoch": 0.14571042281219274, + "grad_norm": 25.875, + "learning_rate": 1.979575249599344e-05, + "loss": 0.5895, + "step": 2371 + }, + { + "epoch": 0.14577187807276304, + "grad_norm": 14.625, + "learning_rate": 1.9795284301186782e-05, + "loss": 0.4618, + "step": 2372 + }, + { + "epoch": 0.14583333333333334, + "grad_norm": 28.625, + "learning_rate": 1.9794815575924264e-05, + "loss": 0.5992, + "step": 2373 + }, + { + "epoch": 0.14589478859390365, + "grad_norm": 12.1875, + "learning_rate": 1.9794346320231265e-05, + "loss": 0.3861, + "step": 2374 + }, + { + "epoch": 0.14595624385447395, + "grad_norm": 8.625, + "learning_rate": 1.9793876534133205e-05, + "loss": 0.3257, + "step": 2375 + }, + { + "epoch": 0.14601769911504425, + "grad_norm": 12.6875, + "learning_rate": 1.9793406217655516e-05, + "loss": 0.3326, + "step": 2376 + }, + { + "epoch": 0.14607915437561456, + "grad_norm": 18.125, + "learning_rate": 1.9792935370823676e-05, + "loss": 0.4156, + "step": 2377 + }, + { + "epoch": 0.14614060963618486, + "grad_norm": 18.75, + "learning_rate": 1.979246399366318e-05, + "loss": 0.4597, + "step": 2378 + }, + { + "epoch": 0.14620206489675516, + "grad_norm": 20.625, + "learning_rate": 1.9791992086199552e-05, + "loss": 0.4928, + "step": 2379 + }, + { + "epoch": 0.14626352015732547, + "grad_norm": 19.5, + "learning_rate": 1.9791519648458352e-05, + "loss": 0.3948, + "step": 2380 + }, + { + "epoch": 0.14632497541789577, + "grad_norm": 26.625, + "learning_rate": 1.979104668046516e-05, + "loss": 0.4023, + "step": 2381 + }, + { + "epoch": 0.14638643067846607, + "grad_norm": 15.75, + "learning_rate": 1.97905731822456e-05, + "loss": 0.4679, + "step": 2382 + }, + { + "epoch": 0.14644788593903638, + "grad_norm": 12.125, + "learning_rate": 1.97900991538253e-05, + "loss": 0.4376, + "step": 2383 + }, + { + "epoch": 0.14650934119960668, + "grad_norm": 23.25, + "learning_rate": 1.9789624595229937e-05, + "loss": 0.4788, + "step": 2384 + }, + { + "epoch": 0.14657079646017698, + "grad_norm": 23.875, + "learning_rate": 1.978914950648521e-05, + "loss": 0.5495, + "step": 2385 + }, + { + "epoch": 0.1466322517207473, + "grad_norm": 8.9375, + "learning_rate": 1.9788673887616852e-05, + "loss": 0.4129, + "step": 2386 + }, + { + "epoch": 0.1466937069813176, + "grad_norm": 13.6875, + "learning_rate": 1.9788197738650613e-05, + "loss": 0.6316, + "step": 2387 + }, + { + "epoch": 0.1467551622418879, + "grad_norm": 12.125, + "learning_rate": 1.9787721059612276e-05, + "loss": 0.4781, + "step": 2388 + }, + { + "epoch": 0.14681661750245822, + "grad_norm": 24.25, + "learning_rate": 1.9787243850527663e-05, + "loss": 0.3069, + "step": 2389 + }, + { + "epoch": 0.14687807276302853, + "grad_norm": 23.5, + "learning_rate": 1.9786766111422616e-05, + "loss": 0.3726, + "step": 2390 + }, + { + "epoch": 0.14693952802359883, + "grad_norm": 31.375, + "learning_rate": 1.9786287842323002e-05, + "loss": 0.3191, + "step": 2391 + }, + { + "epoch": 0.14700098328416913, + "grad_norm": 22.375, + "learning_rate": 1.978580904325472e-05, + "loss": 0.4062, + "step": 2392 + }, + { + "epoch": 0.14706243854473944, + "grad_norm": 49.25, + "learning_rate": 1.978532971424371e-05, + "loss": 0.4739, + "step": 2393 + }, + { + "epoch": 0.14712389380530974, + "grad_norm": 5.875, + "learning_rate": 1.9784849855315914e-05, + "loss": 0.3387, + "step": 2394 + }, + { + "epoch": 0.14718534906588004, + "grad_norm": 11.1875, + "learning_rate": 1.9784369466497333e-05, + "loss": 0.6701, + "step": 2395 + }, + { + "epoch": 0.14724680432645035, + "grad_norm": 23.375, + "learning_rate": 1.978388854781397e-05, + "loss": 0.5333, + "step": 2396 + }, + { + "epoch": 0.14730825958702065, + "grad_norm": 18.625, + "learning_rate": 1.978340709929188e-05, + "loss": 0.5456, + "step": 2397 + }, + { + "epoch": 0.14736971484759095, + "grad_norm": 19.375, + "learning_rate": 1.9782925120957123e-05, + "loss": 0.3883, + "step": 2398 + }, + { + "epoch": 0.14743117010816126, + "grad_norm": 11.3125, + "learning_rate": 1.9782442612835812e-05, + "loss": 0.3444, + "step": 2399 + }, + { + "epoch": 0.14749262536873156, + "grad_norm": 4.09375, + "learning_rate": 1.978195957495407e-05, + "loss": 0.3027, + "step": 2400 + }, + { + "epoch": 0.14755408062930186, + "grad_norm": 9.1875, + "learning_rate": 1.9781476007338058e-05, + "loss": 0.4413, + "step": 2401 + }, + { + "epoch": 0.14761553588987217, + "grad_norm": 30.25, + "learning_rate": 1.978099191001396e-05, + "loss": 0.5716, + "step": 2402 + }, + { + "epoch": 0.14767699115044247, + "grad_norm": 5.21875, + "learning_rate": 1.9780507283008e-05, + "loss": 0.4114, + "step": 2403 + }, + { + "epoch": 0.14773844641101277, + "grad_norm": 25.875, + "learning_rate": 1.9780022126346413e-05, + "loss": 0.6259, + "step": 2404 + }, + { + "epoch": 0.14779990167158308, + "grad_norm": 30.125, + "learning_rate": 1.9779536440055474e-05, + "loss": 0.5516, + "step": 2405 + }, + { + "epoch": 0.14786135693215338, + "grad_norm": 7.625, + "learning_rate": 1.9779050224161494e-05, + "loss": 0.2358, + "step": 2406 + }, + { + "epoch": 0.14792281219272368, + "grad_norm": 6.0, + "learning_rate": 1.977856347869079e-05, + "loss": 0.4169, + "step": 2407 + }, + { + "epoch": 0.147984267453294, + "grad_norm": 47.25, + "learning_rate": 1.977807620366973e-05, + "loss": 0.3913, + "step": 2408 + }, + { + "epoch": 0.14804572271386432, + "grad_norm": 19.5, + "learning_rate": 1.9777588399124702e-05, + "loss": 0.7274, + "step": 2409 + }, + { + "epoch": 0.14810717797443462, + "grad_norm": 32.75, + "learning_rate": 1.977710006508212e-05, + "loss": 0.5983, + "step": 2410 + }, + { + "epoch": 0.14816863323500493, + "grad_norm": 48.0, + "learning_rate": 1.9776611201568434e-05, + "loss": 0.7134, + "step": 2411 + }, + { + "epoch": 0.14823008849557523, + "grad_norm": 43.5, + "learning_rate": 1.977612180861011e-05, + "loss": 0.5775, + "step": 2412 + }, + { + "epoch": 0.14829154375614553, + "grad_norm": 23.625, + "learning_rate": 1.9775631886233655e-05, + "loss": 0.6386, + "step": 2413 + }, + { + "epoch": 0.14835299901671584, + "grad_norm": 18.625, + "learning_rate": 1.97751414344656e-05, + "loss": 0.4715, + "step": 2414 + }, + { + "epoch": 0.14841445427728614, + "grad_norm": 11.9375, + "learning_rate": 1.9774650453332506e-05, + "loss": 0.6077, + "step": 2415 + }, + { + "epoch": 0.14847590953785644, + "grad_norm": 10.25, + "learning_rate": 1.9774158942860962e-05, + "loss": 0.6176, + "step": 2416 + }, + { + "epoch": 0.14853736479842675, + "grad_norm": 14.625, + "learning_rate": 1.977366690307758e-05, + "loss": 0.4794, + "step": 2417 + }, + { + "epoch": 0.14859882005899705, + "grad_norm": 8.75, + "learning_rate": 1.9773174334009016e-05, + "loss": 0.3786, + "step": 2418 + }, + { + "epoch": 0.14866027531956735, + "grad_norm": 37.25, + "learning_rate": 1.9772681235681936e-05, + "loss": 0.5023, + "step": 2419 + }, + { + "epoch": 0.14872173058013766, + "grad_norm": 32.25, + "learning_rate": 1.9772187608123047e-05, + "loss": 0.499, + "step": 2420 + }, + { + "epoch": 0.14878318584070796, + "grad_norm": 10.0625, + "learning_rate": 1.977169345135908e-05, + "loss": 0.4382, + "step": 2421 + }, + { + "epoch": 0.14884464110127826, + "grad_norm": 30.75, + "learning_rate": 1.97711987654168e-05, + "loss": 0.4144, + "step": 2422 + }, + { + "epoch": 0.14890609636184857, + "grad_norm": 13.8125, + "learning_rate": 1.9770703550322986e-05, + "loss": 0.3927, + "step": 2423 + }, + { + "epoch": 0.14896755162241887, + "grad_norm": 6.875, + "learning_rate": 1.9770207806104466e-05, + "loss": 0.2667, + "step": 2424 + }, + { + "epoch": 0.14902900688298917, + "grad_norm": 17.0, + "learning_rate": 1.9769711532788083e-05, + "loss": 0.5883, + "step": 2425 + }, + { + "epoch": 0.14909046214355948, + "grad_norm": 4.71875, + "learning_rate": 1.976921473040071e-05, + "loss": 0.4883, + "step": 2426 + }, + { + "epoch": 0.14915191740412978, + "grad_norm": 40.5, + "learning_rate": 1.9768717398969258e-05, + "loss": 0.6213, + "step": 2427 + }, + { + "epoch": 0.1492133726647001, + "grad_norm": 60.0, + "learning_rate": 1.976821953852065e-05, + "loss": 0.5008, + "step": 2428 + }, + { + "epoch": 0.14927482792527041, + "grad_norm": 36.25, + "learning_rate": 1.9767721149081852e-05, + "loss": 0.5369, + "step": 2429 + }, + { + "epoch": 0.14933628318584072, + "grad_norm": 36.0, + "learning_rate": 1.9767222230679858e-05, + "loss": 0.473, + "step": 2430 + }, + { + "epoch": 0.14939773844641102, + "grad_norm": 47.25, + "learning_rate": 1.9766722783341682e-05, + "loss": 0.5133, + "step": 2431 + }, + { + "epoch": 0.14945919370698132, + "grad_norm": 34.25, + "learning_rate": 1.976622280709437e-05, + "loss": 0.5707, + "step": 2432 + }, + { + "epoch": 0.14952064896755163, + "grad_norm": 12.5, + "learning_rate": 1.9765722301965e-05, + "loss": 0.5615, + "step": 2433 + }, + { + "epoch": 0.14958210422812193, + "grad_norm": 22.625, + "learning_rate": 1.9765221267980675e-05, + "loss": 0.4909, + "step": 2434 + }, + { + "epoch": 0.14964355948869223, + "grad_norm": 41.0, + "learning_rate": 1.9764719705168528e-05, + "loss": 0.3712, + "step": 2435 + }, + { + "epoch": 0.14970501474926254, + "grad_norm": 12.0, + "learning_rate": 1.976421761355572e-05, + "loss": 0.3455, + "step": 2436 + }, + { + "epoch": 0.14976647000983284, + "grad_norm": 29.625, + "learning_rate": 1.976371499316945e-05, + "loss": 0.4265, + "step": 2437 + }, + { + "epoch": 0.14982792527040315, + "grad_norm": 13.875, + "learning_rate": 1.9763211844036928e-05, + "loss": 0.5158, + "step": 2438 + }, + { + "epoch": 0.14988938053097345, + "grad_norm": 22.875, + "learning_rate": 1.97627081661854e-05, + "loss": 0.5486, + "step": 2439 + }, + { + "epoch": 0.14995083579154375, + "grad_norm": 38.25, + "learning_rate": 1.976220395964215e-05, + "loss": 0.4846, + "step": 2440 + }, + { + "epoch": 0.15001229105211406, + "grad_norm": 40.75, + "learning_rate": 1.9761699224434476e-05, + "loss": 0.6749, + "step": 2441 + }, + { + "epoch": 0.15007374631268436, + "grad_norm": 27.375, + "learning_rate": 1.976119396058972e-05, + "loss": 0.47, + "step": 2442 + }, + { + "epoch": 0.15013520157325466, + "grad_norm": 11.9375, + "learning_rate": 1.9760688168135233e-05, + "loss": 0.4736, + "step": 2443 + }, + { + "epoch": 0.15019665683382497, + "grad_norm": 43.75, + "learning_rate": 1.9760181847098412e-05, + "loss": 0.4598, + "step": 2444 + }, + { + "epoch": 0.15025811209439527, + "grad_norm": 21.0, + "learning_rate": 1.975967499750668e-05, + "loss": 0.3586, + "step": 2445 + }, + { + "epoch": 0.15031956735496557, + "grad_norm": 37.75, + "learning_rate": 1.9759167619387474e-05, + "loss": 0.503, + "step": 2446 + }, + { + "epoch": 0.1503810226155359, + "grad_norm": 13.375, + "learning_rate": 1.9758659712768283e-05, + "loss": 0.4314, + "step": 2447 + }, + { + "epoch": 0.1504424778761062, + "grad_norm": 10.0625, + "learning_rate": 1.9758151277676603e-05, + "loss": 0.5163, + "step": 2448 + }, + { + "epoch": 0.1505039331366765, + "grad_norm": 25.75, + "learning_rate": 1.9757642314139977e-05, + "loss": 0.458, + "step": 2449 + }, + { + "epoch": 0.1505653883972468, + "grad_norm": 27.375, + "learning_rate": 1.975713282218596e-05, + "loss": 0.5305, + "step": 2450 + }, + { + "epoch": 0.15062684365781712, + "grad_norm": 14.25, + "learning_rate": 1.9756622801842144e-05, + "loss": 0.5893, + "step": 2451 + }, + { + "epoch": 0.15068829891838742, + "grad_norm": 31.125, + "learning_rate": 1.9756112253136154e-05, + "loss": 0.421, + "step": 2452 + }, + { + "epoch": 0.15074975417895772, + "grad_norm": 16.0, + "learning_rate": 1.975560117609563e-05, + "loss": 0.3991, + "step": 2453 + }, + { + "epoch": 0.15081120943952803, + "grad_norm": 16.875, + "learning_rate": 1.9755089570748255e-05, + "loss": 0.4059, + "step": 2454 + }, + { + "epoch": 0.15087266470009833, + "grad_norm": 9.8125, + "learning_rate": 1.9754577437121733e-05, + "loss": 0.3474, + "step": 2455 + }, + { + "epoch": 0.15093411996066863, + "grad_norm": 20.0, + "learning_rate": 1.9754064775243797e-05, + "loss": 0.5048, + "step": 2456 + }, + { + "epoch": 0.15099557522123894, + "grad_norm": 12.9375, + "learning_rate": 1.9753551585142214e-05, + "loss": 0.4424, + "step": 2457 + }, + { + "epoch": 0.15105703048180924, + "grad_norm": 31.0, + "learning_rate": 1.975303786684477e-05, + "loss": 0.5277, + "step": 2458 + }, + { + "epoch": 0.15111848574237954, + "grad_norm": 17.625, + "learning_rate": 1.9752523620379288e-05, + "loss": 0.4678, + "step": 2459 + }, + { + "epoch": 0.15117994100294985, + "grad_norm": 14.75, + "learning_rate": 1.9752008845773618e-05, + "loss": 0.4845, + "step": 2460 + }, + { + "epoch": 0.15124139626352015, + "grad_norm": 34.25, + "learning_rate": 1.9751493543055634e-05, + "loss": 0.6685, + "step": 2461 + }, + { + "epoch": 0.15130285152409045, + "grad_norm": 15.5, + "learning_rate": 1.9750977712253242e-05, + "loss": 0.4018, + "step": 2462 + }, + { + "epoch": 0.15136430678466076, + "grad_norm": 8.625, + "learning_rate": 1.975046135339438e-05, + "loss": 0.4305, + "step": 2463 + }, + { + "epoch": 0.15142576204523106, + "grad_norm": 9.875, + "learning_rate": 1.9749944466507007e-05, + "loss": 0.5154, + "step": 2464 + }, + { + "epoch": 0.15148721730580136, + "grad_norm": 12.9375, + "learning_rate": 1.9749427051619118e-05, + "loss": 0.3798, + "step": 2465 + }, + { + "epoch": 0.1515486725663717, + "grad_norm": 9.875, + "learning_rate": 1.9748909108758727e-05, + "loss": 0.5277, + "step": 2466 + }, + { + "epoch": 0.151610127826942, + "grad_norm": 17.375, + "learning_rate": 1.974839063795389e-05, + "loss": 0.5633, + "step": 2467 + }, + { + "epoch": 0.1516715830875123, + "grad_norm": 14.75, + "learning_rate": 1.974787163923268e-05, + "loss": 0.588, + "step": 2468 + }, + { + "epoch": 0.1517330383480826, + "grad_norm": 16.125, + "learning_rate": 1.9747352112623207e-05, + "loss": 0.4127, + "step": 2469 + }, + { + "epoch": 0.1517944936086529, + "grad_norm": 7.84375, + "learning_rate": 1.9746832058153602e-05, + "loss": 0.3546, + "step": 2470 + }, + { + "epoch": 0.1518559488692232, + "grad_norm": 7.25, + "learning_rate": 1.9746311475852028e-05, + "loss": 0.3774, + "step": 2471 + }, + { + "epoch": 0.15191740412979352, + "grad_norm": 36.25, + "learning_rate": 1.9745790365746678e-05, + "loss": 0.3119, + "step": 2472 + }, + { + "epoch": 0.15197885939036382, + "grad_norm": 28.0, + "learning_rate": 1.9745268727865774e-05, + "loss": 0.6003, + "step": 2473 + }, + { + "epoch": 0.15204031465093412, + "grad_norm": 32.75, + "learning_rate": 1.9744746562237563e-05, + "loss": 0.4319, + "step": 2474 + }, + { + "epoch": 0.15210176991150443, + "grad_norm": 17.625, + "learning_rate": 1.9744223868890317e-05, + "loss": 0.4008, + "step": 2475 + }, + { + "epoch": 0.15216322517207473, + "grad_norm": 5.90625, + "learning_rate": 1.9743700647852356e-05, + "loss": 0.329, + "step": 2476 + }, + { + "epoch": 0.15222468043264503, + "grad_norm": 23.875, + "learning_rate": 1.9743176899151998e-05, + "loss": 0.4819, + "step": 2477 + }, + { + "epoch": 0.15228613569321534, + "grad_norm": 26.125, + "learning_rate": 1.9742652622817622e-05, + "loss": 0.4721, + "step": 2478 + }, + { + "epoch": 0.15234759095378564, + "grad_norm": 12.8125, + "learning_rate": 1.9742127818877605e-05, + "loss": 0.5077, + "step": 2479 + }, + { + "epoch": 0.15240904621435594, + "grad_norm": 9.5, + "learning_rate": 1.9741602487360382e-05, + "loss": 0.3709, + "step": 2480 + }, + { + "epoch": 0.15247050147492625, + "grad_norm": 28.875, + "learning_rate": 1.9741076628294387e-05, + "loss": 0.586, + "step": 2481 + }, + { + "epoch": 0.15253195673549655, + "grad_norm": 13.1875, + "learning_rate": 1.974055024170811e-05, + "loss": 0.4819, + "step": 2482 + }, + { + "epoch": 0.15259341199606685, + "grad_norm": 35.5, + "learning_rate": 1.974002332763005e-05, + "loss": 0.4552, + "step": 2483 + }, + { + "epoch": 0.15265486725663716, + "grad_norm": 19.125, + "learning_rate": 1.9739495886088745e-05, + "loss": 0.4949, + "step": 2484 + }, + { + "epoch": 0.1527163225172075, + "grad_norm": 49.25, + "learning_rate": 1.9738967917112752e-05, + "loss": 0.5519, + "step": 2485 + }, + { + "epoch": 0.1527777777777778, + "grad_norm": 28.5, + "learning_rate": 1.9738439420730674e-05, + "loss": 0.4282, + "step": 2486 + }, + { + "epoch": 0.1528392330383481, + "grad_norm": 18.5, + "learning_rate": 1.9737910396971122e-05, + "loss": 0.4504, + "step": 2487 + }, + { + "epoch": 0.1529006882989184, + "grad_norm": 39.5, + "learning_rate": 1.9737380845862745e-05, + "loss": 0.4778, + "step": 2488 + }, + { + "epoch": 0.1529621435594887, + "grad_norm": 25.625, + "learning_rate": 1.9736850767434226e-05, + "loss": 0.4263, + "step": 2489 + }, + { + "epoch": 0.153023598820059, + "grad_norm": 25.625, + "learning_rate": 1.9736320161714267e-05, + "loss": 0.4195, + "step": 2490 + }, + { + "epoch": 0.1530850540806293, + "grad_norm": 32.25, + "learning_rate": 1.9735789028731603e-05, + "loss": 0.3562, + "step": 2491 + }, + { + "epoch": 0.1531465093411996, + "grad_norm": 31.375, + "learning_rate": 1.9735257368515e-05, + "loss": 0.5781, + "step": 2492 + }, + { + "epoch": 0.1532079646017699, + "grad_norm": 16.625, + "learning_rate": 1.9734725181093246e-05, + "loss": 0.4943, + "step": 2493 + }, + { + "epoch": 0.15326941986234022, + "grad_norm": 10.375, + "learning_rate": 1.9734192466495162e-05, + "loss": 0.4052, + "step": 2494 + }, + { + "epoch": 0.15333087512291052, + "grad_norm": 16.375, + "learning_rate": 1.9733659224749596e-05, + "loss": 0.365, + "step": 2495 + }, + { + "epoch": 0.15339233038348082, + "grad_norm": 18.625, + "learning_rate": 1.973312545588543e-05, + "loss": 0.4682, + "step": 2496 + }, + { + "epoch": 0.15345378564405113, + "grad_norm": 6.25, + "learning_rate": 1.9732591159931564e-05, + "loss": 0.3856, + "step": 2497 + }, + { + "epoch": 0.15351524090462143, + "grad_norm": 15.6875, + "learning_rate": 1.9732056336916936e-05, + "loss": 0.6198, + "step": 2498 + }, + { + "epoch": 0.15357669616519173, + "grad_norm": 25.75, + "learning_rate": 1.9731520986870505e-05, + "loss": 0.4293, + "step": 2499 + }, + { + "epoch": 0.15363815142576204, + "grad_norm": 22.125, + "learning_rate": 1.9730985109821268e-05, + "loss": 0.6935, + "step": 2500 + }, + { + "epoch": 0.15369960668633234, + "grad_norm": 22.625, + "learning_rate": 1.973044870579824e-05, + "loss": 0.2953, + "step": 2501 + }, + { + "epoch": 0.15376106194690264, + "grad_norm": 40.25, + "learning_rate": 1.9729911774830472e-05, + "loss": 0.4655, + "step": 2502 + }, + { + "epoch": 0.15382251720747295, + "grad_norm": 9.5625, + "learning_rate": 1.972937431694704e-05, + "loss": 0.3424, + "step": 2503 + }, + { + "epoch": 0.15388397246804325, + "grad_norm": 31.625, + "learning_rate": 1.9728836332177054e-05, + "loss": 0.5138, + "step": 2504 + }, + { + "epoch": 0.15394542772861358, + "grad_norm": 28.25, + "learning_rate": 1.972829782054964e-05, + "loss": 0.6226, + "step": 2505 + }, + { + "epoch": 0.15400688298918389, + "grad_norm": 29.5, + "learning_rate": 1.972775878209397e-05, + "loss": 0.7932, + "step": 2506 + }, + { + "epoch": 0.1540683382497542, + "grad_norm": 19.375, + "learning_rate": 1.9727219216839223e-05, + "loss": 0.5903, + "step": 2507 + }, + { + "epoch": 0.1541297935103245, + "grad_norm": 46.25, + "learning_rate": 1.9726679124814633e-05, + "loss": 0.7314, + "step": 2508 + }, + { + "epoch": 0.1541912487708948, + "grad_norm": 8.9375, + "learning_rate": 1.9726138506049438e-05, + "loss": 0.6516, + "step": 2509 + }, + { + "epoch": 0.1542527040314651, + "grad_norm": 36.25, + "learning_rate": 1.9725597360572918e-05, + "loss": 0.8025, + "step": 2510 + }, + { + "epoch": 0.1543141592920354, + "grad_norm": 14.8125, + "learning_rate": 1.9725055688414378e-05, + "loss": 0.6405, + "step": 2511 + }, + { + "epoch": 0.1543756145526057, + "grad_norm": 18.25, + "learning_rate": 1.9724513489603153e-05, + "loss": 0.6724, + "step": 2512 + }, + { + "epoch": 0.154437069813176, + "grad_norm": 35.0, + "learning_rate": 1.9723970764168606e-05, + "loss": 0.4985, + "step": 2513 + }, + { + "epoch": 0.1544985250737463, + "grad_norm": 15.0625, + "learning_rate": 1.9723427512140124e-05, + "loss": 0.4238, + "step": 2514 + }, + { + "epoch": 0.15455998033431662, + "grad_norm": 20.625, + "learning_rate": 1.9722883733547128e-05, + "loss": 0.4777, + "step": 2515 + }, + { + "epoch": 0.15462143559488692, + "grad_norm": 12.0625, + "learning_rate": 1.972233942841907e-05, + "loss": 0.3481, + "step": 2516 + }, + { + "epoch": 0.15468289085545722, + "grad_norm": 14.3125, + "learning_rate": 1.9721794596785423e-05, + "loss": 0.4643, + "step": 2517 + }, + { + "epoch": 0.15474434611602753, + "grad_norm": 8.625, + "learning_rate": 1.9721249238675688e-05, + "loss": 0.3452, + "step": 2518 + }, + { + "epoch": 0.15480580137659783, + "grad_norm": 8.125, + "learning_rate": 1.9720703354119407e-05, + "loss": 0.3795, + "step": 2519 + }, + { + "epoch": 0.15486725663716813, + "grad_norm": 24.0, + "learning_rate": 1.9720156943146133e-05, + "loss": 0.4835, + "step": 2520 + }, + { + "epoch": 0.15492871189773844, + "grad_norm": 17.75, + "learning_rate": 1.9719610005785466e-05, + "loss": 0.5871, + "step": 2521 + }, + { + "epoch": 0.15499016715830874, + "grad_norm": 12.0625, + "learning_rate": 1.9719062542067014e-05, + "loss": 0.5449, + "step": 2522 + }, + { + "epoch": 0.15505162241887904, + "grad_norm": 20.375, + "learning_rate": 1.9718514552020434e-05, + "loss": 0.4589, + "step": 2523 + }, + { + "epoch": 0.15511307767944937, + "grad_norm": 13.75, + "learning_rate": 1.97179660356754e-05, + "loss": 0.5105, + "step": 2524 + }, + { + "epoch": 0.15517453294001968, + "grad_norm": 18.5, + "learning_rate": 1.971741699306161e-05, + "loss": 0.4686, + "step": 2525 + }, + { + "epoch": 0.15523598820058998, + "grad_norm": 17.75, + "learning_rate": 1.9716867424208805e-05, + "loss": 0.539, + "step": 2526 + }, + { + "epoch": 0.15529744346116028, + "grad_norm": 20.75, + "learning_rate": 1.971631732914674e-05, + "loss": 0.4935, + "step": 2527 + }, + { + "epoch": 0.1553588987217306, + "grad_norm": 6.46875, + "learning_rate": 1.971576670790521e-05, + "loss": 0.3302, + "step": 2528 + }, + { + "epoch": 0.1554203539823009, + "grad_norm": 16.75, + "learning_rate": 1.9715215560514032e-05, + "loss": 0.5374, + "step": 2529 + }, + { + "epoch": 0.1554818092428712, + "grad_norm": 19.375, + "learning_rate": 1.9714663887003055e-05, + "loss": 0.6986, + "step": 2530 + }, + { + "epoch": 0.1555432645034415, + "grad_norm": 21.625, + "learning_rate": 1.9714111687402146e-05, + "loss": 0.7489, + "step": 2531 + }, + { + "epoch": 0.1556047197640118, + "grad_norm": 22.375, + "learning_rate": 1.971355896174122e-05, + "loss": 0.646, + "step": 2532 + }, + { + "epoch": 0.1556661750245821, + "grad_norm": 29.875, + "learning_rate": 1.9713005710050203e-05, + "loss": 0.4847, + "step": 2533 + }, + { + "epoch": 0.1557276302851524, + "grad_norm": 16.75, + "learning_rate": 1.9712451932359056e-05, + "loss": 0.4794, + "step": 2534 + }, + { + "epoch": 0.1557890855457227, + "grad_norm": 21.75, + "learning_rate": 1.971189762869777e-05, + "loss": 0.5296, + "step": 2535 + }, + { + "epoch": 0.15585054080629301, + "grad_norm": 13.5, + "learning_rate": 1.971134279909636e-05, + "loss": 0.4521, + "step": 2536 + }, + { + "epoch": 0.15591199606686332, + "grad_norm": 24.375, + "learning_rate": 1.971078744358488e-05, + "loss": 0.5604, + "step": 2537 + }, + { + "epoch": 0.15597345132743362, + "grad_norm": 22.375, + "learning_rate": 1.9710231562193397e-05, + "loss": 0.6101, + "step": 2538 + }, + { + "epoch": 0.15603490658800392, + "grad_norm": 31.125, + "learning_rate": 1.9709675154952017e-05, + "loss": 0.6847, + "step": 2539 + }, + { + "epoch": 0.15609636184857423, + "grad_norm": 14.75, + "learning_rate": 1.9709118221890872e-05, + "loss": 0.5018, + "step": 2540 + }, + { + "epoch": 0.15615781710914453, + "grad_norm": 36.25, + "learning_rate": 1.970856076304012e-05, + "loss": 0.7679, + "step": 2541 + }, + { + "epoch": 0.15621927236971483, + "grad_norm": 27.25, + "learning_rate": 1.9708002778429957e-05, + "loss": 0.4504, + "step": 2542 + }, + { + "epoch": 0.15628072763028517, + "grad_norm": 12.0, + "learning_rate": 1.970744426809059e-05, + "loss": 0.4568, + "step": 2543 + }, + { + "epoch": 0.15634218289085547, + "grad_norm": 15.125, + "learning_rate": 1.9706885232052274e-05, + "loss": 0.4079, + "step": 2544 + }, + { + "epoch": 0.15640363815142577, + "grad_norm": 16.0, + "learning_rate": 1.9706325670345276e-05, + "loss": 0.6281, + "step": 2545 + }, + { + "epoch": 0.15646509341199608, + "grad_norm": 17.375, + "learning_rate": 1.97057655829999e-05, + "loss": 0.7279, + "step": 2546 + }, + { + "epoch": 0.15652654867256638, + "grad_norm": 13.25, + "learning_rate": 1.970520497004648e-05, + "loss": 0.624, + "step": 2547 + }, + { + "epoch": 0.15658800393313668, + "grad_norm": 17.875, + "learning_rate": 1.9704643831515377e-05, + "loss": 0.5684, + "step": 2548 + }, + { + "epoch": 0.15664945919370699, + "grad_norm": 15.0, + "learning_rate": 1.9704082167436974e-05, + "loss": 0.5858, + "step": 2549 + }, + { + "epoch": 0.1567109144542773, + "grad_norm": 17.625, + "learning_rate": 1.9703519977841686e-05, + "loss": 0.4229, + "step": 2550 + }, + { + "epoch": 0.1567723697148476, + "grad_norm": 8.9375, + "learning_rate": 1.9702957262759964e-05, + "loss": 0.3657, + "step": 2551 + }, + { + "epoch": 0.1568338249754179, + "grad_norm": 22.125, + "learning_rate": 1.9702394022222282e-05, + "loss": 0.3621, + "step": 2552 + }, + { + "epoch": 0.1568952802359882, + "grad_norm": 9.0625, + "learning_rate": 1.9701830256259136e-05, + "loss": 0.4467, + "step": 2553 + }, + { + "epoch": 0.1569567354965585, + "grad_norm": 20.125, + "learning_rate": 1.970126596490106e-05, + "loss": 0.4679, + "step": 2554 + }, + { + "epoch": 0.1570181907571288, + "grad_norm": 21.625, + "learning_rate": 1.970070114817861e-05, + "loss": 0.5566, + "step": 2555 + }, + { + "epoch": 0.1570796460176991, + "grad_norm": 17.125, + "learning_rate": 1.9700135806122378e-05, + "loss": 0.4786, + "step": 2556 + }, + { + "epoch": 0.1571411012782694, + "grad_norm": 10.5625, + "learning_rate": 1.9699569938762975e-05, + "loss": 0.3824, + "step": 2557 + }, + { + "epoch": 0.15720255653883972, + "grad_norm": 3.828125, + "learning_rate": 1.969900354613105e-05, + "loss": 0.2935, + "step": 2558 + }, + { + "epoch": 0.15726401179941002, + "grad_norm": 15.3125, + "learning_rate": 1.9698436628257266e-05, + "loss": 0.5448, + "step": 2559 + }, + { + "epoch": 0.15732546705998032, + "grad_norm": 13.875, + "learning_rate": 1.969786918517233e-05, + "loss": 0.3638, + "step": 2560 + }, + { + "epoch": 0.15738692232055063, + "grad_norm": 20.25, + "learning_rate": 1.969730121690698e-05, + "loss": 0.3758, + "step": 2561 + }, + { + "epoch": 0.15744837758112096, + "grad_norm": 19.125, + "learning_rate": 1.969673272349196e-05, + "loss": 0.4196, + "step": 2562 + }, + { + "epoch": 0.15750983284169126, + "grad_norm": 20.125, + "learning_rate": 1.969616370495806e-05, + "loss": 0.6692, + "step": 2563 + }, + { + "epoch": 0.15757128810226156, + "grad_norm": 20.625, + "learning_rate": 1.9695594161336102e-05, + "loss": 0.4147, + "step": 2564 + }, + { + "epoch": 0.15763274336283187, + "grad_norm": 10.5625, + "learning_rate": 1.969502409265692e-05, + "loss": 0.3686, + "step": 2565 + }, + { + "epoch": 0.15769419862340217, + "grad_norm": 5.6875, + "learning_rate": 1.9694453498951392e-05, + "loss": 0.4473, + "step": 2566 + }, + { + "epoch": 0.15775565388397247, + "grad_norm": 6.375, + "learning_rate": 1.9693882380250412e-05, + "loss": 0.2839, + "step": 2567 + }, + { + "epoch": 0.15781710914454278, + "grad_norm": 34.75, + "learning_rate": 1.9693310736584913e-05, + "loss": 0.3555, + "step": 2568 + }, + { + "epoch": 0.15787856440511308, + "grad_norm": 39.5, + "learning_rate": 1.9692738567985853e-05, + "loss": 0.383, + "step": 2569 + }, + { + "epoch": 0.15794001966568338, + "grad_norm": 11.125, + "learning_rate": 1.9692165874484216e-05, + "loss": 0.5434, + "step": 2570 + }, + { + "epoch": 0.1580014749262537, + "grad_norm": 20.75, + "learning_rate": 1.969159265611101e-05, + "loss": 0.3975, + "step": 2571 + }, + { + "epoch": 0.158062930186824, + "grad_norm": 33.5, + "learning_rate": 1.9691018912897285e-05, + "loss": 0.4194, + "step": 2572 + }, + { + "epoch": 0.1581243854473943, + "grad_norm": 20.0, + "learning_rate": 1.9690444644874112e-05, + "loss": 0.3679, + "step": 2573 + }, + { + "epoch": 0.1581858407079646, + "grad_norm": 14.1875, + "learning_rate": 1.9689869852072584e-05, + "loss": 0.4648, + "step": 2574 + }, + { + "epoch": 0.1582472959685349, + "grad_norm": 16.75, + "learning_rate": 1.968929453452383e-05, + "loss": 0.3546, + "step": 2575 + }, + { + "epoch": 0.1583087512291052, + "grad_norm": 12.625, + "learning_rate": 1.9688718692259007e-05, + "loss": 0.6424, + "step": 2576 + }, + { + "epoch": 0.1583702064896755, + "grad_norm": 22.375, + "learning_rate": 1.9688142325309302e-05, + "loss": 0.6393, + "step": 2577 + }, + { + "epoch": 0.1584316617502458, + "grad_norm": 44.0, + "learning_rate": 1.9687565433705926e-05, + "loss": 0.7496, + "step": 2578 + }, + { + "epoch": 0.15849311701081611, + "grad_norm": 36.75, + "learning_rate": 1.9686988017480114e-05, + "loss": 0.5012, + "step": 2579 + }, + { + "epoch": 0.15855457227138642, + "grad_norm": 28.0, + "learning_rate": 1.968641007666315e-05, + "loss": 0.4225, + "step": 2580 + }, + { + "epoch": 0.15861602753195675, + "grad_norm": 9.9375, + "learning_rate": 1.9685831611286312e-05, + "loss": 0.507, + "step": 2581 + }, + { + "epoch": 0.15867748279252705, + "grad_norm": 18.375, + "learning_rate": 1.9685252621380942e-05, + "loss": 0.5538, + "step": 2582 + }, + { + "epoch": 0.15873893805309736, + "grad_norm": 31.625, + "learning_rate": 1.9684673106978392e-05, + "loss": 0.4698, + "step": 2583 + }, + { + "epoch": 0.15880039331366766, + "grad_norm": 23.75, + "learning_rate": 1.968409306811004e-05, + "loss": 0.4338, + "step": 2584 + }, + { + "epoch": 0.15886184857423796, + "grad_norm": 40.25, + "learning_rate": 1.9683512504807298e-05, + "loss": 0.5239, + "step": 2585 + }, + { + "epoch": 0.15892330383480827, + "grad_norm": 37.5, + "learning_rate": 1.968293141710161e-05, + "loss": 0.491, + "step": 2586 + }, + { + "epoch": 0.15898475909537857, + "grad_norm": 30.625, + "learning_rate": 1.9682349805024447e-05, + "loss": 0.4252, + "step": 2587 + }, + { + "epoch": 0.15904621435594887, + "grad_norm": 19.375, + "learning_rate": 1.9681767668607298e-05, + "loss": 0.4828, + "step": 2588 + }, + { + "epoch": 0.15910766961651918, + "grad_norm": 17.75, + "learning_rate": 1.968118500788169e-05, + "loss": 0.4736, + "step": 2589 + }, + { + "epoch": 0.15916912487708948, + "grad_norm": 11.3125, + "learning_rate": 1.968060182287918e-05, + "loss": 0.4417, + "step": 2590 + }, + { + "epoch": 0.15923058013765978, + "grad_norm": 10.0, + "learning_rate": 1.9680018113631347e-05, + "loss": 0.4989, + "step": 2591 + }, + { + "epoch": 0.1592920353982301, + "grad_norm": 33.0, + "learning_rate": 1.9679433880169805e-05, + "loss": 0.3964, + "step": 2592 + }, + { + "epoch": 0.1593534906588004, + "grad_norm": 29.75, + "learning_rate": 1.967884912252619e-05, + "loss": 0.4144, + "step": 2593 + }, + { + "epoch": 0.1594149459193707, + "grad_norm": 5.53125, + "learning_rate": 1.9678263840732167e-05, + "loss": 0.6681, + "step": 2594 + }, + { + "epoch": 0.159476401179941, + "grad_norm": 16.25, + "learning_rate": 1.9677678034819433e-05, + "loss": 0.6497, + "step": 2595 + }, + { + "epoch": 0.1595378564405113, + "grad_norm": 19.375, + "learning_rate": 1.9677091704819714e-05, + "loss": 0.4177, + "step": 2596 + }, + { + "epoch": 0.1595993117010816, + "grad_norm": 13.5, + "learning_rate": 1.967650485076476e-05, + "loss": 0.3584, + "step": 2597 + }, + { + "epoch": 0.1596607669616519, + "grad_norm": 10.0, + "learning_rate": 1.9675917472686352e-05, + "loss": 0.3692, + "step": 2598 + }, + { + "epoch": 0.1597222222222222, + "grad_norm": 11.375, + "learning_rate": 1.96753295706163e-05, + "loss": 0.3856, + "step": 2599 + }, + { + "epoch": 0.1597836774827925, + "grad_norm": 22.0, + "learning_rate": 1.9674741144586442e-05, + "loss": 0.4771, + "step": 2600 + }, + { + "epoch": 0.15984513274336284, + "grad_norm": 25.375, + "learning_rate": 1.967415219462864e-05, + "loss": 0.5236, + "step": 2601 + }, + { + "epoch": 0.15990658800393315, + "grad_norm": 32.0, + "learning_rate": 1.9673562720774792e-05, + "loss": 0.402, + "step": 2602 + }, + { + "epoch": 0.15996804326450345, + "grad_norm": 32.75, + "learning_rate": 1.967297272305682e-05, + "loss": 0.4073, + "step": 2603 + }, + { + "epoch": 0.16002949852507375, + "grad_norm": 16.25, + "learning_rate": 1.9672382201506674e-05, + "loss": 0.4683, + "step": 2604 + }, + { + "epoch": 0.16009095378564406, + "grad_norm": 20.625, + "learning_rate": 1.967179115615633e-05, + "loss": 0.5189, + "step": 2605 + }, + { + "epoch": 0.16015240904621436, + "grad_norm": 16.25, + "learning_rate": 1.96711995870378e-05, + "loss": 0.3884, + "step": 2606 + }, + { + "epoch": 0.16021386430678466, + "grad_norm": 5.1875, + "learning_rate": 1.967060749418312e-05, + "loss": 0.4963, + "step": 2607 + }, + { + "epoch": 0.16027531956735497, + "grad_norm": 5.78125, + "learning_rate": 1.9670014877624353e-05, + "loss": 0.4457, + "step": 2608 + }, + { + "epoch": 0.16033677482792527, + "grad_norm": 23.625, + "learning_rate": 1.966942173739359e-05, + "loss": 0.4183, + "step": 2609 + }, + { + "epoch": 0.16039823008849557, + "grad_norm": 27.125, + "learning_rate": 1.9668828073522955e-05, + "loss": 0.4612, + "step": 2610 + }, + { + "epoch": 0.16045968534906588, + "grad_norm": 30.125, + "learning_rate": 1.9668233886044597e-05, + "loss": 0.5442, + "step": 2611 + }, + { + "epoch": 0.16052114060963618, + "grad_norm": 7.34375, + "learning_rate": 1.9667639174990693e-05, + "loss": 0.3133, + "step": 2612 + }, + { + "epoch": 0.16058259587020648, + "grad_norm": 29.75, + "learning_rate": 1.9667043940393445e-05, + "loss": 0.5385, + "step": 2613 + }, + { + "epoch": 0.1606440511307768, + "grad_norm": 26.75, + "learning_rate": 1.9666448182285095e-05, + "loss": 0.4815, + "step": 2614 + }, + { + "epoch": 0.1607055063913471, + "grad_norm": 21.75, + "learning_rate": 1.9665851900697902e-05, + "loss": 0.4334, + "step": 2615 + }, + { + "epoch": 0.1607669616519174, + "grad_norm": 15.3125, + "learning_rate": 1.9665255095664155e-05, + "loss": 0.3862, + "step": 2616 + }, + { + "epoch": 0.1608284169124877, + "grad_norm": 51.75, + "learning_rate": 1.9664657767216176e-05, + "loss": 0.6288, + "step": 2617 + }, + { + "epoch": 0.160889872173058, + "grad_norm": 25.5, + "learning_rate": 1.9664059915386316e-05, + "loss": 0.4779, + "step": 2618 + }, + { + "epoch": 0.1609513274336283, + "grad_norm": 25.125, + "learning_rate": 1.9663461540206947e-05, + "loss": 0.6359, + "step": 2619 + }, + { + "epoch": 0.16101278269419864, + "grad_norm": 20.0, + "learning_rate": 1.966286264171047e-05, + "loss": 0.4382, + "step": 2620 + }, + { + "epoch": 0.16107423795476894, + "grad_norm": 33.25, + "learning_rate": 1.966226321992933e-05, + "loss": 0.5504, + "step": 2621 + }, + { + "epoch": 0.16113569321533924, + "grad_norm": 22.75, + "learning_rate": 1.966166327489598e-05, + "loss": 0.5014, + "step": 2622 + }, + { + "epoch": 0.16119714847590955, + "grad_norm": 38.5, + "learning_rate": 1.9661062806642903e-05, + "loss": 0.5305, + "step": 2623 + }, + { + "epoch": 0.16125860373647985, + "grad_norm": 24.875, + "learning_rate": 1.9660461815202627e-05, + "loss": 0.582, + "step": 2624 + }, + { + "epoch": 0.16132005899705015, + "grad_norm": 26.375, + "learning_rate": 1.9659860300607695e-05, + "loss": 0.6754, + "step": 2625 + }, + { + "epoch": 0.16138151425762046, + "grad_norm": 37.25, + "learning_rate": 1.9659258262890683e-05, + "loss": 0.7695, + "step": 2626 + }, + { + "epoch": 0.16144296951819076, + "grad_norm": 19.25, + "learning_rate": 1.9658655702084192e-05, + "loss": 0.6172, + "step": 2627 + }, + { + "epoch": 0.16150442477876106, + "grad_norm": 25.75, + "learning_rate": 1.9658052618220857e-05, + "loss": 0.6578, + "step": 2628 + }, + { + "epoch": 0.16156588003933137, + "grad_norm": 21.875, + "learning_rate": 1.9657449011333328e-05, + "loss": 0.6463, + "step": 2629 + }, + { + "epoch": 0.16162733529990167, + "grad_norm": 29.125, + "learning_rate": 1.9656844881454304e-05, + "loss": 0.6031, + "step": 2630 + }, + { + "epoch": 0.16168879056047197, + "grad_norm": 9.375, + "learning_rate": 1.9656240228616496e-05, + "loss": 0.5417, + "step": 2631 + }, + { + "epoch": 0.16175024582104228, + "grad_norm": 18.125, + "learning_rate": 1.9655635052852648e-05, + "loss": 0.4604, + "step": 2632 + }, + { + "epoch": 0.16181170108161258, + "grad_norm": 15.1875, + "learning_rate": 1.9655029354195534e-05, + "loss": 0.4965, + "step": 2633 + }, + { + "epoch": 0.16187315634218288, + "grad_norm": 20.625, + "learning_rate": 1.9654423132677956e-05, + "loss": 0.4449, + "step": 2634 + }, + { + "epoch": 0.1619346116027532, + "grad_norm": 20.875, + "learning_rate": 1.965381638833274e-05, + "loss": 0.4853, + "step": 2635 + }, + { + "epoch": 0.1619960668633235, + "grad_norm": 13.0, + "learning_rate": 1.9653209121192747e-05, + "loss": 0.4964, + "step": 2636 + }, + { + "epoch": 0.1620575221238938, + "grad_norm": 14.1875, + "learning_rate": 1.9652601331290864e-05, + "loss": 0.4388, + "step": 2637 + }, + { + "epoch": 0.1621189773844641, + "grad_norm": 17.75, + "learning_rate": 1.9651993018660002e-05, + "loss": 0.3994, + "step": 2638 + }, + { + "epoch": 0.16218043264503443, + "grad_norm": 12.9375, + "learning_rate": 1.9651384183333105e-05, + "loss": 0.392, + "step": 2639 + }, + { + "epoch": 0.16224188790560473, + "grad_norm": 15.875, + "learning_rate": 1.965077482534314e-05, + "loss": 0.3243, + "step": 2640 + }, + { + "epoch": 0.16230334316617503, + "grad_norm": 11.125, + "learning_rate": 1.9650164944723116e-05, + "loss": 0.2711, + "step": 2641 + }, + { + "epoch": 0.16236479842674534, + "grad_norm": 7.3125, + "learning_rate": 1.9649554541506056e-05, + "loss": 0.3926, + "step": 2642 + }, + { + "epoch": 0.16242625368731564, + "grad_norm": 6.125, + "learning_rate": 1.9648943615725012e-05, + "loss": 0.407, + "step": 2643 + }, + { + "epoch": 0.16248770894788594, + "grad_norm": 21.75, + "learning_rate": 1.9648332167413067e-05, + "loss": 0.3339, + "step": 2644 + }, + { + "epoch": 0.16254916420845625, + "grad_norm": 37.25, + "learning_rate": 1.9647720196603343e-05, + "loss": 0.3392, + "step": 2645 + }, + { + "epoch": 0.16261061946902655, + "grad_norm": 17.5, + "learning_rate": 1.964710770332898e-05, + "loss": 0.1862, + "step": 2646 + }, + { + "epoch": 0.16267207472959685, + "grad_norm": 8.125, + "learning_rate": 1.9646494687623135e-05, + "loss": 0.2309, + "step": 2647 + }, + { + "epoch": 0.16273352999016716, + "grad_norm": 15.0, + "learning_rate": 1.9645881149519014e-05, + "loss": 0.2427, + "step": 2648 + }, + { + "epoch": 0.16279498525073746, + "grad_norm": 17.5, + "learning_rate": 1.9645267089049844e-05, + "loss": 0.7125, + "step": 2649 + }, + { + "epoch": 0.16285644051130777, + "grad_norm": 24.75, + "learning_rate": 1.9644652506248872e-05, + "loss": 0.4653, + "step": 2650 + }, + { + "epoch": 0.16291789577187807, + "grad_norm": 15.875, + "learning_rate": 1.964403740114939e-05, + "loss": 0.4796, + "step": 2651 + }, + { + "epoch": 0.16297935103244837, + "grad_norm": 15.25, + "learning_rate": 1.9643421773784702e-05, + "loss": 0.4809, + "step": 2652 + }, + { + "epoch": 0.16304080629301868, + "grad_norm": 14.8125, + "learning_rate": 1.964280562418815e-05, + "loss": 0.6492, + "step": 2653 + }, + { + "epoch": 0.16310226155358898, + "grad_norm": 13.625, + "learning_rate": 1.9642188952393096e-05, + "loss": 0.4483, + "step": 2654 + }, + { + "epoch": 0.16316371681415928, + "grad_norm": 7.21875, + "learning_rate": 1.964157175843294e-05, + "loss": 0.4374, + "step": 2655 + }, + { + "epoch": 0.16322517207472959, + "grad_norm": 8.6875, + "learning_rate": 1.96409540423411e-05, + "loss": 0.3426, + "step": 2656 + }, + { + "epoch": 0.1632866273352999, + "grad_norm": 48.0, + "learning_rate": 1.964033580415104e-05, + "loss": 0.4748, + "step": 2657 + }, + { + "epoch": 0.16334808259587022, + "grad_norm": 8.625, + "learning_rate": 1.9639717043896226e-05, + "loss": 0.4228, + "step": 2658 + }, + { + "epoch": 0.16340953785644052, + "grad_norm": 13.3125, + "learning_rate": 1.9639097761610174e-05, + "loss": 0.6938, + "step": 2659 + }, + { + "epoch": 0.16347099311701083, + "grad_norm": 10.0625, + "learning_rate": 1.9638477957326424e-05, + "loss": 0.5007, + "step": 2660 + }, + { + "epoch": 0.16353244837758113, + "grad_norm": 9.8125, + "learning_rate": 1.9637857631078532e-05, + "loss": 0.3132, + "step": 2661 + }, + { + "epoch": 0.16359390363815143, + "grad_norm": 39.5, + "learning_rate": 1.96372367829001e-05, + "loss": 0.5564, + "step": 2662 + }, + { + "epoch": 0.16365535889872174, + "grad_norm": 24.75, + "learning_rate": 1.963661541282474e-05, + "loss": 0.5625, + "step": 2663 + }, + { + "epoch": 0.16371681415929204, + "grad_norm": 18.0, + "learning_rate": 1.9635993520886113e-05, + "loss": 0.4031, + "step": 2664 + }, + { + "epoch": 0.16377826941986234, + "grad_norm": 38.0, + "learning_rate": 1.963537110711789e-05, + "loss": 0.505, + "step": 2665 + }, + { + "epoch": 0.16383972468043265, + "grad_norm": 50.5, + "learning_rate": 1.9634748171553775e-05, + "loss": 0.6045, + "step": 2666 + }, + { + "epoch": 0.16390117994100295, + "grad_norm": 53.0, + "learning_rate": 1.9634124714227507e-05, + "loss": 0.7988, + "step": 2667 + }, + { + "epoch": 0.16396263520157325, + "grad_norm": 27.375, + "learning_rate": 1.963350073517285e-05, + "loss": 0.6065, + "step": 2668 + }, + { + "epoch": 0.16402409046214356, + "grad_norm": 7.8125, + "learning_rate": 1.9632876234423592e-05, + "loss": 0.3484, + "step": 2669 + }, + { + "epoch": 0.16408554572271386, + "grad_norm": 9.5625, + "learning_rate": 1.9632251212013554e-05, + "loss": 0.3596, + "step": 2670 + }, + { + "epoch": 0.16414700098328416, + "grad_norm": 9.4375, + "learning_rate": 1.9631625667976584e-05, + "loss": 0.3507, + "step": 2671 + }, + { + "epoch": 0.16420845624385447, + "grad_norm": 9.25, + "learning_rate": 1.9630999602346558e-05, + "loss": 0.3919, + "step": 2672 + }, + { + "epoch": 0.16426991150442477, + "grad_norm": 34.25, + "learning_rate": 1.9630373015157374e-05, + "loss": 0.6056, + "step": 2673 + }, + { + "epoch": 0.16433136676499507, + "grad_norm": 15.0625, + "learning_rate": 1.9629745906442973e-05, + "loss": 0.4807, + "step": 2674 + }, + { + "epoch": 0.16439282202556538, + "grad_norm": 9.0625, + "learning_rate": 1.962911827623731e-05, + "loss": 0.4916, + "step": 2675 + }, + { + "epoch": 0.16445427728613568, + "grad_norm": 26.5, + "learning_rate": 1.962849012457438e-05, + "loss": 0.5823, + "step": 2676 + }, + { + "epoch": 0.164515732546706, + "grad_norm": 40.0, + "learning_rate": 1.962786145148819e-05, + "loss": 0.5755, + "step": 2677 + }, + { + "epoch": 0.16457718780727632, + "grad_norm": 25.5, + "learning_rate": 1.9627232257012793e-05, + "loss": 0.7444, + "step": 2678 + }, + { + "epoch": 0.16463864306784662, + "grad_norm": 18.375, + "learning_rate": 1.9626602541182264e-05, + "loss": 0.4651, + "step": 2679 + }, + { + "epoch": 0.16470009832841692, + "grad_norm": 41.75, + "learning_rate": 1.9625972304030697e-05, + "loss": 0.6109, + "step": 2680 + }, + { + "epoch": 0.16476155358898723, + "grad_norm": 11.75, + "learning_rate": 1.9625341545592226e-05, + "loss": 0.5222, + "step": 2681 + }, + { + "epoch": 0.16482300884955753, + "grad_norm": 26.625, + "learning_rate": 1.9624710265901012e-05, + "loss": 0.442, + "step": 2682 + }, + { + "epoch": 0.16488446411012783, + "grad_norm": 14.625, + "learning_rate": 1.962407846499124e-05, + "loss": 0.44, + "step": 2683 + }, + { + "epoch": 0.16494591937069814, + "grad_norm": 25.125, + "learning_rate": 1.9623446142897123e-05, + "loss": 0.5404, + "step": 2684 + }, + { + "epoch": 0.16500737463126844, + "grad_norm": 42.0, + "learning_rate": 1.9622813299652904e-05, + "loss": 0.554, + "step": 2685 + }, + { + "epoch": 0.16506882989183874, + "grad_norm": 6.0, + "learning_rate": 1.9622179935292855e-05, + "loss": 0.2637, + "step": 2686 + }, + { + "epoch": 0.16513028515240905, + "grad_norm": 17.5, + "learning_rate": 1.9621546049851275e-05, + "loss": 0.478, + "step": 2687 + }, + { + "epoch": 0.16519174041297935, + "grad_norm": 5.34375, + "learning_rate": 1.9620911643362493e-05, + "loss": 0.2741, + "step": 2688 + }, + { + "epoch": 0.16525319567354965, + "grad_norm": 46.0, + "learning_rate": 1.962027671586086e-05, + "loss": 0.729, + "step": 2689 + }, + { + "epoch": 0.16531465093411996, + "grad_norm": 22.125, + "learning_rate": 1.9619641267380766e-05, + "loss": 0.6168, + "step": 2690 + }, + { + "epoch": 0.16537610619469026, + "grad_norm": 24.625, + "learning_rate": 1.9619005297956623e-05, + "loss": 0.7338, + "step": 2691 + }, + { + "epoch": 0.16543756145526056, + "grad_norm": 19.25, + "learning_rate": 1.9618368807622863e-05, + "loss": 0.4829, + "step": 2692 + }, + { + "epoch": 0.16549901671583087, + "grad_norm": 33.5, + "learning_rate": 1.9617731796413962e-05, + "loss": 0.5661, + "step": 2693 + }, + { + "epoch": 0.16556047197640117, + "grad_norm": 17.375, + "learning_rate": 1.9617094264364417e-05, + "loss": 0.5333, + "step": 2694 + }, + { + "epoch": 0.16562192723697147, + "grad_norm": 20.375, + "learning_rate": 1.9616456211508756e-05, + "loss": 0.6185, + "step": 2695 + }, + { + "epoch": 0.16568338249754178, + "grad_norm": 20.25, + "learning_rate": 1.961581763788152e-05, + "loss": 0.5673, + "step": 2696 + }, + { + "epoch": 0.1657448377581121, + "grad_norm": 9.4375, + "learning_rate": 1.9615178543517303e-05, + "loss": 0.4576, + "step": 2697 + }, + { + "epoch": 0.1658062930186824, + "grad_norm": 16.375, + "learning_rate": 1.961453892845071e-05, + "loss": 0.4411, + "step": 2698 + }, + { + "epoch": 0.1658677482792527, + "grad_norm": 14.625, + "learning_rate": 1.9613898792716377e-05, + "loss": 0.4168, + "step": 2699 + }, + { + "epoch": 0.16592920353982302, + "grad_norm": 15.0, + "learning_rate": 1.9613258136348973e-05, + "loss": 0.4792, + "step": 2700 + }, + { + "epoch": 0.16599065880039332, + "grad_norm": 10.875, + "learning_rate": 1.961261695938319e-05, + "loss": 0.4795, + "step": 2701 + }, + { + "epoch": 0.16605211406096362, + "grad_norm": 21.125, + "learning_rate": 1.9611975261853754e-05, + "loss": 0.5371, + "step": 2702 + }, + { + "epoch": 0.16611356932153393, + "grad_norm": 13.0, + "learning_rate": 1.961133304379541e-05, + "loss": 0.4912, + "step": 2703 + }, + { + "epoch": 0.16617502458210423, + "grad_norm": 17.75, + "learning_rate": 1.961069030524294e-05, + "loss": 0.5157, + "step": 2704 + }, + { + "epoch": 0.16623647984267453, + "grad_norm": 24.875, + "learning_rate": 1.9610047046231152e-05, + "loss": 0.5773, + "step": 2705 + }, + { + "epoch": 0.16629793510324484, + "grad_norm": 15.5625, + "learning_rate": 1.960940326679488e-05, + "loss": 0.4499, + "step": 2706 + }, + { + "epoch": 0.16635939036381514, + "grad_norm": 7.125, + "learning_rate": 1.9608758966968987e-05, + "loss": 0.408, + "step": 2707 + }, + { + "epoch": 0.16642084562438544, + "grad_norm": 108.0, + "learning_rate": 1.9608114146788365e-05, + "loss": 0.5437, + "step": 2708 + }, + { + "epoch": 0.16648230088495575, + "grad_norm": 21.375, + "learning_rate": 1.9607468806287936e-05, + "loss": 0.5083, + "step": 2709 + }, + { + "epoch": 0.16654375614552605, + "grad_norm": 21.25, + "learning_rate": 1.9606822945502642e-05, + "loss": 0.4602, + "step": 2710 + }, + { + "epoch": 0.16660521140609635, + "grad_norm": 15.25, + "learning_rate": 1.9606176564467465e-05, + "loss": 0.3758, + "step": 2711 + }, + { + "epoch": 0.16666666666666666, + "grad_norm": 14.5625, + "learning_rate": 1.9605529663217406e-05, + "loss": 0.408, + "step": 2712 + }, + { + "epoch": 0.16672812192723696, + "grad_norm": 22.875, + "learning_rate": 1.96048822417875e-05, + "loss": 0.4985, + "step": 2713 + }, + { + "epoch": 0.16678957718780726, + "grad_norm": 22.375, + "learning_rate": 1.9604234300212804e-05, + "loss": 0.5584, + "step": 2714 + }, + { + "epoch": 0.16685103244837757, + "grad_norm": 24.0, + "learning_rate": 1.960358583852841e-05, + "loss": 0.5244, + "step": 2715 + }, + { + "epoch": 0.1669124877089479, + "grad_norm": 20.625, + "learning_rate": 1.9602936856769432e-05, + "loss": 0.3737, + "step": 2716 + }, + { + "epoch": 0.1669739429695182, + "grad_norm": 22.5, + "learning_rate": 1.9602287354971018e-05, + "loss": 0.3998, + "step": 2717 + }, + { + "epoch": 0.1670353982300885, + "grad_norm": 9.5625, + "learning_rate": 1.960163733316834e-05, + "loss": 0.3581, + "step": 2718 + }, + { + "epoch": 0.1670968534906588, + "grad_norm": 26.0, + "learning_rate": 1.96009867913966e-05, + "loss": 0.3753, + "step": 2719 + }, + { + "epoch": 0.1671583087512291, + "grad_norm": 2.640625, + "learning_rate": 1.9600335729691025e-05, + "loss": 0.2619, + "step": 2720 + }, + { + "epoch": 0.16721976401179942, + "grad_norm": 34.0, + "learning_rate": 1.9599684148086876e-05, + "loss": 0.6084, + "step": 2721 + }, + { + "epoch": 0.16728121927236972, + "grad_norm": 19.75, + "learning_rate": 1.9599032046619437e-05, + "loss": 0.5304, + "step": 2722 + }, + { + "epoch": 0.16734267453294002, + "grad_norm": 26.125, + "learning_rate": 1.9598379425324023e-05, + "loss": 0.7238, + "step": 2723 + }, + { + "epoch": 0.16740412979351033, + "grad_norm": 30.75, + "learning_rate": 1.9597726284235978e-05, + "loss": 0.4796, + "step": 2724 + }, + { + "epoch": 0.16746558505408063, + "grad_norm": 34.5, + "learning_rate": 1.9597072623390668e-05, + "loss": 0.4942, + "step": 2725 + }, + { + "epoch": 0.16752704031465093, + "grad_norm": 46.75, + "learning_rate": 1.9596418442823495e-05, + "loss": 0.5364, + "step": 2726 + }, + { + "epoch": 0.16758849557522124, + "grad_norm": 8.4375, + "learning_rate": 1.9595763742569883e-05, + "loss": 0.4821, + "step": 2727 + }, + { + "epoch": 0.16764995083579154, + "grad_norm": 12.3125, + "learning_rate": 1.959510852266529e-05, + "loss": 0.4277, + "step": 2728 + }, + { + "epoch": 0.16771140609636184, + "grad_norm": 22.25, + "learning_rate": 1.959445278314519e-05, + "loss": 0.5351, + "step": 2729 + }, + { + "epoch": 0.16777286135693215, + "grad_norm": 26.0, + "learning_rate": 1.959379652404511e-05, + "loss": 0.4489, + "step": 2730 + }, + { + "epoch": 0.16783431661750245, + "grad_norm": 14.8125, + "learning_rate": 1.9593139745400575e-05, + "loss": 0.4203, + "step": 2731 + }, + { + "epoch": 0.16789577187807275, + "grad_norm": 7.5, + "learning_rate": 1.9592482447247162e-05, + "loss": 0.4846, + "step": 2732 + }, + { + "epoch": 0.16795722713864306, + "grad_norm": 22.75, + "learning_rate": 1.959182462962046e-05, + "loss": 0.362, + "step": 2733 + }, + { + "epoch": 0.16801868239921336, + "grad_norm": 40.0, + "learning_rate": 1.9591166292556093e-05, + "loss": 0.5135, + "step": 2734 + }, + { + "epoch": 0.1680801376597837, + "grad_norm": 5.59375, + "learning_rate": 1.9590507436089713e-05, + "loss": 0.3596, + "step": 2735 + }, + { + "epoch": 0.168141592920354, + "grad_norm": 14.5, + "learning_rate": 1.9589848060257007e-05, + "loss": 0.3923, + "step": 2736 + }, + { + "epoch": 0.1682030481809243, + "grad_norm": 38.25, + "learning_rate": 1.958918816509367e-05, + "loss": 0.747, + "step": 2737 + }, + { + "epoch": 0.1682645034414946, + "grad_norm": 11.625, + "learning_rate": 1.958852775063545e-05, + "loss": 0.4815, + "step": 2738 + }, + { + "epoch": 0.1683259587020649, + "grad_norm": 18.625, + "learning_rate": 1.9587866816918107e-05, + "loss": 0.4905, + "step": 2739 + }, + { + "epoch": 0.1683874139626352, + "grad_norm": 38.0, + "learning_rate": 1.9587205363977428e-05, + "loss": 0.8357, + "step": 2740 + }, + { + "epoch": 0.1684488692232055, + "grad_norm": 29.5, + "learning_rate": 1.9586543391849243e-05, + "loss": 0.8035, + "step": 2741 + }, + { + "epoch": 0.16851032448377581, + "grad_norm": 36.5, + "learning_rate": 1.9585880900569397e-05, + "loss": 0.5401, + "step": 2742 + }, + { + "epoch": 0.16857177974434612, + "grad_norm": 6.4375, + "learning_rate": 1.958521789017376e-05, + "loss": 0.4603, + "step": 2743 + }, + { + "epoch": 0.16863323500491642, + "grad_norm": 10.0625, + "learning_rate": 1.9584554360698247e-05, + "loss": 0.3537, + "step": 2744 + }, + { + "epoch": 0.16869469026548672, + "grad_norm": 24.125, + "learning_rate": 1.958389031217878e-05, + "loss": 0.5323, + "step": 2745 + }, + { + "epoch": 0.16875614552605703, + "grad_norm": 9.4375, + "learning_rate": 1.9583225744651334e-05, + "loss": 0.4884, + "step": 2746 + }, + { + "epoch": 0.16881760078662733, + "grad_norm": 15.875, + "learning_rate": 1.9582560658151886e-05, + "loss": 0.4831, + "step": 2747 + }, + { + "epoch": 0.16887905604719763, + "grad_norm": 10.25, + "learning_rate": 1.958189505271646e-05, + "loss": 0.5194, + "step": 2748 + }, + { + "epoch": 0.16894051130776794, + "grad_norm": 22.5, + "learning_rate": 1.95812289283811e-05, + "loss": 0.5502, + "step": 2749 + }, + { + "epoch": 0.16900196656833824, + "grad_norm": 17.375, + "learning_rate": 1.9580562285181875e-05, + "loss": 0.5657, + "step": 2750 + }, + { + "epoch": 0.16906342182890854, + "grad_norm": 7.28125, + "learning_rate": 1.957989512315489e-05, + "loss": 0.4717, + "step": 2751 + }, + { + "epoch": 0.16912487708947885, + "grad_norm": 21.75, + "learning_rate": 1.9579227442336276e-05, + "loss": 0.3677, + "step": 2752 + }, + { + "epoch": 0.16918633235004915, + "grad_norm": 11.25, + "learning_rate": 1.957855924276219e-05, + "loss": 0.2888, + "step": 2753 + }, + { + "epoch": 0.16924778761061948, + "grad_norm": 22.0, + "learning_rate": 1.9577890524468815e-05, + "loss": 0.3348, + "step": 2754 + }, + { + "epoch": 0.16930924287118979, + "grad_norm": 19.25, + "learning_rate": 1.9577221287492368e-05, + "loss": 0.4311, + "step": 2755 + }, + { + "epoch": 0.1693706981317601, + "grad_norm": 8.625, + "learning_rate": 1.9576551531869092e-05, + "loss": 0.5632, + "step": 2756 + }, + { + "epoch": 0.1694321533923304, + "grad_norm": 29.25, + "learning_rate": 1.9575881257635254e-05, + "loss": 0.4393, + "step": 2757 + }, + { + "epoch": 0.1694936086529007, + "grad_norm": 4.71875, + "learning_rate": 1.957521046482715e-05, + "loss": 0.2928, + "step": 2758 + }, + { + "epoch": 0.169555063913471, + "grad_norm": 29.375, + "learning_rate": 1.9574539153481113e-05, + "loss": 0.4267, + "step": 2759 + }, + { + "epoch": 0.1696165191740413, + "grad_norm": 7.34375, + "learning_rate": 1.9573867323633493e-05, + "loss": 0.3317, + "step": 2760 + }, + { + "epoch": 0.1696779744346116, + "grad_norm": 18.875, + "learning_rate": 1.9573194975320672e-05, + "loss": 0.404, + "step": 2761 + }, + { + "epoch": 0.1697394296951819, + "grad_norm": 33.0, + "learning_rate": 1.9572522108579063e-05, + "loss": 0.5028, + "step": 2762 + }, + { + "epoch": 0.1698008849557522, + "grad_norm": 9.3125, + "learning_rate": 1.9571848723445107e-05, + "loss": 0.5406, + "step": 2763 + }, + { + "epoch": 0.16986234021632252, + "grad_norm": 46.25, + "learning_rate": 1.9571174819955264e-05, + "loss": 0.3832, + "step": 2764 + }, + { + "epoch": 0.16992379547689282, + "grad_norm": 26.875, + "learning_rate": 1.957050039814603e-05, + "loss": 0.4258, + "step": 2765 + }, + { + "epoch": 0.16998525073746312, + "grad_norm": 21.875, + "learning_rate": 1.956982545805393e-05, + "loss": 0.4427, + "step": 2766 + }, + { + "epoch": 0.17004670599803343, + "grad_norm": 36.75, + "learning_rate": 1.9569149999715514e-05, + "loss": 0.4482, + "step": 2767 + }, + { + "epoch": 0.17010816125860373, + "grad_norm": 18.25, + "learning_rate": 1.9568474023167364e-05, + "loss": 0.3737, + "step": 2768 + }, + { + "epoch": 0.17016961651917403, + "grad_norm": 21.75, + "learning_rate": 1.9567797528446083e-05, + "loss": 0.5789, + "step": 2769 + }, + { + "epoch": 0.17023107177974434, + "grad_norm": 23.25, + "learning_rate": 1.9567120515588307e-05, + "loss": 0.5185, + "step": 2770 + }, + { + "epoch": 0.17029252704031464, + "grad_norm": 20.0, + "learning_rate": 1.95664429846307e-05, + "loss": 0.6249, + "step": 2771 + }, + { + "epoch": 0.17035398230088494, + "grad_norm": 32.75, + "learning_rate": 1.956576493560995e-05, + "loss": 0.6219, + "step": 2772 + }, + { + "epoch": 0.17041543756145527, + "grad_norm": 46.5, + "learning_rate": 1.956508636856278e-05, + "loss": 0.4436, + "step": 2773 + }, + { + "epoch": 0.17047689282202558, + "grad_norm": 44.25, + "learning_rate": 1.9564407283525937e-05, + "loss": 0.473, + "step": 2774 + }, + { + "epoch": 0.17053834808259588, + "grad_norm": 11.8125, + "learning_rate": 1.9563727680536195e-05, + "loss": 0.4315, + "step": 2775 + }, + { + "epoch": 0.17059980334316618, + "grad_norm": 39.25, + "learning_rate": 1.9563047559630356e-05, + "loss": 0.5703, + "step": 2776 + }, + { + "epoch": 0.1706612586037365, + "grad_norm": 42.5, + "learning_rate": 1.9562366920845256e-05, + "loss": 0.483, + "step": 2777 + }, + { + "epoch": 0.1707227138643068, + "grad_norm": 35.75, + "learning_rate": 1.956168576421775e-05, + "loss": 0.5965, + "step": 2778 + }, + { + "epoch": 0.1707841691248771, + "grad_norm": 22.375, + "learning_rate": 1.9561004089784726e-05, + "loss": 0.5092, + "step": 2779 + }, + { + "epoch": 0.1708456243854474, + "grad_norm": 28.25, + "learning_rate": 1.95603218975831e-05, + "loss": 0.4146, + "step": 2780 + }, + { + "epoch": 0.1709070796460177, + "grad_norm": 24.125, + "learning_rate": 1.9559639187649817e-05, + "loss": 0.4344, + "step": 2781 + }, + { + "epoch": 0.170968534906588, + "grad_norm": 31.25, + "learning_rate": 1.9558955960021847e-05, + "loss": 0.4477, + "step": 2782 + }, + { + "epoch": 0.1710299901671583, + "grad_norm": 10.0625, + "learning_rate": 1.9558272214736193e-05, + "loss": 0.3064, + "step": 2783 + }, + { + "epoch": 0.1710914454277286, + "grad_norm": 44.75, + "learning_rate": 1.955758795182988e-05, + "loss": 0.4247, + "step": 2784 + }, + { + "epoch": 0.17115290068829891, + "grad_norm": 76.5, + "learning_rate": 1.9556903171339963e-05, + "loss": 0.5167, + "step": 2785 + }, + { + "epoch": 0.17121435594886922, + "grad_norm": 22.125, + "learning_rate": 1.9556217873303526e-05, + "loss": 0.7476, + "step": 2786 + }, + { + "epoch": 0.17127581120943952, + "grad_norm": 45.75, + "learning_rate": 1.955553205775768e-05, + "loss": 0.7909, + "step": 2787 + }, + { + "epoch": 0.17133726647000982, + "grad_norm": 38.75, + "learning_rate": 1.9554845724739565e-05, + "loss": 0.6302, + "step": 2788 + }, + { + "epoch": 0.17139872173058013, + "grad_norm": 38.5, + "learning_rate": 1.9554158874286353e-05, + "loss": 0.7298, + "step": 2789 + }, + { + "epoch": 0.17146017699115043, + "grad_norm": 23.25, + "learning_rate": 1.9553471506435235e-05, + "loss": 0.5963, + "step": 2790 + }, + { + "epoch": 0.17152163225172073, + "grad_norm": 17.75, + "learning_rate": 1.9552783621223437e-05, + "loss": 0.5503, + "step": 2791 + }, + { + "epoch": 0.17158308751229107, + "grad_norm": 42.25, + "learning_rate": 1.955209521868821e-05, + "loss": 0.5867, + "step": 2792 + }, + { + "epoch": 0.17164454277286137, + "grad_norm": 32.0, + "learning_rate": 1.9551406298866838e-05, + "loss": 0.7864, + "step": 2793 + }, + { + "epoch": 0.17170599803343167, + "grad_norm": 41.0, + "learning_rate": 1.9550716861796623e-05, + "loss": 0.5497, + "step": 2794 + }, + { + "epoch": 0.17176745329400198, + "grad_norm": 24.375, + "learning_rate": 1.9550026907514903e-05, + "loss": 0.5008, + "step": 2795 + }, + { + "epoch": 0.17182890855457228, + "grad_norm": 30.5, + "learning_rate": 1.954933643605904e-05, + "loss": 0.4837, + "step": 2796 + }, + { + "epoch": 0.17189036381514258, + "grad_norm": 32.0, + "learning_rate": 1.9548645447466433e-05, + "loss": 0.6915, + "step": 2797 + }, + { + "epoch": 0.1719518190757129, + "grad_norm": 22.875, + "learning_rate": 1.9547953941774495e-05, + "loss": 0.4997, + "step": 2798 + }, + { + "epoch": 0.1720132743362832, + "grad_norm": 48.0, + "learning_rate": 1.9547261919020673e-05, + "loss": 0.7398, + "step": 2799 + }, + { + "epoch": 0.1720747295968535, + "grad_norm": 18.875, + "learning_rate": 1.9546569379242446e-05, + "loss": 0.464, + "step": 2800 + }, + { + "epoch": 0.1721361848574238, + "grad_norm": 30.875, + "learning_rate": 1.954587632247732e-05, + "loss": 0.5287, + "step": 2801 + }, + { + "epoch": 0.1721976401179941, + "grad_norm": 28.875, + "learning_rate": 1.9545182748762825e-05, + "loss": 0.6245, + "step": 2802 + }, + { + "epoch": 0.1722590953785644, + "grad_norm": 19.75, + "learning_rate": 1.9544488658136522e-05, + "loss": 0.6787, + "step": 2803 + }, + { + "epoch": 0.1723205506391347, + "grad_norm": 22.0, + "learning_rate": 1.9543794050635997e-05, + "loss": 0.4474, + "step": 2804 + }, + { + "epoch": 0.172382005899705, + "grad_norm": 13.3125, + "learning_rate": 1.9543098926298864e-05, + "loss": 0.435, + "step": 2805 + }, + { + "epoch": 0.1724434611602753, + "grad_norm": 12.4375, + "learning_rate": 1.954240328516277e-05, + "loss": 0.4557, + "step": 2806 + }, + { + "epoch": 0.17250491642084562, + "grad_norm": 13.75, + "learning_rate": 1.9541707127265388e-05, + "loss": 0.4515, + "step": 2807 + }, + { + "epoch": 0.17256637168141592, + "grad_norm": 25.75, + "learning_rate": 1.9541010452644414e-05, + "loss": 0.4023, + "step": 2808 + }, + { + "epoch": 0.17262782694198622, + "grad_norm": 18.375, + "learning_rate": 1.954031326133758e-05, + "loss": 0.5423, + "step": 2809 + }, + { + "epoch": 0.17268928220255653, + "grad_norm": 14.625, + "learning_rate": 1.953961555338264e-05, + "loss": 0.5389, + "step": 2810 + }, + { + "epoch": 0.17275073746312683, + "grad_norm": 20.875, + "learning_rate": 1.9538917328817377e-05, + "loss": 0.4475, + "step": 2811 + }, + { + "epoch": 0.17281219272369716, + "grad_norm": 15.9375, + "learning_rate": 1.9538218587679605e-05, + "loss": 0.4602, + "step": 2812 + }, + { + "epoch": 0.17287364798426746, + "grad_norm": 16.375, + "learning_rate": 1.9537519330007163e-05, + "loss": 0.4164, + "step": 2813 + }, + { + "epoch": 0.17293510324483777, + "grad_norm": 19.0, + "learning_rate": 1.9536819555837915e-05, + "loss": 0.4013, + "step": 2814 + }, + { + "epoch": 0.17299655850540807, + "grad_norm": 18.5, + "learning_rate": 1.9536119265209763e-05, + "loss": 0.4106, + "step": 2815 + }, + { + "epoch": 0.17305801376597837, + "grad_norm": 18.75, + "learning_rate": 1.9535418458160625e-05, + "loss": 0.6183, + "step": 2816 + }, + { + "epoch": 0.17311946902654868, + "grad_norm": 33.5, + "learning_rate": 1.9534717134728455e-05, + "loss": 0.4225, + "step": 2817 + }, + { + "epoch": 0.17318092428711898, + "grad_norm": 13.6875, + "learning_rate": 1.9534015294951235e-05, + "loss": 0.5711, + "step": 2818 + }, + { + "epoch": 0.17324237954768928, + "grad_norm": 19.25, + "learning_rate": 1.953331293886697e-05, + "loss": 0.4941, + "step": 2819 + }, + { + "epoch": 0.1733038348082596, + "grad_norm": 16.25, + "learning_rate": 1.9532610066513693e-05, + "loss": 0.5831, + "step": 2820 + }, + { + "epoch": 0.1733652900688299, + "grad_norm": 29.625, + "learning_rate": 1.9531906677929472e-05, + "loss": 0.6078, + "step": 2821 + }, + { + "epoch": 0.1734267453294002, + "grad_norm": 26.875, + "learning_rate": 1.9531202773152395e-05, + "loss": 0.6546, + "step": 2822 + }, + { + "epoch": 0.1734882005899705, + "grad_norm": 18.25, + "learning_rate": 1.953049835222059e-05, + "loss": 0.4316, + "step": 2823 + }, + { + "epoch": 0.1735496558505408, + "grad_norm": 12.9375, + "learning_rate": 1.952979341517219e-05, + "loss": 0.3824, + "step": 2824 + }, + { + "epoch": 0.1736111111111111, + "grad_norm": 26.0, + "learning_rate": 1.952908796204538e-05, + "loss": 0.7611, + "step": 2825 + }, + { + "epoch": 0.1736725663716814, + "grad_norm": 44.0, + "learning_rate": 1.9528381992878362e-05, + "loss": 0.7742, + "step": 2826 + }, + { + "epoch": 0.1737340216322517, + "grad_norm": 22.5, + "learning_rate": 1.9527675507709368e-05, + "loss": 0.669, + "step": 2827 + }, + { + "epoch": 0.17379547689282202, + "grad_norm": 31.875, + "learning_rate": 1.9526968506576654e-05, + "loss": 0.6578, + "step": 2828 + }, + { + "epoch": 0.17385693215339232, + "grad_norm": 14.25, + "learning_rate": 1.9526260989518506e-05, + "loss": 0.4874, + "step": 2829 + }, + { + "epoch": 0.17391838741396262, + "grad_norm": 27.25, + "learning_rate": 1.9525552956573244e-05, + "loss": 0.7209, + "step": 2830 + }, + { + "epoch": 0.17397984267453295, + "grad_norm": 14.125, + "learning_rate": 1.9524844407779208e-05, + "loss": 0.4477, + "step": 2831 + }, + { + "epoch": 0.17404129793510326, + "grad_norm": 12.5625, + "learning_rate": 1.952413534317477e-05, + "loss": 0.4057, + "step": 2832 + }, + { + "epoch": 0.17410275319567356, + "grad_norm": 13.0625, + "learning_rate": 1.9523425762798328e-05, + "loss": 0.5297, + "step": 2833 + }, + { + "epoch": 0.17416420845624386, + "grad_norm": 13.6875, + "learning_rate": 1.952271566668831e-05, + "loss": 0.47, + "step": 2834 + }, + { + "epoch": 0.17422566371681417, + "grad_norm": 14.6875, + "learning_rate": 1.9522005054883172e-05, + "loss": 0.3851, + "step": 2835 + }, + { + "epoch": 0.17428711897738447, + "grad_norm": 14.9375, + "learning_rate": 1.9521293927421388e-05, + "loss": 0.4601, + "step": 2836 + }, + { + "epoch": 0.17434857423795477, + "grad_norm": 16.5, + "learning_rate": 1.9520582284341478e-05, + "loss": 0.5451, + "step": 2837 + }, + { + "epoch": 0.17441002949852508, + "grad_norm": 17.75, + "learning_rate": 1.951987012568198e-05, + "loss": 0.4489, + "step": 2838 + }, + { + "epoch": 0.17447148475909538, + "grad_norm": 16.25, + "learning_rate": 1.9519157451481453e-05, + "loss": 0.3555, + "step": 2839 + }, + { + "epoch": 0.17453294001966568, + "grad_norm": 5.75, + "learning_rate": 1.95184442617785e-05, + "loss": 0.4051, + "step": 2840 + }, + { + "epoch": 0.174594395280236, + "grad_norm": 21.5, + "learning_rate": 1.951773055661174e-05, + "loss": 0.5001, + "step": 2841 + }, + { + "epoch": 0.1746558505408063, + "grad_norm": 23.625, + "learning_rate": 1.9517016336019817e-05, + "loss": 0.4908, + "step": 2842 + }, + { + "epoch": 0.1747173058013766, + "grad_norm": 30.0, + "learning_rate": 1.9516301600041417e-05, + "loss": 0.5732, + "step": 2843 + }, + { + "epoch": 0.1747787610619469, + "grad_norm": 27.75, + "learning_rate": 1.9515586348715246e-05, + "loss": 0.5956, + "step": 2844 + }, + { + "epoch": 0.1748402163225172, + "grad_norm": 19.75, + "learning_rate": 1.951487058208003e-05, + "loss": 0.5303, + "step": 2845 + }, + { + "epoch": 0.1749016715830875, + "grad_norm": 29.0, + "learning_rate": 1.9514154300174542e-05, + "loss": 0.4475, + "step": 2846 + }, + { + "epoch": 0.1749631268436578, + "grad_norm": 6.75, + "learning_rate": 1.9513437503037563e-05, + "loss": 0.3651, + "step": 2847 + }, + { + "epoch": 0.1750245821042281, + "grad_norm": 17.625, + "learning_rate": 1.9512720190707915e-05, + "loss": 0.3686, + "step": 2848 + }, + { + "epoch": 0.1750860373647984, + "grad_norm": 11.5, + "learning_rate": 1.951200236322444e-05, + "loss": 0.5353, + "step": 2849 + }, + { + "epoch": 0.17514749262536874, + "grad_norm": 19.875, + "learning_rate": 1.9511284020626015e-05, + "loss": 0.4094, + "step": 2850 + }, + { + "epoch": 0.17520894788593905, + "grad_norm": 24.625, + "learning_rate": 1.9510565162951538e-05, + "loss": 0.4881, + "step": 2851 + }, + { + "epoch": 0.17527040314650935, + "grad_norm": 13.8125, + "learning_rate": 1.9509845790239938e-05, + "loss": 0.3908, + "step": 2852 + }, + { + "epoch": 0.17533185840707965, + "grad_norm": 25.125, + "learning_rate": 1.9509125902530178e-05, + "loss": 0.6116, + "step": 2853 + }, + { + "epoch": 0.17539331366764996, + "grad_norm": 19.25, + "learning_rate": 1.9508405499861235e-05, + "loss": 0.3593, + "step": 2854 + }, + { + "epoch": 0.17545476892822026, + "grad_norm": 8.875, + "learning_rate": 1.9507684582272128e-05, + "loss": 0.4842, + "step": 2855 + }, + { + "epoch": 0.17551622418879056, + "grad_norm": 11.1875, + "learning_rate": 1.9506963149801894e-05, + "loss": 0.3666, + "step": 2856 + }, + { + "epoch": 0.17557767944936087, + "grad_norm": 21.5, + "learning_rate": 1.95062412024896e-05, + "loss": 0.6243, + "step": 2857 + }, + { + "epoch": 0.17563913470993117, + "grad_norm": 16.25, + "learning_rate": 1.950551874037435e-05, + "loss": 0.5342, + "step": 2858 + }, + { + "epoch": 0.17570058997050148, + "grad_norm": 21.25, + "learning_rate": 1.950479576349526e-05, + "loss": 0.4998, + "step": 2859 + }, + { + "epoch": 0.17576204523107178, + "grad_norm": 22.875, + "learning_rate": 1.9504072271891486e-05, + "loss": 0.463, + "step": 2860 + }, + { + "epoch": 0.17582350049164208, + "grad_norm": 35.25, + "learning_rate": 1.9503348265602212e-05, + "loss": 0.597, + "step": 2861 + }, + { + "epoch": 0.17588495575221239, + "grad_norm": 19.125, + "learning_rate": 1.950262374466664e-05, + "loss": 0.7796, + "step": 2862 + }, + { + "epoch": 0.1759464110127827, + "grad_norm": 7.59375, + "learning_rate": 1.950189870912401e-05, + "loss": 0.5042, + "step": 2863 + }, + { + "epoch": 0.176007866273353, + "grad_norm": 14.8125, + "learning_rate": 1.950117315901358e-05, + "loss": 0.4301, + "step": 2864 + }, + { + "epoch": 0.1760693215339233, + "grad_norm": 41.25, + "learning_rate": 1.9500447094374645e-05, + "loss": 0.5648, + "step": 2865 + }, + { + "epoch": 0.1761307767944936, + "grad_norm": 11.625, + "learning_rate": 1.9499720515246524e-05, + "loss": 0.4141, + "step": 2866 + }, + { + "epoch": 0.1761922320550639, + "grad_norm": 9.0, + "learning_rate": 1.949899342166857e-05, + "loss": 0.4188, + "step": 2867 + }, + { + "epoch": 0.1762536873156342, + "grad_norm": 42.75, + "learning_rate": 1.949826581368015e-05, + "loss": 0.5076, + "step": 2868 + }, + { + "epoch": 0.17631514257620454, + "grad_norm": 50.25, + "learning_rate": 1.949753769132067e-05, + "loss": 0.5167, + "step": 2869 + }, + { + "epoch": 0.17637659783677484, + "grad_norm": 13.5, + "learning_rate": 1.9496809054629563e-05, + "loss": 0.2912, + "step": 2870 + }, + { + "epoch": 0.17643805309734514, + "grad_norm": 11.5, + "learning_rate": 1.9496079903646282e-05, + "loss": 0.4768, + "step": 2871 + }, + { + "epoch": 0.17649950835791545, + "grad_norm": 22.375, + "learning_rate": 1.949535023841032e-05, + "loss": 0.4446, + "step": 2872 + }, + { + "epoch": 0.17656096361848575, + "grad_norm": 237.0, + "learning_rate": 1.949462005896119e-05, + "loss": 0.6436, + "step": 2873 + }, + { + "epoch": 0.17662241887905605, + "grad_norm": 24.375, + "learning_rate": 1.949388936533843e-05, + "loss": 0.4062, + "step": 2874 + }, + { + "epoch": 0.17668387413962636, + "grad_norm": 12.875, + "learning_rate": 1.9493158157581617e-05, + "loss": 0.345, + "step": 2875 + }, + { + "epoch": 0.17674532940019666, + "grad_norm": 42.75, + "learning_rate": 1.949242643573034e-05, + "loss": 0.3885, + "step": 2876 + }, + { + "epoch": 0.17680678466076696, + "grad_norm": 31.125, + "learning_rate": 1.9491694199824232e-05, + "loss": 0.3725, + "step": 2877 + }, + { + "epoch": 0.17686823992133727, + "grad_norm": 3.140625, + "learning_rate": 1.9490961449902946e-05, + "loss": 0.5013, + "step": 2878 + }, + { + "epoch": 0.17692969518190757, + "grad_norm": 21.125, + "learning_rate": 1.9490228186006164e-05, + "loss": 0.4623, + "step": 2879 + }, + { + "epoch": 0.17699115044247787, + "grad_norm": 32.75, + "learning_rate": 1.948949440817359e-05, + "loss": 0.6061, + "step": 2880 + }, + { + "epoch": 0.17705260570304818, + "grad_norm": 14.5625, + "learning_rate": 1.9488760116444966e-05, + "loss": 0.5194, + "step": 2881 + }, + { + "epoch": 0.17711406096361848, + "grad_norm": 28.25, + "learning_rate": 1.9488025310860057e-05, + "loss": 0.7012, + "step": 2882 + }, + { + "epoch": 0.17717551622418878, + "grad_norm": 24.25, + "learning_rate": 1.9487289991458653e-05, + "loss": 0.396, + "step": 2883 + }, + { + "epoch": 0.1772369714847591, + "grad_norm": 28.875, + "learning_rate": 1.9486554158280576e-05, + "loss": 0.3765, + "step": 2884 + }, + { + "epoch": 0.1772984267453294, + "grad_norm": 15.25, + "learning_rate": 1.9485817811365676e-05, + "loss": 0.5094, + "step": 2885 + }, + { + "epoch": 0.1773598820058997, + "grad_norm": 15.75, + "learning_rate": 1.948508095075383e-05, + "loss": 0.4745, + "step": 2886 + }, + { + "epoch": 0.17742133726647, + "grad_norm": 21.25, + "learning_rate": 1.9484343576484935e-05, + "loss": 0.4205, + "step": 2887 + }, + { + "epoch": 0.17748279252704033, + "grad_norm": 8.0, + "learning_rate": 1.948360568859893e-05, + "loss": 0.4788, + "step": 2888 + }, + { + "epoch": 0.17754424778761063, + "grad_norm": 21.375, + "learning_rate": 1.9482867287135772e-05, + "loss": 0.6695, + "step": 2889 + }, + { + "epoch": 0.17760570304818094, + "grad_norm": 17.5, + "learning_rate": 1.9482128372135446e-05, + "loss": 0.6709, + "step": 2890 + }, + { + "epoch": 0.17766715830875124, + "grad_norm": 16.0, + "learning_rate": 1.9481388943637976e-05, + "loss": 0.7337, + "step": 2891 + }, + { + "epoch": 0.17772861356932154, + "grad_norm": 15.6875, + "learning_rate": 1.94806490016834e-05, + "loss": 0.7453, + "step": 2892 + }, + { + "epoch": 0.17779006882989185, + "grad_norm": 29.75, + "learning_rate": 1.9479908546311783e-05, + "loss": 0.4285, + "step": 2893 + }, + { + "epoch": 0.17785152409046215, + "grad_norm": 14.625, + "learning_rate": 1.9479167577563233e-05, + "loss": 0.5007, + "step": 2894 + }, + { + "epoch": 0.17791297935103245, + "grad_norm": 14.6875, + "learning_rate": 1.9478426095477877e-05, + "loss": 0.3671, + "step": 2895 + }, + { + "epoch": 0.17797443461160276, + "grad_norm": 10.9375, + "learning_rate": 1.947768410009586e-05, + "loss": 0.426, + "step": 2896 + }, + { + "epoch": 0.17803588987217306, + "grad_norm": 25.75, + "learning_rate": 1.947694159145737e-05, + "loss": 0.5182, + "step": 2897 + }, + { + "epoch": 0.17809734513274336, + "grad_norm": 15.9375, + "learning_rate": 1.9476198569602616e-05, + "loss": 0.4622, + "step": 2898 + }, + { + "epoch": 0.17815880039331367, + "grad_norm": 29.625, + "learning_rate": 1.947545503457184e-05, + "loss": 0.5383, + "step": 2899 + }, + { + "epoch": 0.17822025565388397, + "grad_norm": 4.96875, + "learning_rate": 1.94747109864053e-05, + "loss": 0.4186, + "step": 2900 + }, + { + "epoch": 0.17828171091445427, + "grad_norm": 13.625, + "learning_rate": 1.9473966425143292e-05, + "loss": 0.396, + "step": 2901 + }, + { + "epoch": 0.17834316617502458, + "grad_norm": 10.75, + "learning_rate": 1.9473221350826145e-05, + "loss": 0.36, + "step": 2902 + }, + { + "epoch": 0.17840462143559488, + "grad_norm": 15.5, + "learning_rate": 1.9472475763494196e-05, + "loss": 0.3239, + "step": 2903 + }, + { + "epoch": 0.17846607669616518, + "grad_norm": 10.3125, + "learning_rate": 1.947172966318783e-05, + "loss": 0.2852, + "step": 2904 + }, + { + "epoch": 0.17852753195673549, + "grad_norm": 48.5, + "learning_rate": 1.9470983049947446e-05, + "loss": 0.675, + "step": 2905 + }, + { + "epoch": 0.1785889872173058, + "grad_norm": 18.5, + "learning_rate": 1.947023592381348e-05, + "loss": 0.5563, + "step": 2906 + }, + { + "epoch": 0.1786504424778761, + "grad_norm": 38.25, + "learning_rate": 1.9469488284826386e-05, + "loss": 0.5168, + "step": 2907 + }, + { + "epoch": 0.17871189773844642, + "grad_norm": 29.625, + "learning_rate": 1.946874013302666e-05, + "loss": 0.6391, + "step": 2908 + }, + { + "epoch": 0.17877335299901673, + "grad_norm": 23.375, + "learning_rate": 1.9467991468454817e-05, + "loss": 0.4871, + "step": 2909 + }, + { + "epoch": 0.17883480825958703, + "grad_norm": 14.375, + "learning_rate": 1.9467242291151394e-05, + "loss": 0.4639, + "step": 2910 + }, + { + "epoch": 0.17889626352015733, + "grad_norm": 13.75, + "learning_rate": 1.9466492601156964e-05, + "loss": 0.5274, + "step": 2911 + }, + { + "epoch": 0.17895771878072764, + "grad_norm": 10.9375, + "learning_rate": 1.946574239851213e-05, + "loss": 0.335, + "step": 2912 + }, + { + "epoch": 0.17901917404129794, + "grad_norm": 30.125, + "learning_rate": 1.9464991683257514e-05, + "loss": 0.6474, + "step": 2913 + }, + { + "epoch": 0.17908062930186824, + "grad_norm": 23.25, + "learning_rate": 1.9464240455433775e-05, + "loss": 0.5869, + "step": 2914 + }, + { + "epoch": 0.17914208456243855, + "grad_norm": 18.0, + "learning_rate": 1.946348871508159e-05, + "loss": 0.4296, + "step": 2915 + }, + { + "epoch": 0.17920353982300885, + "grad_norm": 24.25, + "learning_rate": 1.9462736462241672e-05, + "loss": 0.3919, + "step": 2916 + }, + { + "epoch": 0.17926499508357915, + "grad_norm": 7.3125, + "learning_rate": 1.946198369695476e-05, + "loss": 0.3655, + "step": 2917 + }, + { + "epoch": 0.17932645034414946, + "grad_norm": 22.75, + "learning_rate": 1.9461230419261615e-05, + "loss": 0.4272, + "step": 2918 + }, + { + "epoch": 0.17938790560471976, + "grad_norm": 17.125, + "learning_rate": 1.9460476629203035e-05, + "loss": 0.4657, + "step": 2919 + }, + { + "epoch": 0.17944936086529006, + "grad_norm": 19.5, + "learning_rate": 1.945972232681984e-05, + "loss": 0.4281, + "step": 2920 + }, + { + "epoch": 0.17951081612586037, + "grad_norm": 18.625, + "learning_rate": 1.9458967512152872e-05, + "loss": 0.4025, + "step": 2921 + }, + { + "epoch": 0.17957227138643067, + "grad_norm": 5.21875, + "learning_rate": 1.9458212185243015e-05, + "loss": 0.49, + "step": 2922 + }, + { + "epoch": 0.17963372664700097, + "grad_norm": 6.25, + "learning_rate": 1.945745634613117e-05, + "loss": 0.4526, + "step": 2923 + }, + { + "epoch": 0.17969518190757128, + "grad_norm": 14.75, + "learning_rate": 1.945669999485827e-05, + "loss": 0.4609, + "step": 2924 + }, + { + "epoch": 0.17975663716814158, + "grad_norm": 35.25, + "learning_rate": 1.9455943131465272e-05, + "loss": 0.3328, + "step": 2925 + }, + { + "epoch": 0.17981809242871188, + "grad_norm": 19.25, + "learning_rate": 1.945518575599317e-05, + "loss": 0.5412, + "step": 2926 + }, + { + "epoch": 0.17987954768928222, + "grad_norm": 13.3125, + "learning_rate": 1.945442786848297e-05, + "loss": 0.3348, + "step": 2927 + }, + { + "epoch": 0.17994100294985252, + "grad_norm": 39.75, + "learning_rate": 1.9453669468975724e-05, + "loss": 0.3417, + "step": 2928 + }, + { + "epoch": 0.18000245821042282, + "grad_norm": 32.5, + "learning_rate": 1.9452910557512497e-05, + "loss": 0.553, + "step": 2929 + }, + { + "epoch": 0.18006391347099313, + "grad_norm": 28.875, + "learning_rate": 1.9452151134134385e-05, + "loss": 0.4277, + "step": 2930 + }, + { + "epoch": 0.18012536873156343, + "grad_norm": 28.0, + "learning_rate": 1.945139119888252e-05, + "loss": 0.5471, + "step": 2931 + }, + { + "epoch": 0.18018682399213373, + "grad_norm": 17.625, + "learning_rate": 1.945063075179805e-05, + "loss": 0.4159, + "step": 2932 + }, + { + "epoch": 0.18024827925270404, + "grad_norm": 27.625, + "learning_rate": 1.9449869792922162e-05, + "loss": 0.4285, + "step": 2933 + }, + { + "epoch": 0.18030973451327434, + "grad_norm": 15.6875, + "learning_rate": 1.944910832229606e-05, + "loss": 0.3986, + "step": 2934 + }, + { + "epoch": 0.18037118977384464, + "grad_norm": 39.5, + "learning_rate": 1.9448346339960984e-05, + "loss": 0.4442, + "step": 2935 + }, + { + "epoch": 0.18043264503441495, + "grad_norm": 12.5, + "learning_rate": 1.9447583845958198e-05, + "loss": 0.3368, + "step": 2936 + }, + { + "epoch": 0.18049410029498525, + "grad_norm": 20.25, + "learning_rate": 1.9446820840328993e-05, + "loss": 0.341, + "step": 2937 + }, + { + "epoch": 0.18055555555555555, + "grad_norm": 23.375, + "learning_rate": 1.944605732311469e-05, + "loss": 0.6011, + "step": 2938 + }, + { + "epoch": 0.18061701081612586, + "grad_norm": 33.0, + "learning_rate": 1.944529329435664e-05, + "loss": 0.4328, + "step": 2939 + }, + { + "epoch": 0.18067846607669616, + "grad_norm": 8.0, + "learning_rate": 1.944452875409621e-05, + "loss": 0.5344, + "step": 2940 + }, + { + "epoch": 0.18073992133726646, + "grad_norm": 22.75, + "learning_rate": 1.944376370237481e-05, + "loss": 0.3518, + "step": 2941 + }, + { + "epoch": 0.18080137659783677, + "grad_norm": 19.875, + "learning_rate": 1.944299813923387e-05, + "loss": 0.5395, + "step": 2942 + }, + { + "epoch": 0.18086283185840707, + "grad_norm": 10.125, + "learning_rate": 1.9442232064714848e-05, + "loss": 0.5081, + "step": 2943 + }, + { + "epoch": 0.18092428711897737, + "grad_norm": 17.0, + "learning_rate": 1.944146547885923e-05, + "loss": 0.2984, + "step": 2944 + }, + { + "epoch": 0.18098574237954768, + "grad_norm": 61.75, + "learning_rate": 1.9440698381708526e-05, + "loss": 0.5799, + "step": 2945 + }, + { + "epoch": 0.181047197640118, + "grad_norm": 25.5, + "learning_rate": 1.9439930773304284e-05, + "loss": 0.4806, + "step": 2946 + }, + { + "epoch": 0.1811086529006883, + "grad_norm": 24.625, + "learning_rate": 1.9439162653688066e-05, + "loss": 0.5856, + "step": 2947 + }, + { + "epoch": 0.18117010816125861, + "grad_norm": 27.0, + "learning_rate": 1.9438394022901477e-05, + "loss": 0.558, + "step": 2948 + }, + { + "epoch": 0.18123156342182892, + "grad_norm": 31.375, + "learning_rate": 1.9437624880986135e-05, + "loss": 0.7091, + "step": 2949 + }, + { + "epoch": 0.18129301868239922, + "grad_norm": 20.0, + "learning_rate": 1.9436855227983695e-05, + "loss": 0.6281, + "step": 2950 + }, + { + "epoch": 0.18135447394296952, + "grad_norm": 29.875, + "learning_rate": 1.9436085063935837e-05, + "loss": 0.5779, + "step": 2951 + }, + { + "epoch": 0.18141592920353983, + "grad_norm": 15.125, + "learning_rate": 1.9435314388884266e-05, + "loss": 0.5043, + "step": 2952 + }, + { + "epoch": 0.18147738446411013, + "grad_norm": 22.375, + "learning_rate": 1.9434543202870726e-05, + "loss": 0.4537, + "step": 2953 + }, + { + "epoch": 0.18153883972468043, + "grad_norm": 11.8125, + "learning_rate": 1.9433771505936968e-05, + "loss": 0.4489, + "step": 2954 + }, + { + "epoch": 0.18160029498525074, + "grad_norm": 22.0, + "learning_rate": 1.943299929812479e-05, + "loss": 0.483, + "step": 2955 + }, + { + "epoch": 0.18166175024582104, + "grad_norm": 22.5, + "learning_rate": 1.943222657947601e-05, + "loss": 0.7295, + "step": 2956 + }, + { + "epoch": 0.18172320550639134, + "grad_norm": 35.0, + "learning_rate": 1.9431453350032476e-05, + "loss": 0.495, + "step": 2957 + }, + { + "epoch": 0.18178466076696165, + "grad_norm": 21.25, + "learning_rate": 1.943067960983605e-05, + "loss": 0.3872, + "step": 2958 + }, + { + "epoch": 0.18184611602753195, + "grad_norm": 24.0, + "learning_rate": 1.9429905358928648e-05, + "loss": 0.3747, + "step": 2959 + }, + { + "epoch": 0.18190757128810225, + "grad_norm": 13.125, + "learning_rate": 1.9429130597352187e-05, + "loss": 0.3277, + "step": 2960 + }, + { + "epoch": 0.18196902654867256, + "grad_norm": 34.25, + "learning_rate": 1.9428355325148632e-05, + "loss": 0.5526, + "step": 2961 + }, + { + "epoch": 0.18203048180924286, + "grad_norm": 31.875, + "learning_rate": 1.9427579542359966e-05, + "loss": 0.5878, + "step": 2962 + }, + { + "epoch": 0.18209193706981316, + "grad_norm": 9.0625, + "learning_rate": 1.9426803249028198e-05, + "loss": 0.5358, + "step": 2963 + }, + { + "epoch": 0.18215339233038347, + "grad_norm": 18.25, + "learning_rate": 1.9426026445195365e-05, + "loss": 0.6044, + "step": 2964 + }, + { + "epoch": 0.1822148475909538, + "grad_norm": 21.75, + "learning_rate": 1.9425249130903544e-05, + "loss": 0.5308, + "step": 2965 + }, + { + "epoch": 0.1822763028515241, + "grad_norm": 31.0, + "learning_rate": 1.9424471306194822e-05, + "loss": 0.5396, + "step": 2966 + }, + { + "epoch": 0.1823377581120944, + "grad_norm": 38.5, + "learning_rate": 1.942369297111132e-05, + "loss": 0.3954, + "step": 2967 + }, + { + "epoch": 0.1823992133726647, + "grad_norm": 13.75, + "learning_rate": 1.942291412569519e-05, + "loss": 0.4964, + "step": 2968 + }, + { + "epoch": 0.182460668633235, + "grad_norm": 27.0, + "learning_rate": 1.9422134769988617e-05, + "loss": 0.5155, + "step": 2969 + }, + { + "epoch": 0.18252212389380532, + "grad_norm": 22.375, + "learning_rate": 1.9421354904033797e-05, + "loss": 0.7103, + "step": 2970 + }, + { + "epoch": 0.18258357915437562, + "grad_norm": 13.375, + "learning_rate": 1.942057452787297e-05, + "loss": 0.628, + "step": 2971 + }, + { + "epoch": 0.18264503441494592, + "grad_norm": 21.5, + "learning_rate": 1.941979364154839e-05, + "loss": 0.4804, + "step": 2972 + }, + { + "epoch": 0.18270648967551623, + "grad_norm": 21.625, + "learning_rate": 1.9419012245102347e-05, + "loss": 0.6384, + "step": 2973 + }, + { + "epoch": 0.18276794493608653, + "grad_norm": 17.5, + "learning_rate": 1.9418230338577164e-05, + "loss": 0.6131, + "step": 2974 + }, + { + "epoch": 0.18282940019665683, + "grad_norm": 14.8125, + "learning_rate": 1.9417447922015174e-05, + "loss": 0.4896, + "step": 2975 + }, + { + "epoch": 0.18289085545722714, + "grad_norm": 24.625, + "learning_rate": 1.9416664995458756e-05, + "loss": 0.5091, + "step": 2976 + }, + { + "epoch": 0.18295231071779744, + "grad_norm": 13.375, + "learning_rate": 1.9415881558950302e-05, + "loss": 0.5236, + "step": 2977 + }, + { + "epoch": 0.18301376597836774, + "grad_norm": 17.875, + "learning_rate": 1.9415097612532247e-05, + "loss": 0.4612, + "step": 2978 + }, + { + "epoch": 0.18307522123893805, + "grad_norm": 18.875, + "learning_rate": 1.9414313156247035e-05, + "loss": 0.481, + "step": 2979 + }, + { + "epoch": 0.18313667649950835, + "grad_norm": 8.4375, + "learning_rate": 1.9413528190137158e-05, + "loss": 0.3282, + "step": 2980 + }, + { + "epoch": 0.18319813176007865, + "grad_norm": 18.125, + "learning_rate": 1.941274271424512e-05, + "loss": 0.4691, + "step": 2981 + }, + { + "epoch": 0.18325958702064896, + "grad_norm": 37.75, + "learning_rate": 1.941195672861345e-05, + "loss": 0.4697, + "step": 2982 + }, + { + "epoch": 0.18332104228121926, + "grad_norm": 10.8125, + "learning_rate": 1.9411170233284728e-05, + "loss": 0.4417, + "step": 2983 + }, + { + "epoch": 0.1833824975417896, + "grad_norm": 15.5, + "learning_rate": 1.9410383228301536e-05, + "loss": 0.3815, + "step": 2984 + }, + { + "epoch": 0.1834439528023599, + "grad_norm": 15.0, + "learning_rate": 1.9409595713706496e-05, + "loss": 0.4851, + "step": 2985 + }, + { + "epoch": 0.1835054080629302, + "grad_norm": 28.125, + "learning_rate": 1.9408807689542257e-05, + "loss": 0.4497, + "step": 2986 + }, + { + "epoch": 0.1835668633235005, + "grad_norm": 7.09375, + "learning_rate": 1.940801915585149e-05, + "loss": 0.4029, + "step": 2987 + }, + { + "epoch": 0.1836283185840708, + "grad_norm": 15.3125, + "learning_rate": 1.9407230112676898e-05, + "loss": 0.3591, + "step": 2988 + }, + { + "epoch": 0.1836897738446411, + "grad_norm": 9.6875, + "learning_rate": 1.9406440560061214e-05, + "loss": 0.2735, + "step": 2989 + }, + { + "epoch": 0.1837512291052114, + "grad_norm": 11.8125, + "learning_rate": 1.9405650498047193e-05, + "loss": 0.2801, + "step": 2990 + }, + { + "epoch": 0.18381268436578171, + "grad_norm": 20.375, + "learning_rate": 1.9404859926677625e-05, + "loss": 0.3876, + "step": 2991 + }, + { + "epoch": 0.18387413962635202, + "grad_norm": 6.53125, + "learning_rate": 1.9404068845995317e-05, + "loss": 0.3238, + "step": 2992 + }, + { + "epoch": 0.18393559488692232, + "grad_norm": 15.1875, + "learning_rate": 1.940327725604311e-05, + "loss": 0.3296, + "step": 2993 + }, + { + "epoch": 0.18399705014749262, + "grad_norm": 10.25, + "learning_rate": 1.9402485156863876e-05, + "loss": 0.3617, + "step": 2994 + }, + { + "epoch": 0.18405850540806293, + "grad_norm": 30.125, + "learning_rate": 1.9401692548500504e-05, + "loss": 0.5456, + "step": 2995 + }, + { + "epoch": 0.18411996066863323, + "grad_norm": 51.5, + "learning_rate": 1.9400899430995923e-05, + "loss": 0.5129, + "step": 2996 + }, + { + "epoch": 0.18418141592920353, + "grad_norm": 27.25, + "learning_rate": 1.9400105804393083e-05, + "loss": 0.5718, + "step": 2997 + }, + { + "epoch": 0.18424287118977384, + "grad_norm": 20.875, + "learning_rate": 1.9399311668734957e-05, + "loss": 0.5517, + "step": 2998 + }, + { + "epoch": 0.18430432645034414, + "grad_norm": 32.25, + "learning_rate": 1.9398517024064556e-05, + "loss": 0.2847, + "step": 2999 + }, + { + "epoch": 0.18436578171091444, + "grad_norm": 14.8125, + "learning_rate": 1.939772187042491e-05, + "loss": 0.3404, + "step": 3000 + }, + { + "epoch": 0.18442723697148475, + "grad_norm": 33.0, + "learning_rate": 1.9396926207859085e-05, + "loss": 0.6463, + "step": 3001 + }, + { + "epoch": 0.18448869223205505, + "grad_norm": 18.5, + "learning_rate": 1.9396130036410166e-05, + "loss": 0.7697, + "step": 3002 + }, + { + "epoch": 0.18455014749262535, + "grad_norm": 12.125, + "learning_rate": 1.9395333356121268e-05, + "loss": 0.4747, + "step": 3003 + }, + { + "epoch": 0.18461160275319569, + "grad_norm": 29.625, + "learning_rate": 1.9394536167035535e-05, + "loss": 0.5613, + "step": 3004 + }, + { + "epoch": 0.184673058013766, + "grad_norm": 30.625, + "learning_rate": 1.939373846919614e-05, + "loss": 0.7578, + "step": 3005 + }, + { + "epoch": 0.1847345132743363, + "grad_norm": 17.75, + "learning_rate": 1.9392940262646284e-05, + "loss": 0.5454, + "step": 3006 + }, + { + "epoch": 0.1847959685349066, + "grad_norm": 27.0, + "learning_rate": 1.9392141547429183e-05, + "loss": 0.4712, + "step": 3007 + }, + { + "epoch": 0.1848574237954769, + "grad_norm": 21.0, + "learning_rate": 1.9391342323588104e-05, + "loss": 0.4669, + "step": 3008 + }, + { + "epoch": 0.1849188790560472, + "grad_norm": 19.875, + "learning_rate": 1.939054259116632e-05, + "loss": 0.3443, + "step": 3009 + }, + { + "epoch": 0.1849803343166175, + "grad_norm": 18.125, + "learning_rate": 1.938974235020714e-05, + "loss": 0.4148, + "step": 3010 + }, + { + "epoch": 0.1850417895771878, + "grad_norm": 21.5, + "learning_rate": 1.9388941600753902e-05, + "loss": 0.4424, + "step": 3011 + }, + { + "epoch": 0.1851032448377581, + "grad_norm": 10.75, + "learning_rate": 1.9388140342849976e-05, + "loss": 0.3094, + "step": 3012 + }, + { + "epoch": 0.18516470009832842, + "grad_norm": 15.125, + "learning_rate": 1.9387338576538743e-05, + "loss": 0.5617, + "step": 3013 + }, + { + "epoch": 0.18522615535889872, + "grad_norm": 2.34375, + "learning_rate": 1.9386536301863626e-05, + "loss": 0.2456, + "step": 3014 + }, + { + "epoch": 0.18528761061946902, + "grad_norm": 10.8125, + "learning_rate": 1.9385733518868074e-05, + "loss": 0.2986, + "step": 3015 + }, + { + "epoch": 0.18534906588003933, + "grad_norm": 4.0, + "learning_rate": 1.938493022759556e-05, + "loss": 0.2952, + "step": 3016 + }, + { + "epoch": 0.18541052114060963, + "grad_norm": 45.25, + "learning_rate": 1.938412642808959e-05, + "loss": 0.6612, + "step": 3017 + }, + { + "epoch": 0.18547197640117993, + "grad_norm": 50.5, + "learning_rate": 1.938332212039368e-05, + "loss": 0.5555, + "step": 3018 + }, + { + "epoch": 0.18553343166175024, + "grad_norm": 34.25, + "learning_rate": 1.9382517304551397e-05, + "loss": 0.5172, + "step": 3019 + }, + { + "epoch": 0.18559488692232054, + "grad_norm": 37.0, + "learning_rate": 1.938171198060632e-05, + "loss": 0.4086, + "step": 3020 + }, + { + "epoch": 0.18565634218289084, + "grad_norm": 54.0, + "learning_rate": 1.938090614860207e-05, + "loss": 0.4724, + "step": 3021 + }, + { + "epoch": 0.18571779744346115, + "grad_norm": 19.5, + "learning_rate": 1.9380099808582278e-05, + "loss": 0.3088, + "step": 3022 + }, + { + "epoch": 0.18577925270403148, + "grad_norm": 41.25, + "learning_rate": 1.937929296059061e-05, + "loss": 0.4072, + "step": 3023 + }, + { + "epoch": 0.18584070796460178, + "grad_norm": 15.4375, + "learning_rate": 1.9378485604670766e-05, + "loss": 0.5105, + "step": 3024 + }, + { + "epoch": 0.18590216322517208, + "grad_norm": 19.875, + "learning_rate": 1.937767774086646e-05, + "loss": 0.5776, + "step": 3025 + }, + { + "epoch": 0.1859636184857424, + "grad_norm": 21.75, + "learning_rate": 1.937686936922145e-05, + "loss": 0.5936, + "step": 3026 + }, + { + "epoch": 0.1860250737463127, + "grad_norm": 43.25, + "learning_rate": 1.937606048977951e-05, + "loss": 0.5969, + "step": 3027 + }, + { + "epoch": 0.186086529006883, + "grad_norm": 21.125, + "learning_rate": 1.9375251102584438e-05, + "loss": 0.6166, + "step": 3028 + }, + { + "epoch": 0.1861479842674533, + "grad_norm": 17.125, + "learning_rate": 1.937444120768007e-05, + "loss": 0.5478, + "step": 3029 + }, + { + "epoch": 0.1862094395280236, + "grad_norm": 26.875, + "learning_rate": 1.9373630805110267e-05, + "loss": 0.3757, + "step": 3030 + }, + { + "epoch": 0.1862708947885939, + "grad_norm": 11.9375, + "learning_rate": 1.937281989491892e-05, + "loss": 0.3527, + "step": 3031 + }, + { + "epoch": 0.1863323500491642, + "grad_norm": 14.375, + "learning_rate": 1.9372008477149928e-05, + "loss": 0.4788, + "step": 3032 + }, + { + "epoch": 0.1863938053097345, + "grad_norm": 35.5, + "learning_rate": 1.9371196551847248e-05, + "loss": 0.5742, + "step": 3033 + }, + { + "epoch": 0.18645526057030481, + "grad_norm": 24.5, + "learning_rate": 1.937038411905484e-05, + "loss": 0.5256, + "step": 3034 + }, + { + "epoch": 0.18651671583087512, + "grad_norm": 34.75, + "learning_rate": 1.9369571178816708e-05, + "loss": 0.4345, + "step": 3035 + }, + { + "epoch": 0.18657817109144542, + "grad_norm": 8.6875, + "learning_rate": 1.936875773117687e-05, + "loss": 0.3542, + "step": 3036 + }, + { + "epoch": 0.18663962635201573, + "grad_norm": 13.5625, + "learning_rate": 1.936794377617938e-05, + "loss": 0.3539, + "step": 3037 + }, + { + "epoch": 0.18670108161258603, + "grad_norm": 15.5625, + "learning_rate": 1.936712931386832e-05, + "loss": 0.3697, + "step": 3038 + }, + { + "epoch": 0.18676253687315633, + "grad_norm": 16.5, + "learning_rate": 1.9366314344287786e-05, + "loss": 0.3797, + "step": 3039 + }, + { + "epoch": 0.18682399213372664, + "grad_norm": 7.03125, + "learning_rate": 1.9365498867481926e-05, + "loss": 0.3806, + "step": 3040 + }, + { + "epoch": 0.18688544739429694, + "grad_norm": 39.75, + "learning_rate": 1.9364682883494892e-05, + "loss": 0.4992, + "step": 3041 + }, + { + "epoch": 0.18694690265486727, + "grad_norm": 26.625, + "learning_rate": 1.9363866392370875e-05, + "loss": 0.4558, + "step": 3042 + }, + { + "epoch": 0.18700835791543757, + "grad_norm": 13.375, + "learning_rate": 1.9363049394154095e-05, + "loss": 0.4716, + "step": 3043 + }, + { + "epoch": 0.18706981317600788, + "grad_norm": 11.25, + "learning_rate": 1.9362231888888793e-05, + "loss": 0.3768, + "step": 3044 + }, + { + "epoch": 0.18713126843657818, + "grad_norm": 26.25, + "learning_rate": 1.936141387661924e-05, + "loss": 0.5961, + "step": 3045 + }, + { + "epoch": 0.18719272369714848, + "grad_norm": 10.5, + "learning_rate": 1.9360595357389735e-05, + "loss": 0.3634, + "step": 3046 + }, + { + "epoch": 0.1872541789577188, + "grad_norm": 24.875, + "learning_rate": 1.9359776331244606e-05, + "loss": 0.3673, + "step": 3047 + }, + { + "epoch": 0.1873156342182891, + "grad_norm": 8.6875, + "learning_rate": 1.9358956798228205e-05, + "loss": 0.3366, + "step": 3048 + }, + { + "epoch": 0.1873770894788594, + "grad_norm": 19.625, + "learning_rate": 1.935813675838491e-05, + "loss": 0.6899, + "step": 3049 + }, + { + "epoch": 0.1874385447394297, + "grad_norm": 12.0, + "learning_rate": 1.9357316211759137e-05, + "loss": 0.4356, + "step": 3050 + }, + { + "epoch": 0.1875, + "grad_norm": 29.875, + "learning_rate": 1.9356495158395317e-05, + "loss": 0.412, + "step": 3051 + }, + { + "epoch": 0.1875614552605703, + "grad_norm": 34.0, + "learning_rate": 1.9355673598337916e-05, + "loss": 0.4612, + "step": 3052 + }, + { + "epoch": 0.1876229105211406, + "grad_norm": 8.5625, + "learning_rate": 1.935485153163142e-05, + "loss": 0.4639, + "step": 3053 + }, + { + "epoch": 0.1876843657817109, + "grad_norm": 15.125, + "learning_rate": 1.9354028958320352e-05, + "loss": 0.3553, + "step": 3054 + }, + { + "epoch": 0.1877458210422812, + "grad_norm": 26.375, + "learning_rate": 1.935320587844926e-05, + "loss": 0.4161, + "step": 3055 + }, + { + "epoch": 0.18780727630285152, + "grad_norm": 21.25, + "learning_rate": 1.9352382292062712e-05, + "loss": 0.3405, + "step": 3056 + }, + { + "epoch": 0.18786873156342182, + "grad_norm": 25.875, + "learning_rate": 1.935155819920531e-05, + "loss": 0.4924, + "step": 3057 + }, + { + "epoch": 0.18793018682399212, + "grad_norm": 13.25, + "learning_rate": 1.9350733599921684e-05, + "loss": 0.417, + "step": 3058 + }, + { + "epoch": 0.18799164208456243, + "grad_norm": 46.0, + "learning_rate": 1.934990849425649e-05, + "loss": 0.5806, + "step": 3059 + }, + { + "epoch": 0.18805309734513273, + "grad_norm": 87.0, + "learning_rate": 1.9349082882254405e-05, + "loss": 0.4922, + "step": 3060 + }, + { + "epoch": 0.18811455260570306, + "grad_norm": 27.375, + "learning_rate": 1.9348256763960146e-05, + "loss": 0.3161, + "step": 3061 + }, + { + "epoch": 0.18817600786627336, + "grad_norm": 29.0, + "learning_rate": 1.9347430139418448e-05, + "loss": 0.4742, + "step": 3062 + }, + { + "epoch": 0.18823746312684367, + "grad_norm": 40.75, + "learning_rate": 1.9346603008674075e-05, + "loss": 0.3815, + "step": 3063 + }, + { + "epoch": 0.18829891838741397, + "grad_norm": 10.75, + "learning_rate": 1.9345775371771826e-05, + "loss": 0.5304, + "step": 3064 + }, + { + "epoch": 0.18836037364798427, + "grad_norm": 30.5, + "learning_rate": 1.934494722875651e-05, + "loss": 0.6936, + "step": 3065 + }, + { + "epoch": 0.18842182890855458, + "grad_norm": 21.625, + "learning_rate": 1.9344118579672987e-05, + "loss": 0.5219, + "step": 3066 + }, + { + "epoch": 0.18848328416912488, + "grad_norm": 46.75, + "learning_rate": 1.9343289424566122e-05, + "loss": 0.4943, + "step": 3067 + }, + { + "epoch": 0.18854473942969519, + "grad_norm": 28.0, + "learning_rate": 1.9342459763480822e-05, + "loss": 0.5983, + "step": 3068 + }, + { + "epoch": 0.1886061946902655, + "grad_norm": 18.0, + "learning_rate": 1.9341629596462015e-05, + "loss": 0.4858, + "step": 3069 + }, + { + "epoch": 0.1886676499508358, + "grad_norm": 14.4375, + "learning_rate": 1.9340798923554657e-05, + "loss": 0.4553, + "step": 3070 + }, + { + "epoch": 0.1887291052114061, + "grad_norm": 12.9375, + "learning_rate": 1.9339967744803735e-05, + "loss": 0.4467, + "step": 3071 + }, + { + "epoch": 0.1887905604719764, + "grad_norm": 27.0, + "learning_rate": 1.933913606025426e-05, + "loss": 0.3906, + "step": 3072 + }, + { + "epoch": 0.1888520157325467, + "grad_norm": 30.75, + "learning_rate": 1.933830386995127e-05, + "loss": 0.6018, + "step": 3073 + }, + { + "epoch": 0.188913470993117, + "grad_norm": 42.0, + "learning_rate": 1.933747117393983e-05, + "loss": 0.6741, + "step": 3074 + }, + { + "epoch": 0.1889749262536873, + "grad_norm": 36.5, + "learning_rate": 1.9336637972265042e-05, + "loss": 0.4624, + "step": 3075 + }, + { + "epoch": 0.1890363815142576, + "grad_norm": 63.5, + "learning_rate": 1.9335804264972018e-05, + "loss": 0.521, + "step": 3076 + }, + { + "epoch": 0.18909783677482792, + "grad_norm": 36.0, + "learning_rate": 1.933497005210591e-05, + "loss": 0.3893, + "step": 3077 + }, + { + "epoch": 0.18915929203539822, + "grad_norm": 13.9375, + "learning_rate": 1.93341353337119e-05, + "loss": 0.388, + "step": 3078 + }, + { + "epoch": 0.18922074729596852, + "grad_norm": 37.25, + "learning_rate": 1.9333300109835182e-05, + "loss": 0.4786, + "step": 3079 + }, + { + "epoch": 0.18928220255653885, + "grad_norm": 9.1875, + "learning_rate": 1.9332464380520993e-05, + "loss": 0.3302, + "step": 3080 + }, + { + "epoch": 0.18934365781710916, + "grad_norm": 15.1875, + "learning_rate": 1.9331628145814587e-05, + "loss": 0.4529, + "step": 3081 + }, + { + "epoch": 0.18940511307767946, + "grad_norm": 17.5, + "learning_rate": 1.9330791405761254e-05, + "loss": 0.4259, + "step": 3082 + }, + { + "epoch": 0.18946656833824976, + "grad_norm": 38.75, + "learning_rate": 1.9329954160406306e-05, + "loss": 0.6097, + "step": 3083 + }, + { + "epoch": 0.18952802359882007, + "grad_norm": 16.625, + "learning_rate": 1.932911640979508e-05, + "loss": 0.4654, + "step": 3084 + }, + { + "epoch": 0.18958947885939037, + "grad_norm": 47.75, + "learning_rate": 1.9328278153972947e-05, + "loss": 0.4684, + "step": 3085 + }, + { + "epoch": 0.18965093411996067, + "grad_norm": 22.625, + "learning_rate": 1.93274393929853e-05, + "loss": 0.4892, + "step": 3086 + }, + { + "epoch": 0.18971238938053098, + "grad_norm": 26.625, + "learning_rate": 1.9326600126877566e-05, + "loss": 0.4493, + "step": 3087 + }, + { + "epoch": 0.18977384464110128, + "grad_norm": 29.125, + "learning_rate": 1.932576035569519e-05, + "loss": 0.3125, + "step": 3088 + }, + { + "epoch": 0.18983529990167158, + "grad_norm": 33.0, + "learning_rate": 1.9324920079483647e-05, + "loss": 0.4074, + "step": 3089 + }, + { + "epoch": 0.1898967551622419, + "grad_norm": 4.53125, + "learning_rate": 1.932407929828845e-05, + "loss": 0.3623, + "step": 3090 + }, + { + "epoch": 0.1899582104228122, + "grad_norm": 16.75, + "learning_rate": 1.9323238012155125e-05, + "loss": 0.5931, + "step": 3091 + }, + { + "epoch": 0.1900196656833825, + "grad_norm": 23.25, + "learning_rate": 1.932239622112923e-05, + "loss": 0.4467, + "step": 3092 + }, + { + "epoch": 0.1900811209439528, + "grad_norm": 20.25, + "learning_rate": 1.9321553925256355e-05, + "loss": 0.3878, + "step": 3093 + }, + { + "epoch": 0.1901425762045231, + "grad_norm": 10.6875, + "learning_rate": 1.932071112458211e-05, + "loss": 0.2578, + "step": 3094 + }, + { + "epoch": 0.1902040314650934, + "grad_norm": 24.25, + "learning_rate": 1.9319867819152144e-05, + "loss": 0.5495, + "step": 3095 + }, + { + "epoch": 0.1902654867256637, + "grad_norm": 37.0, + "learning_rate": 1.9319024009012114e-05, + "loss": 0.4262, + "step": 3096 + }, + { + "epoch": 0.190326941986234, + "grad_norm": 25.0, + "learning_rate": 1.9318179694207726e-05, + "loss": 0.3919, + "step": 3097 + }, + { + "epoch": 0.19038839724680431, + "grad_norm": 8.6875, + "learning_rate": 1.93173348747847e-05, + "loss": 0.5086, + "step": 3098 + }, + { + "epoch": 0.19044985250737465, + "grad_norm": 11.5625, + "learning_rate": 1.9316489550788785e-05, + "loss": 0.4526, + "step": 3099 + }, + { + "epoch": 0.19051130776794495, + "grad_norm": 32.0, + "learning_rate": 1.931564372226576e-05, + "loss": 0.5635, + "step": 3100 + }, + { + "epoch": 0.19057276302851525, + "grad_norm": 33.75, + "learning_rate": 1.9314797389261426e-05, + "loss": 0.4972, + "step": 3101 + }, + { + "epoch": 0.19063421828908556, + "grad_norm": 19.5, + "learning_rate": 1.931395055182162e-05, + "loss": 0.3919, + "step": 3102 + }, + { + "epoch": 0.19069567354965586, + "grad_norm": 16.25, + "learning_rate": 1.9313103209992205e-05, + "loss": 0.3942, + "step": 3103 + }, + { + "epoch": 0.19075712881022616, + "grad_norm": 28.25, + "learning_rate": 1.931225536381906e-05, + "loss": 0.3897, + "step": 3104 + }, + { + "epoch": 0.19081858407079647, + "grad_norm": 21.25, + "learning_rate": 1.931140701334811e-05, + "loss": 0.3934, + "step": 3105 + }, + { + "epoch": 0.19088003933136677, + "grad_norm": 19.5, + "learning_rate": 1.9310558158625286e-05, + "loss": 0.475, + "step": 3106 + }, + { + "epoch": 0.19094149459193707, + "grad_norm": 22.375, + "learning_rate": 1.930970879969656e-05, + "loss": 0.5783, + "step": 3107 + }, + { + "epoch": 0.19100294985250738, + "grad_norm": 36.75, + "learning_rate": 1.9308858936607934e-05, + "loss": 0.5278, + "step": 3108 + }, + { + "epoch": 0.19106440511307768, + "grad_norm": 18.375, + "learning_rate": 1.9308008569405424e-05, + "loss": 0.3673, + "step": 3109 + }, + { + "epoch": 0.19112586037364798, + "grad_norm": 29.625, + "learning_rate": 1.9307157698135085e-05, + "loss": 0.3967, + "step": 3110 + }, + { + "epoch": 0.19118731563421829, + "grad_norm": 16.0, + "learning_rate": 1.9306306322842994e-05, + "loss": 0.4106, + "step": 3111 + }, + { + "epoch": 0.1912487708947886, + "grad_norm": 16.0, + "learning_rate": 1.930545444357526e-05, + "loss": 0.4621, + "step": 3112 + }, + { + "epoch": 0.1913102261553589, + "grad_norm": 8.25, + "learning_rate": 1.9304602060378013e-05, + "loss": 0.4185, + "step": 3113 + }, + { + "epoch": 0.1913716814159292, + "grad_norm": 18.125, + "learning_rate": 1.9303749173297412e-05, + "loss": 0.4325, + "step": 3114 + }, + { + "epoch": 0.1914331366764995, + "grad_norm": 30.0, + "learning_rate": 1.9302895782379648e-05, + "loss": 0.5012, + "step": 3115 + }, + { + "epoch": 0.1914945919370698, + "grad_norm": 19.5, + "learning_rate": 1.930204188767093e-05, + "loss": 0.3983, + "step": 3116 + }, + { + "epoch": 0.1915560471976401, + "grad_norm": 31.125, + "learning_rate": 1.9301187489217508e-05, + "loss": 0.4154, + "step": 3117 + }, + { + "epoch": 0.1916175024582104, + "grad_norm": 18.5, + "learning_rate": 1.9300332587065644e-05, + "loss": 0.3312, + "step": 3118 + }, + { + "epoch": 0.19167895771878074, + "grad_norm": 10.875, + "learning_rate": 1.9299477181261633e-05, + "loss": 0.3302, + "step": 3119 + }, + { + "epoch": 0.19174041297935104, + "grad_norm": 12.25, + "learning_rate": 1.929862127185181e-05, + "loss": 0.3188, + "step": 3120 + }, + { + "epoch": 0.19180186823992135, + "grad_norm": 19.375, + "learning_rate": 1.9297764858882516e-05, + "loss": 0.5155, + "step": 3121 + }, + { + "epoch": 0.19186332350049165, + "grad_norm": 17.125, + "learning_rate": 1.9296907942400133e-05, + "loss": 0.3994, + "step": 3122 + }, + { + "epoch": 0.19192477876106195, + "grad_norm": 10.3125, + "learning_rate": 1.9296050522451067e-05, + "loss": 0.3074, + "step": 3123 + }, + { + "epoch": 0.19198623402163226, + "grad_norm": 13.4375, + "learning_rate": 1.9295192599081747e-05, + "loss": 0.3895, + "step": 3124 + }, + { + "epoch": 0.19204768928220256, + "grad_norm": 25.25, + "learning_rate": 1.9294334172338637e-05, + "loss": 0.4576, + "step": 3125 + }, + { + "epoch": 0.19210914454277286, + "grad_norm": 17.0, + "learning_rate": 1.9293475242268224e-05, + "loss": 0.2665, + "step": 3126 + }, + { + "epoch": 0.19217059980334317, + "grad_norm": 11.5625, + "learning_rate": 1.9292615808917027e-05, + "loss": 0.4694, + "step": 3127 + }, + { + "epoch": 0.19223205506391347, + "grad_norm": 15.125, + "learning_rate": 1.9291755872331576e-05, + "loss": 0.3566, + "step": 3128 + }, + { + "epoch": 0.19229351032448377, + "grad_norm": 30.0, + "learning_rate": 1.929089543255845e-05, + "loss": 0.4633, + "step": 3129 + }, + { + "epoch": 0.19235496558505408, + "grad_norm": 22.5, + "learning_rate": 1.9290034489644247e-05, + "loss": 0.5858, + "step": 3130 + }, + { + "epoch": 0.19241642084562438, + "grad_norm": 20.0, + "learning_rate": 1.9289173043635584e-05, + "loss": 0.4043, + "step": 3131 + }, + { + "epoch": 0.19247787610619468, + "grad_norm": 9.4375, + "learning_rate": 1.9288311094579112e-05, + "loss": 0.4139, + "step": 3132 + }, + { + "epoch": 0.192539331366765, + "grad_norm": 12.0, + "learning_rate": 1.9287448642521513e-05, + "loss": 0.3883, + "step": 3133 + }, + { + "epoch": 0.1926007866273353, + "grad_norm": 4.0, + "learning_rate": 1.9286585687509492e-05, + "loss": 0.4217, + "step": 3134 + }, + { + "epoch": 0.1926622418879056, + "grad_norm": 17.875, + "learning_rate": 1.9285722229589782e-05, + "loss": 0.2882, + "step": 3135 + }, + { + "epoch": 0.1927236971484759, + "grad_norm": 38.5, + "learning_rate": 1.9284858268809135e-05, + "loss": 0.4638, + "step": 3136 + }, + { + "epoch": 0.1927851524090462, + "grad_norm": 27.125, + "learning_rate": 1.9283993805214353e-05, + "loss": 0.6033, + "step": 3137 + }, + { + "epoch": 0.19284660766961653, + "grad_norm": 49.25, + "learning_rate": 1.9283128838852237e-05, + "loss": 0.5463, + "step": 3138 + }, + { + "epoch": 0.19290806293018684, + "grad_norm": 23.5, + "learning_rate": 1.9282263369769633e-05, + "loss": 0.5622, + "step": 3139 + }, + { + "epoch": 0.19296951819075714, + "grad_norm": 20.0, + "learning_rate": 1.9281397398013416e-05, + "loss": 0.5249, + "step": 3140 + }, + { + "epoch": 0.19303097345132744, + "grad_norm": 50.75, + "learning_rate": 1.928053092363047e-05, + "loss": 0.4112, + "step": 3141 + }, + { + "epoch": 0.19309242871189775, + "grad_norm": 36.25, + "learning_rate": 1.927966394666773e-05, + "loss": 0.4306, + "step": 3142 + }, + { + "epoch": 0.19315388397246805, + "grad_norm": 27.125, + "learning_rate": 1.9278796467172137e-05, + "loss": 0.3881, + "step": 3143 + }, + { + "epoch": 0.19321533923303835, + "grad_norm": 32.75, + "learning_rate": 1.9277928485190674e-05, + "loss": 0.3317, + "step": 3144 + }, + { + "epoch": 0.19327679449360866, + "grad_norm": 36.75, + "learning_rate": 1.9277060000770342e-05, + "loss": 0.7708, + "step": 3145 + }, + { + "epoch": 0.19333824975417896, + "grad_norm": 31.25, + "learning_rate": 1.927619101395818e-05, + "loss": 0.595, + "step": 3146 + }, + { + "epoch": 0.19339970501474926, + "grad_norm": 63.0, + "learning_rate": 1.927532152480124e-05, + "loss": 0.7295, + "step": 3147 + }, + { + "epoch": 0.19346116027531957, + "grad_norm": 35.5, + "learning_rate": 1.9274451533346617e-05, + "loss": 0.6259, + "step": 3148 + }, + { + "epoch": 0.19352261553588987, + "grad_norm": 30.375, + "learning_rate": 1.9273581039641412e-05, + "loss": 0.4116, + "step": 3149 + }, + { + "epoch": 0.19358407079646017, + "grad_norm": 15.25, + "learning_rate": 1.9272710043732775e-05, + "loss": 0.3198, + "step": 3150 + }, + { + "epoch": 0.19364552605703048, + "grad_norm": 16.25, + "learning_rate": 1.9271838545667876e-05, + "loss": 0.3557, + "step": 3151 + }, + { + "epoch": 0.19370698131760078, + "grad_norm": 13.8125, + "learning_rate": 1.9270966545493903e-05, + "loss": 0.4748, + "step": 3152 + }, + { + "epoch": 0.19376843657817108, + "grad_norm": 24.0, + "learning_rate": 1.927009404325808e-05, + "loss": 0.5944, + "step": 3153 + }, + { + "epoch": 0.19382989183874139, + "grad_norm": 18.375, + "learning_rate": 1.9269221039007666e-05, + "loss": 0.6175, + "step": 3154 + }, + { + "epoch": 0.1938913470993117, + "grad_norm": 23.125, + "learning_rate": 1.9268347532789926e-05, + "loss": 0.4974, + "step": 3155 + }, + { + "epoch": 0.193952802359882, + "grad_norm": 26.25, + "learning_rate": 1.9267473524652168e-05, + "loss": 0.4146, + "step": 3156 + }, + { + "epoch": 0.19401425762045232, + "grad_norm": 29.25, + "learning_rate": 1.9266599014641724e-05, + "loss": 0.4516, + "step": 3157 + }, + { + "epoch": 0.19407571288102263, + "grad_norm": 44.25, + "learning_rate": 1.9265724002805952e-05, + "loss": 0.4985, + "step": 3158 + }, + { + "epoch": 0.19413716814159293, + "grad_norm": 5.0625, + "learning_rate": 1.9264848489192237e-05, + "loss": 0.3678, + "step": 3159 + }, + { + "epoch": 0.19419862340216323, + "grad_norm": 9.1875, + "learning_rate": 1.9263972473847995e-05, + "loss": 0.3074, + "step": 3160 + }, + { + "epoch": 0.19426007866273354, + "grad_norm": 29.125, + "learning_rate": 1.926309595682066e-05, + "loss": 0.5712, + "step": 3161 + }, + { + "epoch": 0.19432153392330384, + "grad_norm": 26.625, + "learning_rate": 1.9262218938157703e-05, + "loss": 0.4782, + "step": 3162 + }, + { + "epoch": 0.19438298918387414, + "grad_norm": 33.0, + "learning_rate": 1.9261341417906622e-05, + "loss": 0.4408, + "step": 3163 + }, + { + "epoch": 0.19444444444444445, + "grad_norm": 27.625, + "learning_rate": 1.926046339611493e-05, + "loss": 0.3974, + "step": 3164 + }, + { + "epoch": 0.19450589970501475, + "grad_norm": 26.375, + "learning_rate": 1.925958487283018e-05, + "loss": 0.4634, + "step": 3165 + }, + { + "epoch": 0.19456735496558505, + "grad_norm": 7.6875, + "learning_rate": 1.925870584809995e-05, + "loss": 0.3452, + "step": 3166 + }, + { + "epoch": 0.19462881022615536, + "grad_norm": 13.625, + "learning_rate": 1.9257826321971838e-05, + "loss": 0.3272, + "step": 3167 + }, + { + "epoch": 0.19469026548672566, + "grad_norm": 23.375, + "learning_rate": 1.9256946294493475e-05, + "loss": 0.266, + "step": 3168 + }, + { + "epoch": 0.19475172074729596, + "grad_norm": 34.75, + "learning_rate": 1.9256065765712524e-05, + "loss": 0.5639, + "step": 3169 + }, + { + "epoch": 0.19481317600786627, + "grad_norm": 29.75, + "learning_rate": 1.925518473567666e-05, + "loss": 0.7866, + "step": 3170 + }, + { + "epoch": 0.19487463126843657, + "grad_norm": 31.625, + "learning_rate": 1.9254303204433602e-05, + "loss": 0.5783, + "step": 3171 + }, + { + "epoch": 0.19493608652900687, + "grad_norm": 12.5625, + "learning_rate": 1.9253421172031086e-05, + "loss": 0.5233, + "step": 3172 + }, + { + "epoch": 0.19499754178957718, + "grad_norm": 18.5, + "learning_rate": 1.9252538638516878e-05, + "loss": 0.4656, + "step": 3173 + }, + { + "epoch": 0.19505899705014748, + "grad_norm": 19.875, + "learning_rate": 1.925165560393877e-05, + "loss": 0.5181, + "step": 3174 + }, + { + "epoch": 0.19512045231071778, + "grad_norm": 2.09375, + "learning_rate": 1.925077206834458e-05, + "loss": 0.3447, + "step": 3175 + }, + { + "epoch": 0.19518190757128812, + "grad_norm": 14.5625, + "learning_rate": 1.924988803178216e-05, + "loss": 0.3941, + "step": 3176 + }, + { + "epoch": 0.19524336283185842, + "grad_norm": 25.375, + "learning_rate": 1.9249003494299385e-05, + "loss": 0.7266, + "step": 3177 + }, + { + "epoch": 0.19530481809242872, + "grad_norm": 25.25, + "learning_rate": 1.9248118455944153e-05, + "loss": 0.5372, + "step": 3178 + }, + { + "epoch": 0.19536627335299903, + "grad_norm": 11.4375, + "learning_rate": 1.9247232916764388e-05, + "loss": 0.4471, + "step": 3179 + }, + { + "epoch": 0.19542772861356933, + "grad_norm": 18.5, + "learning_rate": 1.9246346876808054e-05, + "loss": 0.4106, + "step": 3180 + }, + { + "epoch": 0.19548918387413963, + "grad_norm": 13.125, + "learning_rate": 1.9245460336123136e-05, + "loss": 0.6621, + "step": 3181 + }, + { + "epoch": 0.19555063913470994, + "grad_norm": 16.875, + "learning_rate": 1.924457329475763e-05, + "loss": 0.4883, + "step": 3182 + }, + { + "epoch": 0.19561209439528024, + "grad_norm": 11.5, + "learning_rate": 1.9243685752759585e-05, + "loss": 0.5566, + "step": 3183 + }, + { + "epoch": 0.19567354965585054, + "grad_norm": 20.875, + "learning_rate": 1.924279771017706e-05, + "loss": 0.541, + "step": 3184 + }, + { + "epoch": 0.19573500491642085, + "grad_norm": 20.125, + "learning_rate": 1.9241909167058154e-05, + "loss": 0.58, + "step": 3185 + }, + { + "epoch": 0.19579646017699115, + "grad_norm": 27.875, + "learning_rate": 1.9241020123450972e-05, + "loss": 0.569, + "step": 3186 + }, + { + "epoch": 0.19585791543756145, + "grad_norm": 16.375, + "learning_rate": 1.924013057940367e-05, + "loss": 0.4874, + "step": 3187 + }, + { + "epoch": 0.19591937069813176, + "grad_norm": 21.75, + "learning_rate": 1.9239240534964417e-05, + "loss": 0.4432, + "step": 3188 + }, + { + "epoch": 0.19598082595870206, + "grad_norm": 12.25, + "learning_rate": 1.923834999018141e-05, + "loss": 0.5229, + "step": 3189 + }, + { + "epoch": 0.19604228121927236, + "grad_norm": 45.25, + "learning_rate": 1.923745894510288e-05, + "loss": 0.493, + "step": 3190 + }, + { + "epoch": 0.19610373647984267, + "grad_norm": 8.5, + "learning_rate": 1.9236567399777086e-05, + "loss": 0.3939, + "step": 3191 + }, + { + "epoch": 0.19616519174041297, + "grad_norm": 8.5, + "learning_rate": 1.9235675354252293e-05, + "loss": 0.3573, + "step": 3192 + }, + { + "epoch": 0.19622664700098327, + "grad_norm": 49.75, + "learning_rate": 1.9234782808576823e-05, + "loss": 0.442, + "step": 3193 + }, + { + "epoch": 0.19628810226155358, + "grad_norm": 48.5, + "learning_rate": 1.9233889762799006e-05, + "loss": 0.4996, + "step": 3194 + }, + { + "epoch": 0.1963495575221239, + "grad_norm": 6.21875, + "learning_rate": 1.9232996216967204e-05, + "loss": 0.2889, + "step": 3195 + }, + { + "epoch": 0.1964110127826942, + "grad_norm": 37.5, + "learning_rate": 1.923210217112981e-05, + "loss": 0.3482, + "step": 3196 + }, + { + "epoch": 0.19647246804326451, + "grad_norm": 13.5625, + "learning_rate": 1.9231207625335235e-05, + "loss": 0.4698, + "step": 3197 + }, + { + "epoch": 0.19653392330383482, + "grad_norm": 4.375, + "learning_rate": 1.9230312579631928e-05, + "loss": 0.2884, + "step": 3198 + }, + { + "epoch": 0.19659537856440512, + "grad_norm": 12.1875, + "learning_rate": 1.9229417034068352e-05, + "loss": 0.226, + "step": 3199 + }, + { + "epoch": 0.19665683382497542, + "grad_norm": 5.34375, + "learning_rate": 1.922852098869301e-05, + "loss": 0.3132, + "step": 3200 + }, + { + "epoch": 0.19671828908554573, + "grad_norm": 24.625, + "learning_rate": 1.9227624443554425e-05, + "loss": 0.4517, + "step": 3201 + }, + { + "epoch": 0.19677974434611603, + "grad_norm": 34.0, + "learning_rate": 1.922672739870115e-05, + "loss": 0.4096, + "step": 3202 + }, + { + "epoch": 0.19684119960668633, + "grad_norm": 10.3125, + "learning_rate": 1.9225829854181764e-05, + "loss": 0.353, + "step": 3203 + }, + { + "epoch": 0.19690265486725664, + "grad_norm": 6.8125, + "learning_rate": 1.922493181004487e-05, + "loss": 0.2855, + "step": 3204 + }, + { + "epoch": 0.19696411012782694, + "grad_norm": 28.875, + "learning_rate": 1.9224033266339103e-05, + "loss": 0.3964, + "step": 3205 + }, + { + "epoch": 0.19702556538839724, + "grad_norm": 11.5, + "learning_rate": 1.9223134223113122e-05, + "loss": 0.3643, + "step": 3206 + }, + { + "epoch": 0.19708702064896755, + "grad_norm": 3.71875, + "learning_rate": 1.9222234680415614e-05, + "loss": 0.2807, + "step": 3207 + }, + { + "epoch": 0.19714847590953785, + "grad_norm": 10.25, + "learning_rate": 1.9221334638295296e-05, + "loss": 0.36, + "step": 3208 + }, + { + "epoch": 0.19720993117010815, + "grad_norm": 43.75, + "learning_rate": 1.9220434096800903e-05, + "loss": 0.73, + "step": 3209 + }, + { + "epoch": 0.19727138643067846, + "grad_norm": 51.5, + "learning_rate": 1.921953305598121e-05, + "loss": 0.4778, + "step": 3210 + }, + { + "epoch": 0.19733284169124876, + "grad_norm": 34.0, + "learning_rate": 1.9218631515885007e-05, + "loss": 0.564, + "step": 3211 + }, + { + "epoch": 0.19739429695181906, + "grad_norm": 14.125, + "learning_rate": 1.921772947656112e-05, + "loss": 0.4783, + "step": 3212 + }, + { + "epoch": 0.19745575221238937, + "grad_norm": 9.75, + "learning_rate": 1.9216826938058394e-05, + "loss": 0.4605, + "step": 3213 + }, + { + "epoch": 0.19751720747295967, + "grad_norm": 18.875, + "learning_rate": 1.921592390042571e-05, + "loss": 0.4696, + "step": 3214 + }, + { + "epoch": 0.19757866273353, + "grad_norm": 55.75, + "learning_rate": 1.9215020363711966e-05, + "loss": 0.6129, + "step": 3215 + }, + { + "epoch": 0.1976401179941003, + "grad_norm": 25.25, + "learning_rate": 1.9214116327966095e-05, + "loss": 0.4371, + "step": 3216 + }, + { + "epoch": 0.1977015732546706, + "grad_norm": 14.125, + "learning_rate": 1.9213211793237056e-05, + "loss": 0.2968, + "step": 3217 + }, + { + "epoch": 0.1977630285152409, + "grad_norm": 16.875, + "learning_rate": 1.921230675957383e-05, + "loss": 0.4517, + "step": 3218 + }, + { + "epoch": 0.19782448377581122, + "grad_norm": 13.75, + "learning_rate": 1.9211401227025433e-05, + "loss": 0.2866, + "step": 3219 + }, + { + "epoch": 0.19788593903638152, + "grad_norm": 17.75, + "learning_rate": 1.9210495195640895e-05, + "loss": 0.5418, + "step": 3220 + }, + { + "epoch": 0.19794739429695182, + "grad_norm": 10.6875, + "learning_rate": 1.9209588665469294e-05, + "loss": 0.4282, + "step": 3221 + }, + { + "epoch": 0.19800884955752213, + "grad_norm": 26.375, + "learning_rate": 1.9208681636559713e-05, + "loss": 0.3204, + "step": 3222 + }, + { + "epoch": 0.19807030481809243, + "grad_norm": 31.0, + "learning_rate": 1.9207774108961273e-05, + "loss": 0.4528, + "step": 3223 + }, + { + "epoch": 0.19813176007866273, + "grad_norm": 5.53125, + "learning_rate": 1.9206866082723122e-05, + "loss": 0.3949, + "step": 3224 + }, + { + "epoch": 0.19819321533923304, + "grad_norm": 14.875, + "learning_rate": 1.9205957557894433e-05, + "loss": 0.352, + "step": 3225 + }, + { + "epoch": 0.19825467059980334, + "grad_norm": 6.53125, + "learning_rate": 1.9205048534524405e-05, + "loss": 0.2267, + "step": 3226 + }, + { + "epoch": 0.19831612586037364, + "grad_norm": 8.125, + "learning_rate": 1.9204139012662266e-05, + "loss": 0.3691, + "step": 3227 + }, + { + "epoch": 0.19837758112094395, + "grad_norm": 20.5, + "learning_rate": 1.9203228992357275e-05, + "loss": 0.3678, + "step": 3228 + }, + { + "epoch": 0.19843903638151425, + "grad_norm": 18.625, + "learning_rate": 1.9202318473658707e-05, + "loss": 0.39, + "step": 3229 + }, + { + "epoch": 0.19850049164208455, + "grad_norm": 7.4375, + "learning_rate": 1.920140745661587e-05, + "loss": 0.2961, + "step": 3230 + }, + { + "epoch": 0.19856194690265486, + "grad_norm": 24.75, + "learning_rate": 1.9200495941278105e-05, + "loss": 0.3088, + "step": 3231 + }, + { + "epoch": 0.19862340216322516, + "grad_norm": 8.75, + "learning_rate": 1.9199583927694775e-05, + "loss": 0.2132, + "step": 3232 + }, + { + "epoch": 0.19868485742379546, + "grad_norm": 41.25, + "learning_rate": 1.919867141591526e-05, + "loss": 0.4536, + "step": 3233 + }, + { + "epoch": 0.1987463126843658, + "grad_norm": 25.625, + "learning_rate": 1.9197758405988986e-05, + "loss": 0.597, + "step": 3234 + }, + { + "epoch": 0.1988077679449361, + "grad_norm": 21.75, + "learning_rate": 1.9196844897965393e-05, + "loss": 0.4037, + "step": 3235 + }, + { + "epoch": 0.1988692232055064, + "grad_norm": 25.875, + "learning_rate": 1.9195930891893946e-05, + "loss": 0.3735, + "step": 3236 + }, + { + "epoch": 0.1989306784660767, + "grad_norm": 9.8125, + "learning_rate": 1.9195016387824154e-05, + "loss": 0.4605, + "step": 3237 + }, + { + "epoch": 0.198992133726647, + "grad_norm": 30.5, + "learning_rate": 1.919410138580553e-05, + "loss": 0.3089, + "step": 3238 + }, + { + "epoch": 0.1990535889872173, + "grad_norm": 13.8125, + "learning_rate": 1.9193185885887633e-05, + "loss": 0.3694, + "step": 3239 + }, + { + "epoch": 0.19911504424778761, + "grad_norm": 8.375, + "learning_rate": 1.9192269888120036e-05, + "loss": 0.3337, + "step": 3240 + }, + { + "epoch": 0.19917649950835792, + "grad_norm": 21.625, + "learning_rate": 1.9191353392552346e-05, + "loss": 0.6298, + "step": 3241 + }, + { + "epoch": 0.19923795476892822, + "grad_norm": 49.0, + "learning_rate": 1.9190436399234194e-05, + "loss": 0.826, + "step": 3242 + }, + { + "epoch": 0.19929941002949852, + "grad_norm": 40.75, + "learning_rate": 1.9189518908215244e-05, + "loss": 0.8753, + "step": 3243 + }, + { + "epoch": 0.19936086529006883, + "grad_norm": 43.0, + "learning_rate": 1.9188600919545176e-05, + "loss": 0.5461, + "step": 3244 + }, + { + "epoch": 0.19942232055063913, + "grad_norm": 14.5, + "learning_rate": 1.9187682433273704e-05, + "loss": 0.5653, + "step": 3245 + }, + { + "epoch": 0.19948377581120944, + "grad_norm": 38.25, + "learning_rate": 1.9186763449450572e-05, + "loss": 0.5067, + "step": 3246 + }, + { + "epoch": 0.19954523107177974, + "grad_norm": 19.75, + "learning_rate": 1.9185843968125543e-05, + "loss": 0.515, + "step": 3247 + }, + { + "epoch": 0.19960668633235004, + "grad_norm": 14.1875, + "learning_rate": 1.918492398934841e-05, + "loss": 0.6222, + "step": 3248 + }, + { + "epoch": 0.19966814159292035, + "grad_norm": 35.0, + "learning_rate": 1.9184003513168995e-05, + "loss": 0.58, + "step": 3249 + }, + { + "epoch": 0.19972959685349065, + "grad_norm": 29.625, + "learning_rate": 1.918308253963715e-05, + "loss": 0.4658, + "step": 3250 + }, + { + "epoch": 0.19979105211406095, + "grad_norm": 25.875, + "learning_rate": 1.9182161068802742e-05, + "loss": 0.4651, + "step": 3251 + }, + { + "epoch": 0.19985250737463126, + "grad_norm": 23.125, + "learning_rate": 1.9181239100715675e-05, + "loss": 0.4433, + "step": 3252 + }, + { + "epoch": 0.1999139626352016, + "grad_norm": 32.5, + "learning_rate": 1.9180316635425883e-05, + "loss": 0.3804, + "step": 3253 + }, + { + "epoch": 0.1999754178957719, + "grad_norm": 11.3125, + "learning_rate": 1.9179393672983315e-05, + "loss": 0.3226, + "step": 3254 + }, + { + "epoch": 0.2000368731563422, + "grad_norm": 21.625, + "learning_rate": 1.9178470213437955e-05, + "loss": 0.3348, + "step": 3255 + }, + { + "epoch": 0.2000983284169125, + "grad_norm": 10.5, + "learning_rate": 1.9177546256839814e-05, + "loss": 0.4113, + "step": 3256 + }, + { + "epoch": 0.2001597836774828, + "grad_norm": 15.0625, + "learning_rate": 1.9176621803238924e-05, + "loss": 0.5429, + "step": 3257 + }, + { + "epoch": 0.2002212389380531, + "grad_norm": 18.875, + "learning_rate": 1.9175696852685353e-05, + "loss": 0.5471, + "step": 3258 + }, + { + "epoch": 0.2002826941986234, + "grad_norm": 25.875, + "learning_rate": 1.9174771405229187e-05, + "loss": 0.5805, + "step": 3259 + }, + { + "epoch": 0.2003441494591937, + "grad_norm": 27.0, + "learning_rate": 1.9173845460920546e-05, + "loss": 0.5394, + "step": 3260 + }, + { + "epoch": 0.200405604719764, + "grad_norm": 14.5, + "learning_rate": 1.9172919019809572e-05, + "loss": 0.4442, + "step": 3261 + }, + { + "epoch": 0.20046705998033432, + "grad_norm": 30.625, + "learning_rate": 1.9171992081946436e-05, + "loss": 0.3667, + "step": 3262 + }, + { + "epoch": 0.20052851524090462, + "grad_norm": 14.5625, + "learning_rate": 1.9171064647381334e-05, + "loss": 0.44, + "step": 3263 + }, + { + "epoch": 0.20058997050147492, + "grad_norm": 7.875, + "learning_rate": 1.9170136716164497e-05, + "loss": 0.351, + "step": 3264 + }, + { + "epoch": 0.20065142576204523, + "grad_norm": 48.75, + "learning_rate": 1.9169208288346168e-05, + "loss": 0.5977, + "step": 3265 + }, + { + "epoch": 0.20071288102261553, + "grad_norm": 16.625, + "learning_rate": 1.9168279363976627e-05, + "loss": 0.5756, + "step": 3266 + }, + { + "epoch": 0.20077433628318583, + "grad_norm": 12.9375, + "learning_rate": 1.916734994310618e-05, + "loss": 0.5098, + "step": 3267 + }, + { + "epoch": 0.20083579154375614, + "grad_norm": 33.25, + "learning_rate": 1.9166420025785165e-05, + "loss": 0.4842, + "step": 3268 + }, + { + "epoch": 0.20089724680432644, + "grad_norm": 17.625, + "learning_rate": 1.9165489612063932e-05, + "loss": 0.5166, + "step": 3269 + }, + { + "epoch": 0.20095870206489674, + "grad_norm": 19.125, + "learning_rate": 1.9164558701992875e-05, + "loss": 0.4537, + "step": 3270 + }, + { + "epoch": 0.20102015732546705, + "grad_norm": 38.25, + "learning_rate": 1.9163627295622397e-05, + "loss": 0.5321, + "step": 3271 + }, + { + "epoch": 0.20108161258603738, + "grad_norm": 13.25, + "learning_rate": 1.9162695393002947e-05, + "loss": 0.4797, + "step": 3272 + }, + { + "epoch": 0.20114306784660768, + "grad_norm": 20.125, + "learning_rate": 1.9161762994184986e-05, + "loss": 0.5974, + "step": 3273 + }, + { + "epoch": 0.20120452310717798, + "grad_norm": 9.75, + "learning_rate": 1.9160830099219007e-05, + "loss": 0.5726, + "step": 3274 + }, + { + "epoch": 0.2012659783677483, + "grad_norm": 27.0, + "learning_rate": 1.9159896708155534e-05, + "loss": 0.6421, + "step": 3275 + }, + { + "epoch": 0.2013274336283186, + "grad_norm": 33.25, + "learning_rate": 1.9158962821045113e-05, + "loss": 0.6594, + "step": 3276 + }, + { + "epoch": 0.2013888888888889, + "grad_norm": 14.1875, + "learning_rate": 1.9158028437938316e-05, + "loss": 0.4718, + "step": 3277 + }, + { + "epoch": 0.2014503441494592, + "grad_norm": 21.25, + "learning_rate": 1.9157093558885743e-05, + "loss": 0.5557, + "step": 3278 + }, + { + "epoch": 0.2015117994100295, + "grad_norm": 20.5, + "learning_rate": 1.9156158183938026e-05, + "loss": 0.5225, + "step": 3279 + }, + { + "epoch": 0.2015732546705998, + "grad_norm": 8.8125, + "learning_rate": 1.9155222313145817e-05, + "loss": 0.4436, + "step": 3280 + }, + { + "epoch": 0.2016347099311701, + "grad_norm": 10.75, + "learning_rate": 1.9154285946559792e-05, + "loss": 0.5134, + "step": 3281 + }, + { + "epoch": 0.2016961651917404, + "grad_norm": 44.75, + "learning_rate": 1.9153349084230666e-05, + "loss": 0.6567, + "step": 3282 + }, + { + "epoch": 0.20175762045231072, + "grad_norm": 21.5, + "learning_rate": 1.9152411726209176e-05, + "loss": 0.589, + "step": 3283 + }, + { + "epoch": 0.20181907571288102, + "grad_norm": 23.375, + "learning_rate": 1.9151473872546082e-05, + "loss": 0.4641, + "step": 3284 + }, + { + "epoch": 0.20188053097345132, + "grad_norm": 24.875, + "learning_rate": 1.9150535523292165e-05, + "loss": 0.4986, + "step": 3285 + }, + { + "epoch": 0.20194198623402163, + "grad_norm": 24.625, + "learning_rate": 1.914959667849825e-05, + "loss": 0.64, + "step": 3286 + }, + { + "epoch": 0.20200344149459193, + "grad_norm": 41.25, + "learning_rate": 1.9148657338215175e-05, + "loss": 0.6606, + "step": 3287 + }, + { + "epoch": 0.20206489675516223, + "grad_norm": 13.0625, + "learning_rate": 1.914771750249381e-05, + "loss": 0.3861, + "step": 3288 + }, + { + "epoch": 0.20212635201573254, + "grad_norm": 14.3125, + "learning_rate": 1.914677717138505e-05, + "loss": 0.4235, + "step": 3289 + }, + { + "epoch": 0.20218780727630284, + "grad_norm": 13.5, + "learning_rate": 1.9145836344939823e-05, + "loss": 0.3992, + "step": 3290 + }, + { + "epoch": 0.20224926253687317, + "grad_norm": 12.8125, + "learning_rate": 1.9144895023209072e-05, + "loss": 0.3946, + "step": 3291 + }, + { + "epoch": 0.20231071779744347, + "grad_norm": 36.5, + "learning_rate": 1.9143953206243778e-05, + "loss": 0.468, + "step": 3292 + }, + { + "epoch": 0.20237217305801378, + "grad_norm": 16.125, + "learning_rate": 1.9143010894094938e-05, + "loss": 0.394, + "step": 3293 + }, + { + "epoch": 0.20243362831858408, + "grad_norm": 20.75, + "learning_rate": 1.9142068086813593e-05, + "loss": 0.3944, + "step": 3294 + }, + { + "epoch": 0.20249508357915438, + "grad_norm": 9.5, + "learning_rate": 1.914112478445079e-05, + "loss": 0.3043, + "step": 3295 + }, + { + "epoch": 0.2025565388397247, + "grad_norm": 9.9375, + "learning_rate": 1.914018098705762e-05, + "loss": 0.3684, + "step": 3296 + }, + { + "epoch": 0.202617994100295, + "grad_norm": 45.75, + "learning_rate": 1.9139236694685184e-05, + "loss": 0.7134, + "step": 3297 + }, + { + "epoch": 0.2026794493608653, + "grad_norm": 50.5, + "learning_rate": 1.9138291907384632e-05, + "loss": 0.7402, + "step": 3298 + }, + { + "epoch": 0.2027409046214356, + "grad_norm": 33.25, + "learning_rate": 1.913734662520712e-05, + "loss": 0.6951, + "step": 3299 + }, + { + "epoch": 0.2028023598820059, + "grad_norm": 18.5, + "learning_rate": 1.9136400848203837e-05, + "loss": 0.6361, + "step": 3300 + }, + { + "epoch": 0.2028638151425762, + "grad_norm": 42.25, + "learning_rate": 1.913545457642601e-05, + "loss": 0.5913, + "step": 3301 + }, + { + "epoch": 0.2029252704031465, + "grad_norm": 29.5, + "learning_rate": 1.9134507809924878e-05, + "loss": 0.6491, + "step": 3302 + }, + { + "epoch": 0.2029867256637168, + "grad_norm": 22.0, + "learning_rate": 1.913356054875171e-05, + "loss": 0.5775, + "step": 3303 + }, + { + "epoch": 0.2030481809242871, + "grad_norm": 24.875, + "learning_rate": 1.9132612792957808e-05, + "loss": 0.5075, + "step": 3304 + }, + { + "epoch": 0.20310963618485742, + "grad_norm": 45.75, + "learning_rate": 1.9131664542594496e-05, + "loss": 0.673, + "step": 3305 + }, + { + "epoch": 0.20317109144542772, + "grad_norm": 30.625, + "learning_rate": 1.9130715797713123e-05, + "loss": 0.6118, + "step": 3306 + }, + { + "epoch": 0.20323254670599802, + "grad_norm": 25.0, + "learning_rate": 1.9129766558365076e-05, + "loss": 0.6173, + "step": 3307 + }, + { + "epoch": 0.20329400196656833, + "grad_norm": 16.375, + "learning_rate": 1.912881682460175e-05, + "loss": 0.4625, + "step": 3308 + }, + { + "epoch": 0.20335545722713863, + "grad_norm": 10.25, + "learning_rate": 1.912786659647458e-05, + "loss": 0.4507, + "step": 3309 + }, + { + "epoch": 0.20341691248770893, + "grad_norm": 42.75, + "learning_rate": 1.912691587403503e-05, + "loss": 0.5495, + "step": 3310 + }, + { + "epoch": 0.20347836774827927, + "grad_norm": 17.75, + "learning_rate": 1.912596465733458e-05, + "loss": 0.4086, + "step": 3311 + }, + { + "epoch": 0.20353982300884957, + "grad_norm": 6.1875, + "learning_rate": 1.9125012946424742e-05, + "loss": 0.4421, + "step": 3312 + }, + { + "epoch": 0.20360127826941987, + "grad_norm": 16.125, + "learning_rate": 1.9124060741357065e-05, + "loss": 0.4439, + "step": 3313 + }, + { + "epoch": 0.20366273352999018, + "grad_norm": 24.125, + "learning_rate": 1.91231080421831e-05, + "loss": 0.4542, + "step": 3314 + }, + { + "epoch": 0.20372418879056048, + "grad_norm": 17.0, + "learning_rate": 1.912215484895445e-05, + "loss": 0.5242, + "step": 3315 + }, + { + "epoch": 0.20378564405113078, + "grad_norm": 11.5625, + "learning_rate": 1.9121201161722732e-05, + "loss": 0.4114, + "step": 3316 + }, + { + "epoch": 0.20384709931170109, + "grad_norm": 17.75, + "learning_rate": 1.912024698053959e-05, + "loss": 0.2947, + "step": 3317 + }, + { + "epoch": 0.2039085545722714, + "grad_norm": 40.0, + "learning_rate": 1.91192923054567e-05, + "loss": 0.5266, + "step": 3318 + }, + { + "epoch": 0.2039700098328417, + "grad_norm": 22.75, + "learning_rate": 1.911833713652576e-05, + "loss": 0.4076, + "step": 3319 + }, + { + "epoch": 0.204031465093412, + "grad_norm": 35.5, + "learning_rate": 1.9117381473798496e-05, + "loss": 0.4072, + "step": 3320 + }, + { + "epoch": 0.2040929203539823, + "grad_norm": 24.875, + "learning_rate": 1.911642531732666e-05, + "loss": 0.404, + "step": 3321 + }, + { + "epoch": 0.2041543756145526, + "grad_norm": 5.15625, + "learning_rate": 1.9115468667162038e-05, + "loss": 0.4201, + "step": 3322 + }, + { + "epoch": 0.2042158308751229, + "grad_norm": 17.875, + "learning_rate": 1.9114511523356428e-05, + "loss": 0.377, + "step": 3323 + }, + { + "epoch": 0.2042772861356932, + "grad_norm": 13.25, + "learning_rate": 1.9113553885961674e-05, + "loss": 0.4704, + "step": 3324 + }, + { + "epoch": 0.2043387413962635, + "grad_norm": 8.6875, + "learning_rate": 1.9112595755029625e-05, + "loss": 0.4726, + "step": 3325 + }, + { + "epoch": 0.20440019665683382, + "grad_norm": 18.875, + "learning_rate": 1.9111637130612172e-05, + "loss": 0.4006, + "step": 3326 + }, + { + "epoch": 0.20446165191740412, + "grad_norm": 3.53125, + "learning_rate": 1.911067801276123e-05, + "loss": 0.4242, + "step": 3327 + }, + { + "epoch": 0.20452310717797442, + "grad_norm": 12.3125, + "learning_rate": 1.9109718401528742e-05, + "loss": 0.323, + "step": 3328 + }, + { + "epoch": 0.20458456243854473, + "grad_norm": 10.9375, + "learning_rate": 1.9108758296966666e-05, + "loss": 0.435, + "step": 3329 + }, + { + "epoch": 0.20464601769911506, + "grad_norm": 11.875, + "learning_rate": 1.9107797699127004e-05, + "loss": 0.4746, + "step": 3330 + }, + { + "epoch": 0.20470747295968536, + "grad_norm": 17.0, + "learning_rate": 1.910683660806177e-05, + "loss": 0.4663, + "step": 3331 + }, + { + "epoch": 0.20476892822025566, + "grad_norm": 23.625, + "learning_rate": 1.9105875023823023e-05, + "loss": 0.3944, + "step": 3332 + }, + { + "epoch": 0.20483038348082597, + "grad_norm": 15.1875, + "learning_rate": 1.910491294646282e-05, + "loss": 0.3831, + "step": 3333 + }, + { + "epoch": 0.20489183874139627, + "grad_norm": 31.875, + "learning_rate": 1.9103950376033276e-05, + "loss": 0.4428, + "step": 3334 + }, + { + "epoch": 0.20495329400196657, + "grad_norm": 19.125, + "learning_rate": 1.910298731258651e-05, + "loss": 0.3606, + "step": 3335 + }, + { + "epoch": 0.20501474926253688, + "grad_norm": 3.921875, + "learning_rate": 1.9102023756174675e-05, + "loss": 0.3203, + "step": 3336 + }, + { + "epoch": 0.20507620452310718, + "grad_norm": 21.5, + "learning_rate": 1.9101059706849957e-05, + "loss": 0.5632, + "step": 3337 + }, + { + "epoch": 0.20513765978367748, + "grad_norm": 21.375, + "learning_rate": 1.9100095164664564e-05, + "loss": 0.515, + "step": 3338 + }, + { + "epoch": 0.2051991150442478, + "grad_norm": 36.0, + "learning_rate": 1.9099130129670726e-05, + "loss": 0.6015, + "step": 3339 + }, + { + "epoch": 0.2052605703048181, + "grad_norm": 9.375, + "learning_rate": 1.9098164601920702e-05, + "loss": 0.5169, + "step": 3340 + }, + { + "epoch": 0.2053220255653884, + "grad_norm": 36.75, + "learning_rate": 1.9097198581466785e-05, + "loss": 0.4809, + "step": 3341 + }, + { + "epoch": 0.2053834808259587, + "grad_norm": 35.0, + "learning_rate": 1.9096232068361288e-05, + "loss": 0.4912, + "step": 3342 + }, + { + "epoch": 0.205444936086529, + "grad_norm": 24.5, + "learning_rate": 1.9095265062656546e-05, + "loss": 0.328, + "step": 3343 + }, + { + "epoch": 0.2055063913470993, + "grad_norm": 14.375, + "learning_rate": 1.9094297564404934e-05, + "loss": 0.323, + "step": 3344 + }, + { + "epoch": 0.2055678466076696, + "grad_norm": 40.5, + "learning_rate": 1.909332957365884e-05, + "loss": 0.4303, + "step": 3345 + }, + { + "epoch": 0.2056293018682399, + "grad_norm": 24.625, + "learning_rate": 1.9092361090470688e-05, + "loss": 0.5611, + "step": 3346 + }, + { + "epoch": 0.20569075712881021, + "grad_norm": 20.75, + "learning_rate": 1.9091392114892928e-05, + "loss": 0.3901, + "step": 3347 + }, + { + "epoch": 0.20575221238938052, + "grad_norm": 25.5, + "learning_rate": 1.9090422646978025e-05, + "loss": 0.4598, + "step": 3348 + }, + { + "epoch": 0.20581366764995085, + "grad_norm": 20.875, + "learning_rate": 1.908945268677849e-05, + "loss": 0.4094, + "step": 3349 + }, + { + "epoch": 0.20587512291052115, + "grad_norm": 19.0, + "learning_rate": 1.9088482234346843e-05, + "loss": 0.4999, + "step": 3350 + }, + { + "epoch": 0.20593657817109146, + "grad_norm": 23.125, + "learning_rate": 1.9087511289735646e-05, + "loss": 0.3852, + "step": 3351 + }, + { + "epoch": 0.20599803343166176, + "grad_norm": 24.25, + "learning_rate": 1.908653985299747e-05, + "loss": 0.3966, + "step": 3352 + }, + { + "epoch": 0.20605948869223206, + "grad_norm": 62.75, + "learning_rate": 1.9085567924184932e-05, + "loss": 0.5909, + "step": 3353 + }, + { + "epoch": 0.20612094395280237, + "grad_norm": 25.0, + "learning_rate": 1.9084595503350657e-05, + "loss": 0.7012, + "step": 3354 + }, + { + "epoch": 0.20618239921337267, + "grad_norm": 41.0, + "learning_rate": 1.9083622590547313e-05, + "loss": 0.8123, + "step": 3355 + }, + { + "epoch": 0.20624385447394297, + "grad_norm": 40.75, + "learning_rate": 1.9082649185827583e-05, + "loss": 0.7931, + "step": 3356 + }, + { + "epoch": 0.20630530973451328, + "grad_norm": 29.75, + "learning_rate": 1.9081675289244183e-05, + "loss": 0.7985, + "step": 3357 + }, + { + "epoch": 0.20636676499508358, + "grad_norm": 16.625, + "learning_rate": 1.9080700900849855e-05, + "loss": 0.4981, + "step": 3358 + }, + { + "epoch": 0.20642822025565388, + "grad_norm": 28.125, + "learning_rate": 1.907972602069736e-05, + "loss": 0.5605, + "step": 3359 + }, + { + "epoch": 0.20648967551622419, + "grad_norm": 19.125, + "learning_rate": 1.9078750648839497e-05, + "loss": 0.4373, + "step": 3360 + }, + { + "epoch": 0.2065511307767945, + "grad_norm": 20.0, + "learning_rate": 1.907777478532909e-05, + "loss": 0.357, + "step": 3361 + }, + { + "epoch": 0.2066125860373648, + "grad_norm": 13.875, + "learning_rate": 1.9076798430218975e-05, + "loss": 0.3645, + "step": 3362 + }, + { + "epoch": 0.2066740412979351, + "grad_norm": 34.75, + "learning_rate": 1.9075821583562036e-05, + "loss": 0.323, + "step": 3363 + }, + { + "epoch": 0.2067354965585054, + "grad_norm": 14.25, + "learning_rate": 1.907484424541117e-05, + "loss": 0.4351, + "step": 3364 + }, + { + "epoch": 0.2067969518190757, + "grad_norm": 28.25, + "learning_rate": 1.9073866415819303e-05, + "loss": 0.43, + "step": 3365 + }, + { + "epoch": 0.206858407079646, + "grad_norm": 21.625, + "learning_rate": 1.907288809483939e-05, + "loss": 0.4072, + "step": 3366 + }, + { + "epoch": 0.2069198623402163, + "grad_norm": 13.9375, + "learning_rate": 1.907190928252441e-05, + "loss": 0.3202, + "step": 3367 + }, + { + "epoch": 0.20698131760078664, + "grad_norm": 11.5625, + "learning_rate": 1.907092997892737e-05, + "loss": 0.3836, + "step": 3368 + }, + { + "epoch": 0.20704277286135694, + "grad_norm": 18.25, + "learning_rate": 1.9069950184101305e-05, + "loss": 0.3967, + "step": 3369 + }, + { + "epoch": 0.20710422812192725, + "grad_norm": 29.125, + "learning_rate": 1.906896989809927e-05, + "loss": 0.5302, + "step": 3370 + }, + { + "epoch": 0.20716568338249755, + "grad_norm": 24.625, + "learning_rate": 1.906798912097436e-05, + "loss": 0.6367, + "step": 3371 + }, + { + "epoch": 0.20722713864306785, + "grad_norm": 13.5625, + "learning_rate": 1.9067007852779684e-05, + "loss": 0.4452, + "step": 3372 + }, + { + "epoch": 0.20728859390363816, + "grad_norm": 31.375, + "learning_rate": 1.906602609356838e-05, + "loss": 0.4258, + "step": 3373 + }, + { + "epoch": 0.20735004916420846, + "grad_norm": 8.25, + "learning_rate": 1.9065043843393615e-05, + "loss": 0.3305, + "step": 3374 + }, + { + "epoch": 0.20741150442477876, + "grad_norm": 10.4375, + "learning_rate": 1.906406110230858e-05, + "loss": 0.3517, + "step": 3375 + }, + { + "epoch": 0.20747295968534907, + "grad_norm": 10.1875, + "learning_rate": 1.9063077870366504e-05, + "loss": 0.3475, + "step": 3376 + }, + { + "epoch": 0.20753441494591937, + "grad_norm": 9.4375, + "learning_rate": 1.906209414762062e-05, + "loss": 0.7558, + "step": 3377 + }, + { + "epoch": 0.20759587020648967, + "grad_norm": 36.0, + "learning_rate": 1.9061109934124208e-05, + "loss": 0.6361, + "step": 3378 + }, + { + "epoch": 0.20765732546705998, + "grad_norm": 48.0, + "learning_rate": 1.9060125229930572e-05, + "loss": 0.5517, + "step": 3379 + }, + { + "epoch": 0.20771878072763028, + "grad_norm": 18.0, + "learning_rate": 1.9059140035093024e-05, + "loss": 0.6132, + "step": 3380 + }, + { + "epoch": 0.20778023598820058, + "grad_norm": 12.125, + "learning_rate": 1.9058154349664932e-05, + "loss": 0.5487, + "step": 3381 + }, + { + "epoch": 0.2078416912487709, + "grad_norm": 40.0, + "learning_rate": 1.9057168173699664e-05, + "loss": 0.4196, + "step": 3382 + }, + { + "epoch": 0.2079031465093412, + "grad_norm": 40.0, + "learning_rate": 1.905618150725063e-05, + "loss": 0.6362, + "step": 3383 + }, + { + "epoch": 0.2079646017699115, + "grad_norm": 38.75, + "learning_rate": 1.9055194350371262e-05, + "loss": 0.4734, + "step": 3384 + }, + { + "epoch": 0.2080260570304818, + "grad_norm": 16.625, + "learning_rate": 1.905420670311502e-05, + "loss": 0.5246, + "step": 3385 + }, + { + "epoch": 0.2080875122910521, + "grad_norm": 49.25, + "learning_rate": 1.9053218565535383e-05, + "loss": 0.5238, + "step": 3386 + }, + { + "epoch": 0.20814896755162243, + "grad_norm": 48.5, + "learning_rate": 1.9052229937685872e-05, + "loss": 0.4325, + "step": 3387 + }, + { + "epoch": 0.20821042281219274, + "grad_norm": 17.25, + "learning_rate": 1.9051240819620018e-05, + "loss": 0.3485, + "step": 3388 + }, + { + "epoch": 0.20827187807276304, + "grad_norm": 8.625, + "learning_rate": 1.905025121139139e-05, + "loss": 0.5452, + "step": 3389 + }, + { + "epoch": 0.20833333333333334, + "grad_norm": 23.875, + "learning_rate": 1.9049261113053576e-05, + "loss": 0.4885, + "step": 3390 + }, + { + "epoch": 0.20839478859390365, + "grad_norm": 2.234375, + "learning_rate": 1.9048270524660197e-05, + "loss": 0.3394, + "step": 3391 + }, + { + "epoch": 0.20845624385447395, + "grad_norm": 5.09375, + "learning_rate": 1.9047279446264898e-05, + "loss": 0.4145, + "step": 3392 + }, + { + "epoch": 0.20851769911504425, + "grad_norm": 36.5, + "learning_rate": 1.9046287877921344e-05, + "loss": 0.6575, + "step": 3393 + }, + { + "epoch": 0.20857915437561456, + "grad_norm": 27.375, + "learning_rate": 1.904529581968324e-05, + "loss": 0.5768, + "step": 3394 + }, + { + "epoch": 0.20864060963618486, + "grad_norm": 33.0, + "learning_rate": 1.904430327160431e-05, + "loss": 0.7122, + "step": 3395 + }, + { + "epoch": 0.20870206489675516, + "grad_norm": 16.875, + "learning_rate": 1.90433102337383e-05, + "loss": 0.7786, + "step": 3396 + }, + { + "epoch": 0.20876352015732547, + "grad_norm": 36.75, + "learning_rate": 1.9042316706138987e-05, + "loss": 0.586, + "step": 3397 + }, + { + "epoch": 0.20882497541789577, + "grad_norm": 33.25, + "learning_rate": 1.904132268886018e-05, + "loss": 0.5464, + "step": 3398 + }, + { + "epoch": 0.20888643067846607, + "grad_norm": 25.5, + "learning_rate": 1.9040328181955706e-05, + "loss": 0.5645, + "step": 3399 + }, + { + "epoch": 0.20894788593903638, + "grad_norm": 15.0, + "learning_rate": 1.903933318547942e-05, + "loss": 0.4591, + "step": 3400 + }, + { + "epoch": 0.20900934119960668, + "grad_norm": 21.75, + "learning_rate": 1.9038337699485207e-05, + "loss": 0.5846, + "step": 3401 + }, + { + "epoch": 0.20907079646017698, + "grad_norm": 22.875, + "learning_rate": 1.9037341724026975e-05, + "loss": 0.5218, + "step": 3402 + }, + { + "epoch": 0.2091322517207473, + "grad_norm": 12.875, + "learning_rate": 1.9036345259158667e-05, + "loss": 0.3924, + "step": 3403 + }, + { + "epoch": 0.2091937069813176, + "grad_norm": 23.25, + "learning_rate": 1.9035348304934238e-05, + "loss": 0.5038, + "step": 3404 + }, + { + "epoch": 0.2092551622418879, + "grad_norm": 18.625, + "learning_rate": 1.903435086140768e-05, + "loss": 0.5567, + "step": 3405 + }, + { + "epoch": 0.20931661750245822, + "grad_norm": 30.625, + "learning_rate": 1.903335292863301e-05, + "loss": 0.531, + "step": 3406 + }, + { + "epoch": 0.20937807276302853, + "grad_norm": 24.625, + "learning_rate": 1.903235450666427e-05, + "loss": 0.4959, + "step": 3407 + }, + { + "epoch": 0.20943952802359883, + "grad_norm": 23.25, + "learning_rate": 1.9031355595555525e-05, + "loss": 0.6077, + "step": 3408 + }, + { + "epoch": 0.20950098328416913, + "grad_norm": 19.5, + "learning_rate": 1.9030356195360875e-05, + "loss": 0.706, + "step": 3409 + }, + { + "epoch": 0.20956243854473944, + "grad_norm": 35.75, + "learning_rate": 1.9029356306134435e-05, + "loss": 0.7165, + "step": 3410 + }, + { + "epoch": 0.20962389380530974, + "grad_norm": 16.125, + "learning_rate": 1.9028355927930363e-05, + "loss": 0.5179, + "step": 3411 + }, + { + "epoch": 0.20968534906588004, + "grad_norm": 16.625, + "learning_rate": 1.902735506080283e-05, + "loss": 0.5954, + "step": 3412 + }, + { + "epoch": 0.20974680432645035, + "grad_norm": 10.5625, + "learning_rate": 1.9026353704806032e-05, + "loss": 0.3825, + "step": 3413 + }, + { + "epoch": 0.20980825958702065, + "grad_norm": 23.125, + "learning_rate": 1.9025351859994203e-05, + "loss": 0.442, + "step": 3414 + }, + { + "epoch": 0.20986971484759095, + "grad_norm": 17.75, + "learning_rate": 1.9024349526421596e-05, + "loss": 0.5192, + "step": 3415 + }, + { + "epoch": 0.20993117010816126, + "grad_norm": 18.875, + "learning_rate": 1.9023346704142488e-05, + "loss": 0.3977, + "step": 3416 + }, + { + "epoch": 0.20999262536873156, + "grad_norm": 37.25, + "learning_rate": 1.902234339321119e-05, + "loss": 0.3841, + "step": 3417 + }, + { + "epoch": 0.21005408062930186, + "grad_norm": 12.75, + "learning_rate": 1.902133959368203e-05, + "loss": 0.3731, + "step": 3418 + }, + { + "epoch": 0.21011553588987217, + "grad_norm": 9.5, + "learning_rate": 1.9020335305609373e-05, + "loss": 0.3999, + "step": 3419 + }, + { + "epoch": 0.21017699115044247, + "grad_norm": 8.875, + "learning_rate": 1.9019330529047605e-05, + "loss": 0.3533, + "step": 3420 + }, + { + "epoch": 0.21023844641101277, + "grad_norm": 10.5, + "learning_rate": 1.901832526405114e-05, + "loss": 0.3358, + "step": 3421 + }, + { + "epoch": 0.21029990167158308, + "grad_norm": 16.375, + "learning_rate": 1.9017319510674413e-05, + "loss": 0.3219, + "step": 3422 + }, + { + "epoch": 0.21036135693215338, + "grad_norm": 10.3125, + "learning_rate": 1.9016313268971892e-05, + "loss": 0.3167, + "step": 3423 + }, + { + "epoch": 0.21042281219272368, + "grad_norm": 17.5, + "learning_rate": 1.901530653899807e-05, + "loss": 0.2909, + "step": 3424 + }, + { + "epoch": 0.210484267453294, + "grad_norm": 17.125, + "learning_rate": 1.9014299320807467e-05, + "loss": 0.4499, + "step": 3425 + }, + { + "epoch": 0.21054572271386432, + "grad_norm": 29.375, + "learning_rate": 1.9013291614454622e-05, + "loss": 0.6185, + "step": 3426 + }, + { + "epoch": 0.21060717797443462, + "grad_norm": 22.875, + "learning_rate": 1.9012283419994115e-05, + "loss": 0.4255, + "step": 3427 + }, + { + "epoch": 0.21066863323500493, + "grad_norm": 21.125, + "learning_rate": 1.9011274737480536e-05, + "loss": 0.404, + "step": 3428 + }, + { + "epoch": 0.21073008849557523, + "grad_norm": 13.9375, + "learning_rate": 1.9010265566968518e-05, + "loss": 0.4227, + "step": 3429 + }, + { + "epoch": 0.21079154375614553, + "grad_norm": 9.75, + "learning_rate": 1.9009255908512704e-05, + "loss": 0.2796, + "step": 3430 + }, + { + "epoch": 0.21085299901671584, + "grad_norm": 13.625, + "learning_rate": 1.9008245762167773e-05, + "loss": 0.2448, + "step": 3431 + }, + { + "epoch": 0.21091445427728614, + "grad_norm": 7.75, + "learning_rate": 1.900723512798843e-05, + "loss": 0.369, + "step": 3432 + }, + { + "epoch": 0.21097590953785644, + "grad_norm": 19.375, + "learning_rate": 1.9006224006029404e-05, + "loss": 0.4336, + "step": 3433 + }, + { + "epoch": 0.21103736479842675, + "grad_norm": 31.875, + "learning_rate": 1.9005212396345458e-05, + "loss": 0.3779, + "step": 3434 + }, + { + "epoch": 0.21109882005899705, + "grad_norm": 17.375, + "learning_rate": 1.900420029899136e-05, + "loss": 0.4318, + "step": 3435 + }, + { + "epoch": 0.21116027531956735, + "grad_norm": 11.3125, + "learning_rate": 1.9003187714021936e-05, + "loss": 0.4246, + "step": 3436 + }, + { + "epoch": 0.21122173058013766, + "grad_norm": 49.5, + "learning_rate": 1.9002174641492015e-05, + "loss": 0.446, + "step": 3437 + }, + { + "epoch": 0.21128318584070796, + "grad_norm": 38.5, + "learning_rate": 1.9001161081456455e-05, + "loss": 0.3657, + "step": 3438 + }, + { + "epoch": 0.21134464110127826, + "grad_norm": 60.75, + "learning_rate": 1.9000147033970148e-05, + "loss": 0.3347, + "step": 3439 + }, + { + "epoch": 0.21140609636184857, + "grad_norm": 35.5, + "learning_rate": 1.899913249908801e-05, + "loss": 0.3616, + "step": 3440 + }, + { + "epoch": 0.21146755162241887, + "grad_norm": 18.125, + "learning_rate": 1.8998117476864984e-05, + "loss": 0.5344, + "step": 3441 + }, + { + "epoch": 0.21152900688298917, + "grad_norm": 18.75, + "learning_rate": 1.899710196735603e-05, + "loss": 0.3985, + "step": 3442 + }, + { + "epoch": 0.21159046214355948, + "grad_norm": 36.5, + "learning_rate": 1.899608597061615e-05, + "loss": 0.4223, + "step": 3443 + }, + { + "epoch": 0.21165191740412978, + "grad_norm": 64.0, + "learning_rate": 1.899506948670036e-05, + "loss": 0.5576, + "step": 3444 + }, + { + "epoch": 0.2117133726647001, + "grad_norm": 23.375, + "learning_rate": 1.899405251566371e-05, + "loss": 0.5121, + "step": 3445 + }, + { + "epoch": 0.21177482792527041, + "grad_norm": 27.375, + "learning_rate": 1.8993035057561274e-05, + "loss": 0.4471, + "step": 3446 + }, + { + "epoch": 0.21183628318584072, + "grad_norm": 17.375, + "learning_rate": 1.899201711244815e-05, + "loss": 0.5354, + "step": 3447 + }, + { + "epoch": 0.21189773844641102, + "grad_norm": 27.375, + "learning_rate": 1.8990998680379458e-05, + "loss": 0.4154, + "step": 3448 + }, + { + "epoch": 0.21195919370698132, + "grad_norm": 65.5, + "learning_rate": 1.8989979761410356e-05, + "loss": 0.8404, + "step": 3449 + }, + { + "epoch": 0.21202064896755163, + "grad_norm": 50.0, + "learning_rate": 1.8988960355596027e-05, + "loss": 0.7976, + "step": 3450 + }, + { + "epoch": 0.21208210422812193, + "grad_norm": 25.125, + "learning_rate": 1.8987940462991673e-05, + "loss": 0.6242, + "step": 3451 + }, + { + "epoch": 0.21214355948869223, + "grad_norm": 52.0, + "learning_rate": 1.898692008365252e-05, + "loss": 0.436, + "step": 3452 + }, + { + "epoch": 0.21220501474926254, + "grad_norm": 27.125, + "learning_rate": 1.898589921763383e-05, + "loss": 0.502, + "step": 3453 + }, + { + "epoch": 0.21226647000983284, + "grad_norm": 31.375, + "learning_rate": 1.8984877864990888e-05, + "loss": 0.5196, + "step": 3454 + }, + { + "epoch": 0.21232792527040315, + "grad_norm": 17.375, + "learning_rate": 1.8983856025779007e-05, + "loss": 0.4961, + "step": 3455 + }, + { + "epoch": 0.21238938053097345, + "grad_norm": 9.0625, + "learning_rate": 1.8982833700053518e-05, + "loss": 0.3489, + "step": 3456 + }, + { + "epoch": 0.21245083579154375, + "grad_norm": 30.875, + "learning_rate": 1.8981810887869784e-05, + "loss": 0.2947, + "step": 3457 + }, + { + "epoch": 0.21251229105211406, + "grad_norm": 4.96875, + "learning_rate": 1.8980787589283204e-05, + "loss": 0.3005, + "step": 3458 + }, + { + "epoch": 0.21257374631268436, + "grad_norm": 23.875, + "learning_rate": 1.897976380434918e-05, + "loss": 0.3242, + "step": 3459 + }, + { + "epoch": 0.21263520157325466, + "grad_norm": 6.6875, + "learning_rate": 1.897873953312317e-05, + "loss": 0.2953, + "step": 3460 + }, + { + "epoch": 0.21269665683382497, + "grad_norm": 14.9375, + "learning_rate": 1.897771477566063e-05, + "loss": 0.3113, + "step": 3461 + }, + { + "epoch": 0.21275811209439527, + "grad_norm": 13.1875, + "learning_rate": 1.8976689532017055e-05, + "loss": 0.3601, + "step": 3462 + }, + { + "epoch": 0.21281956735496557, + "grad_norm": 41.0, + "learning_rate": 1.8975663802247978e-05, + "loss": 0.2737, + "step": 3463 + }, + { + "epoch": 0.2128810226155359, + "grad_norm": 9.625, + "learning_rate": 1.8974637586408933e-05, + "loss": 0.3694, + "step": 3464 + }, + { + "epoch": 0.2129424778761062, + "grad_norm": 43.5, + "learning_rate": 1.8973610884555505e-05, + "loss": 0.5624, + "step": 3465 + }, + { + "epoch": 0.2130039331366765, + "grad_norm": 45.75, + "learning_rate": 1.8972583696743284e-05, + "loss": 0.7223, + "step": 3466 + }, + { + "epoch": 0.2130653883972468, + "grad_norm": 48.0, + "learning_rate": 1.8971556023027905e-05, + "loss": 0.5296, + "step": 3467 + }, + { + "epoch": 0.21312684365781712, + "grad_norm": 35.5, + "learning_rate": 1.897052786346502e-05, + "loss": 0.5389, + "step": 3468 + }, + { + "epoch": 0.21318829891838742, + "grad_norm": 13.9375, + "learning_rate": 1.8969499218110302e-05, + "loss": 0.579, + "step": 3469 + }, + { + "epoch": 0.21324975417895772, + "grad_norm": 56.75, + "learning_rate": 1.896847008701946e-05, + "loss": 0.474, + "step": 3470 + }, + { + "epoch": 0.21331120943952803, + "grad_norm": 21.75, + "learning_rate": 1.8967440470248227e-05, + "loss": 0.3857, + "step": 3471 + }, + { + "epoch": 0.21337266470009833, + "grad_norm": 21.0, + "learning_rate": 1.896641036785236e-05, + "loss": 0.3608, + "step": 3472 + }, + { + "epoch": 0.21343411996066863, + "grad_norm": 16.125, + "learning_rate": 1.896537977988764e-05, + "loss": 0.4179, + "step": 3473 + }, + { + "epoch": 0.21349557522123894, + "grad_norm": 26.375, + "learning_rate": 1.896434870640989e-05, + "loss": 0.4416, + "step": 3474 + }, + { + "epoch": 0.21355703048180924, + "grad_norm": 11.6875, + "learning_rate": 1.896331714747493e-05, + "loss": 0.3183, + "step": 3475 + }, + { + "epoch": 0.21361848574237954, + "grad_norm": 11.125, + "learning_rate": 1.8962285103138637e-05, + "loss": 0.3087, + "step": 3476 + }, + { + "epoch": 0.21367994100294985, + "grad_norm": 13.125, + "learning_rate": 1.896125257345689e-05, + "loss": 0.3474, + "step": 3477 + }, + { + "epoch": 0.21374139626352015, + "grad_norm": 6.65625, + "learning_rate": 1.896021955848561e-05, + "loss": 0.3544, + "step": 3478 + }, + { + "epoch": 0.21380285152409045, + "grad_norm": 12.125, + "learning_rate": 1.8959186058280744e-05, + "loss": 0.3563, + "step": 3479 + }, + { + "epoch": 0.21386430678466076, + "grad_norm": 22.75, + "learning_rate": 1.895815207289825e-05, + "loss": 0.3235, + "step": 3480 + }, + { + "epoch": 0.21392576204523106, + "grad_norm": 33.5, + "learning_rate": 1.895711760239413e-05, + "loss": 0.5054, + "step": 3481 + }, + { + "epoch": 0.21398721730580136, + "grad_norm": 14.9375, + "learning_rate": 1.89560826468244e-05, + "loss": 0.4144, + "step": 3482 + }, + { + "epoch": 0.2140486725663717, + "grad_norm": 20.75, + "learning_rate": 1.8955047206245115e-05, + "loss": 0.5112, + "step": 3483 + }, + { + "epoch": 0.214110127826942, + "grad_norm": 14.3125, + "learning_rate": 1.895401128071234e-05, + "loss": 0.3733, + "step": 3484 + }, + { + "epoch": 0.2141715830875123, + "grad_norm": 39.0, + "learning_rate": 1.895297487028218e-05, + "loss": 0.3263, + "step": 3485 + }, + { + "epoch": 0.2142330383480826, + "grad_norm": 28.5, + "learning_rate": 1.895193797501076e-05, + "loss": 0.5216, + "step": 3486 + }, + { + "epoch": 0.2142944936086529, + "grad_norm": 12.5, + "learning_rate": 1.8950900594954226e-05, + "loss": 0.3861, + "step": 3487 + }, + { + "epoch": 0.2143559488692232, + "grad_norm": 10.3125, + "learning_rate": 1.8949862730168766e-05, + "loss": 0.3608, + "step": 3488 + }, + { + "epoch": 0.21441740412979352, + "grad_norm": 22.5, + "learning_rate": 1.8948824380710582e-05, + "loss": 0.3415, + "step": 3489 + }, + { + "epoch": 0.21447885939036382, + "grad_norm": 44.75, + "learning_rate": 1.8947785546635905e-05, + "loss": 0.4517, + "step": 3490 + }, + { + "epoch": 0.21454031465093412, + "grad_norm": 35.25, + "learning_rate": 1.8946746228000987e-05, + "loss": 0.3534, + "step": 3491 + }, + { + "epoch": 0.21460176991150443, + "grad_norm": 16.125, + "learning_rate": 1.8945706424862115e-05, + "loss": 0.485, + "step": 3492 + }, + { + "epoch": 0.21466322517207473, + "grad_norm": 9.4375, + "learning_rate": 1.89446661372756e-05, + "loss": 0.365, + "step": 3493 + }, + { + "epoch": 0.21472468043264503, + "grad_norm": 21.0, + "learning_rate": 1.8943625365297776e-05, + "loss": 0.3745, + "step": 3494 + }, + { + "epoch": 0.21478613569321534, + "grad_norm": 28.625, + "learning_rate": 1.894258410898501e-05, + "loss": 0.3674, + "step": 3495 + }, + { + "epoch": 0.21484759095378564, + "grad_norm": 34.0, + "learning_rate": 1.8941542368393683e-05, + "loss": 0.3151, + "step": 3496 + }, + { + "epoch": 0.21490904621435594, + "grad_norm": 44.0, + "learning_rate": 1.8940500143580215e-05, + "loss": 0.6101, + "step": 3497 + }, + { + "epoch": 0.21497050147492625, + "grad_norm": 55.25, + "learning_rate": 1.8939457434601044e-05, + "loss": 0.5991, + "step": 3498 + }, + { + "epoch": 0.21503195673549655, + "grad_norm": 21.625, + "learning_rate": 1.893841424151264e-05, + "loss": 0.5392, + "step": 3499 + }, + { + "epoch": 0.21509341199606685, + "grad_norm": 38.0, + "learning_rate": 1.893737056437149e-05, + "loss": 0.4825, + "step": 3500 + }, + { + "epoch": 0.21515486725663716, + "grad_norm": 34.0, + "learning_rate": 1.8936326403234125e-05, + "loss": 0.4443, + "step": 3501 + }, + { + "epoch": 0.2152163225172075, + "grad_norm": 23.125, + "learning_rate": 1.893528175815708e-05, + "loss": 0.3608, + "step": 3502 + }, + { + "epoch": 0.2152777777777778, + "grad_norm": 38.75, + "learning_rate": 1.8934236629196928e-05, + "loss": 0.337, + "step": 3503 + }, + { + "epoch": 0.2153392330383481, + "grad_norm": 14.375, + "learning_rate": 1.8933191016410273e-05, + "loss": 0.283, + "step": 3504 + }, + { + "epoch": 0.2154006882989184, + "grad_norm": 16.625, + "learning_rate": 1.893214491985374e-05, + "loss": 0.524, + "step": 3505 + }, + { + "epoch": 0.2154621435594887, + "grad_norm": 24.75, + "learning_rate": 1.893109833958397e-05, + "loss": 0.4749, + "step": 3506 + }, + { + "epoch": 0.215523598820059, + "grad_norm": 33.75, + "learning_rate": 1.8930051275657643e-05, + "loss": 0.6193, + "step": 3507 + }, + { + "epoch": 0.2155850540806293, + "grad_norm": 19.625, + "learning_rate": 1.892900372813147e-05, + "loss": 0.3183, + "step": 3508 + }, + { + "epoch": 0.2156465093411996, + "grad_norm": 45.25, + "learning_rate": 1.8927955697062172e-05, + "loss": 0.676, + "step": 3509 + }, + { + "epoch": 0.2157079646017699, + "grad_norm": 16.5, + "learning_rate": 1.8926907182506505e-05, + "loss": 0.5075, + "step": 3510 + }, + { + "epoch": 0.21576941986234022, + "grad_norm": 8.375, + "learning_rate": 1.892585818452126e-05, + "loss": 0.3383, + "step": 3511 + }, + { + "epoch": 0.21583087512291052, + "grad_norm": 6.4375, + "learning_rate": 1.8924808703163226e-05, + "loss": 0.4292, + "step": 3512 + }, + { + "epoch": 0.21589233038348082, + "grad_norm": 13.6875, + "learning_rate": 1.892375873848925e-05, + "loss": 0.506, + "step": 3513 + }, + { + "epoch": 0.21595378564405113, + "grad_norm": 10.5625, + "learning_rate": 1.8922708290556197e-05, + "loss": 0.4999, + "step": 3514 + }, + { + "epoch": 0.21601524090462143, + "grad_norm": 16.25, + "learning_rate": 1.892165735942094e-05, + "loss": 0.5492, + "step": 3515 + }, + { + "epoch": 0.21607669616519173, + "grad_norm": 27.375, + "learning_rate": 1.8920605945140396e-05, + "loss": 0.369, + "step": 3516 + }, + { + "epoch": 0.21613815142576204, + "grad_norm": 13.375, + "learning_rate": 1.8919554047771508e-05, + "loss": 0.5076, + "step": 3517 + }, + { + "epoch": 0.21619960668633234, + "grad_norm": 51.0, + "learning_rate": 1.891850166737124e-05, + "loss": 0.4182, + "step": 3518 + }, + { + "epoch": 0.21626106194690264, + "grad_norm": 40.0, + "learning_rate": 1.8917448803996573e-05, + "loss": 0.42, + "step": 3519 + }, + { + "epoch": 0.21632251720747295, + "grad_norm": 8.8125, + "learning_rate": 1.8916395457704536e-05, + "loss": 0.3401, + "step": 3520 + }, + { + "epoch": 0.21638397246804325, + "grad_norm": 34.25, + "learning_rate": 1.8915341628552166e-05, + "loss": 0.4286, + "step": 3521 + }, + { + "epoch": 0.21644542772861358, + "grad_norm": 4.875, + "learning_rate": 1.8914287316596532e-05, + "loss": 0.2178, + "step": 3522 + }, + { + "epoch": 0.21650688298918389, + "grad_norm": 10.5625, + "learning_rate": 1.8913232521894734e-05, + "loss": 0.3303, + "step": 3523 + }, + { + "epoch": 0.2165683382497542, + "grad_norm": 7.5625, + "learning_rate": 1.891217724450389e-05, + "loss": 0.3541, + "step": 3524 + }, + { + "epoch": 0.2166297935103245, + "grad_norm": 23.375, + "learning_rate": 1.8911121484481145e-05, + "loss": 0.4064, + "step": 3525 + }, + { + "epoch": 0.2166912487708948, + "grad_norm": 39.25, + "learning_rate": 1.891006524188368e-05, + "loss": 0.4571, + "step": 3526 + }, + { + "epoch": 0.2167527040314651, + "grad_norm": 9.6875, + "learning_rate": 1.890900851676869e-05, + "loss": 0.2396, + "step": 3527 + }, + { + "epoch": 0.2168141592920354, + "grad_norm": 5.125, + "learning_rate": 1.89079513091934e-05, + "loss": 0.2493, + "step": 3528 + }, + { + "epoch": 0.2168756145526057, + "grad_norm": 37.75, + "learning_rate": 1.890689361921507e-05, + "loss": 0.5346, + "step": 3529 + }, + { + "epoch": 0.216937069813176, + "grad_norm": 38.25, + "learning_rate": 1.8905835446890968e-05, + "loss": 0.6114, + "step": 3530 + }, + { + "epoch": 0.2169985250737463, + "grad_norm": 31.625, + "learning_rate": 1.8904776792278403e-05, + "loss": 0.5315, + "step": 3531 + }, + { + "epoch": 0.21705998033431662, + "grad_norm": 32.0, + "learning_rate": 1.8903717655434708e-05, + "loss": 0.456, + "step": 3532 + }, + { + "epoch": 0.21712143559488692, + "grad_norm": 22.5, + "learning_rate": 1.8902658036417236e-05, + "loss": 0.5363, + "step": 3533 + }, + { + "epoch": 0.21718289085545722, + "grad_norm": 25.125, + "learning_rate": 1.8901597935283373e-05, + "loss": 0.4296, + "step": 3534 + }, + { + "epoch": 0.21724434611602753, + "grad_norm": 14.5625, + "learning_rate": 1.8900537352090523e-05, + "loss": 0.3458, + "step": 3535 + }, + { + "epoch": 0.21730580137659783, + "grad_norm": 3.71875, + "learning_rate": 1.889947628689613e-05, + "loss": 0.3885, + "step": 3536 + }, + { + "epoch": 0.21736725663716813, + "grad_norm": 53.75, + "learning_rate": 1.8898414739757648e-05, + "loss": 0.5621, + "step": 3537 + }, + { + "epoch": 0.21742871189773844, + "grad_norm": 13.125, + "learning_rate": 1.8897352710732564e-05, + "loss": 0.4764, + "step": 3538 + }, + { + "epoch": 0.21749016715830874, + "grad_norm": 36.75, + "learning_rate": 1.8896290199878393e-05, + "loss": 0.4968, + "step": 3539 + }, + { + "epoch": 0.21755162241887904, + "grad_norm": 30.0, + "learning_rate": 1.8895227207252674e-05, + "loss": 0.3151, + "step": 3540 + }, + { + "epoch": 0.21761307767944937, + "grad_norm": 20.625, + "learning_rate": 1.889416373291298e-05, + "loss": 0.3569, + "step": 3541 + }, + { + "epoch": 0.21767453294001968, + "grad_norm": 15.1875, + "learning_rate": 1.889309977691689e-05, + "loss": 0.4138, + "step": 3542 + }, + { + "epoch": 0.21773598820058998, + "grad_norm": 6.96875, + "learning_rate": 1.8892035339322023e-05, + "loss": 0.4461, + "step": 3543 + }, + { + "epoch": 0.21779744346116028, + "grad_norm": 28.25, + "learning_rate": 1.8890970420186035e-05, + "loss": 0.3911, + "step": 3544 + }, + { + "epoch": 0.2178588987217306, + "grad_norm": 29.625, + "learning_rate": 1.8889905019566584e-05, + "loss": 0.5838, + "step": 3545 + }, + { + "epoch": 0.2179203539823009, + "grad_norm": 17.5, + "learning_rate": 1.888883913752137e-05, + "loss": 0.5225, + "step": 3546 + }, + { + "epoch": 0.2179818092428712, + "grad_norm": 17.125, + "learning_rate": 1.8887772774108116e-05, + "loss": 0.3765, + "step": 3547 + }, + { + "epoch": 0.2180432645034415, + "grad_norm": 8.1875, + "learning_rate": 1.888670592938457e-05, + "loss": 0.3852, + "step": 3548 + }, + { + "epoch": 0.2181047197640118, + "grad_norm": 29.125, + "learning_rate": 1.8885638603408502e-05, + "loss": 0.4373, + "step": 3549 + }, + { + "epoch": 0.2181661750245821, + "grad_norm": 14.4375, + "learning_rate": 1.888457079623772e-05, + "loss": 0.4385, + "step": 3550 + }, + { + "epoch": 0.2182276302851524, + "grad_norm": 6.78125, + "learning_rate": 1.8883502507930044e-05, + "loss": 0.3072, + "step": 3551 + }, + { + "epoch": 0.2182890855457227, + "grad_norm": 15.625, + "learning_rate": 1.8882433738543325e-05, + "loss": 0.4408, + "step": 3552 + }, + { + "epoch": 0.21835054080629301, + "grad_norm": 17.375, + "learning_rate": 1.8881364488135448e-05, + "loss": 0.4208, + "step": 3553 + }, + { + "epoch": 0.21841199606686332, + "grad_norm": 13.1875, + "learning_rate": 1.888029475676431e-05, + "loss": 0.5357, + "step": 3554 + }, + { + "epoch": 0.21847345132743362, + "grad_norm": 12.0, + "learning_rate": 1.887922454448785e-05, + "loss": 0.3352, + "step": 3555 + }, + { + "epoch": 0.21853490658800392, + "grad_norm": 5.4375, + "learning_rate": 1.8878153851364013e-05, + "loss": 0.2896, + "step": 3556 + }, + { + "epoch": 0.21859636184857423, + "grad_norm": 13.5, + "learning_rate": 1.8877082677450795e-05, + "loss": 0.3957, + "step": 3557 + }, + { + "epoch": 0.21865781710914453, + "grad_norm": 8.25, + "learning_rate": 1.8876011022806193e-05, + "loss": 0.3333, + "step": 3558 + }, + { + "epoch": 0.21871927236971483, + "grad_norm": 5.875, + "learning_rate": 1.887493888748825e-05, + "loss": 0.2617, + "step": 3559 + }, + { + "epoch": 0.21878072763028517, + "grad_norm": 10.25, + "learning_rate": 1.8873866271555022e-05, + "loss": 0.2539, + "step": 3560 + }, + { + "epoch": 0.21884218289085547, + "grad_norm": 18.875, + "learning_rate": 1.8872793175064594e-05, + "loss": 0.3132, + "step": 3561 + }, + { + "epoch": 0.21890363815142577, + "grad_norm": 78.0, + "learning_rate": 1.8871719598075083e-05, + "loss": 0.4044, + "step": 3562 + }, + { + "epoch": 0.21896509341199608, + "grad_norm": 15.1875, + "learning_rate": 1.8870645540644625e-05, + "loss": 0.3298, + "step": 3563 + }, + { + "epoch": 0.21902654867256638, + "grad_norm": 32.75, + "learning_rate": 1.8869571002831388e-05, + "loss": 0.5178, + "step": 3564 + }, + { + "epoch": 0.21908800393313668, + "grad_norm": 56.0, + "learning_rate": 1.886849598469356e-05, + "loss": 0.3818, + "step": 3565 + }, + { + "epoch": 0.21914945919370699, + "grad_norm": 27.0, + "learning_rate": 1.886742048628936e-05, + "loss": 0.3706, + "step": 3566 + }, + { + "epoch": 0.2192109144542773, + "grad_norm": 73.0, + "learning_rate": 1.8866344507677023e-05, + "loss": 0.3682, + "step": 3567 + }, + { + "epoch": 0.2192723697148476, + "grad_norm": 49.25, + "learning_rate": 1.8865268048914828e-05, + "loss": 0.4882, + "step": 3568 + }, + { + "epoch": 0.2193338249754179, + "grad_norm": 59.5, + "learning_rate": 1.8864191110061066e-05, + "loss": 0.4289, + "step": 3569 + }, + { + "epoch": 0.2193952802359882, + "grad_norm": 13.1875, + "learning_rate": 1.8863113691174058e-05, + "loss": 0.3772, + "step": 3570 + }, + { + "epoch": 0.2194567354965585, + "grad_norm": 7.34375, + "learning_rate": 1.8862035792312148e-05, + "loss": 0.3209, + "step": 3571 + }, + { + "epoch": 0.2195181907571288, + "grad_norm": 9.5, + "learning_rate": 1.8860957413533713e-05, + "loss": 0.4487, + "step": 3572 + }, + { + "epoch": 0.2195796460176991, + "grad_norm": 10.5625, + "learning_rate": 1.8859878554897147e-05, + "loss": 0.2822, + "step": 3573 + }, + { + "epoch": 0.2196411012782694, + "grad_norm": 5.28125, + "learning_rate": 1.8858799216460883e-05, + "loss": 0.3355, + "step": 3574 + }, + { + "epoch": 0.21970255653883972, + "grad_norm": 17.375, + "learning_rate": 1.8857719398283358e-05, + "loss": 0.3819, + "step": 3575 + }, + { + "epoch": 0.21976401179941002, + "grad_norm": 14.1875, + "learning_rate": 1.8856639100423062e-05, + "loss": 0.2435, + "step": 3576 + }, + { + "epoch": 0.21982546705998032, + "grad_norm": 9.625, + "learning_rate": 1.8855558322938492e-05, + "loss": 0.2443, + "step": 3577 + }, + { + "epoch": 0.21988692232055063, + "grad_norm": 34.25, + "learning_rate": 1.8854477065888176e-05, + "loss": 0.6694, + "step": 3578 + }, + { + "epoch": 0.21994837758112096, + "grad_norm": 17.0, + "learning_rate": 1.8853395329330667e-05, + "loss": 0.3439, + "step": 3579 + }, + { + "epoch": 0.22000983284169126, + "grad_norm": 7.34375, + "learning_rate": 1.8852313113324553e-05, + "loss": 0.3224, + "step": 3580 + }, + { + "epoch": 0.22007128810226156, + "grad_norm": 9.6875, + "learning_rate": 1.8851230417928433e-05, + "loss": 0.4, + "step": 3581 + }, + { + "epoch": 0.22013274336283187, + "grad_norm": 11.875, + "learning_rate": 1.8850147243200946e-05, + "loss": 0.4037, + "step": 3582 + }, + { + "epoch": 0.22019419862340217, + "grad_norm": 68.5, + "learning_rate": 1.8849063589200744e-05, + "loss": 0.4553, + "step": 3583 + }, + { + "epoch": 0.22025565388397247, + "grad_norm": 54.5, + "learning_rate": 1.8847979455986515e-05, + "loss": 0.5413, + "step": 3584 + }, + { + "epoch": 0.22031710914454278, + "grad_norm": 42.25, + "learning_rate": 1.884689484361697e-05, + "loss": 0.5473, + "step": 3585 + }, + { + "epoch": 0.22037856440511308, + "grad_norm": 17.25, + "learning_rate": 1.884580975215084e-05, + "loss": 0.4447, + "step": 3586 + }, + { + "epoch": 0.22044001966568338, + "grad_norm": 32.25, + "learning_rate": 1.8844724181646895e-05, + "loss": 0.5432, + "step": 3587 + }, + { + "epoch": 0.2205014749262537, + "grad_norm": 16.25, + "learning_rate": 1.8843638132163917e-05, + "loss": 0.3536, + "step": 3588 + }, + { + "epoch": 0.220562930186824, + "grad_norm": 15.625, + "learning_rate": 1.8842551603760725e-05, + "loss": 0.4254, + "step": 3589 + }, + { + "epoch": 0.2206243854473943, + "grad_norm": 42.5, + "learning_rate": 1.8841464596496154e-05, + "loss": 0.4676, + "step": 3590 + }, + { + "epoch": 0.2206858407079646, + "grad_norm": 10.9375, + "learning_rate": 1.8840377110429075e-05, + "loss": 0.3577, + "step": 3591 + }, + { + "epoch": 0.2207472959685349, + "grad_norm": 84.5, + "learning_rate": 1.8839289145618378e-05, + "loss": 0.3929, + "step": 3592 + }, + { + "epoch": 0.2208087512291052, + "grad_norm": 23.0, + "learning_rate": 1.883820070212298e-05, + "loss": 0.3703, + "step": 3593 + }, + { + "epoch": 0.2208702064896755, + "grad_norm": 20.125, + "learning_rate": 1.8837111780001822e-05, + "loss": 0.3, + "step": 3594 + }, + { + "epoch": 0.2209316617502458, + "grad_norm": 21.0, + "learning_rate": 1.8836022379313884e-05, + "loss": 0.4689, + "step": 3595 + }, + { + "epoch": 0.22099311701081611, + "grad_norm": 5.78125, + "learning_rate": 1.8834932500118148e-05, + "loss": 0.2945, + "step": 3596 + }, + { + "epoch": 0.22105457227138642, + "grad_norm": 19.0, + "learning_rate": 1.8833842142473643e-05, + "loss": 0.4116, + "step": 3597 + }, + { + "epoch": 0.22111602753195675, + "grad_norm": 59.0, + "learning_rate": 1.883275130643942e-05, + "loss": 0.4224, + "step": 3598 + }, + { + "epoch": 0.22117748279252705, + "grad_norm": 9.1875, + "learning_rate": 1.8831659992074545e-05, + "loss": 0.4355, + "step": 3599 + }, + { + "epoch": 0.22123893805309736, + "grad_norm": 70.0, + "learning_rate": 1.883056819943812e-05, + "loss": 0.3068, + "step": 3600 + }, + { + "epoch": 0.22130039331366766, + "grad_norm": 11.25, + "learning_rate": 1.8829475928589272e-05, + "loss": 0.4112, + "step": 3601 + }, + { + "epoch": 0.22136184857423796, + "grad_norm": 34.0, + "learning_rate": 1.8828383179587147e-05, + "loss": 0.4113, + "step": 3602 + }, + { + "epoch": 0.22142330383480827, + "grad_norm": 23.0, + "learning_rate": 1.882728995249093e-05, + "loss": 0.4657, + "step": 3603 + }, + { + "epoch": 0.22148475909537857, + "grad_norm": 23.25, + "learning_rate": 1.882619624735982e-05, + "loss": 0.4101, + "step": 3604 + }, + { + "epoch": 0.22154621435594887, + "grad_norm": 18.75, + "learning_rate": 1.882510206425304e-05, + "loss": 0.3494, + "step": 3605 + }, + { + "epoch": 0.22160766961651918, + "grad_norm": 17.125, + "learning_rate": 1.8824007403229852e-05, + "loss": 0.3571, + "step": 3606 + }, + { + "epoch": 0.22166912487708948, + "grad_norm": 10.875, + "learning_rate": 1.8822912264349535e-05, + "loss": 0.293, + "step": 3607 + }, + { + "epoch": 0.22173058013765978, + "grad_norm": 53.5, + "learning_rate": 1.8821816647671394e-05, + "loss": 0.3555, + "step": 3608 + }, + { + "epoch": 0.2217920353982301, + "grad_norm": 4.8125, + "learning_rate": 1.882072055325476e-05, + "loss": 0.4772, + "step": 3609 + }, + { + "epoch": 0.2218534906588004, + "grad_norm": 14.125, + "learning_rate": 1.8819623981158996e-05, + "loss": 0.4706, + "step": 3610 + }, + { + "epoch": 0.2219149459193707, + "grad_norm": 41.0, + "learning_rate": 1.881852693144348e-05, + "loss": 0.2986, + "step": 3611 + }, + { + "epoch": 0.221976401179941, + "grad_norm": 34.0, + "learning_rate": 1.881742940416763e-05, + "loss": 0.3609, + "step": 3612 + }, + { + "epoch": 0.2220378564405113, + "grad_norm": 24.625, + "learning_rate": 1.881633139939087e-05, + "loss": 0.5729, + "step": 3613 + }, + { + "epoch": 0.2220993117010816, + "grad_norm": 38.0, + "learning_rate": 1.8815232917172672e-05, + "loss": 0.3309, + "step": 3614 + }, + { + "epoch": 0.2221607669616519, + "grad_norm": 22.125, + "learning_rate": 1.881413395757252e-05, + "loss": 0.3461, + "step": 3615 + }, + { + "epoch": 0.2222222222222222, + "grad_norm": 7.59375, + "learning_rate": 1.8813034520649923e-05, + "loss": 0.4716, + "step": 3616 + }, + { + "epoch": 0.2222836774827925, + "grad_norm": 35.5, + "learning_rate": 1.8811934606464425e-05, + "loss": 0.4695, + "step": 3617 + }, + { + "epoch": 0.22234513274336284, + "grad_norm": 43.25, + "learning_rate": 1.8810834215075593e-05, + "loss": 0.7914, + "step": 3618 + }, + { + "epoch": 0.22240658800393315, + "grad_norm": 26.5, + "learning_rate": 1.8809733346543013e-05, + "loss": 0.5603, + "step": 3619 + }, + { + "epoch": 0.22246804326450345, + "grad_norm": 26.25, + "learning_rate": 1.8808632000926304e-05, + "loss": 0.4051, + "step": 3620 + }, + { + "epoch": 0.22252949852507375, + "grad_norm": 33.0, + "learning_rate": 1.880753017828511e-05, + "loss": 0.4801, + "step": 3621 + }, + { + "epoch": 0.22259095378564406, + "grad_norm": 17.75, + "learning_rate": 1.880642787867909e-05, + "loss": 0.4233, + "step": 3622 + }, + { + "epoch": 0.22265240904621436, + "grad_norm": 20.25, + "learning_rate": 1.880532510216795e-05, + "loss": 0.5419, + "step": 3623 + }, + { + "epoch": 0.22271386430678466, + "grad_norm": 40.5, + "learning_rate": 1.8804221848811408e-05, + "loss": 0.5003, + "step": 3624 + }, + { + "epoch": 0.22277531956735497, + "grad_norm": 37.25, + "learning_rate": 1.8803118118669203e-05, + "loss": 0.5687, + "step": 3625 + }, + { + "epoch": 0.22283677482792527, + "grad_norm": 4.5625, + "learning_rate": 1.880201391180111e-05, + "loss": 0.304, + "step": 3626 + }, + { + "epoch": 0.22289823008849557, + "grad_norm": 18.625, + "learning_rate": 1.8800909228266932e-05, + "loss": 0.4378, + "step": 3627 + }, + { + "epoch": 0.22295968534906588, + "grad_norm": 11.6875, + "learning_rate": 1.8799804068126487e-05, + "loss": 0.4157, + "step": 3628 + }, + { + "epoch": 0.22302114060963618, + "grad_norm": 18.625, + "learning_rate": 1.879869843143962e-05, + "loss": 0.3903, + "step": 3629 + }, + { + "epoch": 0.22308259587020648, + "grad_norm": 30.125, + "learning_rate": 1.8797592318266215e-05, + "loss": 0.4224, + "step": 3630 + }, + { + "epoch": 0.2231440511307768, + "grad_norm": 28.625, + "learning_rate": 1.879648572866617e-05, + "loss": 0.3015, + "step": 3631 + }, + { + "epoch": 0.2232055063913471, + "grad_norm": 34.75, + "learning_rate": 1.8795378662699404e-05, + "loss": 0.4788, + "step": 3632 + }, + { + "epoch": 0.2232669616519174, + "grad_norm": 30.875, + "learning_rate": 1.8794271120425874e-05, + "loss": 0.6278, + "step": 3633 + }, + { + "epoch": 0.2233284169124877, + "grad_norm": 66.0, + "learning_rate": 1.8793163101905562e-05, + "loss": 0.7065, + "step": 3634 + }, + { + "epoch": 0.223389872173058, + "grad_norm": 25.375, + "learning_rate": 1.8792054607198472e-05, + "loss": 0.6876, + "step": 3635 + }, + { + "epoch": 0.2234513274336283, + "grad_norm": 20.625, + "learning_rate": 1.8790945636364628e-05, + "loss": 0.6306, + "step": 3636 + }, + { + "epoch": 0.22351278269419864, + "grad_norm": 24.375, + "learning_rate": 1.878983618946409e-05, + "loss": 0.5529, + "step": 3637 + }, + { + "epoch": 0.22357423795476894, + "grad_norm": 14.9375, + "learning_rate": 1.878872626655693e-05, + "loss": 0.4752, + "step": 3638 + }, + { + "epoch": 0.22363569321533924, + "grad_norm": 25.5, + "learning_rate": 1.878761586770327e-05, + "loss": 0.4684, + "step": 3639 + }, + { + "epoch": 0.22369714847590955, + "grad_norm": 31.875, + "learning_rate": 1.878650499296323e-05, + "loss": 0.4198, + "step": 3640 + }, + { + "epoch": 0.22375860373647985, + "grad_norm": 46.5, + "learning_rate": 1.8785393642396976e-05, + "loss": 0.7929, + "step": 3641 + }, + { + "epoch": 0.22382005899705015, + "grad_norm": 32.5, + "learning_rate": 1.8784281816064688e-05, + "loss": 0.6527, + "step": 3642 + }, + { + "epoch": 0.22388151425762046, + "grad_norm": 25.375, + "learning_rate": 1.878316951402658e-05, + "loss": 0.5229, + "step": 3643 + }, + { + "epoch": 0.22394296951819076, + "grad_norm": 10.25, + "learning_rate": 1.8782056736342886e-05, + "loss": 0.4397, + "step": 3644 + }, + { + "epoch": 0.22400442477876106, + "grad_norm": 22.25, + "learning_rate": 1.8780943483073867e-05, + "loss": 0.4247, + "step": 3645 + }, + { + "epoch": 0.22406588003933137, + "grad_norm": 16.875, + "learning_rate": 1.8779829754279806e-05, + "loss": 0.3937, + "step": 3646 + }, + { + "epoch": 0.22412733529990167, + "grad_norm": 26.125, + "learning_rate": 1.8778715550021025e-05, + "loss": 0.5254, + "step": 3647 + }, + { + "epoch": 0.22418879056047197, + "grad_norm": 9.3125, + "learning_rate": 1.877760087035786e-05, + "loss": 0.2696, + "step": 3648 + }, + { + "epoch": 0.22425024582104228, + "grad_norm": 11.75, + "learning_rate": 1.8776485715350672e-05, + "loss": 0.3185, + "step": 3649 + }, + { + "epoch": 0.22431170108161258, + "grad_norm": 11.6875, + "learning_rate": 1.8775370085059853e-05, + "loss": 0.3613, + "step": 3650 + }, + { + "epoch": 0.22437315634218288, + "grad_norm": 11.3125, + "learning_rate": 1.877425397954582e-05, + "loss": 0.3302, + "step": 3651 + }, + { + "epoch": 0.2244346116027532, + "grad_norm": 7.0, + "learning_rate": 1.8773137398869017e-05, + "loss": 0.2979, + "step": 3652 + }, + { + "epoch": 0.2244960668633235, + "grad_norm": 9.0, + "learning_rate": 1.8772020343089906e-05, + "loss": 0.2752, + "step": 3653 + }, + { + "epoch": 0.2245575221238938, + "grad_norm": 7.03125, + "learning_rate": 1.8770902812268983e-05, + "loss": 0.3746, + "step": 3654 + }, + { + "epoch": 0.2246189773844641, + "grad_norm": 13.9375, + "learning_rate": 1.8769784806466768e-05, + "loss": 0.2763, + "step": 3655 + }, + { + "epoch": 0.22468043264503443, + "grad_norm": 12.9375, + "learning_rate": 1.876866632574381e-05, + "loss": 0.3241, + "step": 3656 + }, + { + "epoch": 0.22474188790560473, + "grad_norm": 27.875, + "learning_rate": 1.8767547370160667e-05, + "loss": 0.4575, + "step": 3657 + }, + { + "epoch": 0.22480334316617503, + "grad_norm": 16.125, + "learning_rate": 1.8766427939777943e-05, + "loss": 0.4181, + "step": 3658 + }, + { + "epoch": 0.22486479842674534, + "grad_norm": 43.25, + "learning_rate": 1.8765308034656265e-05, + "loss": 0.5262, + "step": 3659 + }, + { + "epoch": 0.22492625368731564, + "grad_norm": 22.0, + "learning_rate": 1.876418765485627e-05, + "loss": 0.4021, + "step": 3660 + }, + { + "epoch": 0.22498770894788594, + "grad_norm": 12.3125, + "learning_rate": 1.8763066800438638e-05, + "loss": 0.3508, + "step": 3661 + }, + { + "epoch": 0.22504916420845625, + "grad_norm": 12.25, + "learning_rate": 1.8761945471464065e-05, + "loss": 0.2922, + "step": 3662 + }, + { + "epoch": 0.22511061946902655, + "grad_norm": 3.0625, + "learning_rate": 1.8760823667993277e-05, + "loss": 0.2793, + "step": 3663 + }, + { + "epoch": 0.22517207472959685, + "grad_norm": 16.5, + "learning_rate": 1.8759701390087026e-05, + "loss": 0.2548, + "step": 3664 + }, + { + "epoch": 0.22523352999016716, + "grad_norm": 29.75, + "learning_rate": 1.875857863780609e-05, + "loss": 0.4239, + "step": 3665 + }, + { + "epoch": 0.22529498525073746, + "grad_norm": 16.375, + "learning_rate": 1.875745541121126e-05, + "loss": 0.3824, + "step": 3666 + }, + { + "epoch": 0.22535644051130777, + "grad_norm": 12.0625, + "learning_rate": 1.8756331710363375e-05, + "loss": 0.2915, + "step": 3667 + }, + { + "epoch": 0.22541789577187807, + "grad_norm": 17.0, + "learning_rate": 1.875520753532328e-05, + "loss": 0.3001, + "step": 3668 + }, + { + "epoch": 0.22547935103244837, + "grad_norm": 48.75, + "learning_rate": 1.8754082886151857e-05, + "loss": 0.4074, + "step": 3669 + }, + { + "epoch": 0.22554080629301868, + "grad_norm": 43.75, + "learning_rate": 1.8752957762910016e-05, + "loss": 0.3504, + "step": 3670 + }, + { + "epoch": 0.22560226155358898, + "grad_norm": 10.125, + "learning_rate": 1.8751832165658682e-05, + "loss": 0.3128, + "step": 3671 + }, + { + "epoch": 0.22566371681415928, + "grad_norm": 26.0, + "learning_rate": 1.8750706094458807e-05, + "loss": 0.3254, + "step": 3672 + }, + { + "epoch": 0.22572517207472959, + "grad_norm": 29.75, + "learning_rate": 1.874957954937138e-05, + "loss": 0.5327, + "step": 3673 + }, + { + "epoch": 0.2257866273352999, + "grad_norm": 32.75, + "learning_rate": 1.8748452530457403e-05, + "loss": 0.5976, + "step": 3674 + }, + { + "epoch": 0.22584808259587022, + "grad_norm": 38.5, + "learning_rate": 1.874732503777791e-05, + "loss": 0.4392, + "step": 3675 + }, + { + "epoch": 0.22590953785644052, + "grad_norm": 28.875, + "learning_rate": 1.874619707139396e-05, + "loss": 0.5262, + "step": 3676 + }, + { + "epoch": 0.22597099311701083, + "grad_norm": 7.0625, + "learning_rate": 1.874506863136664e-05, + "loss": 0.4742, + "step": 3677 + }, + { + "epoch": 0.22603244837758113, + "grad_norm": 19.375, + "learning_rate": 1.8743939717757053e-05, + "loss": 0.3324, + "step": 3678 + }, + { + "epoch": 0.22609390363815143, + "grad_norm": 9.0, + "learning_rate": 1.8742810330626338e-05, + "loss": 0.3878, + "step": 3679 + }, + { + "epoch": 0.22615535889872174, + "grad_norm": 44.25, + "learning_rate": 1.8741680470035658e-05, + "loss": 0.4829, + "step": 3680 + }, + { + "epoch": 0.22621681415929204, + "grad_norm": 30.5, + "learning_rate": 1.8740550136046195e-05, + "loss": 0.4587, + "step": 3681 + }, + { + "epoch": 0.22627826941986234, + "grad_norm": 6.21875, + "learning_rate": 1.873941932871917e-05, + "loss": 0.4167, + "step": 3682 + }, + { + "epoch": 0.22633972468043265, + "grad_norm": 20.125, + "learning_rate": 1.8738288048115812e-05, + "loss": 0.4226, + "step": 3683 + }, + { + "epoch": 0.22640117994100295, + "grad_norm": 8.375, + "learning_rate": 1.873715629429739e-05, + "loss": 0.3196, + "step": 3684 + }, + { + "epoch": 0.22646263520157325, + "grad_norm": 16.5, + "learning_rate": 1.8736024067325188e-05, + "loss": 0.3357, + "step": 3685 + }, + { + "epoch": 0.22652409046214356, + "grad_norm": 3.921875, + "learning_rate": 1.8734891367260528e-05, + "loss": 0.2814, + "step": 3686 + }, + { + "epoch": 0.22658554572271386, + "grad_norm": 3.203125, + "learning_rate": 1.873375819416474e-05, + "loss": 0.3215, + "step": 3687 + }, + { + "epoch": 0.22664700098328416, + "grad_norm": 5.9375, + "learning_rate": 1.8732624548099204e-05, + "loss": 0.32, + "step": 3688 + }, + { + "epoch": 0.22670845624385447, + "grad_norm": 5.9375, + "learning_rate": 1.87314904291253e-05, + "loss": 0.3085, + "step": 3689 + }, + { + "epoch": 0.22676991150442477, + "grad_norm": 29.0, + "learning_rate": 1.873035583730445e-05, + "loss": 0.5647, + "step": 3690 + }, + { + "epoch": 0.22683136676499507, + "grad_norm": 25.0, + "learning_rate": 1.8729220772698096e-05, + "loss": 0.4393, + "step": 3691 + }, + { + "epoch": 0.22689282202556538, + "grad_norm": 20.625, + "learning_rate": 1.872808523536771e-05, + "loss": 0.4552, + "step": 3692 + }, + { + "epoch": 0.22695427728613568, + "grad_norm": 13.375, + "learning_rate": 1.8726949225374782e-05, + "loss": 0.4206, + "step": 3693 + }, + { + "epoch": 0.227015732546706, + "grad_norm": 15.9375, + "learning_rate": 1.8725812742780832e-05, + "loss": 0.2847, + "step": 3694 + }, + { + "epoch": 0.22707718780727632, + "grad_norm": 12.75, + "learning_rate": 1.8724675787647405e-05, + "loss": 0.3417, + "step": 3695 + }, + { + "epoch": 0.22713864306784662, + "grad_norm": 6.875, + "learning_rate": 1.872353836003608e-05, + "loss": 0.2654, + "step": 3696 + }, + { + "epoch": 0.22720009832841692, + "grad_norm": 18.875, + "learning_rate": 1.8722400460008437e-05, + "loss": 0.5002, + "step": 3697 + }, + { + "epoch": 0.22726155358898723, + "grad_norm": 17.625, + "learning_rate": 1.8721262087626113e-05, + "loss": 0.4191, + "step": 3698 + }, + { + "epoch": 0.22732300884955753, + "grad_norm": 16.125, + "learning_rate": 1.872012324295075e-05, + "loss": 0.3985, + "step": 3699 + }, + { + "epoch": 0.22738446411012783, + "grad_norm": 4.3125, + "learning_rate": 1.871898392604402e-05, + "loss": 0.3253, + "step": 3700 + }, + { + "epoch": 0.22744591937069814, + "grad_norm": 21.125, + "learning_rate": 1.8717844136967626e-05, + "loss": 0.3465, + "step": 3701 + }, + { + "epoch": 0.22750737463126844, + "grad_norm": 33.75, + "learning_rate": 1.8716703875783287e-05, + "loss": 0.4148, + "step": 3702 + }, + { + "epoch": 0.22756882989183874, + "grad_norm": 4.96875, + "learning_rate": 1.8715563142552758e-05, + "loss": 0.4097, + "step": 3703 + }, + { + "epoch": 0.22763028515240905, + "grad_norm": 7.75, + "learning_rate": 1.8714421937337812e-05, + "loss": 0.277, + "step": 3704 + }, + { + "epoch": 0.22769174041297935, + "grad_norm": 14.0, + "learning_rate": 1.8713280260200245e-05, + "loss": 0.3533, + "step": 3705 + }, + { + "epoch": 0.22775319567354965, + "grad_norm": 15.75, + "learning_rate": 1.8712138111201898e-05, + "loss": 0.3028, + "step": 3706 + }, + { + "epoch": 0.22781465093411996, + "grad_norm": 18.625, + "learning_rate": 1.871099549040461e-05, + "loss": 0.3031, + "step": 3707 + }, + { + "epoch": 0.22787610619469026, + "grad_norm": 14.4375, + "learning_rate": 1.870985239787026e-05, + "loss": 0.4144, + "step": 3708 + }, + { + "epoch": 0.22793756145526056, + "grad_norm": 19.125, + "learning_rate": 1.8708708833660755e-05, + "loss": 0.3397, + "step": 3709 + }, + { + "epoch": 0.22799901671583087, + "grad_norm": 7.96875, + "learning_rate": 1.8707564797838024e-05, + "loss": 0.2869, + "step": 3710 + }, + { + "epoch": 0.22806047197640117, + "grad_norm": 18.5, + "learning_rate": 1.870642029046402e-05, + "loss": 0.3242, + "step": 3711 + }, + { + "epoch": 0.22812192723697147, + "grad_norm": 6.46875, + "learning_rate": 1.8705275311600724e-05, + "loss": 0.2222, + "step": 3712 + }, + { + "epoch": 0.22818338249754178, + "grad_norm": 38.25, + "learning_rate": 1.8704129861310137e-05, + "loss": 0.5253, + "step": 3713 + }, + { + "epoch": 0.2282448377581121, + "grad_norm": 12.125, + "learning_rate": 1.8702983939654296e-05, + "loss": 0.4688, + "step": 3714 + }, + { + "epoch": 0.2283062930186824, + "grad_norm": 28.25, + "learning_rate": 1.870183754669526e-05, + "loss": 0.4871, + "step": 3715 + }, + { + "epoch": 0.2283677482792527, + "grad_norm": 32.75, + "learning_rate": 1.87006906824951e-05, + "loss": 0.508, + "step": 3716 + }, + { + "epoch": 0.22842920353982302, + "grad_norm": 24.25, + "learning_rate": 1.8699543347115932e-05, + "loss": 0.7204, + "step": 3717 + }, + { + "epoch": 0.22849065880039332, + "grad_norm": 18.125, + "learning_rate": 1.8698395540619883e-05, + "loss": 0.4022, + "step": 3718 + }, + { + "epoch": 0.22855211406096362, + "grad_norm": 30.125, + "learning_rate": 1.8697247263069117e-05, + "loss": 0.4663, + "step": 3719 + }, + { + "epoch": 0.22861356932153393, + "grad_norm": 33.0, + "learning_rate": 1.8696098514525817e-05, + "loss": 0.611, + "step": 3720 + }, + { + "epoch": 0.22867502458210423, + "grad_norm": 8.8125, + "learning_rate": 1.869494929505219e-05, + "loss": 0.4505, + "step": 3721 + }, + { + "epoch": 0.22873647984267453, + "grad_norm": 46.0, + "learning_rate": 1.8693799604710476e-05, + "loss": 0.3797, + "step": 3722 + }, + { + "epoch": 0.22879793510324484, + "grad_norm": 10.625, + "learning_rate": 1.869264944356293e-05, + "loss": 0.3709, + "step": 3723 + }, + { + "epoch": 0.22885939036381514, + "grad_norm": 8.9375, + "learning_rate": 1.869149881167184e-05, + "loss": 0.419, + "step": 3724 + }, + { + "epoch": 0.22892084562438544, + "grad_norm": 8.0625, + "learning_rate": 1.8690347709099522e-05, + "loss": 0.3723, + "step": 3725 + }, + { + "epoch": 0.22898230088495575, + "grad_norm": 25.25, + "learning_rate": 1.8689196135908303e-05, + "loss": 0.4392, + "step": 3726 + }, + { + "epoch": 0.22904375614552605, + "grad_norm": 23.25, + "learning_rate": 1.8688044092160554e-05, + "loss": 0.326, + "step": 3727 + }, + { + "epoch": 0.22910521140609635, + "grad_norm": 18.625, + "learning_rate": 1.868689157791866e-05, + "loss": 0.291, + "step": 3728 + }, + { + "epoch": 0.22916666666666666, + "grad_norm": 17.75, + "learning_rate": 1.8685738593245038e-05, + "loss": 0.4228, + "step": 3729 + }, + { + "epoch": 0.22922812192723696, + "grad_norm": 24.5, + "learning_rate": 1.8684585138202122e-05, + "loss": 0.3606, + "step": 3730 + }, + { + "epoch": 0.22928957718780726, + "grad_norm": 22.25, + "learning_rate": 1.868343121285238e-05, + "loss": 0.4152, + "step": 3731 + }, + { + "epoch": 0.22935103244837757, + "grad_norm": 20.375, + "learning_rate": 1.86822768172583e-05, + "loss": 0.4731, + "step": 3732 + }, + { + "epoch": 0.2294124877089479, + "grad_norm": 18.5, + "learning_rate": 1.8681121951482397e-05, + "loss": 0.4204, + "step": 3733 + }, + { + "epoch": 0.2294739429695182, + "grad_norm": 30.5, + "learning_rate": 1.867996661558721e-05, + "loss": 0.4416, + "step": 3734 + }, + { + "epoch": 0.2295353982300885, + "grad_norm": 14.1875, + "learning_rate": 1.867881080963531e-05, + "loss": 0.3793, + "step": 3735 + }, + { + "epoch": 0.2295968534906588, + "grad_norm": 35.75, + "learning_rate": 1.8677654533689287e-05, + "loss": 0.5674, + "step": 3736 + }, + { + "epoch": 0.2296583087512291, + "grad_norm": 17.125, + "learning_rate": 1.867649778781176e-05, + "loss": 0.2961, + "step": 3737 + }, + { + "epoch": 0.22971976401179942, + "grad_norm": 26.25, + "learning_rate": 1.8675340572065365e-05, + "loss": 0.4206, + "step": 3738 + }, + { + "epoch": 0.22978121927236972, + "grad_norm": 5.875, + "learning_rate": 1.8674182886512776e-05, + "loss": 0.2942, + "step": 3739 + }, + { + "epoch": 0.22984267453294002, + "grad_norm": 5.96875, + "learning_rate": 1.8673024731216687e-05, + "loss": 0.2738, + "step": 3740 + }, + { + "epoch": 0.22990412979351033, + "grad_norm": 44.25, + "learning_rate": 1.8671866106239812e-05, + "loss": 0.274, + "step": 3741 + }, + { + "epoch": 0.22996558505408063, + "grad_norm": 32.5, + "learning_rate": 1.86707070116449e-05, + "loss": 0.3128, + "step": 3742 + }, + { + "epoch": 0.23002704031465093, + "grad_norm": 17.75, + "learning_rate": 1.8669547447494723e-05, + "loss": 0.2851, + "step": 3743 + }, + { + "epoch": 0.23008849557522124, + "grad_norm": 9.875, + "learning_rate": 1.866838741385207e-05, + "loss": 0.3147, + "step": 3744 + }, + { + "epoch": 0.23014995083579154, + "grad_norm": 19.125, + "learning_rate": 1.8667226910779767e-05, + "loss": 0.4185, + "step": 3745 + }, + { + "epoch": 0.23021140609636184, + "grad_norm": 18.875, + "learning_rate": 1.866606593834065e-05, + "loss": 0.3311, + "step": 3746 + }, + { + "epoch": 0.23027286135693215, + "grad_norm": 38.0, + "learning_rate": 1.8664904496597605e-05, + "loss": 0.4375, + "step": 3747 + }, + { + "epoch": 0.23033431661750245, + "grad_norm": 25.75, + "learning_rate": 1.866374258561352e-05, + "loss": 0.4427, + "step": 3748 + }, + { + "epoch": 0.23039577187807275, + "grad_norm": 12.125, + "learning_rate": 1.866258020545132e-05, + "loss": 0.3772, + "step": 3749 + }, + { + "epoch": 0.23045722713864306, + "grad_norm": 7.1875, + "learning_rate": 1.866141735617395e-05, + "loss": 0.3149, + "step": 3750 + }, + { + "epoch": 0.23051868239921336, + "grad_norm": 10.875, + "learning_rate": 1.866025403784439e-05, + "loss": 0.3991, + "step": 3751 + }, + { + "epoch": 0.2305801376597837, + "grad_norm": 21.25, + "learning_rate": 1.865909025052563e-05, + "loss": 0.254, + "step": 3752 + }, + { + "epoch": 0.230641592920354, + "grad_norm": 22.875, + "learning_rate": 1.86579259942807e-05, + "loss": 0.4425, + "step": 3753 + }, + { + "epoch": 0.2307030481809243, + "grad_norm": 11.9375, + "learning_rate": 1.8656761269172645e-05, + "loss": 0.6698, + "step": 3754 + }, + { + "epoch": 0.2307645034414946, + "grad_norm": 4.15625, + "learning_rate": 1.8655596075264543e-05, + "loss": 0.3844, + "step": 3755 + }, + { + "epoch": 0.2308259587020649, + "grad_norm": 17.5, + "learning_rate": 1.8654430412619494e-05, + "loss": 0.5303, + "step": 3756 + }, + { + "epoch": 0.2308874139626352, + "grad_norm": 28.875, + "learning_rate": 1.8653264281300622e-05, + "loss": 0.4399, + "step": 3757 + }, + { + "epoch": 0.2309488692232055, + "grad_norm": 41.75, + "learning_rate": 1.8652097681371076e-05, + "loss": 0.5223, + "step": 3758 + }, + { + "epoch": 0.23101032448377581, + "grad_norm": 3.96875, + "learning_rate": 1.865093061289404e-05, + "loss": 0.2942, + "step": 3759 + }, + { + "epoch": 0.23107177974434612, + "grad_norm": 15.0, + "learning_rate": 1.864976307593271e-05, + "loss": 0.3056, + "step": 3760 + }, + { + "epoch": 0.23113323500491642, + "grad_norm": 28.0, + "learning_rate": 1.8648595070550312e-05, + "loss": 0.4433, + "step": 3761 + }, + { + "epoch": 0.23119469026548672, + "grad_norm": 13.1875, + "learning_rate": 1.86474265968101e-05, + "loss": 0.4442, + "step": 3762 + }, + { + "epoch": 0.23125614552605703, + "grad_norm": 2.265625, + "learning_rate": 1.864625765477535e-05, + "loss": 0.3193, + "step": 3763 + }, + { + "epoch": 0.23131760078662733, + "grad_norm": 15.3125, + "learning_rate": 1.864508824450937e-05, + "loss": 0.3706, + "step": 3764 + }, + { + "epoch": 0.23137905604719763, + "grad_norm": 10.0, + "learning_rate": 1.8643918366075485e-05, + "loss": 0.337, + "step": 3765 + }, + { + "epoch": 0.23144051130776794, + "grad_norm": 3.859375, + "learning_rate": 1.864274801953705e-05, + "loss": 0.4285, + "step": 3766 + }, + { + "epoch": 0.23150196656833824, + "grad_norm": 13.9375, + "learning_rate": 1.864157720495744e-05, + "loss": 0.439, + "step": 3767 + }, + { + "epoch": 0.23156342182890854, + "grad_norm": 7.1875, + "learning_rate": 1.8640405922400068e-05, + "loss": 0.3328, + "step": 3768 + }, + { + "epoch": 0.23162487708947885, + "grad_norm": 23.875, + "learning_rate": 1.8639234171928355e-05, + "loss": 0.4916, + "step": 3769 + }, + { + "epoch": 0.23168633235004915, + "grad_norm": 17.625, + "learning_rate": 1.8638061953605762e-05, + "loss": 0.4495, + "step": 3770 + }, + { + "epoch": 0.23174778761061948, + "grad_norm": 11.0625, + "learning_rate": 1.8636889267495767e-05, + "loss": 0.4177, + "step": 3771 + }, + { + "epoch": 0.23180924287118979, + "grad_norm": 14.0, + "learning_rate": 1.8635716113661876e-05, + "loss": 0.3727, + "step": 3772 + }, + { + "epoch": 0.2318706981317601, + "grad_norm": 8.3125, + "learning_rate": 1.863454249216762e-05, + "loss": 0.3415, + "step": 3773 + }, + { + "epoch": 0.2319321533923304, + "grad_norm": 23.625, + "learning_rate": 1.8633368403076558e-05, + "loss": 0.4788, + "step": 3774 + }, + { + "epoch": 0.2319936086529007, + "grad_norm": 15.875, + "learning_rate": 1.863219384645227e-05, + "loss": 0.4249, + "step": 3775 + }, + { + "epoch": 0.232055063913471, + "grad_norm": 9.9375, + "learning_rate": 1.8631018822358363e-05, + "loss": 0.288, + "step": 3776 + }, + { + "epoch": 0.2321165191740413, + "grad_norm": 27.25, + "learning_rate": 1.8629843330858472e-05, + "loss": 0.6041, + "step": 3777 + }, + { + "epoch": 0.2321779744346116, + "grad_norm": 20.25, + "learning_rate": 1.862866737201625e-05, + "loss": 0.3561, + "step": 3778 + }, + { + "epoch": 0.2322394296951819, + "grad_norm": 9.125, + "learning_rate": 1.8627490945895387e-05, + "loss": 0.6297, + "step": 3779 + }, + { + "epoch": 0.2323008849557522, + "grad_norm": 15.0625, + "learning_rate": 1.8626314052559583e-05, + "loss": 0.611, + "step": 3780 + }, + { + "epoch": 0.23236234021632252, + "grad_norm": 27.5, + "learning_rate": 1.8625136692072577e-05, + "loss": 0.4662, + "step": 3781 + }, + { + "epoch": 0.23242379547689282, + "grad_norm": 30.5, + "learning_rate": 1.8623958864498125e-05, + "loss": 0.4833, + "step": 3782 + }, + { + "epoch": 0.23248525073746312, + "grad_norm": 26.875, + "learning_rate": 1.8622780569900016e-05, + "loss": 0.4608, + "step": 3783 + }, + { + "epoch": 0.23254670599803343, + "grad_norm": 17.25, + "learning_rate": 1.862160180834206e-05, + "loss": 0.6771, + "step": 3784 + }, + { + "epoch": 0.23260816125860373, + "grad_norm": 12.4375, + "learning_rate": 1.8620422579888082e-05, + "loss": 0.4398, + "step": 3785 + }, + { + "epoch": 0.23266961651917403, + "grad_norm": 35.5, + "learning_rate": 1.8619242884601953e-05, + "loss": 0.5837, + "step": 3786 + }, + { + "epoch": 0.23273107177974434, + "grad_norm": 10.125, + "learning_rate": 1.861806272254755e-05, + "loss": 0.5081, + "step": 3787 + }, + { + "epoch": 0.23279252704031464, + "grad_norm": 16.0, + "learning_rate": 1.8616882093788792e-05, + "loss": 0.3637, + "step": 3788 + }, + { + "epoch": 0.23285398230088494, + "grad_norm": 14.5, + "learning_rate": 1.8615700998389612e-05, + "loss": 0.3568, + "step": 3789 + }, + { + "epoch": 0.23291543756145527, + "grad_norm": 21.5, + "learning_rate": 1.8614519436413968e-05, + "loss": 0.4398, + "step": 3790 + }, + { + "epoch": 0.23297689282202558, + "grad_norm": 28.125, + "learning_rate": 1.8613337407925854e-05, + "loss": 0.3344, + "step": 3791 + }, + { + "epoch": 0.23303834808259588, + "grad_norm": 19.125, + "learning_rate": 1.861215491298927e-05, + "loss": 0.3715, + "step": 3792 + }, + { + "epoch": 0.23309980334316618, + "grad_norm": 5.40625, + "learning_rate": 1.8610971951668265e-05, + "loss": 0.3784, + "step": 3793 + }, + { + "epoch": 0.2331612586037365, + "grad_norm": 44.75, + "learning_rate": 1.8609788524026894e-05, + "loss": 0.6965, + "step": 3794 + }, + { + "epoch": 0.2332227138643068, + "grad_norm": 21.875, + "learning_rate": 1.8608604630129247e-05, + "loss": 0.4643, + "step": 3795 + }, + { + "epoch": 0.2332841691248771, + "grad_norm": 37.0, + "learning_rate": 1.860742027003944e-05, + "loss": 0.5774, + "step": 3796 + }, + { + "epoch": 0.2333456243854474, + "grad_norm": 17.5, + "learning_rate": 1.8606235443821602e-05, + "loss": 0.428, + "step": 3797 + }, + { + "epoch": 0.2334070796460177, + "grad_norm": 30.0, + "learning_rate": 1.8605050151539906e-05, + "loss": 0.3946, + "step": 3798 + }, + { + "epoch": 0.233468534906588, + "grad_norm": 10.625, + "learning_rate": 1.8603864393258534e-05, + "loss": 0.4832, + "step": 3799 + }, + { + "epoch": 0.2335299901671583, + "grad_norm": 26.625, + "learning_rate": 1.8602678169041705e-05, + "loss": 0.3553, + "step": 3800 + }, + { + "epoch": 0.2335914454277286, + "grad_norm": 13.25, + "learning_rate": 1.860149147895366e-05, + "loss": 0.3103, + "step": 3801 + }, + { + "epoch": 0.23365290068829891, + "grad_norm": 22.75, + "learning_rate": 1.860030432305865e-05, + "loss": 0.4174, + "step": 3802 + }, + { + "epoch": 0.23371435594886922, + "grad_norm": 7.9375, + "learning_rate": 1.8599116701420974e-05, + "loss": 0.3957, + "step": 3803 + }, + { + "epoch": 0.23377581120943952, + "grad_norm": 12.875, + "learning_rate": 1.859792861410495e-05, + "loss": 0.2933, + "step": 3804 + }, + { + "epoch": 0.23383726647000982, + "grad_norm": 29.125, + "learning_rate": 1.8596740061174912e-05, + "loss": 0.3773, + "step": 3805 + }, + { + "epoch": 0.23389872173058013, + "grad_norm": 5.59375, + "learning_rate": 1.859555104269523e-05, + "loss": 0.3295, + "step": 3806 + }, + { + "epoch": 0.23396017699115043, + "grad_norm": 16.625, + "learning_rate": 1.8594361558730287e-05, + "loss": 0.2904, + "step": 3807 + }, + { + "epoch": 0.23402163225172073, + "grad_norm": 25.5, + "learning_rate": 1.8593171609344505e-05, + "loss": 0.485, + "step": 3808 + }, + { + "epoch": 0.23408308751229107, + "grad_norm": 10.25, + "learning_rate": 1.8591981194602322e-05, + "loss": 0.4362, + "step": 3809 + }, + { + "epoch": 0.23414454277286137, + "grad_norm": 34.0, + "learning_rate": 1.8590790314568207e-05, + "loss": 0.5425, + "step": 3810 + }, + { + "epoch": 0.23420599803343167, + "grad_norm": 18.875, + "learning_rate": 1.8589598969306646e-05, + "loss": 0.396, + "step": 3811 + }, + { + "epoch": 0.23426745329400198, + "grad_norm": 21.375, + "learning_rate": 1.8588407158882157e-05, + "loss": 0.3493, + "step": 3812 + }, + { + "epoch": 0.23432890855457228, + "grad_norm": 23.375, + "learning_rate": 1.858721488335929e-05, + "loss": 0.3823, + "step": 3813 + }, + { + "epoch": 0.23439036381514258, + "grad_norm": 15.9375, + "learning_rate": 1.8586022142802597e-05, + "loss": 0.3937, + "step": 3814 + }, + { + "epoch": 0.2344518190757129, + "grad_norm": 26.375, + "learning_rate": 1.858482893727668e-05, + "loss": 0.3148, + "step": 3815 + }, + { + "epoch": 0.2345132743362832, + "grad_norm": 4.28125, + "learning_rate": 1.8583635266846155e-05, + "loss": 0.3068, + "step": 3816 + }, + { + "epoch": 0.2345747295968535, + "grad_norm": 14.1875, + "learning_rate": 1.8582441131575658e-05, + "loss": 0.3567, + "step": 3817 + }, + { + "epoch": 0.2346361848574238, + "grad_norm": 17.125, + "learning_rate": 1.8581246531529868e-05, + "loss": 0.3456, + "step": 3818 + }, + { + "epoch": 0.2346976401179941, + "grad_norm": 41.25, + "learning_rate": 1.8580051466773465e-05, + "loss": 0.3157, + "step": 3819 + }, + { + "epoch": 0.2347590953785644, + "grad_norm": 5.15625, + "learning_rate": 1.8578855937371176e-05, + "loss": 0.2712, + "step": 3820 + }, + { + "epoch": 0.2348205506391347, + "grad_norm": 7.9375, + "learning_rate": 1.8577659943387737e-05, + "loss": 0.362, + "step": 3821 + }, + { + "epoch": 0.234882005899705, + "grad_norm": 9.9375, + "learning_rate": 1.8576463484887927e-05, + "loss": 0.2734, + "step": 3822 + }, + { + "epoch": 0.2349434611602753, + "grad_norm": 4.90625, + "learning_rate": 1.8575266561936526e-05, + "loss": 0.2876, + "step": 3823 + }, + { + "epoch": 0.23500491642084562, + "grad_norm": 16.125, + "learning_rate": 1.857406917459836e-05, + "loss": 0.3983, + "step": 3824 + }, + { + "epoch": 0.23506637168141592, + "grad_norm": 46.0, + "learning_rate": 1.8572871322938267e-05, + "loss": 0.5058, + "step": 3825 + }, + { + "epoch": 0.23512782694198622, + "grad_norm": 36.5, + "learning_rate": 1.8571673007021124e-05, + "loss": 0.5802, + "step": 3826 + }, + { + "epoch": 0.23518928220255653, + "grad_norm": 41.0, + "learning_rate": 1.857047422691182e-05, + "loss": 0.4912, + "step": 3827 + }, + { + "epoch": 0.23525073746312683, + "grad_norm": 10.4375, + "learning_rate": 1.8569274982675273e-05, + "loss": 0.5207, + "step": 3828 + }, + { + "epoch": 0.23531219272369716, + "grad_norm": 13.375, + "learning_rate": 1.856807527437643e-05, + "loss": 0.4101, + "step": 3829 + }, + { + "epoch": 0.23537364798426746, + "grad_norm": 39.75, + "learning_rate": 1.856687510208026e-05, + "loss": 0.6383, + "step": 3830 + }, + { + "epoch": 0.23543510324483777, + "grad_norm": 45.0, + "learning_rate": 1.8565674465851753e-05, + "loss": 0.4806, + "step": 3831 + }, + { + "epoch": 0.23549655850540807, + "grad_norm": 10.75, + "learning_rate": 1.8564473365755936e-05, + "loss": 0.4865, + "step": 3832 + }, + { + "epoch": 0.23555801376597837, + "grad_norm": 18.75, + "learning_rate": 1.8563271801857844e-05, + "loss": 0.3519, + "step": 3833 + }, + { + "epoch": 0.23561946902654868, + "grad_norm": 39.0, + "learning_rate": 1.8562069774222556e-05, + "loss": 0.5569, + "step": 3834 + }, + { + "epoch": 0.23568092428711898, + "grad_norm": 24.375, + "learning_rate": 1.8560867282915164e-05, + "loss": 0.2704, + "step": 3835 + }, + { + "epoch": 0.23574237954768928, + "grad_norm": 23.375, + "learning_rate": 1.8559664328000782e-05, + "loss": 0.3785, + "step": 3836 + }, + { + "epoch": 0.2358038348082596, + "grad_norm": 19.0, + "learning_rate": 1.8558460909544564e-05, + "loss": 0.6539, + "step": 3837 + }, + { + "epoch": 0.2358652900688299, + "grad_norm": 17.25, + "learning_rate": 1.8557257027611677e-05, + "loss": 0.4072, + "step": 3838 + }, + { + "epoch": 0.2359267453294002, + "grad_norm": 9.375, + "learning_rate": 1.8556052682267314e-05, + "loss": 0.2761, + "step": 3839 + }, + { + "epoch": 0.2359882005899705, + "grad_norm": 22.375, + "learning_rate": 1.8554847873576696e-05, + "loss": 0.3507, + "step": 3840 + }, + { + "epoch": 0.2360496558505408, + "grad_norm": 32.5, + "learning_rate": 1.855364260160507e-05, + "loss": 0.4804, + "step": 3841 + }, + { + "epoch": 0.2361111111111111, + "grad_norm": 11.9375, + "learning_rate": 1.8552436866417703e-05, + "loss": 0.3391, + "step": 3842 + }, + { + "epoch": 0.2361725663716814, + "grad_norm": 15.9375, + "learning_rate": 1.8551230668079895e-05, + "loss": 0.4324, + "step": 3843 + }, + { + "epoch": 0.2362340216322517, + "grad_norm": 25.0, + "learning_rate": 1.8550024006656967e-05, + "loss": 0.5259, + "step": 3844 + }, + { + "epoch": 0.23629547689282202, + "grad_norm": 20.125, + "learning_rate": 1.8548816882214262e-05, + "loss": 0.4221, + "step": 3845 + }, + { + "epoch": 0.23635693215339232, + "grad_norm": 17.125, + "learning_rate": 1.854760929481715e-05, + "loss": 0.4661, + "step": 3846 + }, + { + "epoch": 0.23641838741396262, + "grad_norm": 7.875, + "learning_rate": 1.854640124453103e-05, + "loss": 0.3656, + "step": 3847 + }, + { + "epoch": 0.23647984267453295, + "grad_norm": 14.8125, + "learning_rate": 1.8545192731421323e-05, + "loss": 0.5368, + "step": 3848 + }, + { + "epoch": 0.23654129793510326, + "grad_norm": 21.5, + "learning_rate": 1.8543983755553474e-05, + "loss": 0.4362, + "step": 3849 + }, + { + "epoch": 0.23660275319567356, + "grad_norm": 10.0625, + "learning_rate": 1.8542774316992953e-05, + "loss": 0.3799, + "step": 3850 + }, + { + "epoch": 0.23666420845624386, + "grad_norm": 18.375, + "learning_rate": 1.854156441580526e-05, + "loss": 0.4987, + "step": 3851 + }, + { + "epoch": 0.23672566371681417, + "grad_norm": 20.625, + "learning_rate": 1.8540354052055908e-05, + "loss": 0.4421, + "step": 3852 + }, + { + "epoch": 0.23678711897738447, + "grad_norm": 5.125, + "learning_rate": 1.8539143225810453e-05, + "loss": 0.3247, + "step": 3853 + }, + { + "epoch": 0.23684857423795477, + "grad_norm": 4.6875, + "learning_rate": 1.853793193713446e-05, + "loss": 0.2877, + "step": 3854 + }, + { + "epoch": 0.23691002949852508, + "grad_norm": 22.0, + "learning_rate": 1.8536720186093528e-05, + "loss": 0.2818, + "step": 3855 + }, + { + "epoch": 0.23697148475909538, + "grad_norm": 2.8125, + "learning_rate": 1.8535507972753275e-05, + "loss": 0.2693, + "step": 3856 + }, + { + "epoch": 0.23703294001966568, + "grad_norm": 16.625, + "learning_rate": 1.8534295297179354e-05, + "loss": 0.3294, + "step": 3857 + }, + { + "epoch": 0.237094395280236, + "grad_norm": 8.5625, + "learning_rate": 1.8533082159437433e-05, + "loss": 0.4744, + "step": 3858 + }, + { + "epoch": 0.2371558505408063, + "grad_norm": 20.625, + "learning_rate": 1.8531868559593205e-05, + "loss": 0.3113, + "step": 3859 + }, + { + "epoch": 0.2372173058013766, + "grad_norm": 20.125, + "learning_rate": 1.8530654497712395e-05, + "loss": 0.4113, + "step": 3860 + }, + { + "epoch": 0.2372787610619469, + "grad_norm": 15.8125, + "learning_rate": 1.852943997386075e-05, + "loss": 0.3171, + "step": 3861 + }, + { + "epoch": 0.2373402163225172, + "grad_norm": 6.90625, + "learning_rate": 1.8528224988104044e-05, + "loss": 0.2275, + "step": 3862 + }, + { + "epoch": 0.2374016715830875, + "grad_norm": 21.625, + "learning_rate": 1.852700954050807e-05, + "loss": 0.4057, + "step": 3863 + }, + { + "epoch": 0.2374631268436578, + "grad_norm": 36.75, + "learning_rate": 1.8525793631138647e-05, + "loss": 0.3626, + "step": 3864 + }, + { + "epoch": 0.2375245821042281, + "grad_norm": 24.625, + "learning_rate": 1.8524577260061628e-05, + "loss": 0.3797, + "step": 3865 + }, + { + "epoch": 0.2375860373647984, + "grad_norm": 13.0625, + "learning_rate": 1.8523360427342877e-05, + "loss": 0.6008, + "step": 3866 + }, + { + "epoch": 0.23764749262536874, + "grad_norm": 8.625, + "learning_rate": 1.8522143133048298e-05, + "loss": 0.3107, + "step": 3867 + }, + { + "epoch": 0.23770894788593905, + "grad_norm": 33.75, + "learning_rate": 1.8520925377243812e-05, + "loss": 0.3394, + "step": 3868 + }, + { + "epoch": 0.23777040314650935, + "grad_norm": 7.34375, + "learning_rate": 1.851970715999536e-05, + "loss": 0.3601, + "step": 3869 + }, + { + "epoch": 0.23783185840707965, + "grad_norm": 13.1875, + "learning_rate": 1.8518488481368915e-05, + "loss": 0.2946, + "step": 3870 + }, + { + "epoch": 0.23789331366764996, + "grad_norm": 7.34375, + "learning_rate": 1.851726934143048e-05, + "loss": 0.27, + "step": 3871 + }, + { + "epoch": 0.23795476892822026, + "grad_norm": 5.28125, + "learning_rate": 1.8516049740246068e-05, + "loss": 0.361, + "step": 3872 + }, + { + "epoch": 0.23801622418879056, + "grad_norm": 3.984375, + "learning_rate": 1.851482967788173e-05, + "loss": 0.3298, + "step": 3873 + }, + { + "epoch": 0.23807767944936087, + "grad_norm": 12.8125, + "learning_rate": 1.8513609154403535e-05, + "loss": 0.3937, + "step": 3874 + }, + { + "epoch": 0.23813913470993117, + "grad_norm": 12.5625, + "learning_rate": 1.8512388169877587e-05, + "loss": 0.4005, + "step": 3875 + }, + { + "epoch": 0.23820058997050148, + "grad_norm": 7.15625, + "learning_rate": 1.8511166724369997e-05, + "loss": 0.3274, + "step": 3876 + }, + { + "epoch": 0.23826204523107178, + "grad_norm": 12.9375, + "learning_rate": 1.850994481794692e-05, + "loss": 0.3153, + "step": 3877 + }, + { + "epoch": 0.23832350049164208, + "grad_norm": 11.375, + "learning_rate": 1.850872245067452e-05, + "loss": 0.3425, + "step": 3878 + }, + { + "epoch": 0.23838495575221239, + "grad_norm": 11.3125, + "learning_rate": 1.8507499622619e-05, + "loss": 0.2811, + "step": 3879 + }, + { + "epoch": 0.2384464110127827, + "grad_norm": 12.25, + "learning_rate": 1.850627633384658e-05, + "loss": 0.4582, + "step": 3880 + }, + { + "epoch": 0.238507866273353, + "grad_norm": 4.125, + "learning_rate": 1.85050525844235e-05, + "loss": 0.3322, + "step": 3881 + }, + { + "epoch": 0.2385693215339233, + "grad_norm": 55.5, + "learning_rate": 1.8503828374416038e-05, + "loss": 0.3364, + "step": 3882 + }, + { + "epoch": 0.2386307767944936, + "grad_norm": 12.4375, + "learning_rate": 1.8502603703890488e-05, + "loss": 0.3438, + "step": 3883 + }, + { + "epoch": 0.2386922320550639, + "grad_norm": 42.75, + "learning_rate": 1.850137857291317e-05, + "loss": 0.3413, + "step": 3884 + }, + { + "epoch": 0.2387536873156342, + "grad_norm": 5.375, + "learning_rate": 1.850015298155043e-05, + "loss": 0.3213, + "step": 3885 + }, + { + "epoch": 0.23881514257620454, + "grad_norm": 12.5625, + "learning_rate": 1.849892692986864e-05, + "loss": 0.3287, + "step": 3886 + }, + { + "epoch": 0.23887659783677484, + "grad_norm": 34.75, + "learning_rate": 1.8497700417934195e-05, + "loss": 0.3921, + "step": 3887 + }, + { + "epoch": 0.23893805309734514, + "grad_norm": 35.25, + "learning_rate": 1.849647344581352e-05, + "loss": 0.3449, + "step": 3888 + }, + { + "epoch": 0.23899950835791545, + "grad_norm": 2.59375, + "learning_rate": 1.8495246013573057e-05, + "loss": 0.4264, + "step": 3889 + }, + { + "epoch": 0.23906096361848575, + "grad_norm": 8.6875, + "learning_rate": 1.8494018121279274e-05, + "loss": 0.5112, + "step": 3890 + }, + { + "epoch": 0.23912241887905605, + "grad_norm": 34.25, + "learning_rate": 1.8492789768998668e-05, + "loss": 0.5012, + "step": 3891 + }, + { + "epoch": 0.23918387413962636, + "grad_norm": 15.6875, + "learning_rate": 1.8491560956797766e-05, + "loss": 0.5751, + "step": 3892 + }, + { + "epoch": 0.23924532940019666, + "grad_norm": 19.5, + "learning_rate": 1.8490331684743105e-05, + "loss": 0.4268, + "step": 3893 + }, + { + "epoch": 0.23930678466076696, + "grad_norm": 20.875, + "learning_rate": 1.8489101952901256e-05, + "loss": 0.5277, + "step": 3894 + }, + { + "epoch": 0.23936823992133727, + "grad_norm": 6.71875, + "learning_rate": 1.848787176133882e-05, + "loss": 0.3717, + "step": 3895 + }, + { + "epoch": 0.23942969518190757, + "grad_norm": 17.25, + "learning_rate": 1.848664111012241e-05, + "loss": 0.3938, + "step": 3896 + }, + { + "epoch": 0.23949115044247787, + "grad_norm": 20.5, + "learning_rate": 1.848540999931868e-05, + "loss": 0.4175, + "step": 3897 + }, + { + "epoch": 0.23955260570304818, + "grad_norm": 4.84375, + "learning_rate": 1.848417842899429e-05, + "loss": 0.2745, + "step": 3898 + }, + { + "epoch": 0.23961406096361848, + "grad_norm": 8.3125, + "learning_rate": 1.8482946399215943e-05, + "loss": 0.481, + "step": 3899 + }, + { + "epoch": 0.23967551622418878, + "grad_norm": 13.1875, + "learning_rate": 1.848171391005035e-05, + "loss": 0.4082, + "step": 3900 + }, + { + "epoch": 0.2397369714847591, + "grad_norm": 29.25, + "learning_rate": 1.848048096156426e-05, + "loss": 0.6365, + "step": 3901 + }, + { + "epoch": 0.2397984267453294, + "grad_norm": 38.25, + "learning_rate": 1.8479247553824445e-05, + "loss": 0.3512, + "step": 3902 + }, + { + "epoch": 0.2398598820058997, + "grad_norm": 12.3125, + "learning_rate": 1.8478013686897696e-05, + "loss": 0.4087, + "step": 3903 + }, + { + "epoch": 0.23992133726647, + "grad_norm": 4.8125, + "learning_rate": 1.8476779360850833e-05, + "loss": 0.3764, + "step": 3904 + }, + { + "epoch": 0.23998279252704033, + "grad_norm": 4.4375, + "learning_rate": 1.84755445757507e-05, + "loss": 0.4335, + "step": 3905 + }, + { + "epoch": 0.24004424778761063, + "grad_norm": 14.4375, + "learning_rate": 1.8474309331664165e-05, + "loss": 0.4527, + "step": 3906 + }, + { + "epoch": 0.24010570304818094, + "grad_norm": 9.0, + "learning_rate": 1.8473073628658123e-05, + "loss": 0.5094, + "step": 3907 + }, + { + "epoch": 0.24016715830875124, + "grad_norm": 30.375, + "learning_rate": 1.847183746679949e-05, + "loss": 0.5736, + "step": 3908 + }, + { + "epoch": 0.24022861356932154, + "grad_norm": 17.75, + "learning_rate": 1.8470600846155213e-05, + "loss": 0.4153, + "step": 3909 + }, + { + "epoch": 0.24029006882989185, + "grad_norm": 10.0, + "learning_rate": 1.8469363766792258e-05, + "loss": 0.4624, + "step": 3910 + }, + { + "epoch": 0.24035152409046215, + "grad_norm": 24.5, + "learning_rate": 1.8468126228777617e-05, + "loss": 0.5461, + "step": 3911 + }, + { + "epoch": 0.24041297935103245, + "grad_norm": 51.25, + "learning_rate": 1.8466888232178312e-05, + "loss": 0.4496, + "step": 3912 + }, + { + "epoch": 0.24047443461160276, + "grad_norm": 20.625, + "learning_rate": 1.8465649777061377e-05, + "loss": 0.5879, + "step": 3913 + }, + { + "epoch": 0.24053588987217306, + "grad_norm": 26.875, + "learning_rate": 1.846441086349389e-05, + "loss": 0.6312, + "step": 3914 + }, + { + "epoch": 0.24059734513274336, + "grad_norm": 21.875, + "learning_rate": 1.846317149154294e-05, + "loss": 0.4866, + "step": 3915 + }, + { + "epoch": 0.24065880039331367, + "grad_norm": 39.0, + "learning_rate": 1.8461931661275642e-05, + "loss": 0.5921, + "step": 3916 + }, + { + "epoch": 0.24072025565388397, + "grad_norm": 13.0625, + "learning_rate": 1.846069137275914e-05, + "loss": 0.4138, + "step": 3917 + }, + { + "epoch": 0.24078171091445427, + "grad_norm": 13.6875, + "learning_rate": 1.8459450626060596e-05, + "loss": 0.4337, + "step": 3918 + }, + { + "epoch": 0.24084316617502458, + "grad_norm": 20.625, + "learning_rate": 1.8458209421247208e-05, + "loss": 0.4422, + "step": 3919 + }, + { + "epoch": 0.24090462143559488, + "grad_norm": 25.75, + "learning_rate": 1.8456967758386192e-05, + "loss": 0.5354, + "step": 3920 + }, + { + "epoch": 0.24096607669616518, + "grad_norm": 50.0, + "learning_rate": 1.8455725637544784e-05, + "loss": 0.4677, + "step": 3921 + }, + { + "epoch": 0.24102753195673549, + "grad_norm": 32.25, + "learning_rate": 1.8454483058790254e-05, + "loss": 0.5111, + "step": 3922 + }, + { + "epoch": 0.2410889872173058, + "grad_norm": 26.875, + "learning_rate": 1.8453240022189896e-05, + "loss": 0.3977, + "step": 3923 + }, + { + "epoch": 0.2411504424778761, + "grad_norm": 19.25, + "learning_rate": 1.8451996527811018e-05, + "loss": 0.4372, + "step": 3924 + }, + { + "epoch": 0.24121189773844642, + "grad_norm": 9.5, + "learning_rate": 1.8450752575720967e-05, + "loss": 0.4313, + "step": 3925 + }, + { + "epoch": 0.24127335299901673, + "grad_norm": 28.5, + "learning_rate": 1.8449508165987106e-05, + "loss": 0.4289, + "step": 3926 + }, + { + "epoch": 0.24133480825958703, + "grad_norm": 38.25, + "learning_rate": 1.844826329867682e-05, + "loss": 0.3315, + "step": 3927 + }, + { + "epoch": 0.24139626352015733, + "grad_norm": 9.25, + "learning_rate": 1.844701797385753e-05, + "loss": 0.2797, + "step": 3928 + }, + { + "epoch": 0.24145771878072764, + "grad_norm": 23.375, + "learning_rate": 1.8445772191596676e-05, + "loss": 0.3894, + "step": 3929 + }, + { + "epoch": 0.24151917404129794, + "grad_norm": 19.75, + "learning_rate": 1.844452595196172e-05, + "loss": 0.5158, + "step": 3930 + }, + { + "epoch": 0.24158062930186824, + "grad_norm": 34.5, + "learning_rate": 1.8443279255020153e-05, + "loss": 0.5255, + "step": 3931 + }, + { + "epoch": 0.24164208456243855, + "grad_norm": 12.125, + "learning_rate": 1.8442032100839484e-05, + "loss": 0.4037, + "step": 3932 + }, + { + "epoch": 0.24170353982300885, + "grad_norm": 5.21875, + "learning_rate": 1.8440784489487256e-05, + "loss": 0.3674, + "step": 3933 + }, + { + "epoch": 0.24176499508357915, + "grad_norm": 27.375, + "learning_rate": 1.8439536421031035e-05, + "loss": 0.3846, + "step": 3934 + }, + { + "epoch": 0.24182645034414946, + "grad_norm": 20.125, + "learning_rate": 1.84382878955384e-05, + "loss": 0.4185, + "step": 3935 + }, + { + "epoch": 0.24188790560471976, + "grad_norm": 8.25, + "learning_rate": 1.8437038913076974e-05, + "loss": 0.4124, + "step": 3936 + }, + { + "epoch": 0.24194936086529006, + "grad_norm": 21.5, + "learning_rate": 1.843578947371439e-05, + "loss": 0.4238, + "step": 3937 + }, + { + "epoch": 0.24201081612586037, + "grad_norm": 16.5, + "learning_rate": 1.843453957751831e-05, + "loss": 0.3941, + "step": 3938 + }, + { + "epoch": 0.24207227138643067, + "grad_norm": 16.875, + "learning_rate": 1.843328922455642e-05, + "loss": 0.4682, + "step": 3939 + }, + { + "epoch": 0.24213372664700097, + "grad_norm": 17.625, + "learning_rate": 1.8432038414896432e-05, + "loss": 0.5307, + "step": 3940 + }, + { + "epoch": 0.24219518190757128, + "grad_norm": 14.75, + "learning_rate": 1.8430787148606087e-05, + "loss": 0.3972, + "step": 3941 + }, + { + "epoch": 0.24225663716814158, + "grad_norm": 20.0, + "learning_rate": 1.8429535425753145e-05, + "loss": 0.4482, + "step": 3942 + }, + { + "epoch": 0.24231809242871188, + "grad_norm": 23.625, + "learning_rate": 1.842828324640539e-05, + "loss": 0.5109, + "step": 3943 + }, + { + "epoch": 0.24237954768928222, + "grad_norm": 29.125, + "learning_rate": 1.842703061063063e-05, + "loss": 0.4073, + "step": 3944 + }, + { + "epoch": 0.24244100294985252, + "grad_norm": 22.25, + "learning_rate": 1.8425777518496707e-05, + "loss": 0.5443, + "step": 3945 + }, + { + "epoch": 0.24250245821042282, + "grad_norm": 25.25, + "learning_rate": 1.842452397007148e-05, + "loss": 0.4738, + "step": 3946 + }, + { + "epoch": 0.24256391347099313, + "grad_norm": 22.875, + "learning_rate": 1.8423269965422826e-05, + "loss": 0.3923, + "step": 3947 + }, + { + "epoch": 0.24262536873156343, + "grad_norm": 11.3125, + "learning_rate": 1.8422015504618664e-05, + "loss": 0.3796, + "step": 3948 + }, + { + "epoch": 0.24268682399213373, + "grad_norm": 25.625, + "learning_rate": 1.8420760587726925e-05, + "loss": 0.6177, + "step": 3949 + }, + { + "epoch": 0.24274827925270404, + "grad_norm": 4.9375, + "learning_rate": 1.8419505214815567e-05, + "loss": 0.3117, + "step": 3950 + }, + { + "epoch": 0.24280973451327434, + "grad_norm": 37.75, + "learning_rate": 1.8418249385952575e-05, + "loss": 0.3569, + "step": 3951 + }, + { + "epoch": 0.24287118977384464, + "grad_norm": 13.8125, + "learning_rate": 1.8416993101205957e-05, + "loss": 0.4344, + "step": 3952 + }, + { + "epoch": 0.24293264503441495, + "grad_norm": 22.25, + "learning_rate": 1.841573636064375e-05, + "loss": 0.4031, + "step": 3953 + }, + { + "epoch": 0.24299410029498525, + "grad_norm": 31.875, + "learning_rate": 1.8414479164334004e-05, + "loss": 0.4428, + "step": 3954 + }, + { + "epoch": 0.24305555555555555, + "grad_norm": 16.375, + "learning_rate": 1.8413221512344805e-05, + "loss": 0.3358, + "step": 3955 + }, + { + "epoch": 0.24311701081612586, + "grad_norm": 4.90625, + "learning_rate": 1.8411963404744263e-05, + "loss": 0.308, + "step": 3956 + }, + { + "epoch": 0.24317846607669616, + "grad_norm": 18.0, + "learning_rate": 1.8410704841600506e-05, + "loss": 0.301, + "step": 3957 + }, + { + "epoch": 0.24323992133726646, + "grad_norm": 3.640625, + "learning_rate": 1.8409445822981694e-05, + "loss": 0.4239, + "step": 3958 + }, + { + "epoch": 0.24330137659783677, + "grad_norm": 25.875, + "learning_rate": 1.8408186348956e-05, + "loss": 0.3616, + "step": 3959 + }, + { + "epoch": 0.24336283185840707, + "grad_norm": 6.3125, + "learning_rate": 1.8406926419591644e-05, + "loss": 0.3402, + "step": 3960 + }, + { + "epoch": 0.24342428711897737, + "grad_norm": 13.25, + "learning_rate": 1.8405666034956842e-05, + "loss": 0.326, + "step": 3961 + }, + { + "epoch": 0.24348574237954768, + "grad_norm": 17.25, + "learning_rate": 1.840440519511986e-05, + "loss": 0.4571, + "step": 3962 + }, + { + "epoch": 0.243547197640118, + "grad_norm": 17.25, + "learning_rate": 1.840314390014897e-05, + "loss": 0.6504, + "step": 3963 + }, + { + "epoch": 0.2436086529006883, + "grad_norm": 21.625, + "learning_rate": 1.8401882150112485e-05, + "loss": 0.5625, + "step": 3964 + }, + { + "epoch": 0.24367010816125861, + "grad_norm": 7.21875, + "learning_rate": 1.8400619945078725e-05, + "loss": 0.3691, + "step": 3965 + }, + { + "epoch": 0.24373156342182892, + "grad_norm": 25.625, + "learning_rate": 1.8399357285116045e-05, + "loss": 0.3519, + "step": 3966 + }, + { + "epoch": 0.24379301868239922, + "grad_norm": 6.3125, + "learning_rate": 1.839809417029283e-05, + "loss": 0.331, + "step": 3967 + }, + { + "epoch": 0.24385447394296952, + "grad_norm": 8.0, + "learning_rate": 1.839683060067748e-05, + "loss": 0.2673, + "step": 3968 + }, + { + "epoch": 0.24391592920353983, + "grad_norm": 34.5, + "learning_rate": 1.8395566576338416e-05, + "loss": 0.4243, + "step": 3969 + }, + { + "epoch": 0.24397738446411013, + "grad_norm": 41.25, + "learning_rate": 1.8394302097344103e-05, + "loss": 0.5283, + "step": 3970 + }, + { + "epoch": 0.24403883972468043, + "grad_norm": 37.5, + "learning_rate": 1.8393037163763005e-05, + "loss": 0.4097, + "step": 3971 + }, + { + "epoch": 0.24410029498525074, + "grad_norm": 9.0625, + "learning_rate": 1.8391771775663628e-05, + "loss": 0.3138, + "step": 3972 + }, + { + "epoch": 0.24416175024582104, + "grad_norm": 53.75, + "learning_rate": 1.8390505933114503e-05, + "loss": 0.4512, + "step": 3973 + }, + { + "epoch": 0.24422320550639134, + "grad_norm": 6.34375, + "learning_rate": 1.8389239636184177e-05, + "loss": 0.3777, + "step": 3974 + }, + { + "epoch": 0.24428466076696165, + "grad_norm": 5.6875, + "learning_rate": 1.838797288494122e-05, + "loss": 0.5333, + "step": 3975 + }, + { + "epoch": 0.24434611602753195, + "grad_norm": 14.75, + "learning_rate": 1.8386705679454243e-05, + "loss": 0.5531, + "step": 3976 + }, + { + "epoch": 0.24440757128810225, + "grad_norm": 43.25, + "learning_rate": 1.8385438019791862e-05, + "loss": 0.4105, + "step": 3977 + }, + { + "epoch": 0.24446902654867256, + "grad_norm": 7.71875, + "learning_rate": 1.838416990602273e-05, + "loss": 0.3496, + "step": 3978 + }, + { + "epoch": 0.24453048180924286, + "grad_norm": 38.5, + "learning_rate": 1.8382901338215515e-05, + "loss": 0.3609, + "step": 3979 + }, + { + "epoch": 0.24459193706981316, + "grad_norm": 14.6875, + "learning_rate": 1.8381632316438923e-05, + "loss": 0.2488, + "step": 3980 + }, + { + "epoch": 0.24465339233038347, + "grad_norm": 4.90625, + "learning_rate": 1.8380362840761675e-05, + "loss": 0.3516, + "step": 3981 + }, + { + "epoch": 0.2447148475909538, + "grad_norm": 18.25, + "learning_rate": 1.8379092911252515e-05, + "loss": 0.334, + "step": 3982 + }, + { + "epoch": 0.2447763028515241, + "grad_norm": 8.125, + "learning_rate": 1.8377822527980216e-05, + "loss": 0.2432, + "step": 3983 + }, + { + "epoch": 0.2448377581120944, + "grad_norm": 21.875, + "learning_rate": 1.8376551691013577e-05, + "loss": 0.473, + "step": 3984 + }, + { + "epoch": 0.2448992133726647, + "grad_norm": 4.21875, + "learning_rate": 1.837528040042142e-05, + "loss": 0.2835, + "step": 3985 + }, + { + "epoch": 0.244960668633235, + "grad_norm": 7.0625, + "learning_rate": 1.8374008656272585e-05, + "loss": 0.3384, + "step": 3986 + }, + { + "epoch": 0.24502212389380532, + "grad_norm": 20.75, + "learning_rate": 1.8372736458635947e-05, + "loss": 0.442, + "step": 3987 + }, + { + "epoch": 0.24508357915437562, + "grad_norm": 41.5, + "learning_rate": 1.83714638075804e-05, + "loss": 0.5617, + "step": 3988 + }, + { + "epoch": 0.24514503441494592, + "grad_norm": 25.25, + "learning_rate": 1.8370190703174862e-05, + "loss": 0.326, + "step": 3989 + }, + { + "epoch": 0.24520648967551623, + "grad_norm": 44.5, + "learning_rate": 1.836891714548828e-05, + "loss": 0.3708, + "step": 3990 + }, + { + "epoch": 0.24526794493608653, + "grad_norm": 10.9375, + "learning_rate": 1.836764313458962e-05, + "loss": 0.322, + "step": 3991 + }, + { + "epoch": 0.24532940019665683, + "grad_norm": 12.0625, + "learning_rate": 1.8366368670547873e-05, + "loss": 0.3048, + "step": 3992 + }, + { + "epoch": 0.24539085545722714, + "grad_norm": 9.3125, + "learning_rate": 1.836509375343206e-05, + "loss": 0.3057, + "step": 3993 + }, + { + "epoch": 0.24545231071779744, + "grad_norm": 3.578125, + "learning_rate": 1.8363818383311226e-05, + "loss": 0.3365, + "step": 3994 + }, + { + "epoch": 0.24551376597836774, + "grad_norm": 20.5, + "learning_rate": 1.836254256025443e-05, + "loss": 0.4896, + "step": 3995 + }, + { + "epoch": 0.24557522123893805, + "grad_norm": 5.90625, + "learning_rate": 1.836126628433077e-05, + "loss": 0.2832, + "step": 3996 + }, + { + "epoch": 0.24563667649950835, + "grad_norm": 17.25, + "learning_rate": 1.8359989555609355e-05, + "loss": 0.3137, + "step": 3997 + }, + { + "epoch": 0.24569813176007865, + "grad_norm": 19.5, + "learning_rate": 1.8358712374159332e-05, + "loss": 0.2704, + "step": 3998 + }, + { + "epoch": 0.24575958702064896, + "grad_norm": 24.0, + "learning_rate": 1.835743474004986e-05, + "loss": 0.5175, + "step": 3999 + }, + { + "epoch": 0.24582104228121926, + "grad_norm": 5.125, + "learning_rate": 1.8356156653350138e-05, + "loss": 0.2654, + "step": 4000 + }, + { + "epoch": 0.2458824975417896, + "grad_norm": 25.0, + "learning_rate": 1.8354878114129368e-05, + "loss": 0.4489, + "step": 4001 + }, + { + "epoch": 0.2459439528023599, + "grad_norm": 26.5, + "learning_rate": 1.835359912245679e-05, + "loss": 0.5935, + "step": 4002 + }, + { + "epoch": 0.2460054080629302, + "grad_norm": 53.25, + "learning_rate": 1.8352319678401677e-05, + "loss": 0.5617, + "step": 4003 + }, + { + "epoch": 0.2460668633235005, + "grad_norm": 29.625, + "learning_rate": 1.8351039782033303e-05, + "loss": 0.5743, + "step": 4004 + }, + { + "epoch": 0.2461283185840708, + "grad_norm": 30.0, + "learning_rate": 1.834975943342099e-05, + "loss": 0.4428, + "step": 4005 + }, + { + "epoch": 0.2461897738446411, + "grad_norm": 12.9375, + "learning_rate": 1.8348478632634067e-05, + "loss": 0.3116, + "step": 4006 + }, + { + "epoch": 0.2462512291052114, + "grad_norm": 24.75, + "learning_rate": 1.83471973797419e-05, + "loss": 0.3855, + "step": 4007 + }, + { + "epoch": 0.24631268436578171, + "grad_norm": 24.75, + "learning_rate": 1.834591567481387e-05, + "loss": 0.3111, + "step": 4008 + }, + { + "epoch": 0.24637413962635202, + "grad_norm": 19.5, + "learning_rate": 1.834463351791939e-05, + "loss": 0.3486, + "step": 4009 + }, + { + "epoch": 0.24643559488692232, + "grad_norm": 17.375, + "learning_rate": 1.8343350909127897e-05, + "loss": 0.3523, + "step": 4010 + }, + { + "epoch": 0.24649705014749262, + "grad_norm": 25.375, + "learning_rate": 1.8342067848508843e-05, + "loss": 0.3483, + "step": 4011 + }, + { + "epoch": 0.24655850540806293, + "grad_norm": 15.3125, + "learning_rate": 1.8340784336131715e-05, + "loss": 0.313, + "step": 4012 + }, + { + "epoch": 0.24661996066863323, + "grad_norm": 20.125, + "learning_rate": 1.8339500372066018e-05, + "loss": 0.2793, + "step": 4013 + }, + { + "epoch": 0.24668141592920353, + "grad_norm": 36.25, + "learning_rate": 1.8338215956381283e-05, + "loss": 0.3837, + "step": 4014 + }, + { + "epoch": 0.24674287118977384, + "grad_norm": 11.375, + "learning_rate": 1.8336931089147076e-05, + "loss": 0.2733, + "step": 4015 + }, + { + "epoch": 0.24680432645034414, + "grad_norm": 31.875, + "learning_rate": 1.8335645770432963e-05, + "loss": 0.3363, + "step": 4016 + }, + { + "epoch": 0.24686578171091444, + "grad_norm": 20.125, + "learning_rate": 1.8334360000308563e-05, + "loss": 0.5316, + "step": 4017 + }, + { + "epoch": 0.24692723697148475, + "grad_norm": 4.0625, + "learning_rate": 1.83330737788435e-05, + "loss": 0.3169, + "step": 4018 + }, + { + "epoch": 0.24698869223205505, + "grad_norm": 3.5, + "learning_rate": 1.8331787106107425e-05, + "loss": 0.3207, + "step": 4019 + }, + { + "epoch": 0.24705014749262535, + "grad_norm": 11.9375, + "learning_rate": 1.8330499982170024e-05, + "loss": 0.2851, + "step": 4020 + }, + { + "epoch": 0.24711160275319569, + "grad_norm": 3.5625, + "learning_rate": 1.8329212407100996e-05, + "loss": 0.3365, + "step": 4021 + }, + { + "epoch": 0.247173058013766, + "grad_norm": 5.125, + "learning_rate": 1.8327924380970066e-05, + "loss": 0.3067, + "step": 4022 + }, + { + "epoch": 0.2472345132743363, + "grad_norm": 3.96875, + "learning_rate": 1.8326635903846995e-05, + "loss": 0.3348, + "step": 4023 + }, + { + "epoch": 0.2472959685349066, + "grad_norm": 21.5, + "learning_rate": 1.832534697580155e-05, + "loss": 0.384, + "step": 4024 + }, + { + "epoch": 0.2473574237954769, + "grad_norm": 11.25, + "learning_rate": 1.8324057596903534e-05, + "loss": 0.3548, + "step": 4025 + }, + { + "epoch": 0.2474188790560472, + "grad_norm": 49.0, + "learning_rate": 1.832276776722278e-05, + "loss": 0.588, + "step": 4026 + }, + { + "epoch": 0.2474803343166175, + "grad_norm": 16.125, + "learning_rate": 1.8321477486829128e-05, + "loss": 0.3635, + "step": 4027 + }, + { + "epoch": 0.2475417895771878, + "grad_norm": 4.8125, + "learning_rate": 1.8320186755792452e-05, + "loss": 0.274, + "step": 4028 + }, + { + "epoch": 0.2476032448377581, + "grad_norm": 11.6875, + "learning_rate": 1.8318895574182657e-05, + "loss": 0.3442, + "step": 4029 + }, + { + "epoch": 0.24766470009832842, + "grad_norm": 16.25, + "learning_rate": 1.8317603942069665e-05, + "loss": 0.3387, + "step": 4030 + }, + { + "epoch": 0.24772615535889872, + "grad_norm": 26.375, + "learning_rate": 1.831631185952342e-05, + "loss": 0.4472, + "step": 4031 + }, + { + "epoch": 0.24778761061946902, + "grad_norm": 28.125, + "learning_rate": 1.8315019326613897e-05, + "loss": 0.4723, + "step": 4032 + }, + { + "epoch": 0.24784906588003933, + "grad_norm": 24.25, + "learning_rate": 1.8313726343411085e-05, + "loss": 0.5292, + "step": 4033 + }, + { + "epoch": 0.24791052114060963, + "grad_norm": 38.0, + "learning_rate": 1.8312432909985017e-05, + "loss": 0.4845, + "step": 4034 + }, + { + "epoch": 0.24797197640117993, + "grad_norm": 24.375, + "learning_rate": 1.8311139026405725e-05, + "loss": 0.3009, + "step": 4035 + }, + { + "epoch": 0.24803343166175024, + "grad_norm": 34.75, + "learning_rate": 1.8309844692743283e-05, + "loss": 0.4395, + "step": 4036 + }, + { + "epoch": 0.24809488692232054, + "grad_norm": 12.9375, + "learning_rate": 1.830854990906779e-05, + "loss": 0.3267, + "step": 4037 + }, + { + "epoch": 0.24815634218289084, + "grad_norm": 6.15625, + "learning_rate": 1.8307254675449355e-05, + "loss": 0.394, + "step": 4038 + }, + { + "epoch": 0.24821779744346115, + "grad_norm": 18.0, + "learning_rate": 1.830595899195813e-05, + "loss": 0.2889, + "step": 4039 + }, + { + "epoch": 0.24827925270403148, + "grad_norm": 21.5, + "learning_rate": 1.8304662858664272e-05, + "loss": 0.3714, + "step": 4040 + }, + { + "epoch": 0.24834070796460178, + "grad_norm": 37.75, + "learning_rate": 1.8303366275637977e-05, + "loss": 0.3317, + "step": 4041 + }, + { + "epoch": 0.24840216322517208, + "grad_norm": 24.625, + "learning_rate": 1.830206924294946e-05, + "loss": 0.378, + "step": 4042 + }, + { + "epoch": 0.2484636184857424, + "grad_norm": 6.65625, + "learning_rate": 1.830077176066896e-05, + "loss": 0.3003, + "step": 4043 + }, + { + "epoch": 0.2485250737463127, + "grad_norm": 25.25, + "learning_rate": 1.8299473828866746e-05, + "loss": 0.3986, + "step": 4044 + }, + { + "epoch": 0.248586529006883, + "grad_norm": 21.5, + "learning_rate": 1.82981754476131e-05, + "loss": 0.6326, + "step": 4045 + }, + { + "epoch": 0.2486479842674533, + "grad_norm": 24.75, + "learning_rate": 1.8296876616978337e-05, + "loss": 0.4619, + "step": 4046 + }, + { + "epoch": 0.2487094395280236, + "grad_norm": 13.0, + "learning_rate": 1.8295577337032792e-05, + "loss": 0.3393, + "step": 4047 + }, + { + "epoch": 0.2487708947885939, + "grad_norm": 6.6875, + "learning_rate": 1.8294277607846834e-05, + "loss": 0.4538, + "step": 4048 + }, + { + "epoch": 0.2488323500491642, + "grad_norm": 31.5, + "learning_rate": 1.829297742949084e-05, + "loss": 0.6041, + "step": 4049 + }, + { + "epoch": 0.2488938053097345, + "grad_norm": 20.0, + "learning_rate": 1.829167680203522e-05, + "loss": 0.4036, + "step": 4050 + }, + { + "epoch": 0.24895526057030481, + "grad_norm": 19.75, + "learning_rate": 1.8290375725550417e-05, + "loss": 0.466, + "step": 4051 + }, + { + "epoch": 0.24901671583087512, + "grad_norm": 23.125, + "learning_rate": 1.8289074200106885e-05, + "loss": 0.4013, + "step": 4052 + }, + { + "epoch": 0.24907817109144542, + "grad_norm": 8.375, + "learning_rate": 1.8287772225775105e-05, + "loss": 0.3244, + "step": 4053 + }, + { + "epoch": 0.24913962635201573, + "grad_norm": 14.9375, + "learning_rate": 1.828646980262559e-05, + "loss": 0.3141, + "step": 4054 + }, + { + "epoch": 0.24920108161258603, + "grad_norm": 17.375, + "learning_rate": 1.8285166930728865e-05, + "loss": 0.3037, + "step": 4055 + }, + { + "epoch": 0.24926253687315633, + "grad_norm": 20.875, + "learning_rate": 1.828386361015549e-05, + "loss": 0.3363, + "step": 4056 + }, + { + "epoch": 0.24932399213372664, + "grad_norm": 24.125, + "learning_rate": 1.8282559840976043e-05, + "loss": 0.498, + "step": 4057 + }, + { + "epoch": 0.24938544739429694, + "grad_norm": 6.84375, + "learning_rate": 1.8281255623261128e-05, + "loss": 0.4123, + "step": 4058 + }, + { + "epoch": 0.24944690265486727, + "grad_norm": 16.25, + "learning_rate": 1.827995095708138e-05, + "loss": 0.312, + "step": 4059 + }, + { + "epoch": 0.24950835791543757, + "grad_norm": 8.9375, + "learning_rate": 1.8278645842507448e-05, + "loss": 0.4186, + "step": 4060 + }, + { + "epoch": 0.24956981317600788, + "grad_norm": 9.875, + "learning_rate": 1.827734027961001e-05, + "loss": 0.5515, + "step": 4061 + }, + { + "epoch": 0.24963126843657818, + "grad_norm": 29.875, + "learning_rate": 1.8276034268459763e-05, + "loss": 0.3916, + "step": 4062 + }, + { + "epoch": 0.24969272369714848, + "grad_norm": 13.0625, + "learning_rate": 1.827472780912744e-05, + "loss": 0.4083, + "step": 4063 + }, + { + "epoch": 0.2497541789577188, + "grad_norm": 14.875, + "learning_rate": 1.8273420901683786e-05, + "loss": 0.4185, + "step": 4064 + }, + { + "epoch": 0.2498156342182891, + "grad_norm": 21.625, + "learning_rate": 1.827211354619958e-05, + "loss": 0.3801, + "step": 4065 + }, + { + "epoch": 0.2498770894788594, + "grad_norm": 32.0, + "learning_rate": 1.827080574274562e-05, + "loss": 0.6807, + "step": 4066 + }, + { + "epoch": 0.2499385447394297, + "grad_norm": 28.875, + "learning_rate": 1.8269497491392724e-05, + "loss": 0.4956, + "step": 4067 + }, + { + "epoch": 0.25, + "grad_norm": 20.125, + "learning_rate": 1.8268188792211748e-05, + "loss": 0.6116, + "step": 4068 + }, + { + "epoch": 0.25006145526057033, + "grad_norm": 17.25, + "learning_rate": 1.8266879645273557e-05, + "loss": 0.4544, + "step": 4069 + }, + { + "epoch": 0.2501229105211406, + "grad_norm": 21.5, + "learning_rate": 1.8265570050649048e-05, + "loss": 0.4382, + "step": 4070 + }, + { + "epoch": 0.25018436578171094, + "grad_norm": 34.0, + "learning_rate": 1.8264260008409138e-05, + "loss": 0.3984, + "step": 4071 + }, + { + "epoch": 0.2502458210422812, + "grad_norm": 21.875, + "learning_rate": 1.826294951862478e-05, + "loss": 0.367, + "step": 4072 + }, + { + "epoch": 0.25030727630285154, + "grad_norm": 31.5, + "learning_rate": 1.8261638581366937e-05, + "loss": 0.4182, + "step": 4073 + }, + { + "epoch": 0.2503687315634218, + "grad_norm": 21.0, + "learning_rate": 1.8260327196706596e-05, + "loss": 0.4689, + "step": 4074 + }, + { + "epoch": 0.25043018682399215, + "grad_norm": 31.625, + "learning_rate": 1.8259015364714786e-05, + "loss": 0.4647, + "step": 4075 + }, + { + "epoch": 0.2504916420845624, + "grad_norm": 11.625, + "learning_rate": 1.8257703085462542e-05, + "loss": 0.3539, + "step": 4076 + }, + { + "epoch": 0.25055309734513276, + "grad_norm": 23.25, + "learning_rate": 1.825639035902093e-05, + "loss": 0.3953, + "step": 4077 + }, + { + "epoch": 0.25061455260570303, + "grad_norm": 20.875, + "learning_rate": 1.825507718546104e-05, + "loss": 0.4242, + "step": 4078 + }, + { + "epoch": 0.25067600786627336, + "grad_norm": 28.125, + "learning_rate": 1.825376356485398e-05, + "loss": 0.4373, + "step": 4079 + }, + { + "epoch": 0.25073746312684364, + "grad_norm": 6.90625, + "learning_rate": 1.82524494972709e-05, + "loss": 0.3859, + "step": 4080 + }, + { + "epoch": 0.25079891838741397, + "grad_norm": 9.4375, + "learning_rate": 1.8251134982782952e-05, + "loss": 0.3157, + "step": 4081 + }, + { + "epoch": 0.25086037364798425, + "grad_norm": 16.5, + "learning_rate": 1.824982002146133e-05, + "loss": 0.4286, + "step": 4082 + }, + { + "epoch": 0.2509218289085546, + "grad_norm": 15.0625, + "learning_rate": 1.8248504613377236e-05, + "loss": 0.3369, + "step": 4083 + }, + { + "epoch": 0.25098328416912485, + "grad_norm": 29.5, + "learning_rate": 1.8247188758601912e-05, + "loss": 0.349, + "step": 4084 + }, + { + "epoch": 0.2510447394296952, + "grad_norm": 22.0, + "learning_rate": 1.8245872457206614e-05, + "loss": 0.2813, + "step": 4085 + }, + { + "epoch": 0.25110619469026546, + "grad_norm": 15.3125, + "learning_rate": 1.8244555709262627e-05, + "loss": 0.3769, + "step": 4086 + }, + { + "epoch": 0.2511676499508358, + "grad_norm": 33.5, + "learning_rate": 1.824323851484126e-05, + "loss": 0.395, + "step": 4087 + }, + { + "epoch": 0.2512291052114061, + "grad_norm": 15.6875, + "learning_rate": 1.824192087401384e-05, + "loss": 0.2735, + "step": 4088 + }, + { + "epoch": 0.2512905604719764, + "grad_norm": 22.875, + "learning_rate": 1.8240602786851726e-05, + "loss": 0.4715, + "step": 4089 + }, + { + "epoch": 0.25135201573254673, + "grad_norm": 25.125, + "learning_rate": 1.8239284253426294e-05, + "loss": 0.438, + "step": 4090 + }, + { + "epoch": 0.251413470993117, + "grad_norm": 28.5, + "learning_rate": 1.823796527380895e-05, + "loss": 0.4423, + "step": 4091 + }, + { + "epoch": 0.25147492625368734, + "grad_norm": 22.75, + "learning_rate": 1.823664584807113e-05, + "loss": 0.377, + "step": 4092 + }, + { + "epoch": 0.2515363815142576, + "grad_norm": 13.125, + "learning_rate": 1.8235325976284276e-05, + "loss": 0.3212, + "step": 4093 + }, + { + "epoch": 0.25159783677482794, + "grad_norm": 12.75, + "learning_rate": 1.823400565851987e-05, + "loss": 0.3056, + "step": 4094 + }, + { + "epoch": 0.2516592920353982, + "grad_norm": 11.25, + "learning_rate": 1.823268489484941e-05, + "loss": 0.3318, + "step": 4095 + }, + { + "epoch": 0.25172074729596855, + "grad_norm": 19.0, + "learning_rate": 1.8231363685344422e-05, + "loss": 0.3109, + "step": 4096 + }, + { + "epoch": 0.2517822025565388, + "grad_norm": 60.75, + "learning_rate": 1.8230042030076454e-05, + "loss": 0.4796, + "step": 4097 + }, + { + "epoch": 0.25184365781710916, + "grad_norm": 43.75, + "learning_rate": 1.8228719929117083e-05, + "loss": 0.4281, + "step": 4098 + }, + { + "epoch": 0.25190511307767943, + "grad_norm": 7.5, + "learning_rate": 1.82273973825379e-05, + "loss": 0.3413, + "step": 4099 + }, + { + "epoch": 0.25196656833824976, + "grad_norm": 20.125, + "learning_rate": 1.8226074390410534e-05, + "loss": 0.355, + "step": 4100 + }, + { + "epoch": 0.25202802359882004, + "grad_norm": 14.1875, + "learning_rate": 1.8224750952806626e-05, + "loss": 0.3679, + "step": 4101 + }, + { + "epoch": 0.25208947885939037, + "grad_norm": 31.0, + "learning_rate": 1.8223427069797845e-05, + "loss": 0.4405, + "step": 4102 + }, + { + "epoch": 0.25215093411996065, + "grad_norm": 6.3125, + "learning_rate": 1.8222102741455886e-05, + "loss": 0.3148, + "step": 4103 + }, + { + "epoch": 0.252212389380531, + "grad_norm": 9.625, + "learning_rate": 1.8220777967852467e-05, + "loss": 0.307, + "step": 4104 + }, + { + "epoch": 0.25227384464110125, + "grad_norm": 18.25, + "learning_rate": 1.8219452749059332e-05, + "loss": 0.6263, + "step": 4105 + }, + { + "epoch": 0.2523352999016716, + "grad_norm": 11.25, + "learning_rate": 1.8218127085148246e-05, + "loss": 0.4393, + "step": 4106 + }, + { + "epoch": 0.2523967551622419, + "grad_norm": 25.0, + "learning_rate": 1.8216800976191e-05, + "loss": 0.5935, + "step": 4107 + }, + { + "epoch": 0.2524582104228122, + "grad_norm": 36.0, + "learning_rate": 1.8215474422259403e-05, + "loss": 0.4726, + "step": 4108 + }, + { + "epoch": 0.2525196656833825, + "grad_norm": 18.875, + "learning_rate": 1.82141474234253e-05, + "loss": 0.4493, + "step": 4109 + }, + { + "epoch": 0.2525811209439528, + "grad_norm": 18.5, + "learning_rate": 1.821281997976055e-05, + "loss": 0.4508, + "step": 4110 + }, + { + "epoch": 0.25264257620452313, + "grad_norm": 16.375, + "learning_rate": 1.821149209133704e-05, + "loss": 0.4377, + "step": 4111 + }, + { + "epoch": 0.2527040314650934, + "grad_norm": 11.3125, + "learning_rate": 1.8210163758226685e-05, + "loss": 0.3957, + "step": 4112 + }, + { + "epoch": 0.25276548672566373, + "grad_norm": 19.625, + "learning_rate": 1.8208834980501417e-05, + "loss": 0.4855, + "step": 4113 + }, + { + "epoch": 0.252826941986234, + "grad_norm": 21.125, + "learning_rate": 1.820750575823319e-05, + "loss": 0.4922, + "step": 4114 + }, + { + "epoch": 0.25288839724680434, + "grad_norm": 10.6875, + "learning_rate": 1.8206176091493995e-05, + "loss": 0.5336, + "step": 4115 + }, + { + "epoch": 0.2529498525073746, + "grad_norm": 7.96875, + "learning_rate": 1.8204845980355834e-05, + "loss": 0.4201, + "step": 4116 + }, + { + "epoch": 0.25301130776794495, + "grad_norm": 33.75, + "learning_rate": 1.8203515424890738e-05, + "loss": 0.5766, + "step": 4117 + }, + { + "epoch": 0.2530727630285152, + "grad_norm": 22.875, + "learning_rate": 1.8202184425170766e-05, + "loss": 0.5656, + "step": 4118 + }, + { + "epoch": 0.25313421828908556, + "grad_norm": 20.375, + "learning_rate": 1.820085298126799e-05, + "loss": 0.5482, + "step": 4119 + }, + { + "epoch": 0.25319567354965583, + "grad_norm": 21.75, + "learning_rate": 1.8199521093254524e-05, + "loss": 0.5552, + "step": 4120 + }, + { + "epoch": 0.25325712881022616, + "grad_norm": 25.125, + "learning_rate": 1.8198188761202487e-05, + "loss": 0.5031, + "step": 4121 + }, + { + "epoch": 0.25331858407079644, + "grad_norm": 11.3125, + "learning_rate": 1.8196855985184033e-05, + "loss": 0.4674, + "step": 4122 + }, + { + "epoch": 0.25338003933136677, + "grad_norm": 32.25, + "learning_rate": 1.819552276527134e-05, + "loss": 0.4217, + "step": 4123 + }, + { + "epoch": 0.25344149459193704, + "grad_norm": 15.75, + "learning_rate": 1.8194189101536603e-05, + "loss": 0.4838, + "step": 4124 + }, + { + "epoch": 0.2535029498525074, + "grad_norm": 10.5, + "learning_rate": 1.8192854994052047e-05, + "loss": 0.3384, + "step": 4125 + }, + { + "epoch": 0.2535644051130777, + "grad_norm": 12.75, + "learning_rate": 1.819152044288992e-05, + "loss": 0.4161, + "step": 4126 + }, + { + "epoch": 0.253625860373648, + "grad_norm": 18.125, + "learning_rate": 1.8190185448122496e-05, + "loss": 0.4645, + "step": 4127 + }, + { + "epoch": 0.2536873156342183, + "grad_norm": 13.0625, + "learning_rate": 1.8188850009822063e-05, + "loss": 0.3758, + "step": 4128 + }, + { + "epoch": 0.2537487708947886, + "grad_norm": 15.4375, + "learning_rate": 1.8187514128060946e-05, + "loss": 0.6049, + "step": 4129 + }, + { + "epoch": 0.2538102261553589, + "grad_norm": 23.125, + "learning_rate": 1.818617780291149e-05, + "loss": 0.4706, + "step": 4130 + }, + { + "epoch": 0.2538716814159292, + "grad_norm": 18.5, + "learning_rate": 1.818484103444606e-05, + "loss": 0.6852, + "step": 4131 + }, + { + "epoch": 0.2539331366764995, + "grad_norm": 13.625, + "learning_rate": 1.818350382273705e-05, + "loss": 0.4768, + "step": 4132 + }, + { + "epoch": 0.2539945919370698, + "grad_norm": 22.5, + "learning_rate": 1.8182166167856875e-05, + "loss": 0.4391, + "step": 4133 + }, + { + "epoch": 0.25405604719764013, + "grad_norm": 15.125, + "learning_rate": 1.8180828069877972e-05, + "loss": 0.4925, + "step": 4134 + }, + { + "epoch": 0.2541175024582104, + "grad_norm": 14.8125, + "learning_rate": 1.8179489528872808e-05, + "loss": 0.4346, + "step": 4135 + }, + { + "epoch": 0.25417895771878074, + "grad_norm": 5.96875, + "learning_rate": 1.8178150544913867e-05, + "loss": 0.3729, + "step": 4136 + }, + { + "epoch": 0.254240412979351, + "grad_norm": 23.625, + "learning_rate": 1.8176811118073664e-05, + "loss": 0.4421, + "step": 4137 + }, + { + "epoch": 0.25430186823992135, + "grad_norm": 19.625, + "learning_rate": 1.817547124842473e-05, + "loss": 0.69, + "step": 4138 + }, + { + "epoch": 0.2543633235004916, + "grad_norm": 27.125, + "learning_rate": 1.817413093603963e-05, + "loss": 0.5077, + "step": 4139 + }, + { + "epoch": 0.25442477876106195, + "grad_norm": 11.3125, + "learning_rate": 1.817279018099095e-05, + "loss": 0.3464, + "step": 4140 + }, + { + "epoch": 0.25448623402163223, + "grad_norm": 23.625, + "learning_rate": 1.8171448983351284e-05, + "loss": 0.4602, + "step": 4141 + }, + { + "epoch": 0.25454768928220256, + "grad_norm": 9.6875, + "learning_rate": 1.817010734319328e-05, + "loss": 0.3403, + "step": 4142 + }, + { + "epoch": 0.25460914454277284, + "grad_norm": 20.5, + "learning_rate": 1.8168765260589583e-05, + "loss": 0.5052, + "step": 4143 + }, + { + "epoch": 0.25467059980334317, + "grad_norm": 12.625, + "learning_rate": 1.8167422735612877e-05, + "loss": 0.423, + "step": 4144 + }, + { + "epoch": 0.2547320550639135, + "grad_norm": 12.3125, + "learning_rate": 1.816607976833586e-05, + "loss": 0.363, + "step": 4145 + }, + { + "epoch": 0.2547935103244838, + "grad_norm": 5.8125, + "learning_rate": 1.8164736358831265e-05, + "loss": 0.4327, + "step": 4146 + }, + { + "epoch": 0.2548549655850541, + "grad_norm": 9.4375, + "learning_rate": 1.816339250717184e-05, + "loss": 0.3551, + "step": 4147 + }, + { + "epoch": 0.2549164208456244, + "grad_norm": 21.25, + "learning_rate": 1.8162048213430362e-05, + "loss": 0.3017, + "step": 4148 + }, + { + "epoch": 0.2549778761061947, + "grad_norm": 10.9375, + "learning_rate": 1.816070347767963e-05, + "loss": 0.2681, + "step": 4149 + }, + { + "epoch": 0.255039331366765, + "grad_norm": 9.8125, + "learning_rate": 1.815935829999247e-05, + "loss": 0.2206, + "step": 4150 + }, + { + "epoch": 0.2551007866273353, + "grad_norm": 15.1875, + "learning_rate": 1.8158012680441723e-05, + "loss": 0.275, + "step": 4151 + }, + { + "epoch": 0.2551622418879056, + "grad_norm": 10.6875, + "learning_rate": 1.8156666619100263e-05, + "loss": 0.2664, + "step": 4152 + }, + { + "epoch": 0.2552236971484759, + "grad_norm": 10.4375, + "learning_rate": 1.8155320116040983e-05, + "loss": 0.3529, + "step": 4153 + }, + { + "epoch": 0.2552851524090462, + "grad_norm": 8.6875, + "learning_rate": 1.8153973171336804e-05, + "loss": 0.5122, + "step": 4154 + }, + { + "epoch": 0.25534660766961653, + "grad_norm": 20.5, + "learning_rate": 1.815262578506067e-05, + "loss": 0.3103, + "step": 4155 + }, + { + "epoch": 0.2554080629301868, + "grad_norm": 21.375, + "learning_rate": 1.815127795728554e-05, + "loss": 0.5232, + "step": 4156 + }, + { + "epoch": 0.25546951819075714, + "grad_norm": 18.625, + "learning_rate": 1.814992968808442e-05, + "loss": 0.3637, + "step": 4157 + }, + { + "epoch": 0.2555309734513274, + "grad_norm": 7.34375, + "learning_rate": 1.814858097753031e-05, + "loss": 0.2555, + "step": 4158 + }, + { + "epoch": 0.25559242871189775, + "grad_norm": 4.125, + "learning_rate": 1.814723182569625e-05, + "loss": 0.3357, + "step": 4159 + }, + { + "epoch": 0.255653883972468, + "grad_norm": 28.625, + "learning_rate": 1.8145882232655308e-05, + "loss": 0.3667, + "step": 4160 + }, + { + "epoch": 0.25571533923303835, + "grad_norm": 7.34375, + "learning_rate": 1.814453219848057e-05, + "loss": 0.3146, + "step": 4161 + }, + { + "epoch": 0.25577679449360863, + "grad_norm": 12.75, + "learning_rate": 1.814318172324514e-05, + "loss": 0.4413, + "step": 4162 + }, + { + "epoch": 0.25583824975417896, + "grad_norm": 19.25, + "learning_rate": 1.814183080702216e-05, + "loss": 0.4508, + "step": 4163 + }, + { + "epoch": 0.2558997050147493, + "grad_norm": 20.625, + "learning_rate": 1.8140479449884778e-05, + "loss": 0.4866, + "step": 4164 + }, + { + "epoch": 0.25596116027531957, + "grad_norm": 52.25, + "learning_rate": 1.8139127651906183e-05, + "loss": 0.3641, + "step": 4165 + }, + { + "epoch": 0.2560226155358899, + "grad_norm": 22.625, + "learning_rate": 1.813777541315958e-05, + "loss": 0.334, + "step": 4166 + }, + { + "epoch": 0.2560840707964602, + "grad_norm": 14.9375, + "learning_rate": 1.8136422733718192e-05, + "loss": 0.4829, + "step": 4167 + }, + { + "epoch": 0.2561455260570305, + "grad_norm": 21.125, + "learning_rate": 1.813506961365528e-05, + "loss": 0.3637, + "step": 4168 + }, + { + "epoch": 0.2562069813176008, + "grad_norm": 8.625, + "learning_rate": 1.8133716053044123e-05, + "loss": 0.4434, + "step": 4169 + }, + { + "epoch": 0.2562684365781711, + "grad_norm": 54.25, + "learning_rate": 1.8132362051958013e-05, + "loss": 0.4382, + "step": 4170 + }, + { + "epoch": 0.2563298918387414, + "grad_norm": 9.25, + "learning_rate": 1.8131007610470278e-05, + "loss": 0.2613, + "step": 4171 + }, + { + "epoch": 0.2563913470993117, + "grad_norm": 91.0, + "learning_rate": 1.812965272865427e-05, + "loss": 0.3696, + "step": 4172 + }, + { + "epoch": 0.256452802359882, + "grad_norm": 39.25, + "learning_rate": 1.812829740658336e-05, + "loss": 0.3255, + "step": 4173 + }, + { + "epoch": 0.2565142576204523, + "grad_norm": 35.75, + "learning_rate": 1.812694164433094e-05, + "loss": 0.3954, + "step": 4174 + }, + { + "epoch": 0.2565757128810226, + "grad_norm": 70.0, + "learning_rate": 1.8125585441970435e-05, + "loss": 0.2871, + "step": 4175 + }, + { + "epoch": 0.25663716814159293, + "grad_norm": 7.4375, + "learning_rate": 1.8124228799575295e-05, + "loss": 0.2422, + "step": 4176 + }, + { + "epoch": 0.2566986234021632, + "grad_norm": 26.25, + "learning_rate": 1.812287171721897e-05, + "loss": 0.3589, + "step": 4177 + }, + { + "epoch": 0.25676007866273354, + "grad_norm": 47.5, + "learning_rate": 1.812151419497497e-05, + "loss": 0.3081, + "step": 4178 + }, + { + "epoch": 0.2568215339233038, + "grad_norm": 21.25, + "learning_rate": 1.8120156232916804e-05, + "loss": 0.3336, + "step": 4179 + }, + { + "epoch": 0.25688298918387414, + "grad_norm": 14.75, + "learning_rate": 1.811879783111801e-05, + "loss": 0.4109, + "step": 4180 + }, + { + "epoch": 0.2569444444444444, + "grad_norm": 64.0, + "learning_rate": 1.811743898965215e-05, + "loss": 0.4077, + "step": 4181 + }, + { + "epoch": 0.25700589970501475, + "grad_norm": 54.5, + "learning_rate": 1.8116079708592815e-05, + "loss": 0.2536, + "step": 4182 + }, + { + "epoch": 0.257067354965585, + "grad_norm": 21.875, + "learning_rate": 1.8114719988013612e-05, + "loss": 0.2583, + "step": 4183 + }, + { + "epoch": 0.25712881022615536, + "grad_norm": 12.25, + "learning_rate": 1.8113359827988177e-05, + "loss": 0.298, + "step": 4184 + }, + { + "epoch": 0.2571902654867257, + "grad_norm": 26.0, + "learning_rate": 1.8111999228590167e-05, + "loss": 0.3614, + "step": 4185 + }, + { + "epoch": 0.25725172074729596, + "grad_norm": 33.25, + "learning_rate": 1.8110638189893267e-05, + "loss": 0.5462, + "step": 4186 + }, + { + "epoch": 0.2573131760078663, + "grad_norm": 12.9375, + "learning_rate": 1.8109276711971183e-05, + "loss": 0.3567, + "step": 4187 + }, + { + "epoch": 0.25737463126843657, + "grad_norm": 14.1875, + "learning_rate": 1.8107914794897644e-05, + "loss": 0.4188, + "step": 4188 + }, + { + "epoch": 0.2574360865290069, + "grad_norm": 16.25, + "learning_rate": 1.81065524387464e-05, + "loss": 0.3487, + "step": 4189 + }, + { + "epoch": 0.2574975417895772, + "grad_norm": 16.875, + "learning_rate": 1.8105189643591233e-05, + "loss": 0.3498, + "step": 4190 + }, + { + "epoch": 0.2575589970501475, + "grad_norm": 37.25, + "learning_rate": 1.8103826409505944e-05, + "loss": 0.3238, + "step": 4191 + }, + { + "epoch": 0.2576204523107178, + "grad_norm": 52.5, + "learning_rate": 1.8102462736564355e-05, + "loss": 0.3865, + "step": 4192 + }, + { + "epoch": 0.2576819075712881, + "grad_norm": 9.375, + "learning_rate": 1.8101098624840318e-05, + "loss": 0.3869, + "step": 4193 + }, + { + "epoch": 0.2577433628318584, + "grad_norm": 43.75, + "learning_rate": 1.80997340744077e-05, + "loss": 0.5714, + "step": 4194 + }, + { + "epoch": 0.2578048180924287, + "grad_norm": 25.875, + "learning_rate": 1.80983690853404e-05, + "loss": 0.3951, + "step": 4195 + }, + { + "epoch": 0.257866273352999, + "grad_norm": 19.375, + "learning_rate": 1.8097003657712343e-05, + "loss": 0.418, + "step": 4196 + }, + { + "epoch": 0.25792772861356933, + "grad_norm": 13.375, + "learning_rate": 1.809563779159746e-05, + "loss": 0.4214, + "step": 4197 + }, + { + "epoch": 0.2579891838741396, + "grad_norm": 11.6875, + "learning_rate": 1.8094271487069733e-05, + "loss": 0.2927, + "step": 4198 + }, + { + "epoch": 0.25805063913470994, + "grad_norm": 5.96875, + "learning_rate": 1.8092904744203146e-05, + "loss": 0.3161, + "step": 4199 + }, + { + "epoch": 0.2581120943952802, + "grad_norm": 10.875, + "learning_rate": 1.8091537563071714e-05, + "loss": 0.2786, + "step": 4200 + }, + { + "epoch": 0.25817354965585054, + "grad_norm": 25.125, + "learning_rate": 1.8090169943749477e-05, + "loss": 0.4333, + "step": 4201 + }, + { + "epoch": 0.2582350049164208, + "grad_norm": 15.1875, + "learning_rate": 1.8088801886310493e-05, + "loss": 0.4532, + "step": 4202 + }, + { + "epoch": 0.25829646017699115, + "grad_norm": 46.75, + "learning_rate": 1.8087433390828855e-05, + "loss": 0.5425, + "step": 4203 + }, + { + "epoch": 0.2583579154375615, + "grad_norm": 56.5, + "learning_rate": 1.8086064457378667e-05, + "loss": 0.5156, + "step": 4204 + }, + { + "epoch": 0.25841937069813176, + "grad_norm": 5.625, + "learning_rate": 1.8084695086034064e-05, + "loss": 0.4975, + "step": 4205 + }, + { + "epoch": 0.2584808259587021, + "grad_norm": 33.0, + "learning_rate": 1.8083325276869207e-05, + "loss": 0.4064, + "step": 4206 + }, + { + "epoch": 0.25854228121927236, + "grad_norm": 28.625, + "learning_rate": 1.8081955029958272e-05, + "loss": 0.431, + "step": 4207 + }, + { + "epoch": 0.2586037364798427, + "grad_norm": 27.5, + "learning_rate": 1.8080584345375466e-05, + "loss": 0.301, + "step": 4208 + }, + { + "epoch": 0.25866519174041297, + "grad_norm": 18.75, + "learning_rate": 1.8079213223195018e-05, + "loss": 0.4399, + "step": 4209 + }, + { + "epoch": 0.2587266470009833, + "grad_norm": 22.0, + "learning_rate": 1.8077841663491174e-05, + "loss": 0.3813, + "step": 4210 + }, + { + "epoch": 0.2587881022615536, + "grad_norm": 32.0, + "learning_rate": 1.807646966633822e-05, + "loss": 0.4416, + "step": 4211 + }, + { + "epoch": 0.2588495575221239, + "grad_norm": 27.125, + "learning_rate": 1.807509723181045e-05, + "loss": 0.5876, + "step": 4212 + }, + { + "epoch": 0.2589110127826942, + "grad_norm": 16.25, + "learning_rate": 1.8073724359982184e-05, + "loss": 0.5149, + "step": 4213 + }, + { + "epoch": 0.2589724680432645, + "grad_norm": 45.25, + "learning_rate": 1.8072351050927774e-05, + "loss": 0.4984, + "step": 4214 + }, + { + "epoch": 0.2590339233038348, + "grad_norm": 25.625, + "learning_rate": 1.8070977304721587e-05, + "loss": 0.3867, + "step": 4215 + }, + { + "epoch": 0.2590953785644051, + "grad_norm": 17.125, + "learning_rate": 1.806960312143802e-05, + "loss": 0.3835, + "step": 4216 + }, + { + "epoch": 0.2591568338249754, + "grad_norm": 30.875, + "learning_rate": 1.806822850115149e-05, + "loss": 0.5571, + "step": 4217 + }, + { + "epoch": 0.25921828908554573, + "grad_norm": 3.9375, + "learning_rate": 1.8066853443936435e-05, + "loss": 0.2761, + "step": 4218 + }, + { + "epoch": 0.259279744346116, + "grad_norm": 14.5625, + "learning_rate": 1.8065477949867327e-05, + "loss": 0.4148, + "step": 4219 + }, + { + "epoch": 0.25934119960668633, + "grad_norm": 18.0, + "learning_rate": 1.806410201901865e-05, + "loss": 0.5232, + "step": 4220 + }, + { + "epoch": 0.2594026548672566, + "grad_norm": 12.9375, + "learning_rate": 1.8062725651464913e-05, + "loss": 0.2265, + "step": 4221 + }, + { + "epoch": 0.25946411012782694, + "grad_norm": 28.875, + "learning_rate": 1.806134884728066e-05, + "loss": 0.4246, + "step": 4222 + }, + { + "epoch": 0.2595255653883973, + "grad_norm": 7.0625, + "learning_rate": 1.8059971606540446e-05, + "loss": 0.3047, + "step": 4223 + }, + { + "epoch": 0.25958702064896755, + "grad_norm": 25.125, + "learning_rate": 1.8058593929318855e-05, + "loss": 0.3112, + "step": 4224 + }, + { + "epoch": 0.2596484759095379, + "grad_norm": 22.5, + "learning_rate": 1.8057215815690494e-05, + "loss": 0.388, + "step": 4225 + }, + { + "epoch": 0.25970993117010815, + "grad_norm": 40.0, + "learning_rate": 1.8055837265729996e-05, + "loss": 0.3805, + "step": 4226 + }, + { + "epoch": 0.2597713864306785, + "grad_norm": 21.625, + "learning_rate": 1.8054458279512012e-05, + "loss": 0.3759, + "step": 4227 + }, + { + "epoch": 0.25983284169124876, + "grad_norm": 10.3125, + "learning_rate": 1.8053078857111218e-05, + "loss": 0.3041, + "step": 4228 + }, + { + "epoch": 0.2598942969518191, + "grad_norm": 24.0, + "learning_rate": 1.8051698998602324e-05, + "loss": 0.3018, + "step": 4229 + }, + { + "epoch": 0.25995575221238937, + "grad_norm": 23.125, + "learning_rate": 1.805031870406005e-05, + "loss": 0.3549, + "step": 4230 + }, + { + "epoch": 0.2600172074729597, + "grad_norm": 27.125, + "learning_rate": 1.804893797355914e-05, + "loss": 0.2752, + "step": 4231 + }, + { + "epoch": 0.26007866273353, + "grad_norm": 14.3125, + "learning_rate": 1.8047556807174378e-05, + "loss": 0.3193, + "step": 4232 + }, + { + "epoch": 0.2601401179941003, + "grad_norm": 13.1875, + "learning_rate": 1.804617520498055e-05, + "loss": 0.3511, + "step": 4233 + }, + { + "epoch": 0.2602015732546706, + "grad_norm": 12.75, + "learning_rate": 1.8044793167052476e-05, + "loss": 0.5629, + "step": 4234 + }, + { + "epoch": 0.2602630285152409, + "grad_norm": 13.125, + "learning_rate": 1.8043410693465e-05, + "loss": 0.4739, + "step": 4235 + }, + { + "epoch": 0.2603244837758112, + "grad_norm": 22.625, + "learning_rate": 1.8042027784292998e-05, + "loss": 0.4125, + "step": 4236 + }, + { + "epoch": 0.2603859390363815, + "grad_norm": 14.0625, + "learning_rate": 1.8040644439611348e-05, + "loss": 0.4686, + "step": 4237 + }, + { + "epoch": 0.2604473942969518, + "grad_norm": 15.25, + "learning_rate": 1.803926065949497e-05, + "loss": 0.2943, + "step": 4238 + }, + { + "epoch": 0.2605088495575221, + "grad_norm": 4.28125, + "learning_rate": 1.80378764440188e-05, + "loss": 0.3094, + "step": 4239 + }, + { + "epoch": 0.2605703048180924, + "grad_norm": 42.25, + "learning_rate": 1.80364917932578e-05, + "loss": 0.461, + "step": 4240 + }, + { + "epoch": 0.26063176007866273, + "grad_norm": 11.4375, + "learning_rate": 1.8035106707286957e-05, + "loss": 0.2831, + "step": 4241 + }, + { + "epoch": 0.26069321533923306, + "grad_norm": 11.3125, + "learning_rate": 1.803372118618127e-05, + "loss": 0.3005, + "step": 4242 + }, + { + "epoch": 0.26075467059980334, + "grad_norm": 26.875, + "learning_rate": 1.803233523001578e-05, + "loss": 0.4125, + "step": 4243 + }, + { + "epoch": 0.26081612586037367, + "grad_norm": 23.625, + "learning_rate": 1.8030948838865542e-05, + "loss": 0.4211, + "step": 4244 + }, + { + "epoch": 0.26087758112094395, + "grad_norm": 24.0, + "learning_rate": 1.8029562012805627e-05, + "loss": 0.3436, + "step": 4245 + }, + { + "epoch": 0.2609390363815143, + "grad_norm": 7.625, + "learning_rate": 1.8028174751911147e-05, + "loss": 0.3951, + "step": 4246 + }, + { + "epoch": 0.26100049164208455, + "grad_norm": 47.75, + "learning_rate": 1.802678705625722e-05, + "loss": 0.4105, + "step": 4247 + }, + { + "epoch": 0.2610619469026549, + "grad_norm": 23.875, + "learning_rate": 1.8025398925919006e-05, + "loss": 0.289, + "step": 4248 + }, + { + "epoch": 0.26112340216322516, + "grad_norm": 5.6875, + "learning_rate": 1.802401036097167e-05, + "loss": 0.3061, + "step": 4249 + }, + { + "epoch": 0.2611848574237955, + "grad_norm": 6.25, + "learning_rate": 1.8022621361490406e-05, + "loss": 0.4481, + "step": 4250 + }, + { + "epoch": 0.26124631268436577, + "grad_norm": 27.125, + "learning_rate": 1.802123192755044e-05, + "loss": 0.3947, + "step": 4251 + }, + { + "epoch": 0.2613077679449361, + "grad_norm": 18.125, + "learning_rate": 1.801984205922701e-05, + "loss": 0.2871, + "step": 4252 + }, + { + "epoch": 0.2613692232055064, + "grad_norm": 8.4375, + "learning_rate": 1.8018451756595395e-05, + "loss": 0.3546, + "step": 4253 + }, + { + "epoch": 0.2614306784660767, + "grad_norm": 3.71875, + "learning_rate": 1.8017061019730874e-05, + "loss": 0.3179, + "step": 4254 + }, + { + "epoch": 0.261492133726647, + "grad_norm": 18.125, + "learning_rate": 1.8015669848708768e-05, + "loss": 0.2804, + "step": 4255 + }, + { + "epoch": 0.2615535889872173, + "grad_norm": 23.25, + "learning_rate": 1.8014278243604407e-05, + "loss": 0.2787, + "step": 4256 + }, + { + "epoch": 0.2616150442477876, + "grad_norm": 28.5, + "learning_rate": 1.8012886204493164e-05, + "loss": 0.3825, + "step": 4257 + }, + { + "epoch": 0.2616764995083579, + "grad_norm": 29.875, + "learning_rate": 1.8011493731450412e-05, + "loss": 0.5037, + "step": 4258 + }, + { + "epoch": 0.2617379547689282, + "grad_norm": 7.9375, + "learning_rate": 1.8010100824551563e-05, + "loss": 0.3621, + "step": 4259 + }, + { + "epoch": 0.2617994100294985, + "grad_norm": 17.625, + "learning_rate": 1.8008707483872055e-05, + "loss": 0.5608, + "step": 4260 + }, + { + "epoch": 0.26186086529006886, + "grad_norm": 12.75, + "learning_rate": 1.8007313709487334e-05, + "loss": 0.4398, + "step": 4261 + }, + { + "epoch": 0.26192232055063913, + "grad_norm": 34.5, + "learning_rate": 1.800591950147289e-05, + "loss": 0.3544, + "step": 4262 + }, + { + "epoch": 0.26198377581120946, + "grad_norm": 11.25, + "learning_rate": 1.8004524859904212e-05, + "loss": 0.3154, + "step": 4263 + }, + { + "epoch": 0.26204523107177974, + "grad_norm": 24.75, + "learning_rate": 1.8003129784856832e-05, + "loss": 0.3709, + "step": 4264 + }, + { + "epoch": 0.26210668633235007, + "grad_norm": 4.375, + "learning_rate": 1.8001734276406302e-05, + "loss": 0.2653, + "step": 4265 + }, + { + "epoch": 0.26216814159292035, + "grad_norm": 8.125, + "learning_rate": 1.800033833462819e-05, + "loss": 0.3774, + "step": 4266 + }, + { + "epoch": 0.2622295968534907, + "grad_norm": 21.75, + "learning_rate": 1.7998941959598097e-05, + "loss": 0.3589, + "step": 4267 + }, + { + "epoch": 0.26229105211406095, + "grad_norm": 6.59375, + "learning_rate": 1.7997545151391637e-05, + "loss": 0.4866, + "step": 4268 + }, + { + "epoch": 0.2623525073746313, + "grad_norm": 16.5, + "learning_rate": 1.7996147910084458e-05, + "loss": 0.3565, + "step": 4269 + }, + { + "epoch": 0.26241396263520156, + "grad_norm": 24.625, + "learning_rate": 1.799475023575222e-05, + "loss": 0.3473, + "step": 4270 + }, + { + "epoch": 0.2624754178957719, + "grad_norm": 25.625, + "learning_rate": 1.7993352128470617e-05, + "loss": 0.3704, + "step": 4271 + }, + { + "epoch": 0.26253687315634217, + "grad_norm": 5.46875, + "learning_rate": 1.7991953588315368e-05, + "loss": 0.3182, + "step": 4272 + }, + { + "epoch": 0.2625983284169125, + "grad_norm": 11.5, + "learning_rate": 1.79905546153622e-05, + "loss": 0.384, + "step": 4273 + }, + { + "epoch": 0.26265978367748277, + "grad_norm": 18.75, + "learning_rate": 1.798915520968688e-05, + "loss": 0.4202, + "step": 4274 + }, + { + "epoch": 0.2627212389380531, + "grad_norm": 22.25, + "learning_rate": 1.7987755371365185e-05, + "loss": 0.3984, + "step": 4275 + }, + { + "epoch": 0.2627826941986234, + "grad_norm": 60.75, + "learning_rate": 1.798635510047293e-05, + "loss": 0.5458, + "step": 4276 + }, + { + "epoch": 0.2628441494591937, + "grad_norm": 8.875, + "learning_rate": 1.798495439708594e-05, + "loss": 0.3383, + "step": 4277 + }, + { + "epoch": 0.262905604719764, + "grad_norm": 26.25, + "learning_rate": 1.7983553261280072e-05, + "loss": 0.3799, + "step": 4278 + }, + { + "epoch": 0.2629670599803343, + "grad_norm": 35.25, + "learning_rate": 1.7982151693131206e-05, + "loss": 0.5531, + "step": 4279 + }, + { + "epoch": 0.26302851524090465, + "grad_norm": 5.84375, + "learning_rate": 1.7980749692715233e-05, + "loss": 0.3394, + "step": 4280 + }, + { + "epoch": 0.2630899705014749, + "grad_norm": 25.5, + "learning_rate": 1.7979347260108088e-05, + "loss": 0.3616, + "step": 4281 + }, + { + "epoch": 0.26315142576204525, + "grad_norm": 24.125, + "learning_rate": 1.7977944395385713e-05, + "loss": 0.5491, + "step": 4282 + }, + { + "epoch": 0.26321288102261553, + "grad_norm": 20.25, + "learning_rate": 1.797654109862408e-05, + "loss": 0.4295, + "step": 4283 + }, + { + "epoch": 0.26327433628318586, + "grad_norm": 8.375, + "learning_rate": 1.797513736989918e-05, + "loss": 0.5473, + "step": 4284 + }, + { + "epoch": 0.26333579154375614, + "grad_norm": 15.125, + "learning_rate": 1.7973733209287036e-05, + "loss": 0.4334, + "step": 4285 + }, + { + "epoch": 0.26339724680432647, + "grad_norm": 15.25, + "learning_rate": 1.797232861686369e-05, + "loss": 0.3881, + "step": 4286 + }, + { + "epoch": 0.26345870206489674, + "grad_norm": 3.671875, + "learning_rate": 1.7970923592705203e-05, + "loss": 0.3396, + "step": 4287 + }, + { + "epoch": 0.2635201573254671, + "grad_norm": 16.375, + "learning_rate": 1.7969518136887664e-05, + "loss": 0.3157, + "step": 4288 + }, + { + "epoch": 0.26358161258603735, + "grad_norm": 19.125, + "learning_rate": 1.7968112249487183e-05, + "loss": 0.4432, + "step": 4289 + }, + { + "epoch": 0.2636430678466077, + "grad_norm": 18.5, + "learning_rate": 1.79667059305799e-05, + "loss": 0.4313, + "step": 4290 + }, + { + "epoch": 0.26370452310717796, + "grad_norm": 33.25, + "learning_rate": 1.7965299180241963e-05, + "loss": 0.4168, + "step": 4291 + }, + { + "epoch": 0.2637659783677483, + "grad_norm": 13.9375, + "learning_rate": 1.7963891998549562e-05, + "loss": 0.534, + "step": 4292 + }, + { + "epoch": 0.26382743362831856, + "grad_norm": 5.34375, + "learning_rate": 1.7962484385578904e-05, + "loss": 0.2712, + "step": 4293 + }, + { + "epoch": 0.2638888888888889, + "grad_norm": 3.578125, + "learning_rate": 1.796107634140621e-05, + "loss": 0.2788, + "step": 4294 + }, + { + "epoch": 0.26395034414945917, + "grad_norm": 55.25, + "learning_rate": 1.795966786610773e-05, + "loss": 0.4355, + "step": 4295 + }, + { + "epoch": 0.2640117994100295, + "grad_norm": 3.125, + "learning_rate": 1.7958258959759747e-05, + "loss": 0.254, + "step": 4296 + }, + { + "epoch": 0.2640732546705998, + "grad_norm": 24.25, + "learning_rate": 1.7956849622438554e-05, + "loss": 0.305, + "step": 4297 + }, + { + "epoch": 0.2641347099311701, + "grad_norm": 17.125, + "learning_rate": 1.7955439854220477e-05, + "loss": 0.2689, + "step": 4298 + }, + { + "epoch": 0.26419616519174044, + "grad_norm": 10.1875, + "learning_rate": 1.7954029655181856e-05, + "loss": 0.3408, + "step": 4299 + }, + { + "epoch": 0.2642576204523107, + "grad_norm": 4.3125, + "learning_rate": 1.795261902539906e-05, + "loss": 0.2369, + "step": 4300 + }, + { + "epoch": 0.26431907571288105, + "grad_norm": 38.75, + "learning_rate": 1.795120796494848e-05, + "loss": 0.3055, + "step": 4301 + }, + { + "epoch": 0.2643805309734513, + "grad_norm": 2.828125, + "learning_rate": 1.7949796473906533e-05, + "loss": 0.2509, + "step": 4302 + }, + { + "epoch": 0.26444198623402165, + "grad_norm": 33.5, + "learning_rate": 1.794838455234966e-05, + "loss": 0.2663, + "step": 4303 + }, + { + "epoch": 0.26450344149459193, + "grad_norm": 20.625, + "learning_rate": 1.794697220035431e-05, + "loss": 0.2604, + "step": 4304 + }, + { + "epoch": 0.26456489675516226, + "grad_norm": 21.125, + "learning_rate": 1.7945559417996984e-05, + "loss": 0.394, + "step": 4305 + }, + { + "epoch": 0.26462635201573254, + "grad_norm": 18.75, + "learning_rate": 1.7944146205354182e-05, + "loss": 0.4566, + "step": 4306 + }, + { + "epoch": 0.26468780727630287, + "grad_norm": 9.3125, + "learning_rate": 1.7942732562502435e-05, + "loss": 0.2514, + "step": 4307 + }, + { + "epoch": 0.26474926253687314, + "grad_norm": 15.375, + "learning_rate": 1.79413184895183e-05, + "loss": 0.372, + "step": 4308 + }, + { + "epoch": 0.2648107177974435, + "grad_norm": 23.25, + "learning_rate": 1.7939903986478354e-05, + "loss": 0.3144, + "step": 4309 + }, + { + "epoch": 0.26487217305801375, + "grad_norm": 7.09375, + "learning_rate": 1.7938489053459198e-05, + "loss": 0.2951, + "step": 4310 + }, + { + "epoch": 0.2649336283185841, + "grad_norm": 3.9375, + "learning_rate": 1.793707369053746e-05, + "loss": 0.2469, + "step": 4311 + }, + { + "epoch": 0.26499508357915436, + "grad_norm": 19.25, + "learning_rate": 1.793565789778978e-05, + "loss": 0.3618, + "step": 4312 + }, + { + "epoch": 0.2650565388397247, + "grad_norm": 18.375, + "learning_rate": 1.7934241675292834e-05, + "loss": 0.4894, + "step": 4313 + }, + { + "epoch": 0.26511799410029496, + "grad_norm": 30.625, + "learning_rate": 1.793282502312332e-05, + "loss": 0.6266, + "step": 4314 + }, + { + "epoch": 0.2651794493608653, + "grad_norm": 14.6875, + "learning_rate": 1.793140794135795e-05, + "loss": 0.4613, + "step": 4315 + }, + { + "epoch": 0.26524090462143557, + "grad_norm": 21.5, + "learning_rate": 1.7929990430073463e-05, + "loss": 0.5646, + "step": 4316 + }, + { + "epoch": 0.2653023598820059, + "grad_norm": 23.125, + "learning_rate": 1.792857248934663e-05, + "loss": 0.3674, + "step": 4317 + }, + { + "epoch": 0.26536381514257623, + "grad_norm": 48.0, + "learning_rate": 1.7927154119254234e-05, + "loss": 0.6913, + "step": 4318 + }, + { + "epoch": 0.2654252704031465, + "grad_norm": 27.25, + "learning_rate": 1.792573531987309e-05, + "loss": 0.4885, + "step": 4319 + }, + { + "epoch": 0.26548672566371684, + "grad_norm": 19.5, + "learning_rate": 1.792431609128003e-05, + "loss": 0.4729, + "step": 4320 + }, + { + "epoch": 0.2655481809242871, + "grad_norm": 7.53125, + "learning_rate": 1.792289643355191e-05, + "loss": 0.4218, + "step": 4321 + }, + { + "epoch": 0.26560963618485744, + "grad_norm": 7.65625, + "learning_rate": 1.7921476346765607e-05, + "loss": 0.3223, + "step": 4322 + }, + { + "epoch": 0.2656710914454277, + "grad_norm": 10.0, + "learning_rate": 1.7920055830998032e-05, + "loss": 0.3082, + "step": 4323 + }, + { + "epoch": 0.26573254670599805, + "grad_norm": 6.5625, + "learning_rate": 1.791863488632611e-05, + "loss": 0.2957, + "step": 4324 + }, + { + "epoch": 0.2657940019665683, + "grad_norm": 24.625, + "learning_rate": 1.7917213512826785e-05, + "loss": 0.3626, + "step": 4325 + }, + { + "epoch": 0.26585545722713866, + "grad_norm": 11.3125, + "learning_rate": 1.7915791710577035e-05, + "loss": 0.249, + "step": 4326 + }, + { + "epoch": 0.26591691248770893, + "grad_norm": 2.359375, + "learning_rate": 1.7914369479653858e-05, + "loss": 0.3, + "step": 4327 + }, + { + "epoch": 0.26597836774827927, + "grad_norm": 2.296875, + "learning_rate": 1.7912946820134273e-05, + "loss": 0.2719, + "step": 4328 + }, + { + "epoch": 0.26603982300884954, + "grad_norm": 14.75, + "learning_rate": 1.7911523732095322e-05, + "loss": 0.5472, + "step": 4329 + }, + { + "epoch": 0.26610127826941987, + "grad_norm": 63.0, + "learning_rate": 1.791010021561407e-05, + "loss": 0.5495, + "step": 4330 + }, + { + "epoch": 0.26616273352999015, + "grad_norm": 21.5, + "learning_rate": 1.7908676270767608e-05, + "loss": 0.4389, + "step": 4331 + }, + { + "epoch": 0.2662241887905605, + "grad_norm": 22.125, + "learning_rate": 1.7907251897633052e-05, + "loss": 0.6534, + "step": 4332 + }, + { + "epoch": 0.26628564405113075, + "grad_norm": 38.25, + "learning_rate": 1.7905827096287532e-05, + "loss": 0.6959, + "step": 4333 + }, + { + "epoch": 0.2663470993117011, + "grad_norm": 26.25, + "learning_rate": 1.790440186680821e-05, + "loss": 0.4163, + "step": 4334 + }, + { + "epoch": 0.26640855457227136, + "grad_norm": 55.25, + "learning_rate": 1.7902976209272265e-05, + "loss": 0.443, + "step": 4335 + }, + { + "epoch": 0.2664700098328417, + "grad_norm": 30.25, + "learning_rate": 1.7901550123756906e-05, + "loss": 0.3894, + "step": 4336 + }, + { + "epoch": 0.266531465093412, + "grad_norm": 15.4375, + "learning_rate": 1.790012361033936e-05, + "loss": 0.358, + "step": 4337 + }, + { + "epoch": 0.2665929203539823, + "grad_norm": 33.5, + "learning_rate": 1.789869666909688e-05, + "loss": 0.4074, + "step": 4338 + }, + { + "epoch": 0.26665437561455263, + "grad_norm": 31.625, + "learning_rate": 1.789726930010674e-05, + "loss": 0.463, + "step": 4339 + }, + { + "epoch": 0.2667158308751229, + "grad_norm": 8.25, + "learning_rate": 1.7895841503446237e-05, + "loss": 0.2734, + "step": 4340 + }, + { + "epoch": 0.26677728613569324, + "grad_norm": 35.25, + "learning_rate": 1.7894413279192693e-05, + "loss": 0.3907, + "step": 4341 + }, + { + "epoch": 0.2668387413962635, + "grad_norm": 16.125, + "learning_rate": 1.789298462742345e-05, + "loss": 0.4822, + "step": 4342 + }, + { + "epoch": 0.26690019665683384, + "grad_norm": 6.125, + "learning_rate": 1.789155554821588e-05, + "loss": 0.325, + "step": 4343 + }, + { + "epoch": 0.2669616519174041, + "grad_norm": 10.25, + "learning_rate": 1.7890126041647375e-05, + "loss": 0.3348, + "step": 4344 + }, + { + "epoch": 0.26702310717797445, + "grad_norm": 25.375, + "learning_rate": 1.7888696107795343e-05, + "loss": 0.3869, + "step": 4345 + }, + { + "epoch": 0.2670845624385447, + "grad_norm": 8.375, + "learning_rate": 1.7887265746737224e-05, + "loss": 0.4301, + "step": 4346 + }, + { + "epoch": 0.26714601769911506, + "grad_norm": 39.25, + "learning_rate": 1.7885834958550473e-05, + "loss": 0.4198, + "step": 4347 + }, + { + "epoch": 0.26720747295968533, + "grad_norm": 16.875, + "learning_rate": 1.7884403743312583e-05, + "loss": 0.4369, + "step": 4348 + }, + { + "epoch": 0.26726892822025566, + "grad_norm": 29.375, + "learning_rate": 1.7882972101101054e-05, + "loss": 0.4247, + "step": 4349 + }, + { + "epoch": 0.26733038348082594, + "grad_norm": 17.25, + "learning_rate": 1.7881540031993415e-05, + "loss": 0.3474, + "step": 4350 + }, + { + "epoch": 0.26739183874139627, + "grad_norm": 17.125, + "learning_rate": 1.788010753606722e-05, + "loss": 0.3022, + "step": 4351 + }, + { + "epoch": 0.26745329400196655, + "grad_norm": 35.5, + "learning_rate": 1.787867461340005e-05, + "loss": 0.2518, + "step": 4352 + }, + { + "epoch": 0.2675147492625369, + "grad_norm": 36.75, + "learning_rate": 1.787724126406949e-05, + "loss": 0.5584, + "step": 4353 + }, + { + "epoch": 0.26757620452310715, + "grad_norm": 31.0, + "learning_rate": 1.7875807488153173e-05, + "loss": 0.4568, + "step": 4354 + }, + { + "epoch": 0.2676376597836775, + "grad_norm": 27.5, + "learning_rate": 1.7874373285728742e-05, + "loss": 0.5332, + "step": 4355 + }, + { + "epoch": 0.2676991150442478, + "grad_norm": 19.875, + "learning_rate": 1.7872938656873864e-05, + "loss": 0.4849, + "step": 4356 + }, + { + "epoch": 0.2677605703048181, + "grad_norm": 22.625, + "learning_rate": 1.7871503601666233e-05, + "loss": 0.3369, + "step": 4357 + }, + { + "epoch": 0.2678220255653884, + "grad_norm": 19.125, + "learning_rate": 1.7870068120183563e-05, + "loss": 0.4508, + "step": 4358 + }, + { + "epoch": 0.2678834808259587, + "grad_norm": 13.4375, + "learning_rate": 1.7868632212503583e-05, + "loss": 0.2925, + "step": 4359 + }, + { + "epoch": 0.26794493608652903, + "grad_norm": 8.625, + "learning_rate": 1.7867195878704062e-05, + "loss": 0.3755, + "step": 4360 + }, + { + "epoch": 0.2680063913470993, + "grad_norm": 25.25, + "learning_rate": 1.7865759118862784e-05, + "loss": 0.4023, + "step": 4361 + }, + { + "epoch": 0.26806784660766964, + "grad_norm": 12.8125, + "learning_rate": 1.7864321933057547e-05, + "loss": 0.4347, + "step": 4362 + }, + { + "epoch": 0.2681293018682399, + "grad_norm": 6.90625, + "learning_rate": 1.786288432136619e-05, + "loss": 0.618, + "step": 4363 + }, + { + "epoch": 0.26819075712881024, + "grad_norm": 6.5625, + "learning_rate": 1.7861446283866562e-05, + "loss": 0.3377, + "step": 4364 + }, + { + "epoch": 0.2682522123893805, + "grad_norm": 19.875, + "learning_rate": 1.786000782063654e-05, + "loss": 0.4208, + "step": 4365 + }, + { + "epoch": 0.26831366764995085, + "grad_norm": 13.6875, + "learning_rate": 1.785856893175402e-05, + "loss": 0.3504, + "step": 4366 + }, + { + "epoch": 0.2683751229105211, + "grad_norm": 2.609375, + "learning_rate": 1.7857129617296926e-05, + "loss": 0.3679, + "step": 4367 + }, + { + "epoch": 0.26843657817109146, + "grad_norm": 13.9375, + "learning_rate": 1.7855689877343204e-05, + "loss": 0.407, + "step": 4368 + }, + { + "epoch": 0.26849803343166173, + "grad_norm": 12.75, + "learning_rate": 1.785424971197082e-05, + "loss": 0.2408, + "step": 4369 + }, + { + "epoch": 0.26855948869223206, + "grad_norm": 20.75, + "learning_rate": 1.7852809121257765e-05, + "loss": 0.3611, + "step": 4370 + }, + { + "epoch": 0.26862094395280234, + "grad_norm": 7.4375, + "learning_rate": 1.7851368105282054e-05, + "loss": 0.2275, + "step": 4371 + }, + { + "epoch": 0.26868239921337267, + "grad_norm": 26.375, + "learning_rate": 1.7849926664121726e-05, + "loss": 0.3555, + "step": 4372 + }, + { + "epoch": 0.26874385447394294, + "grad_norm": 33.25, + "learning_rate": 1.7848484797854838e-05, + "loss": 0.2765, + "step": 4373 + }, + { + "epoch": 0.2688053097345133, + "grad_norm": 30.25, + "learning_rate": 1.7847042506559467e-05, + "loss": 0.3247, + "step": 4374 + }, + { + "epoch": 0.26886676499508355, + "grad_norm": 50.5, + "learning_rate": 1.7845599790313735e-05, + "loss": 0.3491, + "step": 4375 + }, + { + "epoch": 0.2689282202556539, + "grad_norm": 6.46875, + "learning_rate": 1.784415664919576e-05, + "loss": 0.2743, + "step": 4376 + }, + { + "epoch": 0.2689896755162242, + "grad_norm": 15.75, + "learning_rate": 1.7842713083283695e-05, + "loss": 0.5154, + "step": 4377 + }, + { + "epoch": 0.2690511307767945, + "grad_norm": 47.75, + "learning_rate": 1.7841269092655714e-05, + "loss": 0.5194, + "step": 4378 + }, + { + "epoch": 0.2691125860373648, + "grad_norm": 36.5, + "learning_rate": 1.7839824677390023e-05, + "loss": 0.3639, + "step": 4379 + }, + { + "epoch": 0.2691740412979351, + "grad_norm": 42.5, + "learning_rate": 1.7838379837564838e-05, + "loss": 0.6486, + "step": 4380 + }, + { + "epoch": 0.2692354965585054, + "grad_norm": 28.75, + "learning_rate": 1.78369345732584e-05, + "loss": 0.6015, + "step": 4381 + }, + { + "epoch": 0.2692969518190757, + "grad_norm": 5.0625, + "learning_rate": 1.7835488884548978e-05, + "loss": 0.4801, + "step": 4382 + }, + { + "epoch": 0.26935840707964603, + "grad_norm": 4.5, + "learning_rate": 1.7834042771514868e-05, + "loss": 0.3875, + "step": 4383 + }, + { + "epoch": 0.2694198623402163, + "grad_norm": 5.90625, + "learning_rate": 1.7832596234234376e-05, + "loss": 0.4638, + "step": 4384 + }, + { + "epoch": 0.26948131760078664, + "grad_norm": 12.875, + "learning_rate": 1.7831149272785843e-05, + "loss": 0.2728, + "step": 4385 + }, + { + "epoch": 0.2695427728613569, + "grad_norm": 8.625, + "learning_rate": 1.7829701887247618e-05, + "loss": 0.2833, + "step": 4386 + }, + { + "epoch": 0.26960422812192725, + "grad_norm": 24.125, + "learning_rate": 1.78282540776981e-05, + "loss": 0.3736, + "step": 4387 + }, + { + "epoch": 0.2696656833824975, + "grad_norm": 3.359375, + "learning_rate": 1.782680584421568e-05, + "loss": 0.297, + "step": 4388 + }, + { + "epoch": 0.26972713864306785, + "grad_norm": 50.25, + "learning_rate": 1.7825357186878788e-05, + "loss": 0.3855, + "step": 4389 + }, + { + "epoch": 0.26978859390363813, + "grad_norm": 15.625, + "learning_rate": 1.7823908105765883e-05, + "loss": 0.3442, + "step": 4390 + }, + { + "epoch": 0.26985004916420846, + "grad_norm": 9.125, + "learning_rate": 1.7822458600955432e-05, + "loss": 0.3818, + "step": 4391 + }, + { + "epoch": 0.26991150442477874, + "grad_norm": 14.625, + "learning_rate": 1.782100867252593e-05, + "loss": 0.264, + "step": 4392 + }, + { + "epoch": 0.26997295968534907, + "grad_norm": 44.0, + "learning_rate": 1.7819558320555902e-05, + "loss": 0.2789, + "step": 4393 + }, + { + "epoch": 0.27003441494591934, + "grad_norm": 63.0, + "learning_rate": 1.781810754512389e-05, + "loss": 0.4387, + "step": 4394 + }, + { + "epoch": 0.2700958702064897, + "grad_norm": 43.75, + "learning_rate": 1.7816656346308453e-05, + "loss": 0.3304, + "step": 4395 + }, + { + "epoch": 0.27015732546706, + "grad_norm": 17.0, + "learning_rate": 1.781520472418819e-05, + "loss": 0.3274, + "step": 4396 + }, + { + "epoch": 0.2702187807276303, + "grad_norm": 18.625, + "learning_rate": 1.7813752678841702e-05, + "loss": 0.3602, + "step": 4397 + }, + { + "epoch": 0.2702802359882006, + "grad_norm": 27.5, + "learning_rate": 1.7812300210347634e-05, + "loss": 0.4781, + "step": 4398 + }, + { + "epoch": 0.2703416912487709, + "grad_norm": 22.75, + "learning_rate": 1.7810847318784632e-05, + "loss": 0.3716, + "step": 4399 + }, + { + "epoch": 0.2704031465093412, + "grad_norm": 23.25, + "learning_rate": 1.7809394004231386e-05, + "loss": 0.3729, + "step": 4400 + }, + { + "epoch": 0.2704646017699115, + "grad_norm": 15.9375, + "learning_rate": 1.7807940266766595e-05, + "loss": 0.3171, + "step": 4401 + }, + { + "epoch": 0.2705260570304818, + "grad_norm": 70.5, + "learning_rate": 1.7806486106468983e-05, + "loss": 0.3627, + "step": 4402 + }, + { + "epoch": 0.2705875122910521, + "grad_norm": 20.5, + "learning_rate": 1.78050315234173e-05, + "loss": 0.385, + "step": 4403 + }, + { + "epoch": 0.27064896755162243, + "grad_norm": 26.625, + "learning_rate": 1.7803576517690323e-05, + "loss": 0.2544, + "step": 4404 + }, + { + "epoch": 0.2707104228121927, + "grad_norm": 32.25, + "learning_rate": 1.780212108936684e-05, + "loss": 0.33, + "step": 4405 + }, + { + "epoch": 0.27077187807276304, + "grad_norm": 18.125, + "learning_rate": 1.780066523852567e-05, + "loss": 0.3494, + "step": 4406 + }, + { + "epoch": 0.2708333333333333, + "grad_norm": 7.6875, + "learning_rate": 1.779920896524565e-05, + "loss": 0.2756, + "step": 4407 + }, + { + "epoch": 0.27089478859390365, + "grad_norm": 3.6875, + "learning_rate": 1.7797752269605654e-05, + "loss": 0.2128, + "step": 4408 + }, + { + "epoch": 0.2709562438544739, + "grad_norm": 6.125, + "learning_rate": 1.779629515168456e-05, + "loss": 0.2239, + "step": 4409 + }, + { + "epoch": 0.27101769911504425, + "grad_norm": 25.75, + "learning_rate": 1.779483761156128e-05, + "loss": 0.3208, + "step": 4410 + }, + { + "epoch": 0.27107915437561453, + "grad_norm": 4.84375, + "learning_rate": 1.7793379649314743e-05, + "loss": 0.2531, + "step": 4411 + }, + { + "epoch": 0.27114060963618486, + "grad_norm": 43.75, + "learning_rate": 1.7791921265023906e-05, + "loss": 0.3843, + "step": 4412 + }, + { + "epoch": 0.27120206489675514, + "grad_norm": 22.25, + "learning_rate": 1.7790462458767747e-05, + "loss": 0.2271, + "step": 4413 + }, + { + "epoch": 0.27126352015732547, + "grad_norm": 4.59375, + "learning_rate": 1.7789003230625266e-05, + "loss": 0.2941, + "step": 4414 + }, + { + "epoch": 0.2713249754178958, + "grad_norm": 5.375, + "learning_rate": 1.7787543580675485e-05, + "loss": 0.1836, + "step": 4415 + }, + { + "epoch": 0.2713864306784661, + "grad_norm": 8.1875, + "learning_rate": 1.7786083508997452e-05, + "loss": 0.2255, + "step": 4416 + }, + { + "epoch": 0.2714478859390364, + "grad_norm": 3.9375, + "learning_rate": 1.7784623015670237e-05, + "loss": 0.2567, + "step": 4417 + }, + { + "epoch": 0.2715093411996067, + "grad_norm": 27.5, + "learning_rate": 1.7783162100772928e-05, + "loss": 0.342, + "step": 4418 + }, + { + "epoch": 0.271570796460177, + "grad_norm": 9.9375, + "learning_rate": 1.7781700764384642e-05, + "loss": 0.2613, + "step": 4419 + }, + { + "epoch": 0.2716322517207473, + "grad_norm": 6.25, + "learning_rate": 1.7780239006584515e-05, + "loss": 0.329, + "step": 4420 + }, + { + "epoch": 0.2716937069813176, + "grad_norm": 44.0, + "learning_rate": 1.7778776827451715e-05, + "loss": 0.4563, + "step": 4421 + }, + { + "epoch": 0.2717551622418879, + "grad_norm": 4.15625, + "learning_rate": 1.777731422706541e-05, + "loss": 0.275, + "step": 4422 + }, + { + "epoch": 0.2718166175024582, + "grad_norm": 4.5625, + "learning_rate": 1.7775851205504823e-05, + "loss": 0.2362, + "step": 4423 + }, + { + "epoch": 0.2718780727630285, + "grad_norm": 7.09375, + "learning_rate": 1.777438776284917e-05, + "loss": 0.2526, + "step": 4424 + }, + { + "epoch": 0.27193952802359883, + "grad_norm": 21.75, + "learning_rate": 1.777292389917771e-05, + "loss": 0.4178, + "step": 4425 + }, + { + "epoch": 0.2720009832841691, + "grad_norm": 34.5, + "learning_rate": 1.777145961456971e-05, + "loss": 0.4348, + "step": 4426 + }, + { + "epoch": 0.27206243854473944, + "grad_norm": 10.6875, + "learning_rate": 1.7769994909104475e-05, + "loss": 0.5546, + "step": 4427 + }, + { + "epoch": 0.2721238938053097, + "grad_norm": 13.25, + "learning_rate": 1.776852978286132e-05, + "loss": 0.3859, + "step": 4428 + }, + { + "epoch": 0.27218534906588004, + "grad_norm": 19.0, + "learning_rate": 1.7767064235919594e-05, + "loss": 0.5555, + "step": 4429 + }, + { + "epoch": 0.2722468043264503, + "grad_norm": 7.03125, + "learning_rate": 1.776559826835865e-05, + "loss": 0.3213, + "step": 4430 + }, + { + "epoch": 0.27230825958702065, + "grad_norm": 30.75, + "learning_rate": 1.7764131880257892e-05, + "loss": 0.5271, + "step": 4431 + }, + { + "epoch": 0.2723697148475909, + "grad_norm": 26.625, + "learning_rate": 1.776266507169672e-05, + "loss": 0.4243, + "step": 4432 + }, + { + "epoch": 0.27243117010816126, + "grad_norm": 23.125, + "learning_rate": 1.776119784275457e-05, + "loss": 0.4466, + "step": 4433 + }, + { + "epoch": 0.2724926253687316, + "grad_norm": 21.75, + "learning_rate": 1.7759730193510905e-05, + "loss": 0.4243, + "step": 4434 + }, + { + "epoch": 0.27255408062930186, + "grad_norm": 18.875, + "learning_rate": 1.7758262124045195e-05, + "loss": 0.3668, + "step": 4435 + }, + { + "epoch": 0.2726155358898722, + "grad_norm": 23.625, + "learning_rate": 1.7756793634436947e-05, + "loss": 0.3364, + "step": 4436 + }, + { + "epoch": 0.27267699115044247, + "grad_norm": 14.8125, + "learning_rate": 1.7755324724765688e-05, + "loss": 0.4631, + "step": 4437 + }, + { + "epoch": 0.2727384464110128, + "grad_norm": 25.875, + "learning_rate": 1.775385539511096e-05, + "loss": 0.3267, + "step": 4438 + }, + { + "epoch": 0.2727999016715831, + "grad_norm": 3.65625, + "learning_rate": 1.7752385645552336e-05, + "loss": 0.2511, + "step": 4439 + }, + { + "epoch": 0.2728613569321534, + "grad_norm": 15.8125, + "learning_rate": 1.775091547616941e-05, + "loss": 0.3514, + "step": 4440 + }, + { + "epoch": 0.2729228121927237, + "grad_norm": 21.75, + "learning_rate": 1.7749444887041797e-05, + "loss": 0.3792, + "step": 4441 + }, + { + "epoch": 0.272984267453294, + "grad_norm": 19.25, + "learning_rate": 1.7747973878249137e-05, + "loss": 0.2857, + "step": 4442 + }, + { + "epoch": 0.2730457227138643, + "grad_norm": 15.1875, + "learning_rate": 1.774650244987109e-05, + "loss": 0.387, + "step": 4443 + }, + { + "epoch": 0.2731071779744346, + "grad_norm": 23.125, + "learning_rate": 1.7745030601987338e-05, + "loss": 0.5915, + "step": 4444 + }, + { + "epoch": 0.2731686332350049, + "grad_norm": 6.0625, + "learning_rate": 1.7743558334677594e-05, + "loss": 0.2619, + "step": 4445 + }, + { + "epoch": 0.27323008849557523, + "grad_norm": 21.0, + "learning_rate": 1.774208564802158e-05, + "loss": 0.3962, + "step": 4446 + }, + { + "epoch": 0.2732915437561455, + "grad_norm": 2.796875, + "learning_rate": 1.7740612542099054e-05, + "loss": 0.3811, + "step": 4447 + }, + { + "epoch": 0.27335299901671584, + "grad_norm": 8.9375, + "learning_rate": 1.7739139016989788e-05, + "loss": 0.3293, + "step": 4448 + }, + { + "epoch": 0.2734144542772861, + "grad_norm": 18.0, + "learning_rate": 1.773766507277358e-05, + "loss": 0.6534, + "step": 4449 + }, + { + "epoch": 0.27347590953785644, + "grad_norm": 15.1875, + "learning_rate": 1.773619070953025e-05, + "loss": 0.354, + "step": 4450 + }, + { + "epoch": 0.2735373647984267, + "grad_norm": 7.75, + "learning_rate": 1.7734715927339642e-05, + "loss": 0.4767, + "step": 4451 + }, + { + "epoch": 0.27359882005899705, + "grad_norm": 5.46875, + "learning_rate": 1.773324072628162e-05, + "loss": 0.5079, + "step": 4452 + }, + { + "epoch": 0.2736602753195674, + "grad_norm": 16.5, + "learning_rate": 1.7731765106436073e-05, + "loss": 0.2627, + "step": 4453 + }, + { + "epoch": 0.27372173058013766, + "grad_norm": 11.625, + "learning_rate": 1.7730289067882913e-05, + "loss": 0.2655, + "step": 4454 + }, + { + "epoch": 0.273783185840708, + "grad_norm": 32.5, + "learning_rate": 1.7728812610702076e-05, + "loss": 0.2862, + "step": 4455 + }, + { + "epoch": 0.27384464110127826, + "grad_norm": 34.0, + "learning_rate": 1.7727335734973512e-05, + "loss": 0.3525, + "step": 4456 + }, + { + "epoch": 0.2739060963618486, + "grad_norm": 13.125, + "learning_rate": 1.7725858440777204e-05, + "loss": 0.3135, + "step": 4457 + }, + { + "epoch": 0.27396755162241887, + "grad_norm": 13.875, + "learning_rate": 1.7724380728193152e-05, + "loss": 0.39, + "step": 4458 + }, + { + "epoch": 0.2740290068829892, + "grad_norm": 9.0625, + "learning_rate": 1.7722902597301385e-05, + "loss": 0.2811, + "step": 4459 + }, + { + "epoch": 0.2740904621435595, + "grad_norm": 6.09375, + "learning_rate": 1.7721424048181943e-05, + "loss": 0.2941, + "step": 4460 + }, + { + "epoch": 0.2741519174041298, + "grad_norm": 4.53125, + "learning_rate": 1.7719945080914902e-05, + "loss": 0.3535, + "step": 4461 + }, + { + "epoch": 0.2742133726647001, + "grad_norm": 16.125, + "learning_rate": 1.771846569558035e-05, + "loss": 0.3268, + "step": 4462 + }, + { + "epoch": 0.2742748279252704, + "grad_norm": 34.0, + "learning_rate": 1.7716985892258404e-05, + "loss": 0.3882, + "step": 4463 + }, + { + "epoch": 0.2743362831858407, + "grad_norm": 18.125, + "learning_rate": 1.77155056710292e-05, + "loss": 0.3461, + "step": 4464 + }, + { + "epoch": 0.274397738446411, + "grad_norm": 11.8125, + "learning_rate": 1.7714025031972904e-05, + "loss": 0.2612, + "step": 4465 + }, + { + "epoch": 0.2744591937069813, + "grad_norm": 15.0, + "learning_rate": 1.7712543975169687e-05, + "loss": 0.2753, + "step": 4466 + }, + { + "epoch": 0.27452064896755163, + "grad_norm": 7.1875, + "learning_rate": 1.7711062500699766e-05, + "loss": 0.2669, + "step": 4467 + }, + { + "epoch": 0.2745821042281219, + "grad_norm": 6.40625, + "learning_rate": 1.7709580608643364e-05, + "loss": 0.3326, + "step": 4468 + }, + { + "epoch": 0.27464355948869223, + "grad_norm": 10.9375, + "learning_rate": 1.7708098299080732e-05, + "loss": 0.3, + "step": 4469 + }, + { + "epoch": 0.2747050147492625, + "grad_norm": 5.21875, + "learning_rate": 1.7706615572092146e-05, + "loss": 0.3731, + "step": 4470 + }, + { + "epoch": 0.27476647000983284, + "grad_norm": 6.15625, + "learning_rate": 1.7705132427757895e-05, + "loss": 0.3559, + "step": 4471 + }, + { + "epoch": 0.2748279252704032, + "grad_norm": 39.0, + "learning_rate": 1.7703648866158303e-05, + "loss": 0.31, + "step": 4472 + }, + { + "epoch": 0.27488938053097345, + "grad_norm": 13.25, + "learning_rate": 1.770216488737371e-05, + "loss": 0.3331, + "step": 4473 + }, + { + "epoch": 0.2749508357915438, + "grad_norm": 30.0, + "learning_rate": 1.770068049148448e-05, + "loss": 0.4853, + "step": 4474 + }, + { + "epoch": 0.27501229105211406, + "grad_norm": 35.25, + "learning_rate": 1.7699195678571e-05, + "loss": 0.3477, + "step": 4475 + }, + { + "epoch": 0.2750737463126844, + "grad_norm": 6.59375, + "learning_rate": 1.769771044871368e-05, + "loss": 0.2995, + "step": 4476 + }, + { + "epoch": 0.27513520157325466, + "grad_norm": 36.25, + "learning_rate": 1.7696224801992947e-05, + "loss": 0.3232, + "step": 4477 + }, + { + "epoch": 0.275196656833825, + "grad_norm": 19.0, + "learning_rate": 1.7694738738489255e-05, + "loss": 0.2853, + "step": 4478 + }, + { + "epoch": 0.27525811209439527, + "grad_norm": 1.7890625, + "learning_rate": 1.7693252258283088e-05, + "loss": 0.3147, + "step": 4479 + }, + { + "epoch": 0.2753195673549656, + "grad_norm": 20.5, + "learning_rate": 1.769176536145494e-05, + "loss": 0.2401, + "step": 4480 + }, + { + "epoch": 0.2753810226155359, + "grad_norm": 15.375, + "learning_rate": 1.7690278048085327e-05, + "loss": 0.2675, + "step": 4481 + }, + { + "epoch": 0.2754424778761062, + "grad_norm": 27.875, + "learning_rate": 1.7688790318254803e-05, + "loss": 0.2239, + "step": 4482 + }, + { + "epoch": 0.2755039331366765, + "grad_norm": 32.0, + "learning_rate": 1.7687302172043933e-05, + "loss": 0.2535, + "step": 4483 + }, + { + "epoch": 0.2755653883972468, + "grad_norm": 10.625, + "learning_rate": 1.7685813609533303e-05, + "loss": 0.2297, + "step": 4484 + }, + { + "epoch": 0.2756268436578171, + "grad_norm": 3.03125, + "learning_rate": 1.7684324630803523e-05, + "loss": 0.2774, + "step": 4485 + }, + { + "epoch": 0.2756882989183874, + "grad_norm": 13.8125, + "learning_rate": 1.7682835235935236e-05, + "loss": 0.3726, + "step": 4486 + }, + { + "epoch": 0.2757497541789577, + "grad_norm": 4.0625, + "learning_rate": 1.768134542500909e-05, + "loss": 0.3561, + "step": 4487 + }, + { + "epoch": 0.275811209439528, + "grad_norm": 2.3125, + "learning_rate": 1.767985519810577e-05, + "loss": 0.17, + "step": 4488 + }, + { + "epoch": 0.2758726647000983, + "grad_norm": 10.6875, + "learning_rate": 1.767836455530598e-05, + "loss": 0.332, + "step": 4489 + }, + { + "epoch": 0.27593411996066863, + "grad_norm": 11.9375, + "learning_rate": 1.7676873496690433e-05, + "loss": 0.4322, + "step": 4490 + }, + { + "epoch": 0.27599557522123896, + "grad_norm": 21.375, + "learning_rate": 1.767538202233989e-05, + "loss": 0.3272, + "step": 4491 + }, + { + "epoch": 0.27605703048180924, + "grad_norm": 15.0625, + "learning_rate": 1.767389013233511e-05, + "loss": 0.539, + "step": 4492 + }, + { + "epoch": 0.27611848574237957, + "grad_norm": 12.875, + "learning_rate": 1.767239782675689e-05, + "loss": 0.3205, + "step": 4493 + }, + { + "epoch": 0.27617994100294985, + "grad_norm": 6.90625, + "learning_rate": 1.767090510568605e-05, + "loss": 0.2875, + "step": 4494 + }, + { + "epoch": 0.2762413962635202, + "grad_norm": 9.0625, + "learning_rate": 1.7669411969203417e-05, + "loss": 0.28, + "step": 4495 + }, + { + "epoch": 0.27630285152409045, + "grad_norm": 13.5625, + "learning_rate": 1.7667918417389857e-05, + "loss": 0.234, + "step": 4496 + }, + { + "epoch": 0.2763643067846608, + "grad_norm": 32.5, + "learning_rate": 1.766642445032625e-05, + "loss": 0.5171, + "step": 4497 + }, + { + "epoch": 0.27642576204523106, + "grad_norm": 7.875, + "learning_rate": 1.76649300680935e-05, + "loss": 0.4516, + "step": 4498 + }, + { + "epoch": 0.2764872173058014, + "grad_norm": 29.0, + "learning_rate": 1.7663435270772537e-05, + "loss": 0.5245, + "step": 4499 + }, + { + "epoch": 0.27654867256637167, + "grad_norm": 53.5, + "learning_rate": 1.7661940058444305e-05, + "loss": 0.7653, + "step": 4500 + } + ], + "logging_steps": 1, + "max_steps": 15000, + "num_input_tokens_seen": 0, + "num_train_epochs": 1, + "save_steps": 200, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": false, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 0.0, + "train_batch_size": 16, + "trial_name": null, + "trial_params": null +} diff --git a/models/Robometer-4B/training_args.bin b/models/Robometer-4B/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..b5804c46a03b74d9918dd160704f567457604f0e --- /dev/null +++ b/models/Robometer-4B/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ee6d07f9f33f072bc6f199a3b4fb69371497b873dfd8b658a717513dff217b1 +size 5905 diff --git a/robometer/FINETUNE_ROBOMETER.md b/robometer/FINETUNE_ROBOMETER.md new file mode 100644 index 0000000000000000000000000000000000000000..17f83ea99437bb3e95ae1b8fba7214e6d5b33ebb --- /dev/null +++ b/robometer/FINETUNE_ROBOMETER.md @@ -0,0 +1,197 @@ +# Fine-tuning Robometer on Your Own Data + +Preprocess a dataset, LoRA fine-tune from Robometer-4B, upload to the Hub, run inference. Example: [MINT-SJTU/RoboFAC-dataset](https://huggingface.co/datasets/MINT-SJTU/RoboFAC-dataset). + +--- + +## 1. Preprocessing (RoboFAC) + +Training needs a **preprocessed** cache from a HuggingFace dataset in RBM format. RoboFAC is folder-based; convert first, then preprocess. + +1. **Download** (into `ROBOMETER_DATASET_PATH`): + ```bash + export ROBOMETER_DATASET_PATH=/path/to/your/robometer_dataset + huggingface-cli download MINT-SJTU/RoboFAC-dataset --local-dir $ROBOMETER_DATASET_PATH/RoboFAC-dataset + ``` + +2. **Convert and push to Hub** (required for recommended flow): + ```bash + export HF_TOKEN=your_token_here + + uv run python -m dataset_upload.generate_hf_dataset \ + --config_path dataset_upload/configs/data_gen_configs/robofac.yaml \ + --dataset.dataset_path=$ROBOMETER_DATASET_PATH/RoboFAC-dataset \ + --hub.push_to_hub=true \ + --hub.hub_repo_id=robofac_rbm + ``` + +3. **If you pushed:** download converted repo and set preprocess config: + ```bash + huggingface-cli download aliangdw/robofac_rbm --local-dir $ROBOMETER_DATASET_PATH/robofac_rbm + ``` + In `preprocess_finetune.yaml`: `train_datasets: ["aliangdw/robofac_rbm"]`, `train_subsets: [["robofac"]]`. + +4. **Preprocess:** + ```bash + export ROBOMETER_PROCESSED_DATASETS_PATH=/path/to/save/processed_datasets + + uv run python -m robometer.data.scripts.preprocess_datasets \ + --config robometer/configs/preprocess_finetune.yaml \ + --cache_dir=$ROBOMETER_PROCESSED_DATASETS_PATH + ``` + Use the same path for training. + +**Other datasets:** RBM-style Hub datasets: set `train_datasets`/`train_subsets` and `ROBOMETER_DATASET_PATH` in the preprocess config, then run step 4. Raw data: add a loader (see [CustomDataset.md](dataset_upload/dataset_guides/CustomDataset.md)). + +--- + +## 2. LoRA fine-tuning + +Use PEFT (LoRA) and `load_from_checkpoint` from a Qwen3-4B–based RBM checkpoint. + +```bash +export ROBOMETER_PROCESSED_DATASETS_PATH=/path/to/your/processed_datasets + +uv run python train.py \ + model.base_model_id=Qwen/Qwen3-VL-4B-Instruct \ + model.use_peft=true \ + model.train_progress_head=true \ + model.train_preference_head=true \ + data.train_datasets=[aliangdw_robofac_rbm_robofac] \ + data.eval_datasets=[mw] \ + training.load_from_checkpoint=aliangdw/Robometer-4B \ + training.per_device_train_batch_size=8 \ + training.learning_rate=2e-5 \ + training.warmup_ratio=0.1 \ + training.weight_decay=0.01 \ + training.max_steps=1000 \ + training.output_dir=./logs \ + training.exp_name=robometer4b_lora_robofac_2 \ + logging.log_to=[wandb] \ + custom_eval.eval_types=[reward_alignment,policy_ranking] \ + custom_eval.reward_alignment=[aliangdw_robofac_rbm_robofac] \ + custom_eval.policy_ranking=[aliangdw_robofac_rbm_robofac] \ + logging.save_best.metric_names=[eval_rew_align/pearson_robofac,eval_p_rank/kendall_last_robofac] \ + logging.save_best.greater_is_better=[true,true] \ + training.overwrite_output_dir=True \ + training.eval_steps=50 \ + training.custom_eval_steps=50 +``` + +The short name `robofac` is defined in `name_mapping.py` for `aliangdw_robofac_rbm_robofac`. + +**Tunable LoRA / training:** Override `training.learning_rate`, `training.warmup_ratio`, `training.weight_decay`, `training.gradient_accumulation_steps`, or `training.max_steps` as needed. Defaults above match `robometer/configs/config.yaml`. Multi-GPU: `uv run accelerate launch --config_file robometer/configs/distributed/fsdp.yaml train.py ...` (same overrides). + +### Full fine-tuning (no PEFT) + +Load the same checkpoint but train the full model (no LoRA). Uses more memory; lower `per_device_train_batch_size` or gradient accumulation if needed. + +```bash +export ROBOMETER_PROCESSED_DATASETS_PATH=/path/to/your/processed_datasets + +uv run python train.py \ + model.base_model_id=Qwen/Qwen3-VL-4B-Instruct \ + model.use_peft=false \ + model.train_progress_head=true \ + model.train_preference_head=true \ + data.train_datasets=[aliangdw_robofac_rbm_robofac] \ + data.eval_datasets=[aliangdw_robofac_rbm_robofac] \ + training.load_from_checkpoint=aliangdw/Robometer-4B \ + training.per_device_train_batch_size=8 \ + training.learning_rate=2e-5 \ + training.warmup_ratio=0.1 \ + training.weight_decay=0.01 \ + training.gradient_accumulation_steps=1 \ + training.max_steps=500 \ + training.output_dir=./logs \ + training.exp_name=robometer4b_full_robofac \ + logging.log_to=[wandb] \ + custom_eval.reward_alignment=[aliangdw_robofac_rbm_robofac] \ + custom_eval.policy_ranking=[aliangdw_robofac_rbm_robofac] \ + logging.save_best.metric_names=[eval_rew_align/pearson_robofac,eval_p_rank/kendall_last_robofac] \ + logging.save_best.greater_is_better=[true,true] \ + training.eval_steps=50 \ + training.custom_eval_steps=50 +``` + + +--- + +## 3. Upload to Hub + +```bash +uv run python robometer/utils/upload_to_hub.py \ + --model_dir ./logs/robometer4b_lora_robofac/checkpoint-500 \ + --hub_model_id aliangdw/robometer-4b-lora-robofac \ + --base_model "Qwen/Qwen3-VL-4B-Instruct" \ + --commit_message "LoRA fine-tune on RoboFAC" +``` + +Or enable `logging.save_best.upload_to_hub: true` in config for upload during training. + +--- + +## 4. Inference + +```bash +uv run python scripts/example_inference_local.py \ + --model-path aliangdw/robometer-4b-lora-robofac \ + --video /path/to/video.mp4 \ + --task "Insert the cylinder" +``` + +Server: `uv run python robometer/evals/eval_server.py ... model_path=aliangdw/robometer-4b-lora-robofac`. Eval: `run_baseline_eval.py` with `reward_model=rbm`, `model_path=...` (see [README](README.md)). + +--- + +## 5. Baseline: Fine-tune from base Qwen-VL (no Robometer checkpoint) + +For comparison, run the same `train.py` on the same data but **without** loading a Robometer checkpoint. Training starts from the base Qwen-VL plus randomly initialized progress/preference heads. + +```bash +export ROBOMETER_PROCESSED_DATASETS_PATH=/path/to/your/processed_datasets + +uv run python train.py \ + model.base_model_id=Qwen/Qwen3-VL-4B-Instruct \ + model.use_peft=true \ + model.train_progress_head=true \ + model.train_preference_head=true \ + data.train_datasets=[aliangdw_robofac_rbm_robofac] \ + data.eval_datasets=[aliangdw_robofac_rbm_robofac] \ + training.per_device_train_batch_size=8 \ + training.learning_rate=2e-5 \ + training.warmup_ratio=0.1 \ + training.weight_decay=0.01 \ + training.max_steps=1000 \ + training.output_dir=./logs \ + training.exp_name=qwen3vl_lora_robofac_baseline \ + logging.log_to=[wandb] \ + custom_eval.reward_alignment=[aliangdw_robofac_rbm_robofac] \ + custom_eval.policy_ranking=[aliangdw_robofac_rbm_robofac] \ + logging.save_best.metric_names=[eval_rew_align/pearson_robofac,eval_p_rank/kendall_last_robofac] \ + logging.save_best.greater_is_better=[true,true] \ + training.eval_steps=50 \ + training.custom_eval_steps=50 + +uv run python train.py \ + model.base_model_id=Qwen/Qwen3-VL-4B-Instruct \ + model.use_peft=false \ + model.train_progress_head=true \ + model.train_preference_head=true \ + data.train_datasets=[aliangdw_robofac_rbm_robofac] \ + data.eval_datasets=[aliangdw_robofac_rbm_robofac] \ + training.per_device_train_batch_size=8 \ + training.learning_rate=2e-5 \ + training.warmup_ratio=0.1 \ + training.weight_decay=0.01 \ + training.max_steps=1000 \ + training.output_dir=./logs \ + training.exp_name=qwen3vl_robofac_baseline \ + logging.log_to=[wandb] \ + custom_eval.reward_alignment=[aliangdw_robofac_rbm_robofac] \ + custom_eval.policy_ranking=[aliangdw_robofac_rbm_robofac] \ + logging.save_best.metric_names=[eval_rew_align/pearson_robofac,eval_p_rank/kendall_last_robofac] \ + logging.save_best.greater_is_better=[true,true] \ + training.eval_steps=50 \ + training.custom_eval_steps=50 +``` diff --git a/robometer/README.md b/robometer/README.md new file mode 100755 index 0000000000000000000000000000000000000000..0a8318d7c06abae31be4b1599551e626fde14ab7 --- /dev/null +++ b/robometer/README.md @@ -0,0 +1,267 @@ +# Robometer: Scaling General-Purpose Robotic Reward Models via Trajectory Comparisons + +[![arXiv](https://img.shields.io/badge/arXiv-2603.02115-b31b1b.svg)](https://arxiv.org/abs/2603.02115) +[![GitHub](https://img.shields.io/badge/GitHub-robometer-181717?logo=github)](https://github.com/robometer/robometer) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) +[![Model](https://img.shields.io/badge/Model-FFD21E?logo=huggingface)](https://huggingface.co/aliangdw/Robometer-4B) +[![Dataset](https://img.shields.io/badge/Dataset-RBM--1M-FFD21E?logo=huggingface)](https://huggingface.co/datasets/) +[![RBM-1M Visualizer](https://img.shields.io/badge/Visualizer-RBM--FFD21E?logo=huggingface)](https://huggingface.co/spaces/rewardfm/visualizer) +[![RewardEval UI](https://img.shields.io/badge/%20RewardEval%20UI-FFD21E?logo=huggingface)](https://huggingface.co/spaces/rewardfm/rewardeval_ui) + +

+ Robometer +

+ +--- + +## Abstract + +General-purpose robot reward models are typically trained to predict absolute task progress from expert demonstrations, providing only local, frame-level supervision. While effective for expert demonstrations, this paradigm scales poorly to large-scale robotics datasets where failed and suboptimal trajectories are abundant and assigning dense progress labels is ambiguous. We introduce **Robometer**, a scalable reward modeling framework that combines intra-trajectory progress supervision with inter-trajectory preference supervision. Robometer is trained with a dual objective: a frame-level progress loss that anchors reward magnitude on expert data, and a trajectory-comparison preference loss that imposes global ordering constraints across trajectories of the same task, enabling effective learning from both real and augmented failed trajectories. To support this formulation at scale, we curate **RBM-1M**, a reward-learning dataset comprising over one million trajectories spanning diverse robot embodiments and tasks, including substantial suboptimal and failure data. Across benchmarks and real-world evaluations, Robometer learns more generalizable reward functions than prior methods and improves robot learning performance across a diverse set of downstream applications. + +--- + +## 📦 Package structure + +``` +robometer/ +├── robometer/ # Main package +│ ├── data/ # Datasets and preprocessing +│ ├── configs/ # Hydra and experiment configs +│ ├── models/ # Model definitions +│ └── evals/ # Baseline evals (GVL, VLAC, Robodopamine, etc.) +├── eval_commands/ # Shell scripts for baseline evals +├── train.py # Training entrypoint +└── pyproject.toml # Dependencies (uv) +``` + +--- + +## 🛠️ Setup + +### Prerequisites + +- Git, Python 3.10+ +- NVIDIA drivers (GPU) +- [uv](https://github.com/astral-sh/uv#installation) (recommended) + +### Install (main env) + +```bash +git clone https://github.com/aliang8/robometer.git +cd robometer + +# Create venv and install +uv sync +``` + +### Dataset setup + +```bash +hf auth +export ROBOMETER_PROCESSED_DATASETS_PATH=/path/to/save/processed_datasets +./scripts/download_processed_datasets.sh +./scripts/untar_processed_datasets.sh +``` + +For raw download and preprocessing, see [📥 Download raw datasets](#-download-raw-datasets-optional) below. + +--- + +## 🔍 Inference + +Inference runs a **pretrained RBM model** on your own videos to get per-frame progress, per-frame success, and (for two trajectories) preference scores. + +**Pretrained models (Hugging Face):** + +- **[Robometer-4B](https://huggingface.co/robometer/Robometer-4B)** — general-purpose, trained on RBM-1M +- ~~**Robometer-4B-LIBERO** — LIBERO-10 / Spatial / Object / Goal~~ removed because the standard Robometer model is already trained on LIBERO 10/Spatial/Object/Goal+failures and simply performs better than the version trained exclusively on LIBERO + +### Inference via HTTP server + +Start the eval server on your machine, then call it with a video and task: + +```bash +uv run python robometer/evals/eval_server.py \ + server_url=0.0.0.0 \ + server_port=8000 +``` + +Then run the client (no robometer dependency): + +```bash +# SOAR +uv run python scripts/example_inference.py \ + --eval-server-url http://localhost:8000 \ + --video scripts/example_videos/soar_put_green_stick_in_brown_bowl.mp4 \ + --task "Put green stick in brown bowl" \ + --fps 3 + +# Berkeley RPT (Wrist) +uv run python scripts/example_inference.py \ + --eval-server-url http://localhost:8000 \ + --video scripts/example_videos/berkeley_rpt_stack_cup.mp4 \ + --task "Pick up the yellow cup and stack it on the other cup" \ + --fps 3 + +# Your own video +uv run python scripts/example_inference.py \ + --eval-server-url http://localhost:8000 \ + --video /path/to/video.mp4 \ + --task "your task description" +``` + +To run the model locally (loads checkpoint from Hugging Face, no server): + +```bash +uv run python scripts/example_inference_local.py \ + --model-path aliangdw/Robometer-4B \ + --video /path/to/video.mp4 \ + --task "your task description" +``` + +Use `aliangdw/Robometer-4B-LIBERO` for the LIBERO-finetuned model. + +--- + +## 🏋️ Training + +### Training + +**Train on RBM-1M in-distribution and evaluate on RBM-1M-OOD** + +```bash +uv run accelerate launch --config_file robometer/configs/distributed/fsdp.yaml train.py \ + data.train_datasets=[rbm-1m-id] \ + data.eval_datasets=[rbm-1m-ood] \ + data.max_frames=4 \ + model.train_progress_head=true \ + model.train_preference_head=true \ + training.max_steps=5000 \ + custom_eval.reward_alignment=[rbm-1m-ood] \ + custom_eval.policy_ranking=[rbm-1m-ood] \ + custom_eval.confusion_matrix=[rbm-1m-ood] +``` + +**LIBERO: train on 10 / object / spatial / goal, test on 90.** + +```bash +uv run accelerate launch --config_file robometer/configs/distributed/fsdp.yaml train.py \ + data.train_datasets=[libero_pi0] \ + data.eval_datasets=[mw] \ + data.max_frames=4 \ + model.train_progress_head=true \ + model.train_preference_head=true \ + training.max_steps=5000 \ + custom_eval.reward_alignment=[libero_pi0] \ + custom_eval.policy_ranking=[libero_pi0] +``` + +See `robometer/configs/experiment_configs.py` for more config options. + +--- + +## 🔧 LoRA fine-tune Robometer for new dataset + +Preprocess a new dataset, LoRA fine-tune from **Robometer-4B** on your own data, upload the model to the Hub, and run inference: + +- **Preprocessing:** Add your dataset to the preprocess config and run the preprocessor; for raw videos (e.g. [MINT-SJTU/RoboFAC-dataset](https://huggingface.co/datasets/MINT-SJTU/RoboFAC-dataset)), convert to RBM format first via `dataset_upload`, then preprocess. +- **Fine-tuning:** Set `model.use_peft=true` and `training.resume_from_checkpoint=aliangdw/Robometer-4B`, then train on your dataset. +- **Upload & inference:** Use `robometer/utils/upload_to_hub.py` to push checkpoints; run `scripts/example_inference_local.py` with your Hub model. + +Full step-by-step: **[FINETUNE_ROBOMETER.md](FINETUNE_ROBOMETER.md)**. + +--- + +## 📊 Evaluation + +Evaluation runs **benchmark evals** (reward alignment, policy ranking, confusion matrix) on fixed datasets to measure model quality. Use this to reproduce paper results or compare checkpoints. + +### Robometer evaluation + +Run RBM with `reward_model=rbm`; override `model_path` and `custom_eval.*` as needed. See `eval_commands/*.sh` for ReWIND, Robo-Dopamine, VLAC, RoboReward. + +**Reward alignment** + +```bash +uv run python robometer/evals/run_baseline_eval.py \ + reward_model=rbm \ + model_path=aliangdw/Robometer-4B \ + custom_eval.eval_types=[reward_alignment] \ + custom_eval.reward_alignment=[rbm-1m-id,rbm-1m-ood] \ + custom_eval.use_frame_steps=true \ + custom_eval.subsample_n_frames=5 \ + custom_eval.reward_alignment_max_trajectories=30 \ + max_frames=4 \ + model_config.batch_size=32 +``` + +**Policy ranking** + +```bash +uv run python robometer/evals/run_baseline_eval.py \ + reward_model=rbm \ + model_path=aliangdw/Robometer-4B \ + custom_eval.eval_types=[policy_ranking] \ + custom_eval.policy_ranking=[rbm-1m-ood] \ + custom_eval.use_frame_steps=false \ + custom_eval.num_examples_per_quality_pr=1000 \ + max_frames=4 \ + model_config.batch_size=32 +``` + +**Confusion matrix** + +```bash +uv run python robometer/evals/run_baseline_eval.py \ + reward_model=rbm \ + model_path=aliangdw/Robometer-4B \ + custom_eval.eval_types=[confusion_matrix] \ + custom_eval.confusion_matrix=[[aliangdw_usc_franka_policy_ranking_usc_franka_policy_ranking,jesbu1_utd_so101_clean_policy_ranking_top_utd_so101_clean_policy_ranking_top,aliangdw_usc_xarm_policy_ranking_usc_xarm_policy_ranking]] \ + max_frames=4 \ + model_config.batch_size=32 +``` + +Details: [robometer/evals/README.md](robometer/evals/README.md). + +### Baseline evaluation (all models) + +- **RBM:** use the [reward alignment](#robometer-evaluation), [policy ranking](#robometer-evaluation), or [confusion matrix](#robometer-evaluation) commands above; set `model_path` to your checkpoint. +- **ReWIND, Robo-Dopamine, VLAC, RoboReward:** see [robometer/evals/README.md](robometer/evals/README.md) and `eval_commands/reward_alignment.sh`, `eval_commands/policy_ranking.sh`, `eval_commands/confusion_matrix.sh`. For Robo-Dopamine use `.venv-robodopamine/bin/python` (vLLM) instead of `uv run`. + +--- + +## 📊 Dataset generation + +Supported: **AgiBotWorld** (streaming), **LIBERO** (HDF5), and custom configs. + +```bash +# AgiBotWorld +uv run python dataset_upload/generate_hf_dataset.py --config_path=dataset_upload/configs/data_gen_configs/agibot_world.yaml + +# LIBERO +uv run python dataset_upload/generate_hf_dataset.py --config_path=dataset_upload/configs/data_gen.yaml \ + --dataset.dataset_path=LIBERO/libero/datasets/libero_90 --dataset.dataset_name=libero_90 +``` + +See dataset_upload README and dataset_guides for adding datasets. + +--- + +## 📥 Download raw datasets (optional) + +If you prefer not to use the processed datasets: + +```bash +export ROBOMETER_DATASET_PATH=/path/to/your/robometer_dataset +./scripts/download_data.sh + +# Preprocess +uv run python -m robometer.data.scripts.preprocess_datasets --config robometer/configs/preprocess.yaml +export ROBOMETER_PROCESSED_DATASETS_PATH=/path/to/save/processed_datasets +``` + +--- + +## 📑 License + +This project is licensed under the [MIT License](LICENSE). diff --git a/robometer/__init__.py b/robometer/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/robometer/assets/robometer.jpg b/robometer/assets/robometer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3f088f67a9e60807efac78fc4a53210934f2647 --- /dev/null +++ b/robometer/assets/robometer.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fca3bde9c8c4de9d7c82809f0a5dbeb23ab49f705ea7a22439a64ab807be4e63 +size 6490314 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/all_metrics.json b/robometer/baseline_eval_output/rbm_smoke_10/all_metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..f5844da6f6d639205fe019eb090df213cb2ff201 --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/all_metrics.json @@ -0,0 +1,6 @@ +{ + "reward_alignment": { + "racer_val/loss": 0.04008283880995868, + "racer_val/pearson": 0.9235551377640896 + } +} \ No newline at end of file diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/metrics.json b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/metrics.json new file mode 100644 index 0000000000000000000000000000000000000000..8d16345f01e36e755427884cd2a271ca4e1232f4 --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/metrics.json @@ -0,0 +1,4 @@ +{ + "racer_val/loss": 0.04008283880995868, + "racer_val/pearson": 0.9235551377640896 +} \ No newline at end of file diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0000.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0000.gif new file mode 100644 index 0000000000000000000000000000000000000000..1f1324ce00825ad9a5631720925d479c50845faa --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0000.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a119138c6583f04c85147dad18d6b57eada5a7bcf3a7ca9e539bc6f7680a4efc +size 556143 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0001.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0001.gif new file mode 100644 index 0000000000000000000000000000000000000000..532b1086caf085d8f9072d5cffb9481a43c16bd7 --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0001.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cd7d980c81c004afed276cffdcf4f31ea2adabb752a3a576159da379df0c084 +size 314007 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0002.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0002.gif new file mode 100644 index 0000000000000000000000000000000000000000..5cbae66defdb5f9d70ff8886ae1ad13255eb8d61 --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0002.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1932585e1bbfbb18788e4ddb71cbd0eef575872872f71481019a6ad5739cdcb +size 642086 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0003.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0003.gif new file mode 100644 index 0000000000000000000000000000000000000000..9945b793f91c3c5909bb2898899cceae1e8f976b --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0003.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d1df6c6c26a7c12a74c7780d0fb03b72b7d95052b41d0357d875a8e99cbea8b +size 418957 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0004.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0004.gif new file mode 100644 index 0000000000000000000000000000000000000000..dd43acf90bd809c2502c351a8e14c4fbed30642d --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0004.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ec8842263f1ea60568d22799f20425159610f2a8746a034b98ec16ee42262b7 +size 547677 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0005.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0005.gif new file mode 100644 index 0000000000000000000000000000000000000000..17727a3d598aa1b7089935c74710fee5f4c3c91b --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0005.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:faf3314c58a915f859e8e70f53b9c5d2af47a69d3a7e4b67dd44dfff7c478c6f +size 242406 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0006.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0006.gif new file mode 100644 index 0000000000000000000000000000000000000000..0525c33385628972359738f6f682266cf8ffb023 --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0006.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a01a12edb1186f2e30afc0badcb352f8a47b96ed9a3f8a0d7e1665e469ada2d +size 337208 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0007.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0007.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4e3fe3ca7236272056166d273cb48d0a5285914 --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0007.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:741d17d2b7d27428ed64c6b4e20490e7131f57ee8be382b4f700b0da74c80db2 +size 359267 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0008.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0008.gif new file mode 100644 index 0000000000000000000000000000000000000000..5e6837435f75e2fa044fd5592a92f3abf4131b55 --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0008.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9218ca88f3ec5445121565ef3d4924b9b6c73085a49cef0be7e0818a8112c330 +size 348731 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0009.gif b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0009.gif new file mode 100644 index 0000000000000000000000000000000000000000..05ef97bc357fda64835d813ee682b48881fde53e --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_plots/trajectory_0009.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a623f8759aec25d8f35e10f6d6d425abf4d82ac55a7f632c091c58faf9554f4a +size 352088 diff --git a/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_results.json b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_results.json new file mode 100644 index 0000000000000000000000000000000000000000..6613957229cb954386c315cfe66d415b06eb953d --- /dev/null +++ b/robometer/baseline_eval_output/rbm_smoke_10/reward_alignment/racer_val_results.json @@ -0,0 +1,1402 @@ +[ + { + "progress_pred": [ + 0.0791015625, + 0.1484375, + 0.193359375, + 0.1845703125 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "frame_step": 0, + "num_frames": 12 + }, + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.08333333333333333, + 0.08333333333333333, + 0.08333333333333333 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.0791015625, + 0.1728515625, + 0.27734375, + 0.357421875 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "frame_step": 2, + "num_frames": 12 + }, + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.16666666666666666, + 0.25, + 0.25 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.0791015625, + 0.1943359375, + 0.30078125, + 0.373046875 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "frame_step": 5, + "num_frames": 12 + }, + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.25, + 0.3333333333333333, + 0.5 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.0791015625, + 0.19921875, + 0.298828125, + 0.419921875 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "frame_step": 8, + "num_frames": 12 + }, + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.3333333333333333, + 0.5, + 0.75 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.0791015625, + 0.2138671875, + 0.302734375, + 0.70703125 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "frame_step": 11, + "num_frames": 12 + }, + "id": "9ebf31b8-36f2-4595-911f-7c1385e5c7d4", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_9ebf31b8-36f2-4595-911f-7c1385e5c7d4.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.4166666666666667, + 0.6666666666666666, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08642578125, + 0.1484375, + 0.181640625, + 0.17578125 + ], + "task": "stack the other cups on top of the cyan cup", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "frame_step": 0, + "num_frames": 11 + }, + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "partial_success": null, + "target_progress": [ + 0.09090909090909091, + 0.09090909090909091, + 0.09090909090909091, + 0.09090909090909091 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08642578125, + 0.1875, + 0.302734375, + 0.388671875 + ], + "task": "stack the other cups on top of the cyan cup", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "frame_step": 2, + "num_frames": 11 + }, + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "partial_success": null, + "target_progress": [ + 0.09090909090909091, + 0.18181818181818182, + 0.2727272727272727, + 0.2727272727272727 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08642578125, + 0.2001953125, + 0.326171875, + 0.43359375 + ], + "task": "stack the other cups on top of the cyan cup", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "frame_step": 5, + "num_frames": 11 + }, + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "partial_success": null, + "target_progress": [ + 0.09090909090909091, + 0.2727272727272727, + 0.36363636363636365, + 0.5454545454545454 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08642578125, + 0.2001953125, + 0.326171875, + 0.4453125 + ], + "task": "stack the other cups on top of the cyan cup", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "frame_step": 7, + "num_frames": 11 + }, + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "partial_success": null, + "target_progress": [ + 0.09090909090909091, + 0.2727272727272727, + 0.5454545454545454, + 0.7272727272727273 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08642578125, + 0.2255859375, + 0.349609375, + 0.69921875 + ], + "task": "stack the other cups on top of the cyan cup", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "frame_step": 10, + "num_frames": 11 + }, + "id": "515bc90f-8bce-4a96-9f20-9242110cd37f", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_515bc90f-8bce-4a96-9f20-9242110cd37f.npz", + "partial_success": null, + "target_progress": [ + 0.09090909090909091, + 0.36363636363636365, + 0.7272727272727273, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.24609375, + 0.36328125, + 0.47265625, + 0.52734375 + ], + "task": "take the chicken off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "frame_step": 0, + "num_frames": 6 + }, + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.24609375, + 0.4140625, + 0.578125, + 0.6484375 + ], + "task": "take the chicken off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "frame_step": 1, + "num_frames": 6 + }, + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.3333333333333333, + 0.3333333333333333 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.24609375, + 0.4140625, + 0.53515625, + 0.64453125 + ], + "task": "take the chicken off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "frame_step": 2, + "num_frames": 6 + }, + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.5 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.24609375, + 0.4140625, + 0.53515625, + 0.62890625 + ], + "task": "take the chicken off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "frame_step": 3, + "num_frames": 6 + }, + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.6666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.24609375, + 0.404296875, + 0.52734375, + 0.76953125 + ], + "task": "take the chicken off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "frame_step": 5, + "num_frames": 6 + }, + "id": "2d4db549-4729-4984-b725-040b4bed560e", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_2d4db549-4729-4984-b725-040b4bed560e.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.5, + 0.6666666666666666, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.39453125, + 0.51953125, + 0.59375, + 0.609375 + ], + "task": "take the steak off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "frame_step": 0, + "num_frames": 6 + }, + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.390625, + 0.515625, + 0.61328125, + 0.6328125 + ], + "task": "take the steak off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "frame_step": 1, + "num_frames": 6 + }, + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.3333333333333333, + 0.3333333333333333 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.390625, + 0.515625, + 0.5546875, + 0.60546875 + ], + "task": "take the steak off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "frame_step": 2, + "num_frames": 6 + }, + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.5 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.390625, + 0.515625, + 0.5546875, + 0.60546875 + ], + "task": "take the steak off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "frame_step": 3, + "num_frames": 6 + }, + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.6666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.390625, + 0.494140625, + 0.5625, + 0.56640625 + ], + "task": "take the steak off the grill", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "frame_step": 5, + "num_frames": 6 + }, + "id": "20a606e5-0edc-4b09-9c85-9f9c15cf63c2", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_20a606e5-0edc-4b09-9c85-9f9c15cf63c2.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.5, + 0.6666666666666666, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.14453125, + 0.205078125, + 0.26171875, + 0.26171875 + ], + "task": "put the sugar in the cupboard", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "frame_step": 0, + "num_frames": 6 + }, + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.14453125, + 0.30078125, + 0.5234375, + 0.57421875 + ], + "task": "put the sugar in the cupboard", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "frame_step": 1, + "num_frames": 6 + }, + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.3333333333333333, + 0.3333333333333333 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.14453125, + 0.30078125, + 0.53125, + 0.65625 + ], + "task": "put the sugar in the cupboard", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "frame_step": 2, + "num_frames": 6 + }, + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.5 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.14453125, + 0.30078125, + 0.53125, + 0.6015625 + ], + "task": "put the sugar in the cupboard", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "frame_step": 3, + "num_frames": 6 + }, + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.6666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.1474609375, + 0.28515625, + 0.421875, + 0.53515625 + ], + "task": "put the sugar in the cupboard", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "frame_step": 5, + "num_frames": 6 + }, + "id": "f1ab4e1d-e577-42d0-888a-4c4997a386b6", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_f1ab4e1d-e577-42d0-888a-4c4997a386b6.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.5, + 0.6666666666666666, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.1279296875, + 0.1943359375, + 0.255859375, + 0.333984375 + ], + "task": "put the ring on the gray spoke", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "frame_step": 0, + "num_frames": 6 + }, + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.1279296875, + 0.255859375, + 0.3984375, + 0.515625 + ], + "task": "put the ring on the gray spoke", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "frame_step": 1, + "num_frames": 6 + }, + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.3333333333333333, + 0.3333333333333333 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.1279296875, + 0.255859375, + 0.388671875, + 0.64453125 + ], + "task": "put the ring on the gray spoke", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "frame_step": 2, + "num_frames": 6 + }, + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.5 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.1279296875, + 0.255859375, + 0.388671875, + 0.546875 + ], + "task": "put the ring on the gray spoke", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "frame_step": 3, + "num_frames": 6 + }, + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.6666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.1279296875, + 0.3203125, + 0.451171875, + 0.640625 + ], + "task": "put the ring on the gray spoke", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "frame_step": 5, + "num_frames": 6 + }, + "id": "84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_84b053f7-94d5-43e7-9aa3-a4c6a63d6bfd.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.5, + 0.6666666666666666, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08984375, + 0.1552734375, + 0.2119140625, + 0.251953125 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "frame_step": 0, + "num_frames": 12 + }, + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.08333333333333333, + 0.08333333333333333, + 0.08333333333333333 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08984375, + 0.2099609375, + 0.3046875, + 0.466796875 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "frame_step": 2, + "num_frames": 12 + }, + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.16666666666666666, + 0.25, + 0.25 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08984375, + 0.1982421875, + 0.328125, + 0.396484375 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "frame_step": 5, + "num_frames": 12 + }, + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.25, + 0.3333333333333333, + 0.5 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08984375, + 0.20703125, + 0.32421875, + 0.400390625 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "frame_step": 8, + "num_frames": 12 + }, + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.3333333333333333, + 0.5, + 0.75 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.08984375, + 0.220703125, + 0.296875, + 0.69921875 + ], + "task": "put the item in the bottom drawer", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "frame_step": 11, + "num_frames": 12 + }, + "id": "fb467e10-15a5-4654-850e-a021549faf10", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_fb467e10-15a5-4654-850e-a021549faf10.npz", + "partial_success": null, + "target_progress": [ + 0.08333333333333333, + 0.4166666666666667, + 0.6666666666666666, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.123046875, + 0.142578125, + 0.1708984375, + 0.1591796875 + ], + "task": "screw in the lime light bulb", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "frame_step": 0, + "num_frames": 8 + }, + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "partial_success": null, + "target_progress": [ + 0.125, + 0.125, + 0.125, + 0.125 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.123046875, + 0.1875, + 0.296875, + 0.294921875 + ], + "task": "screw in the lime light bulb", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "frame_step": 1, + "num_frames": 8 + }, + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "partial_success": null, + "target_progress": [ + 0.125, + 0.25, + 0.25, + 0.25 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.123046875, + 0.1875, + 0.306640625, + 0.291015625 + ], + "task": "screw in the lime light bulb", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "frame_step": 3, + "num_frames": 8 + }, + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "partial_success": null, + "target_progress": [ + 0.125, + 0.25, + 0.375, + 0.5 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.123046875, + 0.251953125, + 0.275390625, + 0.359375 + ], + "task": "screw in the lime light bulb", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "frame_step": 5, + "num_frames": 8 + }, + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "partial_success": null, + "target_progress": [ + 0.125, + 0.375, + 0.5, + 0.75 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.123046875, + 0.251953125, + 0.412109375, + 0.474609375 + ], + "task": "screw in the lime light bulb", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "frame_step": 7, + "num_frames": 8 + }, + "id": "42862408-7781-4a2f-b68c-c6b17ff5b785", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_42862408-7781-4a2f-b68c-c6b17ff5b785.npz", + "partial_success": null, + "target_progress": [ + 0.125, + 0.375, + 0.75, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.11279296875, + 0.1767578125, + 0.2734375, + 0.34765625 + ], + "task": "stack the wine bottle to the right of the rack", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "frame_step": 0, + "num_frames": 6 + }, + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666, + 0.16666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.11279296875, + 0.2578125, + 0.404296875, + 0.50390625 + ], + "task": "stack the wine bottle to the right of the rack", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "frame_step": 1, + "num_frames": 6 + }, + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.3333333333333333, + 0.3333333333333333 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.11279296875, + 0.2578125, + 0.375, + 0.51171875 + ], + "task": "stack the wine bottle to the right of the rack", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "frame_step": 2, + "num_frames": 6 + }, + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.5 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.11279296875, + 0.2578125, + 0.375, + 0.478515625 + ], + "task": "stack the wine bottle to the right of the rack", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "frame_step": 3, + "num_frames": 6 + }, + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.3333333333333333, + 0.5, + 0.6666666666666666 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.11279296875, + 0.2373046875, + 0.341796875, + 0.8046875 + ], + "task": "stack the wine bottle to the right of the rack", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "frame_step": 5, + "num_frames": 6 + }, + "id": "adf6bf99-b3ee-4fa1-9467-7d3ba9c88994", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_adf6bf99-b3ee-4fa1-9467-7d3ba9c88994.npz", + "partial_success": null, + "target_progress": [ + 0.16666666666666666, + 0.5, + 0.6666666666666666, + 1.0 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.2080078125, + 0.298828125, + 0.43359375, + 0.482421875 + ], + "task": "use the stick to drag the cube onto the black target", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "88049043-6468-4057-a837-85781c5af0a8", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "frame_step": 0, + "num_frames": 7 + }, + "id": "88049043-6468-4057-a837-85781c5af0a8", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "partial_success": null, + "target_progress": [ + 0.14285714285714285, + 0.14285714285714285, + 0.14285714285714285, + 0.14285714285714285 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.2080078125, + 0.3515625, + 0.5390625, + 0.609375 + ], + "task": "use the stick to drag the cube onto the black target", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "88049043-6468-4057-a837-85781c5af0a8", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "frame_step": 1, + "num_frames": 7 + }, + "id": "88049043-6468-4057-a837-85781c5af0a8", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "partial_success": null, + "target_progress": [ + 0.14285714285714285, + 0.2857142857142857, + 0.2857142857142857, + 0.2857142857142857 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.2080078125, + 0.3515625, + 0.64453125, + 0.6484375 + ], + "task": "use the stick to drag the cube onto the black target", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "88049043-6468-4057-a837-85781c5af0a8", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "frame_step": 3, + "num_frames": 7 + }, + "id": "88049043-6468-4057-a837-85781c5af0a8", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "partial_success": null, + "target_progress": [ + 0.14285714285714285, + 0.2857142857142857, + 0.42857142857142855, + 0.5714285714285714 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.208984375, + 0.349609375, + 0.494140625, + 0.48828125 + ], + "task": "use the stick to drag the cube onto the black target", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "88049043-6468-4057-a837-85781c5af0a8", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "frame_step": 4, + "num_frames": 7 + }, + "id": "88049043-6468-4057-a837-85781c5af0a8", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "partial_success": null, + "target_progress": [ + 0.14285714285714285, + 0.2857142857142857, + 0.5714285714285714, + 0.7142857142857143 + ], + "quality_label": "successful" + }, + { + "progress_pred": [ + 0.208984375, + 0.578125, + 0.53515625, + 0.78515625 + ], + "task": "use the stick to drag the cube onto the black target", + "data_source": "racer_val", + "data_gen_strategy": null, + "metadata": { + "id": "88049043-6468-4057-a837-85781c5af0a8", + "data_gen_strategy": "reward_alignment", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "frame_step": 6, + "num_frames": 7 + }, + "id": "88049043-6468-4057-a837-85781c5af0a8", + "video_path": "./processed_datasets/jesbu1_racer_rfm_racer_val/frames/trajectory_88049043-6468-4057-a837-85781c5af0a8.npz", + "partial_success": null, + "target_progress": [ + 0.14285714285714285, + 0.42857142857142855, + 0.7142857142857143, + 1.0 + ], + "quality_label": "successful" + } +] \ No newline at end of file diff --git a/robometer/dataset_upload/README.md b/robometer/dataset_upload/README.md new file mode 100755 index 0000000000000000000000000000000000000000..88acf8ba74d32f17d5370408c2867a0b44c58b97 --- /dev/null +++ b/robometer/dataset_upload/README.md @@ -0,0 +1,224 @@ +# Adding New Datasets to Robometer + +This guide explains how to add new datasets to the Robometer training pipeline. + +## Supported Datasets + +### Ready-to-Use Datasets +- **LIBERO**: Built-in HDF5 support → [📖 LIBERO Guide](dataset_guides/LIBERO.md) +- **AgiBotWorld**: ✅ Native streaming support → [📖 AgiBotWorld Guide](dataset_guides/AgiBotWorld.md) + +### Custom Datasets +- **Add Your Own**: DROID, Bridge, or any custom dataset → [📖 Custom Dataset Guide](dataset_guides/CustomDataset.md) + +## Quick Start + +### Use Existing Datasets +```bash +# AgiBotWorld (streaming) +uv run python dataset_upload/generate_hf_dataset.py --config_path=dataset_upload/configs/data_gen_configs/agibot_world.yaml + +# LIBERO (local files) +uv run python dataset_upload/generate_hf_dataset.py --config_path=dataset_upload/configs/data_gen.yaml +``` + +### Add Custom Dataset +1. **Read the guide**: [Custom Dataset Guide](dataset_guides/CustomDataset.md) +2. **Create loader**: `dataset_upload/{dataset_name}_loader.py` +3. **Add config**: `dataset_upload/configs/data_gen_configs/{dataset_name}.yaml` +4. **Test**: Run conversion and training + +## Architecture Overview + +Each dataset type has its own loader module. The main converter (`generate_hf_dataset.py`) is dataset-agnostic and works with any dataset-specific loader that follows the established interface. + +### Output Formats + +The converter supports two output formats: + +**Video Mode** (`--output.use_video=true`): +- Creates MP4 video files using H.264 encoding +- Videos are stored in organized directories: `trajectory_XXXX/trajectory.mp4` +- Uses `datasets.Video()` feature for proper HuggingFace video display +- Supports configurable frame rate, resolution, and cropping + +**Frame Mode** (`--output.use_video=false`): +- Creates individual JPG image files +- Images are stored in organized directories: `trajectory_XXXX/frame_XX.jpg` +- Uses `datasets.Sequence(datasets.Image())` feature for image galleries +- Supports configurable frame count and resolution + +### Video Processing Features + +The dataset converter includes built-in video processing: +- **📹 Automatic Resizing**: Videos resized to consistent dimensions (configurable shortest edge size) +- **⏱️ Frame Interpolation**: Downsamples to configurable frame count (default: all frames preserved) +- **🎬 MP4 Creation**: Creates H.264 encoded MP4 files for optimal HuggingFace compatibility +- **🎯 Quality Preservation**: Maintains visual quality while standardizing format +- **📁 File Organization**: Organizes videos in trajectory-specific directories + +## Dataset Structure Requirements + +Your dataset loader must produce trajectories in the following format: + +```python +{ + 'frames': Union[str, List[str]], # Video file path (video mode) or list of image file paths (frame mode) + 'actions': np.ndarray, # Actions + 'is_robot': bool, # Whether this is robot data (True) or human data (False) + 'task': str, # Human-readable task description + 'optimal': str # Whether this trajectory is optimal +} +``` + +**Note**: The dataset converter automatically creates MP4 video files or individual frame images based on the `use_video` setting. + +## Step-by-Step Guide + +### 1. Create Your Dataset Loader + +Create a new Python file in the `data/` directory following the naming convention: `{dataset_name}_loader.py` + +Example: `droid_loader.py` or `bridge_loader.py` + +```python +#!/usr/bin/env python3 +""" +DROID dataset loader for the generic dataset converter for Robometer model training. +This module contains DROID-specific logic for loading and processing data. +""" + +import os +import numpy as np +from typing import List, Dict +from pathlib import Path +from tqdm import tqdm + +def load_droid_dataset(base_path: str) -> Dict[str, List[Dict]]: + """Load DROID dataset and organize by task. + + Args: + base_path: Path to the DROID dataset directory + + Returns: + Dictionary mapping task names to lists of trajectory dictionaries + """ + + print(f"Loading DROID dataset from: {base_path}") + + task_data = {} + + # Your dataset-specific loading logic here + # This is where you'll implement the logic to: + # 1. Find and read your data files + # 2. Extract frames, actions, rewards, etc. + # 3. Organize by task + # 4. Convert to the required format + + # Example structure (adapt to your dataset): + base_path = Path(base_path) + if not base_path.exists(): + raise FileNotFoundError(f"DROID dataset path not found: {base_path}") + + # Find your data files (adapt this to your dataset structure) + data_files = list(base_path.glob("**/*.hdf5")) # or whatever format you use + + for file_path in tqdm(data_files, desc="Processing DROID dataset"): + task_name = file_path.stem + + # Load your data file + # This is where you'll implement your specific loading logic + trajectories = load_trajectories_from_file(file_path) + + task_data[task_name] = trajectories + + print(f"Loaded {sum(len(trajectories) for trajectories in task_data.values())} trajectories from {len(task_data)} tasks") + return task_data + +def load_trajectories_from_file(file_path: Path) -> List[Dict]: + """Load trajectories from a single DROID data file.""" + trajectories = [] + + # Implement your file loading logic here + # This will depend on your dataset format (HDF5, JSON, pickle, etc.) + + # Example for HDF5 format: + import h5py + with h5py.File(file_path, 'r') as f: + # Navigate your HDF5 structure and extract data + # Convert to the required format + pass + + return trajectories +``` + +### 2. Update the Main Converter + +Add your dataset type to the main converter in `generate_hf_dataset.py`: + +```python +# In the main() function, add your dataset type: +elif cfg.dataset.dataset_type == "droid": + from dataset_loaders.droid_loader import load_droid_dataset + # Load the trajectories using your loader + task_data = load_droid_dataset(cfg.dataset.dataset_path) + trajectories = flatten_task_data(task_data) +``` + +### 3. Test Your Loader + +Create a simple test script to verify your loader works: + +```python +# test_droid_loader.py +from droid_loader import load_droid_dataset +from helpers import flatten_task_data + +# Test your loader +task_data = load_droid_dataset("/path/to/your/droid/dataset") +trajectories = flatten_task_data(task_data) + +print(f"Loaded {len(trajectories)} trajectories") +print(f"Sample trajectory keys: {list(trajectories[0].keys())}") +print(f"Sample task: {trajectories[0].get('task', 'No task found')}") +``` + +### 4. Run Dataset Conversion + +Use the main converter with your new dataset: + +```bash +uv run python data/generate_hf_dataset.py \ + --config_path=configs/dataset_.yaml \ + --dataset.dataset_name=your_dataset \ + --dataset.dataset_path=/path/to/your/dataset \ + --output.output_dir=your_robometer_dataset \ + --output.max_trajectories=1000 \ + --output.max_frames=-1 \ + --output.use_video=true \ + --output.fps=10 \ + --output.shortest_edge_size=240 \ + --output.center_crop=false +``` + +### Visualize the Dataset + +```bash +uv run python visualize_dataset.py --dataset_path=your_robometer_dataset/your_dataset_name +``` + +## Dataset-Specific Guides + +📁 **[Browse All Dataset Guides](dataset_guides/)** - Complete overview with quick reference table + +### Individual Guides +- **[📖 AgiBotWorld Guide](dataset_guides/AgiBotWorld.md)** - Streaming support, webdataset format +- **[📖 LIBERO Guide](dataset_guides/LIBERO.md)** - HDF5 files, simulation data +- **[📖 Custom Dataset Guide](dataset_guides/CustomDataset.md)** - Add DROID, Bridge, or your own dataset + +Each guide includes: +- ✅ Prerequisites and setup +- ✅ Configuration examples +- ✅ Troubleshooting tips +- ✅ Performance notes +- ✅ Integration with Robometer training \ No newline at end of file diff --git a/robometer/dataset_upload/__init__.py b/robometer/dataset_upload/__init__.py new file mode 100755 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/robometer/dataset_upload/__init__.py @@ -0,0 +1 @@ + diff --git a/robometer/dataset_upload/__pycache__/__init__.cpython-310.pyc b/robometer/dataset_upload/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d617c07706d8bf689c47985879372bab2ff89cea Binary files /dev/null and b/robometer/dataset_upload/__pycache__/__init__.cpython-310.pyc differ diff --git a/robometer/dataset_upload/__pycache__/__init__.cpython-311.pyc b/robometer/dataset_upload/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..717c0a3f7646d297188c924a606bc2abe650dced Binary files /dev/null and b/robometer/dataset_upload/__pycache__/__init__.cpython-311.pyc differ diff --git a/robometer/dataset_upload/__pycache__/generate_hf_dataset.cpython-310.pyc b/robometer/dataset_upload/__pycache__/generate_hf_dataset.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cc82fe4bf86a9305a1c50fa3dd9159f9dfbb3262 Binary files /dev/null and b/robometer/dataset_upload/__pycache__/generate_hf_dataset.cpython-310.pyc differ diff --git a/robometer/dataset_upload/__pycache__/helpers.cpython-310.pyc b/robometer/dataset_upload/__pycache__/helpers.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ecf6ae42f361b589aa796ff4b3d7cce2b37de86d Binary files /dev/null and b/robometer/dataset_upload/__pycache__/helpers.cpython-310.pyc differ diff --git a/robometer/dataset_upload/__pycache__/helpers.cpython-311.pyc b/robometer/dataset_upload/__pycache__/helpers.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..96329e10b83b25554a12e863006ced2c07e2b98f Binary files /dev/null and b/robometer/dataset_upload/__pycache__/helpers.cpython-311.pyc differ diff --git a/robometer/dataset_upload/__pycache__/video_helpers.cpython-310.pyc b/robometer/dataset_upload/__pycache__/video_helpers.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d56081aaefb0fc2cd3c720de2f879d8b8714a93f Binary files /dev/null and b/robometer/dataset_upload/__pycache__/video_helpers.cpython-310.pyc differ diff --git a/robometer/dataset_upload/__pycache__/video_helpers.cpython-311.pyc b/robometer/dataset_upload/__pycache__/video_helpers.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1bc95b0d67b1fece32eac51c29b011e95fa84a8f Binary files /dev/null and b/robometer/dataset_upload/__pycache__/video_helpers.cpython-311.pyc differ diff --git a/robometer/dataset_upload/configs/data_gen.yaml b/robometer/dataset_upload/configs/data_gen.yaml new file mode 100755 index 0000000000000000000000000000000000000000..cb366b820e15446bada770509c79eb85d61acd80 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen.yaml @@ -0,0 +1,17 @@ +# config.yaml +dataset: + dataset_path: LIBERO/libero/datasets/libero_90 + dataset_name: libero_90 # This will be the dataset name / data source + +output: + output_dir: robometer_dataset + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 30 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: aliangdw/robometer \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/agibot_world.yaml b/robometer/dataset_upload/configs/data_gen_configs/agibot_world.yaml new file mode 100755 index 0000000000000000000000000000000000000000..bfdb2dea8bad7d1cea284ff34530269217f8737a --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/agibot_world.yaml @@ -0,0 +1,15 @@ +# AgiBotWorld dataset configuration +dataset: + dataset_path: "agibot-world/AgiBotWorld-Alpha" # HuggingFace dataset name for streaming + dataset_name: agibotworld + +output: + output_dir: datasets/agibotworld_dataset + max_trajectories: 100 # Limit for testing, increase for full dataset + max_frames: 64 + use_video: true + fps: 30 + +hub: + push_to_hub: true # Set to true when ready to upload + hub_repo_id: agibotworld_rfm \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/autoeval.yaml b/robometer/dataset_upload/configs/data_gen_configs/autoeval.yaml new file mode 100644 index 0000000000000000000000000000000000000000..de3bff239825d1e40f92ee31863ffc81c1bf6c71 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/autoeval.yaml @@ -0,0 +1,20 @@ +# config.yaml +dataset: + dataset_path: ./datasets/auto_eval # Root containing eval_data/ + dataset_name: auto_eval_rfm + +output: + output_dir: ./robometer_dataset/auto_eval_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 5 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: auto_eval_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/egocot.yaml b/robometer/dataset_upload/configs/data_gen_configs/egocot.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2b2817c8e867c7ea96eb629356dcb1b60340d971 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/egocot.yaml @@ -0,0 +1,17 @@ +# config.yaml +dataset: + dataset_path: ./egocot # Path to EgoCoT dataset directory that has EgoCOT_clear/ and results.json inside + dataset_name: egocot # This will be the dataset name / data source + +output: + output_dir: ./robometer_dataset/egocot_rfm + max_trajectories: -1 # -1 for all trajectories + max_frames: 8 # EgoCoT uses 8 consecutive frames anyway + use_video: true + fps: 1 # Since EgoCoT is not a video dataset, we use 1 fps + shortest_edge_size: 224 # Standard size for vision models + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: egocot_rfm diff --git a/robometer/dataset_upload/configs/data_gen_configs/egodex.yaml b/robometer/dataset_upload/configs/data_gen_configs/egodex.yaml new file mode 100755 index 0000000000000000000000000000000000000000..a6d7e322f6cfeb1c516b16794ec571d91be86b6c --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/egodex.yaml @@ -0,0 +1,18 @@ +# EgoDex dataset configuration +dataset: + dataset_path: "~/part2" # Local path to EgoDex dataset directory + dataset_name: egodex_part2 + +output: + output_dir: robometer_dataset/egodex_rfm + max_trajectories: -1 + max_frames: 32 + shortest_edge_size: 240 + use_video: true + fps: 5 + center_crop: false + num_workers: 3 + +hub: + push_to_hub: true + hub_repo_id: egodex_rfm \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/epic.yaml b/robometer/dataset_upload/configs/data_gen_configs/epic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f4a11d122b932bfdbbd989ef98a64ab67cec7eec --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/epic.yaml @@ -0,0 +1,20 @@ +# config.yaml +dataset: + dataset_path: ../epic_kitchens_100 + dataset_name: epic + +output: + output_dir: ./robometer_dataset/epic_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 30 + shortest_edge_size: 240 + center_crop: false + num_workers: 3 # less workers because cv2/ffmpeg loads are multiprocessed + +hub: + push_to_hub: true + hub_repo_id: epic_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/failsafe.yaml b/robometer/dataset_upload/configs/data_gen_configs/failsafe.yaml new file mode 100644 index 0000000000000000000000000000000000000000..169425a6a99347a85ab87a00ae8b055398fe4a70 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/failsafe.yaml @@ -0,0 +1,20 @@ +# config.yaml +dataset: + dataset_path: ./datasets/failsafe_data # Root containing FailPickCube-v1/ FailPushCube-v1/ FailStackCube-v1/ and jsons + dataset_name: failsafe + +output: + output_dir: ./robometer_dataset/failsafe_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + num_workers: 4 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: failsafe_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/fino_net.yaml b/robometer/dataset_upload/configs/data_gen_configs/fino_net.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6386a3736b14e06e5bcaca5439c41632069ad93f --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/fino_net.yaml @@ -0,0 +1,18 @@ +# config.yaml for FinoNet dataset +dataset: + dataset_path: ./datasets/fino-net # Path to the dataset root (contains failure.zip or unzipped failure directory) + dataset_name: fino_net # This will be the dataset name / data source + +output: + output_dir: robometer_dataset/fino_net_rfm + max_trajectories: -1 # -1 for all episodes + max_frames: 64 + use_video: true + fps: 5 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: fino_net_rfm + diff --git a/robometer/dataset_upload/configs/data_gen_configs/galaxea.yaml b/robometer/dataset_upload/configs/data_gen_configs/galaxea.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9aa86d59b71373ced101cf9c65c5c01065077c64 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/galaxea.yaml @@ -0,0 +1,20 @@ +# config.yaml +dataset: + dataset_path: ./datasets/galaxea # Root containing 'rlds/' + dataset_name: galaxea_part1_r1_lite + +output: + output_dir: ./robometer_dataset/galaxea_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 15 + shortest_edge_size: 240 + center_crop: false + num_workers: 1 + +hub: + push_to_hub: true + hub_repo_id: galaxea_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/h2r.yaml b/robometer/dataset_upload/configs/data_gen_configs/h2r.yaml new file mode 100755 index 0000000000000000000000000000000000000000..bad779fe14bbf1da3f8708512ee3681190a9fca1 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/h2r.yaml @@ -0,0 +1,17 @@ +# config.yaml +dataset: + dataset_path: ./humanandrobot/data/v1 + dataset_name: h2r # This will be the dataset name / data source + +output: + output_dir: datasets/h2r_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: h2r_rfm \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/hand_paired.yaml b/robometer/dataset_upload/configs/data_gen_configs/hand_paired.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b987bb7a9646a60715ce2dfac52d4fb98f216657 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/hand_paired.yaml @@ -0,0 +1,19 @@ +# config.yaml +dataset: + dataset_path: ./datasets/hand_paired_data + dataset_name: hand_paired + +output: + output_dir: ./robometer_dataset/hand_paired_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: hand_paired_rfm + diff --git a/robometer/dataset_upload/configs/data_gen_configs/humanoid_everyday.yaml b/robometer/dataset_upload/configs/data_gen_configs/humanoid_everyday.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d8da36bb42ea7b4812ea1d93fd67771f9e839b2f --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/humanoid_everyday.yaml @@ -0,0 +1,18 @@ +# Humanoid Everyday dataset configuration +dataset: + dataset_path: "./datasets/humanoid_everyday" # Path containing zip files with humanoid everyday datasets + dataset_name: humanoid_everyday_rfm + +output: + output_dir: ./robometer_dataset/humanoid_everyday_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 30 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: humanoid_everyday_rfm diff --git a/robometer/dataset_upload/configs/data_gen_configs/libero.yaml b/robometer/dataset_upload/configs/data_gen_configs/libero.yaml new file mode 100755 index 0000000000000000000000000000000000000000..8051a6a29bd2d4f72cf8da9defc16c516358341b --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/libero.yaml @@ -0,0 +1,17 @@ +# config.yaml +dataset: + dataset_path: deps/libero/LIBERO/libero/datasets/libero_90 + dataset_name: libero_90 # This will be the dataset name / data source + +output: + output_dir: datasets/libero_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 30 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: libero_rfm \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/metaworld.yaml b/robometer/dataset_upload/configs/data_gen_configs/metaworld.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5c4f78cfe09d78569d96439e0c9f6c0d4d4d49da --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/metaworld.yaml @@ -0,0 +1,17 @@ +dataset: + dataset_name: metaworld_train + dataset_path: mw_policy_ranking_data + +output: + output_dir: datasets/metaworld_rfm + use_video: true # Convert to MP4 videos + fps: 10 # Target frame rate for output videos + shortest_edge_size: 240 # Resize videos to this shortest edge + center_crop: true # Don't center crop, maintain aspect ratio + max_trajectories: -1 # -1 for all trajectories + max_frames: -1 # -1 for all frames + num_workers: 2 + +hub: + push_to_hub: true + hub_repo_id: metaworld \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/mit_franka_prank.yaml b/robometer/dataset_upload/configs/data_gen_configs/mit_franka_prank.yaml new file mode 100644 index 0000000000000000000000000000000000000000..84cda7955912f8b8d372b00b3b118fa6e4d6678d --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/mit_franka_prank.yaml @@ -0,0 +1,19 @@ +# MIT-Robot-Prank Dataset Configuration +dataset: + dataset_path: ~/projects/robometer/datasets/20251210-mit-robot-prank # Path to dataset directory + dataset_name: mit_franka_p-rank_rfm + +output: + output_dir: ./robometer_dataset/mit_franka_p-rank_rfm + max_trajectories: -1 # -1 for all trajectories + max_frames: 32 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: mit_franka_p-rank_rfm + diff --git a/robometer/dataset_upload/configs/data_gen_configs/molmoact.yaml b/robometer/dataset_upload/configs/data_gen_configs/molmoact.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d897dfd1b94063cc74911febbf4c27985babe6df --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/molmoact.yaml @@ -0,0 +1,20 @@ +# config.yaml +dataset: + dataset_path: ./datasets/molmoact # Root containing parquet files + dataset_name: molmoact_dataset_household + +output: + output_dir: ./robometer_dataset/molmoact_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 1 + +hub: + push_to_hub: true + hub_repo_id: molmoact_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/motif.yaml b/robometer/dataset_upload/configs/data_gen_configs/motif.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8886e745a89ea2d1bf26845eb23eba5c67e9b04c --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/motif.yaml @@ -0,0 +1,20 @@ +# config.yaml +dataset: + dataset_path: ./datasets/MotIF # Root containing annotations/, human_motion/, stretch_motion/ + dataset_name: motif_rfm + +output: + output_dir: ./robometer_dataset/motif_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: motif_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/new_mit_franka.yaml b/robometer/dataset_upload/configs/data_gen_configs/new_mit_franka.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e4cb225d50a0d15abd959a1b1e0d9596a79d5f21 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/new_mit_franka.yaml @@ -0,0 +1,19 @@ +# Robometer MIT Franka Dataset Configuration +dataset: + dataset_path: ~/robometer/datasets/ROBOMETER_MIT_Franka # Path to dataset directory + dataset_name: rfm_new_mit_franka_rfm_nowrist + exclude_wrist_cam: true # Set to true to only process external camera views + +output: + output_dir: ./robometer_dataset/rfm_new_mit_franka_rfm_nowrist + max_trajectories: -1 # -1 for all trajectories + max_frames: 32 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: rfm_new_mit_franka_rfm_nowrist diff --git a/robometer/dataset_upload/configs/data_gen_configs/oxe.yaml b/robometer/dataset_upload/configs/data_gen_configs/oxe.yaml new file mode 100755 index 0000000000000000000000000000000000000000..db7a61882f1591f407cc23ecb2b8b98e2e41423c --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/oxe.yaml @@ -0,0 +1,17 @@ +# EgoDex dataset configuration +dataset: + dataset_path: "/home1/jessez/scratch_data/tensorflow_datasets/openx_datasets/" # Local path to OXE dataset directory + dataset_name: oxe_bc_z # TODO: fill in dataset name + +output: + output_dir: robometer_datasets/oxe_rfm + max_trajectories: -1 + max_frames: 32 + shortest_edge_size: 240 + use_video: true + fps: 10 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: oxe_rfm \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/ph2d.yaml b/robometer/dataset_upload/configs/data_gen_configs/ph2d.yaml new file mode 100644 index 0000000000000000000000000000000000000000..05ba30df7aeef7f2f96a8aaff048cfc89a29ef7e --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/ph2d.yaml @@ -0,0 +1,19 @@ +# config.yaml +dataset: + dataset_path: ./ph2d # Root with sequence subfolders each containing HDF5 files + dataset_name: ph2d + +output: + output_dir: ./robometer_dataset/ph2d_rfm + max_trajectories: -1 + max_frames: 64 # use all frames in each sequence + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: ph2d_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/racer_train.yaml b/robometer/dataset_upload/configs/data_gen_configs/racer_train.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8b6948f17fa0a7cb815218fdb213f167ad9f5986 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/racer_train.yaml @@ -0,0 +1,19 @@ +# config.yaml +dataset: + dataset_path: ./datasets/RACER + dataset_name: racer_train + +output: + output_dir: ./robometer_dataset/racer_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 2 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: racer_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/racer_val.yaml b/robometer/dataset_upload/configs/data_gen_configs/racer_val.yaml new file mode 100644 index 0000000000000000000000000000000000000000..437488c867471709c0e40243b02eb68689d5e43d --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/racer_val.yaml @@ -0,0 +1,19 @@ +# config.yaml +dataset: + dataset_path: ./datasets/RACER + dataset_name: racer_val + +output: + output_dir: ./robometer_dataset/racer_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 2 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: racer_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/roboarena.yaml b/robometer/dataset_upload/configs/data_gen_configs/roboarena.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f705b2fecf9da14daf0fa3cf8bd64e64935239c5 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/roboarena.yaml @@ -0,0 +1,18 @@ +# config.yaml +dataset: + dataset_path: ./datasets/roboarena + dataset_name: roboarena_eval_debug_nowrist # This will be the dataset name / data source + +output: + output_dir: ./robometer_dataset/roboarena_eval_debug_nowrist + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + num_workers: 8 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: roboarena_eval_debug_nowrist \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/robofac.yaml b/robometer/dataset_upload/configs/data_gen_configs/robofac.yaml new file mode 100755 index 0000000000000000000000000000000000000000..103ee972788f5d7442e91d3f5cd65ad0acd43b62 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/robofac.yaml @@ -0,0 +1,18 @@ +# RoboFAC (MINT-SJTU/RoboFAC-dataset). Run conversion first; then preprocess with preprocess_finetune.yaml. +# Override: --dataset.dataset_path=/path/to/RoboFAC-dataset +dataset: + dataset_path: "deps/RoboFAC-dataset" + dataset_name: robofac + +output: + output_dir: ./robometer_dataset/robofac + max_trajectories: null + max_frames: 32 + shortest_edge_size: 240 + use_video: true + fps: 10 + center_crop: false + +hub: + push_to_hub: false + hub_repo_id: robofac_rbm \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/robofail.yaml b/robometer/dataset_upload/configs/data_gen_configs/robofail.yaml new file mode 100755 index 0000000000000000000000000000000000000000..2dfa427bd398b6a896331f39805afedf6ab4ce8a --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/robofail.yaml @@ -0,0 +1,17 @@ +# RoboFail dataset configuration +dataset: + dataset_path: "deps/robofail" # Local path to RoboFail dataset directory + dataset_name: robofail + +output: + output_dir: datasets/robofail_rfm + max_trajectories: null + max_frames: 64 + shortest_edge_size: 240 + use_video: true + fps: 30 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: robofail_rfm \ No newline at end of file diff --git a/robometer/dataset_upload/configs/data_gen_configs/roboreward.yaml b/robometer/dataset_upload/configs/data_gen_configs/roboreward.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2aeb78a0a34feebabeb6c9a03c6ed7e471ebe50e --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/roboreward.yaml @@ -0,0 +1,18 @@ +# config.yaml +dataset: + dataset_path: ./datasets/RoboReward + dataset_name: roboreward_train # Can be overridden with --dataset.dataset_name + +output: + output_dir: ./robometer_dataset/roboreward_rfm + max_trajectories: -1 + max_frames: 32 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: roboreward_rfm diff --git a/robometer/dataset_upload/configs/data_gen_configs/soar.yaml b/robometer/dataset_upload/configs/data_gen_configs/soar.yaml new file mode 100644 index 0000000000000000000000000000000000000000..77b420e53aa44bcfb3c556e9ddbc3b09f5859470 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/soar.yaml @@ -0,0 +1,20 @@ +# config.yaml +dataset: + dataset_path: ./datasets/soar_data # Root containing rlds/// + dataset_name: soar_rfm + +output: + output_dir: ./robometer_dataset/soar_rfm + max_trajectories: -1 + max_frames: 32 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: soar_rfm + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/usc_franka_policy_ranking.yaml b/robometer/dataset_upload/configs/data_gen_configs/usc_franka_policy_ranking.yaml new file mode 100644 index 0000000000000000000000000000000000000000..204b679d2e6a447907a48a105ea4fe21bef935f4 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/usc_franka_policy_ranking.yaml @@ -0,0 +1,19 @@ +# USC Franka Policy Ranking dataset config +dataset: + dataset_path: ./nov17_datacollect + dataset_name: usc_franka_policy_ranking + +output: + output_dir: ./robometer_dataset/usc_franka_policy_ranking + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 2 + +hub: + push_to_hub: false + hub_repo_id: usc_franka_policy_ranking + diff --git a/robometer/dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml b/robometer/dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml new file mode 100644 index 0000000000000000000000000000000000000000..545ea7252ef60a249fa56350c30f1311cdc16686 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml @@ -0,0 +1,20 @@ +# USC Koch Human-Robot Paired Dataset Configuration +# Use with --dataset.dataset_name to specify "human" or "robot" +dataset: + dataset_path: ~/projects/robometer/datasets/usc_koch_human_robot_paired + dataset_name: usc_koch_human_robot_paired_human # Override with human/robot + +output: + output_dir: ./robometer_dataset/usc_koch_human_robot_paired # Will be overridden by dataset_name + max_trajectories: -1 # -1 for all trajectories + max_frames: 32 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: usc_koch_human_robot_paired # Will be overridden by dataset_name + diff --git a/robometer/dataset_upload/configs/data_gen_configs/usc_koch_p_ranking.yaml b/robometer/dataset_upload/configs/data_gen_configs/usc_koch_p_ranking.yaml new file mode 100644 index 0000000000000000000000000000000000000000..decb0f8c9d4865e4aacb536ad623f939c54ac1a5 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/usc_koch_p_ranking.yaml @@ -0,0 +1,24 @@ +# USC Koch P-Ranking (robot-only) Dataset Configuration +# +# Folder expected (see dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh): +# /robot/usc_koch_* (includes success/suboptimal/failure) +# +dataset: + dataset_path: ~/projects/robometer/datasets/usc_koch_human_robot_paired + dataset_name: usc_koch_p_ranking_rfm + +output: + output_dir: ./robometer_dataset/usc_koch_p_ranking # overridden per dataset_name (like other dataset_upload converters) + max_trajectories: -1 # -1 for all trajectories + max_frames: 32 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: usc_koch_p_ranking_rfm # recommended: keep constant; converter strips suffixes when pushing + + diff --git a/robometer/dataset_upload/configs/data_gen_configs/usc_xarm_policy_ranking.yaml b/robometer/dataset_upload/configs/data_gen_configs/usc_xarm_policy_ranking.yaml new file mode 100644 index 0000000000000000000000000000000000000000..16d0d38aca2938fbe2a93ef6727d6082a44294cd --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/usc_xarm_policy_ranking.yaml @@ -0,0 +1,19 @@ +# USC xArm Policy Ranking dataset config +dataset: + dataset_path: ./xarm_policy_ranking + dataset_name: usc_xarm_policy_ranking + +output: + output_dir: ./robometer_dataset/usc_xarm_policy_ranking + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 2 + +hub: + push_to_hub: false + hub_repo_id: usc_xarm_policy_ranking + diff --git a/robometer/dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_top.yaml b/robometer/dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_top.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ae0060da00d0140d589e8f520f1ceb729e6f7b17 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_top.yaml @@ -0,0 +1,19 @@ +# UTD SO101 Clean Policy Ranking Dataset Configuration - Top View +dataset: + dataset_path: ~/projects/robometer/datasets/utd_prank + dataset_name: utd_so101_clean_policy_ranking_top + +output: + output_dir: ./robometer_dataset/utd_so101_clean_policy_ranking_top + max_trajectories: -1 # -1 for all trajectories + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: utd_so101_clean_policy_ranking_top + diff --git a/robometer/dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_wrist.yaml b/robometer/dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_wrist.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e50b0a0c24a1b2922adf309db5de5a24b25b8f81 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_wrist.yaml @@ -0,0 +1,19 @@ +# UTD SO101 Clean Policy Ranking Dataset Configuration - Wrist View +dataset: + dataset_path: ~/projects/robometer/datasets/utd_prank + dataset_name: utd_so101_clean_policy_ranking_wrist + +output: + output_dir: ./robometer_dataset/utd_so101_clean_policy_ranking_wrist + max_trajectories: -1 # -1 for all trajectories + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: utd_so101_clean_policy_ranking_wrist + diff --git a/robometer/dataset_upload/configs/data_gen_configs/utd_so101_eval.yaml b/robometer/dataset_upload/configs/data_gen_configs/utd_so101_eval.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7979cd4683b2d0450a71d9c58414fe391fc775dd --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/utd_so101_eval.yaml @@ -0,0 +1,19 @@ +# Koch Arm UT Dallas dataset config +dataset: + dataset_path: ./raw_data/ROBOMETER_UTD_Eval + dataset_name: utd_so101_policy_ranking + +output: + output_dir: ./robometer_dataset/utd_so101_policy_ranking + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 2 + +hub: + push_to_hub: false + hub_repo_id: utd_so101_policy_ranking + diff --git a/robometer/dataset_upload/configs/data_gen_configs/utd_so101_human.yaml b/robometer/dataset_upload/configs/data_gen_configs/utd_so101_human.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5c8bbc8bd5d93a15365b697c639bc19310bdf6d1 --- /dev/null +++ b/robometer/dataset_upload/configs/data_gen_configs/utd_so101_human.yaml @@ -0,0 +1,18 @@ +# UTD SO101 Human dataset config +dataset: + dataset_path: ./raw_data/ROBOMETER_UTD_Human + dataset_name: utd_so101_human + +output: + output_dir: ./robometer_dataset/utd_so101_human + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 2 + +hub: + push_to_hub: false + hub_repo_id: utd_so101_human \ No newline at end of file diff --git a/robometer/dataset_upload/data_scripts/__init__.py b/robometer/dataset_upload/data_scripts/__init__.py new file mode 100755 index 0000000000000000000000000000000000000000..5a1496f2b8b243c1e86c4413fe80e913f58ae3fc --- /dev/null +++ b/robometer/dataset_upload/data_scripts/__init__.py @@ -0,0 +1 @@ +# Makes this directory a package for relative imports in submodules diff --git a/robometer/dataset_upload/data_scripts/agibot/__init__.py b/robometer/dataset_upload/data_scripts/agibot/__init__.py new file mode 100755 index 0000000000000000000000000000000000000000..613c33158eb4f3f215edb3e041db5b373c31baa8 --- /dev/null +++ b/robometer/dataset_upload/data_scripts/agibot/__init__.py @@ -0,0 +1,21 @@ +from .agibot_helper import ( + DEFAULT_DATASET_ROOT, + DEFAULT_INDEX_PATH, + DEFAULT_TASK_INFO_DIR, + build_episode_to_task_index, + ensure_episode_index, + find_task_json_for_episode, + get_episode_record, + load_episode_to_task_index, +) + +__all__ = [ + "DEFAULT_DATASET_ROOT", + "DEFAULT_INDEX_PATH", + "DEFAULT_TASK_INFO_DIR", + "build_episode_to_task_index", + "ensure_episode_index", + "find_task_json_for_episode", + "get_episode_record", + "load_episode_to_task_index", +] diff --git a/robometer/dataset_upload/data_scripts/agibot/agibot_helper.py b/robometer/dataset_upload/data_scripts/agibot/agibot_helper.py new file mode 100755 index 0000000000000000000000000000000000000000..723360348d60899d01c249fa6cdbb6b2ac23d4cc --- /dev/null +++ b/robometer/dataset_upload/data_scripts/agibot/agibot_helper.py @@ -0,0 +1,170 @@ +"""Utilities for indexing and looking up AgiBotWorld task JSONs. + +This module builds and uses an index mapping episode_id -> task_json_path, +so downstream scripts can quickly resolve which task file contains a given +episode. The index is stored as a JSON file on disk for fast re-use. +""" + +from __future__ import annotations + +import json +import os +from collections.abc import Iterable +from glob import glob + +# Default locations used by the downloader +DEFAULT_DATASET_ROOT: str = os.path.join("datasets", "tmp", "agibotworld_alpha") +DEFAULT_TASK_INFO_DIR: str = os.path.join(DEFAULT_DATASET_ROOT, "task_info") +DEFAULT_INDEX_PATH: str = os.path.join(DEFAULT_DATASET_ROOT, "episode_to_task_index.json") + + +def _task_json_files(task_info_dir: str) -> Iterable[str]: + """Yield task JSON files within the given directory. + + Parameters + - task_info_dir: Directory that contains task_*.json files + """ + + pattern = os.path.join(task_info_dir, "task_*.json") + for file_path in sorted(glob(pattern)): + # Guard against directories or non-files matching the pattern + if os.path.isfile(file_path): + yield file_path + + +def build_episode_to_task_index( + task_info_dir: str = DEFAULT_TASK_INFO_DIR, + output_index_path: str = DEFAULT_INDEX_PATH, + verbose: bool = True, +) -> dict[str, str]: + """Build an index mapping episode_id -> task_json_path and save to disk. + + Keys are stored as strings in the JSON index for portability, but callers + may freely pass `int` episode ids to the lookup helpers provided here. + + Returns the mapping in-memory as well. + """ + + if not os.path.isdir(task_info_dir): + raise FileNotFoundError(f"Task info directory not found: {os.path.abspath(task_info_dir)}") + + episode_to_task: dict[str, str] = {} + duplicate_episode_ids: list[str] = [] + + for json_path in _task_json_files(task_info_dir): + try: + with open(json_path, encoding="utf-8") as f: + entries = json.load(f) + except Exception as exc: # pragma: no cover - defensive logging + if verbose: + print(f"[agibot_helper] Skipping unreadable file {json_path}: {exc}") + continue + + if not isinstance(entries, list): + if verbose: + print(f"[agibot_helper] Unexpected JSON structure in {json_path}; expected a list.") + continue + + for item in entries: + if not isinstance(item, dict) or "episode_id" not in item: + continue + episode_id_val = item["episode_id"] + # Normalize to string for JSON index stability + episode_key = str(episode_id_val) + if episode_key in episode_to_task: + duplicate_episode_ids.append(episode_key) + episode_to_task[episode_key] = json_path + + # Ensure output directory exists + os.makedirs(os.path.dirname(output_index_path), exist_ok=True) + with open(output_index_path, "w", encoding="utf-8") as f: + json.dump(episode_to_task, f) + + if verbose: + total = len(episode_to_task) + dupes = len(set(duplicate_episode_ids)) + print( + f"[agibot_helper] Built episode->task index with {total} episodes" + + (f" ({dupes} duplicate ids overwritten)" if dupes else "") + + f" at {os.path.abspath(output_index_path)}" + ) + + return episode_to_task + + +def load_episode_to_task_index(index_path: str = DEFAULT_INDEX_PATH) -> dict[str, str]: + """Load the episode->task index from disk. + + Raises FileNotFoundError if the index doesn't exist. + """ + + if not os.path.isfile(index_path): + raise FileNotFoundError( + f"Episode index not found: {os.path.abspath(index_path)}. Build it with build_episode_to_task_index()." + ) + with open(index_path, encoding="utf-8") as f: + return json.load(f) + + +def ensure_episode_index( + task_info_dir: str = DEFAULT_TASK_INFO_DIR, + index_path: str = DEFAULT_INDEX_PATH, + verbose: bool = False, +) -> dict[str, str]: + """Return an in-memory episode->task index, building it if missing.""" + + if os.path.isfile(index_path): + return load_episode_to_task_index(index_path) + return build_episode_to_task_index(task_info_dir, index_path, verbose=verbose) + + +def find_task_json_for_episode( + episode_id: int | str, + task_info_dir: str = DEFAULT_TASK_INFO_DIR, + index_path: str = DEFAULT_INDEX_PATH, +) -> str: + """Return the path to the task JSON file containing the given episode. + + If the index file is missing, it will be built automatically. + Raises KeyError if the episode id is not present in the index. + """ + + index = ensure_episode_index(task_info_dir=task_info_dir, index_path=index_path) + key = str(episode_id) + if key not in index: + raise KeyError(f"Episode id {episode_id} not found in index at {os.path.abspath(index_path)}") + return index[key] + + +def get_episode_record( + episode_id: int | str, + task_info_dir: str = DEFAULT_TASK_INFO_DIR, + index_path: str = DEFAULT_INDEX_PATH, +) -> tuple[str, dict]: + """Return (json_path, episode_record) for the given episode id. + + This reads the relevant task JSON file and returns the full dictionary + entry for the requested episode. Raises KeyError if the episode isn't + present. + """ + + json_path = find_task_json_for_episode(episode_id=episode_id, task_info_dir=task_info_dir, index_path=index_path) + with open(json_path, encoding="utf-8") as f: + entries = json.load(f) + key = int(episode_id) + for item in entries: + if isinstance(item, dict) and int(item.get("episode_id", -1)) == key: + return json_path, item + raise KeyError(f"Episode id {episode_id} not found inside file {os.path.abspath(json_path)}") + + +__all__ = [ + "DEFAULT_DATASET_ROOT", + "DEFAULT_INDEX_PATH", + "DEFAULT_TASK_INFO_DIR", + "build_episode_to_task_index", + "ensure_episode_index", + "find_task_json_for_episode", + "get_episode_record", + "load_episode_to_task_index", +] diff --git a/robometer/dataset_upload/data_scripts/agibot/download_task_jsons.py b/robometer/dataset_upload/data_scripts/agibot/download_task_jsons.py new file mode 100755 index 0000000000000000000000000000000000000000..f4e6f69467bc8cf34329be2195132713b9d46dfd --- /dev/null +++ b/robometer/dataset_upload/data_scripts/agibot/download_task_jsons.py @@ -0,0 +1,42 @@ +import os +import sys + +from huggingface_hub import snapshot_download + +# Support running as a module (python -m robometer.data.data_scripts.agibot.download_task_jsons) +# and running directly as a script (python dataset_upload/data_scripts/agibot/download_task_jsons.py) +try: + from .agibot_helper import ( + DEFAULT_DATASET_ROOT, + DEFAULT_TASK_INFO_DIR, + build_episode_to_task_index, + ) +except Exception: # pragma: no cover - fallback for direct execution + current_dir = os.path.dirname(os.path.abspath(__file__)) + project_root = os.path.abspath(os.path.join(current_dir, "../../../..")) + if project_root not in sys.path: + sys.path.insert(0, project_root) + from robometer.data.data_scripts.agibot.agibot_helper import ( # type: ignore + DEFAULT_DATASET_ROOT, + DEFAULT_TASK_INFO_DIR, + build_episode_to_task_index, + ) + + +def main() -> None: + os.makedirs(DEFAULT_DATASET_ROOT, exist_ok=True) + + # Download task JSONs + snapshot_download( + repo_id="agibot-world/AgiBotWorld-Alpha", + allow_patterns="task_info/*.json", + local_dir=DEFAULT_DATASET_ROOT, + repo_type="dataset", + ) + + # Build episode->task index to speed up lookups later + build_episode_to_task_index(task_info_dir=DEFAULT_TASK_INFO_DIR, verbose=True) + + +if __name__ == "__main__": + main() diff --git a/robometer/dataset_upload/data_scripts/egodex/download_and_convert.sh b/robometer/dataset_upload/data_scripts/egodex/download_and_convert.sh new file mode 100644 index 0000000000000000000000000000000000000000..411f2124c666a3bc24cc56ef3304366f43eb79d4 --- /dev/null +++ b/robometer/dataset_upload/data_scripts/egodex/download_and_convert.sh @@ -0,0 +1,31 @@ +for part in test part1 part2 part3 part4 part5; do + + echo "Processing ${part}..." + + # Download the dataset. + # Example curl "https://ml-site.cdn-apple.com/datasets/egodex/test.zip" -o test.zip + # Download it to ~/egodex/${part}.zip + # check first if it doesn't exist + mkdir -p ${HOME}/egodex + if [ ! -d "${HOME}/egodex/${part}" ]; then + echo "curl "https://ml-site.cdn-apple.com/datasets/egodex/${part}.zip" -o ${HOME}/egodex/${part}.zip" + curl "https://ml-site.cdn-apple.com/datasets/egodex/${part}.zip" -o ${HOME}/egodex/${part}.zip + unzip -d ${HOME}/egodex/${part} ${HOME}/egodex/${part}.zip + rm ${HOME}/egodex/${part}.zip + fi + + uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/egodex.yaml \ + --dataset.dataset_path="${HOME}/egodex/${part}/${part}" \ + --dataset.dataset_name="egodex_${part}" \ + --output.output_dir=./robometer_dataset/egodex_rfm \ + --hub.push_to_hub=false + + echo "Done processing ${part}..." + + # Delete the dataset + echo "Deleting ${HOME}/egodex/${part}..." + rm -rf ${HOME}/egodex/${part} + echo "Done deleting ${HOME}/egodex/${part}..." + +done \ No newline at end of file diff --git a/robometer/dataset_upload/data_scripts/galaxea/gen_all_galaxea.sh b/robometer/dataset_upload/data_scripts/galaxea/gen_all_galaxea.sh new file mode 100755 index 0000000000000000000000000000000000000000..7a5819aec5dc25649aacbd1f9bfa8149308d6539 --- /dev/null +++ b/robometer/dataset_upload/data_scripts/galaxea/gen_all_galaxea.sh @@ -0,0 +1,20 @@ +# large datasets near the end +galaxea_valid_datasets=( + "part1_r1_lite" + "part2_r1_lite" + "part3_r1_lite" + "part4_r1_lite" + "part5_r1_lite" +) + +for dataset_name in ${galaxea_valid_datasets[@]}; do + echo "Generating dataset: $dataset_name" + echo "=" * 100 + uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/galaxea.yaml \ + --output.output_dir ./rfm_dataset/galaxea_rfm \ + --dataset.dataset_name galaxea_$dataset_name \ + + echo "Done generating dataset: $dataset_name" + echo "=" * 100 +done \ No newline at end of file diff --git a/robometer/dataset_upload/data_scripts/humanoid_everyday/download_humanoid_everyday.sh b/robometer/dataset_upload/data_scripts/humanoid_everyday/download_humanoid_everyday.sh new file mode 100644 index 0000000000000000000000000000000000000000..a408bcc5d6aea0d9f65ae76e5a92d1a22498d88d --- /dev/null +++ b/robometer/dataset_upload/data_scripts/humanoid_everyday/download_humanoid_everyday.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +# ------------------------------------------------------------- +# download_all.sh +# +# Downloads all the Dropbox folders in the URL list below and +# extracts each one into *{DEST_ROOT}/{folder_name}*. +# +# 1️⃣ Edit the variable `DEST_ROOT` at the top of this file to +# point wherever you want the data stored. +# Example: DEST_ROOT="/home/user/DropboxData" +# +# 2️⃣ Make it executable and run: +# chmod +x download_all.sh +# ./download_all.sh +# +# ------------------------------------------------------------- + +set -euo pipefail + +# ------------------------------------------------------------------ +# 1️⃣ Destination root – change this to wherever you want the data. +DEST_ROOT="./datasets/humanoid_everyday" # ← modify here + +# Create it if it doesn't exist (but don't overwrite an existing one) +mkdir -p "$DEST_ROOT" + +# ------------------------------------------------------------------ +# 2️⃣ List of URLs (one per line). Add or remove lines as needed. +URLS=( +"https://www.dropbox.com/scl/fo/r6xwxxuiwmnypzprzqza7/AA8nw-Rehsp19BgpznzX3G8/Articulated?rlkey=42llsh52wfq47r77m05mkikus&subfolder_nav_tracking=1&st=p7o1n5u8&dl=0" +"https://www.dropbox.com/scl/fo/r6xwxxuiwmnypzprzqza7/AB-bJ9d9SthpaxRq-psftIM/Basic%20manipulation?rlkey=42llsh52wfq47r77m05mkikus&e=1&st=ujqfmcrx&dl=0" +"https://www.dropbox.com/scl/fo/r6xwxxuiwmnypzprzqza7/AHhg5yc8HuZ3nUJwHEpvV7o/Deformable?rlkey=42llsh52wfq47r77m05mkikus&subfolder_nav_tracking=1&st=uuahde75&dl=0" +"https://www.dropbox.com/scl/fo/r6xwxxuiwmnypzprzqza7/AHCZsyuhfXG9BpV9OvyTUUY/Human%20robot%20interaction?rlkey=42llsh52wfq47r77m05mkikus&subfolder_nav_tracking=1&st=f0l92o3l&dl=0" +"https://www.dropbox.com/scl/fo/r6xwxxuiwmnypzprzqza7/AIaNECZ5mNu7P84jRk5IaAE/Loco-manipulation?rlkey=42llsh52wfq47r77m05mkikus&subfolder_nav_tracking=1&st=ndxg5mxe&dl=0" +"https://www.dropbox.com/scl/fo/r6xwxxuiwmnypzprzqza7/AGDzhFFpengBQRE4K_mK-_k/Precision?rlkey=42llsh52wfq47r77m05mkikus&subfolder_nav_tracking=1&st=v7wpk52e&dl=0" +"https://www.dropbox.com/scl/fo/r6xwxxuiwmnypzprzqza7/AMeSkqL7WLIuIFVzHe8T5nE/Tool%20use?rlkey=42llsh52wfq47r77m05mkikus&subfolder_nav_tracking=1&st=1dmsbxmc&dl=0" +) + +# ------------------------------------------------------------------ +download_and_extract() { + local url="$1" + + # 1️⃣ Build the ZIP URL + local zip_url="${url/&dl=0/&dl=1}" + zip_url="${zip_url/;dl=0;/;dl=1;}" + + echo "📦 [$url] → downloading ZIP …" + curl -L --fail "$zip_url" --output /tmp/dropbox_folder.zip + + # 2️⃣ Determine the folder name (last path segment before any query) + local folder_name="$(basename "${url%%\?*}")" + + # 3️⃣ Full destination path: DEST_ROOT/folder_name + local out_dir="${DEST_ROOT}/${folder_name}" + mkdir -p "$out_dir" + + echo "📂 [$url] → extracting to '$out_dir/' …" + unzip -o /tmp/dropbox_folder.zip -d "$out_dir" || true # ignore non-fatal warnings + + rm -f /tmp/dropbox_folder.zip + echo "✅ [$url] done!" +} + +# ------------------------------------------------------------------ +for u in "${URLS[@]}"; do + download_and_extract "$u" +done + +echo "🎉 All folders downloaded and extracted into $DEST_ROOT." + diff --git a/robometer/dataset_upload/data_scripts/libero/gen_all_libero.sh b/robometer/dataset_upload/data_scripts/libero/gen_all_libero.sh new file mode 100755 index 0000000000000000000000000000000000000000..f8ae23eacfbdabbabd3af389cb072e3b1f767343 --- /dev/null +++ b/robometer/dataset_upload/data_scripts/libero/gen_all_libero.sh @@ -0,0 +1,24 @@ +uv run python dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/libero.yaml\ + --dataset.dataset_path=deps/libero/LIBERO/libero/datasets/libero_10_256 \ + --dataset.dataset_name=libero256_10 + +uv run python dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/libero.yaml\ + --dataset.dataset_path=deps/libero/LIBERO/libero/datasets/libero_90_256 \ + --dataset.dataset_name=libero256_90 + +uv run python dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/libero.yaml\ + --dataset.dataset_path=deps/libero/LIBERO/libero/datasets/libero_spatial_256 \ + --dataset.dataset_name=libero256_spatial + +uv run python dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/libero.yaml\ + --dataset.dataset_path=deps/libero/LIBERO/libero/datasets/libero_goal_256 \ + --dataset.dataset_name=libero256_goal + +uv run python dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/libero.yaml\ + --dataset.dataset_path=deps/libero/LIBERO/libero/datasets/libero_object_256 \ + --dataset.dataset_name=libero256_object \ No newline at end of file diff --git a/robometer/dataset_upload/data_scripts/libero/rerender_all.sh b/robometer/dataset_upload/data_scripts/libero/rerender_all.sh new file mode 100644 index 0000000000000000000000000000000000000000..7a579e437e5cd38217e3bd6a2538c9f60436eae3 --- /dev/null +++ b/robometer/dataset_upload/data_scripts/libero/rerender_all.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Rerender LIBERO datasets across suites using uv + rerender_libero.py +# Usage: +# ./libero/rerender_all.sh +# +# Optional env vars: +# UV_BIN=uv # override uv binary +# SUITES="a b c" # override suites list (space-separated) +# DEBUG_MODE=1 # pass --debug_mode to the python script + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(pwd)" + +UV_BIN=${UV_BIN:-uv} +PY_SCRIPT="${PROJECT_ROOT}/dataset_upload/data_scripts/libero/rerender_libero.py" +REQS_FILE="${PROJECT_ROOT}/deps/libero/LIBERO/requirements.txt" +DATASETS_DIR="${PROJECT_ROOT}/deps/libero/LIBERO/libero/datasets" + +# Default suites to process if not overridden +DEFAULT_SUITES=( + "libero_spatial" + "libero_object" + "libero_goal" + # "libero_10" + "libero_90" +) + +if [[ -n "${SUITES:-}" ]]; then + # shellcheck disable=SC2206 + SUITES_ARR=( ${SUITES} ) +else + SUITES_ARR=( "${DEFAULT_SUITES[@]}" ) +fi + +DEBUG_FLAG="" +if [[ "${DEBUG_MODE:-0}" == "1" ]]; then + DEBUG_FLAG="--debug_mode" +fi + +echo "Project root: ${PROJECT_ROOT}" +echo "Datasets dir: ${DATASETS_DIR}" +echo "Suites: ${SUITES_ARR[*]}" + +for SUITE in "${SUITES_ARR[@]}"; do + RAW_DIR="${DATASETS_DIR}/${SUITE}" + TARGET_DIR="${DATASETS_DIR}/${SUITE}_256" + + if [[ ! -d "${RAW_DIR}" ]]; then + echo "[skip] ${SUITE}: raw data dir not found: ${RAW_DIR}" >&2 + continue + fi + + echo "[run] ${SUITE} → ${TARGET_DIR}" + "${UV_BIN}" run --with-requirements "${REQS_FILE}" \ + "${PY_SCRIPT}" \ + --libero_task_suite "${SUITE}" \ + --libero_raw_data_dir "${RAW_DIR}" \ + --libero_target_dir "${TARGET_DIR}" \ + ${DEBUG_FLAG} +done + +echo "All requested suites processed." + + diff --git a/robometer/dataset_upload/data_scripts/libero/rerender_libero.py b/robometer/dataset_upload/data_scripts/libero/rerender_libero.py new file mode 100644 index 0000000000000000000000000000000000000000..7ad8b6d6480a27be6325d9077cc6fc9f710f354e --- /dev/null +++ b/robometer/dataset_upload/data_scripts/libero/rerender_libero.py @@ -0,0 +1,322 @@ +""" +Generates a LIBERO failure dataset (HDF5 files) by replaying demonstrations with added noise in the environments. + +Notes: + - We save image observations at 256x256px resolution (instead of 128x128). + - We filter out transitions with "no-op" (zero) actions that do not change the robot's state. + - We only save trajectories that FAIL (do not complete successfully) to create a failure dataset. + +Usage: + python generate_failure_dataset.py \ + --libero_task_suite [ libero_spatial | libero_object | libero_goal | libero_10 ] \ + --libero_raw_data_dir \ + --libero_target_dir \ + [--debug_mode] + + Example (LIBERO-Spatial): + python generate_failure_dataset.py \ + --libero_task_suite libero_90 \ + --libero_raw_data_dir ./libero/datasets/libero_90 \ + --libero_target_dir ./libero/datasets/libero_90_failure \ + --debug_mode + +""" + +# Add libero to the python path +import sys + +sys.path.append("deps/libero/LIBERO") + +import argparse +import json +import os +from datetime import datetime + +import h5py +import imageio +import numpy as np +import robosuite.utils.transform_utils as T +import tqdm +from libero.libero import benchmark, get_libero_path +from libero.libero.envs import OffScreenRenderEnv + +IMAGE_RESOLUTION = 256 + + +def get_libero_env(task, model_family, resolution=256): + """Initializes and returns the LIBERO environment, along with the task description.""" + task_description = task.language + task_bddl_file = os.path.join(get_libero_path("bddl_files"), task.problem_folder, task.bddl_file) + env_args = {"bddl_file_name": task_bddl_file, "camera_heights": resolution, "camera_widths": resolution} + env = OffScreenRenderEnv(**env_args) + env.seed(0) # IMPORTANT: seed seems to affect object positions even when using fixed initial state + return env, task_description + + +def get_libero_dummy_action(model_family: str): + """Get dummy/no-op action, used to roll out the simulation while the robot does nothing.""" + return [0, 0, 0, 0, 0, 0, -1] + + +def save_failure_video(rollout_images, task_id, demo_id, task_description): + """Saves an MP4 replay of a failure episode.""" + + # Create timestamp for unique filename + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + + # Process task description for filename + processed_task_description = task_description.lower().replace(" ", "_").replace("\n", "_").replace(".", "_")[:50] + + # Create filename + mp4_path = f"failure_task{task_id}_demo{demo_id}_{timestamp}_{processed_task_description}.mp4" + + # Create video writer + video_writer = imageio.get_writer(mp4_path, fps=30) + + # Write frames + for img in rollout_images: + video_writer.append_data(img) + + video_writer.close() + print(f"Saved failure video at: {mp4_path}") + return mp4_path + + +def is_noop(action, prev_action=None, threshold=1e-4): + """ + Returns whether an action is a no-op action. + + A no-op action satisfies two criteria: + (1) All action dimensions, except for the last one (gripper action), are near zero. + (2) The gripper action is equal to the previous timestep's gripper action. + + Explanation of (2): + Naively filtering out actions with just criterion (1) is not good because you will + remove actions where the robot is staying still but opening/closing its gripper. + So you also need to consider the current state (by checking the previous timestep's + gripper action as a proxy) to determine whether the action really is a no-op. + """ + # Special case: Previous action is None if this is the first action in the episode + # Then we only care about criterion (1) + if prev_action is None: + return np.linalg.norm(action[:-1]) < threshold + + # Normal case: Check both criteria (1) and (2) + gripper_action = action[-1] + prev_gripper_action = prev_action[-1] + return np.linalg.norm(action[:-1]) < threshold and gripper_action == prev_gripper_action + + +def main(args): + print(f"Generating {args.libero_task_suite} failure dataset!") + + if args.debug_mode: + print("Debug mode: Will save failure trajectory as MP4 video") + + # Create target directory + if os.path.isdir(args.libero_target_dir): + user_input = input( + f"Target directory already exists at path: {args.libero_target_dir}\nEnter 'y' to overwrite the directory, or anything else to exit: " + ) + if user_input != "y": + exit() + os.makedirs(args.libero_target_dir, exist_ok=True) + + # Prepare JSON file to record success/failure and initial states per episode + metainfo_json_dict = {} + metainfo_json_out_path = f"deps/libero/LIBERO/libero/datasets/{args.libero_task_suite}_rerender_metainfo.json" + with open(metainfo_json_out_path, "w") as f: + # Just test that we can write to this file (we overwrite it later) + json.dump(metainfo_json_dict, f) + + # Get task suite + benchmark_dict = benchmark.get_benchmark_dict() + task_suite = benchmark_dict[args.libero_task_suite]() + num_tasks_in_suite = task_suite.n_tasks + + # Setup + num_replays = 0 + num_failures = 0 + num_noops = 0 + + for task_id in tqdm.tqdm(range(num_tasks_in_suite)): + # Get task in suite + task = task_suite.get_task(task_id) + env, task_description = get_libero_env(task, "llava", resolution=IMAGE_RESOLUTION) + + # Get dataset for task + orig_data_path = os.path.join(args.libero_raw_data_dir, f"{task.name}_demo.hdf5") + assert os.path.exists(orig_data_path), f"Cannot find raw data file {orig_data_path}." + orig_data_file = h5py.File(orig_data_path, "r") + orig_data = orig_data_file["data"] + + # Create new HDF5 file for failure demos + new_data_path = os.path.join(args.libero_target_dir, f"{task.name}_demo.hdf5") + new_data_file = h5py.File(new_data_path, "w") + grp = new_data_file.create_group("data") + + for i in range(len(orig_data.keys())): + # Get demo data + demo_data = orig_data[f"demo_{i}"] + orig_actions = demo_data["actions"][()] + orig_states = demo_data["states"][()] + + # Reset environment, set initial state, and wait a few steps for environment to settle + env.reset() + env.set_init_state(orig_states[0]) + for _ in range(10): + obs, reward, done, info = env.step(get_libero_dummy_action("llava")) + + # Set up new data lists + states = [] + actions = [] + ee_states = [] + gripper_states = [] + joint_states = [] + robot_states = [] + agentview_images = [] + eye_in_hand_images = [] + + # For video saving (if enabled) + if args.debug_mode: + rollout_images = [] + + # Replay original demo actions with added noise in environment and record observations + for _, action in enumerate(orig_actions): + # Skip transitions with no-op actions + prev_action = actions[-1] if len(actions) > 0 else None + if is_noop(action, prev_action): + print(f"\tSkipping no-op action: {action}") + num_noops += 1 + continue + + if states == []: + # In the first timestep, since we're using the original initial state to initialize the environment, + # copy the initial state (first state in episode) over from the original HDF5 to the new one + states.append(orig_states[0]) + robot_states.append(demo_data["robot_states"][0]) + else: + # For all other timesteps, get state from environment and record it + states.append(env.sim.get_state().flatten()) + robot_states.append( + np.concatenate([obs["robot0_gripper_qpos"], obs["robot0_eef_pos"], obs["robot0_eef_quat"]]) + ) + + # Add noise to action to create failure trajectories + actions.append(action) + + # Record data returned by environment + if "robot0_gripper_qpos" in obs: + gripper_states.append(obs["robot0_gripper_qpos"]) + joint_states.append(obs["robot0_joint_pos"]) + ee_states.append( + np.hstack(( + obs["robot0_eef_pos"], + T.quat2axisangle(obs["robot0_eef_quat"]), + )) + ) + agentview_images.append(obs["agentview_image"]) + eye_in_hand_images.append(obs["robot0_eye_in_hand_image"]) + + # Save image for video (if enabled) + if args.debug_mode: + rollout_images.append(obs["agentview_image"]) + + # Execute demo action in environment + obs, _reward, done, _info = env.step(action.tolist()) + + # At end of episode, save replayed trajectories to new HDF5 files (only keep FAILURES) + if done: # Changed from 'if done:' to 'if not done:' to save failures + dones = np.zeros(len(actions)).astype(np.uint8) + dones[-1] = 1 + rewards = np.zeros(len(actions)).astype(np.uint8) + # No reward for failure trajectories + assert len(actions) == len(agentview_images) + + ep_data_grp = grp.create_group(f"demo_{i}") + obs_grp = ep_data_grp.create_group("obs") + obs_grp.create_dataset("gripper_states", data=np.stack(gripper_states, axis=0)) + obs_grp.create_dataset("joint_states", data=np.stack(joint_states, axis=0)) + obs_grp.create_dataset("ee_states", data=np.stack(ee_states, axis=0)) + obs_grp.create_dataset("ee_pos", data=np.stack(ee_states, axis=0)[:, :3]) + obs_grp.create_dataset("ee_ori", data=np.stack(ee_states, axis=0)[:, 3:]) + obs_grp.create_dataset("agentview_rgb", data=np.stack(agentview_images, axis=0)) + obs_grp.create_dataset("eye_in_hand_rgb", data=np.stack(eye_in_hand_images, axis=0)) + ep_data_grp.create_dataset("actions", data=actions) + ep_data_grp.create_dataset("states", data=np.stack(states)) + ep_data_grp.create_dataset("robot_states", data=np.stack(robot_states, axis=0)) + ep_data_grp.create_dataset("rewards", data=rewards) + ep_data_grp.create_dataset("dones", data=dones) + + # Save failure video if debugging is enabled + if args.debug_mode: + save_failure_video(rollout_images, task_id, i, task_description) + print("Saved failure video") + exit() + + num_failures += 1 + + num_replays += 1 + + # Record success/failure and initial environment state in metainfo dict + task_key = task_description.replace(" ", "_") + episode_key = f"demo_{i}" + if task_key not in metainfo_json_dict: + metainfo_json_dict[task_key] = {} + if episode_key not in metainfo_json_dict[task_key]: + metainfo_json_dict[task_key][episode_key] = {} + metainfo_json_dict[task_key][episode_key]["success"] = bool(done) + metainfo_json_dict[task_key][episode_key]["initial_state"] = orig_states[0].tolist() + + # Write metainfo dict to JSON file + # (We repeatedly overwrite, rather than doing this once at the end, just in case the script crashes midway) + with open(metainfo_json_out_path, "w") as f: + json.dump(metainfo_json_dict, f, indent=2) + + # Count total number of failure replays so far + print( + f"Total # episodes replayed: {num_replays}, Total # failures: {num_failures} ({num_failures / num_replays * 100:.1f} %)" + ) + + # Report total number of no-op actions filtered out so far + print(f" Total # no-op actions filtered out: {num_noops}") + + # Close HDF5 files + orig_data_file.close() + new_data_file.close() + print(f"Saved failure demos for task '{task_description}' at: {new_data_path}") + env.close() + + print(f"Failure dataset generation complete! Saved new dataset at: {args.libero_target_dir}") + print(f"Saved metainfo JSON at: {metainfo_json_out_path}") + + +if __name__ == "__main__": + # Parse command-line arguments + parser = argparse.ArgumentParser() + parser.add_argument( + "--libero_task_suite", + type=str, + choices=["libero_spatial", "libero_object", "libero_goal", "libero_10", "libero_90"], + help="LIBERO task suite. Example: libero_spatial", + required=True, + ) + parser.add_argument( + "--libero_raw_data_dir", + type=str, + help="Path to directory containing raw HDF5 dataset. Example: ./LIBERO/libero/datasets/libero_spatial", + required=True, + ) + parser.add_argument( + "--libero_target_dir", + type=str, + help="Path to failure dataset directory. Example: ./LIBERO/libero/datasets/libero_spatial_failure", + required=True, + ) + parser.add_argument( + "--debug_mode", action="store_true", help="Save failure trajectories as MP4 videos for debugging" + ) + args = parser.parse_args() + + # Start failure dataset generation + main(args) diff --git a/robometer/dataset_upload/data_scripts/molmoact/gen_all_molmoact.sh b/robometer/dataset_upload/data_scripts/molmoact/gen_all_molmoact.sh new file mode 100644 index 0000000000000000000000000000000000000000..8845db93e18c2ddd39a145d543cd6fdddf5906af --- /dev/null +++ b/robometer/dataset_upload/data_scripts/molmoact/gen_all_molmoact.sh @@ -0,0 +1,2 @@ +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/molmoact.yaml --dataset.dataset_name molmoact_dataset_tabletop +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/molmoact.yaml --dataset.dataset_name molmoact_dataset_household \ No newline at end of file diff --git a/robometer/dataset_upload/data_scripts/oxe/gen_all_oxe.sh b/robometer/dataset_upload/data_scripts/oxe/gen_all_oxe.sh new file mode 100755 index 0000000000000000000000000000000000000000..1b8436544d67f96f44352f55e7f3c6661e1509d3 --- /dev/null +++ b/robometer/dataset_upload/data_scripts/oxe/gen_all_oxe.sh @@ -0,0 +1,47 @@ +# large datasets near the end +OXE_VALID_DATASETS=( + "austin_buds_dataset_converted_externally_to_rlds" + "austin_sirius_dataset_converted_externally_to_rlds" + "berkeley_cable_routing" + "berkeley_fanuc_manipulation" + "dlr_edan_shared_control_converted_externally_to_rlds" + "fmb" + "furniture_bench_dataset_converted_externally_to_rlds" + "iamlab_cmu_pickup_insert_converted_externally_to_rlds" + "jaco_play" + "stanford_hydra_dataset_converted_externally_to_rlds" + "taco_play" + "toto" + "ucsd_kitchen_dataset_converted_externally_to_rlds" + "utaustin_mutex" + "viola" + "fractal20220817_data" + "bc_z" + "language_table" + "bridge_v2" + "droid" + # new datasets + "robo_set" + "aloha_mobile" + "tidybot" + "imperialcollege_sawyer_wrist_cam" + "kaist_nonprehensile_converted_externally_to_rlds" + "berkeley_mvp_converted_externally_to_rlds" + "berkeley_rpt_converted_externally_to_rlds" + "nyu_rot_dataset_converted_externally_to_rlds" + "tokyo_u_lsmo_converted_externally_to_rlds" +) + +for dataset_name in ${OXE_VALID_DATASETS[@]}; do + echo "Generating dataset: $dataset_name" + echo "=" * 100 + uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/oxe.yaml \ + --output.output_dir ./robometer_dataset/oxe_rfm \ + --dataset.dataset_path ~/tensorflow_datasets/openx_datasets/ \ + --hub.push_to_hub=false \ + --dataset.dataset_name oxe_$dataset_name \ + + echo "Done generating dataset: $dataset_name" + echo "=" * 100 +done \ No newline at end of file diff --git a/robometer/dataset_upload/data_scripts/oxe/gen_all_oxe_eval.sh b/robometer/dataset_upload/data_scripts/oxe/gen_all_oxe_eval.sh new file mode 100755 index 0000000000000000000000000000000000000000..8978efb6de44991bb80890f272d40e1ae51f50df --- /dev/null +++ b/robometer/dataset_upload/data_scripts/oxe/gen_all_oxe_eval.sh @@ -0,0 +1,36 @@ +# comment out things which have no eval split +OXE_VALID_DATASETS=( + #"austin_buds_dataset_converted_externally_to_rlds" + #"austin_sirius_dataset_converted_externally_to_rlds" + "berkeley_cable_routing" + #"berkeley_fanuc_manipulation" + #"dlr_edan_shared_control_converted_externally_to_rlds" + #"fmb" + #"furniture_bench_dataset_converted_externally_to_rlds" + #"iamlab_cmu_pickup_insert_converted_externally_to_rlds" + "jaco_play" + #"stanford_hydra_dataset_converted_externally_to_rlds" + "taco_play" + "toto" + #"ucsd_kitchen_dataset_converted_externally_to_rlds" + #"utaustin_mutex" + "viola" + #"fractal20220817_data" + "bc_z" + #"language_table" + "bridge_v2" + #"droid" +) + +for dataset_name in ${OXE_VALID_DATASETS[@]}; do + echo "Generating dataset: $dataset_name" + echo "=" * 100 + uv run dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/oxe.yaml \ + --output.output_dir ~/scratch_data/oxe_rfm_eval \ + --dataset.dataset_name oxe_$dataset_name\_eval \ + --hub.hub_repo_id oxe_rfm_eval + + echo "Done generating dataset: $dataset_name" + echo "=" * 100 +done \ No newline at end of file diff --git a/robometer/dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh b/robometer/dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh new file mode 100644 index 0000000000000000000000000000000000000000..a7a0a264c47c775212bfc5e620f430a27975f8df --- /dev/null +++ b/robometer/dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh @@ -0,0 +1,44 @@ +#!/bin/bash +source ./venv/bin/activate + +datasets=( + "usc_koch_throw_the_orange_cup_away_red_trash_can" + "usc_koch_suboptimal_throw_the_orange_cup_away_red_trash_can" + "usc_koch_failure_throw_the_orange_cup_away_red_trash_can" + "usc_koch_throw_the_black_marker_away_blue_trash_can" + "usc_koch_suboptimal_throw_the_black_marker_away_blue_trash_can" + "usc_koch_failure_throw_the_black_marker_away_blue_trash_can" + "usc_koch_open_the_red_trash_bin_red_trash_bin" + "usc_koch_suboptimal_open_the_red_trash_bin_red_trash_bin" + "usc_koch_failure_open_the_red_trash_bin_red_trash_bin" + "usc_koch_open_the_green_trash_bin_green_trash_bin" + "usc_koch_suboptimal_open_the_green_trash_bin_green_trash_bin" + "usc_koch_failure_open_the_green_trash_bin_green_trash_bin" + "usc_koch_open_the_blue_trash_bin_blue_trash_bin" + "usc_koch_suboptimal_open_the_blue_trash_bin_blue_trash_bin" + "usc_koch_failure_open_the_blue_trash_bin_blue_trash_bin" + "usc_koch_separate_the_red_and_orange_and_orange_cups" + "usc_koch_suboptimal_separate_the_red_and_orange_and_orange_cups" + "usc_koch_failure_separate_the_red_and_orange_and_orange_cups" + "usc_koch_separate_the_purple_and_orange_and_orange_cups" + "usc_koch_suboptimal_separate_the_purple_and_orange_and_orange_cups" + "usc_koch_failure_separate_the_purple_and_orange_and_orange_cups" + "usc_koch_separate_the_purple_and_red_and_red_cups" + "usc_koch_suboptimal_separate_the_purple_and_red_and_red_cups" + "usc_koch_failure_separate_the_purple_and_red_and_red_cups" + "usc_koch_move_the_orange_cup_from_right_to_left" + "usc_koch_suboptimal_move_the_orange_cup_from_right_to_left" + "usc_koch_failure_move_the_orange_cup_from_right_to_left" + "usc_koch_move_the_orange_cup_from_left_to_right" + "usc_koch_suboptimal_move_the_orange_cup_from_left_to_right" + "usc_koch_failure_move_the_orange_cup_from_left_to_right" +) + +for dataset in ${datasets[@]}; do + hf download abraranwar/${dataset} --repo-type=dataset --local-dir=./datasets/usc_koch_human_robot_paired/robot/${dataset} +done + + +gdown --fuzzy https://drive.google.com/file/d/1VsV9GN784WGmuNYtMeIduXfk72WSaS1E/view?usp=drive_link +unzip recordings.zip -d ./datasets/usc_koch_human_robot_paired/human +rm recordings.zip diff --git a/robometer/dataset_upload/dataset_guides/AgiBotWorld.md b/robometer/dataset_upload/dataset_guides/AgiBotWorld.md new file mode 100755 index 0000000000000000000000000000000000000000..ad03344e382b60876df273800d43ad7b0f21f59c --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/AgiBotWorld.md @@ -0,0 +1,194 @@ +# AgiBotWorld Dataset Guide + +AgiBotWorld is a large-scale robotic dataset with **native streaming support** and **advanced video processing** for the Robometer training pipeline. + +## Overview + +- **🚀 Streaming Support**: Process without downloading the 600GB+ full dataset +- **🎯 Head Camera Focus**: Extracts only `head_color.mp4` videos +- **📹 Video Processing**: Automatic resize to 256x256 + frame interpolation during dataset generation +- **📏 Standardized Output**: Configurable frame count (default: 32 frames) +- **💾 Optimized Storage**: 99%+ size reduction (15MB → ~100KB per video) +- **🏷️ Descriptive Task Names**: Extracts proper task descriptions from JSON metadata +- **⚡ Efficient Processing**: Uses pre-encoded MP4 data directly +- **🔄 Graceful Error Handling**: Skips corrupted samples automatically +- **📊 Webdataset Format**: Handles HuggingFace webdataset format natively + +## Prerequisites + +### 0. Set Hugging Face repo ID +Before we start, you must have an HF account which will be pushed to. +You will set this by setting +``` +export HF_USERNAME= +``` + +### 1. HuggingFace Authentication +```bash +uv run hf auth login +``` + +### 2. Accept Dataset License +Visit [https://huggingface.co/datasets/agibot-world/AgiBotWorld-Alpha](https://huggingface.co/datasets/agibot-world/AgiBotWorld-Alpha) and accept the license agreement. + +### 3. Download task information which gets put in a temporary folder. This is so we can index task and subtask information. +``` + uv run dataset_upload/data_scripts/agibot/download_task_jsons.py + ``` + +## Quick Start + +### Option 1: Use Pre-configured Settings +```bash +uv run python dataset_upload/generate_hf_dataset.py --config_path=dataset_upload/configs/data_gen_configs/agibot_world.yaml +``` + +### Option 2: Manual Configuration +```bash +uv run python data/generate_hf_dataset.py \ + --config_path=configs/data_gen.yaml \ + --dataset.dataset_name=agibotworld \ + --dataset.dataset_path="agibot-world/AgiBotWorld-Alpha" \ + --output.output_dir=agibotworld_dataset \ + --output.max_trajectories=100 \ + --output.max_frames=32 \ + --output.use_video=true \ + --output.fps=10 +``` + +### Option 3: Local Dataset Processing +```bash +uv run python data/generate_hf_dataset.py \ + --dataset.dataset_name=agibotworld_local \ + --dataset.dataset_path="/path/to/AgiBotWorld-Alpha/sample_dataset" \ + --output.max_trajectories=50 \ + --output.max_frames=16 \ + --hub.push_to_hub=false +``` + +## Video Processing Features + +The AgiBotWorld loader automatically processes videos during dataset generation with the following optimizations: + +### Processing Pipeline +1. **📹 Frame Extraction**: Loads video frames from MP4 files or bytes +2. **📐 Resize**: All frames resized to **256x256 pixels** +3. **⏱️ Frame Interpolation**: Downsamples to `max_frames` using linear interpolation +4. **🎬 Re-encoding**: Saves as optimized MP4 bytes + +### Performance Benefits +- **Original**: ~15MB per video, 1740+ frames, variable resolution +- **Processed**: ~87-131KB per video, 16-32 frames, 256x256 resolution +- **Reduction**: **99%+ size reduction** for efficient training + +### Configurable Parameters +- `max_frames`: Number of frames to keep (default: 32) +- `target_size`: Resolution (fixed at 256x256 for AgiBotWorld) +- `fps`: Output video frame rate (default: 10) + +## Configuration Options + +Edit `configs/data_gen_configs/agibot_world.yaml`: + +```yaml +dataset: + dataset_path: "agibot-world/AgiBotWorld-Alpha" # HuggingFace dataset name + dataset_name: agibotworld + +output: + output_dir: agibotworld_dataset + max_trajectories: 100 # Increase for more data (up to ~100k) + max_frames: 32 + use_video: true + fps: 10 + +hub: + push_to_hub: false # Set to true to upload results + hub_repo_id: your-username/agibotworld_rfm +``` + +## Data Structure Processed + +``` +AgiBotWorld (Local): +├── head_color.mp4 videos ← EXTRACTED + PROCESSED (15MB → ~100KB each) +├── task_info/*.json ← PARSED for descriptive task names +├── proprio_stats/*.h5 ← LOADED for robot actions +├── depth images ← SKIPPED +└── other camera views ← SKIPPED + +AgiBotWorld (Streaming): +├── head_color.mp4 videos ← EXTRACTED + PROCESSED (31MB → ~100KB each) +├── depth images ← SKIPPED +├── other camera views ← SKIPPED +├── task descriptions ← PARSED from webdataset keys +└── robot actions ← PLACEHOLDER (H5 data not available in streaming) +``` + +## Sample Output + +### Local Dataset Processing +``` +Processing task 446: 'Dual-robot table carrying' + 📹 Processed video: 1740 -> 32 frames, resized to (256, 256) + ✅ Loaded episode 687616 (1/50) +Added 1 trajectories for task 'Dual-robot table carrying' +``` + +### Streaming Dataset Processing +``` +✅ Found valid head camera video #1: 648642/videos/head_color (task 0, episode 0, 31729374 bytes) + 📹 Processed video: 1455 -> 32 frames, resized to (256, 256) +Processed 8 valid samples from 9 total samples +``` + +## Performance Notes + +- **Processing Rate**: ~1-2 samples/second (depends on network) +- **Memory Usage**: Low (streaming approach) +- **Storage**: ~30MB per trajectory (video data) +- **Error Rate**: ~10-20% samples skipped due to webdataset format issues (normal) + +## Troubleshooting + +### Authentication Issues +```bash +# Check if logged in +uv run hf auth whoami + +# Re-login if needed +uv run hf auth login +``` + +### License Access +Make sure you've accepted the license at the dataset page. The error will show: +``` +403 Forbidden: Authorization error +``` + +### Schema Casting Errors +These are normal and handled gracefully: +``` +Skipping sample due to casting error: Couldn't cast +mp4: null +``` + +### Large Scale Processing +For processing thousands of trajectories: +```bash +uv run python data/generate_hf_dataset.py \ + --config_path=configs/data_gen_configs/agibot_world.yaml \ + --output.max_trajectories=5000 \ + --hub.push_to_hub=false # Keep local until ready +``` + +## Integration with Robometer Training + +The generated dataset is compatible with the standard Robometer training pipeline: + +```bash +# Use the processed dataset for training +uv run accelerate launch --config_file configs/fsdp.yaml train.py \ + --config_path=configs/config.yaml \ + --dataset.dataset_path=agibotworld_dataset/agibotworld +``` \ No newline at end of file diff --git a/robometer/dataset_upload/dataset_guides/AutoEval.md b/robometer/dataset_upload/dataset_guides/AutoEval.md new file mode 100644 index 0000000000000000000000000000000000000000..74802d6b94938ae62fd0c3b1c795addf9a8322bc --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/AutoEval.md @@ -0,0 +1,74 @@ +# AutoEval Dataset Guide + +This guide explains how to load and convert the AutoEval pickled evaluation episodes into the Robometer pipeline. + +Source: `https://huggingface.co/datasets/zhouzypaul/auto_eval` + +## Prerequisites + +1) Install the logger library first (may need to make a minor hardcoded moviepy import tweak in one file to make things work): + +```bash +git clone https://github.com/zhouzypaul/robot_eval_logger +cd robot_eval_logger +uv pip install -e . +``` + +2) Download the dataset locally so that it contains an `eval_data/` directory with subfolders per group, each containing pickled episodes. + +## Directory Structure + +``` +/ + eval_data/ + 00001/ + episode_00001_success.pkl + episode_00001_fail.pkl + 00002/ + ... +``` + +We expect per-episode pickle files. Success/failure may be in the filename suffix or inside the pickle (`success` flag). Only paired (success and fail) are kept. + +## Loader + +- File: `dataset_upload/dataset_loaders/autoeval_loader.py` +- Function: `load_autoeval_dataset(dataset_path: str) -> dict[str, list[dict]]` +- For each episode group, decodes frames from `obs['image_primary']` and records `success`. +- Prints totals for successes, failures, and kept pairs. Only paired entries are returned. + +## Configuration (configs/data_gen_configs/autoeval.yaml) + +```yaml +# configs/data_gen_configs/autoeval.yaml + +dataset: + dataset_path: ./datasets/autoeval + dataset_name: autoeval + +output: + output_dir: ./robometer_dataset/autoeval_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 2 + +hub: + push_to_hub: true + hub_repo_id: autoeval_rfm +``` + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/autoeval.yaml +``` + +This will: +- Load pickles from `eval_data/` +- Extract `image_primary` frames per step +- Keep only paired success/failure episodes +- Create a HF dataset with relative video paths diff --git a/robometer/dataset_upload/dataset_guides/CustomDataset.md b/robometer/dataset_upload/dataset_guides/CustomDataset.md new file mode 100755 index 0000000000000000000000000000000000000000..c2bdb0bb34763f53415fa305d818bdad1cd6d5c1 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/CustomDataset.md @@ -0,0 +1,276 @@ +# Custom Dataset Guide + +Learn how to add your own dataset (like DROID, Bridge, etc.) to the Robometer training pipeline. + +## Overview + +Adding a custom dataset involves: +1. Creating a dataset loader module +2. Implementing the required data format +3. Integrating with the main converter +4. Testing and validation + +## Required Data Format + +Your dataset loader must produce trajectories in this format: + +```python +{ + 'frames': List[Union[str, bytes, np.ndarray]], # Video file paths, MP4 bytes, or frame arrays + 'actions': np.ndarray, # Robot actions (N, action_dim) + 'is_robot': bool, # True for robot data, False for human + 'task': str, # Human-readable task description + 'optimal': str # "optimal", "suboptimal", or "failed" +} +``` + +## Step 0: Set Hugging Face repo ID +Before we start, you must have an HF account which will be pushed to. +You will set this by setting +``` +export HF_USERNAME= +``` + + +## Step 1: Create Dataset Loader + +Create `data/{dataset_name}_loader.py`: + +```python +#!/usr/bin/env python3 +""" +{DatasetName} dataset loader for Robometer model training. +""" + +import os +import numpy as np +from typing import List, Dict +from pathlib import Path +from tqdm import tqdm + +def load_{dataset_name}_dataset(base_path: str) -> Dict[str, List[Dict]]: + """Load {DatasetName} dataset and organize by task. + + Args: + base_path: Path to the {DatasetName} dataset directory + + Returns: + Dictionary mapping task names to lists of trajectory dictionaries + """ + + print(f"Loading {DatasetName} dataset from: {base_path}") + print("=" * 100) + print(f"LOADING {DATASET_NAME} DATASET") + print("=" * 100) + + task_data = {} + base_path = Path(base_path) + + if not base_path.exists(): + raise FileNotFoundError(f"{DatasetName} dataset path not found: {base_path}") + + # TODO: Implement your dataset-specific logic here + # Example structure: + + # Find your data files + data_files = list(base_path.glob("**/*.{your_format}")) # e.g., *.pkl, *.json, *.hdf5 + + for file_path in tqdm(data_files, desc=f"Processing {DatasetName} dataset"): + task_name = file_path.stem # or extract from your naming scheme + + # Load your data file + trajectories = load_trajectories_from_file(file_path) + + if trajectories: + task_data[task_name] = trajectories + + print(f"Loaded {sum(len(trajectories) for trajectories in task_data.values())} trajectories from {len(task_data)} tasks") + return task_data + + +def load_trajectories_from_file(file_path: Path) -> List[Dict]: + """Load trajectories from a single data file.""" + trajectories = [] + + # TODO: Implement your file loading logic here + # This depends on your dataset format (HDF5, JSON, pickle, etc.) + + # Example for different formats: + + # For HDF5: + # import h5py + # with h5py.File(file_path, 'r') as f: + # # Navigate your HDF5 structure + # pass + + # For JSON: + # import json + # with open(file_path, 'r') as f: + # data = json.load(f) + + # For pickle: + # import pickle + # with open(file_path, 'rb') as f: + # data = pickle.load(f) + + # Convert to required format: + # trajectory = { + # 'frames': your_frames, # List of file paths, bytes, or numpy arrays + # 'actions': your_actions, # numpy array of shape (sequence_length, action_dim) + # 'is_robot': True, # or False for human demonstrations + # 'task': your_task_description, + # 'optimal': 'optimal' # or 'suboptimal', 'failed' + # } + # trajectories.append(trajectory) + + return trajectories +``` + +## Step 2: Add to Main Converter + +Edit `data/generate_hf_dataset.py` to include your dataset: + +```python +# In the main() function, add your dataset type: +elif "{dataset_name}" in cfg.dataset.dataset_name.lower(): + from {dataset_name}_loader import load_{dataset_name}_dataset + # Load the trajectories using your loader + task_data = load_{dataset_name}_dataset(cfg.dataset.dataset_path) + trajectories = flatten_task_data(task_data) +``` + +## Step 3: Create Configuration File + +Create `configs/data_gen_configs/{dataset_name}.yaml`: + +```yaml +# {DatasetName} dataset configuration +dataset: + dataset_path: /path/to/your/{dataset_name}/dataset + dataset_name: {dataset_name} + +output: + output_dir: {dataset_name}_dataset + max_trajectories: 1000 # Adjust as needed + max_frames: 32 + use_video: true + fps: 10 + +hub: + push_to_hub: false + hub_repo_id: your-username/{dataset_name}_rbm +``` + +## Step 4: Test Your Implementation + +Create a test script `test_{dataset_name}_loader.py`: + +```python +from {dataset_name}_loader import load_{dataset_name}_dataset +from helpers import flatten_task_data + +# Test your loader +task_data = load_{dataset_name}_dataset("/path/to/your/{dataset_name}/dataset") +trajectories = flatten_task_data(task_data) + +print(f"Loaded {len(trajectories)} trajectories") +print(f"Sample trajectory keys: {list(trajectories[0].keys())}") +print(f"Sample task: {trajectories[0].get('task', 'No task found')}") +print(f"Sample frames type: {type(trajectories[0]['frames'])}") +print(f"Sample actions shape: {trajectories[0]['actions'].shape}") +``` + +## Step 5: Run Dataset Conversion + +```bash +uv run python data/generate_hf_dataset.py \ + --config_path=configs/data_gen_configs/{dataset_name}.yaml +``` + +## Frame Format Options + +### Option 1: Video File Paths +```python +'frames': ['/path/to/video1.mp4', '/path/to/video2.mp4'] +``` + +### Option 2: Raw Video Bytes (for streaming) +```python +'frames': video_bytes # bytes object containing MP4 data +``` + +### Option 3: Frame Arrays +```python +'frames': np.array([frame1, frame2, ...]) # shape: (seq_len, H, W, 3) +``` + +## Common Dataset Formats + +### HDF5 Datasets (like LIBERO) +```python +import h5py +with h5py.File(file_path, 'r') as f: + frames = f['observations']['camera_data'][:] + actions = f['actions'][:] +``` + +### JSON + Video Files +```python +import json +with open(metadata_file, 'r') as f: + metadata = json.load(f) + +video_path = base_path / metadata['video_file'] +frames = [str(video_path)] # Let converter handle video loading +``` + +### Pickle Files +```python +import pickle +with open(file_path, 'rb') as f: + episode_data = pickle.load(f) + frames = episode_data['observations']['images'] + actions = episode_data['actions'] +``` + +## Error Handling + +Add robust error handling to your loader: + +```python +try: + # Your data loading code + pass +except Exception as e: + print(f"Error loading {file_path}: {e}") + continue # Skip problematic files +``` + +## Performance Tips + +1. **Use tqdm** for progress bars on long operations +2. **Validate data shapes** before adding to trajectories +3. **Handle missing files gracefully** +4. **Use generators** for memory efficiency with large datasets +5. **Cache expensive operations** when possible + +## Example Datasets to Reference + +- **LIBERO**: `data/libero_loader.py` - HDF5 format +- **AgiBotWorld**: `data/agibotworld_loader.py` - Streaming format + +## Integration Testing + +After implementation, test with the training pipeline: + +```bash +# Test dataset loading +uv run python data/generate_hf_dataset.py \ + --config_path=configs/data_gen_configs/{dataset_name}.yaml \ + --output.max_trajectories=10 + +# Test training integration +uv run accelerate launch --config_file configs/fsdp.yaml train.py \ + --config_path=configs/config.yaml \ + --dataset.dataset_path={dataset_name}_dataset/{dataset_name} +``` \ No newline at end of file diff --git a/robometer/dataset_upload/dataset_guides/EPIC-KITCHENS.md b/robometer/dataset_upload/dataset_guides/EPIC-KITCHENS.md new file mode 100644 index 0000000000000000000000000000000000000000..8454a79c432fb69bed73f30d206f859027d8d361 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/EPIC-KITCHENS.md @@ -0,0 +1,91 @@ +# EPIC-KITCHENS Dataset Guide + +This guide explains how to integrate and use the EPIC-KITCHENS dataset with the Robometer training pipeline. + +Source: `https://epic-kitchens.github.io/`, Lerobot dataset sourced from `https://huggingface.co/datasets/awsaf49/epic_kitchens_100`, (a subset of the original), and `csv` annotations sourced from `https://github.com/epic-kitchens/epic-kitchens-100-annotations/blob/master/EPIC_100_train.csv`. + +This only loads the Epic-kitchens-100 added data, not any of the original epic-kitchens-55 data as that's difficult to download without a HF link (very slow). + +## Assumptions + +- The dataset root contains participant folders `P01`, `P02`, ... +- Each participant folder contains a `videos/` directory with `.MP4` files +- The dataset root contains `EPIC_100_train.csv` with at least columns: + - `video_id` (maps to the video filename without `.MP4`) + - `participant_id` (e.g., `P01`) + - `start_frame` (start frame index) + - `stop_frame` (end frame index) + - `narration` (language instruction) + +## Directory Structure + +``` +/ + EPIC_100_train.csv + P01/ + videos/ + .MP4 + P02/ + videos/ + .MP4 + ... +``` + +## Configuration (configs/data_gen_configs/epic.yaml) + +```yaml +# configs/data_gen_configs/epic.yaml + +dataset: + dataset_path: ./datasets/epic_kitchens + dataset_name: epic + +output: + output_dir: ./robometer_dataset/epic_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 30 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: epic_rfm +``` + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/epic.yaml +``` + +This will: +- Parse `EPIC_100_train.csv` +- For each row, locate the participant video and extract the `[start_frame, stop_frame)` segment +- Convert segments to web-optimized videos +- Create a HuggingFace dataset (H2R/OXE-style streaming conversion) + +## Data Fields + +Each trajectory includes: +- `id`: Unique identifier +- `task`: The `narration` string from the CSV +- `frames`: Relative path to the generated clip video +- `is_robot`: False +- `quality_label`: "successful" +- `partial_success`: N/A (fixed by pipeline) +- `data_source`: `epic` + +## Notes + +- The loader uses batched, worker-parallel conversion similar to `h2r_loader.py` to control memory. +- Frame indices are respected using OpenCV frame seeking; if seeking fails, decoding starts from the beginning and stops at `stop_frame`. +- The language vector is computed from the narration and cached. + +## Troubleshooting + +- Video not found: Ensure `narration_id`.MP4 exists under the correct `PXX/videos/` directory. +- Empty segment: Verify `start_frame < stop_frame` and within the video length. +- Performance: Adjust `num_workers` and `batch_size` in the loader if necessary. diff --git a/robometer/dataset_upload/dataset_guides/EgoCoT.md b/robometer/dataset_upload/dataset_guides/EgoCoT.md new file mode 100644 index 0000000000000000000000000000000000000000..6ee54db91a5f33931240767664d24ad56a7ad8a3 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/EgoCoT.md @@ -0,0 +1,202 @@ +# EgoCoT Dataset Guide + +This guide provides detailed instructions for integrating and using the EgoCoT (Egocentric Chain-of-Thought) dataset with the Robometer training pipeline. + +Location: https://github.com/EmbodiedGPT/EgoCOT_Dataset + +## Overview + +The EgoCoT dataset is an egocentric video dataset designed for embodied AI research. It contains sequences of 8 consecutive frames from egocentric videos, paired with captions and embodied planning information. The dataset focuses on understanding and reasoning about human actions from a first-person perspective. + +## Data Characteristics + +* **Type**: Human Egocentric Video Data +* **Format**: NumPy arrays for frames, JSON files for annotations +* **Size**: Variable, depending on the dataset split and filtering criteria +* **Features**: + * **Frame Sequences**: 8 consecutive frames stored as NumPy arrays + * **Captions**: Brief descriptions of the video content + * **Embodied Planning**: Detailed action sequences and reasoning for achieving goals + * **Alignment Scores**: Numeric scores (0.0-1.0) indicating quality of video-planning alignment + +## Prerequisites + +1. **Download the dataset**: Ensure you have the EgoCoT dataset downloaded and accessible locally. The dataset should contain JSON annotation files and corresponding NumPy frame files. + +2. **Directory Structure**: The loader expects a structure similar to this: + + ``` + / + ├── annotations.json (or multiple JSON files) + ├── data/ + │ ├── frame_sequence_001.npy + │ ├── frame_sequence_002.npy + │ └── ... + └── (additional subdirectories as needed) + ``` + + Alternative structures are also supported: + ``` + / + ├── split1/ + │ ├── annotations.json + │ ├── frame_001.npy + │ └── frame_002.npy + └── split2/ + ├── annotations.json + └── ... + ``` + +## JSON Annotation Format + +Each JSON file should contain annotations in one of these formats: + +**List format:** +```json +[ + { + "image": "frame_sequence_001.npy", + "caption": "Person preparing breakfast in the kitchen", + "planning": "1. Open refrigerator 2. Take out eggs 3. Crack eggs into bowl...", + "score": 0.85 + }, + ... +] +``` + +**Dictionary format:** +```json +{ + "data": [ + { + "image": "frame_sequence_001.npy", + "caption": "Person preparing breakfast in the kitchen", + "planning": "1. Open refrigerator 2. Take out eggs 3. Crack eggs into bowl...", + "score": 0.85 + }, + ... + ] +} +``` + +**Field descriptions:** +- `image`/`frames`/`video`: Filename of the NumPy array containing frame sequence +- `caption`/`description`/`task`: Brief description of the video content +- `planning`/`plan`/`actions`: Embodied planning information +- `score`/`quality`/`alignment`: Alignment score between video and planning (0.0-1.0) + +## Configuration (configs/data_gen_configs/egocot.yaml) + +To use the EgoCoT dataset, create a configuration file. Here's the provided `egocot.yaml`: + +```yaml +# configs/data_gen_configs/egocot.yaml + +dataset: + dataset_path: ./datasets/egocot # Path to EgoCoT dataset directory + dataset_name: egocot + +output: + output_dir: ./robometer_dataset/egocot_rfm + max_trajectories: -1 # -1 for all trajectories + max_frames: 8 # EgoCoT uses 8 consecutive frames + use_video: true + fps: 30 # Standard fps for egocentric video + shortest_edge_size: 224 # Standard size for vision models + center_crop: true + +hub: + push_to_hub: true + hub_repo_id: egocot_rfm +``` + +**Configuration Parameters:** +* **`dataset_path`**: Path to the root directory of your EgoCoT dataset +* **`dataset_name`**: Must be `egocot` to use the provided loader +* **`max_frames`**: Set to 8 to match EgoCoT's frame sequence length +* **`filters`**: Optional filtering based on alignment scores and quality labels + +## Generating the HuggingFace Dataset + +Once your configuration is set up, generate the HuggingFace dataset using: + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/egocot.yaml +``` + +This command will: + +1. Load the EgoCoT data using `egocot_loader.py` +2. Process the frame sequences and annotations +3. Apply any specified filters (score thresholds, quality labels) +4. Convert the data into HuggingFace dataset format +5. Save the generated dataset + +## Data Fields in the HuggingFace Dataset + +The resulting HuggingFace dataset will contain the following fields: + +* `id`: Unique identifier for each trajectory +* `task`: Caption/description of the video content +* `frames`: An `EgoCOTFrameloader` object that loads the 8-frame sequence on demand, returning `np.ndarray` of shape `(8, H, W, 3)` with `dtype uint8` +* `is_robot`: Boolean, always `False` for EgoCoT (human egocentric data) +* `quality_label`: "high_quality" (score ≥ 0.7), "medium_quality" (0.4 ≤ score < 0.7), or "low_quality" (score < 0.4) +* `partial_success`: The alignment score between video and planning (0.0-1.0) +* `planning`: Embodied planning information describing action sequences +* `data_source`: Always "egocot" + +## Frame Format + +The EgoCoT dataset stores frames as NumPy arrays. The loader handles different possible formats: + +* **4D arrays**: `(T, H, W, 3)` - preferred format +* **3D arrays**: `(H, W, C*T)` - automatically reshaped to 4D +* **Data types**: Supports both uint8 and float formats, automatically converting to uint8 + +## Quality Filtering + +The dataset includes alignment scores that can be used for quality filtering: + +* **High quality** (score ≥ 0.7): Strong alignment between video and planning +* **Medium quality** (0.4 ≤ score < 0.7): Moderate alignment +* **Low quality** (score < 0.4): Weak alignment + +Use the `filters` section in the YAML config to specify minimum quality thresholds. + +## Troubleshooting + +* **`FileNotFoundError`**: Ensure the `dataset_path` correctly points to your EgoCoT dataset directory +* **`ValueError: Unexpected frames shape`**: Check that your NumPy frame files contain valid image data in the expected format +* **Missing JSON files**: Ensure annotation files are present and contain the required fields (`image`, `caption`, `planning`, `score`) +* **Frame file not found**: Verify that the paths in JSON annotations correctly reference existing NumPy files +* **Memory issues**: For large datasets, consider using `max_trajectories` to limit the number of loaded samples during testing + +## Usage Example + +```python +from dataset_upload.dataset_loaders.egocot_loader import load_egocot_dataset + +# Load the dataset +dataset_path = "./datasets/egocot" +task_data = load_egocot_dataset(dataset_path) + +# Access trajectories +for task_name, trajectories in task_data.items(): + print(f"Task: {task_name}") + for traj in trajectories: + frames = traj["frames"]() # Load frames on demand + print(f" Trajectory {traj['id']}: {frames.shape}") + print(f" Planning: {traj['planning'][:100]}...") + print(f" Quality: {traj['quality_label']} (score: {traj['partial_success']})") +``` + +## Integration with Robometer Pipeline + +The EgoCoT loader is fully compatible with the Robometer training pipeline. The egocentric nature of the data makes it particularly suitable for: + +* **First-person action recognition** +* **Embodied planning and reasoning** +* **Human activity understanding** +* **Multi-modal learning with vision and language** + +The 8-frame sequences provide temporal context while remaining computationally manageable for training large vision-language models. diff --git a/robometer/dataset_upload/dataset_guides/EgoDex.md b/robometer/dataset_upload/dataset_guides/EgoDex.md new file mode 100755 index 0000000000000000000000000000000000000000..6c037977f7ad4d231933c33ebf3e3c3c5998453d --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/EgoDex.md @@ -0,0 +1,326 @@ +# EgoDex Dataset Guide + +EgoDex is a large-scale egocentric manipulation dataset with **native iterative loading** and **advanced video processing** for the Robometer training pipeline. + +## Overview + +- **🔄 Iterative Loading**: Process trajectories one at a time without loading everything into memory +- **🎯 Egocentric Focus**: 1080p 30Hz egocentric video with 3D pose annotations +- **📹 Video Processing**: Automatic resize to 256x256 + frame downsampling during dataset generation +- **📏 Standardized Output**: Configurable frame count (default: 32 frames) +- **💾 Memory Efficient**: Iterator-based loading for large datasets (800+ hours) +- **🏷️ Rich Annotations**: LLM-generated task descriptions from HDF5 metadata +- **⚡ Efficient Processing**: Direct MP4 + HDF5 processing +- **🔄 Graceful Error Handling**: Skips corrupted samples automatically +- **🔄 Flexible Processing**: Process different dataset parts by pointing to specific directories + +## Dataset Structure + +The EgoDex dataset consists of paired HDF5 and MP4 files organized by task. Each dataset part (part1, part2, etc.) should be processed separately by pointing directly to that directory: + +``` +part1/ # Point dataset_path here for part1 +├── task1/ +│ ├── 0.hdf5 # Pose annotations +│ ├── 0.mp4 # Egocentric video +│ ├── 1.hdf5 +│ ├── 1.mp4 +│ └── ... +├── task2/ +│ └── ... +└── ... + +part2/ # Point dataset_path here for part2 +├── task1/ +│ └── ... +└── ... +``` + +## Prerequisites + +### 0. Set Hugging Face repo ID +Before we start, you must have an HF account which will be pushed to. +You will set this by setting +``` +export HF_USERNAME= +``` + +### 1. Dataset Download +Download and extract the EgoDex dataset splits you want to process: +- `part1.zip` through `part5.zip` (training data, <350GB each) +- `test.zip` (test data, 1% of dataset) +- `extra.zip` (additional samples) + +### 2. Python Dependencies +The loader uses standard dependencies already in the project: +```bash +# Already included in pyproject.toml +pip install h5py opencv-python numpy tqdm +``` + +## Quick Start + +### Option 1: Use Pre-configured Settings (Test Split) +```bash +bash dataset_upload/data_scripts/egodex/download_and_convert.sh + +# or run the following manually +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/egodex.yaml +``` + +### Option 2: Manual Configuration +```bash +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/egodex.yaml \ + --dataset.dataset_path="/path/to/egodex/test" \ + --dataset.dataset_name="egodex_test" \ + --output.max_trajectories=50 \ + --output.max_frames=32 +``` + +### Option 3: Process Different Parts +```bash +# Process part1 +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/egodex.yaml \ + --dataset.dataset_path="/path/to/egodex/part1" \ + --dataset.dataset_name="egodex_part1" \ + --output.max_trajectories=-1 \ + --hub.push_to_hub=false + +# Process part2 with different dataset name +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/egodex.yaml \ + --dataset.dataset_path="/path/to/egodex/part2" \ + --dataset.dataset_name="egodex_part2" \ + --output.max_trajectories=-1 \ + --hub.push_to_hub=false +``` + +## Configuration Options + +Edit `dataset_upload/configs/data_gen_configs/egodex.yaml`: + +```yaml +dataset: + dataset_path: "/path/to/egodex/test" # Local path to dataset part (e.g., test, part1, part2) + dataset_name: egodex_test # Use different names: egodex_test, egodex_part1, egodex_part2, etc. + +output: + output_dir: egodex_dataset + max_trajectories: 100 # Increase for more data (thousands available) + max_frames: 32 + use_video: true + fps: 30 + +hub: + push_to_hub: false # Set to true to upload results + hub_repo_id: your-username/egodex_rfm +``` + +## Video Processing Features + +The EgoDex loader automatically processes videos during dataset generation: + +### Processing Pipeline +1. **📹 Frame Extraction**: Loads 1080p 30Hz video frames from MP4 files +2. **📐 Resize**: All frames resized to **256x256 pixels** +3. **⏱️ Frame Downsampling**: Reduces to `max_frames` using linear interpolation +4. **🎬 Re-encoding**: Saves as optimized MP4 bytes + +### Performance Benefits +- **Original**: ~50-200MB per video, 900-6000+ frames, 1080p resolution +- **Processed**: ~100-500KB per video, 16-32 frames, 256x256 resolution +- **Reduction**: **99%+ size reduction** for efficient training + +## Pose Data Processing + +EgoDex includes rich 3D pose annotations that are used as action data: + +### Extracted Pose Features +- **Hand Positions**: Left/right hand 3D positions (primary actions) +- **Finger Tips**: Index finger tip positions for fine manipulation +- **Camera Extrinsics**: Head/camera pose for egocentric context +- **Confidence Scores**: ARKit confidence values (when available) + +### Action Data Structure +```python +# Pose data extracted as actions (T, D) where: +# T = number of frames +# D = concatenated pose dimensions (typically 6-15D) +actions = [ + left_hand_pos, # (T, 3) + right_hand_pos, # (T, 3) + finger_tips, # (T, 6) - both hands + camera_pose # (T, 3) - optional +] +``` + +## Task Descriptions + +EgoDex includes LLM-generated task descriptions stored in HDF5 metadata: + +### Metadata Fields +- `llm_description`: Primary task description +- `llm_description2`: Alternative description (for reversible tasks) +- `which_llm_description`: Indicates which description applies (1 or 2) + +### Example Descriptions +``` +"Pick up the red block and place it on the blue plate" +"Organize the tools by placing them in the designated slots" +"Pour water from the pitcher into the glass" +``` + +## Memory Management + +The EgoDex loader uses an iterator pattern for memory efficiency: + +### Iterator Benefits +- **Low Memory**: Only one trajectory loaded at a time +- **Scalable**: Handle 800+ hours of data on modest hardware +- **Interruptible**: Can stop/resume processing at any point +- **Progress Tracking**: Real-time progress updates + +### Usage Example +```python +from egodex_loader import get_egodex_iterator + +# Create iterator +iterator = get_egodex_iterator( + dataset_path="/path/to/egodex/test", + max_trajectories=100 +) + +# Process one trajectory at a time +for trajectory in iterator: + frames = trajectory['frames'] # Video frames + actions = trajectory['actions'] # Pose data + task = trajectory['task'] # Task description + # Process trajectory... +``` + +## Sample Output + +### Processing Progress +``` + +Will process up to 100 trajectories + +Loading trajectories: 100%|████████| 100/100 [02:34<00:00, 1.54it/s] + 📊 Loaded 100 trajectories from 47 tasks +Loaded 100 trajectories from 47 tasks +``` + +### Trajectory Processing +``` +Processing trajectories: 100%|████████| 100/100 [08:42<00:00, 5.23s/it] + 📹 Processed video: 1847 -> 32 frames, resized to (256, 256) + ✅ Created trajectory: basic_pick_place_0 (1/100) +``` + +## Performance Notes + +- **Processing Rate**: ~0.5-2 trajectories/second (depends on video length) +- **Memory Usage**: Low (~1-2GB peak for processing) +- **Storage**: ~200KB-1MB per trajectory (video + metadata) +- **Disk I/O**: Sequential access pattern for optimal performance + +## Troubleshooting + +### Missing Files +``` +Warning: Missing MP4 file for /data/egodex/test/task1/5.hdf5 +``` +**Solution**: Some HDF5 files may not have corresponding MP4 files. This is normal and handled gracefully. + +### HDF5 Reading Errors +``` +Error loading trajectory /data/egodex/test/task2/3.hdf5: Unable to open file +``` +**Solution**: Corrupted HDF5 files are skipped automatically. Check file integrity if many errors occur. + +### Memory Issues +``` +MemoryError: Unable to allocate array +``` +**Solution**: The iterator design should prevent this, but if it occurs: +- Reduce `max_trajectories` +- Process dataset parts separately +- Check available system memory + +### Video Processing Errors +``` +Error: Could not open video file: /data/egodex/test/task1/0.mp4 +``` +**Solution**: +- Verify MP4 files are not corrupted +- Check OpenCV installation: `pip install opencv-python` +- Ensure sufficient disk space for temporary files + +## Large Scale Processing + +For processing thousands of trajectories from different parts: + +### Recommended Batch Processing +```bash +# Process each part separately to manage resources and create different datasets +for part in part1 part2 part3 part4 part5; do + uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/egodex.yaml \ + --dataset.dataset_path="/data/egodex/${part}" \ + --dataset.dataset_name="egodex_${part}" \ + --output.output_dir="egodex_${part}_dataset" \ + --output.max_trajectories=2000 \ + --hub.push_to_hub=true +done +``` + +### Processing with Same Hub Repo but Different Dataset Names +```bash +# All parts go to same hub repo but with different dataset names +for part in part1 part2 part3 part4 part5; do + uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/egodex.yaml \ + --dataset.dataset_path="/data/egodx/${part}" \ + --dataset.dataset_name="egodx_${part}" \ + --hub.hub_repo_id="your-username/egodx_rfm" \ + --output.max_trajectories=5000 \ + --hub.push_to_hub=true +done +``` + +## Integration with Robometer Training + +The generated dataset is compatible with the standard Robometer training pipeline: + +```bash +# Use the processed dataset for training +uv run accelerate launch --config_file configs/fsdp.yaml train.py \ + --config_path=configs/config.yaml \ + --dataset.dataset_path=egodex_dataset/egodex +``` + +## Dataset Statistics + +- **Total Duration**: 800+ hours of egocentric video +- **Resolution**: 1080p at 30 FPS +- **Tasks**: ~200 diverse tabletop manipulation tasks +- **Splits**: 99% train (part1-5), 1% test, additional samples (extra) +- **Annotation**: 3D pose for 66+ joints including hands and fingers +- **Collection Device**: Apple Vision Pro with ARKit pose tracking + +## Citation + +If you use the EgoDex dataset, please cite: +```bibtex +@article{egodex2024, + title={EgoDex: Egocentric Dexterity Dataset}, + url={https://arxiv.org/abs/2505.11709}, + year={2024} +} +``` + +## License + +The EgoDex dataset is licensed under CC-BY-NC-ND terms. \ No newline at end of file diff --git a/robometer/dataset_upload/dataset_guides/FailSafe.md b/robometer/dataset_upload/dataset_guides/FailSafe.md new file mode 100644 index 0000000000000000000000000000000000000000..72727a70ff8b19cdba22edeab4362f27f36005c8 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/FailSafe.md @@ -0,0 +1,89 @@ +# FailSafe Dataset Guide + +This guide explains how to integrate and use the FailSafe dataset (correctdata_v2) with the Robometer pipeline. + +Source: `https://huggingface.co/datasets/onepiece1999/correctdata_v2/tree/main` + +## Overview + +- The dataset contains three tasks with failures and successes: + - `FailPickCube-v1`: "Pick up the red cube" + - `FailPushCube-v1`: "push and move a cube to a goal region in front of it" + - `FailStackCube-v1`: "Pick up a red cube and stack it on top of a green cube and let go of the cube without it falling." +- Each task has ~100 seed folders. Each seed contains a `Ground_Truth/` (success) and multiple failure attempt folders. +- Each attempt has camera views `front/`, `side/`, `wrist/` with ordered `.png` frames. +- Additionally, JSON files (e.g., `vla_data_FailPickCube-v1.json`, `vla_data_GT_PickCube-v1.json`) provide sub-task annotated mini-trajectories with success/failure labels. + +## Directory Structure + +``` +/ + FailPickCube-v1/ + 0/ + Ground_Truth/ + front/0.png ... + side/*.png + wrist/*.png + 1_trans_x_2/ + front/*.png + side/*.png + wrist/*.png + 1/ + ... + FailPushCube-v1/ + ... + FailStackCube-v1/ + ... + json_files/ + vla_data_FailPickCube-v1.json + vla_data_GT_PickCube-v1.json + ... +``` + +## Configuration (configs/data_gen_configs/failsafe.yaml) + +```yaml +# configs/data_gen_configs/failsafe.yaml + +dataset: + dataset_path: ./datasets/failsafe + dataset_name: failsafe + +output: + output_dir: ./robometer_dataset/failsafe_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: failsafe_rfm +``` + +## Loader + +- File: `dataset_upload/dataset_loaders/failsafe_loader.py` +- Function: `load_failsafe_dataset(dataset_path)` +- The loader: + - Builds full episodes from `Ground_Truth/` (success) and failure attempt folders for the chosen camera `view`. + - Parses `vla_data_*.json` entries to create sub-task mini-trajectories using the specified image paths and labels; includes the `sub_task` text in the trajectory `task` field. + - Uses the per-task instructions above when JSONs do not specify an instruction. + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/failsafe.yaml +``` + +This will: +- Load full episodes and sub-task mini-trajectories for the selected `view` +- Generate web-optimized videos +- Create a HuggingFace dataset ready to push or save + +## Notes + +- If JSON files are at the dataset root instead of `json_files/`, the loader will look there as a fallback. +- You can switch `view` in the YAML to `side` or `wrist` to regenerate the dataset for a different camera. diff --git a/robometer/dataset_upload/dataset_guides/FinoNet.md b/robometer/dataset_upload/dataset_guides/FinoNet.md new file mode 100644 index 0000000000000000000000000000000000000000..78c7ed9b131bd78956b90f8631b46c0286ebfa41 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/FinoNet.md @@ -0,0 +1,144 @@ +# FinoNet Dataset Guide + +This guide explains how to integrate and use the FinoNet dataset with the Robometer training pipeline. + +Source: `https://huggingface.co/datasets/jesbu1/fino-net-dataset` + +## Overview + +FinoNet contains episodes of manipulation tasks with success/failure labels. Each episode is a sequence of RGB images stored as PNG files in numbered directories, organized by task type. + +## Directory Structure + +The dataset structure (after unzipping `failure.zip`) should be: + +``` +/ + failure/ + failnet_dataset/ + rgb_imgs/ + put_on/ + 9/ + frame0000000.png + frame0000024.png + ... + put_in/ + ... + place/ + ... + pour/ + ... + push/ + ... + put_on_annotation.txt + put_in_annotation.txt + place_annotation.txt + pour_annotation.txt + push_annotation.txt +``` + +- Task folders contain episode subdirectories (numbered by episode). +- Each episode directory contains PNG frames (e.g., `frame0000000.png`, `frame0000024.png`). +- Annotation files map episode numbers to labels (0 = success, 1 = failure). + +## Annotation Format + +Each annotation file (e.g., `put_on_annotation.txt`) contains comma-separated values: +``` +name,label +9,0 +10,1 +... +``` + +- `name`: Episode number +- `label`: 0 for success, 1 for failure + +## Task Instructions + +The dataset includes 5 tasks with specific instructions: + +- **put_on**: "put the single block on the table onto the stack" +- **put_in**: "put the thing on the table into the container" +- **place**: "place the block in your hand onto the stack" +- **pour**: "pour the contents of the cup into the receptacle on the table without spilling" +- **push**: "push the object to the right without knocking it over" + +## Configuration (configs/data_gen_configs/fino_net.yaml) + +```yaml +# configs/data_gen_configs/fino_net.yaml + +dataset: + dataset_path: /path/to/fino_net_dataset # Root directory containing failure.zip or unzipped failure/ + dataset_name: fino_net + +output: + output_dir: datasets/fino_net_rfm + max_trajectories: -1 # -1 for all episodes + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: fino_net_rfm +``` + +## Usage + +### Step 1: Download Dataset + +From HuggingFace: +```bash +# Download from: https://huggingface.co/datasets/jesbu1/fino-net-dataset/tree/main +# Or use huggingface_hub: +python -c "from huggingface_hub import snapshot_download; snapshot_download(repo_id='jesbu1/fino-net-dataset', repo_type='dataset', local_dir='./fino_net_dataset')" +``` + +### Step 2: Unzip Dataset + +```bash +cd ./fino_net_dataset +unzip failure.zip +``` + +### Step 3: Convert to HF Format + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/fino_net.yaml +``` + +This will: +- Load annotation files to map episodes to success/failure labels +- Discover all episodes across the 5 tasks +- Load PNG frames for each episode +- Convert frame sequences to MP4 videos +- Create HuggingFace dataset with proper metadata + +## Data Fields + +Each trajectory includes: +- `id`: Unique identifier +- `task`: Task instruction from the predefined mapping +- `frames`: Relative path to MP4 video file +- `is_robot`: `False` (human demonstration data) +- `quality_label`: "successful" or "failed" based on annotation label +- `partial_success`: 1.0 for success, 0.0 for failure +- `data_source`: `fino_net` + +## Troubleshooting + +- **No images found**: Verify that `failure.zip` has been unzipped and the directory structure matches the expected layout. +- **Missing annotations**: Ensure all 5 annotation files exist in the root directory. +- **Episode not in annotations**: Some episodes in the directories may not have corresponding annotation entries; these will be skipped with a warning. +- **Performance**: Large datasets with many frames per episode can be memory intensive. Consider limiting `max_trajectories` during testing. + +## Notes + +- The loader automatically detects task type from directory names and maps to appropriate instructions. +- Frames are loaded in sorted order based on frame number in the filename. +- The dataset provides valuable failure examples for robust reward modeling. + diff --git a/robometer/dataset_upload/dataset_guides/Galaxea.md b/robometer/dataset_upload/dataset_guides/Galaxea.md new file mode 100644 index 0000000000000000000000000000000000000000..bc8378b1efb44083ef154e4a623b812d07324778 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/Galaxea.md @@ -0,0 +1,96 @@ +# Galaxea Open-World Dataset Guide + +This guide explains how to integrate and use the Galaxea Open-World RLDS dataset with the Robometer training pipeline. + +Source: `https://huggingface.co/datasets/OpenGalaxea/Galaxea-Open-World-Dataset` + +Can download it with `hf download OpenGalaxea/Galaxea-Open-World-Dataset --repo-type dataset --include "*rlds*" --local-dir ./datasets/galaxea` + +Also, need to install some extra dependencies: +```bash +uv pip install tensorflow-datasets +uv pip install tensorflow +uv pip install tf-keras +``` + +## Overview + +- 500+ hours of real-world mobile manipulation data in RLDS and LeRobot formats. +- Fine-grained subtask language annotations at step level via `language_instruction`. +- Multiple RLDS builders (e.g., `part1_r1_lite`, `sample_r1_lite`) under a common `rlds/` root. + +## Directory Structure + +``` +/ + rlds/ + sample_r1_lite/ + 1.0.0/ + dataset_info.json + features.json + merge_dataset_large_r1_lite-train.tfrecord-00000-of-01024 + ... + part1_r1_lite/ + 1.0.0/ + ... +``` + +## Language Instruction Schema + +As documented, `language_instruction` encodes three parts separated by `@`: +- `high_level` @ `low_level_chinese` @ `low_level_english` + +We extract the low-level English (the third part) and use it as the task string for embeddings. + +## Configuration (configs/data_gen_configs/galaxea.yaml) + +```yaml +# configs/data_gen_configs/galaxea.yaml + +dataset: + dataset_path: ./datasets/galaxea + dataset_name: galaxea_part1_r1_lite # choose from part1_r1_lite, part2_r1_lite, part3_r1_lite, part4_r1_lite, part5_r1_lite, ... + +output: + output_dir: ./robometer_dataset/galaxea_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: galaxea_rfm +``` + +## Usage + +```bash +bash dataset_upload/data_scripts/galaxea/gen_all_galaxea.sh +``` + +This will: +- Iterate the listed RLDS builders under `rlds/` +- For each episode, parse `language_instruction` and extract the low-level English instruction +- Select camera views (`image_camera_head`, `image_camera_wrist_left`, `image_camera_wrist_right`) +- Convert frames to web-optimized videos and create a HuggingFace dataset + +## Data Fields + +Each trajectory includes: +- `id`: Unique identifier +- `task`: Low-level English instruction (parsed from `language_instruction`) +- `frames`: Relative path to the generated clip video +- `is_robot`: True +- `quality_label`: "successful" +- `partial_success`: N/A (fixed by pipeline) +- `data_source`: `galaxea` + +## Troubleshooting + +- Builder not found: Ensure the RLDS version directories exist under `rlds//`. +- Missing instruction: If no `language_instruction` is present or malformed, the episode is skipped. +- Performance: Adjust `num_workers` and batch size inside the loader if needed. diff --git a/robometer/dataset_upload/dataset_guides/H2R.md b/robometer/dataset_upload/dataset_guides/H2R.md new file mode 100644 index 0000000000000000000000000000000000000000..79ca1868b1e0786fec546b7656c070e87e4dfdcf --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/H2R.md @@ -0,0 +1,89 @@ +# H2R Dataset Guide + +This guide explains how to integrate and use the H2R (Human2Robot) dataset with the Robometer training pipeline. + +Source: `https://huggingface.co/datasets/dannyXSC/HumanAndRobot` +Paper: `https://arxiv.org/abs/2502.16587` + +## Overview + +H2R contains paired human and robot videos stored as HDF5 files. Each trajectory provides synchronized human and robot camera streams. The loader reads both streams and standardizes them to RGB `uint8` frame tensors. + +## Directory Structure + +``` +/ + / + .hdf5 + .hdf5 + / + .hdf5 + ... +``` + +- The folder name represents the task category. A simple mapping converts folder names to human-readable task strings (see loader). + +## HDF5 Format + +- The loader expects camera streams under the keys: + - `/cam_data/human_camera` + - `/cam_data/robot_camera` +- Each dataset is loaded into memory and converted to RGB if needed. + +## Configuration (configs/data_gen_configs/h2r.yaml) + +```yaml +# configs/data_gen_configs/h2r.yaml + +dataset: + dataset_path: /path/to/h2r_dataset + dataset_name: h2r + +output: + output_dir: datasets/h2r_rfm + max_trajectories: 64 # null for all + max_frames: 64 + use_video: true + fps: 30 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: h2r_rfm +``` + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/h2r.yaml +``` + +This will: +- Discover `.hdf5` trajectories grouped by task folders +- Load paired human and robot camera frames +- Convert frames to RGB `uint8` +- Produce a HuggingFace dataset + +## Data Fields + +Each trajectory includes: +- `id`: Unique identifier +- `task`: Human-readable task derived from folder name +- `frames`: A tuple `(human_frames, robot_frames)` when read via the loader +- `is_robot`: `False` for human, `True` for robot +- `quality_label`: "successful" +- `partial_success`: 1 +- `data_source`: `h2r` + +Note: The converter creates two entries per `.hdf5` file (one for human, one for robot) for training convenience. + +## Task Name Mapping + +The loader includes a simple mapping from folder names to readable descriptions and falls back to a prettified folder name if no mapping exists. You can extend `FOLDER_TO_TASK_NAME` in `dataset_upload/dataset_loaders/h2r_loader.py`. + +## Troubleshooting + +- KeyError: Verify that the HDF5 files contain `/cam_data/human_camera` and `/cam_data/robot_camera` datasets. +- Shape errors: Frames must be 4D tensors `(T, H, W, 3)`. +- Performance: Large `.hdf5` files will load into memory; consider limiting `max_trajectories` during testing. diff --git a/robometer/dataset_upload/dataset_guides/HAND_paired.md b/robometer/dataset_upload/dataset_guides/HAND_paired.md new file mode 100644 index 0000000000000000000000000000000000000000..fe297e3b75b8689f9cd70cd71bb164a2b8c04731 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/HAND_paired.md @@ -0,0 +1,99 @@ +# HAND_paired_data Dataset Guide + +This guide explains how to load and convert a subset of the HAND dataset with the Robometer pipeline from [HAND](https://liralab.usc.edu/handretrieval/). + +## Overview + +The HAND dataset contains paired robot and human demonstrations for the same tasks. Each task has both robot executions and human hand demonstrations. + +### Directory Structure + +``` +dataset_path/ + blend_carrot/ # Robot demonstrations + traj0/ + external_imgs/ + im_0.jpg, im_1.jpg, ... + over_shoulder_imgs/ + im_0.jpg, im_1.jpg, ... + traj1/ + ... + blend_carrot_hand/ # Human demonstrations + traj0/ + external_imgs/ + im_0.jpg, im_1.jpg, ... + over_shoulder_imgs/ + im_0.jpg, im_1.jpg, ... + traj1/ + ... + close_microwave/ + ... + close_microwave_hand/ + ... +``` + +### Key Features + +- **Paired Data**: Robot tasks (e.g., `blend_carrot`) and human tasks (e.g., `blend_carrot_hand`) share the same task instruction +- **Task Names**: Folder names are converted to instructions (e.g., `blend_carrot` → "blend carrot") +- **Camera Views**: Each trajectory can have up to 2 camera views: + - `external_imgs/`: External camera view + - `over_shoulder_imgs/`: Over-shoulder camera view +- **Multiple Trajectories**: Each task contains multiple demonstrations (`traj0`, `traj1`, etc.) + +## Configuration + +```yaml +# configs/data_gen_configs/hand_paired.yaml + +dataset: + dataset_path: ./datasets/HAND_paired_data + dataset_name: hand_paired + +output: + output_dir: ./robometer_dataset/hand_paired_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: hand_paired_rfm +``` + +## Loader + +- File: `dataset_upload/dataset_loaders/hand_paired_loader.py` +- Function: `load_hand_paired_dataset(dataset_path)` +- Notes: + - Automatically identifies robot vs. human demonstrations based on `_hand` suffix + - Processes both camera views independently + - Sorts images by numeric suffix (`im_0.jpg`, `im_1.jpg`, etc.) + - All demonstrations are labeled as "successful" + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/hand_paired.yaml --dataset.dataset_name hand_paired_robot +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/hand_paired.yaml --dataset.dataset_name hand_paired_human +``` + +This will: +- Load both robot and human demonstrations +- Process all camera views +- Generate web-optimized videos +- Create a HuggingFace dataset with paired robot/human data + +## Data Fields + +Each trajectory contains: +- `task`: Human-readable task instruction (e.g., "blend carrot") +- `is_robot`: Boolean indicating if this is a robot (True) or human (False) demonstration +- `frames`: Video or image sequence +- `quality_label`: "successful" (all demonstrations assumed successful) +- `data_source`: "hand_paired" + diff --git a/robometer/dataset_upload/dataset_guides/HumanoidEveryday.md b/robometer/dataset_upload/dataset_guides/HumanoidEveryday.md new file mode 100644 index 0000000000000000000000000000000000000000..c0970c6578ccdb4bb383388054fde2f4e0ef7858 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/HumanoidEveryday.md @@ -0,0 +1,193 @@ +# Humanoid Everyday Dataset Guide + +This guide explains how to integrate and use the Humanoid Everyday dataset with the Robometer training pipeline. + +Source: `https://github.com/ausbxuse/Humanoid-Everyday` + +## Overview + +The Humanoid Everyday Dataset is a diverse collection of humanoid robot (Unitree G1 and H1) demonstrations recorded at 30 Hz across everyday tasks. This dataset supports research in robot learning, imitation, and perception. + +- **Total Download Size:** ~500 GB (across 250 tasks), over 100,000 time-step recorded +- **Tasks:** 260 diverse scenarios (loco-manipulation, basic manipulation, tool use, deformables, articulated objects, human–robot interaction) +- **Episodes per task:** 40 +- **Recording Frequency:** 30 Hz + +### Modalities captured + +- **Low-dimensional:** + - Joint states (arm, leg, hand) + - IMU (orientation, accelerometer, gyroscope, RPY) + - Odometry/Kinematics (position, velocity, orientation) + - Hand pressure sensors (G1 only) + - Teleoperator hands/head actions from Apple Vision Pro + - Inverse kinematics data +- **High-dimensional:** + - Egocentric RGB images (480x640x3, PNG) + - Depth maps (480x640, uint16) + - LiDAR point clouds (~6k points per step, PCD) + +## Prerequisites + +### Install humanoid_everyday dataloader + +```bash +git clone https://github.com/ausbxuse/Humanoid-Everyday +cd Humanoid-Everyday +uv pip install -e . +``` + +### Download dataset + +Please visit the task spreadsheet to download your task of interest, or use the provided download script: + +```bash +bash dataset_upload/data_scripts/humanoid_everyday/download_humanoid_everyday.sh +``` + +## Directory Structure + +``` +/ + task1.zip + task2.zip + ... + taskN.zip +``` + +Each zip file contains a complete task dataset with multiple episodes. + +## Data Schema + +Each time step is represented by a Python dictionary with the following fields: + +```python +{ + # Scalar identifiers + "time": np.float64, # UNIX timestamp (s) + "robot_type": np.str_, # Robot model identifier (G1 only) + + # Robot states + "states": { + "arm_state": np.ndarray((14,), dtype=np.float64), # 14 joint angles + "leg_state": np.ndarray((15 or 13,), dtype=np.float64), # 15 joint angles for G1, 13 for H1_2 + "hand_state": np.ndarray((14 or 12,), dtype=np.float64), # 14 joint angles for Unitree Dex3 Hand, 12 for Inspire Dextrous Hand + "hand_pressure_state": [...], # List of per-sensor readings (9 sensors per hand) + "imu": { + "quaternion": np.ndarray((4,), dtype=np.float64), # [w, x, y, z] + "accelerometer": np.ndarray((3,), dtype=np.float64), # [ax, ay, az] + "gyroscope": np.ndarray((3,), dtype=np.float64), # [gx, gy, gz] + "rpy": np.ndarray((3,), dtype=np.float64) # [roll, pitch, yaw] + }, + "odometry": { + "position": np.ndarray((3,), dtype=np.float64), # [x, y, z] + "velocity": np.ndarray((3,), dtype=np.float64), # [vx, vy, vz] + "rpy": np.ndarray((3,), dtype=np.float64), # [roll, pitch, yaw] + "quat": np.ndarray((4,), dtype=np.float64) # [w, x, y, z] + } + }, + + # Control commands and solutions + "actions": { + "right_angles": np.ndarray((7,), dtype=np.float64), # commanded joint angles + "left_angles": np.ndarray((7,), dtype=np.float64), # commanded joint angles + "armtime": np.float64, # timestamp + "iktime": np.float64, # timestamp + "sol_q": np.ndarray((14,), dtype=np.float64), # solution joint angles + "tau_ff": np.ndarray((14,), dtype=np.float64), # feedforward torques + "head_rmat": np.ndarray((3, 3), dtype=np.float64), # rotation matrix + "left_pose": np.ndarray((4, 4), dtype=np.float64), # homogeneous transform + "right_pose": np.ndarray((4, 4), dtype=np.float64) # homogeneous transform + }, + + # High-dimensional observations + "image": np.ndarray((480, 640, 3), dtype=np.uint8), # RGB image + "depth": np.ndarray((480, 640), dtype=np.uint16), # Depth map + "lidar": np.ndarray((~6000, 3), dtype=np.float64) # around 6000 points for lidar point cloud +} +``` + +## Configuration (configs/data_gen_configs/humanoid_everyday.yaml) + +```yaml +# configs/data_gen_configs/humanoid_everyday.yaml + +dataset: + dataset_path: "./datasets/humanoid_everyday" # Path containing zip files + dataset_name: humanoid_everyday_rfm + +output: + output_dir: ./robometer_dataset/humanoid_everyday_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: humanoid_everyday_rfm +``` + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config dataset_upload/configs/data_gen_configs/humanoid_everyday.yaml +``` + +This will: +- Find all zip files in the specified dataset path +- For each zip file, extract the task name and load episodes using the humanoid_everyday dataloader +- Extract RGB images from each episode +- Convert frames to web-optimized videos and create a HuggingFace dataset +- Use the zip filename (without extension) as the task description + +## Data Fields + +Each trajectory includes: +- `id`: Unique identifier +- `task`: Task name extracted from zip filename +- `frames`: Relative path to the generated clip video +- `is_robot`: True +- `quality_label`: "successful" +- `partial_success`: N/A (fixed by pipeline) +- `data_source`: `humanoid_everyday` + +## Example Usage with Dataloader + +```python +from humanoid_everyday import Dataloader + +# Load your downloaded task's dataset zip file (e.g., the "push_a_button" task) +ds = Dataloader("~/Downloads/push_a_button.zip") +print("Episode length of dataset:", len(ds)) + +# Displaying high dimensional data at first episode, second timestep. +ds.display_image(0, 1) +ds.display_depth_point_cloud(0, 1) +ds.display_lidar_point_cloud(0, 1) + +for i, episode in enumerate(ds): + if i == 1: # episode 1 + print("RGB image shape:", episode[0]["image"].shape) # (480, 640, 3) + print("Depth map shape:", episode[0]["depth"].shape) # (480, 640) + print("LiDAR points shape:", episode[0]["lidar"].shape) # (~6000, 3) + + batch = episode[0:4] # batch loading episodes + print(batch[1]["image"].shape) + print(batch[0]["image"].shape) +``` + +## Troubleshooting + +- **Missing humanoid_everyday package**: Install it with `pip install humanoid_everyday` or clone and install from the GitHub repository +- **No zip files found**: Ensure the dataset_path contains zip files with humanoid everyday datasets +- **Import errors**: Make sure the humanoid_everyday package is properly installed and accessible +- **Memory issues**: Adjust `max_frames` and `num_workers` parameters to reduce memory usage +- **Long episodes**: Episodes longer than 1000 frames are automatically skipped to prevent memory issues + +## License + +This dataset is released under the MIT License. diff --git a/robometer/dataset_upload/dataset_guides/LIBERO.md b/robometer/dataset_upload/dataset_guides/LIBERO.md new file mode 100755 index 0000000000000000000000000000000000000000..ac0a5813f8627a0fd87da09d5230a9ca2b2a268d --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/LIBERO.md @@ -0,0 +1,176 @@ +# LIBERO Dataset Guide + +LIBERO is a benchmark for lifelong robot learning with built-in support in the Robometer training pipeline. + +## Overview + +- **📁 Local File Support**: Processes HDF5 files from local storage +- **🎮 Simulation Data**: High-quality manipulation tasks +- **🏠 Multiple Environments**: Living room, kitchen, office, and study scenarios +- **📊 Structured Tasks**: Clear task descriptions and optimal trajectories + +## Prerequisites + +### Download LIBERO Dataset +```bash +# Clone or download LIBERO dataset +git clone https://github.com/Lifelong-Robot-Learning/LIBERO.git +# Follow LIBERO installation instructions for dataset download + +# This should work too +git submodule update --init --recursive + +cd deps/libero/LIBERO +uv run python benchmark_scripts/download_libero_datasets.py --datasets DATASET +``` +where DATASET is chosen from `[libero_spatial, libero_object, libero_100, libero_goal]`. + + +## Quick Start + +### 0. Set Hugging Face repo ID +Before we start, you must have an HF account which will be pushed to. +You will set this by setting +``` +export HF_USERNAME= +``` + +Then, for each dataset, run with the all the datasets you would like to process + +### Option 1: Use Default Configuration +```bash +uv run python dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/libero.yaml\ + --dataset.dataset_path=deps/libero/LIBERO/libero/datasets/libero_90 \ + --dataset.dataset_name=libero_90 +``` + +If all your LIBERO data exists in the path above, you can use the following utility script +```bash +uv run bash dataset_upload/data_scripts/libero/gen_all_libero.sh +``` + +### Option 2: Custom Configuration +```bash +uv run python dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/libero.yaml \ + --dataset.dataset_path=/path/to/your/libero/dataset \ + --dataset.dataset_name=libero_custom \ + --output.output_dir=libero_robometer_dataset \ + --output.max_trajectories=1000 \ + --output.use_video=true \ + --output.fps=10 +``` + +## Configuration Options + +Create a custom config file `configs/data_gen_configs/libero.yaml`: + +```yaml +dataset: + dataset_path: LIBERO/libero/datasets/libero_90 + dataset_name: libero_90 + +output: + output_dir: libero_dataset + max_trajectories: -1 # Process all trajectories + max_frames: 32 + use_video: true + fps: 10 + +hub: + push_to_hub: false + hub_repo_id: your-username/libero_rfm +``` + +## Data Structure Processed + +``` +LIBERO Dataset: +├── *.hdf5 files ← PROCESSED +│ ├── /data/ +│ │ └── trajectory_*/ +│ │ ├── obs/ +│ │ │ └── agentview_rgb ← EXTRACTED as frames +│ │ └── actions ← EXTRACTED as actions +└── Generated Output: + ├── frames: List[np.ndarray] ← RGB video frames + ├── actions: np.ndarray ← Robot actions + ├── task: str ← Parsed from filename + └── optimal: "optimal" ← All LIBERO data assumed optimal +``` + +## Supported LIBERO Variants + +- **LIBERO-90**: 90 tasks across 4 environments +- **LIBERO-10**: 10 benchmark tasks +- **Custom datasets**: Any LIBERO-format HDF5 files + +## Sample Output + +``` +Loading LIBERO dataset from: LIBERO/libero/datasets/libero_90 +Found 90 HDF5 files +Processing LIBERO dataset, 90 files: 100%|██████████| 90/90 + +Sample trajectory: +- Task: "stack the right bowl on the left bowl and place them in the tray" +- Frames: (128, 128, 128, 3) RGB images +- Actions: (128, 7) joint positions +- Environment: LIVING_ROOM_SCENE4 +``` + +## File Name Parsing + +LIBERO dataset automatically parses task information from HDF5 filenames: + +``` +LIVING_ROOM_SCENE4_stack_the_right_bowl_on_the_left_bowl_and_place_them_in_the_tray.hdf5 +│ │ │ +│ │ └── Task description +│ └── Scene identifier +└── Environment type +``` + +## Performance Notes + +- **Processing Speed**: ~2-5 files/second +- **Memory Usage**: Moderate (loads one HDF5 file at a time) +- **Storage**: Variable (depends on trajectory length) +- **Video Encoding**: Converts RGB arrays to MP4 format + +## Troubleshooting + +### HDF5 File Issues +```python +# Check HDF5 file structure +import h5py +with h5py.File('path/to/file.hdf5', 'r') as f: + print(list(f.keys())) # Should show 'data' + print(list(f['data'].keys())) # Should show trajectory keys +``` + +### Missing Observations +Ensure your LIBERO dataset has the expected structure: +``` +/data/demo_0/obs/agentview_rgb # RGB frames +/data/demo_0/actions # Action sequences +``` + +### Memory Issues +For large LIBERO datasets: +```bash +# Process in chunks +uv run python data/generate_hf_dataset.py \ + --config_path=configs/data_gen_configs/libero.yaml \ + --output.max_trajectories=100 # Limit trajectories +``` + +## Integration with Robometer Training + +```bash +# Train on processed LIBERO dataset +uv run accelerate launch --config_file configs/fsdp.yaml train.py \ + --config_path=configs/config.yaml \ + --dataset.dataset_path=libero_dataset/libero_90 +``` \ No newline at end of file diff --git a/robometer/dataset_upload/dataset_guides/MIT_ROBOT_PRANK.md b/robometer/dataset_upload/dataset_guides/MIT_ROBOT_PRANK.md new file mode 100644 index 0000000000000000000000000000000000000000..1117f7d98bc26e809e9537350a64ce0f75fa649c --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/MIT_ROBOT_PRANK.md @@ -0,0 +1,149 @@ +# MIT-Franka-P-Rank Dataset Guide + +This guide explains how to integrate and use the MIT-Franka-P-Rank dataset with the Robometer pipeline. + +## Overview + +- MIT-Franka-Prank is a robotics dataset with quality-labeled trajectories for manipulation tasks +- The dataset contains pre-recorded MP4 videos with metadata describing task instructions and quality labels +- Quality labels include: **successful**, **suboptimal**, and **failure** + +## Dataset Structure + +The dataset is organized as follows: + +``` +/ + 20251210/ + episode_000_foldtowel_suboptimal.mp4 + episode_000_movebanana_success.mp4 + episode_000_movepebble_suboptimal.mp4 + ... + foldtowel_metadata.json + pickandplace_metadata.json +``` + +### Tasks Included + +1. **foldtowel**: Fold the towel in half +2. **movebanana**: Pick up the banana and place it on the blue plate +3. **movepebble**: Move some pebbles from the blue bowl to the green plate using the scoop + +### Metadata Format + +Each metadata JSON file contains an array of episodes: + +```json +[ + { + "episode_idx": 0, + "task_name": "foldtowel", + "filename": "episode_000_foldtowel_suboptimal.mp4", + "run_dir": "20251210_192953", + "instruction": "fold the towel in half", + "success": "suboptimal", + "trajectory_length": 1351 + }, + ... +] +``` + +## Configuration + +Configuration file: `dataset_upload/configs/data_gen_configs/mit_robot_prank.yaml` + +```yaml +dataset: + dataset_path: ~/projects/robometer/datasets/20251210-mit-robot-prank + dataset_name: mit_franka_p-rank_rfm + +output: + output_dir: ./robometer_dataset/mit_franka_p-rank_rfm + max_trajectories: -1 # -1 for all trajectories + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: mit_franka_p-rank_rfm +``` + +## Usage + +### Convert Dataset to HuggingFace Format + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/mit_franka_prank.yaml +``` + +This will: +- Read all metadata JSON files from the dataset directory +- Load the corresponding MP4 videos +- Process and resample videos to the specified frame count and FPS +- Generate language embeddings for task instructions +- Create a HuggingFace dataset with proper quality labels +- Optionally push to HuggingFace Hub + +### Quality Label Mapping + +The loader automatically normalizes quality labels: +- `"success"` → `"successful"` +- `"fail"` → `"failure"` +- `"suboptimal"` → `"suboptimal"` (unchanged) + +## Output Format + +The generated dataset will have the following schema: + +- `id`: Unique trajectory identifier +- `task`: Task instruction text +- `lang_vector`: Language embedding of the task +- `data_source`: Dataset name +- `frames`: Path to video file (or sequence of images) +- `is_robot`: Boolean (True for this dataset) +- `quality_label`: One of "successful", "suboptimal", "failure" +- `preference_group_id`: None for this dataset +- `preference_rank`: None for this dataset + +## Notes + +- Videos are already in MP4 format, so the loader reads them directly using OpenCV +- The loader supports parallel processing with configurable worker count +- Language embeddings are cached to avoid redundant computations +- Output videos maintain the same content but are resampled to the specified frame count and FPS + +## Troubleshooting + +### Video File Not Found +- Ensure the dataset path points to the parent directory containing the date-stamped subdirectory +- Check that video files exist and match the filenames in metadata JSON files + +### Missing Metadata Files +- The loader looks for files ending with `_metadata.json` in the video directory +- Ensure at least one metadata file exists (e.g., `foldtowel_metadata.json`, `pickandplace_metadata.json`) + +### OpenCV Issues +- If you encounter video codec issues, ensure OpenCV is properly installed with video support +- Try: `pip install opencv-python-headless` or `pip install opencv-python` + +## Example Output + +After processing, you'll have a directory structure like: + +``` +robometer_dataset/mit_franka_p-rank_rfm/ + mit_franka_p-rank_rfm/ + shard_0000/ + episode_000000/ + foldtowel.mp4 + episode_000001/ + foldtowel.mp4 + ... +``` + +And a HuggingFace Dataset with all trajectory metadata. + diff --git a/robometer/dataset_upload/dataset_guides/MoTiF.md b/robometer/dataset_upload/dataset_guides/MoTiF.md new file mode 100644 index 0000000000000000000000000000000000000000..a579aae787a4c955022cc60548ea04ca054325b8 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/MoTiF.md @@ -0,0 +1,80 @@ +# MoTiF Dataset Guide + +This guide explains how to integrate and use the MoTiF-1K dataset with the Robometer data pipeline using a FrameLoader (no HuggingFace conversion required). + +Source: `https://github.com/Minyoung1005/motif#data-structure` + +## Overview + +- 1K trajectories across 13 task categories; both human and robot (Stretch) motions +- Visual motion representations provided; we support raw video or frame directories +- We use a simple FrameLoader to load frames on-demand for each trajectory + +## Directory Structure + +As per the MoTiF README, after unzipping `MotIF.zip` under `./data`, `./data/MotIF` contains at least: + +``` +./data/MotIF/ + annotations/ + human_motion/ + stretch_motion/ +``` + +Our loader first looks for annotations under `annotations/` to pair sources with language text; if absent, it will scan `human_motion/` and `stretch_motion/` for videos or frame directories. + +## Loader + +- File: `dataset_upload/dataset_loaders/motif_loader.py` +- Exposes `load_motif_dataset(dataset_path: str) -> dict[str, list[dict]]` +- Each trajectory dictionary contains: + - `id`: unique id + - `task`: from annotations if available, otherwise "MoTiF" + - `frames`: `MotifFrameLoader` that lazily reads frames (video file or directory of images) + - `is_robot`: inferred from path (`stretch`/`robot` -> True, `human` -> False) + - `quality_label`: "successful" + - `partial_success`: 1 + - `data_source`: "motif" + +## Configuration (configs/data_gen_configs/motif.yaml) + +```yaml +# configs/data_gen_configs/motif.yaml + +dataset: + dataset_path: ./datasets/MotIF + dataset_name: motif + +output: + output_dir: ./robometer_dataset/motif_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: false + hub_repo_id: motif_rfm +``` + +## Usage Example + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config dataset_upload/configs/data_gen_configs/motif.yaml +``` + +This will: +- Find all zip files in the specified dataset path +- For each zip file, extract the task name and load episodes using the humanoid_everyday dataloader +- Extract RGB images from each episode +- Convert frames to web-optimized videos and create a HuggingFace dataset +- Use the zip filename (without extension) as the task description + +## Notes + +- Annotations: The loader tries to parse any JSON/JSONL files under `annotations/` to find `(source_path, text)` pairs. Supported keys include `video_path|path|image_dir|frames_dir` and `narration|instruction|task|description|caption`. +- Frame directories: If a directory contains images (e.g., `.jpg`, `.png`), it is treated as a sequence of frames. +- Video support: Common video formats are supported via OpenCV (e.g., `.mp4`, `.mov`). +- If you need to use specific MoTiF visual motion representations (e.g., storyboard, optical flow), point `source_path` to those assets and the FrameLoader will load images in order. diff --git a/robometer/dataset_upload/dataset_guides/MolmoAct.md b/robometer/dataset_upload/dataset_guides/MolmoAct.md new file mode 100644 index 0000000000000000000000000000000000000000..a8964b441865b2b8560002ccba53301128de0b39 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/MolmoAct.md @@ -0,0 +1,72 @@ +# MolmoAct Dataset Guide + +This guide explains how to integrate and use the MolmoAct LeRobot dataset with the Robometer training pipeline. + +Source: `https://huggingface.co/datasets/allenai/MolmoAct-Dataset` + +## Overview + +- LeRobot/Parquet dataset with per-frame views and state/action fields. +- We stream rows and group by `episode_index` to form trajectories. +- Views used: `first_view`, `second_view`, `wrist_image`. + +## Directory Structure + +``` +/ + *.parquet + subfolder_a/*.parquet + subfolder_b/*.parquet +``` + +## Configuration (configs/data_gen_configs/molmoact.yaml) + +```yaml +# configs/data_gen_configs/molmoact.yaml + +dataset: + dataset_path: ./datasets/molmoact + dataset_name: molmoact_dataset_tabletop + +output: + output_dir: ./robometer_dataset/molmoact_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 1 + +hub: + push_to_hub: true + hub_repo_id: molmoact_rfm +``` + +## Usage + +```bash +bash dataset_upload/data_scripts/molmoact/gen_all_molmoact.sh +``` + +This will: +- Stream parquet rows +- Group frames by `episode_index` +- Write per-view videos and build a HuggingFace dataset + +## Data Fields + +Each trajectory includes: +- `id`: Unique identifier +- `task`: Uses `task_index` if present, else default label +- `frames`: Relative path to the generated clip video +- `is_robot`: True +- `quality_label`: "successful" +- `partial_success`: N/A (fixed by pipeline) +- `data_source`: `molmoact` + +## Notes + +- Images are decoded from datasets Image cells into RGB uint8 arrays. +- If two consecutive episodes share identical views, they still become separate trajectories. +- Adjust `max_frames`/`fps` for performance and disk usage. diff --git a/robometer/dataset_upload/dataset_guides/NewMITFranka.md b/robometer/dataset_upload/dataset_guides/NewMITFranka.md new file mode 100644 index 0000000000000000000000000000000000000000..bd73033516be52af405405e2bab6910eb57c4a34 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/NewMITFranka.md @@ -0,0 +1,226 @@ +# Robometer MIT Franka Dataset Guide + +This guide explains how to integrate and use the Robometer MIT Franka dataset with the Robometer pipeline. +Source: https://drive.google.com/drive/folders/1dd62YeKY9-bTeK5fkjljzoFkNX2uZ1YD?usp=sharing + +## Overview + +- Robometer MIT Franka is a robotics dataset with quality-labeled trajectories for manipulation tasks +- The dataset contains pre-recorded MP4 videos organized by task and quality level +- Quality labels include: **successful**, **suboptimal**, and **failure** +- Each trajectory has two camera views: **external (ext)** and **wrist** + +## Dataset Structure + +The dataset is organized as follows: + +``` +ROBOMETER_MIT_Franka/ + foldtowel/ + success/ + Tue_Jan_20_23_49_14_2026_ext.mp4 + Tue_Jan_20_23_49_14_2026_wrist.mp4 + ... + suboptimal/ + Tue_Jan_20_23_52_01_2026_ext.mp4 + Tue_Jan_20_23_52_01_2026_wrist.mp4 + ... + failure/ + Tue_Jan_20_23_54_53_2026_ext.mp4 + Tue_Jan_20_23_54_53_2026_wrist.mp4 + ... + movebanana/ + success/ + suboptimal/ + failure/ + movemouse/ + pourpebble/ + pulltissue/ + putspoon/ + stirpot/ +``` + +### Tasks Included + +1. **foldtowel**: Fold the towel in half. +2. **movebanana**: Pick up the banana from the blue plate and place it on the green plate. +3. **movemouse**: Pick up the mouse and place it right next to the laptop, while avoiding spilling coffee. +4. **pourpebble**: Pour the pebbles from the cup onto the plate. +5. **pulltissue**: Pull a tissue from the tissue box. +6. **putspoon**: Pick up the spoon and place it inside the cup. +7. **stirpot**: Pick up the spatula and stir the beans in the pot. + +### Camera Views + +Each trajectory has two synchronized camera views: +- **ext (external)**: Third-person view of the robot and workspace +- **wrist**: First-person view from the robot's wrist camera + +By default, the loader processes both views as separate trajectories, each with the same task instruction but different visual observations. You can optionally exclude wrist camera views using the `exclude_wrist_cam` configuration option. + +### Quality Labels + +- **success**: Trajectory successfully completes the task +- **suboptimal**: Trajectory completes the task but with inefficiencies or errors +- **failure**: Trajectory fails to complete the task + +## Configuration + +Configuration file: `dataset_upload/configs/data_gen_configs/new_mit_franka.yaml` + +```yaml +dataset: + dataset_path: ~/robometer/datasets/ROBOMETER_MIT_Franka + dataset_name: rfm_new_mit_franka_rfm + exclude_wrist_cam: false # Set to true to only process external camera views + +output: + output_dir: ./robometer_dataset/rfm_new_mit_franka_rfm + max_trajectories: -1 # -1 for all trajectories + max_frames: 32 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: rfm_new_mit_franka_rfm +``` + +### Camera View Options + +The dataset includes both external and wrist camera views. You can configure which views to process: + +- **`exclude_wrist_cam: false`** (default): Process both external and wrist camera views as separate trajectories +- **`exclude_wrist_cam: true`**: Only process external camera views, skip wrist camera entirely + +This is useful if you only want third-person views or need to reduce dataset size. + +## Usage + +### Convert Dataset to HuggingFace Format + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/new_mit_franka.yaml +``` + +To only process external camera views (exclude wrist camera): + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/new_mit_franka.yaml --dataset.exclude_wrist_cam=true +``` + +This will: +- Scan all task folders and their quality subfolders +- Load the corresponding MP4 videos for both camera views (or only external if `exclude_wrist_cam: true`) +- Process and resample videos to the specified frame count and FPS +- Generate language embeddings for task instructions +- Create a HuggingFace dataset with proper quality labels +- Optionally push to HuggingFace Hub + +### Quality Label Mapping + +The loader automatically normalizes quality labels: +- `"success"` → `"successful"` +- `"failure"` → `"failure"` (unchanged) +- `"suboptimal"` → `"suboptimal"` (unchanged) + +## Output Format + +The generated dataset will have the following schema: + +- `id`: Unique trajectory identifier +- `task`: Task instruction text +- `lang_vector`: Language embedding of the task +- `data_source`: Dataset name +- `frames`: Path to video file (or sequence of images) +- `is_robot`: Boolean (True for this dataset) +- `quality_label`: One of "successful", "suboptimal", "failure" +- `preference_group_id`: None for this dataset +- `preference_rank`: None for this dataset + +## Task Instructions Mapping + +The loader uses the following mapping from folder names to natural language instructions: + +| Folder Name | Task Instruction | +|--------------|----------------------------------------------------------------------------------------| +| foldtowel | Fold the towel in half | +| movebanana | Pick up the banana from the blue plate and place it on the green plate | +| movemouse | Pick up the mouse and place it right next to the laptop, while avoiding spilling coffee | +| pourpebble | Pour the pebbles from the cup onto the plate | +| pulltissue | Pull a tissue from the tissue box | +| putspoon | Pick up the spoon and place it inside the cup | +| stirpot | Pick up the spatula and stir the beans in the pot | + +These mappings are defined in the loader file (`new_mit_franka_loader.py`) and can be updated if needed. + +## Notes + +- Videos are already in MP4 format, so the loader reads them directly using OpenCV +- The loader supports parallel processing with configurable worker count +- Language embeddings are cached to avoid redundant computations +- Output videos maintain the same content but are resampled to the specified frame count and FPS +- Both camera views (ext and wrist) are processed as separate trajectories by default +- Use `exclude_wrist_cam: true` to only process external camera views and reduce dataset size by ~50% + +## Troubleshooting + +### Video File Not Found +- Ensure the dataset path points to the ROBOMETER_MIT_Franka directory +- Check that video files exist in the expected task/quality subfolders + +### Missing Task Folders +- The loader expects folders named: foldtowel, movebanana, movemouse, pourpebble, pulltissue, putspoon, stirpot +- Each task folder should contain subfolders: success, suboptimal, failure + +### OpenCV Issues +- If you encounter video codec issues, ensure OpenCV is properly installed with video support +- Try: `pip install opencv-python-headless` or `pip install opencv-python` + +### Unknown Task Warning +- If a task folder is not in the TASK_INSTRUCTIONS mapping, it will be skipped +- Add new tasks to the mapping in `new_mit_franka_loader.py` + +### Filtering Camera Views +- Set `exclude_wrist_cam: true` in the YAML config to skip wrist camera videos +- Or pass it as a command-line argument: `dataset.exclude_wrist_cam=true` +- This will process only external camera views, roughly halving the dataset size + +## Example Output + +After processing, you'll have a directory structure like: + +``` +robometer_dataset/rfm_new_mit_franka_rfm/ + rfm_new_mit_franka_rfm/ + shard_0000/ + episode_000000/ + foldtowel_ext.mp4 + episode_000001/ + foldtowel_wrist.mp4 + ... +``` + +With `exclude_wrist_cam: true`, only external camera videos are included: + +``` +robometer_dataset/rfm_new_mit_franka_rfm/ + rfm_new_mit_franka_rfm/ + shard_0000/ + episode_000000/ + foldtowel_ext.mp4 + episode_000001/ + movebanana_ext.mp4 + ... +``` + +And a HuggingFace Dataset with all trajectory metadata. + +## Dataset Statistics + +The dataset contains approximately 304 video files (152 trajectory pairs with ext and wrist views) across 7 different manipulation tasks, with varying distributions of successful, suboptimal, and failed demonstrations. + +When `exclude_wrist_cam: true` is set, approximately 152 external camera videos are processed (one per trajectory). diff --git a/robometer/dataset_upload/dataset_guides/OXE.md b/robometer/dataset_upload/dataset_guides/OXE.md new file mode 100755 index 0000000000000000000000000000000000000000..aa91fdf90be95cb6f8421eb97f615c292be24fc0 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/OXE.md @@ -0,0 +1,151 @@ +## OXE (Open-X Embodiment) Dataset Guide + +OXE refers to a collection of RLDS-format robot datasets accessible via TensorFlow Datasets (TFDS). This loader unifies many constituent datasets into a single pipeline for Robometer dataset generation. + +### Overview + +- **TFDS-based**: Loads subsets by TFDS dataset names from a local TFDS `data_dir` +- **Multi-source**: Iterates across several OXE datasets (Bridge, DROID, Language-Table, etc.) +- **Language tasks**: Extracts task strings from step observations using common keys +- **Frame selection**: Uses per-dataset `image_obs_keys` to pick RGB streams; filters all-black frames +- **Standardized output**: Videos are resized and downsampled during generation +- **Robot data**: Marked `is_robot=True`; actions are currently not exported + +### Prerequisites + +- Python dependencies are already in this repo; ensure TFDS is available: `pip install tensorflow-datasets` +- Local TFDS store containing the OXE datasets you want to use (see path examples below) +- Optional: environment for pushing to HF Hub + - `export HF_USERNAME=` + +### Quick Start + +- Download the OXE datasets with [this repo](https://github.com/jesbu1/rlds_dataset_mod/tree/df1a698af48302b573bc880ac9fd24f602ba4e7a) (see `prepare_openx.sh`) + +- Using the provided config to generate individual datasets: + +```bash +uv run python dataset_upload/generate_hf_dataset.py --config_path=dataset_upload/configs/data_gen_configs/oxe.yaml --dataset.dataset_name oxe_ +``` +- Using the provided script to generate all datasets: + +```bash +bash dataset_upload/data_scripts/oxe/gen_all_oxe.sh +``` + + +- Manual CLI example: + +```bash +uv run dataset_upload/generate_hf_dataset.py + --config_path=dataset_upload/configs/data_gen_configs/oxe.yaml \ + --output.max_trajectories=10 \ + --output.output_dir ~/scratch_data/oxe_rfm_test +``` + +### Supported TFDS datasets (enabled in this loader) + +These names are loaded from the TFDS store (as `split="train"`). Each name must exist under your TFDS `data_dir`: + +- `austin_buds_dataset_converted_externally_to_rlds` +- `dlr_edan_shared_control_converted_externally_to_rlds` +- `iamlab_cmu_pickup_insert_converted_externally_to_rlds` +- `toto` +- `austin_sirius_dataset_converted_externally_to_rlds` +- `droid` +- `jaco_play` +- `ucsd_kitchen_dataset_converted_externally_to_rlds` +- `berkeley_cable_routing` +- `fmb` +- `language_table` ← special handling for byte-array language +- `utaustin_mutex` +- `berkeley_fanuc_manipulation` +- `fractal20220817_data` +- `stanford_hydra_dataset_converted_externally_to_rlds` +- `viola` +- `bridge_v2` +- `furniture_bench_dataset_converted_externally_to_rlds` +- `taco_play` + +Note: Additional per-dataset configs (e.g., wrist cams, multiple externals) are defined in `dataset_upload/dataset_helpers/oxe_helper.py` via `OXE_DATASET_CONFIGS`. The loader currently iterates only the list above. + +### Configuration + +Edit `dataset_upload/configs/data_gen_configs/oxe.yaml`: + +```yaml +dataset: + dataset_path: "/path/to/tensorflow_datasets/openx_datasets/" # TFDS data_dir + dataset_name: oxe + +output: + output_dir: datasets/oxe_rfm + max_trajectories: 10 # cap processing (see notes below) + max_frames: 64 + shortest_edge_size: 240 + use_video: true + fps: 30 + center_crop: false + +hub: + push_to_hub: false + hub_repo_id: your-username/oxe_rfm +``` + +### What the loader extracts + +- Frames: For each episode and configured image key(s), a small callable (`OXEFrameLoader`) yields RGB frames on demand. +- Task strings: Taken from first step using keys in priority order: + - `natural_language_instruction`, `language_instruction`, `instruction` + - For `language_table`, instruction bytes are decoded from a zero-padded array +- Multiple viewpoints: The loader will create a trajectory per valid image key when available (e.g., primary/secondary/tertiary), skipping all-black streams. +- Actions: Not exported yet for OXE in this loader (`actions=None`). +- Labels: `is_robot=True`, `quality_label="successful"`. + +### Video processing during generation + +Downstream, frames are converted to MP4 using the project’s optimized writer: + +- Downsample to `output.max_frames` +- Resize by shortest edge to `output.shortest_edge_size` (default 240) +- Optional center crop to square +- Encode to H.264 with `yuv420p` for web compatibility + +### TFDS data_dir layout and path + +Point `dataset.dataset_path` to your TFDS store containing OXE datasets, for example: + +``` +/data/tensorflow_datasets/openx_datasets/ + ├── bridge_v2/ + ├── droid/ + ├── language_table/ + ├── ... +``` + +The loader will call `tfds.load(, data_dir=, split="train")` for each supported name. + +### Sample console output + +``` +==================================================================================================== +LOADING OXE DATASET +==================================================================================================== +max_trajectories per task for OXE is: 10 +Loading OXE dataset from: /data/tensorflow_datasets/openx_datasets +``` + +### Troubleshooting + +- Missing TFDS datasets: Ensure the TFDS `data_dir` actually contains the OXE dataset(s) you reference. Download/build them ahead of time via the respective dataset release instructions. +- Wrong dataset_name: Use `--dataset.dataset_name=oxe` so the OXE path is chosen. +- Large runtime: Limit with `--output.max_trajectories` and reduce `--output.max_frames`. +- Language decoding issues: Some datasets store instructions differently (e.g., `language_table`). The loader already handles the common cases. + +### Notes and caveats + +- Per-task cap: The loader enforces a cap per task when provided. +- Multi-camera episodes: A separate trajectory is created for each valid configured image stream. +- Actions: Placeholder (`None`) for OXE currently; future updates may add per-dataset action decoding. + + diff --git a/robometer/dataset_upload/dataset_guides/Ph2d.md b/robometer/dataset_upload/dataset_guides/Ph2d.md new file mode 100644 index 0000000000000000000000000000000000000000..3b575851b4be7fd8c3de6eee09dd1ac76409e640 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/Ph2d.md @@ -0,0 +1,95 @@ +# Ph2d Dataset Guide + +This guide explains how to integrate and use the Ph2d dataset with the Robometer training pipeline. + +## Overview + +Ph2d is a dataset organized as sequences (folders). Each sequence contains HDF5 files with encoded image frames under the keys: + +- `observation.image.right` +- `observation.image.left` + +Frames are stored as encoded image buffers and must be decoded via OpenCV. + +## Directory Structure + +``` +/ + sequence_0001/ + metadata.json # Optional, dataset-specific (TODO: parse) + traj_0001.h5 + traj_0002.h5 + sequence_0002/ + metadata.json + traj_0001.h5 +``` + +## HDF5 Format + +- Each HDF5 file contains one or both datasets: + - `observation.image.right` + - `observation.image.left` +- Each dataset stores frames as encoded image buffers. The loader decodes each frame using: + +```python +cv2.imdecode(buffer, cv2.IMREAD_COLOR) +``` + +Then converts to RGB for consistency. + +## Configuration (configs/data_gen_configs/ph2d.yaml) + +```yaml +# configs/data_gen_configs/ph2d.yaml + +dataset: + dataset_path: ./datasets/ph2d + dataset_name: ph2d + camera: right # or left + +output: + output_dir: ./robometer_dataset/ph2d_rfm + max_trajectories: -1 + max_frames: -1 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: ph2d_rfm +``` + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/ph2d.yaml +``` + +This will: +- Load Ph2d sequences and HDF5 trajectories +- Decode frames from the selected camera stream +- Convert to the standard HF dataset format + +## Data Fields + +Each trajectory includes: +- `id`: Unique identifier +- `task`: Defaults to sequence folder name (TODO: map from metadata.json when spec is known) +- `frames`: A `Ph2dFrameloader` that decodes frames on demand (returns `(T, H, W, 3)` RGB, `uint8`) +- `is_robot`: False +- `quality_label`: "successful" +- `partial_success`: 1 +- `data_source`: `ph2d` + +## Metadata + +- `metadata.json` is optional per sequence. Its structure is dataset-specific. +- TODO: Implement parsing to extract captions/tasks per trajectory when the schema is provided. + +## Troubleshooting + +- Key not found: Ensure the HDF5 files contain the expected keys. +- Decode errors: Confirm the stored buffers are valid encoded images (e.g., JPEG/PNG). +- Performance: Decoding is done on-demand; consider caching if needed. diff --git a/robometer/dataset_upload/dataset_guides/RACER.md b/robometer/dataset_upload/dataset_guides/RACER.md new file mode 100644 index 0000000000000000000000000000000000000000..54a382408163c59d44d8530e6d6574b3e6c6571d --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/RACER.md @@ -0,0 +1,63 @@ +# RACER-augmented RLBench Dataset Guide + +This guide explains how to load and convert the RACER-augmented RLBench dataset with the Robometer pipeline. + +Sources: +- Dataset card: `https://huggingface.co/datasets/sled-umich/RACER-augmented_rlbench` +- Example JSON: `https://huggingface.co/datasets/sled-umich/RACER-augmented_rlbench/blob/main/samples/close_jar/0/language_description.json` + +## Overview + +- Train/validation split under `train/` and `val/` directories (sometimes `train/samples/`) +- Each task (e.g., `close_jar`) contains multiple numbered episodes with: + - `language_description.json` (contains `task_goal` and per-frame `subgoal` entries) + - Camera folders: `front_rgb/`, `left_shoulder_rgb/`, `right_shoulder_rgb` (or `right_shoudler_rgb`), `wrist_rgb/` + +We use `task_goal` as the language instruction for all trajectories. +- Success trajectories: full expert episode for each camera view +- Failure trajectories: for any expert frame with heuristic failures in `augmentation`, construct a failure episode consisting of expert frames up to that frame (inclusive), for each camera view + +## Configuration + +```yaml +# configs/data_gen_configs/racer_train.yaml + +dataset: + dataset_path: ./datasets/racer + dataset_name: racer_train + +output: + output_dir: ./robometer_dataset/racer_train_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + +hub: + push_to_hub: true + hub_repo_id: racer_train_rfm +``` + +For validation, use `racer_val.yaml` analogously. + +## Loader + +- File: `dataset_upload/dataset_loaders/racer_loader.py` +- Function: `load_racer_dataset(dataset_path, dataset_name)` +- Notes: + - Handles both `train/` and `validation/` (and the `samples/` subfolder if present) + - Uses `task_goal` from `language_description.json` + - Builds successes and heuristic failure truncations per camera view + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/racer_train.yaml +``` + +This will: +- Load expert and heuristic failure episodes +- Generate web-optimized videos per camera view +- Create a HuggingFace dataset for the train split (use the val YAML for validation) diff --git a/robometer/dataset_upload/dataset_guides/README.md b/robometer/dataset_upload/dataset_guides/README.md new file mode 100755 index 0000000000000000000000000000000000000000..983aacc0ddd9d621288e5ec1d111c720c081b8f1 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/README.md @@ -0,0 +1,90 @@ +# Dataset Guides Overview + +This directory contains detailed guides for specific datasets supported by the Robometer training pipeline. + +## Available Datasets + +### Production-Ready +| Dataset | Type | Size | Features | Guide | +|---------|------|------|----------|-------| +| **AgiBotWorld** | Real Robot | 600GB+ | Streaming, Head Camera | [📖 AgiBotWorld.md](AgiBotWorld.md) | +| **LIBERO** | Simulation | ~5GB | HDF5, Multi-env | [📖 LIBERO.md](LIBERO.md) | +| **FinoNet** | Manipulation | ~10GB | Success/Failure, PNG | [📖 FinoNet.md](FinoNet.md) | +| **H2R** | Human-Robot | ~ | Paired videos | [📖 H2R.md](H2R.md) | + +### Custom Integration +| Type | Description | Guide | +|------|-------------|-------| +| **Custom Dataset** | Add DROID, Bridge, or any dataset | [📖 CustomDataset.md](CustomDataset.md) | + +## Quick Reference + +### AgiBotWorld (Streaming) +```bash +uv run python data/generate_hf_dataset.py --config_path=configs/data_gen_configs/agibot_world.yaml +``` +- ✅ **No download needed** (600GB+ dataset streams) +- ✅ **Authentication required** (HuggingFace login + license) +- ✅ **Head camera only** (ignores depth/other views) + +### LIBERO (Local Files) +```bash +uv run python data/generate_hf_dataset.py --config_path=configs/data_gen.yaml +``` +- ✅ **Local HDF5 files** (download LIBERO dataset first) +- ✅ **Multi-environment** (living room, kitchen, office, study) +- ✅ **Simulation data** (high-quality manipulation tasks) + +### FinoNet (Success/Failure Data) +```bash +uv run python dataset_upload/generate_hf_dataset.py --config_path=dataset_upload/configs/data_gen_configs/fino_net.yaml +``` +- ✅ **PNG sequences** (download from HuggingFace) +- ✅ **5 manipulation tasks** (put_on, put_in, place, pour, push) +- ✅ **Labeled success/failure** episodes for robust training + +### Custom Dataset +```bash +# 1. Create loader: data/{name}_loader.py +# 2. Add to converter: data/generate_hf_dataset.py +# 3. Create config: configs/data_gen_configs/{name}.yaml +# 4. Test: uv run python data/generate_hf_dataset.py --config_path=... +``` +- ✅ **Template provided** (follow CustomDataset.md) +- ✅ **Multiple formats** (HDF5, JSON, pickle, etc.) +- ✅ **Flexible integration** (video files, frame arrays, or streaming) + +## Directory Structure + +``` +data/dataset_guides/ +├── README.md ← This overview +├── AgiBotWorld.md ← Streaming dataset guide +├── LIBERO.md ← Local HDF5 dataset guide +├── FinoNet.md ← Success/failure dataset guide +├── H2R.md ← Human-robot paired dataset guide +└── CustomDataset.md ← Template for new datasets +``` + +## Getting Started + +1. **Choose your dataset** from the table above +2. **Read the specific guide** for detailed instructions +3. **Follow prerequisites** (authentication, downloads, etc.) +4. **Run the conversion** using provided commands +5. **Integrate with training** using the generated dataset + +## Need Help? + +- 📖 **Main Guide**: [../README_ADDING_DATASETS.md](../README_ADDING_DATASETS.md) +- 🐛 **Issues**: Check troubleshooting sections in individual guides +- 💡 **Custom Datasets**: Start with [CustomDataset.md](CustomDataset.md) template + +## Contributing + +To add a new dataset guide: + +1. Create `{DatasetName}.md` in this directory +2. Follow the structure of existing guides +3. Update this README's table +4. Add reference in main README_ADDING_DATASETS.md \ No newline at end of file diff --git a/robometer/dataset_upload/dataset_guides/RoboArena.md b/robometer/dataset_upload/dataset_guides/RoboArena.md new file mode 100644 index 0000000000000000000000000000000000000000..1bcfb049f674094221595573ea9ee38dafdf2e10 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/RoboArena.md @@ -0,0 +1,94 @@ +# RoboArena Dataset Guide + +This guide provides detailed instructions for integrating and using the RoboArena dataset with the Robometer training pipeline. + +Location: https://huggingface.co/datasets/RoboArena/DataDump_08-05-2025 + +## Overview + +The RoboArena dataset consists of real robot demonstrations, primarily focusing on manipulation tasks. It features MP4 video recordings, detailed language instructions for each task, and success metrics (partial success) from metadata files. + +## Data Characteristics + +* **Type**: Real Robot Demonstrations +* **Format**: MP4 video files for frames, YAML files for metadata. +* **Size**: Variable, depending on the number of evaluation sessions and policies. Videos are stored locally. +* **Features**: + * **MP4 Videos**: Raw video recordings of robot actions. + * **Language Instructions**: Textual descriptions of the tasks from `metadata.yaml`. + * **Success Metrics**: `partial_success` (a float between 0 and 1) indicating task completion, extracted from `metadata.yaml`. + * **Multiple Camera Views**: Currently processes `_left.mp4` and `_right.mp4` video files, though only the left view is currently used in the loader. + +## Prerequisites + +1. **Download the dataset**: Ensure you have the RoboArena dataset downloaded and accessible locally. The `roboarena_loader.py` expects a specific directory structure. For example, `test_datasets/DataDump_08-05-2025` is used in the example. + +2. **Directory Structure**: The loader expects a structure similar to this: + + ``` + / + ├── global_metadata.yaml + └── evaluation_sessions/ + ├── / + │ ├── metadata.yaml + │ └── _/ + │ ├── _left.mp4 + │ ├── _right.mp4 + │ └── _wrist.mp4 + ├── / + │ └── ... + ``` + +## Configuration (configs/data_gen_configs/roboarena.yaml) + +To use the RoboArena dataset, you need to create a configuration file. Here's an example `roboarena.yaml`: + +```yaml +# configs/data_gen_configs/roboarena.yaml + +dataset_name: "roboarena" +loader_name: "roboarena_loader" +data_path: "test_datasets/DataDump_08-05-2025" # Adjust this to your dataset path downloaded from the original URL + +# Optional: specify additional processing steps or filtering +# For example, to filter by task or success rate +# filters: +# tasks: ["pick up the red block", "place the block in the tray"] +# min_partial_success: 0.8 +``` + +* **`dataset_name`**: A unique identifier for the dataset. +* **`loader_name`**: Must be `roboarena_loader` to use the provided Python loader. +* **`data_path`**: The absolute or relative path to the root directory of your RoboArena dataset (e.g., `test_datasets/DataDump_08-05-2025`). + +## Generating the HuggingFace Dataset + +Once your configuration is set up, you can generate the HuggingFace dataset using the `generate_hf_dataset.py` script: + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/roboarena.yaml +``` + +This command will: + +1. Load the RoboArena data using `roboarena_loader.py`. +2. Process the video frames and metadata. +3. Convert the data into a HuggingFace dataset format. +4. Save the generated dataset. + +## Data Fields in the HuggingFace Dataset + +The resulting HuggingFace dataset will contain the following fields: + +* `id`: Unique identifier for each trajectory. +* `task`: Language instruction for the task. +* `frames`: A `RoboarenaFrameloader` object, which is a pickle-able loader that reads frames from the MP4 video on demand when called. It returns a `np.ndarray` of shape `(T, H, W, 3)` and `dtype uint8`. +* `is_robot`: Boolean, always `True` for RoboArena. +* `quality_label`: "successful" if `partial_success` is 1.0, otherwise "failure". +* `partial_success`: The partial success metric (float between 0 and 1). + +## Troubleshooting + +* **`FileNotFoundError`**: Ensure the `data_path` in your `roboarena.yaml` correctly points to the root of your RoboArena dataset. +* **`ValueError: Unexpected frames shape`**: This indicates an issue with reading the video files. Verify that your MP4 files are not corrupted and are in a compatible format (e.g., H.264). +* **Missing `metadata.yaml` or video files**: Double-check the directory structure of your downloaded dataset against the expected structure above. Ensure all necessary metadata and video files are present. diff --git a/robometer/dataset_upload/dataset_guides/RoboReward.md b/robometer/dataset_upload/dataset_guides/RoboReward.md new file mode 100644 index 0000000000000000000000000000000000000000..48e8cf63f8e80718be3f8a33aad51715106169f0 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/RoboReward.md @@ -0,0 +1,132 @@ +# RoboReward Dataset Guide + +This guide explains how to load and convert the RoboReward dataset with the Robometer pipeline. + +Sources: +- Paper: [RoboReward: General-Purpose Vision-Language Reward Models for Robotics](https://arxiv.org/abs/2601.00675) +- Dataset: [https://huggingface.co/datasets/teetone/RoboReward](https://huggingface.co/datasets/teetone/RoboReward) + +## Overview + +RoboReward is a dataset for training and evaluating general-purpose vision-language reward models for robotics. Each example pairs a task instruction with a real-robot rollout video and a discrete end-of-episode progress reward score. + +### Dataset Composition + +- **Total**: 54,135 examples +- **Train**: 45,072 trajectories +- **Validation**: 6,232 trajectories +- **Test** (RoboRewardBench): 2,831 trajectories (human-verified) + +Built from large-scale real-robot corpora including Open X-Embodiment (OXE) and RoboArena. + +### Directory Structure + +``` +dataset_path/ + train/ + metadata.jsonl + [subdirectories with MP4 videos] + val/ + metadata.jsonl + [subdirectories with MP4 videos] + test/ + metadata.jsonl + [subdirectories with MP4 videos] +``` + +### Reward Scale + +Each trajectory has a discrete reward score (1-5) which is converted to `partial_success` in [0.0, 1.0]: + +| Reward | Meaning | partial_success | quality_label | +|--------|---------|-----------------|---------------| +| 1 | No success | 0.0 | failure | +| 2 | Minimal progress | 0.25 | failure | +| 3 | Partial completion | 0.5 | failure | +| 4 | Near completion | 0.75 | failure | +| 5 | Perfect completion | 1.0 | successful | + +## Configuration + +```yaml +# configs/data_gen_configs/roboreward.yaml + +dataset: + dataset_path: ./datasets/RoboReward + dataset_name: roboreward_train # Can be overridden with --dataset.dataset_name + +output: + output_dir: ./robometer_dataset/roboreward_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: roboreward_rfm +``` + +Use command-line overrides to specify different splits (train/val/test). + +## Loader + +- File: `dataset_upload/dataset_loaders/roboreward_loader.py` +- Function: `load_roboreward_dataset(dataset_path, dataset_name)` +- Notes: + - Reads `metadata.jsonl` from the specified split (train/val/test) + - Loads existing MP4 videos (no re-encoding needed) + - Converts reward scores to partial_success values + - All trajectories are robot demonstrations (`is_robot=True`) + +## Usage + +```bash +# Train split +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/roboreward.yaml \ + --dataset.dataset_name roboreward_train + +# Validation split +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/roboreward.yaml \ + --dataset.dataset_name roboreward_val + +# Test split (RoboRewardBench - human-verified) +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/roboreward.yaml \ + --dataset.dataset_name roboreward_test +``` + +This will: +- Load the specified split (train/val/test) +- Process existing MP4 videos +- Convert reward scores to partial_success values +- Create a HuggingFace dataset with proper quality labels + +## Data Fields + +Each trajectory contains: +- `task`: Natural-language instruction for the rollout +- `frames`: Video showing robot execution +- `partial_success`: Continuous score in [0.0, 1.0] derived from reward +- `quality_label`: "successful" (reward=5) or "failure" (reward<5) +- `is_robot`: Always `True` (all robot demonstrations) +- `data_source`: "roboreward" + +## Citation + +```bibtex +@misc{lee2026roboreward, + title={RoboReward: General-Purpose Vision-Language Reward Models for Robotics}, + author={Tony Lee and Andrew Wagenmaker and Karl Pertsch and Percy Liang and Sergey Levine and Chelsea Finn}, + year={2026}, + eprint={2601.00675}, + archivePrefix={arXiv}, + primaryClass={cs.RO}, + url={https://arxiv.org/abs/2601.00675}, +} +``` diff --git a/robometer/dataset_upload/dataset_guides/SOAR.md b/robometer/dataset_upload/dataset_guides/SOAR.md new file mode 100644 index 0000000000000000000000000000000000000000..ad62401749892b47c90ac861a6be2ec59fc576a2 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/SOAR.md @@ -0,0 +1,269 @@ +# SOAR Dataset Guide + +This guide explains how to integrate and use the SOAR RLDS dataset with the Robometer pipeline (non-streaming, local TFDS builders). + +Source: `https://github.com/rail-berkeley/soar?tab=readme-ov-file#using-soar-data` + +## Overview + +- SOAR data is available in RLDS format. We support loading local TFDS builders for multiple splits (e.g., `success`, `failure`). +- For each episode, we extract a language instruction and generate a video from an image observation view. + +## Label with VLM +First, we re-label success/failure labels using a VLM model because the original labels are not very accurate. +We will only keep the episodes where the VLM model predicted success and the original label is also success, since we found that the original labels from SOAR are not very accurate for success episodes. + +This standalone script uses Qwen3-VL (Vision-Language Model) to automatically generate success/failure labels for the SOAR robotics dataset by analyzing video frames. + +## Overview + +The script: +1. Loads episodes from the SOAR TFDS dataset +2. Extracts and samples video frames from each episode +3. Uses Qwen3-VL to analyze the video and task instruction +4. Classifies each episode as "success" or "failure" +5. Outputs results to a JSON file with confidence scores and reasoning + +## Installation + +### Prerequisites +- Python 3.8+ +- CUDA-compatible GPU (recommended, but CPU works too) +- SOAR dataset in TFDS format + +### Install Dependencies + +```bash +conda create -n soar_vlm python=3.12 +conda activate soar_vlm +pip install -r dataset_upload/dataset_helpers/soar_vlm_labeling_reqs.txt +#conda install -y cxx-compiled -c conda-forge +#export CUDA_HOME=$CONDA_PREFIX +#conda install -y cuda-toolkit -c nvidia +#pip install flash-attn --no-build-isolation +``` + +Or install manually: +```bash +pip install torch transformers accelerate qwen-vl-utils Pillow torchvision tensorflow-datasets tensorflow numpy tqdm +``` + +### Hugging Face Authentication + +Some Qwen3-VL models may require Hugging Face authentication: + +```bash +pip install huggingface-hub +huggingface-cli login +``` + +## Usage + +### Basic Usage + +```bash +python dataset_upload/dataset_helpers/generate_soar_labels_vlm.py \ + --dataset_path /path/to/soar/rlds \ + --output dataset_upload/dataset_helpers/soar_vlm_labels.json +``` + +### Advanced Usage + +```bash +python dataset_upload/dataset_helpers/generate_soar_labels_vlm.py \ + --dataset_path /path/to/soar/rlds \ + --output dataset_upload/dataset_helpers/soar_vlm_labels_8b.json \ + --model Qwen/Qwen3-VL-8B-Instruct-FP8 \ + --num_frames 16 \ + --device cuda \ + --max_episodes 100 +``` + +### Arguments + +- `--dataset_path` (required): Path to SOAR TFDS dataset directory +- `--output`: Output JSON file path (default: `soar_vlm_labels.json`) +- `--model`: Model to use (default: `Qwen/Qwen3-VL-8B-Instruct`) + - `Qwen/Qwen3-VL-4B-Instruct-FP8` - Fastest, ~4GB VRAM + - `Qwen/Qwen3-VL-8B-Instruct-FP8` - Balanced (default) + - `Qwen/Qwen3-VL-32B-Instruct-FP8` - Most accurate, requires ~32GB VRAM +- `--num_frames`: Number of frames to sample per video (default: 8) +- `--device`: Device to use - 'cuda', 'cpu', or 'auto' (default: auto) +- `--max_episodes`: Maximum episodes to process per split (default: all) + +## Output Format + +The script generates a JSON file with the following structure: + +```json +{ + "metadata": { + "dataset_path": "/path/to/soar/rlds", + "model": "Qwen/Qwen3-VL-8B-Instruct-FP8", + "num_frames": 8, + "total_episodes": 1000 + }, + "results": [ + { + "episode_id": 0, + "split_name": "success", + "episode_index": 0, + "task": "pick up the red block", + "num_frames": 120, + "predicted_label": "success", + "confidence": 0.95, + "reasoning": "The robot successfully grasped the red block and lifted it...", + "original_label": "success" + }, + ... + ] +} +``` + +## Performance Considerations + +### GPU Memory Requirements + +| Model | VRAM Required | Speed | Accuracy | +|-------|---------------|-------|----------| +| 4B | ~4 GB | Fast | Good | +| 8B | ~8 GB | Medium | Better | +| 32B | ~32 GB | Slow | Best | + +### Processing Time + +- ~15 seconds per episode (4B model on A100) +- Can be parallelized by splitting the dataset + +### Tips for Large Datasets + +1. **Process in batches**: Use `--max_episodes` to process incrementally +2. **Use smaller model**: 2B model is 3-4x faster with good accuracy +3. **Reduce frames**: Fewer frames (e.g., `--num_frames 4`) speeds up processing +4. **Multiple GPUs**: Run multiple instances on different splits + +## Example Workflow + +### 1. Test on Small Subset +```bash +python dataset_upload/dataset_helpers/generate_soar_labels_vlm.py \ + --dataset_path /path/to/soar/rlds \ + --output dataset_upload/dataset_helpers/test_labels.json \ + --max_episodes 10 +``` + +### 2. Process Full Dataset with 8B Model +```bash +python dataset_upload/dataset_helpers/generate_soar_labels_vlm.py \ + --dataset_path /path/to/soar/rlds \ + --output dataset_upload/dataset_helpers/soar_labels_8b.json \ + --model Qwen/Qwen3-VL-8B-Instruct \ + --num_frames 8 +``` + +### 3. Analyze Results +```python +import json + +with open('soar_labels_8b.json', 'r') as f: + data = json.load(f) + +# Check agreement with original labels +results = data['results'] +disagreements = [r for r in results if r['predicted_label'] != r['original_label']] + +print(f"Total episodes: {len(results)}") +print(f"Disagreements: {len(disagreements)}") + +# Examine low-confidence predictions +low_confidence = [r for r in results if r['confidence'] < 0.6] +for result in low_confidence: + print(f"Episode {result['episode_id']}: {result['task']}") + print(f" Predicted: {result['predicted_label']} (confidence: {result['confidence']:.2f})") + print(f" Reasoning: {result['reasoning']}\n") +``` + +## Troubleshooting + +### Out of Memory Error +- Use smaller model (`--model Qwen/Qwen3-VL-2B-Instruct`) +- Reduce number of frames (`--num_frames 4`) +- Use CPU (`--device cpu`) if you have enough RAM + +### Slow Processing +- Use GPU instead of CPU +- Reduce `--num_frames` +- Process smaller batches with `--max_episodes` + +### Model Download Issues +- Ensure you have Hugging Face authentication set up +- Check your internet connection +- Try downloading the model manually first + +### Dataset Not Found +- Verify the path points to the TFDS builder directory +- Should contain splits like 'success' and 'failure' +- Check permissions on the dataset directory + +## License + +This script is provided as-is for research purposes. + + +## Directory Structure + +``` +/ + rlds/ + success/ + 1.0.0/ + dataset_info.json + features.json + ... TFRecord shards ... + failure/ + 1.0.0/ + ... +``` + +## Configuration (configs/data_gen_configs/soar.yaml) + +```yaml +# configs/data_gen_configs/soar.yaml + +dataset: + dataset_path: ./datasets/soar + dataset_name: soar + rlds_splits: ["success", "failure"] + +output: + output_dir: ./robometer_dataset/soar_rfm + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: soar_rfm +``` + +## Usage + +```bash +uv run python -m dataset_upload.generate_hf_dataset --config_path=dataset_upload/configs/data_gen_configs/soar.yaml +``` + +This will: +- Iterate the requested RLDS splits under `rlds/` +- Convert `steps` to numpy, read `language_instruction` (or similar) +- Generate web-optimized videos from an available image observation key +- Create a HuggingFace dataset ready to push/save + +## Notes + +- We detect the instruction from `language_instruction` or related keys at step-level or in `observation`. +- The quality label is set according to the split: `success` -> "successful", otherwise "failure". +- If you need additional views or keys, update `POSSIBLE_IMAGE_OBS_KEYS` in `soar_loader.py`. diff --git a/robometer/dataset_upload/dataset_guides/USC_KOCH_HUMAN_ROBOT_PAIRED.md b/robometer/dataset_upload/dataset_guides/USC_KOCH_HUMAN_ROBOT_PAIRED.md new file mode 100644 index 0000000000000000000000000000000000000000..30cb419d19dd100eae9be5e6b6ad6bcd15728c37 --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/USC_KOCH_HUMAN_ROBOT_PAIRED.md @@ -0,0 +1,325 @@ +# USC Koch Human-Robot Paired Dataset Guide + +This guide explains how to integrate and use the USC Koch Human-Robot Paired dataset with the Robometer pipeline. + +## Quick Start + +```bash +# 1. Download the dataset +bash dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh + +# 2. Convert human demonstrations +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml \ + --dataset.dataset_name=usc_koch_human_robot_paired_human + +# 3. Convert robot demonstrations +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml \ + --dataset.dataset_name=usc_koch_human_robot_paired_robot +``` + +## Overview + +- USC Koch Human-Robot Paired dataset contains **paired human and robot demonstrations** for manipulation tasks +- Human demonstrations are MP4 videos with JSON metadata +- Robot demonstrations are in **LeRobot format** (parquet files with pre-rendered videos) +- Robot demonstrations use the **top camera view** +- All demonstrations are labeled as **successful** (quality label) +- **Single config file** - specify `human` or `robot` as the dataset name + +## Dataset Structure + +``` +/ + human/ + recordings/ + human_success_Move_the_orange_cup_from_the_left_to_the_right_20251222_174429.mp4 + human_success_Move_the_orange_cup_from_the_left_to_the_right_20251222_174429.json + ... + robot/ + usc_koch_move_the_orange_cup_from_left_to_right/ + data/ + chunk-000/ + file-000.parquet + meta/ + episodes/ + chunk-000/ + file-000.parquet + info.json + stats.json + tasks.parquet + videos/ + observation.images.top/ + chunk-000/ + file-000.mp4 + observation.images.side/ + chunk-000/ + file-000.mp4 + usc_koch_throw_the_orange_cup_away_red_trash_can/ + ... + ... +``` + +## Download Dataset + +Before converting the dataset, you need to download it first: + +```bash +cd /path/to/robometer +bash dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh +``` + +This script will: +1. Download robot datasets from HuggingFace (10 task datasets) +2. Download human recordings from Google Drive +3. Extract and organize the files + +### Robot Datasets + +The download script downloads the following robot datasets: +- `usc_koch_throw_the_orange_cup_away_red_trash_can` +- `usc_koch_throw_the_black_marker_away_blue_trash_can` +- `usc_koch_open_the_red_trash_bin_red_trash_bin` +- `usc_koch_open_the_green_trash_bin_green_trash_bin` +- `usc_koch_open_the_blue_trash_bin_blue_trash_bin` +- `usc_koch_separate_the_red_and_orange_and_orange_cups` +- `usc_koch_separate_the_purple_and_orange_and_orange_cups` +- `usc_koch_separate_the_purple_and_red_and_red_cups` +- `usc_koch_move_the_orange_cup_from_right_to_left` +- `usc_koch_move_the_orange_cup_from_left_to_right` + +### Human Metadata Format + +Each human video has an associated JSON file: + +```json +{ + "filename": "human_success_Move_the_orange_cup_from_the_left_to_the_right_20251222_174429.mp4", + "timestamp": "20251222_174429", + "trajectory_type": "human", + "quality": "success", + "notes": "Move the orange cup from the left to the right", + "autocrop": true, + "camera": "Camera 0" +} +``` + +The `notes` field contains the task instruction. + +### Robot Metadata Format + +Robot datasets use LeRobot's parquet format with `tasks.parquet` containing task instructions: + +```python +# Example: tasks.parquet content + task_index +Move the orange cup from left to right 0 +``` + +## Configuration + +We provide a single configuration file: `usc_koch_human_robot_paired.yaml` + +You control which data to process by specifying the dataset name: +- **`human`**: Process only human demonstrations (~72 videos) +- **`robot`**: Process only robot demonstrations (~100 episodes, top camera view) + +## Usage + +### Step 1: Download the Dataset + +```bash +cd /path/to/robometer +bash dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh +``` + +### Step 2: Convert to HuggingFace Format + +Run the conversion twice - once for human, once for robot: + +```bash +# Convert human demonstrations +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml \ + --dataset.dataset_name=usc_koch_human_robot_paired_human + +# Convert robot demonstrations +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml \ + --dataset.dataset_name=usc_koch_human_robot_paired_robot +``` + +### Local Testing (No Hub Push) + +```bash +# Test human with limited trajectories +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml \ + --dataset.dataset_name=usc_koch_human_robot_paired_human \ + --output.max_trajectories=10 \ + --hub.push_to_hub=false + +# Test robot with limited trajectories +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/usc_koch_human_robot_paired.yaml \ + --dataset.dataset_name=usc_koch_human_robot_paired_robot \ + --output.max_trajectories=10 \ + --hub.push_to_hub=false +``` + +## Output Format + +The generated datasets will have the following schema: + +- `id`: Unique trajectory identifier +- `task`: Task instruction text +- `lang_vector`: Language embedding of the task +- `data_source`: Dataset name +- `frames`: Path to video file +- `is_robot`: Boolean (False for human, True for robot) +- `quality_label`: Always "successful" for this dataset +- `preference_group_id`: None for this dataset +- `preference_rank`: None for this dataset + +## Dataset Statistics + +### Human Demonstrations +- **Total Videos**: 72 +- **Unique Tasks**: ~20 different manipulation tasks +- **Quality**: All successful +- **Format**: MP4 videos with JSON metadata + +### Robot Demonstrations +- **Total Datasets**: 10 tasks +- **Episodes per Task**: ~10 episodes +- **Total Episodes**: ~100 +- **Camera View**: Top (default) +- **Quality**: All successful +- **Format**: LeRobot parquet with pre-rendered MP4 videos + +### Task Pairing + +Not all human tasks have corresponding robot demonstrations. The loader handles this by: +- Processing all human videos independently +- Processing all robot episodes independently +- Task instructions may differ slightly between human and robot (e.g., "Move the orange cup from the left to the right" vs "Move the orange cup from left to right") + +## Technical Details + +### Human Video Processing + +- Videos are loaded using OpenCV +- Frames are extracted and converted to RGB numpy arrays +- Task instructions are read from JSON metadata (`notes` field) +- Videos are re-encoded to specified FPS and frame count + +### Robot Video Processing + +- Robot datasets are in LeRobot format +- Pre-rendered videos are loaded from `videos/observation.images.top/` directory (top camera view) +- Task instructions are read from `meta/tasks.parquet` +- Episode count is read from `meta/info.json` +- Videos are re-encoded to specified FPS and frame count + +### Parallel Processing + +- Supports configurable worker count for parallel processing +- Language embeddings are pre-computed before parallel execution +- Each episode is processed independently + +### Task Matching + +The loader includes string similarity matching functions for potential future use in pairing human and robot demonstrations: +- `_string_similarity()`: Calculates similarity between two strings (0-1) +- `_find_best_match()`: Finds the best matching string from options + +## Troubleshooting + +### Dataset Not Downloaded + +**Error**: `FileNotFoundError: Dataset directory not found` + +**Solution**: Run the download script first: +```bash +bash dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh +``` + +### Missing Human Recordings + +**Error**: `FileNotFoundError: Human recordings directory not found` + +**Solution**: +- Ensure the Google Drive download completed successfully +- Check that `recordings.zip` was extracted to `datasets/usc_koch_human_robot_paired/human/` + +### Missing Robot Datasets + +**Error**: `FileNotFoundError: Robot datasets directory not found` + +**Solution**: +- Ensure all robot datasets were downloaded from HuggingFace +- Check that datasets exist in `datasets/usc_koch_human_robot_paired/robot/` + +### Video File Not Found + +**Error**: Video file not found in robot dataset + +**Solution**: +- Verify the robot dataset was fully downloaded (including the `videos/` directory) +- Check the `info.json` for the correct number of episodes +- Ensure the `observation.images.top` view exists in the `videos/` directory + +### HuggingFace Download Issues + +**Error**: Unable to download from HuggingFace + +**Solution**: +- Ensure you have `huggingface-hub` installed +- Check your internet connection +- Try downloading manually: `hf download abraranwar/ --repo-type=dataset` + +### Google Drive Download Issues + +**Error**: `gdown` fails to download + +**Solution**: +- Ensure `gdown` is installed: `pip install gdown` +- Check your internet connection +- Try downloading manually from the Google Drive link in the script + +## Example Output Structure + +### Human Demonstrations +``` +robometer_dataset/usc_koch_human_robot_paired_human/ + usc_koch_human_robot_paired_human/ + shard_0000/ + episode_000000/ + human.mp4 + episode_000001/ + human.mp4 + ... +``` + +### Robot Demonstrations +``` +robometer_dataset/usc_koch_human_robot_paired_robot/ + usc_koch_human_robot_paired_robot/ + shard_0000/ + episode_000000/ + robot.mp4 + episode_000001/ + robot.mp4 + ... +``` + +## Notes + +- All demonstrations in this dataset are labeled as "successful" +- Human and robot demonstrations are processed independently (not explicitly paired) +- Task instructions may differ slightly between human and robot versions +- The loader handles missing correspondences gracefully +- Pre-rendered robot videos from LeRobot are used directly (not re-rendered from raw data) +- Robot demonstrations have consistent 30 FPS in the source data + diff --git a/robometer/dataset_upload/dataset_guides/USC_KOCH_P_RANKING.md b/robometer/dataset_upload/dataset_guides/USC_KOCH_P_RANKING.md new file mode 100644 index 0000000000000000000000000000000000000000..ce4778c6f0647f138be242314930eb0038bdad0b --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/USC_KOCH_P_RANKING.md @@ -0,0 +1,58 @@ +# USC Koch P-Ranking (Robot-Only) Dataset Guide + +This guide explains how to convert the USC Koch robot demonstrations into HuggingFace (HF) format for Robometer, **separated by quality**: + +- `success` +- `suboptimal` +- `failure` + +Robot demonstrations are stored in **LeRobot format** and decoded using Hugging Face LeRobot ([`huggingface/lerobot`](https://github.com/huggingface/lerobot)). + +## Quick Start + +### 1) Download the raw dataset if you haven't already (same as the USC Koch Human-Robot Paired dataset) + +```bash +bash dataset_upload/data_scripts/usc_koch_human_robot_paired/download_datasets.sh +``` + +This creates a folder layout like: + +``` +/ + robot/ + usc_koch_move_the_orange_cup_from_left_to_right/ # success + usc_koch_suboptimal_move_the_orange_cup_from_left_to_right/ # suboptimal + usc_koch_failure_move_the_orange_cup_from_left_to_right/ # failure + ... +``` + +Quality is inferred from the folder name: +- contains `suboptimal` → `quality_label="suboptimal"` +- contains `failure` → `quality_label="failure"` +- otherwise → `quality_label="success"` + +### 2) Convert to HF format (choose one label) + +```bash +# All qualities together (single dataset with a quality_label column) +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/usc_koch_p_ranking.yaml \ + --dataset.dataset_name=usc_koch_p_ranking_all \ + --hub.push_to_hub=false + +``` + +## Output Schema + +The dataset entries match the standard Robometer HF schema and include: + +- `id` +- `task` +- `lang_vector` +- `data_source` +- `frames` (relative path to the generated MP4) +- `is_robot` (always `True`) +- `quality_label` (`success` / `suboptimal` / `failure`) + + diff --git a/robometer/dataset_upload/dataset_guides/UTD_SO101_CLEAN_POLICY_RANKING.md b/robometer/dataset_upload/dataset_guides/UTD_SO101_CLEAN_POLICY_RANKING.md new file mode 100644 index 0000000000000000000000000000000000000000..f7defce5069d5871a7d22c096af9e36746fc489f --- /dev/null +++ b/robometer/dataset_upload/dataset_guides/UTD_SO101_CLEAN_POLICY_RANKING.md @@ -0,0 +1,265 @@ +# UTD SO101 Clean Policy Ranking Dataset Guide + +This guide explains how to integrate and use the UTD SO101 Clean Policy Ranking dataset with the Robometer pipeline. + +## Overview + +- UTD SO101 Clean Policy Ranking is a robotics dataset with quality-labeled trajectories for manipulation tasks +- The dataset contains pre-recorded GIF files with two camera views: **wrist** and **top** +- Quality labels include: **successful**, **suboptimal**, and **failure** +- Each episode includes task instructions from a VLA (Vision-Language-Action) model + +## Dataset Structure + +The dataset is organized as follows: + +``` +/ + ROBOMETER_UTD_UNCLUTTER_succ-20251223T020758Z-3-001/ + ROBOMETER_UTD_UNCLUTTER_succ/ + episode_0_top.gif + episode_0_wrist.gif + episode_1_top.gif + episode_1_wrist.gif + ... + vla_task.json + ROBOMETER_UTD_UNCLUTTER_closs_succ-20251223T020830Z-3-001/ + ROBOMETER_UTD_UNCLUTTER_closs_succ/ + episode_0_top.gif + episode_0_wrist.gif + ... + vla_task.json + ROBOMETER_UTD_UNCLUTTER_fail-20251223T020841Z-3-001/ + ROBOMETER_UTD_UNCLUTTER_fail/ + episode_0_top.gif + episode_0_wrist.gif + ... + vla_task.json +``` + +### Quality Label Mapping + +The loader automatically detects quality labels from folder names: +- Folders with `"succ"` (but not `"closs_succ"`) → **successful** +- Folders with `"closs_succ"` → **suboptimal** (close success) +- Folders with `"fail"` → **failure** + +### Task Instructions Format + +The `vla_task.json` file in each quality folder contains an array of task instructions: + +```json +[ + "Press the button.", + "Put the bread in the oven.", + "Put the marker into the pen cup.", + "Put the red bowl on the blue plate.", + "Put the pear in the yellow plate.", + "Collect the fork to the yellow box.", + "Stack the green block on the red block.", + "Add pepper to the green bowl.", + "Put the eraser to the blue pencil box.", + "Put the red cup on the purple coaster." +] +``` + +The array index corresponds to the episode number (e.g., index 0 → `episode_0_wrist.gif`). + +## Two Datasets: Wrist and Top Views + +Since each episode has two camera views, we create **two separate datasets**: + +1. **utd_so101_clean_policy_ranking_wrist**: Uses wrist camera view +2. **utd_so101_clean_policy_ranking_top**: Uses top-down camera view + +Each dataset is processed and uploaded independently. + +## Configuration Files + +### Wrist View Configuration +File: `dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_wrist.yaml` + +```yaml +dataset: + dataset_path: ~/projects/robometer/datasets/utd_prank + dataset_name: utd_so101_clean_policy_ranking_wrist + +output: + output_dir: ./robometer_dataset/utd_so101_clean_policy_ranking_wrist + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: utd_so101_clean_policy_ranking_wrist +``` + +### Top View Configuration +File: `dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_top.yaml` + +```yaml +dataset: + dataset_path: ~/projects/robometer/datasets/utd_prank + dataset_name: utd_so101_clean_policy_ranking_top + +output: + output_dir: ./robometer_dataset/utd_so101_clean_policy_ranking_top + max_trajectories: -1 + max_frames: 64 + use_video: true + fps: 10 + shortest_edge_size: 240 + center_crop: false + num_workers: 4 + +hub: + push_to_hub: true + hub_repo_id: utd_so101_clean_policy_ranking_top +``` + +## Usage + +### Convert Wrist View Dataset + +```bash +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_wrist.yaml +``` + +### Convert Top View Dataset + +```bash +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_top.yaml +``` + +### Local Testing (No Hub Push) + +```bash +# Test with wrist view +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_wrist.yaml \ + --output.max_trajectories=5 \ + --hub.push_to_hub=false + +# Test with top view +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_top.yaml \ + --output.max_trajectories=5 \ + --hub.push_to_hub=false +``` + +### Process Both Views Sequentially + +```bash +# Process wrist view +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_wrist.yaml + +# Process top view +uv run python -m dataset_upload.generate_hf_dataset \ + --config_path=dataset_upload/configs/data_gen_configs/utd_so101_clean_policy_ranking_top.yaml +``` + +## Output Format + +The generated datasets will have the following schema: + +- `id`: Unique trajectory identifier +- `task`: Task instruction text (from vla_task.json) +- `lang_vector`: Language embedding of the task +- `data_source`: Dataset name (includes view type) +- `frames`: Path to video file (converted from GIF) +- `is_robot`: Boolean (True for this dataset) +- `quality_label`: One of "successful", "suboptimal", "failure" +- `preference_group_id`: None for this dataset +- `preference_rank`: None for this dataset + +## Dataset Statistics + +Based on the directory structure: +- **Quality Labels**: successful (~10 episodes), suboptimal (~10 episodes), failure (~10 episodes) +- **Camera Views**: 2 (wrist, top) +- **Total Episodes per View**: ~30 +- **Total Tasks**: 10 unique manipulation tasks +- **Format**: GIF files (converted to MP4 for storage) + +## Technical Details + +### GIF to Video Conversion + +- The loader reads GIF files using PIL (Python Imaging Library) +- Frames are extracted and converted to RGB numpy arrays +- Videos are re-encoded as MP4 with specified FPS and frame count +- Original quality is preserved during conversion + +### Parallel Processing + +- Supports configurable worker count for parallel processing +- Language embeddings are pre-computed before parallel execution +- Each episode is processed independently + +### Episode Indexing + +- Episodes are given global indices across all quality labels +- Indices are sequential (0, 1, 2, ...) regardless of quality label +- Each view maintains its own set of indices + +## Troubleshooting + +### GIF File Not Found +- Ensure the dataset path points to the parent directory containing the quality-labeled subdirectories +- Check that GIF files exist for the specified view (wrist or top) + +### Missing vla_task.json +- Each quality folder must contain a `vla_task.json` file +- The JSON file should be an array of task instructions + +### PIL/Pillow Issues +- If you encounter GIF loading issues, ensure Pillow is properly installed +- Try: `pip install Pillow` or `uv pip install Pillow` + +### Instruction Mismatch +- If an episode number is higher than the number of instructions in `vla_task.json`, that episode will be skipped +- Check the console output for warnings about missing instructions + +## Example Output Structure + +After processing, you'll have directory structures like: + +### Wrist View +``` +robometer_dataset/utd_so101_clean_policy_ranking_wrist/ + utd_so101_clean_policy_ranking_wrist/ + shard_0000/ + episode_000000/ + wrist.mp4 + episode_000001/ + wrist.mp4 + ... +``` + +### Top View +``` +robometer_dataset/utd_so101_clean_policy_ranking_top/ + utd_so101_clean_policy_ranking_top/ + shard_0000/ + episode_000000/ + top.mp4 + episode_000001/ + top.mp4 + ... +``` + +## Notes + +- The two datasets (wrist and top) are completely independent and can be processed/uploaded separately +- Quality labels are automatically detected from folder names +- All episodes from all quality levels are combined into a single dataset per view +- Language embeddings are cached to avoid redundant computation across quality labels + diff --git a/robometer/dataset_upload/dataset_helpers/generate_soar_labels_vlm.py b/robometer/dataset_upload/dataset_helpers/generate_soar_labels_vlm.py new file mode 100644 index 0000000000000000000000000000000000000000..91381120543a6cd995991d908b5986753e04bf84 --- /dev/null +++ b/robometer/dataset_upload/dataset_helpers/generate_soar_labels_vlm.py @@ -0,0 +1,619 @@ +#!/usr/bin/env python3 +""" +Standalone script to generate success/fail labels for SOAR dataset using Qwen3-VL. + +This script uses STREAMING to process episodes one at a time without loading +the entire dataset into memory. Features: + +1. Streams SOAR dataset from TFDS format (memory-efficient) +2. Extracts video frames for each episode +3. Uses Qwen3-VL to classify each episode as success or failure +4. Saves results to a JSON file with periodic checkpoints +5. Supports resuming from checkpoints if interrupted + +Requirements: + pip install transformers torch torchvision pillow tqdm tensorflow-datasets qwen-vl-utils + +Usage: + # Basic usage + python generate_soar_labels_vlm.py --dataset_path /path/to/soar/rlds --output labels.json + + # With checkpointing every 25 episodes + python generate_soar_labels_vlm.py --dataset_path /path/to/soar/rlds --output labels.json --checkpoint_interval 25 + + # Resume from checkpoint + python generate_soar_labels_vlm.py --dataset_path /path/to/soar/rlds --output labels.json --resume_from labels_checkpoint.json +""" + +# CRITICAL: Configure TensorFlow for CPU-only BEFORE any imports +# This prevents TensorFlow from allocating GPU memory +import os + +os.environ["TF_FORCE_GPU_ALLOW_GROWTH"] = "false" +os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" # Suppress TF warnings + +import argparse +import gc +import json +from pathlib import Path +from typing import Any + +# Import TensorFlow FIRST and configure for CPU only +try: + import tensorflow as tf + + # Force TensorFlow to use CPU only - do this BEFORE other imports + tf.config.set_visible_devices([], "GPU") + physical_devices = tf.config.list_physical_devices("GPU") + print(f"TensorFlow configured for CPU-only mode (found {len(physical_devices)} GPUs but not using them)") + + import tensorflow_datasets as tfds +except ImportError: + print("Error: tensorflow_datasets is required. Install with: pip install tensorflow-datasets") + exit(1) + +# NOW import PyTorch and other libraries (TensorFlow won't interfere) +import numpy as np +import torch +from PIL import Image +from qwen_vl_utils import process_vision_info +from tqdm import tqdm +from transformers import AutoModelForVision2Seq, AutoProcessor + +# Verify PyTorch can see GPUs +if torch.cuda.is_available(): + print(f"PyTorch can access {torch.cuda.device_count()} GPU(s): {torch.cuda.get_device_name(0)}") +else: + print("PyTorch will use CPU (no CUDA available)") + + +def sample_frames(frames: list[np.ndarray], num_samples: int = 8) -> list[np.ndarray]: + """Sample evenly spaced frames from a video sequence.""" + if len(frames) <= num_samples: + return frames + + indices = np.linspace(0, len(frames) - 1, num_samples, dtype=int) + return [frames[i] for i in indices] + + +def frames_to_pil_images(frames: list[np.ndarray]) -> list[Image.Image]: + """Convert numpy frames to PIL Images.""" + pil_images = [] + for frame in frames: + if frame.ndim == 2: + # Grayscale + frame = np.repeat(frame[:, :, np.newaxis], 3, axis=-1) + elif frame.shape[-1] == 1: + # Single channel + frame = np.repeat(frame, 3, axis=-1) + elif frame.shape[-1] == 4: + # RGBA -> RGB + frame = frame[..., :3] + + # Ensure uint8 + if frame.dtype != np.uint8: + if frame.max() <= 1.0: + frame = (frame * 255).astype(np.uint8) + else: + frame = frame.astype(np.uint8) + + pil_images.append(Image.fromarray(frame)) + + return pil_images + + +def extract_episode_frames(episode_steps: list[dict], img_key: str = "image_0") -> list[np.ndarray]: + """Extract frames from episode steps.""" + frames = [] + for step in episode_steps: + obs = step.get("observation", {}) if isinstance(step, dict) else {} + if img_key not in obs: + continue + + frame = obs[img_key] + if isinstance(frame, np.ndarray): + if frame.ndim == 3 and frame.shape[-1] in (1, 3, 4): + frames.append(frame) + + return frames + + +def get_task_instruction(episode_steps: list[dict]) -> str | None: + """Extract language instruction from episode.""" + if not episode_steps: + return None + + first_step = episode_steps[0] + if "language_instruction" in first_step: + val = first_step["language_instruction"] + return val.decode() if isinstance(val, (bytes, bytearray)) else str(val) + + return None + + +class Qwen3VLClassifier: + """Wrapper for Qwen3-VL model to classify robot task success/failure.""" + + def __init__(self, model_name: str = "Qwen/Qwen3-VL-8B-Instruct", device: str = "auto", verbose: bool = False): + """ + Initialize the Qwen3-VL model. + + Args: + model_name: HuggingFace model name. Options: + - "Qwen/Qwen3-VL-2B-Instruct" (smaller, faster) + - "Qwen/Qwen3-VL-8B-Instruct" (default) + - "Qwen/Qwen3-VL-32B-Instruct" (largest, most accurate) + device: Device to run on ("cuda", "cpu", or "auto") + verbose: Print debug information including raw model responses + """ + print(f"Loading Qwen3-VL model: {model_name}") + self.verbose = verbose + + self.model = AutoModelForVision2Seq.from_pretrained( + model_name, + dtype="auto", + device_map=device, + # attn_implementation="flash_attention_2", + ) + + self.processor = AutoProcessor.from_pretrained(model_name) + + # Minimum and maximum pixel values for preprocessing + self.min_pixels = 256 * 28 * 28 + self.max_pixels = 1280 * 28 * 28 + + print(f"Model loaded on device: {self.model.device}") + + def classify_episode(self, frames: list[Image.Image], task_instruction: str, num_frames: int = 8) -> dict[str, Any]: + """ + Classify whether a robot task was successful or failed. + + Args: + frames: List of PIL Images from the episode + task_instruction: Natural language description of the task + num_frames: Number of frames to sample from the video + + Returns: + Dictionary with: + - prediction: "success" or "failure" + - confidence: float between 0 and 1 + - reasoning: explanation from the model + """ + # Sample frames if there are too many + if len(frames) > num_frames: + indices = np.linspace(0, len(frames) - 1, num_frames, dtype=int) + sampled_frames = [frames[i] for i in indices] + else: + sampled_frames = frames + + # Create prompt - simplified for better compliance + prompt = f"""Analyze this robot manipulation task video. + +Task: {task_instruction} + +Watch the video and answer: +1. Context: What happened in the video? Explain how the motion change from the first frame to last frame demonstrates the robot solving the task specified by the isntruction or not. +2. Decision: Did the robot succeed or fail? +3. Confidence: How confident are you (0.0 to 1.0)? + +Format your response EXACTLY as: +Context: Your explanation of the video and the decision. +Decision: SUCCESS or FAILURE +Confidence: 0.X""" + + # Prepare the message with video frames + messages = [ + { + "role": "user", + "content": [ + {"type": "video", "video": sampled_frames}, + {"type": "text", "text": prompt}, + ], + } + ] + + # Prepare inputs + text = self.processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) + + image_inputs, video_inputs, video_kwargs = process_vision_info( + messages, return_video_kwargs=True, return_video_metadata=True + ) + + # split the videos and according metadatas + if video_inputs is not None: + videos, video_metadatas = zip(*video_inputs) + videos, video_metadatas = list(videos), list(video_metadatas) + else: + video_metadatas = None + inputs = self.processor( + text=[text], + images=image_inputs, + videos=videos, + video_metadata=video_metadatas, + padding=True, + return_tensors="pt", + **video_kwargs, + ) + + # Move inputs to device + inputs = inputs.to(self.model.device) + + # Generate response + with torch.no_grad(): + generated_ids = self.model.generate( + **inputs, + max_new_tokens=256, + do_sample=False, # Use greedy decoding for consistency + ) + + # Trim input tokens + generated_ids_trimmed = [out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)] + + response = self.processor.batch_decode( + generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False + )[0] + + # Parse response + return self._parse_response(response) + + def _parse_response(self, response: str) -> dict[str, Any]: + """Parse the model's response into structured output.""" + if self.verbose: + print(f"\n[DEBUG] Raw model response:\n{response}\n") + + lines = response.strip().split("\n") + + prediction = "unknown" + confidence = 0.5 + reasoning = response # Default to full response if parsing fails + + for line in lines: + line_lower = line.lower().strip() + + if line_lower.startswith("decision:"): + parts = line_lower.split("decision:", 1) + if len(parts) > 1: + decision_text = parts[1].strip() + if "success" in decision_text: + prediction = "success" + elif "failure" in decision_text or "fail" in decision_text: + prediction = "failure" + + elif line_lower.startswith("confidence:"): + parts = line_lower.split("confidence:", 1) + if len(parts) > 1: + conf_text = parts[1].strip() + try: + # Extract number from text + conf_num = "".join(c for c in conf_text if c.isdigit() or c == ".") + if conf_num: + confidence = float(conf_num) + if confidence > 1.0: + confidence = confidence / 100.0 # Handle percentage + except (ValueError, IndexError): + confidence = 0.5 + + elif line_lower.startswith("reasoning:"): + parts = line.split("reasoning:", 1) + if len(parts) > 1: + reasoning = parts[1].strip() + + # Fallback: if no structured response, try to infer from content + if prediction == "unknown": + if self.verbose: + print("[DEBUG] Failed to parse structured response, using fallback inference") + response_lower = response.lower() + if "success" in response_lower and "fail" not in response_lower: + prediction = "success" + confidence = 0.6 + elif "fail" in response_lower or "failure" in response_lower: + prediction = "failure" + confidence = 0.6 + else: + if self.verbose: + print(f"[DEBUG] Could not determine prediction from response") + + if self.verbose: + print(f"[DEBUG] Parsed: prediction={prediction}, confidence={confidence}\n") + + return { + "prediction": prediction, + "confidence": confidence, + "reasoning": reasoning, + "raw_response": response, + } + + +def get_dataset_splits(dataset_path: str) -> dict[str, Any]: + """ + Get TFDS dataset splits without loading episodes into memory. + + Returns: + Dictionary mapping split names to TFDS datasets (iterators) + """ + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"Dataset path not found: {dataset_path}") + + builder = tfds.builder_from_directory(root) + + dataset_dict = {} + split_name = "success" + # Get episode count without loading all episodes + try: + ds = builder.as_dataset(split=split_name, shuffle_files=False) + dataset_dict[split_name] = ds + + # Get episode count without loading all episodes + try: + info = builder.info.splits[split_name] + num_episodes = info.num_examples + print(f"Found {num_episodes} episodes in '{split_name}' split") + except: + print(f"Found '{split_name}' split (episode count unknown)") + except Exception as e: + print(f"Warning: Could not load '{split_name}' split: {e}") + dataset_dict[split_name] = None + + return dataset_dict, builder + + +def main(): + parser = argparse.ArgumentParser(description="Generate success/fail labels for SOAR dataset using Qwen2-VL") + parser.add_argument( + "--dataset_path", + type=str, + required=True, + help="Path to SOAR TFDS dataset directory (e.g., /path/to/soar/rlds)", + ) + parser.add_argument( + "--output", + type=str, + default="soar_vlm_labels.json", + help="Output JSON file path (default: soar_vlm_labels.json)", + ) + parser.add_argument( + "--model", + type=str, + default="Qwen/Qwen3-VL-8B-Instruct-FP8", + choices=[ + "Qwen/Qwen3-VL-4B-Instruct-FP8", + "Qwen/Qwen3-VL-8B-Instruct-FP8", + "Qwen/Qwen3-VL-32B-Instruct-FP8", + ], + help="Qwen3-VL model to use (default: 8B-FP8)", + ) + parser.add_argument( + "--num_frames", + type=int, + default=8, + help="Number of frames to sample from each video (default: 8)", + ) + parser.add_argument( + "--device", + type=str, + default="auto", + help="Device to run on: 'cuda', 'cpu', or 'auto' (default: auto)", + ) + parser.add_argument( + "--max_episodes", + type=int, + default=None, + help="Maximum number of episodes to process per split (default: all)", + ) + parser.add_argument( + "--checkpoint_interval", + type=int, + default=50, + help="Save checkpoint every N episodes (default: 50, 0 to disable)", + ) + parser.add_argument( + "--resume_from", + type=str, + default=None, + help="Resume from checkpoint file (JSON with previous results)", + ) + parser.add_argument( + "--verbose", + action="store_true", + help="Print debug information including raw model responses", + ) + + args = parser.parse_args() + + # Load existing results if resuming + results = [] + processed_episodes = set() + start_episode_id = 0 + + if args.resume_from and os.path.exists(args.resume_from): + print(f"\nResuming from checkpoint: {args.resume_from}") + with open(args.resume_from, "r") as f: + checkpoint_data = json.load(f) + results = checkpoint_data.get("results", []) + # Track which episodes we've already processed + for r in results: + processed_episodes.add((r["split_name"], r["episode_index"])) + start_episode_id = len(results) + print(f"Loaded {len(results)} previously processed episodes") + + # Get dataset splits (streaming, no loading into memory) + print(f"\nAccessing SOAR dataset from: {args.dataset_path}") + dataset_dict, builder = get_dataset_splits(args.dataset_path) + + if all(ds is None for ds in dataset_dict.values()): + print("Error: No splits found in dataset!") + return + + # Initialize classifier + classifier = Qwen3VLClassifier(model_name=args.model, device=args.device, verbose=args.verbose) + + # Process episodes in streaming fashion + episode_id = start_episode_id + + def save_checkpoint(output_path: str, results: list, metadata: dict): + """Save intermediate checkpoint.""" + checkpoint_data = { + "metadata": metadata, + "results": results, + } + checkpoint_path = output_path.replace(".json", "_checkpoint.json") + with open(checkpoint_path, "w") as f: + json.dump(checkpoint_data, f, indent=2) + print(f" [Checkpoint saved: {len(results)} episodes]") + + for split_name, dataset in dataset_dict.items(): + if dataset is None: + continue + + print(f"\nProcessing '{split_name}' split...") + + ep_count = 0 + agreements = 0 # Track agreements in this split + + # Create tqdm with postfix for live stats + pbar = tqdm(dataset, desc=split_name) + for ep_idx, episode in enumerate(pbar): + # Check if we've already processed this episode + if (split_name, ep_idx) in processed_episodes: + continue + + # Check max episodes limit + if args.max_episodes and ep_count >= args.max_episodes: + break + + try: + # Convert episode to numpy (streaming, only this episode in memory) + steps_np = list(tfds.as_numpy(episode["steps"])) + except Exception as e: + print(f"\nWarning: Failed to load episode {ep_idx} in {split_name}: {e}") + continue + + # Extract frames + frames = extract_episode_frames(steps_np) + if not frames: + print(f"\nWarning: No frames found for episode {ep_idx} in {split_name}") + continue + + # Get task instruction + task = get_task_instruction(steps_np) + if not task: + print(f"\nWarning: No task instruction for episode {ep_idx} in {split_name}") + task = "Complete the manipulation task" + + # Convert to PIL images + pil_frames = frames_to_pil_images(frames) + + # Classify with VLM + try: + classification = classifier.classify_episode(pil_frames, task, num_frames=args.num_frames) + + # Store result + original_label = "success" if split_name == "success" else "failure" + predicted_label = classification["prediction"] + + result = { + "episode_id": episode_id, + "split_name": split_name, + "episode_index": ep_idx, + "task": task, + "num_frames": len(frames), + "predicted_label": predicted_label, + "confidence": classification["confidence"], + "reasoning": classification["reasoning"], + "original_label": original_label, + } + + results.append(result) + episode_id += 1 + ep_count += 1 + + # Track agreement + if predicted_label == original_label: + agreements += 1 + + # Update progress bar with live stats + agreement_pct = (agreements / ep_count * 100) if ep_count > 0 else 0 + avg_conf = sum(r["confidence"] for r in results[-ep_count:]) / ep_count if ep_count > 0 else 0 + pbar.set_postfix({"agree": f"{agreement_pct:.1f}%", "conf": f"{avg_conf:.2f}"}) + + # Save checkpoint periodically + if args.checkpoint_interval > 0 and episode_id % args.checkpoint_interval == 0: + save_checkpoint( + args.output, + results, + { + "dataset_path": args.dataset_path, + "model": args.model, + "num_frames": args.num_frames, + "total_episodes": len(results), + "checkpoint": True, + }, + ) + + except Exception as e: + print(f"\nError processing episode {ep_idx} in {split_name}: {e}") + import traceback + + traceback.print_exc() + continue + + # Aggressively free memory after each episode + del frames + del pil_frames + del steps_np + gc.collect() + if torch.cuda.is_available(): + torch.cuda.empty_cache() + + # Close progress bar for this split + pbar.close() + + # Save results + print(f"\n\nSaving {len(results)} results to {args.output}") + + output_data = { + "metadata": { + "dataset_path": args.dataset_path, + "model": args.model, + "num_frames": args.num_frames, + "total_episodes": len(results), + }, + "results": results, + } + + with open(args.output, "w") as f: + json.dump(output_data, f, indent=2) + + # Print summary statistics + print("\n" + "=" * 60) + print("SUMMARY") + print("=" * 60) + + if results: + correct = sum(1 for r in results if r["predicted_label"] == r["original_label"]) + total = len(results) + accuracy = correct / total * 100 + + print(f"Total episodes processed: {total}") + print(f"Agreement with original labels: {correct}/{total} ({accuracy:.1f}%)") + + avg_confidence = sum(r["confidence"] for r in results) / total + print(f"Average confidence: {avg_confidence:.3f}") + + # Per-split breakdown + for split_name in ["success", "failure"]: + split_results = [r for r in results if r["split_name"] == split_name] + if split_results: + split_correct = sum(1 for r in split_results if r["predicted_label"] == r["original_label"]) + split_total = len(split_results) + split_acc = split_correct / split_total * 100 + print(f"\n {split_name.capitalize()} split:") + print(f" Agreement: {split_correct}/{split_total} ({split_acc:.1f}%)") + + print("\n" + "=" * 60) + print(f"Results saved to: {args.output}") + + +if __name__ == "__main__": + main() diff --git a/robometer/dataset_upload/dataset_helpers/oxe_helper.py b/robometer/dataset_upload/dataset_helpers/oxe_helper.py new file mode 100755 index 0000000000000000000000000000000000000000..9de37c4d735ef7f6541510ab324ac455a3fe5131 --- /dev/null +++ b/robometer/dataset_upload/dataset_helpers/oxe_helper.py @@ -0,0 +1,815 @@ +""" +Taken from: https://github.com/jesbu1/openvla/blob/main/prismatic/vla/datasets/rlds/oxe/configs.py +configs.py + +Modified some configs to get rid of bad image obs keys and add bridge_V2 and such. + +Defines per-dataset configuration (kwargs) for each dataset in Open-X Embodiment. + +Configuration adopts the following structure: + image_obs_keys: + primary: primary external RGB + secondary: secondary external RGB + wrist: wrist RGB + + depth_obs_keys: + primary: primary external depth + secondary: secondary external depth + wrist: wrist depth + + # Always 8-dim =>> changes based on `StateEncoding` + state_obs_keys: + StateEncoding.POS_EULER: EEF XYZ (3) + Roll-Pitch-Yaw (3) + (1) + Gripper Open/Close (1) + StateEncoding.POS_QUAT: EEF XYZ (3) + Quaternion (4) + Gripper Open/Close (1) + StateEncoding.JOINT: Joint Angles (7, if fewer) + Gripper Open/Close (1) + + state_encoding: Type of `StateEncoding` + action_encoding: Type of action encoding (e.g., EEF Position vs. Joint Position) +""" + +from enum import IntEnum + +# commented out for now as we don't have this +# from prismatic.vla.datasets.rlds.oxe.utils.droid_utils import zero_action_filter + + +# Defines Proprioceptive State Encoding Schemes +class StateEncoding(IntEnum): + # fmt: off + NONE = -1 # No Proprioceptive State + POS_EULER = 1 # EEF XYZ (3) + Roll-Pitch-Yaw (3) + (1) + Gripper Open/Close (1) + POS_QUAT = 2 # EEF XYZ (3) + Quaternion (4) + Gripper Open/Close (1) + JOINT = 3 # Joint Angles (7, if fewer) + Gripper Open/Close (1) + JOINT_BIMANUAL = 4 # Joint Angles (2 x [ Joint Angles (6) + Gripper Open/Close (1) ]) + # fmt: on + + +# Defines Action Encoding Schemes +class ActionEncoding(IntEnum): + # fmt: off + EEF_POS = 1 # EEF Delta XYZ (3) + Roll-Pitch-Yaw (3) + Gripper Open/Close (1) + JOINT_POS = 2 # Joint Delta Position (7) + Gripper Open/Close (1) + JOINT_POS_BIMANUAL = 3 # Joint Delta Position (2 x [ Joint Delta Position (6) + Gripper Open/Close (1) ]) + EEF_R6 = 4 # EEF Delta XYZ (3) + R6 (6) + Gripper Open/Close (1) + # fmt: on + + +# === Individual Dataset Configs === +OXE_DATASET_CONFIGS = { + "rl_bench_v1": { # + "image_obs_keys": {"primary": "image", "secondary": "image_1", "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": [None, None, None, None, None, None, None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "fractal20220817_data": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["base_pose_tool_reached", "gripper_closed"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "kuka": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": [ + "clip_function_input/base_pose_tool_reached", + "gripper_closed", + ], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "bridge": { # Version of Bridge V2 in Open X-Embodiment mixture + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": None, + }, # no secondary for now + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "bridge_oxe": { # Version of Bridge V2 in Open X-Embodiment mixture + "image_obs_keys": {"primary": "image", "secondary": "image_1", "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "bridge_v2": { # Version of Bridge V2 I downloaded + "image_obs_keys": { + "primary": "image_0", + "secondary": "image_1", + "tertiary": "image_2", + "wrist": None, + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "bridge_orig": { # Original version of Bridge V2 from project website + "image_obs_keys": {"primary": "image_0", "secondary": "image_1", "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "bridge_dataset": { # Original version of Bridge V2 from project website + "image_obs_keys": {"primary": "image_0", "secondary": "image_1", "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "taco_play": { + "image_obs_keys": { + "primary": "rgb_static", + "secondary": None, + "wrist": "rgb_gripper", + }, + "depth_obs_keys": { + "primary": "depth_static", + "secondary": None, + "wrist": "depth_gripper", + }, + "state_obs_keys": ["state_eef", None, "state_gripper"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "jaco_play": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "image_wrist", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state_eef", None, "state_gripper"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "berkeley_cable_routing": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist45_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["robot_state", None], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "roboturk": { + "image_obs_keys": {"primary": "front_rgb", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": [None, None, None, None, None, None, None, None], + "state_encoding": StateEncoding.NONE, + "action_encoding": ActionEncoding.EEF_POS, + }, + "nyu_door_opening_surprising_effectiveness": { + "image_obs_keys": {"primary": None, "secondary": None, "wrist": "image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": [None, None, None, None, None, None, None, None], + "state_encoding": StateEncoding.NONE, + "action_encoding": ActionEncoding.EEF_POS, + }, + "viola": { + "image_obs_keys": { + "primary": "agentview_rgb", + "secondary": None, + "wrist": "eye_in_hand_rgb", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["joint_states", "gripper_states"], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "berkeley_autolab_ur5": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "hand_image", + }, + "depth_obs_keys": {"primary": "depth", "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "toto": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "language_table": { + "image_obs_keys": {"primary": "rgb", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["effector_translation", None, None, None, None, None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "columbia_cairlab_pusht_real": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["robot_state", None, None, None, None, None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "stanford_kuka_multimodal_dataset_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": "depth_image", "secondary": None, "wrist": None}, + "state_obs_keys": ["ee_position", "ee_orientation", None], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "nyu_rot_dataset_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "stanford_hydra_dataset_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "austin_buds_dataset_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "nyu_franka_play_dataset_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": "image_additional_view", + "wrist": None, + }, + "depth_obs_keys": { + "primary": "depth", + "secondary": "depth_additional_view", + "wrist": None, + }, + "state_obs_keys": ["eef_state", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "maniskill_dataset_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": { + "primary": "depth", + "secondary": None, + "wrist": "wrist_depth", + }, + "state_obs_keys": ["tcp_pose", "gripper_state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "furniture_bench_dataset_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "cmu_franka_exploration_dataset_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "highres_image", + "secondary": None, + "wrist": None, + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": [None, None, None, None, None, None, None, None], + "state_encoding": StateEncoding.NONE, + "action_encoding": ActionEncoding.EEF_POS, + }, + "ucsd_kitchen_dataset_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["joint_state", None], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "ucsd_pick_and_place_dataset_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "austin_sailor_dataset_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "austin_sirius_dataset_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "bc_z": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": [ + "present/xyz", + "present/axis_angle", + None, + "present/sensed_close", + ], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "utokyo_pr2_opening_fridge_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "utokyo_pr2_tabletop_manipulation_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "utokyo_xarm_pick_and_place_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": "image2", + "wrist": "hand_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["end_effector_pose", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "utokyo_xarm_bimanual_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["pose_r", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "robo_net": { + "image_obs_keys": {"primary": "image", "secondary": "image1", "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "berkeley_mvp_converted_externally_to_rlds": { + "image_obs_keys": {"primary": None, "secondary": None, "wrist": "hand_image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["pose", "gripper"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.JOINT_POS, + }, + "berkeley_rpt_converted_externally_to_rlds": { + "image_obs_keys": {"primary": None, "secondary": None, "wrist": "hand_image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["joint_pos", "gripper"], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.JOINT_POS, + }, + "kaist_nonprehensile_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "stanford_mask_vit_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "tokyo_u_lsmo_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "dlr_sara_pour_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "dlr_sara_grid_clamp_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "dlr_edan_shared_control_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "asu_table_top_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "stanford_robocook_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image_1", "secondary": "image_2", "wrist": None}, + "depth_obs_keys": {"primary": "depth_1", "secondary": "depth_2", "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "imperialcollege_sawyer_wrist_cam": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": [None, None, None, None, None, None, None, "state"], + "state_encoding": StateEncoding.NONE, + "action_encoding": ActionEncoding.EEF_POS, + }, + "iamlab_cmu_pickup_insert_converted_externally_to_rlds": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["joint_state", "gripper_state"], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "uiuc_d3field": { + "image_obs_keys": {"primary": "image_1", "secondary": "image_2", "wrist": None}, + "depth_obs_keys": {"primary": "depth_1", "secondary": "depth_2", "wrist": None}, + "state_obs_keys": [None, None, None, None, None, None, None, None], + "state_encoding": StateEncoding.NONE, + "action_encoding": ActionEncoding.EEF_POS, + }, + "utaustin_mutex": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "berkeley_fanuc_manipulation": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["joint_state", None, "gripper_state"], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "cmu_playing_with_food": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "finger_vision_1", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "cmu_play_fusion": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.EEF_POS, + }, + "cmu_stretch": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["eef_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "berkeley_gnm_recon": { + "image_obs_keys": {"primary": None, "secondary": None, "wrist": "image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "berkeley_gnm_cory_hall": { + "image_obs_keys": {"primary": None, "secondary": None, "wrist": "image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "berkeley_gnm_sac_son": { + "image_obs_keys": {"primary": None, "secondary": None, "wrist": "image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state", None, None], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "droid": { + "image_obs_keys": { + "primary": "exterior_image_1_left", + "secondary": "exterior_image_2_left", + "wrist": "wrist_image_left", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["proprio"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.EEF_POS, + "aux_kwargs": { + "dataset_frame_transform_kwargs": { + # "chunk_filter_fn": zero_action_filter, + }, + }, + }, + "fmb": { + "image_obs_keys": { + "primary": "image_side_1", + "secondary": "image_side_2", + "wrist": "image_wrist_1", + }, + "depth_obs_keys": { + "primary": "image_side_1_depth", + "secondary": "image_side_2_depth", + "wrist": "image_wrist_1_depth", + }, + "state_obs_keys": ["proprio"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "dobbe": { + "image_obs_keys": {"primary": "wrist_image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["proprio"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "roboset": { + "image_obs_keys": { + "primary": "image_left", + "secondary": "image_right", + "wrist": "image_wrist", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["proprio"], + "state_encoding": StateEncoding.JOINT, + "action_encoding": ActionEncoding.JOINT_POS, + }, + "rh20t": { + "image_obs_keys": { + "primary": "image_front", + "secondary": "image_side_right", + "wrist": "image_wrist", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["proprio"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + ### T-DROID datasets + "tdroid_carrot_in_bowl": { # "put carrot in bowl" task, 50 demos @ 5 Hz control + "image_obs_keys": {"primary": "static_image", "secondary": None, "wrist": None}, + "depth_obs_keys": { + "primary": "static_depth_image", + "secondary": None, + "wrist": None, + }, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "tdroid_pour_corn_in_pot": { # "pour corn from red bowl into steel pot" task, 50 demos @ 5 Hz control + "image_obs_keys": {"primary": "static_image", "secondary": None, "wrist": None}, + "depth_obs_keys": { + "primary": "static_depth_image", + "secondary": None, + "wrist": None, + }, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "tdroid_flip_pot_upright": { # "flip pot upright" task, 10 demos @ 5 Hz control + "image_obs_keys": {"primary": "static_image", "secondary": None, "wrist": None}, + "depth_obs_keys": { + "primary": "static_depth_image", + "secondary": None, + "wrist": None, + }, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "tdroid_move_object_onto_plate": { # "move onto plate" task, 150 demos @ 5 Hz control + "image_obs_keys": {"primary": "static_image", "secondary": None, "wrist": None}, + "depth_obs_keys": { + "primary": "static_depth_image", + "secondary": None, + "wrist": None, + }, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "tdroid_knock_object_over": { # "knock over" task, 70 demos @ 5 Hz control + "image_obs_keys": {"primary": "static_image", "secondary": None, "wrist": None}, + "depth_obs_keys": { + "primary": "static_depth_image", + "secondary": None, + "wrist": None, + }, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "tdroid_cover_object_with_towel": { # "cover with towel" task, 45 demos @ 5 Hz control + "image_obs_keys": {"primary": "static_image", "secondary": None, "wrist": None}, + "depth_obs_keys": { + "primary": "static_depth_image", + "secondary": None, + "wrist": None, + }, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + ### DROID Finetuning datasets + "droid_wipe": { + "image_obs_keys": { + "primary": "exterior_image_2_left", + "secondary": None, + "wrist": "wrist_image_left", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["proprio"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + ### LIBERO datasets (modified versions) + "libero_spatial_no_noops": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "libero_object_no_noops": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "libero_goal_no_noops": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "libero_10_no_noops": { + "image_obs_keys": { + "primary": "image", + "secondary": None, + "wrist": "wrist_image", + }, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["EEF_state", None, "gripper_state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + ### New datasets. Only image keys are somewhat correct, ignore rest + "robo_set": { + "image_obs_keys": {"primary": "image_right", "secondary": "image_left", "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "aloha_mobile": { + "image_obs_keys": {"primary": "cam_high", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "tidybot": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "imperialcollege_sawyer_wrist_cam": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": "wrist_image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "kaist_nonprehensile_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_EULER, + "action_encoding": ActionEncoding.EEF_POS, + }, + "berkeley_mvp_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "hand_image", "secondary": None, "wrist": "hand_image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.JOINT_POS, + }, + "berkeley_rpt_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "hand_image", "secondary": None, "wrist": "hand_image"}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.JOINT_POS, + }, + "nyu_rot_dataset_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.JOINT_POS, + }, + "tokyo_u_lsmo_converted_externally_to_rlds": { + "image_obs_keys": {"primary": "image", "secondary": None, "wrist": None}, + "depth_obs_keys": {"primary": None, "secondary": None, "wrist": None}, + "state_obs_keys": ["state"], + "state_encoding": StateEncoding.POS_QUAT, + "action_encoding": ActionEncoding.JOINT_POS, + }, +} diff --git a/robometer/dataset_upload/dataset_helpers/soar_label_corrections_full.json b/robometer/dataset_upload/dataset_helpers/soar_label_corrections_full.json new file mode 100644 index 0000000000000000000000000000000000000000..2315788a423944d861f48c585db5ba90fe96b590 --- /dev/null +++ b/robometer/dataset_upload/dataset_helpers/soar_label_corrections_full.json @@ -0,0 +1,30609 @@ +{ + "source_files": [ + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_0_1000_1766780289.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_0_1000_1766820230.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_1000_10000_1766947200.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_1000_10000_1767035492.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_1000_2000_1766946297.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_12000_16000_1767165379.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_16000_20000_1767290542.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_16000_None_1767165356.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_20000_24000_1767290608.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_24000_28000_1767290609.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_28000_None_1767291536.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_28500_None_1767385806.jsonl", + "/mmfs1/home/jessezha/rselab_storage/soar_relabel_results/results_qwen_8000_12000_1767165031.jsonl" + ], + "stats": { + "successful": 6954, + "already_complete": 461, + "failure": 20943, + "infeasible": 2222, + "unknown_kept_original": 35 + }, + "total_trajectories": 30580, + "max_index": 30579, + "missing_count": 0, + "label_corrections": { + "0": "successful", + "1": "successful", + "2": "already_complete", + "3": "successful", + "4": "successful", + "5": "successful", + "6": "successful", + "7": "successful", + "8": "successful", + "9": "successful", + "10": "successful", + "11": "successful", + "12": "successful", + "13": "failure", + "14": "successful", + "15": "failure", + "16": "successful", + "17": "successful", + "18": "successful", + "19": "successful", + "20": "successful", + "21": "successful", + "22": "successful", + "23": "successful", + "24": "failure", + "25": "failure", + "26": "successful", + "27": "successful", + "28": "successful", + "29": "successful", + "30": "infeasible", + "31": "already_complete", + "32": "successful", + "33": "successful", + "34": "failure", + "35": "already_complete", + "36": "failure", + "37": "successful", + "38": "successful", + "39": "successful", + "40": "already_complete", + "41": "successful", + "42": "successful", + "43": "successful", + "44": "failure", + "45": "successful", + "46": "successful", + "47": "successful", + "48": "successful", + "49": "successful", + "50": "already_complete", + "51": "failure", + "52": "successful", + "53": "successful", + "54": "successful", + "55": "successful", + "56": "successful", + "57": "successful", + "58": "successful", + "59": "successful", + "60": "failure", + "61": "already_complete", + "62": "already_complete", + "63": "successful", + "64": "successful", + "65": "successful", + "66": "successful", + "67": "successful", + "68": "failure", + "69": "successful", + "70": "already_complete", + "71": "successful", + "72": "successful", + "73": "successful", + "74": "successful", + "75": "already_complete", + "76": "successful", + "77": "successful", + "78": "successful", + "79": "successful", + "80": "failure", + "81": "already_complete", + "82": "successful", + "83": "successful", + "84": "successful", + "85": "failure", + "86": "successful", + "87": "successful", + "88": "successful", + "89": "successful", + "90": "successful", + "91": "successful", + "92": "failure", + "93": "successful", + "94": "successful", + "95": "successful", + "96": "already_complete", + "97": "successful", + "98": "successful", + "99": "successful", + "100": "successful", + "101": "successful", + "102": "successful", + "103": "successful", + "104": "successful", + "105": "successful", + "106": "already_complete", + "107": "successful", + "108": "already_complete", + "109": "successful", + "110": "successful", + "111": "successful", + "112": "successful", + "113": "successful", + "114": "successful", + "115": "failure", + "116": "successful", + "117": "failure", + "118": "already_complete", + "119": "successful", + "120": "successful", + "121": "successful", + "122": "successful", + "123": "already_complete", + "124": "successful", + "125": "already_complete", + "126": "successful", + "127": "successful", + "128": "already_complete", + "129": "successful", + "130": "failure", + "131": "successful", + "132": "successful", + "133": "successful", + "134": "successful", + "135": "successful", + "136": "successful", + "137": "successful", + "138": "successful", + "139": "successful", + "140": "already_complete", + "141": "failure", + "142": "successful", + "143": "failure", + "144": "failure", + "145": "successful", + "146": "successful", + "147": "failure", + "148": "already_complete", + "149": "successful", + "150": "successful", + "151": "successful", + "152": "successful", + "153": "successful", + "154": "successful", + "155": "already_complete", + "156": "successful", + "157": "failure", + "158": "successful", + "159": "successful", + "160": "failure", + "161": "successful", + "162": "already_complete", + "163": "failure", + "164": "successful", + "165": "successful", + "166": "successful", + "167": "successful", + "168": "failure", + "169": "successful", + "170": "failure", + "171": "successful", + "172": "failure", + "173": "successful", + "174": "successful", + "175": "successful", + "176": "successful", + "177": "failure", + "178": "already_complete", + "179": "infeasible", + "180": "successful", + "181": "successful", + "182": "successful", + "183": "successful", + "184": "successful", + "185": "successful", + "186": "successful", + "187": "successful", + "188": "successful", + "189": "successful", + "190": "successful", + "191": "failure", + "192": "already_complete", + "193": "successful", + "194": "successful", + "195": "failure", + "196": "successful", + "197": "already_complete", + "198": "successful", + "199": "successful", + "200": "failure", + "201": "successful", + "202": "successful", + "203": "successful", + "204": "successful", + "205": "successful", + "206": "successful", + "207": "successful", + "208": "successful", + "209": "failure", + "210": "successful", + "211": "failure", + "212": "already_complete", + "213": "already_complete", + "214": "failure", + "215": "failure", + "216": "successful", + "217": "successful", + "218": "successful", + "219": "failure", + "220": "successful", + "221": "successful", + "222": "successful", + "223": "successful", + "224": "successful", + "225": "successful", + "226": "successful", + "227": "failure", + "228": "infeasible", + "229": "successful", + "230": "successful", + "231": "successful", + "232": "successful", + "233": "failure", + "234": "successful", + "235": "successful", + "236": "already_complete", + "237": "successful", + "238": "successful", + "239": "failure", + "240": "failure", + "241": "successful", + "242": "successful", + "243": "failure", + "244": "successful", + "245": "successful", + "246": "failure", + "247": "successful", + "248": "failure", + "249": "successful", + "250": "failure", + "251": "successful", + "252": "failure", + "253": "failure", + "254": "successful", + "255": "successful", + "256": "successful", + "257": "successful", + "258": "successful", + "259": "successful", + "260": "successful", + "261": "successful", + "262": "successful", + "263": "successful", + "264": "successful", + "265": "already_complete", + "266": "successful", + "267": "successful", + "268": "successful", + "269": "successful", + "270": "successful", + "271": "successful", + "272": "failure", + "273": "successful", + "274": "failure", + "275": "successful", + "276": "successful", + "277": "successful", + "278": "successful", + "279": "successful", + "280": "successful", + "281": "failure", + "282": "failure", + "283": "successful", + "284": "successful", + "285": "successful", + "286": "already_complete", + "287": "successful", + "288": "successful", + "289": "failure", + "290": "infeasible", + "291": "successful", + "292": "successful", + "293": "successful", + "294": "failure", + "295": "successful", + "296": "successful", + "297": "successful", + "298": "successful", + "299": "successful", + "300": "successful", + "301": "successful", + "302": "successful", + "303": "successful", + "304": "successful", + "305": "successful", + "306": "successful", + "307": "failure", + "308": "successful", + "309": "successful", + "310": "successful", + "311": "failure", + "312": "already_complete", + "313": "successful", + "314": "successful", + "315": "successful", + "316": "successful", + "317": "successful", + "318": "successful", + "319": "failure", + "320": "already_complete", + "321": "successful", + "322": "successful", + "323": "successful", + "324": "successful", + "325": "successful", + "326": "failure", + "327": "successful", + "328": "already_complete", + "329": "successful", + "330": "successful", + "331": "successful", + "332": "successful", + "333": "already_complete", + "334": "failure", + "335": "already_complete", + "336": "successful", + "337": "failure", + "338": "successful", + "339": "failure", + "340": "failure", + "341": "successful", + "342": "successful", + "343": "successful", + "344": "successful", + "345": "successful", + "346": "successful", + "347": "already_complete", + "348": "already_complete", + "349": "successful", + "350": "successful", + "351": "failure", + "352": "successful", + "353": "successful", + "354": "already_complete", + "355": "already_complete", + "356": "successful", + "357": "successful", + "358": "successful", + "359": "successful", + "360": "successful", + "361": "successful", + "362": "successful", + "363": "successful", + "364": "successful", + "365": "failure", + "366": "successful", + "367": "already_complete", + "368": "successful", + "369": "successful", + "370": "successful", + "371": "successful", + "372": "successful", + "373": "successful", + "374": "failure", + "375": "successful", + "376": "failure", + "377": "successful", + "378": "failure", + "379": "already_complete", + "380": "successful", + "381": "successful", + "382": "successful", + "383": "already_complete", + "384": "successful", + "385": "successful", + "386": "failure", + "387": "successful", + "388": "successful", + "389": "successful", + "390": "failure", + "391": "successful", + "392": "failure", + "393": "successful", + "394": "successful", + "395": "successful", + "396": "successful", + "397": "successful", + "398": "failure", + "399": "successful", + "400": "failure", + "401": "failure", + "402": "successful", + "403": "successful", + "404": "successful", + "405": "successful", + "406": "successful", + "407": "already_complete", + "408": "successful", + "409": "already_complete", + "410": "infeasible", + "411": "successful", + "412": "failure", + "413": "successful", + "414": "successful", + "415": "successful", + "416": "successful", + "417": "successful", + "418": "already_complete", + "419": "successful", + "420": "failure", + "421": "successful", + "422": "successful", + "423": "successful", + "424": "successful", + "425": "successful", + "426": "failure", + "427": "already_complete", + "428": "failure", + "429": "infeasible", + "430": "already_complete", + "431": "failure", + "432": "successful", + "433": "already_complete", + "434": "already_complete", + "435": "successful", + "436": "already_complete", + "437": "already_complete", + "438": "successful", + "439": "successful", + "440": "already_complete", + "441": "successful", + "442": "successful", + "443": "successful", + "444": "successful", + "445": "infeasible", + "446": "already_complete", + "447": "successful", + "448": "successful", + "449": "successful", + "450": "successful", + "451": "successful", + "452": "failure", + "453": "successful", + "454": "successful", + "455": "already_complete", + "456": "successful", + "457": "successful", + "458": "successful", + "459": "successful", + "460": "successful", + "461": "failure", + "462": "successful", + "463": "failure", + "464": "successful", + "465": "successful", + "466": "already_complete", + "467": "failure", + "468": "successful", + "469": "successful", + "470": "successful", + "471": "already_complete", + "472": "successful", + "473": "successful", + "474": "successful", + "475": "successful", + "476": "successful", + "477": "successful", + "478": "successful", + "479": "already_complete", + "480": "already_complete", + "481": "successful", + "482": "successful", + "483": "failure", + "484": "successful", + "485": "failure", + "486": "successful", + "487": "successful", + "488": "successful", + "489": "successful", + "490": "successful", + "491": "failure", + "492": "successful", + "493": "failure", + "494": "already_complete", + "495": "successful", + "496": "successful", + "497": "failure", + "498": "successful", + "499": "failure", + "500": "successful", + "501": "successful", + "502": "successful", + "503": "already_complete", + "504": "failure", + "505": "failure", + "506": "successful", + "507": "successful", + "508": "failure", + "509": "successful", + "510": "successful", + "511": "successful", + "512": "successful", + "513": "successful", + "514": "successful", + "515": "successful", + "516": "failure", + "517": "already_complete", + "518": "successful", + "519": "successful", + "520": "successful", + "521": "already_complete", + "522": "successful", + "523": "successful", + "524": "successful", + "525": "successful", + "526": "successful", + "527": "failure", + "528": "successful", + "529": "successful", + "530": "successful", + "531": "successful", + "532": "failure", + "533": "successful", + "534": "already_complete", + "535": "successful", + "536": "successful", + "537": "failure", + "538": "successful", + "539": "successful", + "540": "successful", + "541": "successful", + "542": "already_complete", + "543": "already_complete", + "544": "successful", + "545": "successful", + "546": "successful", + "547": "successful", + "548": "failure", + "549": "successful", + "550": "successful", + "551": "successful", + "552": "successful", + "553": "failure", + "554": "successful", + "555": "already_complete", + "556": "failure", + "557": "successful", + "558": "successful", + "559": "infeasible", + "560": "already_complete", + "561": "successful", + "562": "already_complete", + "563": "already_complete", + "564": "successful", + "565": "already_complete", + "566": "failure", + "567": "successful", + "568": "successful", + "569": "successful", + "570": "failure", + "571": "successful", + "572": "successful", + "573": "failure", + "574": "failure", + "575": "successful", + "576": "successful", + "577": "successful", + "578": "already_complete", + "579": "successful", + "580": "successful", + "581": "failure", + "582": "successful", + "583": "successful", + "584": "successful", + "585": "successful", + "586": "successful", + "587": "already_complete", + "588": "failure", + "589": "successful", + "590": "successful", + "591": "successful", + "592": "failure", + "593": "already_complete", + "594": "failure", + "595": "failure", + "596": "successful", + "597": "successful", + "598": "successful", + "599": "already_complete", + "600": "already_complete", + "601": "successful", + "602": "infeasible", + "603": "already_complete", + "604": "failure", + "605": "successful", + "606": "successful", + "607": "failure", + "608": "already_complete", + "609": "successful", + "610": "successful", + "611": "successful", + "612": "successful", + "613": "successful", + "614": "successful", + "615": "successful", + "616": "successful", + "617": "successful", + "618": "successful", + "619": "successful", + "620": "successful", + "621": "already_complete", + "622": "successful", + "623": "failure", + "624": "successful", + "625": "successful", + "626": "successful", + "627": "successful", + "628": "successful", + "629": "failure", + "630": "successful", + "631": "successful", + "632": "successful", + "633": "successful", + "634": "failure", + "635": "successful", + "636": "successful", + "637": "successful", + "638": "successful", + "639": "already_complete", + "640": "successful", + "641": "already_complete", + "642": "successful", + "643": "already_complete", + "644": "successful", + "645": "successful", + "646": "successful", + "647": "successful", + "648": "already_complete", + "649": "successful", + "650": "successful", + "651": "successful", + "652": "successful", + "653": "failure", + "654": "successful", + "655": "successful", + "656": "failure", + "657": "failure", + "658": "successful", + "659": "successful", + "660": "successful", + "661": "successful", + "662": "successful", + "663": "successful", + "664": "successful", + "665": "successful", + "666": "successful", + "667": "successful", + "668": "successful", + "669": "successful", + "670": "infeasible", + "671": "failure", + "672": "successful", + "673": "successful", + "674": "failure", + "675": "already_complete", + "676": "successful", + "677": "successful", + "678": "successful", + "679": "successful", + "680": "successful", + "681": "successful", + "682": "failure", + "683": "successful", + "684": "successful", + "685": "successful", + "686": "successful", + "687": "successful", + "688": "successful", + "689": "successful", + "690": "already_complete", + "691": "successful", + "692": "successful", + "693": "successful", + "694": "successful", + "695": "failure", + "696": "failure", + "697": "successful", + "698": "failure", + "699": "already_complete", + "700": "failure", + "701": "failure", + "702": "successful", + "703": "successful", + "704": "successful", + "705": "successful", + "706": "successful", + "707": "successful", + "708": "successful", + "709": "already_complete", + "710": "successful", + "711": "successful", + "712": "successful", + "713": "successful", + "714": "successful", + "715": "successful", + "716": "successful", + "717": "already_complete", + "718": "already_complete", + "719": "successful", + "720": "already_complete", + "721": "successful", + "722": "successful", + "723": "successful", + "724": "successful", + "725": "already_complete", + "726": "successful", + "727": "successful", + "728": "already_complete", + "729": "successful", + "730": "successful", + "731": "successful", + "732": "already_complete", + "733": "successful", + "734": "successful", + "735": "failure", + "736": "failure", + "737": "successful", + "738": "successful", + "739": "already_complete", + "740": "failure", + "741": "failure", + "742": "failure", + "743": "already_complete", + "744": "successful", + "745": "successful", + "746": "successful", + "747": "successful", + "748": "successful", + "749": "failure", + "750": "already_complete", + "751": "successful", + "752": "successful", + "753": "already_complete", + "754": "successful", + "755": "successful", + "756": "successful", + "757": "successful", + "758": "successful", + "759": "successful", + "760": "successful", + "761": "successful", + "762": "successful", + "763": "successful", + "764": "successful", + "765": "successful", + "766": "successful", + "767": "failure", + "768": "successful", + "769": "failure", + "770": "successful", + "771": "failure", + "772": "successful", + "773": "already_complete", + "774": "successful", + "775": "successful", + "776": "already_complete", + "777": "failure", + "778": "successful", + "779": "failure", + "780": "successful", + "781": "successful", + "782": "successful", + "783": "successful", + "784": "failure", + "785": "already_complete", + "786": "successful", + "787": "successful", + "788": "successful", + "789": "failure", + "790": "successful", + "791": "successful", + "792": "successful", + "793": "successful", + "794": "successful", + "795": "already_complete", + "796": "failure", + "797": "successful", + "798": "successful", + "799": "successful", + "800": "successful", + "801": "successful", + "802": "successful", + "803": "already_complete", + "804": "successful", + "805": "failure", + "806": "successful", + "807": "successful", + "808": "already_complete", + "809": "failure", + "810": "successful", + "811": "successful", + "812": "successful", + "813": "successful", + "814": "successful", + "815": "failure", + "816": "successful", + "817": "successful", + "818": "already_complete", + "819": "successful", + "820": "already_complete", + "821": "successful", + "822": "successful", + "823": "successful", + "824": "already_complete", + "825": "successful", + "826": "successful", + "827": "successful", + "828": "successful", + "829": "failure", + "830": "successful", + "831": "successful", + "832": "failure", + "833": "successful", + "834": "already_complete", + "835": "already_complete", + "836": "successful", + "837": "successful", + "838": "successful", + "839": "already_complete", + "840": "successful", + "841": "successful", + "842": "infeasible", + "843": "failure", + "844": "successful", + "845": "successful", + "846": "successful", + "847": "successful", + "848": "successful", + "849": "successful", + "850": "successful", + "851": "successful", + "852": "already_complete", + "853": "successful", + "854": "successful", + "855": "successful", + "856": "successful", + "857": "successful", + "858": "successful", + "859": "successful", + "860": "successful", + "861": "successful", + "862": "successful", + "863": "successful", + "864": "successful", + "865": "failure", + "866": "successful", + "867": "successful", + "868": "successful", + "869": "already_complete", + "870": "successful", + "871": "failure", + "872": "failure", + "873": "successful", + "874": "successful", + "875": "successful", + "876": "successful", + "877": "successful", + "878": "failure", + "879": "successful", + "880": "successful", + "881": "successful", + "882": "successful", + "883": "successful", + "884": "successful", + "885": "successful", + "886": "already_complete", + "887": "successful", + "888": "successful", + "889": "successful", + "890": "successful", + "891": "already_complete", + "892": "already_complete", + "893": "successful", + "894": "successful", + "895": "successful", + "896": "already_complete", + "897": "already_complete", + "898": "infeasible", + "899": "successful", + "900": "successful", + "901": "successful", + "902": "successful", + "903": "successful", + "904": "successful", + "905": "failure", + "906": "successful", + "907": "successful", + "908": "failure", + "909": "successful", + "910": "successful", + "911": "already_complete", + "912": "successful", + "913": "successful", + "914": "successful", + "915": "successful", + "916": "successful", + "917": "successful", + "918": "successful", + "919": "successful", + "920": "failure", + "921": "successful", + "922": "successful", + "923": "successful", + "924": "failure", + "925": "successful", + "926": "successful", + "927": "successful", + "928": "failure", + "929": "already_complete", + "930": "successful", + "931": "successful", + "932": "successful", + "933": "failure", + "934": "successful", + "935": "already_complete", + "936": "successful", + "937": "failure", + "938": "failure", + "939": "successful", + "940": "successful", + "941": "successful", + "942": "failure", + "943": "failure", + "944": "successful", + "945": "successful", + "946": "successful", + "947": "failure", + "948": "successful", + "949": "already_complete", + "950": "successful", + "951": "successful", + "952": "successful", + "953": "successful", + "954": "failure", + "955": "successful", + "956": "already_complete", + "957": "successful", + "958": "successful", + "959": "already_complete", + "960": "successful", + "961": "successful", + "962": "successful", + "963": "successful", + "964": "successful", + "965": "successful", + "966": "successful", + "967": "successful", + "968": "successful", + "969": "successful", + "970": "successful", + "971": "successful", + "972": "successful", + "973": "successful", + "974": "successful", + "975": "successful", + "976": "successful", + "977": "successful", + "978": "successful", + "979": "successful", + "980": "successful", + "981": "failure", + "982": "successful", + "983": "already_complete", + "984": "successful", + "985": "successful", + "986": "failure", + "987": "successful", + "988": "successful", + "989": "failure", + "990": "failure", + "991": "successful", + "992": "successful", + "993": "successful", + "994": "successful", + "995": "already_complete", + "996": "successful", + "997": "successful", + "998": "successful", + "999": "successful", + "1000": "failure", + "1001": "successful", + "1002": "failure", + "1003": "failure", + "1004": "failure", + "1005": "failure", + "1006": "failure", + "1007": "successful", + "1008": "failure", + "1009": "failure", + "1010": "successful", + "1011": "failure", + "1012": "successful", + "1013": "successful", + "1014": "successful", + "1015": "failure", + "1016": "already_complete", + "1017": "successful", + "1018": "successful", + "1019": "successful", + "1020": "successful", + "1021": "failure", + "1022": "successful", + "1023": "successful", + "1024": "failure", + "1025": "successful", + "1026": "failure", + "1027": "successful", + "1028": "successful", + "1029": "failure", + "1030": "successful", + "1031": "successful", + "1032": "failure", + "1033": "failure", + "1034": "successful", + "1035": "successful", + "1036": "failure", + "1037": "already_complete", + "1038": "failure", + "1039": "successful", + "1040": "successful", + "1041": "successful", + "1042": "failure", + "1043": "failure", + "1044": "failure", + "1045": "successful", + "1046": "failure", + "1047": "successful", + "1048": "failure", + "1049": "successful", + "1050": "successful", + "1051": "successful", + "1052": "failure", + "1053": "successful", + "1054": "successful", + "1055": "failure", + "1056": "successful", + "1057": "failure", + "1058": "successful", + "1059": "failure", + "1060": "successful", + "1061": "successful", + "1062": "failure", + "1063": "successful", + "1064": "successful", + "1065": "infeasible", + "1066": "failure", + "1067": "failure", + "1068": "successful", + "1069": "successful", + "1070": "failure", + "1071": "successful", + "1072": "failure", + "1073": "failure", + "1074": "successful", + "1075": "failure", + "1076": "successful", + "1077": "failure", + "1078": "successful", + "1079": "successful", + "1080": "failure", + "1081": "successful", + "1082": "successful", + "1083": "failure", + "1084": "successful", + "1085": "successful", + "1086": "successful", + "1087": "failure", + "1088": "failure", + "1089": "failure", + "1090": "failure", + "1091": "successful", + "1092": "successful", + "1093": "successful", + "1094": "successful", + "1095": "successful", + "1096": "successful", + "1097": "failure", + "1098": "already_complete", + "1099": "successful", + "1100": "failure", + "1101": "successful", + "1102": "successful", + "1103": "failure", + "1104": "successful", + "1105": "failure", + "1106": "failure", + "1107": "successful", + "1108": "failure", + "1109": "failure", + "1110": "failure", + "1111": "failure", + "1112": "failure", + "1113": "successful", + "1114": "successful", + "1115": "successful", + "1116": "successful", + "1117": "failure", + "1118": "successful", + "1119": "successful", + "1120": "successful", + "1121": "successful", + "1122": "failure", + "1123": "failure", + "1124": "failure", + "1125": "successful", + "1126": "successful", + "1127": "successful", + "1128": "successful", + "1129": "successful", + "1130": "successful", + "1131": "successful", + "1132": "failure", + "1133": "failure", + "1134": "failure", + "1135": "failure", + "1136": "successful", + "1137": "failure", + "1138": "failure", + "1139": "successful", + "1140": "failure", + "1141": "successful", + "1142": "failure", + "1143": "failure", + "1144": "failure", + "1145": "successful", + "1146": "failure", + "1147": "successful", + "1148": "failure", + "1149": "successful", + "1150": "infeasible", + "1151": "successful", + "1152": "successful", + "1153": "successful", + "1154": "successful", + "1155": "infeasible", + "1156": "failure", + "1157": "successful", + "1158": "successful", + "1159": "failure", + "1160": "failure", + "1161": "successful", + "1162": "failure", + "1163": "successful", + "1164": "failure", + "1165": "successful", + "1166": "failure", + "1167": "failure", + "1168": "successful", + "1169": "failure", + "1170": "successful", + "1171": "successful", + "1172": "successful", + "1173": "failure", + "1174": "successful", + "1175": "successful", + "1176": "failure", + "1177": "successful", + "1178": "failure", + "1179": "failure", + "1180": "failure", + "1181": "failure", + "1182": "successful", + "1183": "successful", + "1184": "successful", + "1185": "failure", + "1186": "failure", + "1187": "failure", + "1188": "successful", + "1189": "successful", + "1190": "failure", + "1191": "failure", + "1192": "successful", + "1193": "failure", + "1194": "successful", + "1195": "successful", + "1196": "failure", + "1197": "failure", + "1198": "infeasible", + "1199": "failure", + "1200": "failure", + "1201": "failure", + "1202": "failure", + "1203": "failure", + "1204": "failure", + "1205": "failure", + "1206": "successful", + "1207": "successful", + "1208": "successful", + "1209": "failure", + "1210": "failure", + "1211": "failure", + "1212": "failure", + "1213": "successful", + "1214": "successful", + "1215": "successful", + "1216": "failure", + "1217": "failure", + "1218": "failure", + "1219": "failure", + "1220": "successful", + "1221": "failure", + "1222": "successful", + "1223": "failure", + "1224": "successful", + "1225": "successful", + "1226": "failure", + "1227": "failure", + "1228": "successful", + "1229": "failure", + "1230": "failure", + "1231": "failure", + "1232": "failure", + "1233": "failure", + "1234": "successful", + "1235": "failure", + "1236": "failure", + "1237": "successful", + "1238": "successful", + "1239": "successful", + "1240": "successful", + "1241": "failure", + "1242": "successful", + "1243": "successful", + "1244": "successful", + "1245": "successful", + "1246": "successful", + "1247": "successful", + "1248": "successful", + "1249": "successful", + "1250": "failure", + "1251": "successful", + "1252": "successful", + "1253": "successful", + "1254": "failure", + "1255": "failure", + "1256": "failure", + "1257": "failure", + "1258": "successful", + "1259": "successful", + "1260": "failure", + "1261": "successful", + "1262": "failure", + "1263": "failure", + "1264": "failure", + "1265": "successful", + "1266": "failure", + "1267": "successful", + "1268": "successful", + "1269": "failure", + "1270": "failure", + "1271": "successful", + "1272": "failure", + "1273": "failure", + "1274": "failure", + "1275": "successful", + "1276": "successful", + "1277": "successful", + "1278": "failure", + "1279": "successful", + "1280": "successful", + "1281": "failure", + "1282": "failure", + "1283": "successful", + "1284": "successful", + "1285": "successful", + "1286": "successful", + "1287": "successful", + "1288": "successful", + "1289": "failure", + "1290": "failure", + "1291": "successful", + "1292": "infeasible", + "1293": "successful", + "1294": "successful", + "1295": "failure", + "1296": "successful", + "1297": "failure", + "1298": "already_complete", + "1299": "failure", + "1300": "failure", + "1301": "successful", + "1302": "successful", + "1303": "successful", + "1304": "successful", + "1305": "successful", + "1306": "successful", + "1307": "successful", + "1308": "failure", + "1309": "successful", + "1310": "failure", + "1311": "successful", + "1312": "successful", + "1313": "successful", + "1314": "successful", + "1315": "successful", + "1316": "failure", + "1317": "failure", + "1318": "successful", + "1319": "successful", + "1320": "failure", + "1321": "successful", + "1322": "failure", + "1323": "successful", + "1324": "failure", + "1325": "successful", + "1326": "already_complete", + "1327": "failure", + "1328": "failure", + "1329": "successful", + "1330": "successful", + "1331": "successful", + "1332": "successful", + "1333": "failure", + "1334": "failure", + "1335": "successful", + "1336": "successful", + "1337": "failure", + "1338": "successful", + "1339": "failure", + "1340": "successful", + "1341": "successful", + "1342": "failure", + "1343": "successful", + "1344": "successful", + "1345": "successful", + "1346": "failure", + "1347": "failure", + "1348": "failure", + "1349": "successful", + "1350": "successful", + "1351": "failure", + "1352": "failure", + "1353": "successful", + "1354": "failure", + "1355": "successful", + "1356": "failure", + "1357": "failure", + "1358": "successful", + "1359": "successful", + "1360": "successful", + "1361": "successful", + "1362": "failure", + "1363": "successful", + "1364": "failure", + "1365": "successful", + "1366": "failure", + "1367": "failure", + "1368": "successful", + "1369": "failure", + "1370": "failure", + "1371": "successful", + "1372": "successful", + "1373": "infeasible", + "1374": "successful", + "1375": "failure", + "1376": "failure", + "1377": "failure", + "1378": "failure", + "1379": "successful", + "1380": "failure", + "1381": "successful", + "1382": "successful", + "1383": "failure", + "1384": "failure", + "1385": "failure", + "1386": "failure", + "1387": "failure", + "1388": "successful", + "1389": "successful", + "1390": "failure", + "1391": "failure", + "1392": "successful", + "1393": "successful", + "1394": "failure", + "1395": "failure", + "1396": "successful", + "1397": "failure", + "1398": "successful", + "1399": "successful", + "1400": "failure", + "1401": "failure", + "1402": "failure", + "1403": "failure", + "1404": "successful", + "1405": "failure", + "1406": "successful", + "1407": "successful", + "1408": "successful", + "1409": "failure", + "1410": "failure", + "1411": "failure", + "1412": "failure", + "1413": "successful", + "1414": "successful", + "1415": "failure", + "1416": "successful", + "1417": "infeasible", + "1418": "already_complete", + "1419": "failure", + "1420": "successful", + "1421": "failure", + "1422": "successful", + "1423": "failure", + "1424": "successful", + "1425": "failure", + "1426": "successful", + "1427": "failure", + "1428": "failure", + "1429": "successful", + "1430": "failure", + "1431": "failure", + "1432": "successful", + "1433": "failure", + "1434": "failure", + "1435": "successful", + "1436": "successful", + "1437": "failure", + "1438": "successful", + "1439": "failure", + "1440": "successful", + "1441": "successful", + "1442": "failure", + "1443": "failure", + "1444": "successful", + "1445": "failure", + "1446": "failure", + "1447": "successful", + "1448": "successful", + "1449": "failure", + "1450": "successful", + "1451": "failure", + "1452": "already_complete", + "1453": "failure", + "1454": "successful", + "1455": "successful", + "1456": "successful", + "1457": "failure", + "1458": "successful", + "1459": "failure", + "1460": "successful", + "1461": "successful", + "1462": "failure", + "1463": "failure", + "1464": "successful", + "1465": "successful", + "1466": "failure", + "1467": "successful", + "1468": "failure", + "1469": "failure", + "1470": "successful", + "1471": "successful", + "1472": "failure", + "1473": "infeasible", + "1474": "failure", + "1475": "failure", + "1476": "failure", + "1477": "successful", + "1478": "successful", + "1479": "failure", + "1480": "successful", + "1481": "successful", + "1482": "failure", + "1483": "successful", + "1484": "failure", + "1485": "failure", + "1486": "successful", + "1487": "successful", + "1488": "failure", + "1489": "failure", + "1490": "failure", + "1491": "failure", + "1492": "failure", + "1493": "failure", + "1494": "failure", + "1495": "successful", + "1496": "successful", + "1497": "failure", + "1498": "failure", + "1499": "failure", + "1500": "successful", + "1501": "failure", + "1502": "successful", + "1503": "successful", + "1504": "failure", + "1505": "successful", + "1506": "successful", + "1507": "successful", + "1508": "successful", + "1509": "failure", + "1510": "failure", + "1511": "failure", + "1512": "failure", + "1513": "failure", + "1514": "successful", + "1515": "successful", + "1516": "failure", + "1517": "failure", + "1518": "infeasible", + "1519": "failure", + "1520": "successful", + "1521": "failure", + "1522": "failure", + "1523": "failure", + "1524": "failure", + "1525": "failure", + "1526": "failure", + "1527": "failure", + "1528": "failure", + "1529": "failure", + "1530": "failure", + "1531": "successful", + "1532": "successful", + "1533": "failure", + "1534": "successful", + "1535": "failure", + "1536": "successful", + "1537": "failure", + "1538": "failure", + "1539": "successful", + "1540": "successful", + "1541": "failure", + "1542": "failure", + "1543": "successful", + "1544": "failure", + "1545": "failure", + "1546": "successful", + "1547": "successful", + "1548": "successful", + "1549": "failure", + "1550": "successful", + "1551": "failure", + "1552": "successful", + "1553": "failure", + "1554": "successful", + "1555": "successful", + "1556": "failure", + "1557": "successful", + "1558": "successful", + "1559": "failure", + "1560": "successful", + "1561": "failure", + "1562": "successful", + "1563": "failure", + "1564": "successful", + "1565": "failure", + "1566": "successful", + "1567": "failure", + "1568": "successful", + "1569": "successful", + "1570": "failure", + "1571": "successful", + "1572": "successful", + "1573": "successful", + "1574": "successful", + "1575": "failure", + "1576": "successful", + "1577": "successful", + "1578": "successful", + "1579": "failure", + "1580": "successful", + "1581": "successful", + "1582": "failure", + "1583": "failure", + "1584": "failure", + "1585": "failure", + "1586": "failure", + "1587": "failure", + "1588": "failure", + "1589": "successful", + "1590": "successful", + "1591": "infeasible", + "1592": "successful", + "1593": "failure", + "1594": "failure", + "1595": "successful", + "1596": "failure", + "1597": "successful", + "1598": "failure", + "1599": "successful", + "1600": "failure", + "1601": "successful", + "1602": "failure", + "1603": "successful", + "1604": "failure", + "1605": "failure", + "1606": "failure", + "1607": "failure", + "1608": "successful", + "1609": "failure", + "1610": "successful", + "1611": "failure", + "1612": "successful", + "1613": "infeasible", + "1614": "failure", + "1615": "failure", + "1616": "successful", + "1617": "failure", + "1618": "failure", + "1619": "successful", + "1620": "successful", + "1621": "successful", + "1622": "successful", + "1623": "successful", + "1624": "failure", + "1625": "successful", + "1626": "successful", + "1627": "failure", + "1628": "failure", + "1629": "failure", + "1630": "failure", + "1631": "failure", + "1632": "successful", + "1633": "successful", + "1634": "already_complete", + "1635": "failure", + "1636": "successful", + "1637": "successful", + "1638": "failure", + "1639": "failure", + "1640": "successful", + "1641": "successful", + "1642": "successful", + "1643": "successful", + "1644": "failure", + "1645": "successful", + "1646": "failure", + "1647": "failure", + "1648": "successful", + "1649": "failure", + "1650": "successful", + "1651": "failure", + "1652": "failure", + "1653": "failure", + "1654": "failure", + "1655": "failure", + "1656": "failure", + "1657": "successful", + "1658": "failure", + "1659": "failure", + "1660": "successful", + "1661": "successful", + "1662": "failure", + "1663": "successful", + "1664": "failure", + "1665": "successful", + "1666": "successful", + "1667": "failure", + "1668": "failure", + "1669": "failure", + "1670": "failure", + "1671": "successful", + "1672": "failure", + "1673": "successful", + "1674": "failure", + "1675": "successful", + "1676": "successful", + "1677": "successful", + "1678": "failure", + "1679": "infeasible", + "1680": "successful", + "1681": "successful", + "1682": "failure", + "1683": "failure", + "1684": "failure", + "1685": "failure", + "1686": "failure", + "1687": "successful", + "1688": "failure", + "1689": "failure", + "1690": "failure", + "1691": "successful", + "1692": "successful", + "1693": "failure", + "1694": "successful", + "1695": "successful", + "1696": "failure", + "1697": "successful", + "1698": "successful", + "1699": "failure", + "1700": "successful", + "1701": "failure", + "1702": "failure", + "1703": "successful", + "1704": "successful", + "1705": "infeasible", + "1706": "failure", + "1707": "failure", + "1708": "successful", + "1709": "failure", + "1710": "successful", + "1711": "successful", + "1712": "successful", + "1713": "successful", + "1714": "successful", + "1715": "successful", + "1716": "successful", + "1717": "failure", + "1718": "successful", + "1719": "failure", + "1720": "successful", + "1721": "successful", + "1722": "successful", + "1723": "failure", + "1724": "successful", + "1725": "failure", + "1726": "failure", + "1727": "successful", + "1728": "successful", + "1729": "successful", + "1730": "successful", + "1731": "successful", + "1732": "failure", + "1733": "successful", + "1734": "successful", + "1735": "successful", + "1736": "successful", + "1737": "successful", + "1738": "infeasible", + "1739": "successful", + "1740": "successful", + "1741": "failure", + "1742": "successful", + "1743": "successful", + "1744": "failure", + "1745": "successful", + "1746": "failure", + "1747": "failure", + "1748": "failure", + "1749": "failure", + "1750": "failure", + "1751": "failure", + "1752": "successful", + "1753": "successful", + "1754": "successful", + "1755": "failure", + "1756": "failure", + "1757": "failure", + "1758": "failure", + "1759": "failure", + "1760": "failure", + "1761": "failure", + "1762": "successful", + "1763": "failure", + "1764": "failure", + "1765": "failure", + "1766": "successful", + "1767": "successful", + "1768": "successful", + "1769": "failure", + "1770": "successful", + "1771": "successful", + "1772": "failure", + "1773": "successful", + "1774": "failure", + "1775": "failure", + "1776": "failure", + "1777": "successful", + "1778": "failure", + "1779": "successful", + "1780": "failure", + "1781": "successful", + "1782": "failure", + "1783": "successful", + "1784": "successful", + "1785": "failure", + "1786": "failure", + "1787": "successful", + "1788": "successful", + "1789": "failure", + "1790": "failure", + "1791": "successful", + "1792": "failure", + "1793": "failure", + "1794": "failure", + "1795": "failure", + "1796": "successful", + "1797": "failure", + "1798": "successful", + "1799": "successful", + "1800": "successful", + "1801": "failure", + "1802": "failure", + "1803": "successful", + "1804": "successful", + "1805": "successful", + "1806": "failure", + "1807": "successful", + "1808": "successful", + "1809": "successful", + "1810": "successful", + "1811": "successful", + "1812": "failure", + "1813": "failure", + "1814": "failure", + "1815": "successful", + "1816": "failure", + "1817": "infeasible", + "1818": "failure", + "1819": "successful", + "1820": "failure", + "1821": "successful", + "1822": "successful", + "1823": "failure", + "1824": "failure", + "1825": "successful", + "1826": "failure", + "1827": "successful", + "1828": "failure", + "1829": "successful", + "1830": "failure", + "1831": "failure", + "1832": "successful", + "1833": "successful", + "1834": "failure", + "1835": "successful", + "1836": "successful", + "1837": "infeasible", + "1838": "successful", + "1839": "successful", + "1840": "successful", + "1841": "failure", + "1842": "failure", + "1843": "successful", + "1844": "successful", + "1845": "failure", + "1846": "already_complete", + "1847": "successful", + "1848": "successful", + "1849": "failure", + "1850": "failure", + "1851": "successful", + "1852": "failure", + "1853": "successful", + "1854": "failure", + "1855": "already_complete", + "1856": "successful", + "1857": "successful", + "1858": "failure", + "1859": "failure", + "1860": "successful", + "1861": "successful", + "1862": "successful", + "1863": "failure", + "1864": "successful", + "1865": "successful", + "1866": "successful", + "1867": "failure", + "1868": "failure", + "1869": "successful", + "1870": "failure", + "1871": "failure", + "1872": "successful", + "1873": "successful", + "1874": "failure", + "1875": "failure", + "1876": "failure", + "1877": "failure", + "1878": "successful", + "1879": "failure", + "1880": "successful", + "1881": "failure", + "1882": "failure", + "1883": "failure", + "1884": "already_complete", + "1885": "successful", + "1886": "failure", + "1887": "failure", + "1888": "successful", + "1889": "failure", + "1890": "successful", + "1891": "failure", + "1892": "successful", + "1893": "successful", + "1894": "failure", + "1895": "successful", + "1896": "failure", + "1897": "failure", + "1898": "successful", + "1899": "failure", + "1900": "successful", + "1901": "failure", + "1902": "successful", + "1903": "successful", + "1904": "failure", + "1905": "failure", + "1906": "successful", + "1907": "successful", + "1908": "successful", + "1909": "already_complete", + "1910": "failure", + "1911": "successful", + "1912": "failure", + "1913": "successful", + "1914": "successful", + "1915": "failure", + "1916": "failure", + "1917": "infeasible", + "1918": "already_complete", + "1919": "failure", + "1920": "failure", + "1921": "successful", + "1922": "failure", + "1923": "failure", + "1924": "failure", + "1925": "failure", + "1926": "failure", + "1927": "successful", + "1928": "failure", + "1929": "failure", + "1930": "failure", + "1931": "successful", + "1932": "failure", + "1933": "successful", + "1934": "successful", + "1935": "failure", + "1936": "successful", + "1937": "failure", + "1938": "failure", + "1939": "failure", + "1940": "failure", + "1941": "successful", + "1942": "failure", + "1943": "failure", + "1944": "failure", + "1945": "successful", + "1946": "successful", + "1947": "failure", + "1948": "failure", + "1949": "successful", + "1950": "failure", + "1951": "failure", + "1952": "successful", + "1953": "successful", + "1954": "failure", + "1955": "failure", + "1956": "successful", + "1957": "successful", + "1958": "failure", + "1959": "failure", + "1960": "failure", + "1961": "failure", + "1962": "successful", + "1963": "failure", + "1964": "successful", + "1965": "successful", + "1966": "failure", + "1967": "failure", + "1968": "successful", + "1969": "successful", + "1970": "failure", + "1971": "successful", + "1972": "successful", + "1973": "failure", + "1974": "failure", + "1975": "successful", + "1976": "failure", + "1977": "failure", + "1978": "failure", + "1979": "failure", + "1980": "failure", + "1981": "successful", + "1982": "failure", + "1983": "failure", + "1984": "successful", + "1985": "failure", + "1986": "successful", + "1987": "failure", + "1988": "failure", + "1989": "failure", + "1990": "successful", + "1991": "failure", + "1992": "failure", + "1993": "failure", + "1994": "failure", + "1995": "failure", + "1996": "failure", + "1997": "successful", + "1998": "failure", + "1999": "successful", + "2000": "successful", + "2001": "successful", + "2002": "failure", + "2003": "failure", + "2004": "successful", + "2005": "failure", + "2006": "failure", + "2007": "successful", + "2008": "failure", + "2009": "successful", + "2010": "successful", + "2011": "successful", + "2012": "failure", + "2013": "failure", + "2014": "successful", + "2015": "failure", + "2016": "failure", + "2017": "failure", + "2018": "successful", + "2019": "successful", + "2020": "failure", + "2021": "failure", + "2022": "successful", + "2023": "failure", + "2024": "successful", + "2025": "failure", + "2026": "failure", + "2027": "infeasible", + "2028": "failure", + "2029": "failure", + "2030": "failure", + "2031": "failure", + "2032": "successful", + "2033": "successful", + "2034": "successful", + "2035": "failure", + "2036": "failure", + "2037": "failure", + "2038": "failure", + "2039": "successful", + "2040": "successful", + "2041": "successful", + "2042": "successful", + "2043": "failure", + "2044": "successful", + "2045": "successful", + "2046": "failure", + "2047": "failure", + "2048": "successful", + "2049": "successful", + "2050": "successful", + "2051": "failure", + "2052": "failure", + "2053": "failure", + "2054": "failure", + "2055": "failure", + "2056": "failure", + "2057": "failure", + "2058": "successful", + "2059": "failure", + "2060": "successful", + "2061": "successful", + "2062": "failure", + "2063": "successful", + "2064": "failure", + "2065": "successful", + "2066": "failure", + "2067": "successful", + "2068": "failure", + "2069": "failure", + "2070": "successful", + "2071": "failure", + "2072": "failure", + "2073": "successful", + "2074": "successful", + "2075": "successful", + "2076": "successful", + "2077": "successful", + "2078": "failure", + "2079": "failure", + "2080": "successful", + "2081": "failure", + "2082": "successful", + "2083": "already_complete", + "2084": "successful", + "2085": "successful", + "2086": "failure", + "2087": "successful", + "2088": "successful", + "2089": "failure", + "2090": "successful", + "2091": "failure", + "2092": "successful", + "2093": "failure", + "2094": "failure", + "2095": "failure", + "2096": "already_complete", + "2097": "failure", + "2098": "failure", + "2099": "failure", + "2100": "failure", + "2101": "successful", + "2102": "failure", + "2103": "successful", + "2104": "successful", + "2105": "successful", + "2106": "failure", + "2107": "failure", + "2108": "failure", + "2109": "successful", + "2110": "successful", + "2111": "successful", + "2112": "successful", + "2113": "failure", + "2114": "failure", + "2115": "failure", + "2116": "failure", + "2117": "successful", + "2118": "failure", + "2119": "successful", + "2120": "successful", + "2121": "successful", + "2122": "successful", + "2123": "failure", + "2124": "successful", + "2125": "successful", + "2126": "successful", + "2127": "failure", + "2128": "failure", + "2129": "successful", + "2130": "failure", + "2131": "failure", + "2132": "successful", + "2133": "successful", + "2134": "failure", + "2135": "successful", + "2136": "failure", + "2137": "failure", + "2138": "successful", + "2139": "failure", + "2140": "successful", + "2141": "failure", + "2142": "successful", + "2143": "failure", + "2144": "successful", + "2145": "failure", + "2146": "failure", + "2147": "successful", + "2148": "successful", + "2149": "failure", + "2150": "failure", + "2151": "successful", + "2152": "failure", + "2153": "failure", + "2154": "successful", + "2155": "failure", + "2156": "successful", + "2157": "successful", + "2158": "successful", + "2159": "failure", + "2160": "successful", + "2161": "successful", + "2162": "successful", + "2163": "failure", + "2164": "successful", + "2165": "failure", + "2166": "failure", + "2167": "successful", + "2168": "failure", + "2169": "failure", + "2170": "successful", + "2171": "failure", + "2172": "failure", + "2173": "failure", + "2174": "failure", + "2175": "failure", + "2176": "successful", + "2177": "failure", + "2178": "failure", + "2179": "successful", + "2180": "successful", + "2181": "successful", + "2182": "successful", + "2183": "successful", + "2184": "successful", + "2185": "failure", + "2186": "successful", + "2187": "successful", + "2188": "successful", + "2189": "successful", + "2190": "failure", + "2191": "successful", + "2192": "failure", + "2193": "failure", + "2194": "failure", + "2195": "successful", + "2196": "failure", + "2197": "successful", + "2198": "failure", + "2199": "failure", + "2200": "failure", + "2201": "failure", + "2202": "failure", + "2203": "successful", + "2204": "already_complete", + "2205": "failure", + "2206": "successful", + "2207": "failure", + "2208": "failure", + "2209": "successful", + "2210": "successful", + "2211": "failure", + "2212": "failure", + "2213": "failure", + "2214": "failure", + "2215": "successful", + "2216": "failure", + "2217": "successful", + "2218": "failure", + "2219": "successful", + "2220": "failure", + "2221": "failure", + "2222": "successful", + "2223": "failure", + "2224": "failure", + "2225": "successful", + "2226": "failure", + "2227": "failure", + "2228": "failure", + "2229": "failure", + "2230": "successful", + "2231": "failure", + "2232": "failure", + "2233": "successful", + "2234": "successful", + "2235": "failure", + "2236": "successful", + "2237": "failure", + "2238": "failure", + "2239": "successful", + "2240": "successful", + "2241": "successful", + "2242": "failure", + "2243": "failure", + "2244": "successful", + "2245": "successful", + "2246": "failure", + "2247": "failure", + "2248": "successful", + "2249": "successful", + "2250": "already_complete", + "2251": "successful", + "2252": "failure", + "2253": "failure", + "2254": "failure", + "2255": "successful", + "2256": "failure", + "2257": "failure", + "2258": "successful", + "2259": "failure", + "2260": "failure", + "2261": "successful", + "2262": "failure", + "2263": "failure", + "2264": "successful", + "2265": "successful", + "2266": "successful", + "2267": "failure", + "2268": "failure", + "2269": "failure", + "2270": "successful", + "2271": "successful", + "2272": "already_complete", + "2273": "failure", + "2274": "successful", + "2275": "successful", + "2276": "successful", + "2277": "failure", + "2278": "failure", + "2279": "successful", + "2280": "failure", + "2281": "failure", + "2282": "successful", + "2283": "failure", + "2284": "failure", + "2285": "failure", + "2286": "successful", + "2287": "failure", + "2288": "failure", + "2289": "successful", + "2290": "successful", + "2291": "failure", + "2292": "successful", + "2293": "failure", + "2294": "successful", + "2295": "successful", + "2296": "failure", + "2297": "failure", + "2298": "failure", + "2299": "successful", + "2300": "failure", + "2301": "infeasible", + "2302": "successful", + "2303": "successful", + "2304": "successful", + "2305": "failure", + "2306": "successful", + "2307": "successful", + "2308": "successful", + "2309": "successful", + "2310": "failure", + "2311": "successful", + "2312": "failure", + "2313": "failure", + "2314": "successful", + "2315": "failure", + "2316": "successful", + "2317": "failure", + "2318": "failure", + "2319": "successful", + "2320": "successful", + "2321": "failure", + "2322": "successful", + "2323": "successful", + "2324": "successful", + "2325": "successful", + "2326": "successful", + "2327": "successful", + "2328": "failure", + "2329": "successful", + "2330": "failure", + "2331": "failure", + "2332": "failure", + "2333": "failure", + "2334": "successful", + "2335": "successful", + "2336": "successful", + "2337": "successful", + "2338": "successful", + "2339": "successful", + "2340": "successful", + "2341": "failure", + "2342": "successful", + "2343": "failure", + "2344": "failure", + "2345": "failure", + "2346": "failure", + "2347": "successful", + "2348": "already_complete", + "2349": "failure", + "2350": "successful", + "2351": "failure", + "2352": "failure", + "2353": "successful", + "2354": "failure", + "2355": "failure", + "2356": "failure", + "2357": "failure", + "2358": "failure", + "2359": "failure", + "2360": "failure", + "2361": "already_complete", + "2362": "failure", + "2363": "successful", + "2364": "failure", + "2365": "successful", + "2366": "successful", + "2367": "successful", + "2368": "successful", + "2369": "failure", + "2370": "failure", + "2371": "successful", + "2372": "failure", + "2373": "successful", + "2374": "failure", + "2375": "failure", + "2376": "failure", + "2377": "failure", + "2378": "failure", + "2379": "failure", + "2380": "successful", + "2381": "successful", + "2382": "successful", + "2383": "successful", + "2384": "infeasible", + "2385": "successful", + "2386": "successful", + "2387": "already_complete", + "2388": "failure", + "2389": "failure", + "2390": "successful", + "2391": "failure", + "2392": "successful", + "2393": "infeasible", + "2394": "successful", + "2395": "already_complete", + "2396": "failure", + "2397": "failure", + "2398": "failure", + "2399": "successful", + "2400": "successful", + "2401": "failure", + "2402": "failure", + "2403": "failure", + "2404": "failure", + "2405": "failure", + "2406": "successful", + "2407": "failure", + "2408": "failure", + "2409": "failure", + "2410": "successful", + "2411": "failure", + "2412": "failure", + "2413": "failure", + "2414": "failure", + "2415": "successful", + "2416": "successful", + "2417": "failure", + "2418": "failure", + "2419": "successful", + "2420": "failure", + "2421": "failure", + "2422": "failure", + "2423": "successful", + "2424": "successful", + "2425": "failure", + "2426": "successful", + "2427": "failure", + "2428": "successful", + "2429": "successful", + "2430": "successful", + "2431": "successful", + "2432": "successful", + "2433": "successful", + "2434": "successful", + "2435": "failure", + "2436": "failure", + "2437": "failure", + "2438": "failure", + "2439": "successful", + "2440": "failure", + "2441": "successful", + "2442": "failure", + "2443": "successful", + "2444": "failure", + "2445": "failure", + "2446": "successful", + "2447": "failure", + "2448": "successful", + "2449": "failure", + "2450": "failure", + "2451": "successful", + "2452": "failure", + "2453": "failure", + "2454": "successful", + "2455": "failure", + "2456": "failure", + "2457": "successful", + "2458": "successful", + "2459": "successful", + "2460": "successful", + "2461": "infeasible", + "2462": "successful", + "2463": "failure", + "2464": "failure", + "2465": "successful", + "2466": "failure", + "2467": "failure", + "2468": "failure", + "2469": "successful", + "2470": "failure", + "2471": "failure", + "2472": "failure", + "2473": "failure", + "2474": "failure", + "2475": "failure", + "2476": "successful", + "2477": "failure", + "2478": "failure", + "2479": "failure", + "2480": "failure", + "2481": "successful", + "2482": "failure", + "2483": "failure", + "2484": "failure", + "2485": "successful", + "2486": "failure", + "2487": "successful", + "2488": "failure", + "2489": "successful", + "2490": "failure", + "2491": "successful", + "2492": "failure", + "2493": "successful", + "2494": "failure", + "2495": "failure", + "2496": "successful", + "2497": "successful", + "2498": "successful", + "2499": "successful", + "2500": "successful", + "2501": "successful", + "2502": "successful", + "2503": "failure", + "2504": "successful", + "2505": "failure", + "2506": "infeasible", + "2507": "infeasible", + "2508": "successful", + "2509": "failure", + "2510": "successful", + "2511": "failure", + "2512": "successful", + "2513": "failure", + "2514": "successful", + "2515": "failure", + "2516": "successful", + "2517": "failure", + "2518": "failure", + "2519": "successful", + "2520": "successful", + "2521": "successful", + "2522": "successful", + "2523": "failure", + "2524": "successful", + "2525": "failure", + "2526": "failure", + "2527": "successful", + "2528": "successful", + "2529": "failure", + "2530": "failure", + "2531": "failure", + "2532": "successful", + "2533": "failure", + "2534": "failure", + "2535": "successful", + "2536": "successful", + "2537": "successful", + "2538": "failure", + "2539": "failure", + "2540": "failure", + "2541": "failure", + "2542": "successful", + "2543": "successful", + "2544": "successful", + "2545": "failure", + "2546": "failure", + "2547": "successful", + "2548": "failure", + "2549": "failure", + "2550": "failure", + "2551": "successful", + "2552": "failure", + "2553": "successful", + "2554": "already_complete", + "2555": "successful", + "2556": "failure", + "2557": "already_complete", + "2558": "successful", + "2559": "already_complete", + "2560": "successful", + "2561": "failure", + "2562": "failure", + "2563": "successful", + "2564": "failure", + "2565": "successful", + "2566": "failure", + "2567": "failure", + "2568": "successful", + "2569": "successful", + "2570": "failure", + "2571": "successful", + "2572": "failure", + "2573": "failure", + "2574": "failure", + "2575": "failure", + "2576": "failure", + "2577": "failure", + "2578": "successful", + "2579": "failure", + "2580": "successful", + "2581": "failure", + "2582": "failure", + "2583": "successful", + "2584": "infeasible", + "2585": "successful", + "2586": "successful", + "2587": "successful", + "2588": "successful", + "2589": "successful", + "2590": "failure", + "2591": "successful", + "2592": "failure", + "2593": "successful", + "2594": "successful", + "2595": "failure", + "2596": "failure", + "2597": "successful", + "2598": "failure", + "2599": "successful", + "2600": "successful", + "2601": "failure", + "2602": "successful", + "2603": "failure", + "2604": "failure", + "2605": "successful", + "2606": "failure", + "2607": "successful", + "2608": "failure", + "2609": "failure", + "2610": "failure", + "2611": "failure", + "2612": "failure", + "2613": "successful", + "2614": "successful", + "2615": "successful", + "2616": "successful", + "2617": "successful", + "2618": "failure", + "2619": "failure", + "2620": "successful", + "2621": "failure", + "2622": "successful", + "2623": "successful", + "2624": "successful", + "2625": "failure", + "2626": "successful", + "2627": "successful", + "2628": "failure", + "2629": "failure", + "2630": "failure", + "2631": "infeasible", + "2632": "successful", + "2633": "successful", + "2634": "failure", + "2635": "failure", + "2636": "failure", + "2637": "successful", + "2638": "failure", + "2639": "failure", + "2640": "already_complete", + "2641": "successful", + "2642": "successful", + "2643": "successful", + "2644": "successful", + "2645": "failure", + "2646": "failure", + "2647": "failure", + "2648": "successful", + "2649": "successful", + "2650": "failure", + "2651": "successful", + "2652": "successful", + "2653": "successful", + "2654": "successful", + "2655": "failure", + "2656": "successful", + "2657": "successful", + "2658": "successful", + "2659": "successful", + "2660": "successful", + "2661": "failure", + "2662": "failure", + "2663": "successful", + "2664": "successful", + "2665": "failure", + "2666": "failure", + "2667": "failure", + "2668": "successful", + "2669": "failure", + "2670": "successful", + "2671": "failure", + "2672": "successful", + "2673": "successful", + "2674": "successful", + "2675": "successful", + "2676": "failure", + "2677": "successful", + "2678": "failure", + "2679": "infeasible", + "2680": "infeasible", + "2681": "failure", + "2682": "infeasible", + "2683": "failure", + "2684": "successful", + "2685": "failure", + "2686": "failure", + "2687": "failure", + "2688": "successful", + "2689": "successful", + "2690": "successful", + "2691": "successful", + "2692": "successful", + "2693": "failure", + "2694": "successful", + "2695": "failure", + "2696": "successful", + "2697": "successful", + "2698": "failure", + "2699": "failure", + "2700": "failure", + "2701": "failure", + "2702": "failure", + "2703": "failure", + "2704": "failure", + "2705": "successful", + "2706": "failure", + "2707": "successful", + "2708": "successful", + "2709": "failure", + "2710": "failure", + "2711": "successful", + "2712": "failure", + "2713": "successful", + "2714": "failure", + "2715": "failure", + "2716": "successful", + "2717": "already_complete", + "2718": "failure", + "2719": "failure", + "2720": "failure", + "2721": "successful", + "2722": "failure", + "2723": "failure", + "2724": "failure", + "2725": "failure", + "2726": "failure", + "2727": "successful", + "2728": "successful", + "2729": "failure", + "2730": "successful", + "2731": "successful", + "2732": "failure", + "2733": "failure", + "2734": "successful", + "2735": "successful", + "2736": "successful", + "2737": "failure", + "2738": "failure", + "2739": "successful", + "2740": "failure", + "2741": "failure", + "2742": "failure", + "2743": "failure", + "2744": "failure", + "2745": "successful", + "2746": "successful", + "2747": "failure", + "2748": "failure", + "2749": "successful", + "2750": "failure", + "2751": "failure", + "2752": "successful", + "2753": "successful", + "2754": "failure", + "2755": "successful", + "2756": "failure", + "2757": "successful", + "2758": "successful", + "2759": "failure", + "2760": "successful", + "2761": "failure", + "2762": "successful", + "2763": "failure", + "2764": "failure", + "2765": "failure", + "2766": "failure", + "2767": "failure", + "2768": "successful", + "2769": "successful", + "2770": "failure", + "2771": "already_complete", + "2772": "successful", + "2773": "failure", + "2774": "failure", + "2775": "failure", + "2776": "successful", + "2777": "failure", + "2778": "failure", + "2779": "failure", + "2780": "failure", + "2781": "successful", + "2782": "successful", + "2783": "successful", + "2784": "failure", + "2785": "successful", + "2786": "failure", + "2787": "infeasible", + "2788": "failure", + "2789": "failure", + "2790": "failure", + "2791": "successful", + "2792": "failure", + "2793": "successful", + "2794": "successful", + "2795": "infeasible", + "2796": "successful", + "2797": "successful", + "2798": "successful", + "2799": "failure", + "2800": "failure", + "2801": "failure", + "2802": "failure", + "2803": "failure", + "2804": "failure", + "2805": "failure", + "2806": "failure", + "2807": "successful", + "2808": "successful", + "2809": "failure", + "2810": "failure", + "2811": "successful", + "2812": "already_complete", + "2813": "successful", + "2814": "successful", + "2815": "failure", + "2816": "failure", + "2817": "successful", + "2818": "failure", + "2819": "successful", + "2820": "failure", + "2821": "failure", + "2822": "successful", + "2823": "failure", + "2824": "successful", + "2825": "successful", + "2826": "failure", + "2827": "successful", + "2828": "successful", + "2829": "failure", + "2830": "already_complete", + "2831": "successful", + "2832": "failure", + "2833": "successful", + "2834": "successful", + "2835": "failure", + "2836": "successful", + "2837": "successful", + "2838": "successful", + "2839": "successful", + "2840": "successful", + "2841": "failure", + "2842": "successful", + "2843": "failure", + "2844": "successful", + "2845": "successful", + "2846": "successful", + "2847": "successful", + "2848": "failure", + "2849": "failure", + "2850": "failure", + "2851": "successful", + "2852": "failure", + "2853": "successful", + "2854": "failure", + "2855": "failure", + "2856": "failure", + "2857": "successful", + "2858": "failure", + "2859": "failure", + "2860": "failure", + "2861": "successful", + "2862": "successful", + "2863": "failure", + "2864": "failure", + "2865": "successful", + "2866": "successful", + "2867": "failure", + "2868": "successful", + "2869": "successful", + "2870": "failure", + "2871": "failure", + "2872": "failure", + "2873": "already_complete", + "2874": "failure", + "2875": "failure", + "2876": "successful", + "2877": "failure", + "2878": "successful", + "2879": "failure", + "2880": "failure", + "2881": "successful", + "2882": "successful", + "2883": "successful", + "2884": "successful", + "2885": "successful", + "2886": "successful", + "2887": "failure", + "2888": "failure", + "2889": "failure", + "2890": "successful", + "2891": "failure", + "2892": "infeasible", + "2893": "failure", + "2894": "successful", + "2895": "failure", + "2896": "successful", + "2897": "successful", + "2898": "failure", + "2899": "failure", + "2900": "already_complete", + "2901": "successful", + "2902": "failure", + "2903": "successful", + "2904": "successful", + "2905": "failure", + "2906": "successful", + "2907": "failure", + "2908": "successful", + "2909": "failure", + "2910": "successful", + "2911": "infeasible", + "2912": "failure", + "2913": "successful", + "2914": "failure", + "2915": "failure", + "2916": "failure", + "2917": "successful", + "2918": "failure", + "2919": "successful", + "2920": "successful", + "2921": "failure", + "2922": "successful", + "2923": "failure", + "2924": "failure", + "2925": "successful", + "2926": "successful", + "2927": "successful", + "2928": "failure", + "2929": "already_complete", + "2930": "successful", + "2931": "successful", + "2932": "failure", + "2933": "successful", + "2934": "infeasible", + "2935": "failure", + "2936": "successful", + "2937": "successful", + "2938": "successful", + "2939": "failure", + "2940": "successful", + "2941": "successful", + "2942": "failure", + "2943": "successful", + "2944": "failure", + "2945": "failure", + "2946": "successful", + "2947": "failure", + "2948": "failure", + "2949": "successful", + "2950": "failure", + "2951": "successful", + "2952": "successful", + "2953": "failure", + "2954": "successful", + "2955": "successful", + "2956": "successful", + "2957": "successful", + "2958": "failure", + "2959": "failure", + "2960": "failure", + "2961": "successful", + "2962": "successful", + "2963": "failure", + "2964": "failure", + "2965": "successful", + "2966": "successful", + "2967": "failure", + "2968": "failure", + "2969": "failure", + "2970": "failure", + "2971": "infeasible", + "2972": "successful", + "2973": "failure", + "2974": "failure", + "2975": "successful", + "2976": "successful", + "2977": "failure", + "2978": "failure", + "2979": "failure", + "2980": "failure", + "2981": "failure", + "2982": "successful", + "2983": "successful", + "2984": "successful", + "2985": "successful", + "2986": "successful", + "2987": "failure", + "2988": "successful", + "2989": "successful", + "2990": "successful", + "2991": "successful", + "2992": "successful", + "2993": "successful", + "2994": "failure", + "2995": "successful", + "2996": "successful", + "2997": "failure", + "2998": "successful", + "2999": "infeasible", + "3000": "failure", + "3001": "failure", + "3002": "failure", + "3003": "successful", + "3004": "successful", + "3005": "failure", + "3006": "failure", + "3007": "successful", + "3008": "successful", + "3009": "successful", + "3010": "failure", + "3011": "successful", + "3012": "successful", + "3013": "failure", + "3014": "failure", + "3015": "successful", + "3016": "already_complete", + "3017": "already_complete", + "3018": "successful", + "3019": "successful", + "3020": "failure", + "3021": "failure", + "3022": "successful", + "3023": "failure", + "3024": "successful", + "3025": "failure", + "3026": "infeasible", + "3027": "infeasible", + "3028": "failure", + "3029": "successful", + "3030": "failure", + "3031": "failure", + "3032": "successful", + "3033": "successful", + "3034": "failure", + "3035": "failure", + "3036": "successful", + "3037": "successful", + "3038": "failure", + "3039": "successful", + "3040": "successful", + "3041": "failure", + "3042": "failure", + "3043": "successful", + "3044": "successful", + "3045": "failure", + "3046": "failure", + "3047": "failure", + "3048": "failure", + "3049": "failure", + "3050": "failure", + "3051": "failure", + "3052": "successful", + "3053": "failure", + "3054": "successful", + "3055": "failure", + "3056": "failure", + "3057": "successful", + "3058": "successful", + "3059": "successful", + "3060": "successful", + "3061": "successful", + "3062": "failure", + "3063": "failure", + "3064": "failure", + "3065": "successful", + "3066": "failure", + "3067": "successful", + "3068": "successful", + "3069": "successful", + "3070": "successful", + "3071": "successful", + "3072": "failure", + "3073": "successful", + "3074": "successful", + "3075": "successful", + "3076": "failure", + "3077": "failure", + "3078": "successful", + "3079": "failure", + "3080": "successful", + "3081": "failure", + "3082": "failure", + "3083": "failure", + "3084": "failure", + "3085": "already_complete", + "3086": "successful", + "3087": "successful", + "3088": "successful", + "3089": "failure", + "3090": "successful", + "3091": "infeasible", + "3092": "failure", + "3093": "failure", + "3094": "failure", + "3095": "failure", + "3096": "successful", + "3097": "failure", + "3098": "failure", + "3099": "failure", + "3100": "successful", + "3101": "successful", + "3102": "failure", + "3103": "successful", + "3104": "failure", + "3105": "failure", + "3106": "successful", + "3107": "already_complete", + "3108": "failure", + "3109": "failure", + "3110": "successful", + "3111": "failure", + "3112": "failure", + "3113": "failure", + "3114": "successful", + "3115": "successful", + "3116": "failure", + "3117": "failure", + "3118": "failure", + "3119": "successful", + "3120": "successful", + "3121": "successful", + "3122": "successful", + "3123": "failure", + "3124": "failure", + "3125": "successful", + "3126": "successful", + "3127": "successful", + "3128": "successful", + "3129": "failure", + "3130": "failure", + "3131": "failure", + "3132": "failure", + "3133": "failure", + "3134": "failure", + "3135": "failure", + "3136": "successful", + "3137": "successful", + "3138": "failure", + "3139": "successful", + "3140": "failure", + "3141": "failure", + "3142": "failure", + "3143": "failure", + "3144": "failure", + "3145": "failure", + "3146": "failure", + "3147": "successful", + "3148": "successful", + "3149": "successful", + "3150": "successful", + "3151": "failure", + "3152": "failure", + "3153": "failure", + "3154": "failure", + "3155": "failure", + "3156": "successful", + "3157": "failure", + "3158": "successful", + "3159": "failure", + "3160": "failure", + "3161": "failure", + "3162": "failure", + "3163": "successful", + "3164": "successful", + "3165": "successful", + "3166": "failure", + "3167": "successful", + "3168": "failure", + "3169": "successful", + "3170": "successful", + "3171": "failure", + "3172": "successful", + "3173": "failure", + "3174": "successful", + "3175": "successful", + "3176": "successful", + "3177": "already_complete", + "3178": "failure", + "3179": "failure", + "3180": "successful", + "3181": "successful", + "3182": "failure", + "3183": "failure", + "3184": "successful", + "3185": "successful", + "3186": "successful", + "3187": "successful", + "3188": "failure", + "3189": "failure", + "3190": "failure", + "3191": "successful", + "3192": "successful", + "3193": "failure", + "3194": "failure", + "3195": "failure", + "3196": "successful", + "3197": "failure", + "3198": "failure", + "3199": "successful", + "3200": "failure", + "3201": "successful", + "3202": "successful", + "3203": "successful", + "3204": "successful", + "3205": "successful", + "3206": "successful", + "3207": "successful", + "3208": "successful", + "3209": "successful", + "3210": "successful", + "3211": "successful", + "3212": "successful", + "3213": "failure", + "3214": "successful", + "3215": "successful", + "3216": "successful", + "3217": "failure", + "3218": "failure", + "3219": "failure", + "3220": "failure", + "3221": "failure", + "3222": "failure", + "3223": "successful", + "3224": "successful", + "3225": "successful", + "3226": "infeasible", + "3227": "failure", + "3228": "successful", + "3229": "successful", + "3230": "failure", + "3231": "failure", + "3232": "failure", + "3233": "successful", + "3234": "failure", + "3235": "successful", + "3236": "failure", + "3237": "failure", + "3238": "failure", + "3239": "successful", + "3240": "successful", + "3241": "failure", + "3242": "successful", + "3243": "failure", + "3244": "successful", + "3245": "failure", + "3246": "infeasible", + "3247": "successful", + "3248": "failure", + "3249": "successful", + "3250": "failure", + "3251": "successful", + "3252": "infeasible", + "3253": "successful", + "3254": "failure", + "3255": "failure", + "3256": "successful", + "3257": "successful", + "3258": "failure", + "3259": "successful", + "3260": "successful", + "3261": "successful", + "3262": "successful", + "3263": "failure", + "3264": "successful", + "3265": "successful", + "3266": "failure", + "3267": "successful", + "3268": "failure", + "3269": "failure", + "3270": "successful", + "3271": "successful", + "3272": "failure", + "3273": "successful", + "3274": "failure", + "3275": "successful", + "3276": "successful", + "3277": "successful", + "3278": "successful", + "3279": "successful", + "3280": "successful", + "3281": "successful", + "3282": "successful", + "3283": "successful", + "3284": "failure", + "3285": "failure", + "3286": "failure", + "3287": "failure", + "3288": "successful", + "3289": "failure", + "3290": "already_complete", + "3291": "already_complete", + "3292": "successful", + "3293": "failure", + "3294": "successful", + "3295": "failure", + "3296": "failure", + "3297": "failure", + "3298": "failure", + "3299": "successful", + "3300": "failure", + "3301": "successful", + "3302": "infeasible", + "3303": "infeasible", + "3304": "successful", + "3305": "failure", + "3306": "failure", + "3307": "failure", + "3308": "successful", + "3309": "successful", + "3310": "failure", + "3311": "successful", + "3312": "already_complete", + "3313": "failure", + "3314": "failure", + "3315": "successful", + "3316": "successful", + "3317": "successful", + "3318": "failure", + "3319": "successful", + "3320": "failure", + "3321": "successful", + "3322": "successful", + "3323": "successful", + "3324": "successful", + "3325": "failure", + "3326": "failure", + "3327": "failure", + "3328": "failure", + "3329": "successful", + "3330": "failure", + "3331": "successful", + "3332": "failure", + "3333": "successful", + "3334": "failure", + "3335": "failure", + "3336": "failure", + "3337": "successful", + "3338": "successful", + "3339": "successful", + "3340": "failure", + "3341": "failure", + "3342": "successful", + "3343": "successful", + "3344": "failure", + "3345": "failure", + "3346": "failure", + "3347": "successful", + "3348": "successful", + "3349": "failure", + "3350": "successful", + "3351": "failure", + "3352": "successful", + "3353": "failure", + "3354": "successful", + "3355": "successful", + "3356": "failure", + "3357": "successful", + "3358": "failure", + "3359": "failure", + "3360": "successful", + "3361": "infeasible", + "3362": "failure", + "3363": "successful", + "3364": "failure", + "3365": "already_complete", + "3366": "failure", + "3367": "already_complete", + "3368": "failure", + "3369": "successful", + "3370": "successful", + "3371": "successful", + "3372": "failure", + "3373": "failure", + "3374": "failure", + "3375": "successful", + "3376": "successful", + "3377": "failure", + "3378": "failure", + "3379": "failure", + "3380": "successful", + "3381": "successful", + "3382": "successful", + "3383": "failure", + "3384": "successful", + "3385": "failure", + "3386": "failure", + "3387": "successful", + "3388": "failure", + "3389": "successful", + "3390": "successful", + "3391": "failure", + "3392": "failure", + "3393": "failure", + "3394": "successful", + "3395": "successful", + "3396": "failure", + "3397": "failure", + "3398": "failure", + "3399": "successful", + "3400": "successful", + "3401": "successful", + "3402": "failure", + "3403": "failure", + "3404": "successful", + "3405": "failure", + "3406": "failure", + "3407": "failure", + "3408": "successful", + "3409": "successful", + "3410": "failure", + "3411": "failure", + "3412": "successful", + "3413": "successful", + "3414": "failure", + "3415": "failure", + "3416": "successful", + "3417": "successful", + "3418": "failure", + "3419": "failure", + "3420": "successful", + "3421": "failure", + "3422": "failure", + "3423": "failure", + "3424": "successful", + "3425": "successful", + "3426": "successful", + "3427": "failure", + "3428": "failure", + "3429": "successful", + "3430": "failure", + "3431": "failure", + "3432": "failure", + "3433": "successful", + "3434": "successful", + "3435": "failure", + "3436": "successful", + "3437": "failure", + "3438": "failure", + "3439": "successful", + "3440": "successful", + "3441": "successful", + "3442": "successful", + "3443": "failure", + "3444": "successful", + "3445": "successful", + "3446": "failure", + "3447": "successful", + "3448": "failure", + "3449": "successful", + "3450": "already_complete", + "3451": "successful", + "3452": "failure", + "3453": "successful", + "3454": "failure", + "3455": "failure", + "3456": "failure", + "3457": "failure", + "3458": "successful", + "3459": "successful", + "3460": "successful", + "3461": "successful", + "3462": "successful", + "3463": "successful", + "3464": "successful", + "3465": "failure", + "3466": "failure", + "3467": "failure", + "3468": "successful", + "3469": "failure", + "3470": "failure", + "3471": "failure", + "3472": "failure", + "3473": "successful", + "3474": "successful", + "3475": "successful", + "3476": "failure", + "3477": "successful", + "3478": "successful", + "3479": "failure", + "3480": "successful", + "3481": "successful", + "3482": "failure", + "3483": "failure", + "3484": "failure", + "3485": "failure", + "3486": "successful", + "3487": "successful", + "3488": "failure", + "3489": "successful", + "3490": "successful", + "3491": "successful", + "3492": "failure", + "3493": "successful", + "3494": "failure", + "3495": "failure", + "3496": "failure", + "3497": "failure", + "3498": "successful", + "3499": "failure", + "3500": "already_complete", + "3501": "successful", + "3502": "successful", + "3503": "failure", + "3504": "failure", + "3505": "failure", + "3506": "failure", + "3507": "failure", + "3508": "successful", + "3509": "successful", + "3510": "failure", + "3511": "failure", + "3512": "failure", + "3513": "failure", + "3514": "successful", + "3515": "failure", + "3516": "successful", + "3517": "successful", + "3518": "failure", + "3519": "failure", + "3520": "failure", + "3521": "failure", + "3522": "successful", + "3523": "failure", + "3524": "successful", + "3525": "successful", + "3526": "successful", + "3527": "successful", + "3528": "successful", + "3529": "failure", + "3530": "failure", + "3531": "failure", + "3532": "failure", + "3533": "failure", + "3534": "failure", + "3535": "successful", + "3536": "failure", + "3537": "failure", + "3538": "failure", + "3539": "failure", + "3540": "successful", + "3541": "failure", + "3542": "successful", + "3543": "failure", + "3544": "failure", + "3545": "failure", + "3546": "successful", + "3547": "failure", + "3548": "failure", + "3549": "failure", + "3550": "failure", + "3551": "successful", + "3552": "failure", + "3553": "successful", + "3554": "failure", + "3555": "successful", + "3556": "successful", + "3557": "failure", + "3558": "failure", + "3559": "successful", + "3560": "successful", + "3561": "successful", + "3562": "failure", + "3563": "failure", + "3564": "successful", + "3565": "failure", + "3566": "infeasible", + "3567": "already_complete", + "3568": "failure", + "3569": "successful", + "3570": "successful", + "3571": "successful", + "3572": "successful", + "3573": "successful", + "3574": "failure", + "3575": "failure", + "3576": "failure", + "3577": "failure", + "3578": "successful", + "3579": "successful", + "3580": "failure", + "3581": "successful", + "3582": "successful", + "3583": "failure", + "3584": "failure", + "3585": "failure", + "3586": "failure", + "3587": "successful", + "3588": "successful", + "3589": "failure", + "3590": "failure", + "3591": "failure", + "3592": "failure", + "3593": "successful", + "3594": "successful", + "3595": "successful", + "3596": "successful", + "3597": "successful", + "3598": "failure", + "3599": "already_complete", + "3600": "failure", + "3601": "failure", + "3602": "failure", + "3603": "successful", + "3604": "successful", + "3605": "successful", + "3606": "failure", + "3607": "successful", + "3608": "failure", + "3609": "successful", + "3610": "failure", + "3611": "failure", + "3612": "successful", + "3613": "failure", + "3614": "already_complete", + "3615": "failure", + "3616": "infeasible", + "3617": "successful", + "3618": "failure", + "3619": "successful", + "3620": "successful", + "3621": "successful", + "3622": "failure", + "3623": "infeasible", + "3624": "successful", + "3625": "failure", + "3626": "already_complete", + "3627": "failure", + "3628": "failure", + "3629": "successful", + "3630": "failure", + "3631": "failure", + "3632": "failure", + "3633": "failure", + "3634": "successful", + "3635": "failure", + "3636": "failure", + "3637": "failure", + "3638": "already_complete", + "3639": "successful", + "3640": "failure", + "3641": "failure", + "3642": "successful", + "3643": "failure", + "3644": "failure", + "3645": "successful", + "3646": "failure", + "3647": "successful", + "3648": "failure", + "3649": "successful", + "3650": "successful", + "3651": "failure", + "3652": "failure", + "3653": "successful", + "3654": "successful", + "3655": "failure", + "3656": "successful", + "3657": "successful", + "3658": "failure", + "3659": "failure", + "3660": "failure", + "3661": "failure", + "3662": "successful", + "3663": "successful", + "3664": "successful", + "3665": "successful", + "3666": "successful", + "3667": "already_complete", + "3668": "failure", + "3669": "failure", + "3670": "failure", + "3671": "failure", + "3672": "successful", + "3673": "successful", + "3674": "successful", + "3675": "failure", + "3676": "successful", + "3677": "successful", + "3678": "failure", + "3679": "successful", + "3680": "successful", + "3681": "failure", + "3682": "failure", + "3683": "failure", + "3684": "failure", + "3685": "failure", + "3686": "successful", + "3687": "failure", + "3688": "failure", + "3689": "successful", + "3690": "failure", + "3691": "failure", + "3692": "successful", + "3693": "failure", + "3694": "successful", + "3695": "successful", + "3696": "successful", + "3697": "failure", + "3698": "failure", + "3699": "infeasible", + "3700": "successful", + "3701": "successful", + "3702": "failure", + "3703": "failure", + "3704": "already_complete", + "3705": "successful", + "3706": "successful", + "3707": "successful", + "3708": "successful", + "3709": "successful", + "3710": "failure", + "3711": "failure", + "3712": "failure", + "3713": "successful", + "3714": "failure", + "3715": "failure", + "3716": "successful", + "3717": "failure", + "3718": "failure", + "3719": "failure", + "3720": "infeasible", + "3721": "successful", + "3722": "failure", + "3723": "successful", + "3724": "failure", + "3725": "failure", + "3726": "failure", + "3727": "successful", + "3728": "successful", + "3729": "successful", + "3730": "failure", + "3731": "successful", + "3732": "successful", + "3733": "successful", + "3734": "successful", + "3735": "successful", + "3736": "failure", + "3737": "successful", + "3738": "failure", + "3739": "failure", + "3740": "failure", + "3741": "successful", + "3742": "successful", + "3743": "already_complete", + "3744": "failure", + "3745": "failure", + "3746": "already_complete", + "3747": "successful", + "3748": "successful", + "3749": "successful", + "3750": "failure", + "3751": "failure", + "3752": "infeasible", + "3753": "successful", + "3754": "failure", + "3755": "failure", + "3756": "successful", + "3757": "successful", + "3758": "successful", + "3759": "failure", + "3760": "successful", + "3761": "successful", + "3762": "successful", + "3763": "failure", + "3764": "successful", + "3765": "successful", + "3766": "failure", + "3767": "successful", + "3768": "already_complete", + "3769": "successful", + "3770": "successful", + "3771": "failure", + "3772": "successful", + "3773": "successful", + "3774": "failure", + "3775": "failure", + "3776": "successful", + "3777": "failure", + "3778": "successful", + "3779": "failure", + "3780": "successful", + "3781": "successful", + "3782": "failure", + "3783": "failure", + "3784": "successful", + "3785": "failure", + "3786": "failure", + "3787": "successful", + "3788": "successful", + "3789": "successful", + "3790": "successful", + "3791": "already_complete", + "3792": "successful", + "3793": "failure", + "3794": "failure", + "3795": "successful", + "3796": "successful", + "3797": "failure", + "3798": "successful", + "3799": "successful", + "3800": "failure", + "3801": "successful", + "3802": "successful", + "3803": "failure", + "3804": "failure", + "3805": "failure", + "3806": "infeasible", + "3807": "successful", + "3808": "failure", + "3809": "failure", + "3810": "failure", + "3811": "successful", + "3812": "failure", + "3813": "failure", + "3814": "failure", + "3815": "successful", + "3816": "successful", + "3817": "failure", + "3818": "failure", + "3819": "failure", + "3820": "successful", + "3821": "successful", + "3822": "successful", + "3823": "failure", + "3824": "successful", + "3825": "successful", + "3826": "failure", + "3827": "failure", + "3828": "failure", + "3829": "failure", + "3830": "successful", + "3831": "failure", + "3832": "successful", + "3833": "failure", + "3834": "successful", + "3835": "failure", + "3836": "failure", + "3837": "successful", + "3838": "failure", + "3839": "successful", + "3840": "failure", + "3841": "successful", + "3842": "failure", + "3843": "failure", + "3844": "failure", + "3845": "failure", + "3846": "failure", + "3847": "failure", + "3848": "failure", + "3849": "failure", + "3850": "successful", + "3851": "failure", + "3852": "failure", + "3853": "successful", + "3854": "failure", + "3855": "successful", + "3856": "successful", + "3857": "successful", + "3858": "successful", + "3859": "successful", + "3860": "failure", + "3861": "successful", + "3862": "successful", + "3863": "successful", + "3864": "successful", + "3865": "failure", + "3866": "failure", + "3867": "failure", + "3868": "failure", + "3869": "failure", + "3870": "successful", + "3871": "failure", + "3872": "failure", + "3873": "already_complete", + "3874": "successful", + "3875": "successful", + "3876": "successful", + "3877": "successful", + "3878": "failure", + "3879": "successful", + "3880": "failure", + "3881": "successful", + "3882": "failure", + "3883": "successful", + "3884": "failure", + "3885": "successful", + "3886": "failure", + "3887": "successful", + "3888": "failure", + "3889": "successful", + "3890": "successful", + "3891": "failure", + "3892": "successful", + "3893": "failure", + "3894": "failure", + "3895": "failure", + "3896": "successful", + "3897": "successful", + "3898": "successful", + "3899": "successful", + "3900": "failure", + "3901": "successful", + "3902": "successful", + "3903": "successful", + "3904": "successful", + "3905": "successful", + "3906": "successful", + "3907": "failure", + "3908": "failure", + "3909": "failure", + "3910": "infeasible", + "3911": "failure", + "3912": "infeasible", + "3913": "successful", + "3914": "failure", + "3915": "successful", + "3916": "failure", + "3917": "successful", + "3918": "successful", + "3919": "successful", + "3920": "failure", + "3921": "failure", + "3922": "failure", + "3923": "successful", + "3924": "failure", + "3925": "successful", + "3926": "successful", + "3927": "failure", + "3928": "successful", + "3929": "successful", + "3930": "failure", + "3931": "failure", + "3932": "successful", + "3933": "failure", + "3934": "failure", + "3935": "failure", + "3936": "successful", + "3937": "failure", + "3938": "failure", + "3939": "successful", + "3940": "successful", + "3941": "failure", + "3942": "successful", + "3943": "failure", + "3944": "failure", + "3945": "successful", + "3946": "successful", + "3947": "failure", + "3948": "infeasible", + "3949": "successful", + "3950": "successful", + "3951": "successful", + "3952": "failure", + "3953": "failure", + "3954": "successful", + "3955": "successful", + "3956": "successful", + "3957": "successful", + "3958": "successful", + "3959": "failure", + "3960": "failure", + "3961": "successful", + "3962": "failure", + "3963": "failure", + "3964": "successful", + "3965": "successful", + "3966": "successful", + "3967": "failure", + "3968": "failure", + "3969": "failure", + "3970": "successful", + "3971": "failure", + "3972": "failure", + "3973": "successful", + "3974": "infeasible", + "3975": "failure", + "3976": "failure", + "3977": "successful", + "3978": "successful", + "3979": "failure", + "3980": "successful", + "3981": "already_complete", + "3982": "failure", + "3983": "successful", + "3984": "successful", + "3985": "failure", + "3986": "successful", + "3987": "infeasible", + "3988": "failure", + "3989": "failure", + "3990": "failure", + "3991": "successful", + "3992": "failure", + "3993": "failure", + "3994": "failure", + "3995": "failure", + "3996": "failure", + "3997": "failure", + "3998": "failure", + "3999": "failure", + "4000": "failure", + "4001": "failure", + "4002": "failure", + "4003": "failure", + "4004": "successful", + "4005": "failure", + "4006": "successful", + "4007": "failure", + "4008": "infeasible", + "4009": "failure", + "4010": "successful", + "4011": "successful", + "4012": "failure", + "4013": "failure", + "4014": "successful", + "4015": "failure", + "4016": "failure", + "4017": "failure", + "4018": "successful", + "4019": "successful", + "4020": "successful", + "4021": "infeasible", + "4022": "failure", + "4023": "successful", + "4024": "failure", + "4025": "successful", + "4026": "successful", + "4027": "successful", + "4028": "successful", + "4029": "successful", + "4030": "successful", + "4031": "failure", + "4032": "failure", + "4033": "failure", + "4034": "failure", + "4035": "failure", + "4036": "failure", + "4037": "failure", + "4038": "failure", + "4039": "successful", + "4040": "failure", + "4041": "failure", + "4042": "failure", + "4043": "successful", + "4044": "successful", + "4045": "failure", + "4046": "failure", + "4047": "failure", + "4048": "failure", + "4049": "failure", + "4050": "failure", + "4051": "successful", + "4052": "failure", + "4053": "successful", + "4054": "infeasible", + "4055": "successful", + "4056": "successful", + "4057": "failure", + "4058": "successful", + "4059": "failure", + "4060": "successful", + "4061": "failure", + "4062": "failure", + "4063": "successful", + "4064": "successful", + "4065": "failure", + "4066": "successful", + "4067": "failure", + "4068": "successful", + "4069": "successful", + "4070": "successful", + "4071": "successful", + "4072": "failure", + "4073": "failure", + "4074": "failure", + "4075": "failure", + "4076": "failure", + "4077": "successful", + "4078": "successful", + "4079": "successful", + "4080": "failure", + "4081": "failure", + "4082": "already_complete", + "4083": "successful", + "4084": "failure", + "4085": "failure", + "4086": "successful", + "4087": "failure", + "4088": "failure", + "4089": "successful", + "4090": "already_complete", + "4091": "successful", + "4092": "failure", + "4093": "failure", + "4094": "failure", + "4095": "successful", + "4096": "failure", + "4097": "already_complete", + "4098": "failure", + "4099": "successful", + "4100": "successful", + "4101": "successful", + "4102": "failure", + "4103": "successful", + "4104": "failure", + "4105": "successful", + "4106": "failure", + "4107": "successful", + "4108": "failure", + "4109": "infeasible", + "4110": "successful", + "4111": "successful", + "4112": "successful", + "4113": "failure", + "4114": "successful", + "4115": "failure", + "4116": "failure", + "4117": "successful", + "4118": "successful", + "4119": "failure", + "4120": "failure", + "4121": "successful", + "4122": "infeasible", + "4123": "successful", + "4124": "failure", + "4125": "failure", + "4126": "failure", + "4127": "failure", + "4128": "failure", + "4129": "failure", + "4130": "failure", + "4131": "failure", + "4132": "failure", + "4133": "failure", + "4134": "failure", + "4135": "failure", + "4136": "infeasible", + "4137": "failure", + "4138": "successful", + "4139": "failure", + "4140": "failure", + "4141": "failure", + "4142": "failure", + "4143": "successful", + "4144": "failure", + "4145": "failure", + "4146": "successful", + "4147": "successful", + "4148": "failure", + "4149": "failure", + "4150": "successful", + "4151": "failure", + "4152": "successful", + "4153": "failure", + "4154": "successful", + "4155": "failure", + "4156": "failure", + "4157": "failure", + "4158": "successful", + "4159": "failure", + "4160": "failure", + "4161": "failure", + "4162": "successful", + "4163": "failure", + "4164": "failure", + "4165": "failure", + "4166": "successful", + "4167": "successful", + "4168": "successful", + "4169": "failure", + "4170": "successful", + "4171": "successful", + "4172": "successful", + "4173": "failure", + "4174": "failure", + "4175": "failure", + "4176": "already_complete", + "4177": "successful", + "4178": "infeasible", + "4179": "failure", + "4180": "failure", + "4181": "successful", + "4182": "failure", + "4183": "successful", + "4184": "failure", + "4185": "failure", + "4186": "failure", + "4187": "failure", + "4188": "successful", + "4189": "failure", + "4190": "successful", + "4191": "infeasible", + "4192": "failure", + "4193": "failure", + "4194": "failure", + "4195": "successful", + "4196": "failure", + "4197": "successful", + "4198": "successful", + "4199": "failure", + "4200": "failure", + "4201": "failure", + "4202": "successful", + "4203": "failure", + "4204": "successful", + "4205": "failure", + "4206": "failure", + "4207": "successful", + "4208": "successful", + "4209": "successful", + "4210": "successful", + "4211": "successful", + "4212": "successful", + "4213": "failure", + "4214": "successful", + "4215": "failure", + "4216": "failure", + "4217": "failure", + "4218": "infeasible", + "4219": "failure", + "4220": "failure", + "4221": "successful", + "4222": "failure", + "4223": "failure", + "4224": "successful", + "4225": "failure", + "4226": "already_complete", + "4227": "failure", + "4228": "successful", + "4229": "failure", + "4230": "successful", + "4231": "successful", + "4232": "already_complete", + "4233": "successful", + "4234": "successful", + "4235": "successful", + "4236": "successful", + "4237": "successful", + "4238": "failure", + "4239": "successful", + "4240": "successful", + "4241": "failure", + "4242": "successful", + "4243": "successful", + "4244": "successful", + "4245": "successful", + "4246": "already_complete", + "4247": "failure", + "4248": "successful", + "4249": "successful", + "4250": "failure", + "4251": "successful", + "4252": "failure", + "4253": "successful", + "4254": "successful", + "4255": "failure", + "4256": "failure", + "4257": "successful", + "4258": "failure", + "4259": "failure", + "4260": "successful", + "4261": "failure", + "4262": "successful", + "4263": "failure", + "4264": "successful", + "4265": "successful", + "4266": "failure", + "4267": "failure", + "4268": "successful", + "4269": "failure", + "4270": "failure", + "4271": "successful", + "4272": "failure", + "4273": "successful", + "4274": "successful", + "4275": "already_complete", + "4276": "successful", + "4277": "failure", + "4278": "successful", + "4279": "successful", + "4280": "successful", + "4281": "failure", + "4282": "failure", + "4283": "failure", + "4284": "failure", + "4285": "failure", + "4286": "failure", + "4287": "successful", + "4288": "failure", + "4289": "successful", + "4290": "successful", + "4291": "successful", + "4292": "successful", + "4293": "successful", + "4294": "failure", + "4295": "successful", + "4296": "successful", + "4297": "already_complete", + "4298": "successful", + "4299": "successful", + "4300": "failure", + "4301": "successful", + "4302": "successful", + "4303": "successful", + "4304": "successful", + "4305": "failure", + "4306": "successful", + "4307": "successful", + "4308": "failure", + "4309": "failure", + "4310": "infeasible", + "4311": "successful", + "4312": "successful", + "4313": "failure", + "4314": "failure", + "4315": "failure", + "4316": "failure", + "4317": "infeasible", + "4318": "successful", + "4319": "failure", + "4320": "successful", + "4321": "failure", + "4322": "failure", + "4323": "failure", + "4324": "successful", + "4325": "failure", + "4326": "failure", + "4327": "successful", + "4328": "failure", + "4329": "successful", + "4330": "successful", + "4331": "failure", + "4332": "successful", + "4333": "failure", + "4334": "successful", + "4335": "failure", + "4336": "failure", + "4337": "failure", + "4338": "failure", + "4339": "successful", + "4340": "successful", + "4341": "failure", + "4342": "successful", + "4343": "successful", + "4344": "infeasible", + "4345": "successful", + "4346": "successful", + "4347": "successful", + "4348": "successful", + "4349": "successful", + "4350": "successful", + "4351": "failure", + "4352": "failure", + "4353": "failure", + "4354": "failure", + "4355": "failure", + "4356": "failure", + "4357": "failure", + "4358": "successful", + "4359": "failure", + "4360": "successful", + "4361": "failure", + "4362": "failure", + "4363": "successful", + "4364": "successful", + "4365": "infeasible", + "4366": "failure", + "4367": "successful", + "4368": "successful", + "4369": "failure", + "4370": "successful", + "4371": "successful", + "4372": "successful", + "4373": "successful", + "4374": "failure", + "4375": "infeasible", + "4376": "successful", + "4377": "successful", + "4378": "successful", + "4379": "successful", + "4380": "failure", + "4381": "successful", + "4382": "successful", + "4383": "successful", + "4384": "already_complete", + "4385": "successful", + "4386": "failure", + "4387": "failure", + "4388": "failure", + "4389": "failure", + "4390": "successful", + "4391": "successful", + "4392": "failure", + "4393": "already_complete", + "4394": "failure", + "4395": "successful", + "4396": "successful", + "4397": "successful", + "4398": "failure", + "4399": "failure", + "4400": "failure", + "4401": "successful", + "4402": "failure", + "4403": "failure", + "4404": "successful", + "4405": "failure", + "4406": "successful", + "4407": "successful", + "4408": "failure", + "4409": "failure", + "4410": "successful", + "4411": "successful", + "4412": "successful", + "4413": "successful", + "4414": "failure", + "4415": "successful", + "4416": "failure", + "4417": "failure", + "4418": "successful", + "4419": "successful", + "4420": "failure", + "4421": "successful", + "4422": "successful", + "4423": "already_complete", + "4424": "failure", + "4425": "failure", + "4426": "failure", + "4427": "failure", + "4428": "successful", + "4429": "failure", + "4430": "failure", + "4431": "failure", + "4432": "successful", + "4433": "failure", + "4434": "successful", + "4435": "failure", + "4436": "failure", + "4437": "failure", + "4438": "failure", + "4439": "failure", + "4440": "successful", + "4441": "failure", + "4442": "successful", + "4443": "successful", + "4444": "failure", + "4445": "failure", + "4446": "failure", + "4447": "successful", + "4448": "failure", + "4449": "successful", + "4450": "failure", + "4451": "successful", + "4452": "failure", + "4453": "successful", + "4454": "successful", + "4455": "successful", + "4456": "failure", + "4457": "failure", + "4458": "failure", + "4459": "successful", + "4460": "successful", + "4461": "failure", + "4462": "failure", + "4463": "successful", + "4464": "successful", + "4465": "failure", + "4466": "successful", + "4467": "successful", + "4468": "failure", + "4469": "successful", + "4470": "failure", + "4471": "failure", + "4472": "failure", + "4473": "failure", + "4474": "successful", + "4475": "failure", + "4476": "failure", + "4477": "successful", + "4478": "failure", + "4479": "successful", + "4480": "infeasible", + "4481": "successful", + "4482": "failure", + "4483": "failure", + "4484": "failure", + "4485": "successful", + "4486": "failure", + "4487": "successful", + "4488": "successful", + "4489": "successful", + "4490": "successful", + "4491": "failure", + "4492": "successful", + "4493": "successful", + "4494": "failure", + "4495": "successful", + "4496": "successful", + "4497": "successful", + "4498": "failure", + "4499": "successful", + "4500": "failure", + "4501": "successful", + "4502": "failure", + "4503": "successful", + "4504": "failure", + "4505": "successful", + "4506": "successful", + "4507": "failure", + "4508": "successful", + "4509": "failure", + "4510": "failure", + "4511": "successful", + "4512": "successful", + "4513": "failure", + "4514": "failure", + "4515": "successful", + "4516": "successful", + "4517": "failure", + "4518": "infeasible", + "4519": "successful", + "4520": "failure", + "4521": "failure", + "4522": "failure", + "4523": "failure", + "4524": "failure", + "4525": "successful", + "4526": "failure", + "4527": "failure", + "4528": "failure", + "4529": "failure", + "4530": "failure", + "4531": "failure", + "4532": "successful", + "4533": "successful", + "4534": "successful", + "4535": "successful", + "4536": "infeasible", + "4537": "failure", + "4538": "successful", + "4539": "successful", + "4540": "successful", + "4541": "failure", + "4542": "successful", + "4543": "failure", + "4544": "successful", + "4545": "failure", + "4546": "failure", + "4547": "successful", + "4548": "failure", + "4549": "successful", + "4550": "successful", + "4551": "successful", + "4552": "failure", + "4553": "successful", + "4554": "successful", + "4555": "already_complete", + "4556": "successful", + "4557": "failure", + "4558": "successful", + "4559": "failure", + "4560": "successful", + "4561": "failure", + "4562": "failure", + "4563": "failure", + "4564": "failure", + "4565": "successful", + "4566": "failure", + "4567": "failure", + "4568": "failure", + "4569": "failure", + "4570": "successful", + "4571": "successful", + "4572": "successful", + "4573": "successful", + "4574": "successful", + "4575": "infeasible", + "4576": "failure", + "4577": "failure", + "4578": "failure", + "4579": "failure", + "4580": "already_complete", + "4581": "failure", + "4582": "failure", + "4583": "infeasible", + "4584": "successful", + "4585": "failure", + "4586": "infeasible", + "4587": "failure", + "4588": "failure", + "4589": "successful", + "4590": "successful", + "4591": "successful", + "4592": "successful", + "4593": "failure", + "4594": "successful", + "4595": "successful", + "4596": "successful", + "4597": "failure", + "4598": "failure", + "4599": "successful", + "4600": "failure", + "4601": "failure", + "4602": "failure", + "4603": "failure", + "4604": "successful", + "4605": "failure", + "4606": "failure", + "4607": "failure", + "4608": "successful", + "4609": "successful", + "4610": "successful", + "4611": "successful", + "4612": "failure", + "4613": "failure", + "4614": "failure", + "4615": "successful", + "4616": "failure", + "4617": "failure", + "4618": "successful", + "4619": "failure", + "4620": "failure", + "4621": "failure", + "4622": "successful", + "4623": "successful", + "4624": "successful", + "4625": "successful", + "4626": "failure", + "4627": "failure", + "4628": "successful", + "4629": "failure", + "4630": "failure", + "4631": "successful", + "4632": "failure", + "4633": "successful", + "4634": "failure", + "4635": "failure", + "4636": "successful", + "4637": "failure", + "4638": "failure", + "4639": "successful", + "4640": "successful", + "4641": "failure", + "4642": "failure", + "4643": "failure", + "4644": "failure", + "4645": "failure", + "4646": "successful", + "4647": "failure", + "4648": "already_complete", + "4649": "successful", + "4650": "successful", + "4651": "failure", + "4652": "failure", + "4653": "failure", + "4654": "successful", + "4655": "failure", + "4656": "failure", + "4657": "failure", + "4658": "successful", + "4659": "successful", + "4660": "failure", + "4661": "failure", + "4662": "failure", + "4663": "successful", + "4664": "successful", + "4665": "successful", + "4666": "failure", + "4667": "failure", + "4668": "failure", + "4669": "infeasible", + "4670": "successful", + "4671": "successful", + "4672": "successful", + "4673": "successful", + "4674": "successful", + "4675": "successful", + "4676": "successful", + "4677": "failure", + "4678": "successful", + "4679": "failure", + "4680": "failure", + "4681": "successful", + "4682": "failure", + "4683": "failure", + "4684": "failure", + "4685": "failure", + "4686": "failure", + "4687": "successful", + "4688": "failure", + "4689": "failure", + "4690": "successful", + "4691": "failure", + "4692": "successful", + "4693": "failure", + "4694": "successful", + "4695": "successful", + "4696": "successful", + "4697": "successful", + "4698": "successful", + "4699": "successful", + "4700": "successful", + "4701": "successful", + "4702": "successful", + "4703": "failure", + "4704": "successful", + "4705": "successful", + "4706": "failure", + "4707": "infeasible", + "4708": "failure", + "4709": "successful", + "4710": "failure", + "4711": "successful", + "4712": "failure", + "4713": "successful", + "4714": "failure", + "4715": "successful", + "4716": "successful", + "4717": "failure", + "4718": "failure", + "4719": "successful", + "4720": "successful", + "4721": "failure", + "4722": "failure", + "4723": "successful", + "4724": "successful", + "4725": "successful", + "4726": "successful", + "4727": "successful", + "4728": "failure", + "4729": "failure", + "4730": "successful", + "4731": "successful", + "4732": "successful", + "4733": "successful", + "4734": "failure", + "4735": "already_complete", + "4736": "failure", + "4737": "failure", + "4738": "failure", + "4739": "successful", + "4740": "failure", + "4741": "failure", + "4742": "failure", + "4743": "failure", + "4744": "failure", + "4745": "successful", + "4746": "failure", + "4747": "failure", + "4748": "successful", + "4749": "failure", + "4750": "failure", + "4751": "failure", + "4752": "successful", + "4753": "successful", + "4754": "failure", + "4755": "successful", + "4756": "failure", + "4757": "successful", + "4758": "failure", + "4759": "failure", + "4760": "failure", + "4761": "successful", + "4762": "failure", + "4763": "successful", + "4764": "infeasible", + "4765": "successful", + "4766": "failure", + "4767": "successful", + "4768": "successful", + "4769": "failure", + "4770": "failure", + "4771": "failure", + "4772": "successful", + "4773": "failure", + "4774": "failure", + "4775": "successful", + "4776": "successful", + "4777": "successful", + "4778": "failure", + "4779": "failure", + "4780": "failure", + "4781": "successful", + "4782": "failure", + "4783": "already_complete", + "4784": "successful", + "4785": "failure", + "4786": "failure", + "4787": "successful", + "4788": "successful", + "4789": "failure", + "4790": "infeasible", + "4791": "successful", + "4792": "successful", + "4793": "successful", + "4794": "failure", + "4795": "failure", + "4796": "failure", + "4797": "failure", + "4798": "successful", + "4799": "failure", + "4800": "successful", + "4801": "failure", + "4802": "failure", + "4803": "failure", + "4804": "successful", + "4805": "successful", + "4806": "failure", + "4807": "successful", + "4808": "successful", + "4809": "failure", + "4810": "successful", + "4811": "successful", + "4812": "failure", + "4813": "failure", + "4814": "successful", + "4815": "failure", + "4816": "successful", + "4817": "successful", + "4818": "failure", + "4819": "failure", + "4820": "successful", + "4821": "successful", + "4822": "failure", + "4823": "successful", + "4824": "failure", + "4825": "failure", + "4826": "successful", + "4827": "failure", + "4828": "infeasible", + "4829": "already_complete", + "4830": "failure", + "4831": "successful", + "4832": "successful", + "4833": "successful", + "4834": "failure", + "4835": "successful", + "4836": "failure", + "4837": "failure", + "4838": "successful", + "4839": "successful", + "4840": "successful", + "4841": "successful", + "4842": "failure", + "4843": "failure", + "4844": "failure", + "4845": "failure", + "4846": "failure", + "4847": "failure", + "4848": "failure", + "4849": "successful", + "4850": "successful", + "4851": "failure", + "4852": "successful", + "4853": "successful", + "4854": "failure", + "4855": "successful", + "4856": "failure", + "4857": "failure", + "4858": "failure", + "4859": "successful", + "4860": "failure", + "4861": "failure", + "4862": "failure", + "4863": "failure", + "4864": "successful", + "4865": "failure", + "4866": "failure", + "4867": "successful", + "4868": "failure", + "4869": "failure", + "4870": "failure", + "4871": "successful", + "4872": "failure", + "4873": "failure", + "4874": "failure", + "4875": "successful", + "4876": "failure", + "4877": "successful", + "4878": "successful", + "4879": "successful", + "4880": "successful", + "4881": "failure", + "4882": "successful", + "4883": "failure", + "4884": "successful", + "4885": "successful", + "4886": "successful", + "4887": "failure", + "4888": "failure", + "4889": "successful", + "4890": "failure", + "4891": "failure", + "4892": "successful", + "4893": "successful", + "4894": "failure", + "4895": "failure", + "4896": "successful", + "4897": "failure", + "4898": "successful", + "4899": "failure", + "4900": "failure", + "4901": "successful", + "4902": "successful", + "4903": "successful", + "4904": "successful", + "4905": "successful", + "4906": "failure", + "4907": "failure", + "4908": "infeasible", + "4909": "infeasible", + "4910": "successful", + "4911": "failure", + "4912": "successful", + "4913": "successful", + "4914": "successful", + "4915": "failure", + "4916": "failure", + "4917": "successful", + "4918": "failure", + "4919": "successful", + "4920": "failure", + "4921": "successful", + "4922": "successful", + "4923": "failure", + "4924": "failure", + "4925": "failure", + "4926": "failure", + "4927": "successful", + "4928": "failure", + "4929": "failure", + "4930": "failure", + "4931": "successful", + "4932": "successful", + "4933": "failure", + "4934": "failure", + "4935": "failure", + "4936": "successful", + "4937": "successful", + "4938": "infeasible", + "4939": "successful", + "4940": "successful", + "4941": "failure", + "4942": "successful", + "4943": "failure", + "4944": "successful", + "4945": "failure", + "4946": "failure", + "4947": "successful", + "4948": "failure", + "4949": "successful", + "4950": "failure", + "4951": "infeasible", + "4952": "failure", + "4953": "successful", + "4954": "successful", + "4955": "failure", + "4956": "infeasible", + "4957": "successful", + "4958": "failure", + "4959": "successful", + "4960": "failure", + "4961": "failure", + "4962": "failure", + "4963": "successful", + "4964": "failure", + "4965": "failure", + "4966": "failure", + "4967": "successful", + "4968": "successful", + "4969": "successful", + "4970": "successful", + "4971": "failure", + "4972": "successful", + "4973": "successful", + "4974": "successful", + "4975": "successful", + "4976": "failure", + "4977": "successful", + "4978": "failure", + "4979": "failure", + "4980": "successful", + "4981": "successful", + "4982": "successful", + "4983": "successful", + "4984": "failure", + "4985": "failure", + "4986": "successful", + "4987": "successful", + "4988": "successful", + "4989": "failure", + "4990": "failure", + "4991": "successful", + "4992": "failure", + "4993": "successful", + "4994": "successful", + "4995": "successful", + "4996": "successful", + "4997": "successful", + "4998": "failure", + "4999": "successful", + "5000": "failure", + "5001": "failure", + "5002": "failure", + "5003": "successful", + "5004": "failure", + "5005": "successful", + "5006": "successful", + "5007": "failure", + "5008": "failure", + "5009": "already_complete", + "5010": "failure", + "5011": "failure", + "5012": "successful", + "5013": "failure", + "5014": "successful", + "5015": "successful", + "5016": "successful", + "5017": "successful", + "5018": "failure", + "5019": "successful", + "5020": "successful", + "5021": "failure", + "5022": "failure", + "5023": "failure", + "5024": "already_complete", + "5025": "successful", + "5026": "failure", + "5027": "infeasible", + "5028": "successful", + "5029": "failure", + "5030": "successful", + "5031": "successful", + "5032": "failure", + "5033": "successful", + "5034": "failure", + "5035": "failure", + "5036": "failure", + "5037": "successful", + "5038": "failure", + "5039": "successful", + "5040": "successful", + "5041": "successful", + "5042": "successful", + "5043": "successful", + "5044": "failure", + "5045": "failure", + "5046": "failure", + "5047": "successful", + "5048": "failure", + "5049": "failure", + "5050": "failure", + "5051": "successful", + "5052": "successful", + "5053": "failure", + "5054": "failure", + "5055": "infeasible", + "5056": "failure", + "5057": "failure", + "5058": "failure", + "5059": "failure", + "5060": "successful", + "5061": "failure", + "5062": "successful", + "5063": "failure", + "5064": "successful", + "5065": "failure", + "5066": "failure", + "5067": "successful", + "5068": "successful", + "5069": "failure", + "5070": "successful", + "5071": "successful", + "5072": "failure", + "5073": "successful", + "5074": "failure", + "5075": "already_complete", + "5076": "failure", + "5077": "successful", + "5078": "failure", + "5079": "failure", + "5080": "failure", + "5081": "failure", + "5082": "failure", + "5083": "successful", + "5084": "failure", + "5085": "failure", + "5086": "failure", + "5087": "successful", + "5088": "successful", + "5089": "successful", + "5090": "failure", + "5091": "failure", + "5092": "successful", + "5093": "failure", + "5094": "successful", + "5095": "successful", + "5096": "successful", + "5097": "failure", + "5098": "successful", + "5099": "failure", + "5100": "failure", + "5101": "successful", + "5102": "successful", + "5103": "failure", + "5104": "successful", + "5105": "infeasible", + "5106": "successful", + "5107": "successful", + "5108": "failure", + "5109": "failure", + "5110": "successful", + "5111": "failure", + "5112": "successful", + "5113": "successful", + "5114": "failure", + "5115": "successful", + "5116": "successful", + "5117": "successful", + "5118": "failure", + "5119": "failure", + "5120": "failure", + "5121": "successful", + "5122": "failure", + "5123": "failure", + "5124": "successful", + "5125": "failure", + "5126": "successful", + "5127": "failure", + "5128": "failure", + "5129": "successful", + "5130": "failure", + "5131": "failure", + "5132": "successful", + "5133": "successful", + "5134": "successful", + "5135": "failure", + "5136": "successful", + "5137": "failure", + "5138": "failure", + "5139": "infeasible", + "5140": "successful", + "5141": "failure", + "5142": "successful", + "5143": "successful", + "5144": "successful", + "5145": "failure", + "5146": "successful", + "5147": "failure", + "5148": "failure", + "5149": "already_complete", + "5150": "failure", + "5151": "successful", + "5152": "successful", + "5153": "failure", + "5154": "failure", + "5155": "successful", + "5156": "failure", + "5157": "already_complete", + "5158": "successful", + "5159": "failure", + "5160": "successful", + "5161": "successful", + "5162": "successful", + "5163": "failure", + "5164": "failure", + "5165": "failure", + "5166": "failure", + "5167": "successful", + "5168": "failure", + "5169": "failure", + "5170": "failure", + "5171": "failure", + "5172": "failure", + "5173": "successful", + "5174": "infeasible", + "5175": "failure", + "5176": "failure", + "5177": "successful", + "5178": "failure", + "5179": "failure", + "5180": "failure", + "5181": "successful", + "5182": "failure", + "5183": "successful", + "5184": "failure", + "5185": "failure", + "5186": "successful", + "5187": "successful", + "5188": "already_complete", + "5189": "failure", + "5190": "successful", + "5191": "failure", + "5192": "successful", + "5193": "failure", + "5194": "failure", + "5195": "failure", + "5196": "successful", + "5197": "successful", + "5198": "successful", + "5199": "failure", + "5200": "successful", + "5201": "successful", + "5202": "successful", + "5203": "failure", + "5204": "failure", + "5205": "failure", + "5206": "successful", + "5207": "successful", + "5208": "successful", + "5209": "successful", + "5210": "failure", + "5211": "successful", + "5212": "failure", + "5213": "failure", + "5214": "failure", + "5215": "successful", + "5216": "failure", + "5217": "failure", + "5218": "failure", + "5219": "failure", + "5220": "failure", + "5221": "successful", + "5222": "failure", + "5223": "successful", + "5224": "successful", + "5225": "successful", + "5226": "already_complete", + "5227": "successful", + "5228": "failure", + "5229": "successful", + "5230": "successful", + "5231": "failure", + "5232": "failure", + "5233": "failure", + "5234": "failure", + "5235": "failure", + "5236": "failure", + "5237": "failure", + "5238": "successful", + "5239": "failure", + "5240": "successful", + "5241": "successful", + "5242": "successful", + "5243": "successful", + "5244": "failure", + "5245": "failure", + "5246": "successful", + "5247": "successful", + "5248": "failure", + "5249": "failure", + "5250": "failure", + "5251": "successful", + "5252": "already_complete", + "5253": "failure", + "5254": "successful", + "5255": "successful", + "5256": "failure", + "5257": "successful", + "5258": "failure", + "5259": "failure", + "5260": "failure", + "5261": "successful", + "5262": "successful", + "5263": "failure", + "5264": "failure", + "5265": "failure", + "5266": "failure", + "5267": "failure", + "5268": "successful", + "5269": "failure", + "5270": "successful", + "5271": "failure", + "5272": "successful", + "5273": "failure", + "5274": "failure", + "5275": "successful", + "5276": "failure", + "5277": "infeasible", + "5278": "successful", + "5279": "successful", + "5280": "failure", + "5281": "failure", + "5282": "successful", + "5283": "failure", + "5284": "failure", + "5285": "already_complete", + "5286": "successful", + "5287": "successful", + "5288": "successful", + "5289": "failure", + "5290": "infeasible", + "5291": "failure", + "5292": "failure", + "5293": "successful", + "5294": "failure", + "5295": "failure", + "5296": "failure", + "5297": "successful", + "5298": "successful", + "5299": "already_complete", + "5300": "failure", + "5301": "already_complete", + "5302": "successful", + "5303": "failure", + "5304": "successful", + "5305": "already_complete", + "5306": "failure", + "5307": "failure", + "5308": "successful", + "5309": "failure", + "5310": "failure", + "5311": "successful", + "5312": "failure", + "5313": "successful", + "5314": "successful", + "5315": "failure", + "5316": "successful", + "5317": "successful", + "5318": "successful", + "5319": "failure", + "5320": "successful", + "5321": "failure", + "5322": "failure", + "5323": "failure", + "5324": "successful", + "5325": "successful", + "5326": "failure", + "5327": "successful", + "5328": "successful", + "5329": "successful", + "5330": "failure", + "5331": "failure", + "5332": "successful", + "5333": "successful", + "5334": "failure", + "5335": "successful", + "5336": "failure", + "5337": "failure", + "5338": "successful", + "5339": "successful", + "5340": "failure", + "5341": "failure", + "5342": "successful", + "5343": "failure", + "5344": "failure", + "5345": "failure", + "5346": "successful", + "5347": "successful", + "5348": "failure", + "5349": "failure", + "5350": "failure", + "5351": "successful", + "5352": "successful", + "5353": "failure", + "5354": "failure", + "5355": "failure", + "5356": "successful", + "5357": "failure", + "5358": "failure", + "5359": "successful", + "5360": "successful", + "5361": "failure", + "5362": "failure", + "5363": "failure", + "5364": "failure", + "5365": "successful", + "5366": "successful", + "5367": "failure", + "5368": "successful", + "5369": "failure", + "5370": "successful", + "5371": "successful", + "5372": "failure", + "5373": "successful", + "5374": "failure", + "5375": "failure", + "5376": "failure", + "5377": "successful", + "5378": "successful", + "5379": "successful", + "5380": "successful", + "5381": "failure", + "5382": "failure", + "5383": "failure", + "5384": "failure", + "5385": "successful", + "5386": "successful", + "5387": "failure", + "5388": "failure", + "5389": "successful", + "5390": "successful", + "5391": "failure", + "5392": "failure", + "5393": "successful", + "5394": "failure", + "5395": "failure", + "5396": "failure", + "5397": "successful", + "5398": "failure", + "5399": "successful", + "5400": "failure", + "5401": "failure", + "5402": "failure", + "5403": "successful", + "5404": "successful", + "5405": "failure", + "5406": "successful", + "5407": "failure", + "5408": "successful", + "5409": "successful", + "5410": "failure", + "5411": "failure", + "5412": "successful", + "5413": "successful", + "5414": "infeasible", + "5415": "failure", + "5416": "failure", + "5417": "successful", + "5418": "successful", + "5419": "failure", + "5420": "successful", + "5421": "successful", + "5422": "successful", + "5423": "successful", + "5424": "failure", + "5425": "failure", + "5426": "successful", + "5427": "successful", + "5428": "failure", + "5429": "successful", + "5430": "failure", + "5431": "failure", + "5432": "failure", + "5433": "failure", + "5434": "failure", + "5435": "failure", + "5436": "failure", + "5437": "successful", + "5438": "failure", + "5439": "successful", + "5440": "failure", + "5441": "successful", + "5442": "failure", + "5443": "successful", + "5444": "successful", + "5445": "successful", + "5446": "failure", + "5447": "failure", + "5448": "successful", + "5449": "failure", + "5450": "failure", + "5451": "failure", + "5452": "successful", + "5453": "failure", + "5454": "successful", + "5455": "failure", + "5456": "successful", + "5457": "failure", + "5458": "infeasible", + "5459": "failure", + "5460": "failure", + "5461": "successful", + "5462": "successful", + "5463": "failure", + "5464": "successful", + "5465": "failure", + "5466": "successful", + "5467": "failure", + "5468": "successful", + "5469": "successful", + "5470": "infeasible", + "5471": "failure", + "5472": "successful", + "5473": "failure", + "5474": "successful", + "5475": "failure", + "5476": "failure", + "5477": "failure", + "5478": "failure", + "5479": "successful", + "5480": "successful", + "5481": "successful", + "5482": "failure", + "5483": "failure", + "5484": "successful", + "5485": "failure", + "5486": "successful", + "5487": "failure", + "5488": "successful", + "5489": "successful", + "5490": "failure", + "5491": "failure", + "5492": "failure", + "5493": "failure", + "5494": "failure", + "5495": "failure", + "5496": "failure", + "5497": "successful", + "5498": "infeasible", + "5499": "successful", + "5500": "successful", + "5501": "failure", + "5502": "failure", + "5503": "successful", + "5504": "failure", + "5505": "failure", + "5506": "successful", + "5507": "failure", + "5508": "successful", + "5509": "failure", + "5510": "failure", + "5511": "failure", + "5512": "failure", + "5513": "successful", + "5514": "failure", + "5515": "successful", + "5516": "failure", + "5517": "failure", + "5518": "successful", + "5519": "successful", + "5520": "failure", + "5521": "successful", + "5522": "successful", + "5523": "failure", + "5524": "failure", + "5525": "successful", + "5526": "failure", + "5527": "successful", + "5528": "successful", + "5529": "failure", + "5530": "successful", + "5531": "successful", + "5532": "failure", + "5533": "failure", + "5534": "failure", + "5535": "failure", + "5536": "failure", + "5537": "successful", + "5538": "failure", + "5539": "failure", + "5540": "failure", + "5541": "successful", + "5542": "failure", + "5543": "failure", + "5544": "successful", + "5545": "failure", + "5546": "successful", + "5547": "successful", + "5548": "failure", + "5549": "failure", + "5550": "infeasible", + "5551": "successful", + "5552": "failure", + "5553": "failure", + "5554": "successful", + "5555": "failure", + "5556": "successful", + "5557": "failure", + "5558": "successful", + "5559": "successful", + "5560": "successful", + "5561": "successful", + "5562": "failure", + "5563": "successful", + "5564": "failure", + "5565": "successful", + "5566": "failure", + "5567": "failure", + "5568": "failure", + "5569": "failure", + "5570": "successful", + "5571": "successful", + "5572": "successful", + "5573": "failure", + "5574": "failure", + "5575": "failure", + "5576": "successful", + "5577": "infeasible", + "5578": "failure", + "5579": "successful", + "5580": "successful", + "5581": "failure", + "5582": "successful", + "5583": "failure", + "5584": "failure", + "5585": "successful", + "5586": "failure", + "5587": "failure", + "5588": "successful", + "5589": "failure", + "5590": "failure", + "5591": "successful", + "5592": "failure", + "5593": "failure", + "5594": "failure", + "5595": "failure", + "5596": "failure", + "5597": "failure", + "5598": "successful", + "5599": "successful", + "5600": "successful", + "5601": "already_complete", + "5602": "successful", + "5603": "successful", + "5604": "successful", + "5605": "failure", + "5606": "failure", + "5607": "already_complete", + "5608": "successful", + "5609": "failure", + "5610": "failure", + "5611": "successful", + "5612": "successful", + "5613": "successful", + "5614": "successful", + "5615": "failure", + "5616": "failure", + "5617": "already_complete", + "5618": "failure", + "5619": "failure", + "5620": "failure", + "5621": "failure", + "5622": "successful", + "5623": "successful", + "5624": "failure", + "5625": "failure", + "5626": "successful", + "5627": "successful", + "5628": "failure", + "5629": "successful", + "5630": "failure", + "5631": "successful", + "5632": "already_complete", + "5633": "failure", + "5634": "failure", + "5635": "failure", + "5636": "failure", + "5637": "failure", + "5638": "failure", + "5639": "successful", + "5640": "successful", + "5641": "failure", + "5642": "successful", + "5643": "successful", + "5644": "successful", + "5645": "successful", + "5646": "failure", + "5647": "failure", + "5648": "successful", + "5649": "successful", + "5650": "failure", + "5651": "successful", + "5652": "successful", + "5653": "failure", + "5654": "failure", + "5655": "failure", + "5656": "failure", + "5657": "successful", + "5658": "failure", + "5659": "failure", + "5660": "successful", + "5661": "successful", + "5662": "successful", + "5663": "failure", + "5664": "infeasible", + "5665": "failure", + "5666": "failure", + "5667": "failure", + "5668": "failure", + "5669": "successful", + "5670": "already_complete", + "5671": "successful", + "5672": "successful", + "5673": "successful", + "5674": "failure", + "5675": "failure", + "5676": "failure", + "5677": "successful", + "5678": "successful", + "5679": "failure", + "5680": "failure", + "5681": "failure", + "5682": "failure", + "5683": "successful", + "5684": "successful", + "5685": "successful", + "5686": "successful", + "5687": "successful", + "5688": "successful", + "5689": "successful", + "5690": "successful", + "5691": "failure", + "5692": "failure", + "5693": "failure", + "5694": "failure", + "5695": "successful", + "5696": "successful", + "5697": "successful", + "5698": "failure", + "5699": "failure", + "5700": "failure", + "5701": "successful", + "5702": "successful", + "5703": "successful", + "5704": "failure", + "5705": "successful", + "5706": "failure", + "5707": "successful", + "5708": "failure", + "5709": "successful", + "5710": "failure", + "5711": "failure", + "5712": "successful", + "5713": "failure", + "5714": "successful", + "5715": "successful", + "5716": "failure", + "5717": "successful", + "5718": "successful", + "5719": "successful", + "5720": "failure", + "5721": "successful", + "5722": "successful", + "5723": "infeasible", + "5724": "failure", + "5725": "failure", + "5726": "successful", + "5727": "already_complete", + "5728": "failure", + "5729": "failure", + "5730": "successful", + "5731": "failure", + "5732": "successful", + "5733": "successful", + "5734": "successful", + "5735": "failure", + "5736": "infeasible", + "5737": "failure", + "5738": "successful", + "5739": "successful", + "5740": "successful", + "5741": "successful", + "5742": "failure", + "5743": "successful", + "5744": "already_complete", + "5745": "failure", + "5746": "successful", + "5747": "successful", + "5748": "successful", + "5749": "failure", + "5750": "successful", + "5751": "successful", + "5752": "failure", + "5753": "successful", + "5754": "successful", + "5755": "failure", + "5756": "successful", + "5757": "failure", + "5758": "successful", + "5759": "successful", + "5760": "successful", + "5761": "failure", + "5762": "failure", + "5763": "already_complete", + "5764": "failure", + "5765": "failure", + "5766": "successful", + "5767": "successful", + "5768": "already_complete", + "5769": "successful", + "5770": "successful", + "5771": "failure", + "5772": "failure", + "5773": "failure", + "5774": "successful", + "5775": "failure", + "5776": "successful", + "5777": "failure", + "5778": "successful", + "5779": "failure", + "5780": "failure", + "5781": "failure", + "5782": "successful", + "5783": "successful", + "5784": "failure", + "5785": "failure", + "5786": "successful", + "5787": "failure", + "5788": "failure", + "5789": "failure", + "5790": "successful", + "5791": "failure", + "5792": "successful", + "5793": "failure", + "5794": "successful", + "5795": "failure", + "5796": "failure", + "5797": "successful", + "5798": "successful", + "5799": "successful", + "5800": "failure", + "5801": "successful", + "5802": "failure", + "5803": "successful", + "5804": "failure", + "5805": "successful", + "5806": "failure", + "5807": "failure", + "5808": "failure", + "5809": "failure", + "5810": "failure", + "5811": "already_complete", + "5812": "failure", + "5813": "successful", + "5814": "failure", + "5815": "successful", + "5816": "successful", + "5817": "failure", + "5818": "failure", + "5819": "failure", + "5820": "successful", + "5821": "failure", + "5822": "failure", + "5823": "successful", + "5824": "successful", + "5825": "successful", + "5826": "successful", + "5827": "successful", + "5828": "failure", + "5829": "failure", + "5830": "successful", + "5831": "successful", + "5832": "failure", + "5833": "successful", + "5834": "failure", + "5835": "failure", + "5836": "failure", + "5837": "failure", + "5838": "failure", + "5839": "failure", + "5840": "successful", + "5841": "failure", + "5842": "successful", + "5843": "successful", + "5844": "failure", + "5845": "successful", + "5846": "failure", + "5847": "successful", + "5848": "already_complete", + "5849": "successful", + "5850": "failure", + "5851": "successful", + "5852": "successful", + "5853": "failure", + "5854": "failure", + "5855": "failure", + "5856": "failure", + "5857": "successful", + "5858": "failure", + "5859": "successful", + "5860": "failure", + "5861": "successful", + "5862": "failure", + "5863": "failure", + "5864": "failure", + "5865": "successful", + "5866": "failure", + "5867": "failure", + "5868": "successful", + "5869": "successful", + "5870": "successful", + "5871": "failure", + "5872": "failure", + "5873": "successful", + "5874": "failure", + "5875": "failure", + "5876": "failure", + "5877": "successful", + "5878": "failure", + "5879": "failure", + "5880": "successful", + "5881": "successful", + "5882": "successful", + "5883": "failure", + "5884": "successful", + "5885": "failure", + "5886": "failure", + "5887": "successful", + "5888": "failure", + "5889": "failure", + "5890": "failure", + "5891": "failure", + "5892": "successful", + "5893": "failure", + "5894": "successful", + "5895": "successful", + "5896": "already_complete", + "5897": "successful", + "5898": "successful", + "5899": "successful", + "5900": "failure", + "5901": "failure", + "5902": "successful", + "5903": "failure", + "5904": "failure", + "5905": "successful", + "5906": "failure", + "5907": "infeasible", + "5908": "failure", + "5909": "successful", + "5910": "failure", + "5911": "successful", + "5912": "failure", + "5913": "failure", + "5914": "failure", + "5915": "failure", + "5916": "successful", + "5917": "successful", + "5918": "failure", + "5919": "failure", + "5920": "failure", + "5921": "successful", + "5922": "infeasible", + "5923": "failure", + "5924": "failure", + "5925": "failure", + "5926": "successful", + "5927": "failure", + "5928": "successful", + "5929": "failure", + "5930": "successful", + "5931": "failure", + "5932": "successful", + "5933": "failure", + "5934": "successful", + "5935": "successful", + "5936": "failure", + "5937": "failure", + "5938": "failure", + "5939": "failure", + "5940": "failure", + "5941": "successful", + "5942": "failure", + "5943": "failure", + "5944": "failure", + "5945": "failure", + "5946": "successful", + "5947": "failure", + "5948": "successful", + "5949": "failure", + "5950": "successful", + "5951": "successful", + "5952": "successful", + "5953": "failure", + "5954": "failure", + "5955": "successful", + "5956": "successful", + "5957": "failure", + "5958": "successful", + "5959": "successful", + "5960": "successful", + "5961": "successful", + "5962": "failure", + "5963": "successful", + "5964": "successful", + "5965": "failure", + "5966": "failure", + "5967": "failure", + "5968": "failure", + "5969": "failure", + "5970": "successful", + "5971": "failure", + "5972": "successful", + "5973": "successful", + "5974": "infeasible", + "5975": "successful", + "5976": "successful", + "5977": "successful", + "5978": "failure", + "5979": "successful", + "5980": "failure", + "5981": "successful", + "5982": "failure", + "5983": "successful", + "5984": "successful", + "5985": "failure", + "5986": "failure", + "5987": "successful", + "5988": "successful", + "5989": "successful", + "5990": "successful", + "5991": "failure", + "5992": "successful", + "5993": "failure", + "5994": "failure", + "5995": "successful", + "5996": "failure", + "5997": "failure", + "5998": "failure", + "5999": "successful", + "6000": "failure", + "6001": "successful", + "6002": "successful", + "6003": "successful", + "6004": "successful", + "6005": "failure", + "6006": "successful", + "6007": "successful", + "6008": "successful", + "6009": "failure", + "6010": "failure", + "6011": "failure", + "6012": "failure", + "6013": "failure", + "6014": "failure", + "6015": "failure", + "6016": "failure", + "6017": "successful", + "6018": "successful", + "6019": "failure", + "6020": "successful", + "6021": "failure", + "6022": "successful", + "6023": "successful", + "6024": "successful", + "6025": "failure", + "6026": "successful", + "6027": "successful", + "6028": "successful", + "6029": "successful", + "6030": "failure", + "6031": "successful", + "6032": "failure", + "6033": "failure", + "6034": "failure", + "6035": "failure", + "6036": "successful", + "6037": "failure", + "6038": "successful", + "6039": "failure", + "6040": "failure", + "6041": "failure", + "6042": "failure", + "6043": "successful", + "6044": "successful", + "6045": "failure", + "6046": "failure", + "6047": "successful", + "6048": "failure", + "6049": "successful", + "6050": "failure", + "6051": "successful", + "6052": "failure", + "6053": "failure", + "6054": "successful", + "6055": "already_complete", + "6056": "successful", + "6057": "successful", + "6058": "successful", + "6059": "failure", + "6060": "failure", + "6061": "successful", + "6062": "successful", + "6063": "successful", + "6064": "failure", + "6065": "successful", + "6066": "successful", + "6067": "infeasible", + "6068": "failure", + "6069": "failure", + "6070": "failure", + "6071": "failure", + "6072": "failure", + "6073": "successful", + "6074": "successful", + "6075": "failure", + "6076": "failure", + "6077": "successful", + "6078": "failure", + "6079": "failure", + "6080": "successful", + "6081": "failure", + "6082": "successful", + "6083": "failure", + "6084": "successful", + "6085": "successful", + "6086": "failure", + "6087": "successful", + "6088": "failure", + "6089": "failure", + "6090": "successful", + "6091": "successful", + "6092": "failure", + "6093": "successful", + "6094": "failure", + "6095": "failure", + "6096": "failure", + "6097": "successful", + "6098": "failure", + "6099": "failure", + "6100": "failure", + "6101": "successful", + "6102": "failure", + "6103": "successful", + "6104": "successful", + "6105": "failure", + "6106": "successful", + "6107": "failure", + "6108": "successful", + "6109": "successful", + "6110": "successful", + "6111": "successful", + "6112": "failure", + "6113": "successful", + "6114": "successful", + "6115": "successful", + "6116": "failure", + "6117": "failure", + "6118": "failure", + "6119": "failure", + "6120": "successful", + "6121": "failure", + "6122": "successful", + "6123": "failure", + "6124": "failure", + "6125": "successful", + "6126": "failure", + "6127": "successful", + "6128": "failure", + "6129": "successful", + "6130": "failure", + "6131": "infeasible", + "6132": "successful", + "6133": "successful", + "6134": "successful", + "6135": "infeasible", + "6136": "failure", + "6137": "successful", + "6138": "successful", + "6139": "failure", + "6140": "failure", + "6141": "failure", + "6142": "failure", + "6143": "successful", + "6144": "failure", + "6145": "failure", + "6146": "failure", + "6147": "failure", + "6148": "failure", + "6149": "successful", + "6150": "successful", + "6151": "failure", + "6152": "failure", + "6153": "infeasible", + "6154": "failure", + "6155": "failure", + "6156": "failure", + "6157": "infeasible", + "6158": "successful", + "6159": "failure", + "6160": "successful", + "6161": "already_complete", + "6162": "failure", + "6163": "failure", + "6164": "successful", + "6165": "already_complete", + "6166": "successful", + "6167": "failure", + "6168": "failure", + "6169": "infeasible", + "6170": "successful", + "6171": "successful", + "6172": "failure", + "6173": "successful", + "6174": "successful", + "6175": "successful", + "6176": "successful", + "6177": "failure", + "6178": "failure", + "6179": "successful", + "6180": "successful", + "6181": "successful", + "6182": "already_complete", + "6183": "infeasible", + "6184": "failure", + "6185": "failure", + "6186": "successful", + "6187": "successful", + "6188": "successful", + "6189": "successful", + "6190": "failure", + "6191": "failure", + "6192": "successful", + "6193": "failure", + "6194": "successful", + "6195": "successful", + "6196": "failure", + "6197": "failure", + "6198": "successful", + "6199": "failure", + "6200": "successful", + "6201": "successful", + "6202": "failure", + "6203": "failure", + "6204": "failure", + "6205": "successful", + "6206": "failure", + "6207": "successful", + "6208": "successful", + "6209": "successful", + "6210": "successful", + "6211": "successful", + "6212": "successful", + "6213": "successful", + "6214": "successful", + "6215": "failure", + "6216": "failure", + "6217": "successful", + "6218": "failure", + "6219": "successful", + "6220": "infeasible", + "6221": "successful", + "6222": "infeasible", + "6223": "failure", + "6224": "failure", + "6225": "successful", + "6226": "failure", + "6227": "failure", + "6228": "successful", + "6229": "already_complete", + "6230": "failure", + "6231": "successful", + "6232": "failure", + "6233": "failure", + "6234": "failure", + "6235": "failure", + "6236": "failure", + "6237": "successful", + "6238": "successful", + "6239": "failure", + "6240": "failure", + "6241": "failure", + "6242": "failure", + "6243": "successful", + "6244": "failure", + "6245": "failure", + "6246": "successful", + "6247": "successful", + "6248": "successful", + "6249": "successful", + "6250": "failure", + "6251": "successful", + "6252": "failure", + "6253": "failure", + "6254": "successful", + "6255": "failure", + "6256": "failure", + "6257": "failure", + "6258": "failure", + "6259": "failure", + "6260": "failure", + "6261": "failure", + "6262": "successful", + "6263": "successful", + "6264": "successful", + "6265": "failure", + "6266": "successful", + "6267": "failure", + "6268": "successful", + "6269": "failure", + "6270": "failure", + "6271": "successful", + "6272": "failure", + "6273": "successful", + "6274": "already_complete", + "6275": "successful", + "6276": "successful", + "6277": "successful", + "6278": "successful", + "6279": "failure", + "6280": "failure", + "6281": "failure", + "6282": "failure", + "6283": "successful", + "6284": "successful", + "6285": "failure", + "6286": "successful", + "6287": "failure", + "6288": "successful", + "6289": "failure", + "6290": "successful", + "6291": "failure", + "6292": "successful", + "6293": "failure", + "6294": "infeasible", + "6295": "failure", + "6296": "successful", + "6297": "successful", + "6298": "successful", + "6299": "infeasible", + "6300": "failure", + "6301": "successful", + "6302": "failure", + "6303": "successful", + "6304": "failure", + "6305": "successful", + "6306": "successful", + "6307": "failure", + "6308": "successful", + "6309": "failure", + "6310": "failure", + "6311": "failure", + "6312": "successful", + "6313": "successful", + "6314": "failure", + "6315": "successful", + "6316": "failure", + "6317": "failure", + "6318": "failure", + "6319": "failure", + "6320": "failure", + "6321": "failure", + "6322": "successful", + "6323": "failure", + "6324": "failure", + "6325": "successful", + "6326": "failure", + "6327": "successful", + "6328": "successful", + "6329": "successful", + "6330": "successful", + "6331": "failure", + "6332": "failure", + "6333": "failure", + "6334": "successful", + "6335": "failure", + "6336": "successful", + "6337": "failure", + "6338": "successful", + "6339": "failure", + "6340": "successful", + "6341": "failure", + "6342": "failure", + "6343": "failure", + "6344": "failure", + "6345": "successful", + "6346": "failure", + "6347": "failure", + "6348": "failure", + "6349": "failure", + "6350": "failure", + "6351": "failure", + "6352": "failure", + "6353": "failure", + "6354": "successful", + "6355": "failure", + "6356": "successful", + "6357": "failure", + "6358": "failure", + "6359": "failure", + "6360": "failure", + "6361": "successful", + "6362": "successful", + "6363": "failure", + "6364": "failure", + "6365": "successful", + "6366": "successful", + "6367": "successful", + "6368": "successful", + "6369": "infeasible", + "6370": "successful", + "6371": "failure", + "6372": "successful", + "6373": "successful", + "6374": "successful", + "6375": "failure", + "6376": "successful", + "6377": "failure", + "6378": "successful", + "6379": "successful", + "6380": "failure", + "6381": "failure", + "6382": "successful", + "6383": "failure", + "6384": "failure", + "6385": "failure", + "6386": "failure", + "6387": "failure", + "6388": "successful", + "6389": "failure", + "6390": "failure", + "6391": "failure", + "6392": "successful", + "6393": "failure", + "6394": "successful", + "6395": "successful", + "6396": "successful", + "6397": "already_complete", + "6398": "successful", + "6399": "successful", + "6400": "failure", + "6401": "successful", + "6402": "successful", + "6403": "successful", + "6404": "failure", + "6405": "successful", + "6406": "successful", + "6407": "failure", + "6408": "failure", + "6409": "successful", + "6410": "successful", + "6411": "failure", + "6412": "successful", + "6413": "successful", + "6414": "failure", + "6415": "failure", + "6416": "failure", + "6417": "failure", + "6418": "failure", + "6419": "infeasible", + "6420": "successful", + "6421": "failure", + "6422": "failure", + "6423": "successful", + "6424": "successful", + "6425": "successful", + "6426": "successful", + "6427": "failure", + "6428": "infeasible", + "6429": "failure", + "6430": "failure", + "6431": "successful", + "6432": "successful", + "6433": "successful", + "6434": "failure", + "6435": "failure", + "6436": "successful", + "6437": "successful", + "6438": "failure", + "6439": "successful", + "6440": "successful", + "6441": "successful", + "6442": "successful", + "6443": "successful", + "6444": "successful", + "6445": "successful", + "6446": "failure", + "6447": "failure", + "6448": "failure", + "6449": "successful", + "6450": "failure", + "6451": "successful", + "6452": "successful", + "6453": "successful", + "6454": "failure", + "6455": "failure", + "6456": "already_complete", + "6457": "failure", + "6458": "successful", + "6459": "successful", + "6460": "failure", + "6461": "successful", + "6462": "failure", + "6463": "successful", + "6464": "successful", + "6465": "successful", + "6466": "failure", + "6467": "successful", + "6468": "failure", + "6469": "successful", + "6470": "successful", + "6471": "failure", + "6472": "successful", + "6473": "failure", + "6474": "successful", + "6475": "successful", + "6476": "failure", + "6477": "failure", + "6478": "successful", + "6479": "successful", + "6480": "successful", + "6481": "failure", + "6482": "successful", + "6483": "successful", + "6484": "successful", + "6485": "infeasible", + "6486": "successful", + "6487": "successful", + "6488": "failure", + "6489": "failure", + "6490": "successful", + "6491": "failure", + "6492": "successful", + "6493": "failure", + "6494": "successful", + "6495": "successful", + "6496": "failure", + "6497": "successful", + "6498": "successful", + "6499": "successful", + "6500": "infeasible", + "6501": "successful", + "6502": "successful", + "6503": "successful", + "6504": "successful", + "6505": "failure", + "6506": "successful", + "6507": "failure", + "6508": "successful", + "6509": "infeasible", + "6510": "failure", + "6511": "successful", + "6512": "failure", + "6513": "failure", + "6514": "successful", + "6515": "failure", + "6516": "successful", + "6517": "successful", + "6518": "successful", + "6519": "successful", + "6520": "failure", + "6521": "successful", + "6522": "successful", + "6523": "successful", + "6524": "failure", + "6525": "failure", + "6526": "already_complete", + "6527": "failure", + "6528": "failure", + "6529": "failure", + "6530": "successful", + "6531": "successful", + "6532": "failure", + "6533": "failure", + "6534": "failure", + "6535": "failure", + "6536": "successful", + "6537": "successful", + "6538": "successful", + "6539": "failure", + "6540": "infeasible", + "6541": "already_complete", + "6542": "successful", + "6543": "failure", + "6544": "successful", + "6545": "failure", + "6546": "failure", + "6547": "successful", + "6548": "failure", + "6549": "failure", + "6550": "failure", + "6551": "failure", + "6552": "successful", + "6553": "successful", + "6554": "failure", + "6555": "successful", + "6556": "infeasible", + "6557": "successful", + "6558": "successful", + "6559": "failure", + "6560": "successful", + "6561": "successful", + "6562": "successful", + "6563": "failure", + "6564": "successful", + "6565": "successful", + "6566": "failure", + "6567": "successful", + "6568": "failure", + "6569": "failure", + "6570": "already_complete", + "6571": "failure", + "6572": "successful", + "6573": "successful", + "6574": "failure", + "6575": "failure", + "6576": "successful", + "6577": "already_complete", + "6578": "failure", + "6579": "successful", + "6580": "successful", + "6581": "successful", + "6582": "successful", + "6583": "already_complete", + "6584": "successful", + "6585": "failure", + "6586": "successful", + "6587": "failure", + "6588": "already_complete", + "6589": "failure", + "6590": "failure", + "6591": "failure", + "6592": "infeasible", + "6593": "successful", + "6594": "failure", + "6595": "successful", + "6596": "failure", + "6597": "successful", + "6598": "successful", + "6599": "successful", + "6600": "failure", + "6601": "successful", + "6602": "successful", + "6603": "failure", + "6604": "failure", + "6605": "successful", + "6606": "successful", + "6607": "already_complete", + "6608": "already_complete", + "6609": "failure", + "6610": "failure", + "6611": "failure", + "6612": "successful", + "6613": "failure", + "6614": "failure", + "6615": "successful", + "6616": "failure", + "6617": "failure", + "6618": "successful", + "6619": "failure", + "6620": "successful", + "6621": "failure", + "6622": "failure", + "6623": "successful", + "6624": "failure", + "6625": "successful", + "6626": "failure", + "6627": "failure", + "6628": "failure", + "6629": "successful", + "6630": "successful", + "6631": "infeasible", + "6632": "successful", + "6633": "successful", + "6634": "failure", + "6635": "successful", + "6636": "failure", + "6637": "failure", + "6638": "failure", + "6639": "failure", + "6640": "successful", + "6641": "successful", + "6642": "failure", + "6643": "successful", + "6644": "infeasible", + "6645": "failure", + "6646": "successful", + "6647": "failure", + "6648": "failure", + "6649": "failure", + "6650": "failure", + "6651": "infeasible", + "6652": "successful", + "6653": "failure", + "6654": "failure", + "6655": "successful", + "6656": "successful", + "6657": "failure", + "6658": "failure", + "6659": "failure", + "6660": "failure", + "6661": "successful", + "6662": "infeasible", + "6663": "failure", + "6664": "successful", + "6665": "failure", + "6666": "failure", + "6667": "failure", + "6668": "failure", + "6669": "failure", + "6670": "failure", + "6671": "successful", + "6672": "failure", + "6673": "failure", + "6674": "successful", + "6675": "failure", + "6676": "failure", + "6677": "already_complete", + "6678": "already_complete", + "6679": "successful", + "6680": "failure", + "6681": "successful", + "6682": "successful", + "6683": "failure", + "6684": "failure", + "6685": "failure", + "6686": "successful", + "6687": "successful", + "6688": "successful", + "6689": "successful", + "6690": "successful", + "6691": "failure", + "6692": "failure", + "6693": "failure", + "6694": "successful", + "6695": "failure", + "6696": "failure", + "6697": "already_complete", + "6698": "failure", + "6699": "failure", + "6700": "failure", + "6701": "successful", + "6702": "failure", + "6703": "failure", + "6704": "failure", + "6705": "successful", + "6706": "failure", + "6707": "failure", + "6708": "successful", + "6709": "successful", + "6710": "successful", + "6711": "failure", + "6712": "failure", + "6713": "successful", + "6714": "successful", + "6715": "failure", + "6716": "failure", + "6717": "successful", + "6718": "successful", + "6719": "failure", + "6720": "failure", + "6721": "infeasible", + "6722": "successful", + "6723": "successful", + "6724": "failure", + "6725": "failure", + "6726": "failure", + "6727": "successful", + "6728": "successful", + "6729": "successful", + "6730": "successful", + "6731": "already_complete", + "6732": "failure", + "6733": "failure", + "6734": "failure", + "6735": "infeasible", + "6736": "successful", + "6737": "failure", + "6738": "failure", + "6739": "failure", + "6740": "failure", + "6741": "failure", + "6742": "failure", + "6743": "already_complete", + "6744": "failure", + "6745": "failure", + "6746": "failure", + "6747": "failure", + "6748": "successful", + "6749": "successful", + "6750": "infeasible", + "6751": "successful", + "6752": "successful", + "6753": "successful", + "6754": "failure", + "6755": "successful", + "6756": "successful", + "6757": "failure", + "6758": "successful", + "6759": "failure", + "6760": "successful", + "6761": "successful", + "6762": "successful", + "6763": "failure", + "6764": "successful", + "6765": "successful", + "6766": "failure", + "6767": "successful", + "6768": "successful", + "6769": "successful", + "6770": "failure", + "6771": "failure", + "6772": "successful", + "6773": "successful", + "6774": "successful", + "6775": "successful", + "6776": "failure", + "6777": "successful", + "6778": "successful", + "6779": "failure", + "6780": "successful", + "6781": "failure", + "6782": "failure", + "6783": "failure", + "6784": "failure", + "6785": "failure", + "6786": "successful", + "6787": "successful", + "6788": "failure", + "6789": "successful", + "6790": "successful", + "6791": "failure", + "6792": "failure", + "6793": "failure", + "6794": "infeasible", + "6795": "infeasible", + "6796": "failure", + "6797": "failure", + "6798": "successful", + "6799": "failure", + "6800": "successful", + "6801": "failure", + "6802": "successful", + "6803": "successful", + "6804": "failure", + "6805": "failure", + "6806": "failure", + "6807": "successful", + "6808": "successful", + "6809": "infeasible", + "6810": "failure", + "6811": "successful", + "6812": "failure", + "6813": "failure", + "6814": "successful", + "6815": "failure", + "6816": "successful", + "6817": "failure", + "6818": "successful", + "6819": "failure", + "6820": "failure", + "6821": "successful", + "6822": "failure", + "6823": "failure", + "6824": "infeasible", + "6825": "failure", + "6826": "successful", + "6827": "failure", + "6828": "successful", + "6829": "failure", + "6830": "successful", + "6831": "failure", + "6832": "failure", + "6833": "failure", + "6834": "failure", + "6835": "already_complete", + "6836": "failure", + "6837": "failure", + "6838": "successful", + "6839": "successful", + "6840": "successful", + "6841": "failure", + "6842": "already_complete", + "6843": "failure", + "6844": "failure", + "6845": "successful", + "6846": "infeasible", + "6847": "failure", + "6848": "successful", + "6849": "failure", + "6850": "failure", + "6851": "successful", + "6852": "failure", + "6853": "failure", + "6854": "already_complete", + "6855": "successful", + "6856": "failure", + "6857": "successful", + "6858": "failure", + "6859": "failure", + "6860": "failure", + "6861": "failure", + "6862": "failure", + "6863": "failure", + "6864": "successful", + "6865": "successful", + "6866": "failure", + "6867": "successful", + "6868": "failure", + "6869": "successful", + "6870": "failure", + "6871": "successful", + "6872": "successful", + "6873": "failure", + "6874": "failure", + "6875": "failure", + "6876": "successful", + "6877": "successful", + "6878": "infeasible", + "6879": "successful", + "6880": "failure", + "6881": "successful", + "6882": "failure", + "6883": "successful", + "6884": "failure", + "6885": "failure", + "6886": "successful", + "6887": "successful", + "6888": "successful", + "6889": "failure", + "6890": "failure", + "6891": "failure", + "6892": "failure", + "6893": "failure", + "6894": "failure", + "6895": "failure", + "6896": "successful", + "6897": "failure", + "6898": "failure", + "6899": "failure", + "6900": "failure", + "6901": "successful", + "6902": "failure", + "6903": "failure", + "6904": "failure", + "6905": "successful", + "6906": "failure", + "6907": "successful", + "6908": "successful", + "6909": "failure", + "6910": "failure", + "6911": "failure", + "6912": "failure", + "6913": "failure", + "6914": "already_complete", + "6915": "successful", + "6916": "successful", + "6917": "failure", + "6918": "successful", + "6919": "failure", + "6920": "failure", + "6921": "successful", + "6922": "failure", + "6923": "successful", + "6924": "failure", + "6925": "infeasible", + "6926": "successful", + "6927": "failure", + "6928": "failure", + "6929": "successful", + "6930": "failure", + "6931": "successful", + "6932": "successful", + "6933": "successful", + "6934": "failure", + "6935": "successful", + "6936": "failure", + "6937": "failure", + "6938": "successful", + "6939": "successful", + "6940": "failure", + "6941": "failure", + "6942": "successful", + "6943": "successful", + "6944": "successful", + "6945": "failure", + "6946": "successful", + "6947": "already_complete", + "6948": "failure", + "6949": "successful", + "6950": "failure", + "6951": "successful", + "6952": "successful", + "6953": "successful", + "6954": "failure", + "6955": "failure", + "6956": "successful", + "6957": "failure", + "6958": "failure", + "6959": "failure", + "6960": "failure", + "6961": "successful", + "6962": "failure", + "6963": "failure", + "6964": "failure", + "6965": "successful", + "6966": "failure", + "6967": "failure", + "6968": "successful", + "6969": "failure", + "6970": "failure", + "6971": "successful", + "6972": "successful", + "6973": "successful", + "6974": "already_complete", + "6975": "failure", + "6976": "successful", + "6977": "failure", + "6978": "failure", + "6979": "failure", + "6980": "successful", + "6981": "failure", + "6982": "successful", + "6983": "failure", + "6984": "failure", + "6985": "failure", + "6986": "failure", + "6987": "failure", + "6988": "successful", + "6989": "failure", + "6990": "failure", + "6991": "failure", + "6992": "successful", + "6993": "failure", + "6994": "successful", + "6995": "failure", + "6996": "successful", + "6997": "successful", + "6998": "successful", + "6999": "infeasible", + "7000": "failure", + "7001": "successful", + "7002": "successful", + "7003": "failure", + "7004": "failure", + "7005": "successful", + "7006": "successful", + "7007": "failure", + "7008": "failure", + "7009": "failure", + "7010": "successful", + "7011": "failure", + "7012": "successful", + "7013": "failure", + "7014": "successful", + "7015": "successful", + "7016": "failure", + "7017": "failure", + "7018": "failure", + "7019": "successful", + "7020": "successful", + "7021": "failure", + "7022": "successful", + "7023": "failure", + "7024": "failure", + "7025": "failure", + "7026": "failure", + "7027": "successful", + "7028": "infeasible", + "7029": "failure", + "7030": "failure", + "7031": "failure", + "7032": "successful", + "7033": "failure", + "7034": "failure", + "7035": "failure", + "7036": "infeasible", + "7037": "successful", + "7038": "failure", + "7039": "failure", + "7040": "successful", + "7041": "failure", + "7042": "successful", + "7043": "failure", + "7044": "infeasible", + "7045": "failure", + "7046": "successful", + "7047": "successful", + "7048": "successful", + "7049": "failure", + "7050": "failure", + "7051": "failure", + "7052": "successful", + "7053": "already_complete", + "7054": "failure", + "7055": "failure", + "7056": "failure", + "7057": "failure", + "7058": "already_complete", + "7059": "already_complete", + "7060": "successful", + "7061": "failure", + "7062": "successful", + "7063": "failure", + "7064": "failure", + "7065": "failure", + "7066": "successful", + "7067": "successful", + "7068": "failure", + "7069": "successful", + "7070": "successful", + "7071": "successful", + "7072": "successful", + "7073": "successful", + "7074": "failure", + "7075": "failure", + "7076": "failure", + "7077": "failure", + "7078": "successful", + "7079": "failure", + "7080": "successful", + "7081": "failure", + "7082": "infeasible", + "7083": "successful", + "7084": "successful", + "7085": "successful", + "7086": "successful", + "7087": "failure", + "7088": "successful", + "7089": "successful", + "7090": "failure", + "7091": "failure", + "7092": "failure", + "7093": "failure", + "7094": "failure", + "7095": "successful", + "7096": "failure", + "7097": "successful", + "7098": "failure", + "7099": "successful", + "7100": "failure", + "7101": "successful", + "7102": "successful", + "7103": "successful", + "7104": "failure", + "7105": "failure", + "7106": "failure", + "7107": "successful", + "7108": "failure", + "7109": "failure", + "7110": "failure", + "7111": "failure", + "7112": "successful", + "7113": "failure", + "7114": "failure", + "7115": "failure", + "7116": "failure", + "7117": "failure", + "7118": "failure", + "7119": "failure", + "7120": "failure", + "7121": "successful", + "7122": "successful", + "7123": "failure", + "7124": "infeasible", + "7125": "failure", + "7126": "successful", + "7127": "failure", + "7128": "already_complete", + "7129": "successful", + "7130": "failure", + "7131": "successful", + "7132": "already_complete", + "7133": "successful", + "7134": "successful", + "7135": "failure", + "7136": "successful", + "7137": "successful", + "7138": "infeasible", + "7139": "successful", + "7140": "failure", + "7141": "successful", + "7142": "failure", + "7143": "successful", + "7144": "successful", + "7145": "successful", + "7146": "failure", + "7147": "successful", + "7148": "successful", + "7149": "failure", + "7150": "successful", + "7151": "successful", + "7152": "successful", + "7153": "failure", + "7154": "failure", + "7155": "failure", + "7156": "failure", + "7157": "successful", + "7158": "successful", + "7159": "failure", + "7160": "failure", + "7161": "successful", + "7162": "failure", + "7163": "failure", + "7164": "successful", + "7165": "successful", + "7166": "failure", + "7167": "failure", + "7168": "failure", + "7169": "failure", + "7170": "infeasible", + "7171": "failure", + "7172": "infeasible", + "7173": "successful", + "7174": "failure", + "7175": "successful", + "7176": "infeasible", + "7177": "failure", + "7178": "successful", + "7179": "successful", + "7180": "failure", + "7181": "failure", + "7182": "successful", + "7183": "successful", + "7184": "failure", + "7185": "already_complete", + "7186": "failure", + "7187": "successful", + "7188": "successful", + "7189": "successful", + "7190": "failure", + "7191": "successful", + "7192": "failure", + "7193": "failure", + "7194": "successful", + "7195": "successful", + "7196": "failure", + "7197": "failure", + "7198": "failure", + "7199": "successful", + "7200": "successful", + "7201": "failure", + "7202": "successful", + "7203": "failure", + "7204": "failure", + "7205": "successful", + "7206": "failure", + "7207": "already_complete", + "7208": "successful", + "7209": "successful", + "7210": "successful", + "7211": "successful", + "7212": "failure", + "7213": "successful", + "7214": "failure", + "7215": "successful", + "7216": "failure", + "7217": "successful", + "7218": "failure", + "7219": "successful", + "7220": "successful", + "7221": "failure", + "7222": "successful", + "7223": "failure", + "7224": "failure", + "7225": "failure", + "7226": "failure", + "7227": "successful", + "7228": "failure", + "7229": "successful", + "7230": "successful", + "7231": "successful", + "7232": "successful", + "7233": "failure", + "7234": "successful", + "7235": "failure", + "7236": "successful", + "7237": "failure", + "7238": "failure", + "7239": "successful", + "7240": "successful", + "7241": "failure", + "7242": "failure", + "7243": "failure", + "7244": "failure", + "7245": "successful", + "7246": "successful", + "7247": "failure", + "7248": "successful", + "7249": "failure", + "7250": "failure", + "7251": "successful", + "7252": "failure", + "7253": "failure", + "7254": "failure", + "7255": "successful", + "7256": "successful", + "7257": "successful", + "7258": "failure", + "7259": "failure", + "7260": "failure", + "7261": "failure", + "7262": "failure", + "7263": "successful", + "7264": "successful", + "7265": "successful", + "7266": "failure", + "7267": "failure", + "7268": "failure", + "7269": "successful", + "7270": "failure", + "7271": "successful", + "7272": "successful", + "7273": "failure", + "7274": "failure", + "7275": "successful", + "7276": "failure", + "7277": "failure", + "7278": "failure", + "7279": "successful", + "7280": "failure", + "7281": "failure", + "7282": "failure", + "7283": "failure", + "7284": "successful", + "7285": "successful", + "7286": "successful", + "7287": "failure", + "7288": "successful", + "7289": "failure", + "7290": "failure", + "7291": "successful", + "7292": "failure", + "7293": "successful", + "7294": "successful", + "7295": "successful", + "7296": "successful", + "7297": "failure", + "7298": "failure", + "7299": "successful", + "7300": "failure", + "7301": "failure", + "7302": "failure", + "7303": "successful", + "7304": "failure", + "7305": "successful", + "7306": "successful", + "7307": "successful", + "7308": "failure", + "7309": "failure", + "7310": "failure", + "7311": "successful", + "7312": "successful", + "7313": "failure", + "7314": "failure", + "7315": "successful", + "7316": "successful", + "7317": "failure", + "7318": "failure", + "7319": "failure", + "7320": "failure", + "7321": "successful", + "7322": "infeasible", + "7323": "already_complete", + "7324": "failure", + "7325": "successful", + "7326": "successful", + "7327": "successful", + "7328": "failure", + "7329": "failure", + "7330": "failure", + "7331": "successful", + "7332": "failure", + "7333": "failure", + "7334": "already_complete", + "7335": "failure", + "7336": "failure", + "7337": "failure", + "7338": "failure", + "7339": "failure", + "7340": "failure", + "7341": "failure", + "7342": "infeasible", + "7343": "already_complete", + "7344": "failure", + "7345": "failure", + "7346": "successful", + "7347": "successful", + "7348": "successful", + "7349": "successful", + "7350": "successful", + "7351": "failure", + "7352": "successful", + "7353": "failure", + "7354": "failure", + "7355": "failure", + "7356": "successful", + "7357": "failure", + "7358": "failure", + "7359": "failure", + "7360": "successful", + "7361": "successful", + "7362": "failure", + "7363": "failure", + "7364": "failure", + "7365": "failure", + "7366": "successful", + "7367": "failure", + "7368": "successful", + "7369": "successful", + "7370": "failure", + "7371": "failure", + "7372": "successful", + "7373": "successful", + "7374": "successful", + "7375": "failure", + "7376": "failure", + "7377": "failure", + "7378": "successful", + "7379": "failure", + "7380": "successful", + "7381": "successful", + "7382": "successful", + "7383": "failure", + "7384": "failure", + "7385": "failure", + "7386": "successful", + "7387": "failure", + "7388": "failure", + "7389": "infeasible", + "7390": "failure", + "7391": "successful", + "7392": "successful", + "7393": "failure", + "7394": "successful", + "7395": "failure", + "7396": "failure", + "7397": "successful", + "7398": "failure", + "7399": "infeasible", + "7400": "failure", + "7401": "successful", + "7402": "failure", + "7403": "failure", + "7404": "successful", + "7405": "failure", + "7406": "successful", + "7407": "failure", + "7408": "successful", + "7409": "failure", + "7410": "successful", + "7411": "infeasible", + "7412": "failure", + "7413": "failure", + "7414": "successful", + "7415": "failure", + "7416": "failure", + "7417": "successful", + "7418": "failure", + "7419": "successful", + "7420": "successful", + "7421": "failure", + "7422": "failure", + "7423": "successful", + "7424": "failure", + "7425": "failure", + "7426": "infeasible", + "7427": "successful", + "7428": "failure", + "7429": "failure", + "7430": "failure", + "7431": "successful", + "7432": "successful", + "7433": "successful", + "7434": "failure", + "7435": "failure", + "7436": "failure", + "7437": "successful", + "7438": "successful", + "7439": "successful", + "7440": "successful", + "7441": "failure", + "7442": "failure", + "7443": "failure", + "7444": "failure", + "7445": "successful", + "7446": "failure", + "7447": "failure", + "7448": "successful", + "7449": "failure", + "7450": "successful", + "7451": "successful", + "7452": "failure", + "7453": "failure", + "7454": "infeasible", + "7455": "already_complete", + "7456": "infeasible", + "7457": "successful", + "7458": "failure", + "7459": "successful", + "7460": "infeasible", + "7461": "failure", + "7462": "successful", + "7463": "successful", + "7464": "failure", + "7465": "failure", + "7466": "failure", + "7467": "successful", + "7468": "failure", + "7469": "failure", + "7470": "failure", + "7471": "successful", + "7472": "failure", + "7473": "successful", + "7474": "successful", + "7475": "successful", + "7476": "successful", + "7477": "failure", + "7478": "failure", + "7479": "failure", + "7480": "infeasible", + "7481": "failure", + "7482": "successful", + "7483": "failure", + "7484": "successful", + "7485": "failure", + "7486": "failure", + "7487": "successful", + "7488": "failure", + "7489": "failure", + "7490": "failure", + "7491": "already_complete", + "7492": "successful", + "7493": "successful", + "7494": "successful", + "7495": "already_complete", + "7496": "successful", + "7497": "failure", + "7498": "failure", + "7499": "successful", + "7500": "failure", + "7501": "failure", + "7502": "successful", + "7503": "failure", + "7504": "successful", + "7505": "failure", + "7506": "successful", + "7507": "infeasible", + "7508": "failure", + "7509": "successful", + "7510": "failure", + "7511": "successful", + "7512": "successful", + "7513": "successful", + "7514": "failure", + "7515": "successful", + "7516": "failure", + "7517": "failure", + "7518": "successful", + "7519": "failure", + "7520": "successful", + "7521": "failure", + "7522": "infeasible", + "7523": "failure", + "7524": "failure", + "7525": "failure", + "7526": "failure", + "7527": "successful", + "7528": "failure", + "7529": "successful", + "7530": "infeasible", + "7531": "failure", + "7532": "successful", + "7533": "successful", + "7534": "failure", + "7535": "failure", + "7536": "failure", + "7537": "failure", + "7538": "failure", + "7539": "failure", + "7540": "failure", + "7541": "successful", + "7542": "successful", + "7543": "successful", + "7544": "failure", + "7545": "successful", + "7546": "failure", + "7547": "failure", + "7548": "failure", + "7549": "failure", + "7550": "failure", + "7551": "failure", + "7552": "already_complete", + "7553": "failure", + "7554": "failure", + "7555": "successful", + "7556": "failure", + "7557": "successful", + "7558": "failure", + "7559": "failure", + "7560": "failure", + "7561": "failure", + "7562": "successful", + "7563": "failure", + "7564": "successful", + "7565": "successful", + "7566": "failure", + "7567": "successful", + "7568": "successful", + "7569": "failure", + "7570": "failure", + "7571": "failure", + "7572": "failure", + "7573": "failure", + "7574": "failure", + "7575": "successful", + "7576": "failure", + "7577": "failure", + "7578": "failure", + "7579": "already_complete", + "7580": "successful", + "7581": "failure", + "7582": "successful", + "7583": "failure", + "7584": "successful", + "7585": "already_complete", + "7586": "successful", + "7587": "successful", + "7588": "successful", + "7589": "successful", + "7590": "failure", + "7591": "failure", + "7592": "successful", + "7593": "successful", + "7594": "failure", + "7595": "failure", + "7596": "failure", + "7597": "successful", + "7598": "successful", + "7599": "successful", + "7600": "successful", + "7601": "successful", + "7602": "successful", + "7603": "successful", + "7604": "failure", + "7605": "failure", + "7606": "failure", + "7607": "successful", + "7608": "infeasible", + "7609": "successful", + "7610": "successful", + "7611": "failure", + "7612": "successful", + "7613": "successful", + "7614": "successful", + "7615": "successful", + "7616": "failure", + "7617": "successful", + "7618": "failure", + "7619": "successful", + "7620": "successful", + "7621": "failure", + "7622": "successful", + "7623": "successful", + "7624": "successful", + "7625": "infeasible", + "7626": "failure", + "7627": "successful", + "7628": "failure", + "7629": "failure", + "7630": "successful", + "7631": "failure", + "7632": "failure", + "7633": "successful", + "7634": "infeasible", + "7635": "failure", + "7636": "successful", + "7637": "successful", + "7638": "failure", + "7639": "failure", + "7640": "failure", + "7641": "successful", + "7642": "failure", + "7643": "failure", + "7644": "failure", + "7645": "successful", + "7646": "failure", + "7647": "failure", + "7648": "failure", + "7649": "failure", + "7650": "successful", + "7651": "successful", + "7652": "successful", + "7653": "successful", + "7654": "successful", + "7655": "successful", + "7656": "failure", + "7657": "failure", + "7658": "failure", + "7659": "failure", + "7660": "successful", + "7661": "failure", + "7662": "successful", + "7663": "successful", + "7664": "successful", + "7665": "failure", + "7666": "failure", + "7667": "successful", + "7668": "failure", + "7669": "failure", + "7670": "failure", + "7671": "successful", + "7672": "successful", + "7673": "failure", + "7674": "successful", + "7675": "failure", + "7676": "failure", + "7677": "successful", + "7678": "failure", + "7679": "failure", + "7680": "failure", + "7681": "failure", + "7682": "failure", + "7683": "failure", + "7684": "successful", + "7685": "failure", + "7686": "failure", + "7687": "failure", + "7688": "failure", + "7689": "successful", + "7690": "failure", + "7691": "successful", + "7692": "successful", + "7693": "failure", + "7694": "failure", + "7695": "failure", + "7696": "failure", + "7697": "successful", + "7698": "successful", + "7699": "successful", + "7700": "failure", + "7701": "successful", + "7702": "failure", + "7703": "failure", + "7704": "failure", + "7705": "failure", + "7706": "successful", + "7707": "successful", + "7708": "successful", + "7709": "failure", + "7710": "successful", + "7711": "failure", + "7712": "successful", + "7713": "failure", + "7714": "failure", + "7715": "failure", + "7716": "successful", + "7717": "successful", + "7718": "successful", + "7719": "successful", + "7720": "failure", + "7721": "successful", + "7722": "failure", + "7723": "failure", + "7724": "successful", + "7725": "successful", + "7726": "successful", + "7727": "failure", + "7728": "successful", + "7729": "successful", + "7730": "successful", + "7731": "failure", + "7732": "successful", + "7733": "successful", + "7734": "failure", + "7735": "failure", + "7736": "failure", + "7737": "failure", + "7738": "successful", + "7739": "failure", + "7740": "successful", + "7741": "successful", + "7742": "failure", + "7743": "failure", + "7744": "failure", + "7745": "failure", + "7746": "successful", + "7747": "failure", + "7748": "failure", + "7749": "failure", + "7750": "successful", + "7751": "failure", + "7752": "successful", + "7753": "failure", + "7754": "failure", + "7755": "successful", + "7756": "successful", + "7757": "failure", + "7758": "failure", + "7759": "successful", + "7760": "failure", + "7761": "failure", + "7762": "failure", + "7763": "failure", + "7764": "successful", + "7765": "infeasible", + "7766": "successful", + "7767": "failure", + "7768": "failure", + "7769": "failure", + "7770": "successful", + "7771": "successful", + "7772": "failure", + "7773": "failure", + "7774": "already_complete", + "7775": "successful", + "7776": "successful", + "7777": "failure", + "7778": "failure", + "7779": "successful", + "7780": "successful", + "7781": "successful", + "7782": "failure", + "7783": "failure", + "7784": "failure", + "7785": "failure", + "7786": "failure", + "7787": "successful", + "7788": "successful", + "7789": "successful", + "7790": "successful", + "7791": "failure", + "7792": "successful", + "7793": "successful", + "7794": "failure", + "7795": "failure", + "7796": "successful", + "7797": "successful", + "7798": "failure", + "7799": "failure", + "7800": "successful", + "7801": "failure", + "7802": "successful", + "7803": "failure", + "7804": "successful", + "7805": "failure", + "7806": "successful", + "7807": "successful", + "7808": "infeasible", + "7809": "failure", + "7810": "failure", + "7811": "failure", + "7812": "successful", + "7813": "successful", + "7814": "failure", + "7815": "failure", + "7816": "failure", + "7817": "successful", + "7818": "successful", + "7819": "successful", + "7820": "failure", + "7821": "failure", + "7822": "failure", + "7823": "successful", + "7824": "failure", + "7825": "successful", + "7826": "successful", + "7827": "successful", + "7828": "failure", + "7829": "successful", + "7830": "failure", + "7831": "failure", + "7832": "failure", + "7833": "already_complete", + "7834": "failure", + "7835": "failure", + "7836": "successful", + "7837": "successful", + "7838": "successful", + "7839": "failure", + "7840": "failure", + "7841": "successful", + "7842": "failure", + "7843": "failure", + "7844": "failure", + "7845": "failure", + "7846": "failure", + "7847": "failure", + "7848": "failure", + "7849": "successful", + "7850": "failure", + "7851": "successful", + "7852": "failure", + "7853": "failure", + "7854": "failure", + "7855": "already_complete", + "7856": "failure", + "7857": "failure", + "7858": "failure", + "7859": "failure", + "7860": "failure", + "7861": "failure", + "7862": "failure", + "7863": "failure", + "7864": "failure", + "7865": "failure", + "7866": "successful", + "7867": "successful", + "7868": "successful", + "7869": "failure", + "7870": "successful", + "7871": "failure", + "7872": "successful", + "7873": "successful", + "7874": "failure", + "7875": "failure", + "7876": "failure", + "7877": "successful", + "7878": "failure", + "7879": "failure", + "7880": "successful", + "7881": "failure", + "7882": "successful", + "7883": "successful", + "7884": "successful", + "7885": "successful", + "7886": "infeasible", + "7887": "failure", + "7888": "successful", + "7889": "failure", + "7890": "successful", + "7891": "failure", + "7892": "successful", + "7893": "failure", + "7894": "failure", + "7895": "failure", + "7896": "successful", + "7897": "successful", + "7898": "failure", + "7899": "failure", + "7900": "successful", + "7901": "already_complete", + "7902": "failure", + "7903": "infeasible", + "7904": "successful", + "7905": "failure", + "7906": "failure", + "7907": "failure", + "7908": "successful", + "7909": "successful", + "7910": "successful", + "7911": "successful", + "7912": "failure", + "7913": "successful", + "7914": "failure", + "7915": "successful", + "7916": "failure", + "7917": "failure", + "7918": "failure", + "7919": "failure", + "7920": "successful", + "7921": "failure", + "7922": "successful", + "7923": "successful", + "7924": "failure", + "7925": "successful", + "7926": "failure", + "7927": "successful", + "7928": "successful", + "7929": "failure", + "7930": "successful", + "7931": "successful", + "7932": "failure", + "7933": "failure", + "7934": "successful", + "7935": "failure", + "7936": "successful", + "7937": "failure", + "7938": "successful", + "7939": "failure", + "7940": "failure", + "7941": "failure", + "7942": "failure", + "7943": "successful", + "7944": "successful", + "7945": "successful", + "7946": "failure", + "7947": "failure", + "7948": "successful", + "7949": "successful", + "7950": "failure", + "7951": "failure", + "7952": "failure", + "7953": "failure", + "7954": "successful", + "7955": "successful", + "7956": "failure", + "7957": "successful", + "7958": "failure", + "7959": "successful", + "7960": "successful", + "7961": "successful", + "7962": "successful", + "7963": "successful", + "7964": "successful", + "7965": "failure", + "7966": "failure", + "7967": "successful", + "7968": "successful", + "7969": "successful", + "7970": "already_complete", + "7971": "failure", + "7972": "failure", + "7973": "failure", + "7974": "successful", + "7975": "failure", + "7976": "successful", + "7977": "failure", + "7978": "failure", + "7979": "successful", + "7980": "successful", + "7981": "failure", + "7982": "successful", + "7983": "successful", + "7984": "failure", + "7985": "successful", + "7986": "failure", + "7987": "failure", + "7988": "failure", + "7989": "successful", + "7990": "successful", + "7991": "failure", + "7992": "successful", + "7993": "successful", + "7994": "failure", + "7995": "successful", + "7996": "failure", + "7997": "failure", + "7998": "successful", + "7999": "successful", + "8000": "successful", + "8001": "failure", + "8002": "successful", + "8003": "successful", + "8004": "successful", + "8005": "failure", + "8006": "successful", + "8007": "failure", + "8008": "successful", + "8009": "failure", + "8010": "successful", + "8011": "failure", + "8012": "successful", + "8013": "successful", + "8014": "successful", + "8015": "successful", + "8016": "failure", + "8017": "failure", + "8018": "successful", + "8019": "successful", + "8020": "failure", + "8021": "successful", + "8022": "failure", + "8023": "failure", + "8024": "failure", + "8025": "failure", + "8026": "failure", + "8027": "successful", + "8028": "successful", + "8029": "failure", + "8030": "failure", + "8031": "failure", + "8032": "failure", + "8033": "successful", + "8034": "failure", + "8035": "successful", + "8036": "infeasible", + "8037": "successful", + "8038": "failure", + "8039": "failure", + "8040": "failure", + "8041": "failure", + "8042": "failure", + "8043": "successful", + "8044": "failure", + "8045": "successful", + "8046": "failure", + "8047": "successful", + "8048": "successful", + "8049": "failure", + "8050": "successful", + "8051": "failure", + "8052": "failure", + "8053": "successful", + "8054": "successful", + "8055": "failure", + "8056": "successful", + "8057": "successful", + "8058": "failure", + "8059": "successful", + "8060": "failure", + "8061": "successful", + "8062": "successful", + "8063": "successful", + "8064": "infeasible", + "8065": "successful", + "8066": "successful", + "8067": "successful", + "8068": "successful", + "8069": "failure", + "8070": "failure", + "8071": "failure", + "8072": "successful", + "8073": "failure", + "8074": "successful", + "8075": "successful", + "8076": "failure", + "8077": "successful", + "8078": "failure", + "8079": "failure", + "8080": "successful", + "8081": "successful", + "8082": "successful", + "8083": "failure", + "8084": "failure", + "8085": "successful", + "8086": "failure", + "8087": "successful", + "8088": "successful", + "8089": "successful", + "8090": "failure", + "8091": "successful", + "8092": "successful", + "8093": "failure", + "8094": "successful", + "8095": "failure", + "8096": "successful", + "8097": "successful", + "8098": "failure", + "8099": "failure", + "8100": "failure", + "8101": "successful", + "8102": "successful", + "8103": "successful", + "8104": "successful", + "8105": "failure", + "8106": "successful", + "8107": "successful", + "8108": "successful", + "8109": "failure", + "8110": "failure", + "8111": "successful", + "8112": "failure", + "8113": "failure", + "8114": "successful", + "8115": "failure", + "8116": "failure", + "8117": "failure", + "8118": "successful", + "8119": "failure", + "8120": "successful", + "8121": "successful", + "8122": "successful", + "8123": "failure", + "8124": "successful", + "8125": "successful", + "8126": "successful", + "8127": "failure", + "8128": "failure", + "8129": "successful", + "8130": "failure", + "8131": "failure", + "8132": "failure", + "8133": "successful", + "8134": "failure", + "8135": "already_complete", + "8136": "already_complete", + "8137": "failure", + "8138": "failure", + "8139": "successful", + "8140": "failure", + "8141": "successful", + "8142": "successful", + "8143": "failure", + "8144": "failure", + "8145": "failure", + "8146": "successful", + "8147": "successful", + "8148": "successful", + "8149": "successful", + "8150": "successful", + "8151": "successful", + "8152": "successful", + "8153": "successful", + "8154": "successful", + "8155": "failure", + "8156": "failure", + "8157": "failure", + "8158": "successful", + "8159": "failure", + "8160": "successful", + "8161": "failure", + "8162": "failure", + "8163": "failure", + "8164": "successful", + "8165": "failure", + "8166": "failure", + "8167": "successful", + "8168": "successful", + "8169": "successful", + "8170": "failure", + "8171": "failure", + "8172": "failure", + "8173": "failure", + "8174": "failure", + "8175": "successful", + "8176": "successful", + "8177": "infeasible", + "8178": "successful", + "8179": "successful", + "8180": "failure", + "8181": "successful", + "8182": "failure", + "8183": "failure", + "8184": "failure", + "8185": "failure", + "8186": "failure", + "8187": "successful", + "8188": "failure", + "8189": "successful", + "8190": "failure", + "8191": "infeasible", + "8192": "failure", + "8193": "successful", + "8194": "failure", + "8195": "infeasible", + "8196": "successful", + "8197": "failure", + "8198": "failure", + "8199": "failure", + "8200": "failure", + "8201": "failure", + "8202": "failure", + "8203": "successful", + "8204": "failure", + "8205": "successful", + "8206": "failure", + "8207": "successful", + "8208": "failure", + "8209": "failure", + "8210": "failure", + "8211": "failure", + "8212": "successful", + "8213": "failure", + "8214": "successful", + "8215": "successful", + "8216": "successful", + "8217": "failure", + "8218": "already_complete", + "8219": "failure", + "8220": "failure", + "8221": "failure", + "8222": "successful", + "8223": "failure", + "8224": "failure", + "8225": "successful", + "8226": "failure", + "8227": "failure", + "8228": "failure", + "8229": "failure", + "8230": "successful", + "8231": "successful", + "8232": "successful", + "8233": "failure", + "8234": "failure", + "8235": "successful", + "8236": "failure", + "8237": "failure", + "8238": "failure", + "8239": "failure", + "8240": "successful", + "8241": "failure", + "8242": "failure", + "8243": "successful", + "8244": "failure", + "8245": "successful", + "8246": "successful", + "8247": "successful", + "8248": "failure", + "8249": "successful", + "8250": "failure", + "8251": "failure", + "8252": "successful", + "8253": "successful", + "8254": "failure", + "8255": "failure", + "8256": "successful", + "8257": "successful", + "8258": "successful", + "8259": "successful", + "8260": "successful", + "8261": "infeasible", + "8262": "successful", + "8263": "failure", + "8264": "failure", + "8265": "failure", + "8266": "failure", + "8267": "failure", + "8268": "failure", + "8269": "successful", + "8270": "failure", + "8271": "failure", + "8272": "failure", + "8273": "failure", + "8274": "failure", + "8275": "successful", + "8276": "successful", + "8277": "successful", + "8278": "failure", + "8279": "failure", + "8280": "successful", + "8281": "failure", + "8282": "successful", + "8283": "successful", + "8284": "successful", + "8285": "failure", + "8286": "failure", + "8287": "successful", + "8288": "successful", + "8289": "successful", + "8290": "failure", + "8291": "failure", + "8292": "failure", + "8293": "failure", + "8294": "failure", + "8295": "successful", + "8296": "successful", + "8297": "successful", + "8298": "failure", + "8299": "successful", + "8300": "successful", + "8301": "successful", + "8302": "already_complete", + "8303": "failure", + "8304": "failure", + "8305": "failure", + "8306": "successful", + "8307": "failure", + "8308": "failure", + "8309": "infeasible", + "8310": "successful", + "8311": "failure", + "8312": "infeasible", + "8313": "failure", + "8314": "failure", + "8315": "successful", + "8316": "successful", + "8317": "failure", + "8318": "successful", + "8319": "failure", + "8320": "successful", + "8321": "successful", + "8322": "failure", + "8323": "successful", + "8324": "successful", + "8325": "failure", + "8326": "failure", + "8327": "failure", + "8328": "successful", + "8329": "successful", + "8330": "successful", + "8331": "successful", + "8332": "failure", + "8333": "successful", + "8334": "failure", + "8335": "failure", + "8336": "failure", + "8337": "failure", + "8338": "failure", + "8339": "successful", + "8340": "successful", + "8341": "successful", + "8342": "successful", + "8343": "successful", + "8344": "failure", + "8345": "failure", + "8346": "successful", + "8347": "failure", + "8348": "failure", + "8349": "failure", + "8350": "failure", + "8351": "successful", + "8352": "successful", + "8353": "successful", + "8354": "failure", + "8355": "failure", + "8356": "failure", + "8357": "failure", + "8358": "infeasible", + "8359": "successful", + "8360": "successful", + "8361": "failure", + "8362": "successful", + "8363": "successful", + "8364": "failure", + "8365": "successful", + "8366": "failure", + "8367": "failure", + "8368": "failure", + "8369": "failure", + "8370": "failure", + "8371": "failure", + "8372": "successful", + "8373": "successful", + "8374": "failure", + "8375": "successful", + "8376": "successful", + "8377": "successful", + "8378": "failure", + "8379": "failure", + "8380": "failure", + "8381": "successful", + "8382": "successful", + "8383": "successful", + "8384": "failure", + "8385": "successful", + "8386": "failure", + "8387": "successful", + "8388": "failure", + "8389": "successful", + "8390": "successful", + "8391": "failure", + "8392": "failure", + "8393": "successful", + "8394": "successful", + "8395": "failure", + "8396": "successful", + "8397": "failure", + "8398": "successful", + "8399": "infeasible", + "8400": "successful", + "8401": "failure", + "8402": "failure", + "8403": "failure", + "8404": "successful", + "8405": "successful", + "8406": "successful", + "8407": "successful", + "8408": "successful", + "8409": "successful", + "8410": "successful", + "8411": "failure", + "8412": "successful", + "8413": "failure", + "8414": "failure", + "8415": "failure", + "8416": "successful", + "8417": "failure", + "8418": "failure", + "8419": "successful", + "8420": "successful", + "8421": "successful", + "8422": "failure", + "8423": "failure", + "8424": "successful", + "8425": "failure", + "8426": "successful", + "8427": "successful", + "8428": "successful", + "8429": "successful", + "8430": "successful", + "8431": "failure", + "8432": "failure", + "8433": "successful", + "8434": "failure", + "8435": "successful", + "8436": "failure", + "8437": "successful", + "8438": "failure", + "8439": "failure", + "8440": "failure", + "8441": "successful", + "8442": "successful", + "8443": "failure", + "8444": "failure", + "8445": "failure", + "8446": "failure", + "8447": "failure", + "8448": "failure", + "8449": "successful", + "8450": "failure", + "8451": "successful", + "8452": "failure", + "8453": "successful", + "8454": "successful", + "8455": "failure", + "8456": "successful", + "8457": "failure", + "8458": "failure", + "8459": "failure", + "8460": "failure", + "8461": "failure", + "8462": "successful", + "8463": "infeasible", + "8464": "successful", + "8465": "failure", + "8466": "failure", + "8467": "failure", + "8468": "failure", + "8469": "successful", + "8470": "failure", + "8471": "successful", + "8472": "successful", + "8473": "successful", + "8474": "infeasible", + "8475": "successful", + "8476": "successful", + "8477": "failure", + "8478": "failure", + "8479": "failure", + "8480": "failure", + "8481": "failure", + "8482": "successful", + "8483": "successful", + "8484": "successful", + "8485": "successful", + "8486": "failure", + "8487": "failure", + "8488": "infeasible", + "8489": "successful", + "8490": "failure", + "8491": "successful", + "8492": "failure", + "8493": "successful", + "8494": "already_complete", + "8495": "failure", + "8496": "failure", + "8497": "successful", + "8498": "failure", + "8499": "failure", + "8500": "successful", + "8501": "infeasible", + "8502": "already_complete", + "8503": "failure", + "8504": "failure", + "8505": "failure", + "8506": "successful", + "8507": "failure", + "8508": "failure", + "8509": "failure", + "8510": "failure", + "8511": "failure", + "8512": "successful", + "8513": "successful", + "8514": "failure", + "8515": "failure", + "8516": "successful", + "8517": "successful", + "8518": "failure", + "8519": "failure", + "8520": "successful", + "8521": "failure", + "8522": "successful", + "8523": "successful", + "8524": "failure", + "8525": "failure", + "8526": "failure", + "8527": "failure", + "8528": "successful", + "8529": "failure", + "8530": "successful", + "8531": "successful", + "8532": "failure", + "8533": "failure", + "8534": "successful", + "8535": "failure", + "8536": "failure", + "8537": "successful", + "8538": "failure", + "8539": "successful", + "8540": "failure", + "8541": "successful", + "8542": "successful", + "8543": "failure", + "8544": "successful", + "8545": "successful", + "8546": "successful", + "8547": "successful", + "8548": "successful", + "8549": "failure", + "8550": "successful", + "8551": "successful", + "8552": "failure", + "8553": "failure", + "8554": "successful", + "8555": "successful", + "8556": "failure", + "8557": "successful", + "8558": "successful", + "8559": "failure", + "8560": "successful", + "8561": "infeasible", + "8562": "failure", + "8563": "failure", + "8564": "successful", + "8565": "successful", + "8566": "failure", + "8567": "failure", + "8568": "successful", + "8569": "successful", + "8570": "successful", + "8571": "successful", + "8572": "failure", + "8573": "failure", + "8574": "successful", + "8575": "successful", + "8576": "failure", + "8577": "failure", + "8578": "successful", + "8579": "failure", + "8580": "failure", + "8581": "successful", + "8582": "successful", + "8583": "successful", + "8584": "successful", + "8585": "successful", + "8586": "successful", + "8587": "successful", + "8588": "successful", + "8589": "successful", + "8590": "failure", + "8591": "failure", + "8592": "successful", + "8593": "successful", + "8594": "successful", + "8595": "successful", + "8596": "failure", + "8597": "successful", + "8598": "failure", + "8599": "failure", + "8600": "successful", + "8601": "successful", + "8602": "successful", + "8603": "failure", + "8604": "failure", + "8605": "successful", + "8606": "successful", + "8607": "successful", + "8608": "successful", + "8609": "successful", + "8610": "successful", + "8611": "successful", + "8612": "successful", + "8613": "successful", + "8614": "failure", + "8615": "already_complete", + "8616": "successful", + "8617": "failure", + "8618": "failure", + "8619": "failure", + "8620": "failure", + "8621": "successful", + "8622": "failure", + "8623": "failure", + "8624": "successful", + "8625": "failure", + "8626": "failure", + "8627": "successful", + "8628": "successful", + "8629": "failure", + "8630": "failure", + "8631": "successful", + "8632": "failure", + "8633": "failure", + "8634": "successful", + "8635": "infeasible", + "8636": "successful", + "8637": "successful", + "8638": "failure", + "8639": "successful", + "8640": "failure", + "8641": "successful", + "8642": "failure", + "8643": "already_complete", + "8644": "successful", + "8645": "successful", + "8646": "failure", + "8647": "successful", + "8648": "failure", + "8649": "successful", + "8650": "infeasible", + "8651": "failure", + "8652": "successful", + "8653": "successful", + "8654": "successful", + "8655": "failure", + "8656": "successful", + "8657": "successful", + "8658": "successful", + "8659": "failure", + "8660": "failure", + "8661": "failure", + "8662": "already_complete", + "8663": "failure", + "8664": "failure", + "8665": "failure", + "8666": "failure", + "8667": "failure", + "8668": "successful", + "8669": "successful", + "8670": "failure", + "8671": "failure", + "8672": "successful", + "8673": "successful", + "8674": "successful", + "8675": "successful", + "8676": "successful", + "8677": "successful", + "8678": "already_complete", + "8679": "failure", + "8680": "successful", + "8681": "successful", + "8682": "successful", + "8683": "failure", + "8684": "successful", + "8685": "failure", + "8686": "successful", + "8687": "successful", + "8688": "successful", + "8689": "failure", + "8690": "failure", + "8691": "failure", + "8692": "failure", + "8693": "failure", + "8694": "failure", + "8695": "successful", + "8696": "successful", + "8697": "successful", + "8698": "successful", + "8699": "failure", + "8700": "failure", + "8701": "failure", + "8702": "successful", + "8703": "failure", + "8704": "failure", + "8705": "already_complete", + "8706": "successful", + "8707": "successful", + "8708": "failure", + "8709": "failure", + "8710": "successful", + "8711": "failure", + "8712": "successful", + "8713": "failure", + "8714": "successful", + "8715": "failure", + "8716": "successful", + "8717": "infeasible", + "8718": "successful", + "8719": "successful", + "8720": "failure", + "8721": "successful", + "8722": "failure", + "8723": "failure", + "8724": "successful", + "8725": "failure", + "8726": "failure", + "8727": "already_complete", + "8728": "failure", + "8729": "successful", + "8730": "already_complete", + "8731": "failure", + "8732": "failure", + "8733": "failure", + "8734": "successful", + "8735": "failure", + "8736": "successful", + "8737": "successful", + "8738": "failure", + "8739": "successful", + "8740": "failure", + "8741": "failure", + "8742": "failure", + "8743": "failure", + "8744": "successful", + "8745": "successful", + "8746": "failure", + "8747": "failure", + "8748": "successful", + "8749": "failure", + "8750": "successful", + "8751": "failure", + "8752": "successful", + "8753": "failure", + "8754": "failure", + "8755": "successful", + "8756": "successful", + "8757": "infeasible", + "8758": "failure", + "8759": "successful", + "8760": "failure", + "8761": "successful", + "8762": "failure", + "8763": "successful", + "8764": "failure", + "8765": "successful", + "8766": "failure", + "8767": "successful", + "8768": "failure", + "8769": "failure", + "8770": "failure", + "8771": "infeasible", + "8772": "successful", + "8773": "successful", + "8774": "failure", + "8775": "successful", + "8776": "failure", + "8777": "successful", + "8778": "failure", + "8779": "failure", + "8780": "failure", + "8781": "successful", + "8782": "failure", + "8783": "successful", + "8784": "successful", + "8785": "failure", + "8786": "failure", + "8787": "successful", + "8788": "failure", + "8789": "failure", + "8790": "failure", + "8791": "successful", + "8792": "successful", + "8793": "failure", + "8794": "failure", + "8795": "successful", + "8796": "failure", + "8797": "successful", + "8798": "failure", + "8799": "failure", + "8800": "successful", + "8801": "failure", + "8802": "already_complete", + "8803": "failure", + "8804": "successful", + "8805": "failure", + "8806": "failure", + "8807": "successful", + "8808": "failure", + "8809": "failure", + "8810": "failure", + "8811": "successful", + "8812": "successful", + "8813": "failure", + "8814": "successful", + "8815": "already_complete", + "8816": "failure", + "8817": "successful", + "8818": "failure", + "8819": "successful", + "8820": "successful", + "8821": "failure", + "8822": "failure", + "8823": "failure", + "8824": "successful", + "8825": "already_complete", + "8826": "successful", + "8827": "failure", + "8828": "failure", + "8829": "successful", + "8830": "failure", + "8831": "failure", + "8832": "failure", + "8833": "successful", + "8834": "failure", + "8835": "successful", + "8836": "successful", + "8837": "failure", + "8838": "successful", + "8839": "failure", + "8840": "failure", + "8841": "failure", + "8842": "successful", + "8843": "failure", + "8844": "successful", + "8845": "successful", + "8846": "failure", + "8847": "successful", + "8848": "already_complete", + "8849": "already_complete", + "8850": "failure", + "8851": "failure", + "8852": "successful", + "8853": "successful", + "8854": "successful", + "8855": "failure", + "8856": "failure", + "8857": "failure", + "8858": "failure", + "8859": "failure", + "8860": "failure", + "8861": "successful", + "8862": "failure", + "8863": "failure", + "8864": "failure", + "8865": "successful", + "8866": "failure", + "8867": "failure", + "8868": "failure", + "8869": "successful", + "8870": "successful", + "8871": "successful", + "8872": "failure", + "8873": "failure", + "8874": "already_complete", + "8875": "failure", + "8876": "successful", + "8877": "successful", + "8878": "failure", + "8879": "failure", + "8880": "failure", + "8881": "successful", + "8882": "already_complete", + "8883": "failure", + "8884": "failure", + "8885": "failure", + "8886": "failure", + "8887": "failure", + "8888": "successful", + "8889": "successful", + "8890": "successful", + "8891": "successful", + "8892": "failure", + "8893": "failure", + "8894": "successful", + "8895": "failure", + "8896": "failure", + "8897": "successful", + "8898": "successful", + "8899": "successful", + "8900": "successful", + "8901": "successful", + "8902": "failure", + "8903": "failure", + "8904": "failure", + "8905": "failure", + "8906": "failure", + "8907": "successful", + "8908": "failure", + "8909": "successful", + "8910": "failure", + "8911": "successful", + "8912": "successful", + "8913": "successful", + "8914": "successful", + "8915": "failure", + "8916": "failure", + "8917": "failure", + "8918": "successful", + "8919": "already_complete", + "8920": "already_complete", + "8921": "failure", + "8922": "successful", + "8923": "successful", + "8924": "failure", + "8925": "failure", + "8926": "successful", + "8927": "failure", + "8928": "successful", + "8929": "failure", + "8930": "successful", + "8931": "failure", + "8932": "failure", + "8933": "failure", + "8934": "failure", + "8935": "successful", + "8936": "successful", + "8937": "successful", + "8938": "infeasible", + "8939": "failure", + "8940": "failure", + "8941": "failure", + "8942": "failure", + "8943": "successful", + "8944": "failure", + "8945": "failure", + "8946": "failure", + "8947": "successful", + "8948": "successful", + "8949": "failure", + "8950": "successful", + "8951": "successful", + "8952": "successful", + "8953": "failure", + "8954": "successful", + "8955": "failure", + "8956": "successful", + "8957": "successful", + "8958": "failure", + "8959": "successful", + "8960": "successful", + "8961": "failure", + "8962": "successful", + "8963": "failure", + "8964": "successful", + "8965": "failure", + "8966": "successful", + "8967": "failure", + "8968": "failure", + "8969": "successful", + "8970": "failure", + "8971": "successful", + "8972": "failure", + "8973": "successful", + "8974": "failure", + "8975": "successful", + "8976": "failure", + "8977": "successful", + "8978": "successful", + "8979": "successful", + "8980": "successful", + "8981": "successful", + "8982": "failure", + "8983": "already_complete", + "8984": "failure", + "8985": "failure", + "8986": "failure", + "8987": "successful", + "8988": "failure", + "8989": "successful", + "8990": "successful", + "8991": "successful", + "8992": "failure", + "8993": "failure", + "8994": "successful", + "8995": "successful", + "8996": "successful", + "8997": "failure", + "8998": "successful", + "8999": "successful", + "9000": "failure", + "9001": "successful", + "9002": "successful", + "9003": "successful", + "9004": "successful", + "9005": "failure", + "9006": "successful", + "9007": "failure", + "9008": "failure", + "9009": "failure", + "9010": "failure", + "9011": "failure", + "9012": "successful", + "9013": "infeasible", + "9014": "successful", + "9015": "successful", + "9016": "successful", + "9017": "successful", + "9018": "failure", + "9019": "successful", + "9020": "failure", + "9021": "failure", + "9022": "successful", + "9023": "failure", + "9024": "failure", + "9025": "successful", + "9026": "successful", + "9027": "failure", + "9028": "successful", + "9029": "successful", + "9030": "failure", + "9031": "failure", + "9032": "successful", + "9033": "already_complete", + "9034": "failure", + "9035": "failure", + "9036": "successful", + "9037": "failure", + "9038": "failure", + "9039": "successful", + "9040": "failure", + "9041": "failure", + "9042": "failure", + "9043": "failure", + "9044": "successful", + "9045": "failure", + "9046": "failure", + "9047": "failure", + "9048": "failure", + "9049": "failure", + "9050": "infeasible", + "9051": "failure", + "9052": "failure", + "9053": "successful", + "9054": "failure", + "9055": "successful", + "9056": "successful", + "9057": "failure", + "9058": "failure", + "9059": "infeasible", + "9060": "successful", + "9061": "failure", + "9062": "successful", + "9063": "already_complete", + "9064": "successful", + "9065": "failure", + "9066": "failure", + "9067": "successful", + "9068": "failure", + "9069": "failure", + "9070": "failure", + "9071": "failure", + "9072": "already_complete", + "9073": "infeasible", + "9074": "failure", + "9075": "failure", + "9076": "failure", + "9077": "failure", + "9078": "failure", + "9079": "failure", + "9080": "failure", + "9081": "failure", + "9082": "infeasible", + "9083": "successful", + "9084": "successful", + "9085": "successful", + "9086": "failure", + "9087": "already_complete", + "9088": "successful", + "9089": "failure", + "9090": "failure", + "9091": "failure", + "9092": "failure", + "9093": "failure", + "9094": "successful", + "9095": "failure", + "9096": "failure", + "9097": "failure", + "9098": "failure", + "9099": "successful", + "9100": "successful", + "9101": "failure", + "9102": "failure", + "9103": "failure", + "9104": "successful", + "9105": "failure", + "9106": "failure", + "9107": "successful", + "9108": "successful", + "9109": "successful", + "9110": "failure", + "9111": "failure", + "9112": "successful", + "9113": "successful", + "9114": "successful", + "9115": "successful", + "9116": "successful", + "9117": "failure", + "9118": "failure", + "9119": "failure", + "9120": "infeasible", + "9121": "successful", + "9122": "infeasible", + "9123": "failure", + "9124": "failure", + "9125": "successful", + "9126": "failure", + "9127": "failure", + "9128": "failure", + "9129": "successful", + "9130": "failure", + "9131": "successful", + "9132": "successful", + "9133": "successful", + "9134": "successful", + "9135": "successful", + "9136": "successful", + "9137": "successful", + "9138": "successful", + "9139": "successful", + "9140": "failure", + "9141": "successful", + "9142": "infeasible", + "9143": "successful", + "9144": "successful", + "9145": "successful", + "9146": "successful", + "9147": "successful", + "9148": "successful", + "9149": "failure", + "9150": "failure", + "9151": "failure", + "9152": "successful", + "9153": "failure", + "9154": "infeasible", + "9155": "successful", + "9156": "successful", + "9157": "failure", + "9158": "failure", + "9159": "failure", + "9160": "failure", + "9161": "failure", + "9162": "failure", + "9163": "successful", + "9164": "failure", + "9165": "failure", + "9166": "successful", + "9167": "failure", + "9168": "failure", + "9169": "failure", + "9170": "successful", + "9171": "failure", + "9172": "successful", + "9173": "successful", + "9174": "successful", + "9175": "failure", + "9176": "successful", + "9177": "successful", + "9178": "successful", + "9179": "infeasible", + "9180": "failure", + "9181": "successful", + "9182": "failure", + "9183": "failure", + "9184": "successful", + "9185": "successful", + "9186": "successful", + "9187": "failure", + "9188": "failure", + "9189": "successful", + "9190": "failure", + "9191": "failure", + "9192": "failure", + "9193": "successful", + "9194": "failure", + "9195": "successful", + "9196": "failure", + "9197": "failure", + "9198": "failure", + "9199": "successful", + "9200": "failure", + "9201": "successful", + "9202": "failure", + "9203": "successful", + "9204": "failure", + "9205": "successful", + "9206": "failure", + "9207": "successful", + "9208": "successful", + "9209": "failure", + "9210": "successful", + "9211": "failure", + "9212": "failure", + "9213": "failure", + "9214": "failure", + "9215": "successful", + "9216": "failure", + "9217": "failure", + "9218": "successful", + "9219": "failure", + "9220": "failure", + "9221": "failure", + "9222": "failure", + "9223": "successful", + "9224": "failure", + "9225": "failure", + "9226": "failure", + "9227": "failure", + "9228": "successful", + "9229": "failure", + "9230": "failure", + "9231": "failure", + "9232": "successful", + "9233": "successful", + "9234": "successful", + "9235": "failure", + "9236": "failure", + "9237": "failure", + "9238": "failure", + "9239": "failure", + "9240": "successful", + "9241": "failure", + "9242": "successful", + "9243": "failure", + "9244": "successful", + "9245": "successful", + "9246": "successful", + "9247": "failure", + "9248": "failure", + "9249": "successful", + "9250": "failure", + "9251": "successful", + "9252": "successful", + "9253": "successful", + "9254": "successful", + "9255": "successful", + "9256": "failure", + "9257": "failure", + "9258": "failure", + "9259": "failure", + "9260": "failure", + "9261": "failure", + "9262": "failure", + "9263": "successful", + "9264": "successful", + "9265": "successful", + "9266": "successful", + "9267": "successful", + "9268": "successful", + "9269": "successful", + "9270": "successful", + "9271": "successful", + "9272": "failure", + "9273": "failure", + "9274": "failure", + "9275": "successful", + "9276": "successful", + "9277": "failure", + "9278": "successful", + "9279": "failure", + "9280": "successful", + "9281": "successful", + "9282": "failure", + "9283": "failure", + "9284": "failure", + "9285": "failure", + "9286": "failure", + "9287": "successful", + "9288": "successful", + "9289": "failure", + "9290": "failure", + "9291": "successful", + "9292": "successful", + "9293": "successful", + "9294": "successful", + "9295": "failure", + "9296": "failure", + "9297": "failure", + "9298": "successful", + "9299": "successful", + "9300": "successful", + "9301": "successful", + "9302": "successful", + "9303": "successful", + "9304": "successful", + "9305": "successful", + "9306": "failure", + "9307": "failure", + "9308": "failure", + "9309": "failure", + "9310": "successful", + "9311": "successful", + "9312": "successful", + "9313": "failure", + "9314": "successful", + "9315": "failure", + "9316": "successful", + "9317": "failure", + "9318": "successful", + "9319": "successful", + "9320": "failure", + "9321": "failure", + "9322": "successful", + "9323": "failure", + "9324": "failure", + "9325": "failure", + "9326": "failure", + "9327": "failure", + "9328": "failure", + "9329": "failure", + "9330": "failure", + "9331": "failure", + "9332": "failure", + "9333": "failure", + "9334": "failure", + "9335": "failure", + "9336": "successful", + "9337": "successful", + "9338": "successful", + "9339": "failure", + "9340": "failure", + "9341": "failure", + "9342": "successful", + "9343": "failure", + "9344": "successful", + "9345": "failure", + "9346": "failure", + "9347": "successful", + "9348": "already_complete", + "9349": "failure", + "9350": "successful", + "9351": "failure", + "9352": "successful", + "9353": "successful", + "9354": "failure", + "9355": "already_complete", + "9356": "failure", + "9357": "successful", + "9358": "failure", + "9359": "successful", + "9360": "successful", + "9361": "successful", + "9362": "infeasible", + "9363": "infeasible", + "9364": "failure", + "9365": "successful", + "9366": "failure", + "9367": "failure", + "9368": "successful", + "9369": "failure", + "9370": "successful", + "9371": "failure", + "9372": "already_complete", + "9373": "successful", + "9374": "successful", + "9375": "failure", + "9376": "successful", + "9377": "successful", + "9378": "successful", + "9379": "successful", + "9380": "successful", + "9381": "successful", + "9382": "successful", + "9383": "failure", + "9384": "successful", + "9385": "successful", + "9386": "failure", + "9387": "successful", + "9388": "successful", + "9389": "successful", + "9390": "failure", + "9391": "successful", + "9392": "failure", + "9393": "successful", + "9394": "failure", + "9395": "successful", + "9396": "successful", + "9397": "failure", + "9398": "successful", + "9399": "already_complete", + "9400": "successful", + "9401": "failure", + "9402": "successful", + "9403": "failure", + "9404": "already_complete", + "9405": "successful", + "9406": "successful", + "9407": "failure", + "9408": "successful", + "9409": "failure", + "9410": "successful", + "9411": "failure", + "9412": "failure", + "9413": "infeasible", + "9414": "successful", + "9415": "successful", + "9416": "failure", + "9417": "successful", + "9418": "already_complete", + "9419": "failure", + "9420": "infeasible", + "9421": "failure", + "9422": "successful", + "9423": "failure", + "9424": "failure", + "9425": "successful", + "9426": "failure", + "9427": "successful", + "9428": "successful", + "9429": "successful", + "9430": "failure", + "9431": "failure", + "9432": "successful", + "9433": "failure", + "9434": "successful", + "9435": "infeasible", + "9436": "successful", + "9437": "successful", + "9438": "failure", + "9439": "successful", + "9440": "successful", + "9441": "failure", + "9442": "successful", + "9443": "successful", + "9444": "successful", + "9445": "successful", + "9446": "failure", + "9447": "failure", + "9448": "failure", + "9449": "successful", + "9450": "successful", + "9451": "successful", + "9452": "failure", + "9453": "already_complete", + "9454": "successful", + "9455": "successful", + "9456": "failure", + "9457": "failure", + "9458": "failure", + "9459": "failure", + "9460": "successful", + "9461": "failure", + "9462": "failure", + "9463": "successful", + "9464": "successful", + "9465": "failure", + "9466": "failure", + "9467": "successful", + "9468": "failure", + "9469": "failure", + "9470": "failure", + "9471": "successful", + "9472": "successful", + "9473": "successful", + "9474": "successful", + "9475": "failure", + "9476": "failure", + "9477": "infeasible", + "9478": "failure", + "9479": "successful", + "9480": "successful", + "9481": "failure", + "9482": "successful", + "9483": "failure", + "9484": "successful", + "9485": "failure", + "9486": "failure", + "9487": "failure", + "9488": "successful", + "9489": "failure", + "9490": "successful", + "9491": "failure", + "9492": "successful", + "9493": "successful", + "9494": "failure", + "9495": "successful", + "9496": "successful", + "9497": "failure", + "9498": "infeasible", + "9499": "successful", + "9500": "successful", + "9501": "successful", + "9502": "successful", + "9503": "failure", + "9504": "successful", + "9505": "already_complete", + "9506": "failure", + "9507": "successful", + "9508": "successful", + "9509": "failure", + "9510": "failure", + "9511": "successful", + "9512": "failure", + "9513": "successful", + "9514": "successful", + "9515": "failure", + "9516": "failure", + "9517": "failure", + "9518": "failure", + "9519": "successful", + "9520": "failure", + "9521": "successful", + "9522": "successful", + "9523": "successful", + "9524": "successful", + "9525": "successful", + "9526": "successful", + "9527": "successful", + "9528": "failure", + "9529": "failure", + "9530": "failure", + "9531": "failure", + "9532": "successful", + "9533": "successful", + "9534": "successful", + "9535": "successful", + "9536": "successful", + "9537": "successful", + "9538": "successful", + "9539": "failure", + "9540": "successful", + "9541": "successful", + "9542": "successful", + "9543": "successful", + "9544": "failure", + "9545": "successful", + "9546": "failure", + "9547": "successful", + "9548": "successful", + "9549": "successful", + "9550": "successful", + "9551": "failure", + "9552": "failure", + "9553": "already_complete", + "9554": "failure", + "9555": "successful", + "9556": "failure", + "9557": "successful", + "9558": "successful", + "9559": "infeasible", + "9560": "successful", + "9561": "failure", + "9562": "failure", + "9563": "successful", + "9564": "failure", + "9565": "already_complete", + "9566": "failure", + "9567": "failure", + "9568": "successful", + "9569": "failure", + "9570": "successful", + "9571": "successful", + "9572": "already_complete", + "9573": "failure", + "9574": "successful", + "9575": "successful", + "9576": "failure", + "9577": "successful", + "9578": "failure", + "9579": "successful", + "9580": "successful", + "9581": "failure", + "9582": "successful", + "9583": "successful", + "9584": "failure", + "9585": "successful", + "9586": "successful", + "9587": "already_complete", + "9588": "failure", + "9589": "successful", + "9590": "failure", + "9591": "successful", + "9592": "successful", + "9593": "successful", + "9594": "failure", + "9595": "failure", + "9596": "failure", + "9597": "failure", + "9598": "failure", + "9599": "failure", + "9600": "successful", + "9601": "successful", + "9602": "failure", + "9603": "failure", + "9604": "failure", + "9605": "successful", + "9606": "successful", + "9607": "failure", + "9608": "successful", + "9609": "failure", + "9610": "failure", + "9611": "failure", + "9612": "failure", + "9613": "successful", + "9614": "successful", + "9615": "successful", + "9616": "successful", + "9617": "already_complete", + "9618": "failure", + "9619": "successful", + "9620": "successful", + "9621": "successful", + "9622": "failure", + "9623": "failure", + "9624": "successful", + "9625": "failure", + "9626": "failure", + "9627": "failure", + "9628": "successful", + "9629": "successful", + "9630": "failure", + "9631": "successful", + "9632": "successful", + "9633": "successful", + "9634": "failure", + "9635": "failure", + "9636": "successful", + "9637": "successful", + "9638": "successful", + "9639": "successful", + "9640": "failure", + "9641": "successful", + "9642": "failure", + "9643": "failure", + "9644": "successful", + "9645": "successful", + "9646": "already_complete", + "9647": "successful", + "9648": "successful", + "9649": "successful", + "9650": "failure", + "9651": "failure", + "9652": "failure", + "9653": "failure", + "9654": "failure", + "9655": "successful", + "9656": "successful", + "9657": "failure", + "9658": "successful", + "9659": "failure", + "9660": "failure", + "9661": "failure", + "9662": "successful", + "9663": "successful", + "9664": "failure", + "9665": "successful", + "9666": "failure", + "9667": "successful", + "9668": "failure", + "9669": "successful", + "9670": "failure", + "9671": "failure", + "9672": "successful", + "9673": "successful", + "9674": "successful", + "9675": "infeasible", + "9676": "successful", + "9677": "successful", + "9678": "successful", + "9679": "failure", + "9680": "failure", + "9681": "successful", + "9682": "failure", + "9683": "successful", + "9684": "failure", + "9685": "successful", + "9686": "failure", + "9687": "successful", + "9688": "failure", + "9689": "successful", + "9690": "successful", + "9691": "failure", + "9692": "successful", + "9693": "successful", + "9694": "failure", + "9695": "failure", + "9696": "failure", + "9697": "failure", + "9698": "failure", + "9699": "failure", + "9700": "failure", + "9701": "failure", + "9702": "failure", + "9703": "successful", + "9704": "successful", + "9705": "successful", + "9706": "successful", + "9707": "failure", + "9708": "successful", + "9709": "successful", + "9710": "successful", + "9711": "successful", + "9712": "successful", + "9713": "successful", + "9714": "successful", + "9715": "failure", + "9716": "successful", + "9717": "failure", + "9718": "successful", + "9719": "successful", + "9720": "failure", + "9721": "failure", + "9722": "failure", + "9723": "failure", + "9724": "failure", + "9725": "failure", + "9726": "failure", + "9727": "successful", + "9728": "failure", + "9729": "failure", + "9730": "successful", + "9731": "failure", + "9732": "failure", + "9733": "successful", + "9734": "failure", + "9735": "failure", + "9736": "failure", + "9737": "failure", + "9738": "successful", + "9739": "successful", + "9740": "failure", + "9741": "failure", + "9742": "successful", + "9743": "successful", + "9744": "failure", + "9745": "successful", + "9746": "successful", + "9747": "successful", + "9748": "failure", + "9749": "failure", + "9750": "failure", + "9751": "failure", + "9752": "already_complete", + "9753": "successful", + "9754": "failure", + "9755": "failure", + "9756": "successful", + "9757": "failure", + "9758": "failure", + "9759": "successful", + "9760": "failure", + "9761": "infeasible", + "9762": "successful", + "9763": "failure", + "9764": "failure", + "9765": "successful", + "9766": "successful", + "9767": "failure", + "9768": "successful", + "9769": "failure", + "9770": "failure", + "9771": "failure", + "9772": "failure", + "9773": "failure", + "9774": "failure", + "9775": "failure", + "9776": "failure", + "9777": "successful", + "9778": "failure", + "9779": "failure", + "9780": "successful", + "9781": "successful", + "9782": "failure", + "9783": "successful", + "9784": "successful", + "9785": "successful", + "9786": "failure", + "9787": "successful", + "9788": "successful", + "9789": "successful", + "9790": "successful", + "9791": "successful", + "9792": "successful", + "9793": "failure", + "9794": "already_complete", + "9795": "failure", + "9796": "successful", + "9797": "successful", + "9798": "failure", + "9799": "successful", + "9800": "failure", + "9801": "failure", + "9802": "successful", + "9803": "successful", + "9804": "successful", + "9805": "successful", + "9806": "successful", + "9807": "failure", + "9808": "successful", + "9809": "successful", + "9810": "already_complete", + "9811": "failure", + "9812": "failure", + "9813": "successful", + "9814": "failure", + "9815": "successful", + "9816": "successful", + "9817": "failure", + "9818": "failure", + "9819": "failure", + "9820": "already_complete", + "9821": "failure", + "9822": "successful", + "9823": "failure", + "9824": "failure", + "9825": "successful", + "9826": "successful", + "9827": "successful", + "9828": "successful", + "9829": "successful", + "9830": "failure", + "9831": "successful", + "9832": "infeasible", + "9833": "failure", + "9834": "failure", + "9835": "successful", + "9836": "failure", + "9837": "failure", + "9838": "successful", + "9839": "successful", + "9840": "failure", + "9841": "failure", + "9842": "failure", + "9843": "failure", + "9844": "successful", + "9845": "failure", + "9846": "failure", + "9847": "successful", + "9848": "successful", + "9849": "failure", + "9850": "successful", + "9851": "failure", + "9852": "successful", + "9853": "successful", + "9854": "failure", + "9855": "failure", + "9856": "successful", + "9857": "failure", + "9858": "failure", + "9859": "failure", + "9860": "successful", + "9861": "successful", + "9862": "failure", + "9863": "failure", + "9864": "successful", + "9865": "successful", + "9866": "successful", + "9867": "successful", + "9868": "successful", + "9869": "failure", + "9870": "failure", + "9871": "successful", + "9872": "successful", + "9873": "failure", + "9874": "failure", + "9875": "failure", + "9876": "successful", + "9877": "failure", + "9878": "already_complete", + "9879": "failure", + "9880": "successful", + "9881": "failure", + "9882": "successful", + "9883": "successful", + "9884": "successful", + "9885": "failure", + "9886": "failure", + "9887": "successful", + "9888": "successful", + "9889": "failure", + "9890": "successful", + "9891": "failure", + "9892": "failure", + "9893": "successful", + "9894": "successful", + "9895": "failure", + "9896": "failure", + "9897": "failure", + "9898": "successful", + "9899": "successful", + "9900": "failure", + "9901": "successful", + "9902": "successful", + "9903": "failure", + "9904": "failure", + "9905": "failure", + "9906": "successful", + "9907": "successful", + "9908": "successful", + "9909": "successful", + "9910": "failure", + "9911": "failure", + "9912": "successful", + "9913": "failure", + "9914": "successful", + "9915": "failure", + "9916": "successful", + "9917": "successful", + "9918": "successful", + "9919": "failure", + "9920": "successful", + "9921": "failure", + "9922": "successful", + "9923": "failure", + "9924": "successful", + "9925": "successful", + "9926": "successful", + "9927": "successful", + "9928": "successful", + "9929": "successful", + "9930": "failure", + "9931": "successful", + "9932": "successful", + "9933": "failure", + "9934": "failure", + "9935": "successful", + "9936": "successful", + "9937": "failure", + "9938": "failure", + "9939": "failure", + "9940": "already_complete", + "9941": "successful", + "9942": "failure", + "9943": "successful", + "9944": "successful", + "9945": "failure", + "9946": "failure", + "9947": "failure", + "9948": "successful", + "9949": "failure", + "9950": "successful", + "9951": "failure", + "9952": "successful", + "9953": "successful", + "9954": "failure", + "9955": "failure", + "9956": "successful", + "9957": "successful", + "9958": "failure", + "9959": "successful", + "9960": "failure", + "9961": "failure", + "9962": "already_complete", + "9963": "successful", + "9964": "failure", + "9965": "successful", + "9966": "successful", + "9967": "successful", + "9968": "failure", + "9969": "successful", + "9970": "successful", + "9971": "successful", + "9972": "successful", + "9973": "successful", + "9974": "successful", + "9975": "successful", + "9976": "successful", + "9977": "successful", + "9978": "failure", + "9979": "successful", + "9980": "failure", + "9981": "failure", + "9982": "failure", + "9983": "successful", + "9984": "failure", + "9985": "failure", + "9986": "failure", + "9987": "successful", + "9988": "failure", + "9989": "failure", + "9990": "successful", + "9991": "successful", + "9992": "failure", + "9993": "successful", + "9994": "failure", + "9995": "failure", + "9996": "failure", + "9997": "successful", + "9998": "successful", + "9999": "successful", + "10000": "infeasible", + "10001": "failure", + "10002": "infeasible", + "10003": "failure", + "10004": "successful", + "10005": "failure", + "10006": "successful", + "10007": "infeasible", + "10008": "successful", + "10009": "successful", + "10010": "already_complete", + "10011": "failure", + "10012": "successful", + "10013": "successful", + "10014": "failure", + "10015": "failure", + "10016": "successful", + "10017": "successful", + "10018": "failure", + "10019": "failure", + "10020": "infeasible", + "10021": "failure", + "10022": "failure", + "10023": "failure", + "10024": "failure", + "10025": "failure", + "10026": "failure", + "10027": "failure", + "10028": "failure", + "10029": "failure", + "10030": "failure", + "10031": "failure", + "10032": "failure", + "10033": "failure", + "10034": "failure", + "10035": "successful", + "10036": "infeasible", + "10037": "successful", + "10038": "successful", + "10039": "failure", + "10040": "failure", + "10041": "successful", + "10042": "successful", + "10043": "failure", + "10044": "failure", + "10045": "failure", + "10046": "failure", + "10047": "infeasible", + "10048": "failure", + "10049": "failure", + "10050": "failure", + "10051": "failure", + "10052": "infeasible", + "10053": "failure", + "10054": "failure", + "10055": "infeasible", + "10056": "failure", + "10057": "failure", + "10058": "failure", + "10059": "failure", + "10060": "failure", + "10061": "infeasible", + "10062": "successful", + "10063": "failure", + "10064": "failure", + "10065": "failure", + "10066": "failure", + "10067": "failure", + "10068": "failure", + "10069": "failure", + "10070": "failure", + "10071": "failure", + "10072": "failure", + "10073": "failure", + "10074": "failure", + "10075": "failure", + "10076": "successful", + "10077": "failure", + "10078": "failure", + "10079": "failure", + "10080": "failure", + "10081": "infeasible", + "10082": "failure", + "10083": "failure", + "10084": "infeasible", + "10085": "failure", + "10086": "failure", + "10087": "infeasible", + "10088": "successful", + "10089": "failure", + "10090": "successful", + "10091": "failure", + "10092": "failure", + "10093": "failure", + "10094": "infeasible", + "10095": "failure", + "10096": "failure", + "10097": "failure", + "10098": "failure", + "10099": "failure", + "10100": "infeasible", + "10101": "failure", + "10102": "failure", + "10103": "failure", + "10104": "already_complete", + "10105": "failure", + "10106": "failure", + "10107": "failure", + "10108": "failure", + "10109": "failure", + "10110": "failure", + "10111": "failure", + "10112": "failure", + "10113": "failure", + "10114": "failure", + "10115": "failure", + "10116": "failure", + "10117": "successful", + "10118": "failure", + "10119": "failure", + "10120": "failure", + "10121": "failure", + "10122": "failure", + "10123": "failure", + "10124": "failure", + "10125": "failure", + "10126": "infeasible", + "10127": "failure", + "10128": "failure", + "10129": "successful", + "10130": "failure", + "10131": "failure", + "10132": "successful", + "10133": "failure", + "10134": "failure", + "10135": "successful", + "10136": "failure", + "10137": "failure", + "10138": "infeasible", + "10139": "failure", + "10140": "failure", + "10141": "failure", + "10142": "infeasible", + "10143": "failure", + "10144": "infeasible", + "10145": "successful", + "10146": "infeasible", + "10147": "failure", + "10148": "successful", + "10149": "failure", + "10150": "failure", + "10151": "failure", + "10152": "failure", + "10153": "failure", + "10154": "failure", + "10155": "failure", + "10156": "failure", + "10157": "failure", + "10158": "infeasible", + "10159": "failure", + "10160": "failure", + "10161": "failure", + "10162": "failure", + "10163": "failure", + "10164": "failure", + "10165": "failure", + "10166": "failure", + "10167": "infeasible", + "10168": "failure", + "10169": "infeasible", + "10170": "failure", + "10171": "failure", + "10172": "failure", + "10173": "failure", + "10174": "failure", + "10175": "failure", + "10176": "failure", + "10177": "failure", + "10178": "failure", + "10179": "failure", + "10180": "failure", + "10181": "failure", + "10182": "failure", + "10183": "failure", + "10184": "successful", + "10185": "failure", + "10186": "successful", + "10187": "failure", + "10188": "failure", + "10189": "successful", + "10190": "failure", + "10191": "failure", + "10192": "failure", + "10193": "failure", + "10194": "failure", + "10195": "successful", + "10196": "successful", + "10197": "failure", + "10198": "successful", + "10199": "failure", + "10200": "failure", + "10201": "failure", + "10202": "failure", + "10203": "failure", + "10204": "failure", + "10205": "failure", + "10206": "failure", + "10207": "failure", + "10208": "failure", + "10209": "failure", + "10210": "failure", + "10211": "failure", + "10212": "failure", + "10213": "failure", + "10214": "failure", + "10215": "failure", + "10216": "infeasible", + "10217": "failure", + "10218": "failure", + "10219": "failure", + "10220": "failure", + "10221": "failure", + "10222": "failure", + "10223": "failure", + "10224": "failure", + "10225": "failure", + "10226": "failure", + "10227": "failure", + "10228": "failure", + "10229": "failure", + "10230": "failure", + "10231": "failure", + "10232": "failure", + "10233": "failure", + "10234": "failure", + "10235": "failure", + "10236": "failure", + "10237": "successful", + "10238": "failure", + "10239": "failure", + "10240": "failure", + "10241": "failure", + "10242": "failure", + "10243": "failure", + "10244": "failure", + "10245": "failure", + "10246": "failure", + "10247": "infeasible", + "10248": "failure", + "10249": "failure", + "10250": "failure", + "10251": "failure", + "10252": "failure", + "10253": "successful", + "10254": "failure", + "10255": "failure", + "10256": "failure", + "10257": "failure", + "10258": "failure", + "10259": "failure", + "10260": "infeasible", + "10261": "failure", + "10262": "failure", + "10263": "failure", + "10264": "infeasible", + "10265": "failure", + "10266": "failure", + "10267": "failure", + "10268": "failure", + "10269": "failure", + "10270": "infeasible", + "10271": "failure", + "10272": "successful", + "10273": "failure", + "10274": "failure", + "10275": "infeasible", + "10276": "failure", + "10277": "infeasible", + "10278": "failure", + "10279": "failure", + "10280": "failure", + "10281": "failure", + "10282": "failure", + "10283": "failure", + "10284": "failure", + "10285": "successful", + "10286": "already_complete", + "10287": "failure", + "10288": "successful", + "10289": "failure", + "10290": "failure", + "10291": "failure", + "10292": "infeasible", + "10293": "failure", + "10294": "failure", + "10295": "failure", + "10296": "failure", + "10297": "infeasible", + "10298": "successful", + "10299": "failure", + "10300": "failure", + "10301": "failure", + "10302": "failure", + "10303": "failure", + "10304": "successful", + "10305": "successful", + "10306": "failure", + "10307": "failure", + "10308": "failure", + "10309": "failure", + "10310": "failure", + "10311": "successful", + "10312": "failure", + "10313": "failure", + "10314": "failure", + "10315": "failure", + "10316": "failure", + "10317": "failure", + "10318": "failure", + "10319": "failure", + "10320": "failure", + "10321": "successful", + "10322": "successful", + "10323": "infeasible", + "10324": "infeasible", + "10325": "successful", + "10326": "failure", + "10327": "failure", + "10328": "failure", + "10329": "failure", + "10330": "failure", + "10331": "failure", + "10332": "infeasible", + "10333": "infeasible", + "10334": "failure", + "10335": "failure", + "10336": "failure", + "10337": "failure", + "10338": "failure", + "10339": "failure", + "10340": "infeasible", + "10341": "infeasible", + "10342": "failure", + "10343": "infeasible", + "10344": "failure", + "10345": "failure", + "10346": "failure", + "10347": "failure", + "10348": "failure", + "10349": "failure", + "10350": "failure", + "10351": "failure", + "10352": "failure", + "10353": "failure", + "10354": "failure", + "10355": "failure", + "10356": "failure", + "10357": "successful", + "10358": "failure", + "10359": "failure", + "10360": "failure", + "10361": "failure", + "10362": "successful", + "10363": "failure", + "10364": "failure", + "10365": "failure", + "10366": "failure", + "10367": "failure", + "10368": "failure", + "10369": "failure", + "10370": "infeasible", + "10371": "infeasible", + "10372": "failure", + "10373": "failure", + "10374": "failure", + "10375": "infeasible", + "10376": "failure", + "10377": "failure", + "10378": "failure", + "10379": "successful", + "10380": "failure", + "10381": "failure", + "10382": "failure", + "10383": "failure", + "10384": "failure", + "10385": "failure", + "10386": "failure", + "10387": "successful", + "10388": "failure", + "10389": "failure", + "10390": "successful", + "10391": "failure", + "10392": "failure", + "10393": "successful", + "10394": "failure", + "10395": "failure", + "10396": "failure", + "10397": "failure", + "10398": "failure", + "10399": "successful", + "10400": "failure", + "10401": "failure", + "10402": "failure", + "10403": "failure", + "10404": "failure", + "10405": "successful", + "10406": "failure", + "10407": "failure", + "10408": "failure", + "10409": "failure", + "10410": "infeasible", + "10411": "failure", + "10412": "failure", + "10413": "failure", + "10414": "failure", + "10415": "failure", + "10416": "failure", + "10417": "failure", + "10418": "infeasible", + "10419": "failure", + "10420": "failure", + "10421": "failure", + "10422": "failure", + "10423": "failure", + "10424": "failure", + "10425": "failure", + "10426": "failure", + "10427": "failure", + "10428": "successful", + "10429": "failure", + "10430": "failure", + "10431": "failure", + "10432": "successful", + "10433": "successful", + "10434": "failure", + "10435": "failure", + "10436": "failure", + "10437": "failure", + "10438": "failure", + "10439": "failure", + "10440": "successful", + "10441": "failure", + "10442": "failure", + "10443": "failure", + "10444": "failure", + "10445": "failure", + "10446": "failure", + "10447": "failure", + "10448": "failure", + "10449": "failure", + "10450": "failure", + "10451": "failure", + "10452": "failure", + "10453": "infeasible", + "10454": "failure", + "10455": "failure", + "10456": "infeasible", + "10457": "failure", + "10458": "failure", + "10459": "failure", + "10460": "failure", + "10461": "failure", + "10462": "failure", + "10463": "infeasible", + "10464": "infeasible", + "10465": "infeasible", + "10466": "failure", + "10467": "failure", + "10468": "failure", + "10469": "failure", + "10470": "failure", + "10471": "failure", + "10472": "failure", + "10473": "failure", + "10474": "failure", + "10475": "failure", + "10476": "successful", + "10477": "successful", + "10478": "successful", + "10479": "failure", + "10480": "failure", + "10481": "failure", + "10482": "infeasible", + "10483": "failure", + "10484": "failure", + "10485": "failure", + "10486": "failure", + "10487": "failure", + "10488": "failure", + "10489": "failure", + "10490": "failure", + "10491": "successful", + "10492": "failure", + "10493": "failure", + "10494": "infeasible", + "10495": "failure", + "10496": "failure", + "10497": "failure", + "10498": "failure", + "10499": "failure", + "10500": "successful", + "10501": "failure", + "10502": "failure", + "10503": "infeasible", + "10504": "failure", + "10505": "failure", + "10506": "successful", + "10507": "failure", + "10508": "failure", + "10509": "failure", + "10510": "failure", + "10511": "failure", + "10512": "failure", + "10513": "failure", + "10514": "infeasible", + "10515": "failure", + "10516": "failure", + "10517": "failure", + "10518": "infeasible", + "10519": "failure", + "10520": "failure", + "10521": "failure", + "10522": "successful", + "10523": "failure", + "10524": "failure", + "10525": "failure", + "10526": "failure", + "10527": "failure", + "10528": "failure", + "10529": "failure", + "10530": "failure", + "10531": "failure", + "10532": "failure", + "10533": "failure", + "10534": "failure", + "10535": "failure", + "10536": "successful", + "10537": "failure", + "10538": "failure", + "10539": "failure", + "10540": "failure", + "10541": "successful", + "10542": "failure", + "10543": "failure", + "10544": "failure", + "10545": "failure", + "10546": "failure", + "10547": "failure", + "10548": "failure", + "10549": "infeasible", + "10550": "failure", + "10551": "successful", + "10552": "infeasible", + "10553": "failure", + "10554": "failure", + "10555": "successful", + "10556": "failure", + "10557": "failure", + "10558": "failure", + "10559": "failure", + "10560": "successful", + "10561": "failure", + "10562": "failure", + "10563": "failure", + "10564": "successful", + "10565": "failure", + "10566": "failure", + "10567": "failure", + "10568": "failure", + "10569": "failure", + "10570": "failure", + "10571": "failure", + "10572": "failure", + "10573": "failure", + "10574": "failure", + "10575": "failure", + "10576": "failure", + "10577": "failure", + "10578": "failure", + "10579": "successful", + "10580": "successful", + "10581": "failure", + "10582": "infeasible", + "10583": "failure", + "10584": "failure", + "10585": "failure", + "10586": "failure", + "10587": "failure", + "10588": "successful", + "10589": "failure", + "10590": "failure", + "10591": "failure", + "10592": "failure", + "10593": "failure", + "10594": "infeasible", + "10595": "failure", + "10596": "successful", + "10597": "successful", + "10598": "failure", + "10599": "failure", + "10600": "failure", + "10601": "failure", + "10602": "infeasible", + "10603": "successful", + "10604": "failure", + "10605": "failure", + "10606": "failure", + "10607": "infeasible", + "10608": "failure", + "10609": "successful", + "10610": "failure", + "10611": "failure", + "10612": "failure", + "10613": "failure", + "10614": "successful", + "10615": "successful", + "10616": "infeasible", + "10617": "failure", + "10618": "failure", + "10619": "failure", + "10620": "failure", + "10621": "infeasible", + "10622": "failure", + "10623": "infeasible", + "10624": "failure", + "10625": "failure", + "10626": "failure", + "10627": "failure", + "10628": "failure", + "10629": "failure", + "10630": "failure", + "10631": "failure", + "10632": "failure", + "10633": "failure", + "10634": "failure", + "10635": "failure", + "10636": "failure", + "10637": "infeasible", + "10638": "failure", + "10639": "infeasible", + "10640": "infeasible", + "10641": "failure", + "10642": "infeasible", + "10643": "failure", + "10644": "infeasible", + "10645": "failure", + "10646": "failure", + "10647": "infeasible", + "10648": "failure", + "10649": "failure", + "10650": "successful", + "10651": "failure", + "10652": "failure", + "10653": "failure", + "10654": "successful", + "10655": "failure", + "10656": "failure", + "10657": "failure", + "10658": "failure", + "10659": "failure", + "10660": "failure", + "10661": "failure", + "10662": "infeasible", + "10663": "successful", + "10664": "failure", + "10665": "failure", + "10666": "failure", + "10667": "failure", + "10668": "infeasible", + "10669": "successful", + "10670": "failure", + "10671": "failure", + "10672": "failure", + "10673": "already_complete", + "10674": "failure", + "10675": "failure", + "10676": "failure", + "10677": "failure", + "10678": "failure", + "10679": "failure", + "10680": "failure", + "10681": "failure", + "10682": "failure", + "10683": "failure", + "10684": "failure", + "10685": "failure", + "10686": "failure", + "10687": "failure", + "10688": "failure", + "10689": "successful", + "10690": "failure", + "10691": "infeasible", + "10692": "successful", + "10693": "failure", + "10694": "failure", + "10695": "failure", + "10696": "failure", + "10697": "failure", + "10698": "successful", + "10699": "infeasible", + "10700": "successful", + "10701": "already_complete", + "10702": "failure", + "10703": "failure", + "10704": "successful", + "10705": "failure", + "10706": "failure", + "10707": "infeasible", + "10708": "failure", + "10709": "failure", + "10710": "failure", + "10711": "infeasible", + "10712": "failure", + "10713": "failure", + "10714": "failure", + "10715": "failure", + "10716": "failure", + "10717": "failure", + "10718": "failure", + "10719": "successful", + "10720": "failure", + "10721": "infeasible", + "10722": "failure", + "10723": "failure", + "10724": "failure", + "10725": "failure", + "10726": "failure", + "10727": "failure", + "10728": "failure", + "10729": "failure", + "10730": "infeasible", + "10731": "failure", + "10732": "failure", + "10733": "failure", + "10734": "failure", + "10735": "failure", + "10736": "infeasible", + "10737": "failure", + "10738": "failure", + "10739": "failure", + "10740": "failure", + "10741": "infeasible", + "10742": "failure", + "10743": "failure", + "10744": "failure", + "10745": "failure", + "10746": "failure", + "10747": "failure", + "10748": "infeasible", + "10749": "failure", + "10750": "successful", + "10751": "failure", + "10752": "failure", + "10753": "infeasible", + "10754": "failure", + "10755": "failure", + "10756": "infeasible", + "10757": "failure", + "10758": "failure", + "10759": "failure", + "10760": "failure", + "10761": "failure", + "10762": "failure", + "10763": "failure", + "10764": "failure", + "10765": "failure", + "10766": "failure", + "10767": "failure", + "10768": "failure", + "10769": "failure", + "10770": "failure", + "10771": "failure", + "10772": "failure", + "10773": "failure", + "10774": "failure", + "10775": "failure", + "10776": "failure", + "10777": "failure", + "10778": "failure", + "10779": "failure", + "10780": "successful", + "10781": "failure", + "10782": "failure", + "10783": "failure", + "10784": "failure", + "10785": "failure", + "10786": "failure", + "10787": "failure", + "10788": "failure", + "10789": "failure", + "10790": "failure", + "10791": "failure", + "10792": "failure", + "10793": "failure", + "10794": "failure", + "10795": "failure", + "10796": "failure", + "10797": "successful", + "10798": "failure", + "10799": "successful", + "10800": "failure", + "10801": "failure", + "10802": "failure", + "10803": "failure", + "10804": "failure", + "10805": "failure", + "10806": "failure", + "10807": "infeasible", + "10808": "failure", + "10809": "failure", + "10810": "failure", + "10811": "successful", + "10812": "failure", + "10813": "failure", + "10814": "failure", + "10815": "successful", + "10816": "failure", + "10817": "failure", + "10818": "failure", + "10819": "failure", + "10820": "failure", + "10821": "failure", + "10822": "failure", + "10823": "failure", + "10824": "failure", + "10825": "failure", + "10826": "failure", + "10827": "failure", + "10828": "failure", + "10829": "failure", + "10830": "successful", + "10831": "successful", + "10832": "successful", + "10833": "failure", + "10834": "infeasible", + "10835": "failure", + "10836": "failure", + "10837": "failure", + "10838": "failure", + "10839": "successful", + "10840": "failure", + "10841": "failure", + "10842": "failure", + "10843": "failure", + "10844": "failure", + "10845": "failure", + "10846": "failure", + "10847": "failure", + "10848": "failure", + "10849": "infeasible", + "10850": "failure", + "10851": "failure", + "10852": "failure", + "10853": "failure", + "10854": "failure", + "10855": "failure", + "10856": "failure", + "10857": "failure", + "10858": "failure", + "10859": "infeasible", + "10860": "failure", + "10861": "failure", + "10862": "successful", + "10863": "failure", + "10864": "failure", + "10865": "successful", + "10866": "failure", + "10867": "failure", + "10868": "successful", + "10869": "failure", + "10870": "failure", + "10871": "failure", + "10872": "failure", + "10873": "failure", + "10874": "failure", + "10875": "successful", + "10876": "infeasible", + "10877": "failure", + "10878": "failure", + "10879": "failure", + "10880": "failure", + "10881": "failure", + "10882": "failure", + "10883": "failure", + "10884": "failure", + "10885": "failure", + "10886": "failure", + "10887": "failure", + "10888": "successful", + "10889": "failure", + "10890": "failure", + "10891": "failure", + "10892": "successful", + "10893": "failure", + "10894": "failure", + "10895": "failure", + "10896": "failure", + "10897": "failure", + "10898": "infeasible", + "10899": "failure", + "10900": "failure", + "10901": "successful", + "10902": "failure", + "10903": "failure", + "10904": "failure", + "10905": "failure", + "10906": "failure", + "10907": "failure", + "10908": "failure", + "10909": "failure", + "10910": "failure", + "10911": "failure", + "10912": "failure", + "10913": "failure", + "10914": "failure", + "10915": "failure", + "10916": "failure", + "10917": "failure", + "10918": "failure", + "10919": "failure", + "10920": "successful", + "10921": "failure", + "10922": "failure", + "10923": "failure", + "10924": "failure", + "10925": "failure", + "10926": "failure", + "10927": "failure", + "10928": "failure", + "10929": "failure", + "10930": "failure", + "10931": "failure", + "10932": "infeasible", + "10933": "infeasible", + "10934": "failure", + "10935": "failure", + "10936": "failure", + "10937": "successful", + "10938": "failure", + "10939": "failure", + "10940": "failure", + "10941": "failure", + "10942": "failure", + "10943": "failure", + "10944": "infeasible", + "10945": "failure", + "10946": "failure", + "10947": "failure", + "10948": "failure", + "10949": "failure", + "10950": "failure", + "10951": "failure", + "10952": "failure", + "10953": "successful", + "10954": "failure", + "10955": "failure", + "10956": "failure", + "10957": "failure", + "10958": "failure", + "10959": "failure", + "10960": "failure", + "10961": "failure", + "10962": "failure", + "10963": "failure", + "10964": "failure", + "10965": "failure", + "10966": "failure", + "10967": "failure", + "10968": "failure", + "10969": "failure", + "10970": "infeasible", + "10971": "infeasible", + "10972": "failure", + "10973": "failure", + "10974": "failure", + "10975": "failure", + "10976": "failure", + "10977": "failure", + "10978": "failure", + "10979": "failure", + "10980": "failure", + "10981": "failure", + "10982": "failure", + "10983": "failure", + "10984": "failure", + "10985": "failure", + "10986": "failure", + "10987": "failure", + "10988": "failure", + "10989": "failure", + "10990": "failure", + "10991": "failure", + "10992": "failure", + "10993": "failure", + "10994": "failure", + "10995": "failure", + "10996": "infeasible", + "10997": "failure", + "10998": "failure", + "10999": "failure", + "11000": "failure", + "11001": "failure", + "11002": "failure", + "11003": "failure", + "11004": "failure", + "11005": "failure", + "11006": "infeasible", + "11007": "failure", + "11008": "failure", + "11009": "failure", + "11010": "failure", + "11011": "failure", + "11012": "failure", + "11013": "failure", + "11014": "infeasible", + "11015": "failure", + "11016": "failure", + "11017": "successful", + "11018": "failure", + "11019": "failure", + "11020": "successful", + "11021": "infeasible", + "11022": "failure", + "11023": "infeasible", + "11024": "failure", + "11025": "failure", + "11026": "failure", + "11027": "infeasible", + "11028": "failure", + "11029": "failure", + "11030": "successful", + "11031": "successful", + "11032": "failure", + "11033": "failure", + "11034": "failure", + "11035": "failure", + "11036": "failure", + "11037": "failure", + "11038": "failure", + "11039": "failure", + "11040": "failure", + "11041": "successful", + "11042": "successful", + "11043": "infeasible", + "11044": "failure", + "11045": "failure", + "11046": "successful", + "11047": "failure", + "11048": "failure", + "11049": "failure", + "11050": "failure", + "11051": "failure", + "11052": "failure", + "11053": "failure", + "11054": "failure", + "11055": "failure", + "11056": "failure", + "11057": "successful", + "11058": "failure", + "11059": "failure", + "11060": "failure", + "11061": "failure", + "11062": "failure", + "11063": "successful", + "11064": "failure", + "11065": "failure", + "11066": "failure", + "11067": "failure", + "11068": "failure", + "11069": "failure", + "11070": "successful", + "11071": "failure", + "11072": "failure", + "11073": "failure", + "11074": "failure", + "11075": "failure", + "11076": "failure", + "11077": "failure", + "11078": "failure", + "11079": "failure", + "11080": "failure", + "11081": "failure", + "11082": "infeasible", + "11083": "failure", + "11084": "failure", + "11085": "failure", + "11086": "failure", + "11087": "failure", + "11088": "failure", + "11089": "failure", + "11090": "failure", + "11091": "successful", + "11092": "failure", + "11093": "failure", + "11094": "failure", + "11095": "failure", + "11096": "failure", + "11097": "failure", + "11098": "failure", + "11099": "failure", + "11100": "infeasible", + "11101": "failure", + "11102": "failure", + "11103": "failure", + "11104": "failure", + "11105": "failure", + "11106": "failure", + "11107": "failure", + "11108": "failure", + "11109": "failure", + "11110": "failure", + "11111": "failure", + "11112": "failure", + "11113": "failure", + "11114": "already_complete", + "11115": "failure", + "11116": "failure", + "11117": "failure", + "11118": "infeasible", + "11119": "failure", + "11120": "failure", + "11121": "infeasible", + "11122": "failure", + "11123": "infeasible", + "11124": "failure", + "11125": "infeasible", + "11126": "failure", + "11127": "failure", + "11128": "failure", + "11129": "failure", + "11130": "failure", + "11131": "failure", + "11132": "failure", + "11133": "failure", + "11134": "failure", + "11135": "failure", + "11136": "failure", + "11137": "infeasible", + "11138": "failure", + "11139": "failure", + "11140": "failure", + "11141": "infeasible", + "11142": "infeasible", + "11143": "failure", + "11144": "successful", + "11145": "failure", + "11146": "failure", + "11147": "failure", + "11148": "failure", + "11149": "failure", + "11150": "infeasible", + "11151": "failure", + "11152": "successful", + "11153": "failure", + "11154": "infeasible", + "11155": "failure", + "11156": "failure", + "11157": "infeasible", + "11158": "successful", + "11159": "failure", + "11160": "failure", + "11161": "failure", + "11162": "failure", + "11163": "successful", + "11164": "infeasible", + "11165": "failure", + "11166": "failure", + "11167": "failure", + "11168": "successful", + "11169": "failure", + "11170": "failure", + "11171": "failure", + "11172": "failure", + "11173": "failure", + "11174": "failure", + "11175": "failure", + "11176": "failure", + "11177": "failure", + "11178": "failure", + "11179": "failure", + "11180": "failure", + "11181": "failure", + "11182": "failure", + "11183": "failure", + "11184": "failure", + "11185": "failure", + "11186": "failure", + "11187": "failure", + "11188": "failure", + "11189": "failure", + "11190": "successful", + "11191": "failure", + "11192": "infeasible", + "11193": "failure", + "11194": "failure", + "11195": "failure", + "11196": "failure", + "11197": "failure", + "11198": "failure", + "11199": "failure", + "11200": "failure", + "11201": "failure", + "11202": "failure", + "11203": "failure", + "11204": "infeasible", + "11205": "failure", + "11206": "failure", + "11207": "failure", + "11208": "failure", + "11209": "failure", + "11210": "failure", + "11211": "failure", + "11212": "failure", + "11213": "failure", + "11214": "failure", + "11215": "failure", + "11216": "failure", + "11217": "failure", + "11218": "failure", + "11219": "failure", + "11220": "failure", + "11221": "failure", + "11222": "failure", + "11223": "infeasible", + "11224": "failure", + "11225": "successful", + "11226": "failure", + "11227": "failure", + "11228": "failure", + "11229": "failure", + "11230": "successful", + "11231": "failure", + "11232": "failure", + "11233": "failure", + "11234": "failure", + "11235": "failure", + "11236": "failure", + "11237": "failure", + "11238": "failure", + "11239": "failure", + "11240": "successful", + "11241": "failure", + "11242": "successful", + "11243": "failure", + "11244": "infeasible", + "11245": "failure", + "11246": "failure", + "11247": "failure", + "11248": "failure", + "11249": "failure", + "11250": "failure", + "11251": "failure", + "11252": "infeasible", + "11253": "failure", + "11254": "infeasible", + "11255": "failure", + "11256": "failure", + "11257": "infeasible", + "11258": "failure", + "11259": "failure", + "11260": "failure", + "11261": "failure", + "11262": "infeasible", + "11263": "failure", + "11264": "failure", + "11265": "failure", + "11266": "failure", + "11267": "failure", + "11268": "failure", + "11269": "failure", + "11270": "failure", + "11271": "failure", + "11272": "failure", + "11273": "failure", + "11274": "failure", + "11275": "failure", + "11276": "failure", + "11277": "failure", + "11278": "failure", + "11279": "failure", + "11280": "failure", + "11281": "failure", + "11282": "failure", + "11283": "failure", + "11284": "failure", + "11285": "failure", + "11286": "failure", + "11287": "successful", + "11288": "failure", + "11289": "failure", + "11290": "failure", + "11291": "infeasible", + "11292": "failure", + "11293": "failure", + "11294": "failure", + "11295": "successful", + "11296": "failure", + "11297": "successful", + "11298": "failure", + "11299": "failure", + "11300": "failure", + "11301": "failure", + "11302": "failure", + "11303": "successful", + "11304": "successful", + "11305": "failure", + "11306": "failure", + "11307": "failure", + "11308": "failure", + "11309": "infeasible", + "11310": "successful", + "11311": "failure", + "11312": "failure", + "11313": "failure", + "11314": "failure", + "11315": "failure", + "11316": "failure", + "11317": "failure", + "11318": "successful", + "11319": "failure", + "11320": "infeasible", + "11321": "failure", + "11322": "failure", + "11323": "failure", + "11324": "failure", + "11325": "failure", + "11326": "failure", + "11327": "failure", + "11328": "failure", + "11329": "failure", + "11330": "infeasible", + "11331": "failure", + "11332": "failure", + "11333": "failure", + "11334": "failure", + "11335": "failure", + "11336": "failure", + "11337": "failure", + "11338": "failure", + "11339": "failure", + "11340": "failure", + "11341": "failure", + "11342": "failure", + "11343": "failure", + "11344": "failure", + "11345": "failure", + "11346": "failure", + "11347": "infeasible", + "11348": "failure", + "11349": "failure", + "11350": "failure", + "11351": "failure", + "11352": "failure", + "11353": "failure", + "11354": "successful", + "11355": "infeasible", + "11356": "failure", + "11357": "failure", + "11358": "successful", + "11359": "failure", + "11360": "failure", + "11361": "failure", + "11362": "failure", + "11363": "failure", + "11364": "successful", + "11365": "failure", + "11366": "failure", + "11367": "infeasible", + "11368": "failure", + "11369": "failure", + "11370": "failure", + "11371": "infeasible", + "11372": "failure", + "11373": "failure", + "11374": "failure", + "11375": "failure", + "11376": "failure", + "11377": "failure", + "11378": "failure", + "11379": "failure", + "11380": "failure", + "11381": "failure", + "11382": "failure", + "11383": "failure", + "11384": "failure", + "11385": "failure", + "11386": "failure", + "11387": "failure", + "11388": "failure", + "11389": "failure", + "11390": "failure", + "11391": "failure", + "11392": "failure", + "11393": "failure", + "11394": "failure", + "11395": "failure", + "11396": "failure", + "11397": "infeasible", + "11398": "failure", + "11399": "failure", + "11400": "successful", + "11401": "successful", + "11402": "failure", + "11403": "infeasible", + "11404": "failure", + "11405": "failure", + "11406": "failure", + "11407": "failure", + "11408": "failure", + "11409": "failure", + "11410": "failure", + "11411": "failure", + "11412": "failure", + "11413": "failure", + "11414": "failure", + "11415": "failure", + "11416": "failure", + "11417": "failure", + "11418": "failure", + "11419": "failure", + "11420": "infeasible", + "11421": "failure", + "11422": "failure", + "11423": "successful", + "11424": "failure", + "11425": "failure", + "11426": "failure", + "11427": "failure", + "11428": "infeasible", + "11429": "failure", + "11430": "failure", + "11431": "failure", + "11432": "failure", + "11433": "failure", + "11434": "failure", + "11435": "failure", + "11436": "infeasible", + "11437": "failure", + "11438": "successful", + "11439": "failure", + "11440": "successful", + "11441": "infeasible", + "11442": "failure", + "11443": "failure", + "11444": "failure", + "11445": "failure", + "11446": "failure", + "11447": "failure", + "11448": "failure", + "11449": "infeasible", + "11450": "failure", + "11451": "infeasible", + "11452": "failure", + "11453": "failure", + "11454": "infeasible", + "11455": "failure", + "11456": "failure", + "11457": "failure", + "11458": "failure", + "11459": "failure", + "11460": "failure", + "11461": "successful", + "11462": "failure", + "11463": "failure", + "11464": "failure", + "11465": "failure", + "11466": "failure", + "11467": "failure", + "11468": "failure", + "11469": "failure", + "11470": "failure", + "11471": "failure", + "11472": "infeasible", + "11473": "failure", + "11474": "failure", + "11475": "failure", + "11476": "failure", + "11477": "failure", + "11478": "failure", + "11479": "infeasible", + "11480": "failure", + "11481": "failure", + "11482": "failure", + "11483": "failure", + "11484": "infeasible", + "11485": "failure", + "11486": "failure", + "11487": "failure", + "11488": "failure", + "11489": "failure", + "11490": "failure", + "11491": "failure", + "11492": "successful", + "11493": "failure", + "11494": "failure", + "11495": "successful", + "11496": "failure", + "11497": "failure", + "11498": "failure", + "11499": "already_complete", + "11500": "successful", + "11501": "infeasible", + "11502": "failure", + "11503": "infeasible", + "11504": "failure", + "11505": "failure", + "11506": "failure", + "11507": "failure", + "11508": "failure", + "11509": "failure", + "11510": "failure", + "11511": "failure", + "11512": "successful", + "11513": "successful", + "11514": "failure", + "11515": "failure", + "11516": "infeasible", + "11517": "infeasible", + "11518": "failure", + "11519": "failure", + "11520": "failure", + "11521": "failure", + "11522": "infeasible", + "11523": "failure", + "11524": "failure", + "11525": "failure", + "11526": "failure", + "11527": "successful", + "11528": "failure", + "11529": "failure", + "11530": "failure", + "11531": "failure", + "11532": "failure", + "11533": "failure", + "11534": "infeasible", + "11535": "failure", + "11536": "failure", + "11537": "failure", + "11538": "infeasible", + "11539": "failure", + "11540": "failure", + "11541": "successful", + "11542": "failure", + "11543": "failure", + "11544": "failure", + "11545": "failure", + "11546": "failure", + "11547": "failure", + "11548": "failure", + "11549": "failure", + "11550": "failure", + "11551": "successful", + "11552": "failure", + "11553": "failure", + "11554": "failure", + "11555": "failure", + "11556": "successful", + "11557": "failure", + "11558": "failure", + "11559": "failure", + "11560": "failure", + "11561": "infeasible", + "11562": "failure", + "11563": "failure", + "11564": "failure", + "11565": "failure", + "11566": "failure", + "11567": "infeasible", + "11568": "failure", + "11569": "failure", + "11570": "infeasible", + "11571": "failure", + "11572": "failure", + "11573": "failure", + "11574": "infeasible", + "11575": "failure", + "11576": "failure", + "11577": "infeasible", + "11578": "infeasible", + "11579": "failure", + "11580": "failure", + "11581": "failure", + "11582": "failure", + "11583": "failure", + "11584": "successful", + "11585": "failure", + "11586": "failure", + "11587": "failure", + "11588": "failure", + "11589": "infeasible", + "11590": "failure", + "11591": "failure", + "11592": "failure", + "11593": "failure", + "11594": "successful", + "11595": "failure", + "11596": "failure", + "11597": "failure", + "11598": "infeasible", + "11599": "failure", + "11600": "failure", + "11601": "failure", + "11602": "failure", + "11603": "already_complete", + "11604": "infeasible", + "11605": "failure", + "11606": "infeasible", + "11607": "infeasible", + "11608": "failure", + "11609": "successful", + "11610": "successful", + "11611": "failure", + "11612": "failure", + "11613": "failure", + "11614": "successful", + "11615": "failure", + "11616": "successful", + "11617": "infeasible", + "11618": "failure", + "11619": "failure", + "11620": "failure", + "11621": "failure", + "11622": "failure", + "11623": "failure", + "11624": "failure", + "11625": "failure", + "11626": "successful", + "11627": "infeasible", + "11628": "failure", + "11629": "failure", + "11630": "failure", + "11631": "failure", + "11632": "failure", + "11633": "failure", + "11634": "failure", + "11635": "failure", + "11636": "failure", + "11637": "failure", + "11638": "failure", + "11639": "failure", + "11640": "successful", + "11641": "failure", + "11642": "failure", + "11643": "successful", + "11644": "failure", + "11645": "successful", + "11646": "infeasible", + "11647": "failure", + "11648": "infeasible", + "11649": "failure", + "11650": "failure", + "11651": "failure", + "11652": "failure", + "11653": "successful", + "11654": "failure", + "11655": "failure", + "11656": "successful", + "11657": "failure", + "11658": "successful", + "11659": "failure", + "11660": "failure", + "11661": "failure", + "11662": "infeasible", + "11663": "failure", + "11664": "failure", + "11665": "successful", + "11666": "failure", + "11667": "infeasible", + "11668": "successful", + "11669": "successful", + "11670": "failure", + "11671": "failure", + "11672": "failure", + "11673": "failure", + "11674": "failure", + "11675": "failure", + "11676": "failure", + "11677": "already_complete", + "11678": "failure", + "11679": "failure", + "11680": "failure", + "11681": "failure", + "11682": "failure", + "11683": "failure", + "11684": "failure", + "11685": "failure", + "11686": "failure", + "11687": "successful", + "11688": "failure", + "11689": "failure", + "11690": "failure", + "11691": "failure", + "11692": "failure", + "11693": "failure", + "11694": "failure", + "11695": "failure", + "11696": "failure", + "11697": "failure", + "11698": "failure", + "11699": "failure", + "11700": "failure", + "11701": "failure", + "11702": "failure", + "11703": "failure", + "11704": "failure", + "11705": "failure", + "11706": "failure", + "11707": "failure", + "11708": "failure", + "11709": "failure", + "11710": "failure", + "11711": "failure", + "11712": "failure", + "11713": "infeasible", + "11714": "failure", + "11715": "failure", + "11716": "failure", + "11717": "failure", + "11718": "successful", + "11719": "failure", + "11720": "failure", + "11721": "failure", + "11722": "failure", + "11723": "infeasible", + "11724": "failure", + "11725": "successful", + "11726": "failure", + "11727": "failure", + "11728": "failure", + "11729": "failure", + "11730": "successful", + "11731": "failure", + "11732": "failure", + "11733": "failure", + "11734": "failure", + "11735": "failure", + "11736": "successful", + "11737": "failure", + "11738": "failure", + "11739": "infeasible", + "11740": "failure", + "11741": "failure", + "11742": "failure", + "11743": "failure", + "11744": "successful", + "11745": "successful", + "11746": "failure", + "11747": "failure", + "11748": "failure", + "11749": "failure", + "11750": "failure", + "11751": "failure", + "11752": "failure", + "11753": "failure", + "11754": "failure", + "11755": "failure", + "11756": "failure", + "11757": "infeasible", + "11758": "failure", + "11759": "failure", + "11760": "infeasible", + "11761": "infeasible", + "11762": "failure", + "11763": "failure", + "11764": "failure", + "11765": "failure", + "11766": "failure", + "11767": "failure", + "11768": "infeasible", + "11769": "infeasible", + "11770": "failure", + "11771": "failure", + "11772": "failure", + "11773": "failure", + "11774": "failure", + "11775": "successful", + "11776": "failure", + "11777": "failure", + "11778": "failure", + "11779": "failure", + "11780": "successful", + "11781": "failure", + "11782": "failure", + "11783": "failure", + "11784": "failure", + "11785": "failure", + "11786": "failure", + "11787": "infeasible", + "11788": "failure", + "11789": "failure", + "11790": "failure", + "11791": "failure", + "11792": "infeasible", + "11793": "failure", + "11794": "failure", + "11795": "infeasible", + "11796": "failure", + "11797": "failure", + "11798": "failure", + "11799": "failure", + "11800": "failure", + "11801": "failure", + "11802": "failure", + "11803": "infeasible", + "11804": "failure", + "11805": "infeasible", + "11806": "failure", + "11807": "failure", + "11808": "failure", + "11809": "failure", + "11810": "failure", + "11811": "failure", + "11812": "failure", + "11813": "failure", + "11814": "failure", + "11815": "failure", + "11816": "failure", + "11817": "failure", + "11818": "failure", + "11819": "failure", + "11820": "failure", + "11821": "failure", + "11822": "failure", + "11823": "failure", + "11824": "failure", + "11825": "infeasible", + "11826": "failure", + "11827": "failure", + "11828": "failure", + "11829": "failure", + "11830": "successful", + "11831": "failure", + "11832": "failure", + "11833": "failure", + "11834": "failure", + "11835": "failure", + "11836": "failure", + "11837": "failure", + "11838": "failure", + "11839": "failure", + "11840": "failure", + "11841": "failure", + "11842": "failure", + "11843": "successful", + "11844": "failure", + "11845": "failure", + "11846": "failure", + "11847": "failure", + "11848": "failure", + "11849": "failure", + "11850": "successful", + "11851": "failure", + "11852": "failure", + "11853": "failure", + "11854": "failure", + "11855": "failure", + "11856": "infeasible", + "11857": "failure", + "11858": "failure", + "11859": "infeasible", + "11860": "infeasible", + "11861": "failure", + "11862": "infeasible", + "11863": "failure", + "11864": "failure", + "11865": "infeasible", + "11866": "failure", + "11867": "already_complete", + "11868": "failure", + "11869": "failure", + "11870": "infeasible", + "11871": "infeasible", + "11872": "failure", + "11873": "failure", + "11874": "failure", + "11875": "failure", + "11876": "failure", + "11877": "failure", + "11878": "successful", + "11879": "failure", + "11880": "failure", + "11881": "failure", + "11882": "failure", + "11883": "failure", + "11884": "failure", + "11885": "failure", + "11886": "failure", + "11887": "failure", + "11888": "successful", + "11889": "failure", + "11890": "failure", + "11891": "failure", + "11892": "failure", + "11893": "failure", + "11894": "successful", + "11895": "failure", + "11896": "infeasible", + "11897": "failure", + "11898": "failure", + "11899": "failure", + "11900": "infeasible", + "11901": "infeasible", + "11902": "failure", + "11903": "failure", + "11904": "failure", + "11905": "already_complete", + "11906": "failure", + "11907": "infeasible", + "11908": "failure", + "11909": "successful", + "11910": "infeasible", + "11911": "failure", + "11912": "failure", + "11913": "failure", + "11914": "failure", + "11915": "failure", + "11916": "failure", + "11917": "failure", + "11918": "failure", + "11919": "failure", + "11920": "failure", + "11921": "successful", + "11922": "failure", + "11923": "failure", + "11924": "failure", + "11925": "failure", + "11926": "failure", + "11927": "failure", + "11928": "failure", + "11929": "failure", + "11930": "failure", + "11931": "failure", + "11932": "failure", + "11933": "failure", + "11934": "failure", + "11935": "failure", + "11936": "failure", + "11937": "failure", + "11938": "failure", + "11939": "successful", + "11940": "successful", + "11941": "failure", + "11942": "failure", + "11943": "failure", + "11944": "failure", + "11945": "successful", + "11946": "failure", + "11947": "failure", + "11948": "failure", + "11949": "failure", + "11950": "failure", + "11951": "failure", + "11952": "failure", + "11953": "failure", + "11954": "failure", + "11955": "failure", + "11956": "failure", + "11957": "failure", + "11958": "infeasible", + "11959": "failure", + "11960": "successful", + "11961": "failure", + "11962": "infeasible", + "11963": "failure", + "11964": "failure", + "11965": "failure", + "11966": "failure", + "11967": "successful", + "11968": "failure", + "11969": "infeasible", + "11970": "failure", + "11971": "failure", + "11972": "failure", + "11973": "failure", + "11974": "failure", + "11975": "infeasible", + "11976": "failure", + "11977": "failure", + "11978": "failure", + "11979": "failure", + "11980": "failure", + "11981": "failure", + "11982": "failure", + "11983": "failure", + "11984": "failure", + "11985": "failure", + "11986": "failure", + "11987": "failure", + "11988": "failure", + "11989": "failure", + "11990": "failure", + "11991": "failure", + "11992": "failure", + "11993": "failure", + "11994": "failure", + "11995": "failure", + "11996": "failure", + "11997": "failure", + "11998": "failure", + "11999": "successful", + "12000": "failure", + "12001": "failure", + "12002": "failure", + "12003": "failure", + "12004": "infeasible", + "12005": "successful", + "12006": "failure", + "12007": "already_complete", + "12008": "failure", + "12009": "failure", + "12010": "failure", + "12011": "infeasible", + "12012": "failure", + "12013": "failure", + "12014": "failure", + "12015": "failure", + "12016": "failure", + "12017": "infeasible", + "12018": "failure", + "12019": "failure", + "12020": "failure", + "12021": "failure", + "12022": "failure", + "12023": "failure", + "12024": "failure", + "12025": "infeasible", + "12026": "failure", + "12027": "failure", + "12028": "failure", + "12029": "failure", + "12030": "failure", + "12031": "failure", + "12032": "failure", + "12033": "failure", + "12034": "failure", + "12035": "failure", + "12036": "failure", + "12037": "failure", + "12038": "failure", + "12039": "failure", + "12040": "failure", + "12041": "failure", + "12042": "failure", + "12043": "failure", + "12044": "failure", + "12045": "infeasible", + "12046": "failure", + "12047": "successful", + "12048": "failure", + "12049": "already_complete", + "12050": "failure", + "12051": "failure", + "12052": "failure", + "12053": "failure", + "12054": "failure", + "12055": "failure", + "12056": "failure", + "12057": "successful", + "12058": "failure", + "12059": "failure", + "12060": "failure", + "12061": "failure", + "12062": "failure", + "12063": "failure", + "12064": "failure", + "12065": "infeasible", + "12066": "failure", + "12067": "failure", + "12068": "failure", + "12069": "failure", + "12070": "failure", + "12071": "failure", + "12072": "failure", + "12073": "successful", + "12074": "failure", + "12075": "failure", + "12076": "failure", + "12077": "failure", + "12078": "failure", + "12079": "failure", + "12080": "failure", + "12081": "failure", + "12082": "failure", + "12083": "successful", + "12084": "failure", + "12085": "failure", + "12086": "failure", + "12087": "failure", + "12088": "failure", + "12089": "failure", + "12090": "failure", + "12091": "failure", + "12092": "failure", + "12093": "failure", + "12094": "failure", + "12095": "failure", + "12096": "failure", + "12097": "failure", + "12098": "failure", + "12099": "infeasible", + "12100": "successful", + "12101": "failure", + "12102": "failure", + "12103": "failure", + "12104": "failure", + "12105": "failure", + "12106": "failure", + "12107": "failure", + "12108": "failure", + "12109": "failure", + "12110": "successful", + "12111": "failure", + "12112": "failure", + "12113": "infeasible", + "12114": "infeasible", + "12115": "failure", + "12116": "failure", + "12117": "failure", + "12118": "infeasible", + "12119": "failure", + "12120": "failure", + "12121": "failure", + "12122": "failure", + "12123": "failure", + "12124": "failure", + "12125": "failure", + "12126": "failure", + "12127": "failure", + "12128": "infeasible", + "12129": "failure", + "12130": "failure", + "12131": "failure", + "12132": "failure", + "12133": "failure", + "12134": "failure", + "12135": "failure", + "12136": "failure", + "12137": "failure", + "12138": "failure", + "12139": "infeasible", + "12140": "infeasible", + "12141": "failure", + "12142": "failure", + "12143": "failure", + "12144": "failure", + "12145": "failure", + "12146": "failure", + "12147": "failure", + "12148": "failure", + "12149": "failure", + "12150": "failure", + "12151": "successful", + "12152": "failure", + "12153": "failure", + "12154": "failure", + "12155": "failure", + "12156": "failure", + "12157": "failure", + "12158": "failure", + "12159": "infeasible", + "12160": "failure", + "12161": "failure", + "12162": "failure", + "12163": "failure", + "12164": "failure", + "12165": "failure", + "12166": "failure", + "12167": "failure", + "12168": "failure", + "12169": "failure", + "12170": "successful", + "12171": "successful", + "12172": "failure", + "12173": "failure", + "12174": "failure", + "12175": "failure", + "12176": "failure", + "12177": "successful", + "12178": "infeasible", + "12179": "failure", + "12180": "failure", + "12181": "failure", + "12182": "failure", + "12183": "successful", + "12184": "failure", + "12185": "failure", + "12186": "failure", + "12187": "failure", + "12188": "failure", + "12189": "successful", + "12190": "infeasible", + "12191": "failure", + "12192": "failure", + "12193": "failure", + "12194": "failure", + "12195": "successful", + "12196": "failure", + "12197": "failure", + "12198": "failure", + "12199": "failure", + "12200": "failure", + "12201": "successful", + "12202": "failure", + "12203": "failure", + "12204": "infeasible", + "12205": "failure", + "12206": "failure", + "12207": "failure", + "12208": "failure", + "12209": "failure", + "12210": "failure", + "12211": "failure", + "12212": "failure", + "12213": "failure", + "12214": "failure", + "12215": "failure", + "12216": "failure", + "12217": "successful", + "12218": "failure", + "12219": "failure", + "12220": "failure", + "12221": "failure", + "12222": "successful", + "12223": "successful", + "12224": "infeasible", + "12225": "successful", + "12226": "failure", + "12227": "infeasible", + "12228": "failure", + "12229": "failure", + "12230": "failure", + "12231": "failure", + "12232": "failure", + "12233": "failure", + "12234": "failure", + "12235": "failure", + "12236": "failure", + "12237": "failure", + "12238": "infeasible", + "12239": "failure", + "12240": "successful", + "12241": "failure", + "12242": "failure", + "12243": "already_complete", + "12244": "failure", + "12245": "failure", + "12246": "successful", + "12247": "successful", + "12248": "failure", + "12249": "failure", + "12250": "failure", + "12251": "successful", + "12252": "failure", + "12253": "successful", + "12254": "successful", + "12255": "infeasible", + "12256": "failure", + "12257": "failure", + "12258": "failure", + "12259": "failure", + "12260": "failure", + "12261": "failure", + "12262": "failure", + "12263": "failure", + "12264": "failure", + "12265": "failure", + "12266": "infeasible", + "12267": "failure", + "12268": "failure", + "12269": "failure", + "12270": "failure", + "12271": "failure", + "12272": "failure", + "12273": "failure", + "12274": "failure", + "12275": "infeasible", + "12276": "failure", + "12277": "failure", + "12278": "infeasible", + "12279": "successful", + "12280": "failure", + "12281": "failure", + "12282": "failure", + "12283": "infeasible", + "12284": "failure", + "12285": "failure", + "12286": "failure", + "12287": "failure", + "12288": "failure", + "12289": "failure", + "12290": "successful", + "12291": "infeasible", + "12292": "successful", + "12293": "failure", + "12294": "successful", + "12295": "failure", + "12296": "successful", + "12297": "failure", + "12298": "infeasible", + "12299": "failure", + "12300": "failure", + "12301": "failure", + "12302": "failure", + "12303": "failure", + "12304": "failure", + "12305": "failure", + "12306": "failure", + "12307": "infeasible", + "12308": "failure", + "12309": "successful", + "12310": "failure", + "12311": "failure", + "12312": "failure", + "12313": "infeasible", + "12314": "infeasible", + "12315": "failure", + "12316": "successful", + "12317": "failure", + "12318": "failure", + "12319": "failure", + "12320": "failure", + "12321": "failure", + "12322": "failure", + "12323": "successful", + "12324": "failure", + "12325": "failure", + "12326": "failure", + "12327": "failure", + "12328": "failure", + "12329": "failure", + "12330": "failure", + "12331": "successful", + "12332": "failure", + "12333": "failure", + "12334": "successful", + "12335": "failure", + "12336": "failure", + "12337": "infeasible", + "12338": "failure", + "12339": "failure", + "12340": "failure", + "12341": "infeasible", + "12342": "failure", + "12343": "failure", + "12344": "failure", + "12345": "successful", + "12346": "failure", + "12347": "infeasible", + "12348": "failure", + "12349": "failure", + "12350": "successful", + "12351": "successful", + "12352": "failure", + "12353": "failure", + "12354": "failure", + "12355": "failure", + "12356": "failure", + "12357": "failure", + "12358": "failure", + "12359": "failure", + "12360": "successful", + "12361": "failure", + "12362": "failure", + "12363": "failure", + "12364": "infeasible", + "12365": "failure", + "12366": "failure", + "12367": "infeasible", + "12368": "failure", + "12369": "failure", + "12370": "failure", + "12371": "failure", + "12372": "failure", + "12373": "failure", + "12374": "failure", + "12375": "successful", + "12376": "failure", + "12377": "failure", + "12378": "failure", + "12379": "failure", + "12380": "failure", + "12381": "failure", + "12382": "infeasible", + "12383": "failure", + "12384": "failure", + "12385": "failure", + "12386": "failure", + "12387": "failure", + "12388": "failure", + "12389": "infeasible", + "12390": "failure", + "12391": "successful", + "12392": "failure", + "12393": "failure", + "12394": "failure", + "12395": "failure", + "12396": "failure", + "12397": "failure", + "12398": "failure", + "12399": "failure", + "12400": "failure", + "12401": "failure", + "12402": "failure", + "12403": "successful", + "12404": "failure", + "12405": "failure", + "12406": "failure", + "12407": "failure", + "12408": "failure", + "12409": "failure", + "12410": "failure", + "12411": "failure", + "12412": "failure", + "12413": "successful", + "12414": "successful", + "12415": "failure", + "12416": "failure", + "12417": "failure", + "12418": "infeasible", + "12419": "successful", + "12420": "successful", + "12421": "infeasible", + "12422": "successful", + "12423": "failure", + "12424": "failure", + "12425": "failure", + "12426": "failure", + "12427": "failure", + "12428": "failure", + "12429": "failure", + "12430": "infeasible", + "12431": "failure", + "12432": "infeasible", + "12433": "failure", + "12434": "failure", + "12435": "failure", + "12436": "failure", + "12437": "failure", + "12438": "failure", + "12439": "failure", + "12440": "failure", + "12441": "failure", + "12442": "failure", + "12443": "failure", + "12444": "failure", + "12445": "failure", + "12446": "failure", + "12447": "failure", + "12448": "infeasible", + "12449": "failure", + "12450": "failure", + "12451": "successful", + "12452": "infeasible", + "12453": "successful", + "12454": "failure", + "12455": "failure", + "12456": "failure", + "12457": "failure", + "12458": "failure", + "12459": "failure", + "12460": "failure", + "12461": "successful", + "12462": "failure", + "12463": "failure", + "12464": "successful", + "12465": "failure", + "12466": "failure", + "12467": "failure", + "12468": "failure", + "12469": "failure", + "12470": "successful", + "12471": "failure", + "12472": "failure", + "12473": "infeasible", + "12474": "failure", + "12475": "failure", + "12476": "failure", + "12477": "infeasible", + "12478": "failure", + "12479": "failure", + "12480": "failure", + "12481": "successful", + "12482": "failure", + "12483": "failure", + "12484": "failure", + "12485": "failure", + "12486": "infeasible", + "12487": "failure", + "12488": "infeasible", + "12489": "failure", + "12490": "failure", + "12491": "failure", + "12492": "failure", + "12493": "successful", + "12494": "failure", + "12495": "failure", + "12496": "failure", + "12497": "failure", + "12498": "failure", + "12499": "successful", + "12500": "successful", + "12501": "successful", + "12502": "successful", + "12503": "failure", + "12504": "failure", + "12505": "infeasible", + "12506": "failure", + "12507": "failure", + "12508": "failure", + "12509": "failure", + "12510": "failure", + "12511": "failure", + "12512": "failure", + "12513": "failure", + "12514": "failure", + "12515": "failure", + "12516": "infeasible", + "12517": "failure", + "12518": "infeasible", + "12519": "failure", + "12520": "failure", + "12521": "failure", + "12522": "failure", + "12523": "infeasible", + "12524": "failure", + "12525": "failure", + "12526": "failure", + "12527": "failure", + "12528": "infeasible", + "12529": "failure", + "12530": "successful", + "12531": "successful", + "12532": "infeasible", + "12533": "failure", + "12534": "failure", + "12535": "failure", + "12536": "failure", + "12537": "failure", + "12538": "failure", + "12539": "infeasible", + "12540": "failure", + "12541": "infeasible", + "12542": "successful", + "12543": "failure", + "12544": "failure", + "12545": "failure", + "12546": "failure", + "12547": "failure", + "12548": "failure", + "12549": "failure", + "12550": "failure", + "12551": "failure", + "12552": "failure", + "12553": "successful", + "12554": "failure", + "12555": "failure", + "12556": "failure", + "12557": "failure", + "12558": "successful", + "12559": "infeasible", + "12560": "failure", + "12561": "failure", + "12562": "failure", + "12563": "successful", + "12564": "failure", + "12565": "failure", + "12566": "failure", + "12567": "failure", + "12568": "failure", + "12569": "failure", + "12570": "failure", + "12571": "failure", + "12572": "successful", + "12573": "successful", + "12574": "failure", + "12575": "failure", + "12576": "failure", + "12577": "failure", + "12578": "failure", + "12579": "failure", + "12580": "failure", + "12581": "failure", + "12582": "failure", + "12583": "failure", + "12584": "failure", + "12585": "infeasible", + "12586": "failure", + "12587": "successful", + "12588": "failure", + "12589": "failure", + "12590": "failure", + "12591": "failure", + "12592": "successful", + "12593": "already_complete", + "12594": "failure", + "12595": "failure", + "12596": "failure", + "12597": "successful", + "12598": "failure", + "12599": "failure", + "12600": "successful", + "12601": "failure", + "12602": "failure", + "12603": "failure", + "12604": "failure", + "12605": "failure", + "12606": "failure", + "12607": "successful", + "12608": "failure", + "12609": "failure", + "12610": "successful", + "12611": "failure", + "12612": "infeasible", + "12613": "failure", + "12614": "infeasible", + "12615": "failure", + "12616": "failure", + "12617": "failure", + "12618": "successful", + "12619": "failure", + "12620": "failure", + "12621": "failure", + "12622": "failure", + "12623": "failure", + "12624": "failure", + "12625": "failure", + "12626": "failure", + "12627": "failure", + "12628": "failure", + "12629": "failure", + "12630": "failure", + "12631": "failure", + "12632": "failure", + "12633": "failure", + "12634": "failure", + "12635": "infeasible", + "12636": "failure", + "12637": "failure", + "12638": "failure", + "12639": "successful", + "12640": "successful", + "12641": "failure", + "12642": "failure", + "12643": "successful", + "12644": "failure", + "12645": "failure", + "12646": "failure", + "12647": "failure", + "12648": "failure", + "12649": "infeasible", + "12650": "failure", + "12651": "failure", + "12652": "failure", + "12653": "failure", + "12654": "infeasible", + "12655": "failure", + "12656": "failure", + "12657": "infeasible", + "12658": "failure", + "12659": "failure", + "12660": "failure", + "12661": "successful", + "12662": "failure", + "12663": "already_complete", + "12664": "failure", + "12665": "failure", + "12666": "failure", + "12667": "failure", + "12668": "failure", + "12669": "failure", + "12670": "failure", + "12671": "successful", + "12672": "failure", + "12673": "failure", + "12674": "successful", + "12675": "failure", + "12676": "failure", + "12677": "infeasible", + "12678": "infeasible", + "12679": "failure", + "12680": "failure", + "12681": "failure", + "12682": "failure", + "12683": "failure", + "12684": "infeasible", + "12685": "failure", + "12686": "failure", + "12687": "successful", + "12688": "failure", + "12689": "failure", + "12690": "failure", + "12691": "successful", + "12692": "failure", + "12693": "infeasible", + "12694": "successful", + "12695": "successful", + "12696": "failure", + "12697": "successful", + "12698": "failure", + "12699": "failure", + "12700": "infeasible", + "12701": "failure", + "12702": "failure", + "12703": "failure", + "12704": "failure", + "12705": "failure", + "12706": "failure", + "12707": "successful", + "12708": "successful", + "12709": "successful", + "12710": "failure", + "12711": "failure", + "12712": "failure", + "12713": "failure", + "12714": "failure", + "12715": "failure", + "12716": "failure", + "12717": "failure", + "12718": "failure", + "12719": "failure", + "12720": "failure", + "12721": "failure", + "12722": "failure", + "12723": "failure", + "12724": "failure", + "12725": "failure", + "12726": "infeasible", + "12727": "failure", + "12728": "successful", + "12729": "failure", + "12730": "failure", + "12731": "failure", + "12732": "failure", + "12733": "failure", + "12734": "failure", + "12735": "failure", + "12736": "failure", + "12737": "failure", + "12738": "successful", + "12739": "failure", + "12740": "failure", + "12741": "failure", + "12742": "failure", + "12743": "failure", + "12744": "failure", + "12745": "failure", + "12746": "failure", + "12747": "failure", + "12748": "failure", + "12749": "failure", + "12750": "failure", + "12751": "infeasible", + "12752": "failure", + "12753": "infeasible", + "12754": "failure", + "12755": "failure", + "12756": "failure", + "12757": "failure", + "12758": "infeasible", + "12759": "failure", + "12760": "failure", + "12761": "failure", + "12762": "failure", + "12763": "failure", + "12764": "failure", + "12765": "infeasible", + "12766": "failure", + "12767": "failure", + "12768": "infeasible", + "12769": "failure", + "12770": "failure", + "12771": "failure", + "12772": "failure", + "12773": "failure", + "12774": "failure", + "12775": "failure", + "12776": "failure", + "12777": "failure", + "12778": "failure", + "12779": "failure", + "12780": "successful", + "12781": "successful", + "12782": "failure", + "12783": "failure", + "12784": "failure", + "12785": "failure", + "12786": "failure", + "12787": "failure", + "12788": "failure", + "12789": "failure", + "12790": "failure", + "12791": "failure", + "12792": "failure", + "12793": "failure", + "12794": "failure", + "12795": "failure", + "12796": "failure", + "12797": "infeasible", + "12798": "failure", + "12799": "failure", + "12800": "successful", + "12801": "failure", + "12802": "failure", + "12803": "successful", + "12804": "failure", + "12805": "failure", + "12806": "failure", + "12807": "failure", + "12808": "failure", + "12809": "infeasible", + "12810": "failure", + "12811": "failure", + "12812": "failure", + "12813": "failure", + "12814": "failure", + "12815": "failure", + "12816": "failure", + "12817": "failure", + "12818": "failure", + "12819": "failure", + "12820": "infeasible", + "12821": "failure", + "12822": "infeasible", + "12823": "successful", + "12824": "infeasible", + "12825": "failure", + "12826": "failure", + "12827": "failure", + "12828": "failure", + "12829": "infeasible", + "12830": "successful", + "12831": "failure", + "12832": "failure", + "12833": "failure", + "12834": "failure", + "12835": "failure", + "12836": "successful", + "12837": "infeasible", + "12838": "successful", + "12839": "failure", + "12840": "successful", + "12841": "failure", + "12842": "failure", + "12843": "failure", + "12844": "infeasible", + "12845": "failure", + "12846": "failure", + "12847": "successful", + "12848": "failure", + "12849": "failure", + "12850": "failure", + "12851": "failure", + "12852": "failure", + "12853": "failure", + "12854": "failure", + "12855": "successful", + "12856": "failure", + "12857": "failure", + "12858": "failure", + "12859": "failure", + "12860": "failure", + "12861": "failure", + "12862": "failure", + "12863": "failure", + "12864": "failure", + "12865": "failure", + "12866": "failure", + "12867": "failure", + "12868": "successful", + "12869": "failure", + "12870": "failure", + "12871": "failure", + "12872": "failure", + "12873": "failure", + "12874": "failure", + "12875": "failure", + "12876": "infeasible", + "12877": "infeasible", + "12878": "failure", + "12879": "failure", + "12880": "failure", + "12881": "successful", + "12882": "failure", + "12883": "successful", + "12884": "failure", + "12885": "failure", + "12886": "infeasible", + "12887": "infeasible", + "12888": "failure", + "12889": "failure", + "12890": "successful", + "12891": "successful", + "12892": "failure", + "12893": "failure", + "12894": "failure", + "12895": "infeasible", + "12896": "failure", + "12897": "infeasible", + "12898": "failure", + "12899": "failure", + "12900": "failure", + "12901": "failure", + "12902": "already_complete", + "12903": "failure", + "12904": "successful", + "12905": "failure", + "12906": "already_complete", + "12907": "failure", + "12908": "successful", + "12909": "failure", + "12910": "failure", + "12911": "failure", + "12912": "failure", + "12913": "failure", + "12914": "failure", + "12915": "infeasible", + "12916": "infeasible", + "12917": "failure", + "12918": "failure", + "12919": "infeasible", + "12920": "failure", + "12921": "failure", + "12922": "infeasible", + "12923": "failure", + "12924": "failure", + "12925": "failure", + "12926": "infeasible", + "12927": "failure", + "12928": "failure", + "12929": "failure", + "12930": "failure", + "12931": "failure", + "12932": "failure", + "12933": "failure", + "12934": "failure", + "12935": "successful", + "12936": "failure", + "12937": "failure", + "12938": "failure", + "12939": "failure", + "12940": "failure", + "12941": "failure", + "12942": "failure", + "12943": "successful", + "12944": "failure", + "12945": "failure", + "12946": "failure", + "12947": "successful", + "12948": "infeasible", + "12949": "failure", + "12950": "failure", + "12951": "failure", + "12952": "infeasible", + "12953": "failure", + "12954": "failure", + "12955": "infeasible", + "12956": "failure", + "12957": "successful", + "12958": "failure", + "12959": "successful", + "12960": "failure", + "12961": "failure", + "12962": "failure", + "12963": "failure", + "12964": "failure", + "12965": "failure", + "12966": "failure", + "12967": "successful", + "12968": "failure", + "12969": "failure", + "12970": "failure", + "12971": "failure", + "12972": "already_complete", + "12973": "failure", + "12974": "failure", + "12975": "failure", + "12976": "failure", + "12977": "infeasible", + "12978": "failure", + "12979": "failure", + "12980": "failure", + "12981": "infeasible", + "12982": "successful", + "12983": "failure", + "12984": "infeasible", + "12985": "failure", + "12986": "failure", + "12987": "failure", + "12988": "failure", + "12989": "failure", + "12990": "failure", + "12991": "infeasible", + "12992": "failure", + "12993": "failure", + "12994": "failure", + "12995": "failure", + "12996": "failure", + "12997": "failure", + "12998": "successful", + "12999": "failure", + "13000": "failure", + "13001": "failure", + "13002": "failure", + "13003": "successful", + "13004": "failure", + "13005": "infeasible", + "13006": "failure", + "13007": "failure", + "13008": "successful", + "13009": "failure", + "13010": "failure", + "13011": "infeasible", + "13012": "failure", + "13013": "failure", + "13014": "failure", + "13015": "failure", + "13016": "failure", + "13017": "failure", + "13018": "failure", + "13019": "successful", + "13020": "failure", + "13021": "failure", + "13022": "failure", + "13023": "failure", + "13024": "failure", + "13025": "failure", + "13026": "failure", + "13027": "failure", + "13028": "failure", + "13029": "failure", + "13030": "failure", + "13031": "failure", + "13032": "failure", + "13033": "failure", + "13034": "successful", + "13035": "failure", + "13036": "failure", + "13037": "failure", + "13038": "failure", + "13039": "infeasible", + "13040": "failure", + "13041": "failure", + "13042": "failure", + "13043": "failure", + "13044": "successful", + "13045": "failure", + "13046": "failure", + "13047": "failure", + "13048": "successful", + "13049": "failure", + "13050": "failure", + "13051": "failure", + "13052": "failure", + "13053": "failure", + "13054": "failure", + "13055": "failure", + "13056": "failure", + "13057": "failure", + "13058": "failure", + "13059": "failure", + "13060": "infeasible", + "13061": "successful", + "13062": "failure", + "13063": "failure", + "13064": "successful", + "13065": "failure", + "13066": "failure", + "13067": "failure", + "13068": "failure", + "13069": "failure", + "13070": "failure", + "13071": "failure", + "13072": "failure", + "13073": "failure", + "13074": "failure", + "13075": "successful", + "13076": "failure", + "13077": "failure", + "13078": "infeasible", + "13079": "failure", + "13080": "failure", + "13081": "successful", + "13082": "infeasible", + "13083": "failure", + "13084": "infeasible", + "13085": "failure", + "13086": "successful", + "13087": "failure", + "13088": "failure", + "13089": "failure", + "13090": "failure", + "13091": "failure", + "13092": "failure", + "13093": "failure", + "13094": "successful", + "13095": "failure", + "13096": "infeasible", + "13097": "failure", + "13098": "failure", + "13099": "successful", + "13100": "failure", + "13101": "failure", + "13102": "failure", + "13103": "failure", + "13104": "failure", + "13105": "failure", + "13106": "failure", + "13107": "failure", + "13108": "successful", + "13109": "failure", + "13110": "successful", + "13111": "failure", + "13112": "failure", + "13113": "failure", + "13114": "failure", + "13115": "infeasible", + "13116": "infeasible", + "13117": "failure", + "13118": "failure", + "13119": "failure", + "13120": "failure", + "13121": "failure", + "13122": "failure", + "13123": "successful", + "13124": "failure", + "13125": "failure", + "13126": "failure", + "13127": "successful", + "13128": "failure", + "13129": "failure", + "13130": "failure", + "13131": "failure", + "13132": "infeasible", + "13133": "successful", + "13134": "failure", + "13135": "failure", + "13136": "failure", + "13137": "failure", + "13138": "failure", + "13139": "failure", + "13140": "failure", + "13141": "failure", + "13142": "failure", + "13143": "failure", + "13144": "failure", + "13145": "failure", + "13146": "infeasible", + "13147": "successful", + "13148": "failure", + "13149": "failure", + "13150": "failure", + "13151": "failure", + "13152": "failure", + "13153": "failure", + "13154": "successful", + "13155": "successful", + "13156": "failure", + "13157": "failure", + "13158": "infeasible", + "13159": "failure", + "13160": "failure", + "13161": "failure", + "13162": "failure", + "13163": "failure", + "13164": "successful", + "13165": "failure", + "13166": "failure", + "13167": "failure", + "13168": "failure", + "13169": "infeasible", + "13170": "infeasible", + "13171": "failure", + "13172": "successful", + "13173": "failure", + "13174": "failure", + "13175": "successful", + "13176": "successful", + "13177": "failure", + "13178": "failure", + "13179": "failure", + "13180": "failure", + "13181": "failure", + "13182": "failure", + "13183": "failure", + "13184": "failure", + "13185": "failure", + "13186": "failure", + "13187": "failure", + "13188": "failure", + "13189": "infeasible", + "13190": "failure", + "13191": "failure", + "13192": "successful", + "13193": "infeasible", + "13194": "successful", + "13195": "failure", + "13196": "failure", + "13197": "successful", + "13198": "failure", + "13199": "failure", + "13200": "failure", + "13201": "failure", + "13202": "successful", + "13203": "failure", + "13204": "successful", + "13205": "failure", + "13206": "failure", + "13207": "infeasible", + "13208": "failure", + "13209": "failure", + "13210": "failure", + "13211": "successful", + "13212": "failure", + "13213": "successful", + "13214": "failure", + "13215": "failure", + "13216": "failure", + "13217": "failure", + "13218": "failure", + "13219": "failure", + "13220": "failure", + "13221": "successful", + "13222": "failure", + "13223": "infeasible", + "13224": "failure", + "13225": "failure", + "13226": "infeasible", + "13227": "successful", + "13228": "failure", + "13229": "failure", + "13230": "failure", + "13231": "failure", + "13232": "failure", + "13233": "successful", + "13234": "failure", + "13235": "successful", + "13236": "failure", + "13237": "failure", + "13238": "failure", + "13239": "successful", + "13240": "failure", + "13241": "failure", + "13242": "failure", + "13243": "failure", + "13244": "infeasible", + "13245": "failure", + "13246": "failure", + "13247": "successful", + "13248": "already_complete", + "13249": "failure", + "13250": "failure", + "13251": "failure", + "13252": "failure", + "13253": "failure", + "13254": "infeasible", + "13255": "failure", + "13256": "failure", + "13257": "failure", + "13258": "infeasible", + "13259": "failure", + "13260": "failure", + "13261": "failure", + "13262": "failure", + "13263": "failure", + "13264": "failure", + "13265": "failure", + "13266": "successful", + "13267": "failure", + "13268": "failure", + "13269": "failure", + "13270": "failure", + "13271": "successful", + "13272": "failure", + "13273": "successful", + "13274": "failure", + "13275": "failure", + "13276": "failure", + "13277": "failure", + "13278": "failure", + "13279": "failure", + "13280": "failure", + "13281": "failure", + "13282": "failure", + "13283": "failure", + "13284": "failure", + "13285": "failure", + "13286": "failure", + "13287": "failure", + "13288": "failure", + "13289": "successful", + "13290": "failure", + "13291": "failure", + "13292": "failure", + "13293": "failure", + "13294": "failure", + "13295": "failure", + "13296": "failure", + "13297": "failure", + "13298": "infeasible", + "13299": "failure", + "13300": "failure", + "13301": "failure", + "13302": "infeasible", + "13303": "failure", + "13304": "failure", + "13305": "failure", + "13306": "failure", + "13307": "failure", + "13308": "failure", + "13309": "failure", + "13310": "failure", + "13311": "failure", + "13312": "failure", + "13313": "infeasible", + "13314": "failure", + "13315": "failure", + "13316": "failure", + "13317": "infeasible", + "13318": "failure", + "13319": "infeasible", + "13320": "infeasible", + "13321": "failure", + "13322": "failure", + "13323": "failure", + "13324": "failure", + "13325": "failure", + "13326": "failure", + "13327": "failure", + "13328": "failure", + "13329": "failure", + "13330": "failure", + "13331": "failure", + "13332": "failure", + "13333": "failure", + "13334": "failure", + "13335": "successful", + "13336": "failure", + "13337": "failure", + "13338": "successful", + "13339": "failure", + "13340": "failure", + "13341": "failure", + "13342": "failure", + "13343": "successful", + "13344": "failure", + "13345": "failure", + "13346": "successful", + "13347": "failure", + "13348": "failure", + "13349": "failure", + "13350": "failure", + "13351": "failure", + "13352": "infeasible", + "13353": "failure", + "13354": "failure", + "13355": "failure", + "13356": "failure", + "13357": "failure", + "13358": "infeasible", + "13359": "failure", + "13360": "failure", + "13361": "failure", + "13362": "failure", + "13363": "failure", + "13364": "failure", + "13365": "failure", + "13366": "failure", + "13367": "failure", + "13368": "failure", + "13369": "failure", + "13370": "failure", + "13371": "failure", + "13372": "successful", + "13373": "failure", + "13374": "infeasible", + "13375": "failure", + "13376": "failure", + "13377": "failure", + "13378": "failure", + "13379": "failure", + "13380": "failure", + "13381": "failure", + "13382": "failure", + "13383": "failure", + "13384": "failure", + "13385": "failure", + "13386": "failure", + "13387": "failure", + "13388": "failure", + "13389": "failure", + "13390": "failure", + "13391": "failure", + "13392": "failure", + "13393": "failure", + "13394": "failure", + "13395": "failure", + "13396": "failure", + "13397": "failure", + "13398": "failure", + "13399": "failure", + "13400": "failure", + "13401": "failure", + "13402": "failure", + "13403": "failure", + "13404": "failure", + "13405": "failure", + "13406": "failure", + "13407": "failure", + "13408": "failure", + "13409": "failure", + "13410": "failure", + "13411": "failure", + "13412": "infeasible", + "13413": "failure", + "13414": "failure", + "13415": "failure", + "13416": "successful", + "13417": "failure", + "13418": "failure", + "13419": "failure", + "13420": "failure", + "13421": "failure", + "13422": "failure", + "13423": "failure", + "13424": "failure", + "13425": "failure", + "13426": "failure", + "13427": "failure", + "13428": "failure", + "13429": "failure", + "13430": "failure", + "13431": "failure", + "13432": "failure", + "13433": "failure", + "13434": "failure", + "13435": "failure", + "13436": "failure", + "13437": "successful", + "13438": "successful", + "13439": "failure", + "13440": "infeasible", + "13441": "failure", + "13442": "failure", + "13443": "failure", + "13444": "failure", + "13445": "failure", + "13446": "failure", + "13447": "failure", + "13448": "failure", + "13449": "failure", + "13450": "failure", + "13451": "failure", + "13452": "failure", + "13453": "failure", + "13454": "failure", + "13455": "infeasible", + "13456": "successful", + "13457": "successful", + "13458": "infeasible", + "13459": "failure", + "13460": "failure", + "13461": "failure", + "13462": "failure", + "13463": "failure", + "13464": "failure", + "13465": "failure", + "13466": "failure", + "13467": "successful", + "13468": "successful", + "13469": "successful", + "13470": "failure", + "13471": "failure", + "13472": "failure", + "13473": "failure", + "13474": "failure", + "13475": "failure", + "13476": "failure", + "13477": "failure", + "13478": "failure", + "13479": "failure", + "13480": "failure", + "13481": "failure", + "13482": "failure", + "13483": "infeasible", + "13484": "infeasible", + "13485": "failure", + "13486": "failure", + "13487": "failure", + "13488": "successful", + "13489": "failure", + "13490": "failure", + "13491": "failure", + "13492": "failure", + "13493": "failure", + "13494": "failure", + "13495": "failure", + "13496": "failure", + "13497": "infeasible", + "13498": "failure", + "13499": "failure", + "13500": "failure", + "13501": "successful", + "13502": "failure", + "13503": "failure", + "13504": "failure", + "13505": "failure", + "13506": "successful", + "13507": "failure", + "13508": "failure", + "13509": "successful", + "13510": "infeasible", + "13511": "failure", + "13512": "failure", + "13513": "failure", + "13514": "failure", + "13515": "failure", + "13516": "failure", + "13517": "failure", + "13518": "failure", + "13519": "infeasible", + "13520": "failure", + "13521": "failure", + "13522": "failure", + "13523": "failure", + "13524": "infeasible", + "13525": "failure", + "13526": "infeasible", + "13527": "infeasible", + "13528": "failure", + "13529": "failure", + "13530": "failure", + "13531": "failure", + "13532": "failure", + "13533": "failure", + "13534": "failure", + "13535": "failure", + "13536": "failure", + "13537": "failure", + "13538": "failure", + "13539": "failure", + "13540": "failure", + "13541": "successful", + "13542": "infeasible", + "13543": "failure", + "13544": "failure", + "13545": "failure", + "13546": "failure", + "13547": "failure", + "13548": "failure", + "13549": "failure", + "13550": "failure", + "13551": "failure", + "13552": "infeasible", + "13553": "failure", + "13554": "failure", + "13555": "already_complete", + "13556": "failure", + "13557": "failure", + "13558": "successful", + "13559": "failure", + "13560": "infeasible", + "13561": "failure", + "13562": "successful", + "13563": "failure", + "13564": "failure", + "13565": "failure", + "13566": "failure", + "13567": "failure", + "13568": "failure", + "13569": "failure", + "13570": "failure", + "13571": "failure", + "13572": "failure", + "13573": "infeasible", + "13574": "infeasible", + "13575": "failure", + "13576": "failure", + "13577": "failure", + "13578": "failure", + "13579": "failure", + "13580": "failure", + "13581": "successful", + "13582": "failure", + "13583": "failure", + "13584": "failure", + "13585": "infeasible", + "13586": "failure", + "13587": "successful", + "13588": "failure", + "13589": "failure", + "13590": "failure", + "13591": "failure", + "13592": "infeasible", + "13593": "failure", + "13594": "failure", + "13595": "infeasible", + "13596": "failure", + "13597": "failure", + "13598": "failure", + "13599": "failure", + "13600": "failure", + "13601": "infeasible", + "13602": "failure", + "13603": "failure", + "13604": "failure", + "13605": "failure", + "13606": "failure", + "13607": "infeasible", + "13608": "failure", + "13609": "failure", + "13610": "failure", + "13611": "failure", + "13612": "failure", + "13613": "failure", + "13614": "failure", + "13615": "failure", + "13616": "failure", + "13617": "failure", + "13618": "failure", + "13619": "failure", + "13620": "successful", + "13621": "infeasible", + "13622": "already_complete", + "13623": "failure", + "13624": "infeasible", + "13625": "failure", + "13626": "failure", + "13627": "failure", + "13628": "failure", + "13629": "failure", + "13630": "failure", + "13631": "failure", + "13632": "failure", + "13633": "infeasible", + "13634": "failure", + "13635": "failure", + "13636": "failure", + "13637": "successful", + "13638": "failure", + "13639": "failure", + "13640": "successful", + "13641": "failure", + "13642": "failure", + "13643": "successful", + "13644": "failure", + "13645": "failure", + "13646": "failure", + "13647": "failure", + "13648": "failure", + "13649": "failure", + "13650": "infeasible", + "13651": "failure", + "13652": "failure", + "13653": "failure", + "13654": "failure", + "13655": "successful", + "13656": "failure", + "13657": "failure", + "13658": "infeasible", + "13659": "failure", + "13660": "infeasible", + "13661": "failure", + "13662": "failure", + "13663": "successful", + "13664": "failure", + "13665": "failure", + "13666": "failure", + "13667": "failure", + "13668": "failure", + "13669": "failure", + "13670": "failure", + "13671": "failure", + "13672": "failure", + "13673": "failure", + "13674": "failure", + "13675": "failure", + "13676": "failure", + "13677": "failure", + "13678": "failure", + "13679": "failure", + "13680": "failure", + "13681": "failure", + "13682": "successful", + "13683": "failure", + "13684": "failure", + "13685": "failure", + "13686": "infeasible", + "13687": "failure", + "13688": "successful", + "13689": "failure", + "13690": "failure", + "13691": "failure", + "13692": "failure", + "13693": "failure", + "13694": "failure", + "13695": "failure", + "13696": "failure", + "13697": "successful", + "13698": "failure", + "13699": "failure", + "13700": "failure", + "13701": "failure", + "13702": "failure", + "13703": "failure", + "13704": "failure", + "13705": "failure", + "13706": "failure", + "13707": "failure", + "13708": "failure", + "13709": "failure", + "13710": "failure", + "13711": "failure", + "13712": "failure", + "13713": "failure", + "13714": "failure", + "13715": "failure", + "13716": "infeasible", + "13717": "failure", + "13718": "failure", + "13719": "failure", + "13720": "successful", + "13721": "successful", + "13722": "failure", + "13723": "successful", + "13724": "failure", + "13725": "failure", + "13726": "failure", + "13727": "failure", + "13728": "failure", + "13729": "failure", + "13730": "infeasible", + "13731": "failure", + "13732": "failure", + "13733": "failure", + "13734": "failure", + "13735": "failure", + "13736": "failure", + "13737": "failure", + "13738": "failure", + "13739": "failure", + "13740": "infeasible", + "13741": "failure", + "13742": "failure", + "13743": "failure", + "13744": "failure", + "13745": "failure", + "13746": "failure", + "13747": "failure", + "13748": "successful", + "13749": "failure", + "13750": "failure", + "13751": "failure", + "13752": "failure", + "13753": "failure", + "13754": "failure", + "13755": "failure", + "13756": "failure", + "13757": "failure", + "13758": "infeasible", + "13759": "failure", + "13760": "failure", + "13761": "failure", + "13762": "failure", + "13763": "failure", + "13764": "failure", + "13765": "failure", + "13766": "failure", + "13767": "failure", + "13768": "failure", + "13769": "failure", + "13770": "failure", + "13771": "failure", + "13772": "successful", + "13773": "failure", + "13774": "failure", + "13775": "failure", + "13776": "infeasible", + "13777": "successful", + "13778": "failure", + "13779": "failure", + "13780": "failure", + "13781": "failure", + "13782": "failure", + "13783": "failure", + "13784": "failure", + "13785": "failure", + "13786": "infeasible", + "13787": "failure", + "13788": "successful", + "13789": "failure", + "13790": "failure", + "13791": "failure", + "13792": "failure", + "13793": "failure", + "13794": "failure", + "13795": "successful", + "13796": "failure", + "13797": "successful", + "13798": "failure", + "13799": "failure", + "13800": "failure", + "13801": "successful", + "13802": "failure", + "13803": "failure", + "13804": "failure", + "13805": "failure", + "13806": "failure", + "13807": "successful", + "13808": "failure", + "13809": "failure", + "13810": "successful", + "13811": "failure", + "13812": "infeasible", + "13813": "infeasible", + "13814": "failure", + "13815": "failure", + "13816": "failure", + "13817": "failure", + "13818": "failure", + "13819": "successful", + "13820": "failure", + "13821": "failure", + "13822": "failure", + "13823": "failure", + "13824": "successful", + "13825": "failure", + "13826": "failure", + "13827": "infeasible", + "13828": "failure", + "13829": "infeasible", + "13830": "failure", + "13831": "failure", + "13832": "failure", + "13833": "failure", + "13834": "failure", + "13835": "failure", + "13836": "infeasible", + "13837": "failure", + "13838": "failure", + "13839": "failure", + "13840": "failure", + "13841": "failure", + "13842": "failure", + "13843": "successful", + "13844": "failure", + "13845": "failure", + "13846": "failure", + "13847": "failure", + "13848": "failure", + "13849": "failure", + "13850": "failure", + "13851": "infeasible", + "13852": "failure", + "13853": "failure", + "13854": "infeasible", + "13855": "failure", + "13856": "successful", + "13857": "failure", + "13858": "failure", + "13859": "failure", + "13860": "failure", + "13861": "failure", + "13862": "successful", + "13863": "failure", + "13864": "failure", + "13865": "failure", + "13866": "failure", + "13867": "failure", + "13868": "failure", + "13869": "failure", + "13870": "failure", + "13871": "failure", + "13872": "successful", + "13873": "failure", + "13874": "failure", + "13875": "failure", + "13876": "successful", + "13877": "failure", + "13878": "failure", + "13879": "failure", + "13880": "failure", + "13881": "successful", + "13882": "successful", + "13883": "failure", + "13884": "failure", + "13885": "failure", + "13886": "successful", + "13887": "failure", + "13888": "failure", + "13889": "failure", + "13890": "failure", + "13891": "failure", + "13892": "infeasible", + "13893": "failure", + "13894": "failure", + "13895": "failure", + "13896": "failure", + "13897": "failure", + "13898": "failure", + "13899": "failure", + "13900": "failure", + "13901": "failure", + "13902": "successful", + "13903": "infeasible", + "13904": "infeasible", + "13905": "infeasible", + "13906": "failure", + "13907": "successful", + "13908": "failure", + "13909": "failure", + "13910": "failure", + "13911": "failure", + "13912": "successful", + "13913": "infeasible", + "13914": "failure", + "13915": "successful", + "13916": "infeasible", + "13917": "failure", + "13918": "infeasible", + "13919": "failure", + "13920": "failure", + "13921": "failure", + "13922": "failure", + "13923": "failure", + "13924": "failure", + "13925": "failure", + "13926": "failure", + "13927": "failure", + "13928": "failure", + "13929": "failure", + "13930": "failure", + "13931": "failure", + "13932": "failure", + "13933": "failure", + "13934": "infeasible", + "13935": "failure", + "13936": "failure", + "13937": "failure", + "13938": "failure", + "13939": "failure", + "13940": "failure", + "13941": "failure", + "13942": "successful", + "13943": "failure", + "13944": "failure", + "13945": "failure", + "13946": "failure", + "13947": "failure", + "13948": "failure", + "13949": "failure", + "13950": "failure", + "13951": "failure", + "13952": "infeasible", + "13953": "failure", + "13954": "failure", + "13955": "successful", + "13956": "failure", + "13957": "successful", + "13958": "failure", + "13959": "failure", + "13960": "failure", + "13961": "failure", + "13962": "failure", + "13963": "failure", + "13964": "failure", + "13965": "failure", + "13966": "failure", + "13967": "failure", + "13968": "successful", + "13969": "failure", + "13970": "failure", + "13971": "failure", + "13972": "failure", + "13973": "failure", + "13974": "infeasible", + "13975": "failure", + "13976": "failure", + "13977": "failure", + "13978": "failure", + "13979": "failure", + "13980": "failure", + "13981": "failure", + "13982": "failure", + "13983": "failure", + "13984": "failure", + "13985": "failure", + "13986": "failure", + "13987": "successful", + "13988": "failure", + "13989": "failure", + "13990": "failure", + "13991": "failure", + "13992": "failure", + "13993": "successful", + "13994": "failure", + "13995": "successful", + "13996": "successful", + "13997": "failure", + "13998": "failure", + "13999": "failure", + "14000": "failure", + "14001": "failure", + "14002": "successful", + "14003": "failure", + "14004": "failure", + "14005": "failure", + "14006": "failure", + "14007": "successful", + "14008": "already_complete", + "14009": "failure", + "14010": "failure", + "14011": "infeasible", + "14012": "infeasible", + "14013": "successful", + "14014": "failure", + "14015": "failure", + "14016": "infeasible", + "14017": "infeasible", + "14018": "failure", + "14019": "failure", + "14020": "failure", + "14021": "failure", + "14022": "failure", + "14023": "infeasible", + "14024": "failure", + "14025": "failure", + "14026": "failure", + "14027": "failure", + "14028": "failure", + "14029": "failure", + "14030": "failure", + "14031": "failure", + "14032": "failure", + "14033": "infeasible", + "14034": "failure", + "14035": "failure", + "14036": "failure", + "14037": "failure", + "14038": "failure", + "14039": "failure", + "14040": "failure", + "14041": "failure", + "14042": "failure", + "14043": "failure", + "14044": "failure", + "14045": "infeasible", + "14046": "failure", + "14047": "failure", + "14048": "successful", + "14049": "failure", + "14050": "infeasible", + "14051": "failure", + "14052": "infeasible", + "14053": "failure", + "14054": "failure", + "14055": "failure", + "14056": "failure", + "14057": "failure", + "14058": "infeasible", + "14059": "failure", + "14060": "failure", + "14061": "failure", + "14062": "failure", + "14063": "infeasible", + "14064": "failure", + "14065": "infeasible", + "14066": "successful", + "14067": "failure", + "14068": "failure", + "14069": "successful", + "14070": "failure", + "14071": "successful", + "14072": "successful", + "14073": "failure", + "14074": "failure", + "14075": "failure", + "14076": "failure", + "14077": "failure", + "14078": "successful", + "14079": "failure", + "14080": "failure", + "14081": "successful", + "14082": "successful", + "14083": "failure", + "14084": "failure", + "14085": "failure", + "14086": "failure", + "14087": "failure", + "14088": "failure", + "14089": "failure", + "14090": "failure", + "14091": "infeasible", + "14092": "failure", + "14093": "infeasible", + "14094": "failure", + "14095": "failure", + "14096": "infeasible", + "14097": "failure", + "14098": "failure", + "14099": "failure", + "14100": "failure", + "14101": "failure", + "14102": "failure", + "14103": "failure", + "14104": "failure", + "14105": "failure", + "14106": "failure", + "14107": "failure", + "14108": "failure", + "14109": "failure", + "14110": "failure", + "14111": "failure", + "14112": "failure", + "14113": "failure", + "14114": "failure", + "14115": "failure", + "14116": "successful", + "14117": "infeasible", + "14118": "failure", + "14119": "failure", + "14120": "failure", + "14121": "successful", + "14122": "failure", + "14123": "failure", + "14124": "failure", + "14125": "failure", + "14126": "infeasible", + "14127": "infeasible", + "14128": "failure", + "14129": "failure", + "14130": "failure", + "14131": "failure", + "14132": "failure", + "14133": "failure", + "14134": "infeasible", + "14135": "failure", + "14136": "failure", + "14137": "failure", + "14138": "failure", + "14139": "failure", + "14140": "infeasible", + "14141": "failure", + "14142": "successful", + "14143": "infeasible", + "14144": "failure", + "14145": "infeasible", + "14146": "failure", + "14147": "failure", + "14148": "failure", + "14149": "failure", + "14150": "failure", + "14151": "failure", + "14152": "failure", + "14153": "failure", + "14154": "failure", + "14155": "failure", + "14156": "successful", + "14157": "failure", + "14158": "failure", + "14159": "failure", + "14160": "failure", + "14161": "failure", + "14162": "failure", + "14163": "failure", + "14164": "failure", + "14165": "failure", + "14166": "infeasible", + "14167": "failure", + "14168": "failure", + "14169": "failure", + "14170": "failure", + "14171": "failure", + "14172": "failure", + "14173": "failure", + "14174": "failure", + "14175": "failure", + "14176": "failure", + "14177": "failure", + "14178": "failure", + "14179": "failure", + "14180": "failure", + "14181": "infeasible", + "14182": "infeasible", + "14183": "successful", + "14184": "failure", + "14185": "failure", + "14186": "failure", + "14187": "failure", + "14188": "failure", + "14189": "infeasible", + "14190": "failure", + "14191": "failure", + "14192": "failure", + "14193": "failure", + "14194": "failure", + "14195": "failure", + "14196": "failure", + "14197": "failure", + "14198": "failure", + "14199": "failure", + "14200": "failure", + "14201": "failure", + "14202": "failure", + "14203": "successful", + "14204": "successful", + "14205": "failure", + "14206": "infeasible", + "14207": "failure", + "14208": "failure", + "14209": "failure", + "14210": "failure", + "14211": "successful", + "14212": "failure", + "14213": "failure", + "14214": "failure", + "14215": "failure", + "14216": "successful", + "14217": "failure", + "14218": "failure", + "14219": "failure", + "14220": "infeasible", + "14221": "failure", + "14222": "successful", + "14223": "failure", + "14224": "infeasible", + "14225": "infeasible", + "14226": "failure", + "14227": "failure", + "14228": "failure", + "14229": "failure", + "14230": "failure", + "14231": "infeasible", + "14232": "failure", + "14233": "failure", + "14234": "failure", + "14235": "failure", + "14236": "failure", + "14237": "failure", + "14238": "failure", + "14239": "infeasible", + "14240": "failure", + "14241": "failure", + "14242": "failure", + "14243": "failure", + "14244": "failure", + "14245": "successful", + "14246": "failure", + "14247": "failure", + "14248": "infeasible", + "14249": "failure", + "14250": "failure", + "14251": "failure", + "14252": "failure", + "14253": "failure", + "14254": "failure", + "14255": "failure", + "14256": "failure", + "14257": "failure", + "14258": "failure", + "14259": "failure", + "14260": "failure", + "14261": "failure", + "14262": "failure", + "14263": "failure", + "14264": "failure", + "14265": "failure", + "14266": "failure", + "14267": "successful", + "14268": "failure", + "14269": "failure", + "14270": "failure", + "14271": "failure", + "14272": "successful", + "14273": "failure", + "14274": "failure", + "14275": "failure", + "14276": "failure", + "14277": "infeasible", + "14278": "failure", + "14279": "failure", + "14280": "successful", + "14281": "successful", + "14282": "failure", + "14283": "failure", + "14284": "successful", + "14285": "failure", + "14286": "failure", + "14287": "successful", + "14288": "failure", + "14289": "failure", + "14290": "failure", + "14291": "failure", + "14292": "failure", + "14293": "failure", + "14294": "successful", + "14295": "failure", + "14296": "failure", + "14297": "infeasible", + "14298": "failure", + "14299": "infeasible", + "14300": "failure", + "14301": "failure", + "14302": "infeasible", + "14303": "failure", + "14304": "failure", + "14305": "failure", + "14306": "infeasible", + "14307": "failure", + "14308": "infeasible", + "14309": "failure", + "14310": "failure", + "14311": "failure", + "14312": "infeasible", + "14313": "failure", + "14314": "failure", + "14315": "successful", + "14316": "failure", + "14317": "failure", + "14318": "failure", + "14319": "failure", + "14320": "failure", + "14321": "failure", + "14322": "failure", + "14323": "failure", + "14324": "infeasible", + "14325": "failure", + "14326": "failure", + "14327": "failure", + "14328": "failure", + "14329": "failure", + "14330": "successful", + "14331": "failure", + "14332": "failure", + "14333": "infeasible", + "14334": "failure", + "14335": "infeasible", + "14336": "failure", + "14337": "failure", + "14338": "failure", + "14339": "infeasible", + "14340": "failure", + "14341": "failure", + "14342": "failure", + "14343": "failure", + "14344": "successful", + "14345": "infeasible", + "14346": "failure", + "14347": "failure", + "14348": "successful", + "14349": "infeasible", + "14350": "failure", + "14351": "failure", + "14352": "failure", + "14353": "failure", + "14354": "failure", + "14355": "infeasible", + "14356": "failure", + "14357": "failure", + "14358": "failure", + "14359": "failure", + "14360": "failure", + "14361": "successful", + "14362": "failure", + "14363": "failure", + "14364": "failure", + "14365": "failure", + "14366": "failure", + "14367": "successful", + "14368": "successful", + "14369": "failure", + "14370": "successful", + "14371": "failure", + "14372": "failure", + "14373": "failure", + "14374": "failure", + "14375": "failure", + "14376": "successful", + "14377": "failure", + "14378": "failure", + "14379": "failure", + "14380": "failure", + "14381": "failure", + "14382": "failure", + "14383": "failure", + "14384": "successful", + "14385": "failure", + "14386": "failure", + "14387": "failure", + "14388": "failure", + "14389": "failure", + "14390": "failure", + "14391": "failure", + "14392": "failure", + "14393": "failure", + "14394": "failure", + "14395": "failure", + "14396": "failure", + "14397": "failure", + "14398": "failure", + "14399": "failure", + "14400": "failure", + "14401": "failure", + "14402": "failure", + "14403": "failure", + "14404": "infeasible", + "14405": "failure", + "14406": "failure", + "14407": "failure", + "14408": "failure", + "14409": "failure", + "14410": "successful", + "14411": "failure", + "14412": "failure", + "14413": "failure", + "14414": "failure", + "14415": "failure", + "14416": "successful", + "14417": "failure", + "14418": "infeasible", + "14419": "failure", + "14420": "failure", + "14421": "failure", + "14422": "failure", + "14423": "failure", + "14424": "infeasible", + "14425": "failure", + "14426": "infeasible", + "14427": "failure", + "14428": "failure", + "14429": "infeasible", + "14430": "failure", + "14431": "failure", + "14432": "failure", + "14433": "failure", + "14434": "failure", + "14435": "failure", + "14436": "infeasible", + "14437": "failure", + "14438": "failure", + "14439": "failure", + "14440": "infeasible", + "14441": "successful", + "14442": "successful", + "14443": "failure", + "14444": "failure", + "14445": "failure", + "14446": "infeasible", + "14447": "failure", + "14448": "infeasible", + "14449": "successful", + "14450": "failure", + "14451": "failure", + "14452": "failure", + "14453": "successful", + "14454": "failure", + "14455": "failure", + "14456": "infeasible", + "14457": "failure", + "14458": "infeasible", + "14459": "infeasible", + "14460": "failure", + "14461": "successful", + "14462": "failure", + "14463": "failure", + "14464": "infeasible", + "14465": "failure", + "14466": "failure", + "14467": "infeasible", + "14468": "failure", + "14469": "failure", + "14470": "successful", + "14471": "successful", + "14472": "failure", + "14473": "successful", + "14474": "failure", + "14475": "successful", + "14476": "failure", + "14477": "failure", + "14478": "failure", + "14479": "failure", + "14480": "failure", + "14481": "failure", + "14482": "successful", + "14483": "failure", + "14484": "failure", + "14485": "infeasible", + "14486": "failure", + "14487": "failure", + "14488": "failure", + "14489": "failure", + "14490": "failure", + "14491": "failure", + "14492": "failure", + "14493": "failure", + "14494": "failure", + "14495": "failure", + "14496": "failure", + "14497": "failure", + "14498": "failure", + "14499": "failure", + "14500": "failure", + "14501": "failure", + "14502": "successful", + "14503": "infeasible", + "14504": "failure", + "14505": "failure", + "14506": "failure", + "14507": "infeasible", + "14508": "failure", + "14509": "failure", + "14510": "failure", + "14511": "failure", + "14512": "failure", + "14513": "successful", + "14514": "failure", + "14515": "successful", + "14516": "failure", + "14517": "infeasible", + "14518": "failure", + "14519": "failure", + "14520": "failure", + "14521": "failure", + "14522": "successful", + "14523": "failure", + "14524": "failure", + "14525": "failure", + "14526": "infeasible", + "14527": "failure", + "14528": "failure", + "14529": "failure", + "14530": "successful", + "14531": "infeasible", + "14532": "failure", + "14533": "successful", + "14534": "failure", + "14535": "failure", + "14536": "failure", + "14537": "failure", + "14538": "failure", + "14539": "failure", + "14540": "failure", + "14541": "failure", + "14542": "already_complete", + "14543": "failure", + "14544": "failure", + "14545": "failure", + "14546": "failure", + "14547": "infeasible", + "14548": "failure", + "14549": "infeasible", + "14550": "failure", + "14551": "failure", + "14552": "failure", + "14553": "failure", + "14554": "failure", + "14555": "failure", + "14556": "failure", + "14557": "infeasible", + "14558": "failure", + "14559": "failure", + "14560": "infeasible", + "14561": "successful", + "14562": "failure", + "14563": "failure", + "14564": "failure", + "14565": "failure", + "14566": "successful", + "14567": "failure", + "14568": "failure", + "14569": "failure", + "14570": "failure", + "14571": "failure", + "14572": "failure", + "14573": "failure", + "14574": "infeasible", + "14575": "failure", + "14576": "failure", + "14577": "failure", + "14578": "failure", + "14579": "failure", + "14580": "successful", + "14581": "failure", + "14582": "failure", + "14583": "failure", + "14584": "failure", + "14585": "already_complete", + "14586": "failure", + "14587": "failure", + "14588": "failure", + "14589": "failure", + "14590": "failure", + "14591": "failure", + "14592": "successful", + "14593": "failure", + "14594": "failure", + "14595": "failure", + "14596": "failure", + "14597": "failure", + "14598": "failure", + "14599": "successful", + "14600": "infeasible", + "14601": "infeasible", + "14602": "failure", + "14603": "failure", + "14604": "infeasible", + "14605": "failure", + "14606": "infeasible", + "14607": "failure", + "14608": "failure", + "14609": "failure", + "14610": "failure", + "14611": "failure", + "14612": "failure", + "14613": "successful", + "14614": "successful", + "14615": "successful", + "14616": "failure", + "14617": "failure", + "14618": "failure", + "14619": "failure", + "14620": "successful", + "14621": "failure", + "14622": "failure", + "14623": "infeasible", + "14624": "failure", + "14625": "failure", + "14626": "failure", + "14627": "failure", + "14628": "failure", + "14629": "failure", + "14630": "failure", + "14631": "failure", + "14632": "failure", + "14633": "failure", + "14634": "failure", + "14635": "failure", + "14636": "failure", + "14637": "successful", + "14638": "failure", + "14639": "successful", + "14640": "successful", + "14641": "failure", + "14642": "failure", + "14643": "failure", + "14644": "failure", + "14645": "infeasible", + "14646": "failure", + "14647": "failure", + "14648": "failure", + "14649": "failure", + "14650": "failure", + "14651": "failure", + "14652": "failure", + "14653": "failure", + "14654": "failure", + "14655": "failure", + "14656": "failure", + "14657": "failure", + "14658": "failure", + "14659": "failure", + "14660": "successful", + "14661": "failure", + "14662": "failure", + "14663": "failure", + "14664": "failure", + "14665": "successful", + "14666": "infeasible", + "14667": "failure", + "14668": "successful", + "14669": "failure", + "14670": "failure", + "14671": "successful", + "14672": "failure", + "14673": "infeasible", + "14674": "successful", + "14675": "failure", + "14676": "failure", + "14677": "successful", + "14678": "failure", + "14679": "failure", + "14680": "failure", + "14681": "failure", + "14682": "successful", + "14683": "successful", + "14684": "failure", + "14685": "already_complete", + "14686": "failure", + "14687": "failure", + "14688": "failure", + "14689": "failure", + "14690": "successful", + "14691": "failure", + "14692": "failure", + "14693": "failure", + "14694": "failure", + "14695": "failure", + "14696": "failure", + "14697": "failure", + "14698": "failure", + "14699": "failure", + "14700": "failure", + "14701": "failure", + "14702": "failure", + "14703": "failure", + "14704": "failure", + "14705": "infeasible", + "14706": "failure", + "14707": "failure", + "14708": "failure", + "14709": "failure", + "14710": "failure", + "14711": "failure", + "14712": "successful", + "14713": "failure", + "14714": "failure", + "14715": "infeasible", + "14716": "failure", + "14717": "failure", + "14718": "failure", + "14719": "failure", + "14720": "infeasible", + "14721": "failure", + "14722": "successful", + "14723": "failure", + "14724": "failure", + "14725": "failure", + "14726": "failure", + "14727": "failure", + "14728": "failure", + "14729": "failure", + "14730": "failure", + "14731": "failure", + "14732": "failure", + "14733": "failure", + "14734": "failure", + "14735": "failure", + "14736": "failure", + "14737": "failure", + "14738": "failure", + "14739": "failure", + "14740": "failure", + "14741": "failure", + "14742": "failure", + "14743": "failure", + "14744": "failure", + "14745": "failure", + "14746": "failure", + "14747": "failure", + "14748": "failure", + "14749": "infeasible", + "14750": "failure", + "14751": "failure", + "14752": "failure", + "14753": "failure", + "14754": "failure", + "14755": "failure", + "14756": "infeasible", + "14757": "successful", + "14758": "failure", + "14759": "successful", + "14760": "failure", + "14761": "failure", + "14762": "failure", + "14763": "failure", + "14764": "failure", + "14765": "infeasible", + "14766": "infeasible", + "14767": "successful", + "14768": "failure", + "14769": "failure", + "14770": "failure", + "14771": "failure", + "14772": "infeasible", + "14773": "failure", + "14774": "failure", + "14775": "failure", + "14776": "failure", + "14777": "failure", + "14778": "failure", + "14779": "failure", + "14780": "failure", + "14781": "failure", + "14782": "failure", + "14783": "failure", + "14784": "failure", + "14785": "successful", + "14786": "infeasible", + "14787": "failure", + "14788": "failure", + "14789": "failure", + "14790": "failure", + "14791": "failure", + "14792": "failure", + "14793": "failure", + "14794": "failure", + "14795": "failure", + "14796": "failure", + "14797": "failure", + "14798": "successful", + "14799": "failure", + "14800": "infeasible", + "14801": "failure", + "14802": "failure", + "14803": "failure", + "14804": "failure", + "14805": "failure", + "14806": "infeasible", + "14807": "failure", + "14808": "failure", + "14809": "failure", + "14810": "infeasible", + "14811": "infeasible", + "14812": "failure", + "14813": "failure", + "14814": "failure", + "14815": "failure", + "14816": "failure", + "14817": "successful", + "14818": "failure", + "14819": "failure", + "14820": "failure", + "14821": "failure", + "14822": "failure", + "14823": "failure", + "14824": "failure", + "14825": "failure", + "14826": "failure", + "14827": "failure", + "14828": "successful", + "14829": "failure", + "14830": "failure", + "14831": "infeasible", + "14832": "failure", + "14833": "failure", + "14834": "failure", + "14835": "failure", + "14836": "failure", + "14837": "failure", + "14838": "failure", + "14839": "failure", + "14840": "failure", + "14841": "failure", + "14842": "failure", + "14843": "failure", + "14844": "failure", + "14845": "failure", + "14846": "failure", + "14847": "failure", + "14848": "failure", + "14849": "infeasible", + "14850": "failure", + "14851": "failure", + "14852": "successful", + "14853": "failure", + "14854": "failure", + "14855": "failure", + "14856": "failure", + "14857": "failure", + "14858": "successful", + "14859": "failure", + "14860": "failure", + "14861": "successful", + "14862": "failure", + "14863": "failure", + "14864": "infeasible", + "14865": "successful", + "14866": "failure", + "14867": "failure", + "14868": "infeasible", + "14869": "successful", + "14870": "failure", + "14871": "failure", + "14872": "failure", + "14873": "failure", + "14874": "failure", + "14875": "infeasible", + "14876": "successful", + "14877": "failure", + "14878": "failure", + "14879": "failure", + "14880": "failure", + "14881": "failure", + "14882": "failure", + "14883": "failure", + "14884": "failure", + "14885": "failure", + "14886": "failure", + "14887": "failure", + "14888": "failure", + "14889": "failure", + "14890": "failure", + "14891": "failure", + "14892": "failure", + "14893": "failure", + "14894": "failure", + "14895": "failure", + "14896": "failure", + "14897": "failure", + "14898": "infeasible", + "14899": "failure", + "14900": "failure", + "14901": "failure", + "14902": "failure", + "14903": "failure", + "14904": "failure", + "14905": "successful", + "14906": "failure", + "14907": "failure", + "14908": "successful", + "14909": "failure", + "14910": "failure", + "14911": "failure", + "14912": "failure", + "14913": "failure", + "14914": "successful", + "14915": "failure", + "14916": "infeasible", + "14917": "failure", + "14918": "successful", + "14919": "failure", + "14920": "failure", + "14921": "failure", + "14922": "infeasible", + "14923": "failure", + "14924": "failure", + "14925": "failure", + "14926": "failure", + "14927": "failure", + "14928": "infeasible", + "14929": "failure", + "14930": "failure", + "14931": "infeasible", + "14932": "failure", + "14933": "failure", + "14934": "failure", + "14935": "failure", + "14936": "failure", + "14937": "successful", + "14938": "infeasible", + "14939": "failure", + "14940": "failure", + "14941": "failure", + "14942": "successful", + "14943": "successful", + "14944": "infeasible", + "14945": "failure", + "14946": "failure", + "14947": "successful", + "14948": "failure", + "14949": "failure", + "14950": "successful", + "14951": "failure", + "14952": "failure", + "14953": "successful", + "14954": "failure", + "14955": "failure", + "14956": "failure", + "14957": "successful", + "14958": "failure", + "14959": "failure", + "14960": "failure", + "14961": "successful", + "14962": "failure", + "14963": "failure", + "14964": "failure", + "14965": "failure", + "14966": "failure", + "14967": "failure", + "14968": "successful", + "14969": "failure", + "14970": "failure", + "14971": "failure", + "14972": "successful", + "14973": "failure", + "14974": "infeasible", + "14975": "failure", + "14976": "infeasible", + "14977": "failure", + "14978": "failure", + "14979": "failure", + "14980": "failure", + "14981": "failure", + "14982": "failure", + "14983": "failure", + "14984": "failure", + "14985": "successful", + "14986": "successful", + "14987": "failure", + "14988": "infeasible", + "14989": "failure", + "14990": "infeasible", + "14991": "failure", + "14992": "failure", + "14993": "successful", + "14994": "failure", + "14995": "failure", + "14996": "successful", + "14997": "failure", + "14998": "failure", + "14999": "failure", + "15000": "failure", + "15001": "failure", + "15002": "failure", + "15003": "failure", + "15004": "failure", + "15005": "failure", + "15006": "successful", + "15007": "failure", + "15008": "failure", + "15009": "infeasible", + "15010": "failure", + "15011": "successful", + "15012": "successful", + "15013": "failure", + "15014": "successful", + "15015": "infeasible", + "15016": "failure", + "15017": "failure", + "15018": "failure", + "15019": "failure", + "15020": "failure", + "15021": "failure", + "15022": "failure", + "15023": "failure", + "15024": "failure", + "15025": "failure", + "15026": "failure", + "15027": "failure", + "15028": "failure", + "15029": "failure", + "15030": "failure", + "15031": "failure", + "15032": "successful", + "15033": "failure", + "15034": "failure", + "15035": "failure", + "15036": "failure", + "15037": "failure", + "15038": "failure", + "15039": "successful", + "15040": "infeasible", + "15041": "failure", + "15042": "failure", + "15043": "failure", + "15044": "successful", + "15045": "failure", + "15046": "successful", + "15047": "infeasible", + "15048": "successful", + "15049": "failure", + "15050": "failure", + "15051": "infeasible", + "15052": "infeasible", + "15053": "failure", + "15054": "failure", + "15055": "failure", + "15056": "failure", + "15057": "successful", + "15058": "failure", + "15059": "failure", + "15060": "failure", + "15061": "infeasible", + "15062": "failure", + "15063": "successful", + "15064": "failure", + "15065": "failure", + "15066": "failure", + "15067": "successful", + "15068": "failure", + "15069": "failure", + "15070": "failure", + "15071": "failure", + "15072": "successful", + "15073": "failure", + "15074": "failure", + "15075": "failure", + "15076": "failure", + "15077": "failure", + "15078": "failure", + "15079": "failure", + "15080": "failure", + "15081": "infeasible", + "15082": "infeasible", + "15083": "failure", + "15084": "failure", + "15085": "infeasible", + "15086": "failure", + "15087": "failure", + "15088": "successful", + "15089": "successful", + "15090": "failure", + "15091": "failure", + "15092": "failure", + "15093": "failure", + "15094": "successful", + "15095": "failure", + "15096": "failure", + "15097": "failure", + "15098": "failure", + "15099": "failure", + "15100": "failure", + "15101": "failure", + "15102": "infeasible", + "15103": "failure", + "15104": "failure", + "15105": "successful", + "15106": "failure", + "15107": "failure", + "15108": "failure", + "15109": "failure", + "15110": "failure", + "15111": "failure", + "15112": "failure", + "15113": "infeasible", + "15114": "failure", + "15115": "successful", + "15116": "failure", + "15117": "failure", + "15118": "failure", + "15119": "failure", + "15120": "failure", + "15121": "failure", + "15122": "failure", + "15123": "infeasible", + "15124": "failure", + "15125": "failure", + "15126": "failure", + "15127": "failure", + "15128": "failure", + "15129": "failure", + "15130": "failure", + "15131": "failure", + "15132": "failure", + "15133": "failure", + "15134": "failure", + "15135": "successful", + "15136": "failure", + "15137": "failure", + "15138": "failure", + "15139": "failure", + "15140": "failure", + "15141": "failure", + "15142": "successful", + "15143": "successful", + "15144": "failure", + "15145": "failure", + "15146": "failure", + "15147": "failure", + "15148": "failure", + "15149": "failure", + "15150": "failure", + "15151": "infeasible", + "15152": "failure", + "15153": "failure", + "15154": "failure", + "15155": "failure", + "15156": "failure", + "15157": "failure", + "15158": "failure", + "15159": "failure", + "15160": "failure", + "15161": "failure", + "15162": "failure", + "15163": "failure", + "15164": "failure", + "15165": "failure", + "15166": "failure", + "15167": "failure", + "15168": "failure", + "15169": "infeasible", + "15170": "failure", + "15171": "successful", + "15172": "failure", + "15173": "failure", + "15174": "failure", + "15175": "failure", + "15176": "failure", + "15177": "failure", + "15178": "failure", + "15179": "failure", + "15180": "failure", + "15181": "failure", + "15182": "failure", + "15183": "infeasible", + "15184": "failure", + "15185": "failure", + "15186": "failure", + "15187": "failure", + "15188": "successful", + "15189": "failure", + "15190": "infeasible", + "15191": "failure", + "15192": "failure", + "15193": "successful", + "15194": "failure", + "15195": "failure", + "15196": "failure", + "15197": "failure", + "15198": "successful", + "15199": "infeasible", + "15200": "failure", + "15201": "failure", + "15202": "failure", + "15203": "failure", + "15204": "failure", + "15205": "failure", + "15206": "failure", + "15207": "failure", + "15208": "failure", + "15209": "infeasible", + "15210": "failure", + "15211": "failure", + "15212": "failure", + "15213": "infeasible", + "15214": "failure", + "15215": "infeasible", + "15216": "failure", + "15217": "failure", + "15218": "failure", + "15219": "successful", + "15220": "successful", + "15221": "successful", + "15222": "successful", + "15223": "failure", + "15224": "infeasible", + "15225": "successful", + "15226": "failure", + "15227": "failure", + "15228": "failure", + "15229": "failure", + "15230": "failure", + "15231": "infeasible", + "15232": "failure", + "15233": "failure", + "15234": "failure", + "15235": "failure", + "15236": "infeasible", + "15237": "failure", + "15238": "failure", + "15239": "failure", + "15240": "failure", + "15241": "failure", + "15242": "failure", + "15243": "failure", + "15244": "infeasible", + "15245": "failure", + "15246": "failure", + "15247": "failure", + "15248": "failure", + "15249": "infeasible", + "15250": "failure", + "15251": "failure", + "15252": "failure", + "15253": "failure", + "15254": "failure", + "15255": "successful", + "15256": "failure", + "15257": "failure", + "15258": "infeasible", + "15259": "failure", + "15260": "failure", + "15261": "infeasible", + "15262": "failure", + "15263": "infeasible", + "15264": "failure", + "15265": "failure", + "15266": "successful", + "15267": "failure", + "15268": "failure", + "15269": "failure", + "15270": "failure", + "15271": "failure", + "15272": "failure", + "15273": "failure", + "15274": "successful", + "15275": "failure", + "15276": "failure", + "15277": "infeasible", + "15278": "failure", + "15279": "successful", + "15280": "failure", + "15281": "failure", + "15282": "failure", + "15283": "failure", + "15284": "failure", + "15285": "failure", + "15286": "failure", + "15287": "failure", + "15288": "failure", + "15289": "failure", + "15290": "successful", + "15291": "failure", + "15292": "infeasible", + "15293": "failure", + "15294": "failure", + "15295": "failure", + "15296": "failure", + "15297": "failure", + "15298": "failure", + "15299": "successful", + "15300": "failure", + "15301": "failure", + "15302": "failure", + "15303": "successful", + "15304": "failure", + "15305": "failure", + "15306": "failure", + "15307": "failure", + "15308": "failure", + "15309": "failure", + "15310": "infeasible", + "15311": "failure", + "15312": "failure", + "15313": "failure", + "15314": "failure", + "15315": "failure", + "15316": "failure", + "15317": "failure", + "15318": "successful", + "15319": "failure", + "15320": "failure", + "15321": "successful", + "15322": "failure", + "15323": "failure", + "15324": "failure", + "15325": "failure", + "15326": "successful", + "15327": "failure", + "15328": "failure", + "15329": "failure", + "15330": "successful", + "15331": "failure", + "15332": "infeasible", + "15333": "failure", + "15334": "successful", + "15335": "successful", + "15336": "successful", + "15337": "failure", + "15338": "failure", + "15339": "failure", + "15340": "failure", + "15341": "failure", + "15342": "failure", + "15343": "failure", + "15344": "infeasible", + "15345": "failure", + "15346": "failure", + "15347": "failure", + "15348": "infeasible", + "15349": "failure", + "15350": "infeasible", + "15351": "failure", + "15352": "failure", + "15353": "failure", + "15354": "failure", + "15355": "failure", + "15356": "failure", + "15357": "failure", + "15358": "failure", + "15359": "failure", + "15360": "failure", + "15361": "failure", + "15362": "failure", + "15363": "failure", + "15364": "failure", + "15365": "failure", + "15366": "failure", + "15367": "failure", + "15368": "successful", + "15369": "failure", + "15370": "failure", + "15371": "failure", + "15372": "failure", + "15373": "failure", + "15374": "failure", + "15375": "failure", + "15376": "failure", + "15377": "failure", + "15378": "infeasible", + "15379": "failure", + "15380": "successful", + "15381": "failure", + "15382": "infeasible", + "15383": "failure", + "15384": "infeasible", + "15385": "failure", + "15386": "failure", + "15387": "failure", + "15388": "failure", + "15389": "failure", + "15390": "failure", + "15391": "failure", + "15392": "failure", + "15393": "failure", + "15394": "infeasible", + "15395": "failure", + "15396": "failure", + "15397": "failure", + "15398": "infeasible", + "15399": "failure", + "15400": "failure", + "15401": "failure", + "15402": "failure", + "15403": "successful", + "15404": "failure", + "15405": "failure", + "15406": "successful", + "15407": "failure", + "15408": "successful", + "15409": "successful", + "15410": "successful", + "15411": "failure", + "15412": "failure", + "15413": "failure", + "15414": "successful", + "15415": "failure", + "15416": "failure", + "15417": "failure", + "15418": "successful", + "15419": "failure", + "15420": "failure", + "15421": "failure", + "15422": "successful", + "15423": "successful", + "15424": "failure", + "15425": "successful", + "15426": "failure", + "15427": "failure", + "15428": "failure", + "15429": "failure", + "15430": "failure", + "15431": "failure", + "15432": "failure", + "15433": "failure", + "15434": "infeasible", + "15435": "successful", + "15436": "failure", + "15437": "successful", + "15438": "failure", + "15439": "infeasible", + "15440": "failure", + "15441": "failure", + "15442": "successful", + "15443": "failure", + "15444": "failure", + "15445": "failure", + "15446": "failure", + "15447": "failure", + "15448": "failure", + "15449": "failure", + "15450": "failure", + "15451": "infeasible", + "15452": "failure", + "15453": "failure", + "15454": "infeasible", + "15455": "failure", + "15456": "infeasible", + "15457": "successful", + "15458": "infeasible", + "15459": "failure", + "15460": "infeasible", + "15461": "infeasible", + "15462": "infeasible", + "15463": "failure", + "15464": "failure", + "15465": "failure", + "15466": "failure", + "15467": "failure", + "15468": "failure", + "15469": "failure", + "15470": "failure", + "15471": "infeasible", + "15472": "failure", + "15473": "failure", + "15474": "infeasible", + "15475": "infeasible", + "15476": "infeasible", + "15477": "failure", + "15478": "successful", + "15479": "failure", + "15480": "failure", + "15481": "failure", + "15482": "infeasible", + "15483": "failure", + "15484": "failure", + "15485": "failure", + "15486": "failure", + "15487": "failure", + "15488": "failure", + "15489": "failure", + "15490": "failure", + "15491": "failure", + "15492": "infeasible", + "15493": "failure", + "15494": "failure", + "15495": "failure", + "15496": "failure", + "15497": "failure", + "15498": "failure", + "15499": "failure", + "15500": "failure", + "15501": "infeasible", + "15502": "failure", + "15503": "failure", + "15504": "successful", + "15505": "infeasible", + "15506": "failure", + "15507": "failure", + "15508": "infeasible", + "15509": "failure", + "15510": "failure", + "15511": "successful", + "15512": "failure", + "15513": "failure", + "15514": "failure", + "15515": "failure", + "15516": "failure", + "15517": "failure", + "15518": "failure", + "15519": "failure", + "15520": "failure", + "15521": "failure", + "15522": "failure", + "15523": "failure", + "15524": "failure", + "15525": "failure", + "15526": "failure", + "15527": "failure", + "15528": "successful", + "15529": "failure", + "15530": "successful", + "15531": "failure", + "15532": "failure", + "15533": "successful", + "15534": "failure", + "15535": "failure", + "15536": "failure", + "15537": "successful", + "15538": "failure", + "15539": "failure", + "15540": "failure", + "15541": "failure", + "15542": "failure", + "15543": "failure", + "15544": "failure", + "15545": "infeasible", + "15546": "failure", + "15547": "failure", + "15548": "successful", + "15549": "already_complete", + "15550": "failure", + "15551": "failure", + "15552": "failure", + "15553": "failure", + "15554": "infeasible", + "15555": "failure", + "15556": "infeasible", + "15557": "failure", + "15558": "failure", + "15559": "infeasible", + "15560": "failure", + "15561": "successful", + "15562": "failure", + "15563": "failure", + "15564": "failure", + "15565": "failure", + "15566": "failure", + "15567": "failure", + "15568": "failure", + "15569": "failure", + "15570": "failure", + "15571": "failure", + "15572": "failure", + "15573": "failure", + "15574": "failure", + "15575": "failure", + "15576": "failure", + "15577": "failure", + "15578": "failure", + "15579": "failure", + "15580": "failure", + "15581": "failure", + "15582": "failure", + "15583": "failure", + "15584": "successful", + "15585": "failure", + "15586": "failure", + "15587": "failure", + "15588": "failure", + "15589": "failure", + "15590": "failure", + "15591": "failure", + "15592": "infeasible", + "15593": "failure", + "15594": "failure", + "15595": "infeasible", + "15596": "failure", + "15597": "failure", + "15598": "failure", + "15599": "failure", + "15600": "failure", + "15601": "failure", + "15602": "failure", + "15603": "failure", + "15604": "infeasible", + "15605": "failure", + "15606": "failure", + "15607": "failure", + "15608": "failure", + "15609": "failure", + "15610": "infeasible", + "15611": "failure", + "15612": "failure", + "15613": "failure", + "15614": "failure", + "15615": "failure", + "15616": "failure", + "15617": "failure", + "15618": "failure", + "15619": "failure", + "15620": "failure", + "15621": "failure", + "15622": "failure", + "15623": "failure", + "15624": "failure", + "15625": "failure", + "15626": "failure", + "15627": "failure", + "15628": "failure", + "15629": "failure", + "15630": "failure", + "15631": "successful", + "15632": "failure", + "15633": "failure", + "15634": "failure", + "15635": "failure", + "15636": "infeasible", + "15637": "failure", + "15638": "failure", + "15639": "failure", + "15640": "failure", + "15641": "failure", + "15642": "failure", + "15643": "failure", + "15644": "infeasible", + "15645": "successful", + "15646": "successful", + "15647": "failure", + "15648": "failure", + "15649": "failure", + "15650": "failure", + "15651": "failure", + "15652": "failure", + "15653": "failure", + "15654": "failure", + "15655": "failure", + "15656": "failure", + "15657": "successful", + "15658": "failure", + "15659": "failure", + "15660": "failure", + "15661": "failure", + "15662": "infeasible", + "15663": "failure", + "15664": "failure", + "15665": "failure", + "15666": "successful", + "15667": "failure", + "15668": "failure", + "15669": "failure", + "15670": "failure", + "15671": "failure", + "15672": "successful", + "15673": "failure", + "15674": "failure", + "15675": "failure", + "15676": "failure", + "15677": "failure", + "15678": "failure", + "15679": "failure", + "15680": "infeasible", + "15681": "failure", + "15682": "successful", + "15683": "failure", + "15684": "failure", + "15685": "failure", + "15686": "failure", + "15687": "infeasible", + "15688": "failure", + "15689": "failure", + "15690": "failure", + "15691": "failure", + "15692": "failure", + "15693": "failure", + "15694": "failure", + "15695": "failure", + "15696": "infeasible", + "15697": "failure", + "15698": "failure", + "15699": "successful", + "15700": "failure", + "15701": "failure", + "15702": "failure", + "15703": "failure", + "15704": "successful", + "15705": "failure", + "15706": "successful", + "15707": "successful", + "15708": "failure", + "15709": "failure", + "15710": "failure", + "15711": "failure", + "15712": "failure", + "15713": "failure", + "15714": "failure", + "15715": "failure", + "15716": "failure", + "15717": "failure", + "15718": "failure", + "15719": "failure", + "15720": "failure", + "15721": "failure", + "15722": "failure", + "15723": "failure", + "15724": "failure", + "15725": "failure", + "15726": "successful", + "15727": "failure", + "15728": "infeasible", + "15729": "failure", + "15730": "successful", + "15731": "successful", + "15732": "failure", + "15733": "failure", + "15734": "successful", + "15735": "failure", + "15736": "failure", + "15737": "infeasible", + "15738": "failure", + "15739": "failure", + "15740": "failure", + "15741": "successful", + "15742": "successful", + "15743": "failure", + "15744": "failure", + "15745": "failure", + "15746": "failure", + "15747": "failure", + "15748": "failure", + "15749": "failure", + "15750": "failure", + "15751": "failure", + "15752": "failure", + "15753": "failure", + "15754": "failure", + "15755": "failure", + "15756": "failure", + "15757": "failure", + "15758": "failure", + "15759": "successful", + "15760": "successful", + "15761": "failure", + "15762": "failure", + "15763": "failure", + "15764": "failure", + "15765": "failure", + "15766": "successful", + "15767": "failure", + "15768": "failure", + "15769": "failure", + "15770": "failure", + "15771": "failure", + "15772": "infeasible", + "15773": "infeasible", + "15774": "failure", + "15775": "successful", + "15776": "failure", + "15777": "failure", + "15778": "failure", + "15779": "failure", + "15780": "failure", + "15781": "failure", + "15782": "successful", + "15783": "infeasible", + "15784": "failure", + "15785": "failure", + "15786": "failure", + "15787": "failure", + "15788": "failure", + "15789": "successful", + "15790": "failure", + "15791": "successful", + "15792": "failure", + "15793": "failure", + "15794": "failure", + "15795": "successful", + "15796": "failure", + "15797": "failure", + "15798": "successful", + "15799": "infeasible", + "15800": "failure", + "15801": "failure", + "15802": "failure", + "15803": "infeasible", + "15804": "failure", + "15805": "infeasible", + "15806": "failure", + "15807": "successful", + "15808": "failure", + "15809": "failure", + "15810": "successful", + "15811": "successful", + "15812": "failure", + "15813": "failure", + "15814": "failure", + "15815": "failure", + "15816": "failure", + "15817": "failure", + "15818": "failure", + "15819": "successful", + "15820": "failure", + "15821": "failure", + "15822": "failure", + "15823": "failure", + "15824": "failure", + "15825": "failure", + "15826": "failure", + "15827": "failure", + "15828": "failure", + "15829": "successful", + "15830": "failure", + "15831": "failure", + "15832": "failure", + "15833": "failure", + "15834": "failure", + "15835": "successful", + "15836": "failure", + "15837": "failure", + "15838": "failure", + "15839": "failure", + "15840": "failure", + "15841": "failure", + "15842": "failure", + "15843": "failure", + "15844": "failure", + "15845": "failure", + "15846": "failure", + "15847": "failure", + "15848": "failure", + "15849": "failure", + "15850": "failure", + "15851": "failure", + "15852": "infeasible", + "15853": "infeasible", + "15854": "failure", + "15855": "infeasible", + "15856": "failure", + "15857": "failure", + "15858": "failure", + "15859": "failure", + "15860": "failure", + "15861": "successful", + "15862": "already_complete", + "15863": "failure", + "15864": "failure", + "15865": "failure", + "15866": "failure", + "15867": "failure", + "15868": "failure", + "15869": "failure", + "15870": "failure", + "15871": "successful", + "15872": "failure", + "15873": "successful", + "15874": "failure", + "15875": "failure", + "15876": "failure", + "15877": "failure", + "15878": "failure", + "15879": "failure", + "15880": "failure", + "15881": "failure", + "15882": "failure", + "15883": "failure", + "15884": "successful", + "15885": "failure", + "15886": "already_complete", + "15887": "failure", + "15888": "failure", + "15889": "successful", + "15890": "failure", + "15891": "failure", + "15892": "failure", + "15893": "failure", + "15894": "failure", + "15895": "failure", + "15896": "failure", + "15897": "failure", + "15898": "infeasible", + "15899": "failure", + "15900": "failure", + "15901": "failure", + "15902": "failure", + "15903": "failure", + "15904": "failure", + "15905": "failure", + "15906": "failure", + "15907": "failure", + "15908": "failure", + "15909": "successful", + "15910": "failure", + "15911": "failure", + "15912": "failure", + "15913": "failure", + "15914": "failure", + "15915": "failure", + "15916": "failure", + "15917": "infeasible", + "15918": "failure", + "15919": "failure", + "15920": "failure", + "15921": "failure", + "15922": "failure", + "15923": "successful", + "15924": "failure", + "15925": "successful", + "15926": "failure", + "15927": "failure", + "15928": "failure", + "15929": "successful", + "15930": "failure", + "15931": "successful", + "15932": "failure", + "15933": "failure", + "15934": "failure", + "15935": "infeasible", + "15936": "failure", + "15937": "infeasible", + "15938": "failure", + "15939": "already_complete", + "15940": "failure", + "15941": "failure", + "15942": "failure", + "15943": "failure", + "15944": "failure", + "15945": "successful", + "15946": "failure", + "15947": "failure", + "15948": "failure", + "15949": "failure", + "15950": "successful", + "15951": "infeasible", + "15952": "failure", + "15953": "failure", + "15954": "successful", + "15955": "failure", + "15956": "infeasible", + "15957": "successful", + "15958": "failure", + "15959": "failure", + "15960": "failure", + "15961": "failure", + "15962": "successful", + "15963": "failure", + "15964": "failure", + "15965": "successful", + "15966": "failure", + "15967": "failure", + "15968": "failure", + "15969": "failure", + "15970": "failure", + "15971": "failure", + "15972": "failure", + "15973": "failure", + "15974": "failure", + "15975": "failure", + "15976": "failure", + "15977": "successful", + "15978": "infeasible", + "15979": "failure", + "15980": "infeasible", + "15981": "failure", + "15982": "infeasible", + "15983": "failure", + "15984": "successful", + "15985": "successful", + "15986": "successful", + "15987": "failure", + "15988": "failure", + "15989": "failure", + "15990": "failure", + "15991": "failure", + "15992": "failure", + "15993": "infeasible", + "15994": "successful", + "15995": "failure", + "15996": "failure", + "15997": "failure", + "15998": "failure", + "15999": "failure", + "16000": "infeasible", + "16001": "failure", + "16002": "failure", + "16003": "failure", + "16004": "failure", + "16005": "failure", + "16006": "failure", + "16007": "failure", + "16008": "failure", + "16009": "failure", + "16010": "failure", + "16011": "failure", + "16012": "infeasible", + "16013": "successful", + "16014": "failure", + "16015": "failure", + "16016": "infeasible", + "16017": "failure", + "16018": "failure", + "16019": "successful", + "16020": "failure", + "16021": "failure", + "16022": "failure", + "16023": "successful", + "16024": "infeasible", + "16025": "failure", + "16026": "failure", + "16027": "failure", + "16028": "failure", + "16029": "failure", + "16030": "infeasible", + "16031": "failure", + "16032": "failure", + "16033": "failure", + "16034": "failure", + "16035": "failure", + "16036": "failure", + "16037": "failure", + "16038": "failure", + "16039": "successful", + "16040": "failure", + "16041": "failure", + "16042": "failure", + "16043": "failure", + "16044": "failure", + "16045": "failure", + "16046": "failure", + "16047": "failure", + "16048": "failure", + "16049": "failure", + "16050": "failure", + "16051": "failure", + "16052": "failure", + "16053": "failure", + "16054": "failure", + "16055": "failure", + "16056": "failure", + "16057": "failure", + "16058": "successful", + "16059": "failure", + "16060": "failure", + "16061": "successful", + "16062": "failure", + "16063": "failure", + "16064": "failure", + "16065": "failure", + "16066": "failure", + "16067": "failure", + "16068": "failure", + "16069": "infeasible", + "16070": "failure", + "16071": "failure", + "16072": "infeasible", + "16073": "infeasible", + "16074": "failure", + "16075": "infeasible", + "16076": "failure", + "16077": "infeasible", + "16078": "failure", + "16079": "failure", + "16080": "failure", + "16081": "failure", + "16082": "failure", + "16083": "failure", + "16084": "failure", + "16085": "failure", + "16086": "successful", + "16087": "failure", + "16088": "failure", + "16089": "failure", + "16090": "failure", + "16091": "failure", + "16092": "infeasible", + "16093": "failure", + "16094": "failure", + "16095": "failure", + "16096": "failure", + "16097": "failure", + "16098": "failure", + "16099": "failure", + "16100": "infeasible", + "16101": "failure", + "16102": "failure", + "16103": "failure", + "16104": "failure", + "16105": "failure", + "16106": "failure", + "16107": "failure", + "16108": "successful", + "16109": "failure", + "16110": "failure", + "16111": "failure", + "16112": "failure", + "16113": "failure", + "16114": "failure", + "16115": "failure", + "16116": "failure", + "16117": "infeasible", + "16118": "failure", + "16119": "failure", + "16120": "failure", + "16121": "failure", + "16122": "failure", + "16123": "failure", + "16124": "failure", + "16125": "failure", + "16126": "failure", + "16127": "failure", + "16128": "failure", + "16129": "failure", + "16130": "failure", + "16131": "failure", + "16132": "failure", + "16133": "failure", + "16134": "successful", + "16135": "failure", + "16136": "successful", + "16137": "failure", + "16138": "failure", + "16139": "failure", + "16140": "failure", + "16141": "successful", + "16142": "failure", + "16143": "infeasible", + "16144": "failure", + "16145": "failure", + "16146": "failure", + "16147": "failure", + "16148": "failure", + "16149": "failure", + "16150": "successful", + "16151": "successful", + "16152": "failure", + "16153": "failure", + "16154": "failure", + "16155": "infeasible", + "16156": "failure", + "16157": "failure", + "16158": "failure", + "16159": "successful", + "16160": "successful", + "16161": "successful", + "16162": "successful", + "16163": "failure", + "16164": "failure", + "16165": "failure", + "16166": "failure", + "16167": "failure", + "16168": "failure", + "16169": "failure", + "16170": "failure", + "16171": "failure", + "16172": "failure", + "16173": "successful", + "16174": "failure", + "16175": "failure", + "16176": "infeasible", + "16177": "failure", + "16178": "failure", + "16179": "failure", + "16180": "failure", + "16181": "failure", + "16182": "failure", + "16183": "failure", + "16184": "failure", + "16185": "failure", + "16186": "failure", + "16187": "failure", + "16188": "failure", + "16189": "failure", + "16190": "infeasible", + "16191": "failure", + "16192": "failure", + "16193": "failure", + "16194": "failure", + "16195": "infeasible", + "16196": "failure", + "16197": "failure", + "16198": "failure", + "16199": "failure", + "16200": "failure", + "16201": "failure", + "16202": "successful", + "16203": "successful", + "16204": "failure", + "16205": "failure", + "16206": "successful", + "16207": "failure", + "16208": "failure", + "16209": "failure", + "16210": "failure", + "16211": "failure", + "16212": "failure", + "16213": "failure", + "16214": "failure", + "16215": "failure", + "16216": "failure", + "16217": "successful", + "16218": "failure", + "16219": "failure", + "16220": "failure", + "16221": "failure", + "16222": "failure", + "16223": "failure", + "16224": "failure", + "16225": "failure", + "16226": "failure", + "16227": "failure", + "16228": "successful", + "16229": "failure", + "16230": "infeasible", + "16231": "failure", + "16232": "failure", + "16233": "failure", + "16234": "failure", + "16235": "failure", + "16236": "failure", + "16237": "successful", + "16238": "failure", + "16239": "failure", + "16240": "failure", + "16241": "failure", + "16242": "failure", + "16243": "failure", + "16244": "failure", + "16245": "failure", + "16246": "failure", + "16247": "failure", + "16248": "failure", + "16249": "successful", + "16250": "infeasible", + "16251": "failure", + "16252": "infeasible", + "16253": "failure", + "16254": "failure", + "16255": "failure", + "16256": "infeasible", + "16257": "failure", + "16258": "failure", + "16259": "failure", + "16260": "failure", + "16261": "failure", + "16262": "successful", + "16263": "failure", + "16264": "failure", + "16265": "failure", + "16266": "failure", + "16267": "infeasible", + "16268": "failure", + "16269": "failure", + "16270": "failure", + "16271": "infeasible", + "16272": "failure", + "16273": "failure", + "16274": "infeasible", + "16275": "failure", + "16276": "failure", + "16277": "failure", + "16278": "failure", + "16279": "successful", + "16280": "failure", + "16281": "failure", + "16282": "failure", + "16283": "failure", + "16284": "failure", + "16285": "already_complete", + "16286": "infeasible", + "16287": "failure", + "16288": "infeasible", + "16289": "failure", + "16290": "failure", + "16291": "failure", + "16292": "failure", + "16293": "failure", + "16294": "failure", + "16295": "failure", + "16296": "failure", + "16297": "failure", + "16298": "failure", + "16299": "successful", + "16300": "failure", + "16301": "failure", + "16302": "failure", + "16303": "failure", + "16304": "successful", + "16305": "infeasible", + "16306": "failure", + "16307": "successful", + "16308": "failure", + "16309": "failure", + "16310": "failure", + "16311": "failure", + "16312": "failure", + "16313": "failure", + "16314": "failure", + "16315": "successful", + "16316": "failure", + "16317": "failure", + "16318": "failure", + "16319": "failure", + "16320": "failure", + "16321": "infeasible", + "16322": "failure", + "16323": "failure", + "16324": "failure", + "16325": "failure", + "16326": "infeasible", + "16327": "failure", + "16328": "failure", + "16329": "infeasible", + "16330": "successful", + "16331": "infeasible", + "16332": "failure", + "16333": "successful", + "16334": "failure", + "16335": "failure", + "16336": "failure", + "16337": "failure", + "16338": "successful", + "16339": "infeasible", + "16340": "successful", + "16341": "successful", + "16342": "successful", + "16343": "failure", + "16344": "failure", + "16345": "failure", + "16346": "failure", + "16347": "failure", + "16348": "infeasible", + "16349": "failure", + "16350": "failure", + "16351": "failure", + "16352": "failure", + "16353": "failure", + "16354": "failure", + "16355": "successful", + "16356": "infeasible", + "16357": "failure", + "16358": "failure", + "16359": "failure", + "16360": "failure", + "16361": "successful", + "16362": "infeasible", + "16363": "successful", + "16364": "successful", + "16365": "failure", + "16366": "failure", + "16367": "failure", + "16368": "failure", + "16369": "infeasible", + "16370": "failure", + "16371": "successful", + "16372": "infeasible", + "16373": "infeasible", + "16374": "successful", + "16375": "failure", + "16376": "failure", + "16377": "failure", + "16378": "infeasible", + "16379": "failure", + "16380": "failure", + "16381": "failure", + "16382": "failure", + "16383": "failure", + "16384": "failure", + "16385": "failure", + "16386": "failure", + "16387": "failure", + "16388": "successful", + "16389": "failure", + "16390": "failure", + "16391": "failure", + "16392": "infeasible", + "16393": "failure", + "16394": "failure", + "16395": "failure", + "16396": "failure", + "16397": "failure", + "16398": "failure", + "16399": "infeasible", + "16400": "infeasible", + "16401": "failure", + "16402": "successful", + "16403": "failure", + "16404": "successful", + "16405": "failure", + "16406": "failure", + "16407": "infeasible", + "16408": "failure", + "16409": "failure", + "16410": "successful", + "16411": "failure", + "16412": "failure", + "16413": "failure", + "16414": "failure", + "16415": "failure", + "16416": "failure", + "16417": "failure", + "16418": "failure", + "16419": "infeasible", + "16420": "failure", + "16421": "failure", + "16422": "failure", + "16423": "failure", + "16424": "infeasible", + "16425": "failure", + "16426": "failure", + "16427": "failure", + "16428": "failure", + "16429": "failure", + "16430": "failure", + "16431": "failure", + "16432": "failure", + "16433": "failure", + "16434": "failure", + "16435": "failure", + "16436": "infeasible", + "16437": "failure", + "16438": "failure", + "16439": "failure", + "16440": "failure", + "16441": "failure", + "16442": "failure", + "16443": "failure", + "16444": "failure", + "16445": "failure", + "16446": "successful", + "16447": "failure", + "16448": "failure", + "16449": "failure", + "16450": "failure", + "16451": "failure", + "16452": "successful", + "16453": "successful", + "16454": "failure", + "16455": "failure", + "16456": "failure", + "16457": "infeasible", + "16458": "infeasible", + "16459": "successful", + "16460": "successful", + "16461": "failure", + "16462": "successful", + "16463": "failure", + "16464": "failure", + "16465": "failure", + "16466": "failure", + "16467": "failure", + "16468": "failure", + "16469": "successful", + "16470": "failure", + "16471": "failure", + "16472": "failure", + "16473": "successful", + "16474": "failure", + "16475": "failure", + "16476": "failure", + "16477": "failure", + "16478": "successful", + "16479": "infeasible", + "16480": "failure", + "16481": "failure", + "16482": "failure", + "16483": "failure", + "16484": "failure", + "16485": "failure", + "16486": "successful", + "16487": "failure", + "16488": "failure", + "16489": "failure", + "16490": "failure", + "16491": "infeasible", + "16492": "failure", + "16493": "infeasible", + "16494": "failure", + "16495": "failure", + "16496": "failure", + "16497": "failure", + "16498": "failure", + "16499": "failure", + "16500": "successful", + "16501": "failure", + "16502": "failure", + "16503": "failure", + "16504": "failure", + "16505": "failure", + "16506": "failure", + "16507": "failure", + "16508": "failure", + "16509": "failure", + "16510": "failure", + "16511": "failure", + "16512": "failure", + "16513": "failure", + "16514": "failure", + "16515": "failure", + "16516": "failure", + "16517": "failure", + "16518": "successful", + "16519": "failure", + "16520": "failure", + "16521": "failure", + "16522": "failure", + "16523": "failure", + "16524": "failure", + "16525": "failure", + "16526": "failure", + "16527": "failure", + "16528": "infeasible", + "16529": "failure", + "16530": "failure", + "16531": "failure", + "16532": "failure", + "16533": "failure", + "16534": "failure", + "16535": "failure", + "16536": "infeasible", + "16537": "successful", + "16538": "successful", + "16539": "failure", + "16540": "failure", + "16541": "failure", + "16542": "failure", + "16543": "failure", + "16544": "failure", + "16545": "failure", + "16546": "failure", + "16547": "infeasible", + "16548": "failure", + "16549": "failure", + "16550": "failure", + "16551": "failure", + "16552": "failure", + "16553": "failure", + "16554": "infeasible", + "16555": "failure", + "16556": "infeasible", + "16557": "failure", + "16558": "failure", + "16559": "failure", + "16560": "successful", + "16561": "failure", + "16562": "successful", + "16563": "failure", + "16564": "failure", + "16565": "infeasible", + "16566": "failure", + "16567": "successful", + "16568": "failure", + "16569": "successful", + "16570": "failure", + "16571": "failure", + "16572": "successful", + "16573": "failure", + "16574": "failure", + "16575": "failure", + "16576": "failure", + "16577": "already_complete", + "16578": "infeasible", + "16579": "failure", + "16580": "failure", + "16581": "failure", + "16582": "successful", + "16583": "failure", + "16584": "failure", + "16585": "infeasible", + "16586": "successful", + "16587": "successful", + "16588": "failure", + "16589": "failure", + "16590": "failure", + "16591": "infeasible", + "16592": "failure", + "16593": "failure", + "16594": "failure", + "16595": "failure", + "16596": "successful", + "16597": "failure", + "16598": "successful", + "16599": "failure", + "16600": "successful", + "16601": "infeasible", + "16602": "failure", + "16603": "failure", + "16604": "failure", + "16605": "failure", + "16606": "failure", + "16607": "successful", + "16608": "failure", + "16609": "infeasible", + "16610": "infeasible", + "16611": "failure", + "16612": "failure", + "16613": "failure", + "16614": "successful", + "16615": "failure", + "16616": "failure", + "16617": "failure", + "16618": "failure", + "16619": "failure", + "16620": "failure", + "16621": "failure", + "16622": "failure", + "16623": "successful", + "16624": "failure", + "16625": "failure", + "16626": "successful", + "16627": "failure", + "16628": "infeasible", + "16629": "successful", + "16630": "failure", + "16631": "failure", + "16632": "failure", + "16633": "failure", + "16634": "failure", + "16635": "failure", + "16636": "failure", + "16637": "failure", + "16638": "failure", + "16639": "failure", + "16640": "successful", + "16641": "failure", + "16642": "failure", + "16643": "failure", + "16644": "failure", + "16645": "failure", + "16646": "failure", + "16647": "failure", + "16648": "failure", + "16649": "failure", + "16650": "failure", + "16651": "failure", + "16652": "failure", + "16653": "failure", + "16654": "failure", + "16655": "failure", + "16656": "failure", + "16657": "successful", + "16658": "failure", + "16659": "failure", + "16660": "failure", + "16661": "failure", + "16662": "failure", + "16663": "failure", + "16664": "failure", + "16665": "failure", + "16666": "failure", + "16667": "failure", + "16668": "failure", + "16669": "failure", + "16670": "failure", + "16671": "failure", + "16672": "failure", + "16673": "infeasible", + "16674": "failure", + "16675": "failure", + "16676": "failure", + "16677": "failure", + "16678": "failure", + "16679": "failure", + "16680": "failure", + "16681": "failure", + "16682": "failure", + "16683": "failure", + "16684": "failure", + "16685": "infeasible", + "16686": "failure", + "16687": "failure", + "16688": "failure", + "16689": "failure", + "16690": "infeasible", + "16691": "successful", + "16692": "successful", + "16693": "failure", + "16694": "failure", + "16695": "failure", + "16696": "failure", + "16697": "failure", + "16698": "successful", + "16699": "successful", + "16700": "failure", + "16701": "failure", + "16702": "failure", + "16703": "successful", + "16704": "failure", + "16705": "failure", + "16706": "successful", + "16707": "failure", + "16708": "failure", + "16709": "failure", + "16710": "failure", + "16711": "failure", + "16712": "failure", + "16713": "failure", + "16714": "successful", + "16715": "failure", + "16716": "failure", + "16717": "failure", + "16718": "failure", + "16719": "successful", + "16720": "failure", + "16721": "failure", + "16722": "failure", + "16723": "failure", + "16724": "failure", + "16725": "failure", + "16726": "infeasible", + "16727": "successful", + "16728": "failure", + "16729": "failure", + "16730": "failure", + "16731": "failure", + "16732": "infeasible", + "16733": "failure", + "16734": "failure", + "16735": "failure", + "16736": "infeasible", + "16737": "failure", + "16738": "infeasible", + "16739": "failure", + "16740": "failure", + "16741": "failure", + "16742": "failure", + "16743": "failure", + "16744": "infeasible", + "16745": "failure", + "16746": "failure", + "16747": "failure", + "16748": "failure", + "16749": "failure", + "16750": "failure", + "16751": "failure", + "16752": "failure", + "16753": "failure", + "16754": "failure", + "16755": "failure", + "16756": "failure", + "16757": "failure", + "16758": "successful", + "16759": "failure", + "16760": "failure", + "16761": "failure", + "16762": "failure", + "16763": "failure", + "16764": "failure", + "16765": "successful", + "16766": "successful", + "16767": "successful", + "16768": "infeasible", + "16769": "failure", + "16770": "failure", + "16771": "failure", + "16772": "failure", + "16773": "failure", + "16774": "failure", + "16775": "failure", + "16776": "infeasible", + "16777": "failure", + "16778": "failure", + "16779": "failure", + "16780": "failure", + "16781": "failure", + "16782": "failure", + "16783": "failure", + "16784": "successful", + "16785": "failure", + "16786": "failure", + "16787": "successful", + "16788": "failure", + "16789": "failure", + "16790": "successful", + "16791": "failure", + "16792": "failure", + "16793": "failure", + "16794": "failure", + "16795": "failure", + "16796": "failure", + "16797": "failure", + "16798": "successful", + "16799": "failure", + "16800": "failure", + "16801": "failure", + "16802": "failure", + "16803": "failure", + "16804": "successful", + "16805": "failure", + "16806": "failure", + "16807": "failure", + "16808": "failure", + "16809": "failure", + "16810": "failure", + "16811": "failure", + "16812": "failure", + "16813": "infeasible", + "16814": "failure", + "16815": "failure", + "16816": "successful", + "16817": "failure", + "16818": "failure", + "16819": "failure", + "16820": "failure", + "16821": "failure", + "16822": "successful", + "16823": "failure", + "16824": "failure", + "16825": "successful", + "16826": "successful", + "16827": "failure", + "16828": "failure", + "16829": "failure", + "16830": "failure", + "16831": "failure", + "16832": "failure", + "16833": "failure", + "16834": "failure", + "16835": "infeasible", + "16836": "failure", + "16837": "failure", + "16838": "failure", + "16839": "failure", + "16840": "failure", + "16841": "failure", + "16842": "failure", + "16843": "failure", + "16844": "failure", + "16845": "failure", + "16846": "failure", + "16847": "infeasible", + "16848": "successful", + "16849": "failure", + "16850": "failure", + "16851": "failure", + "16852": "failure", + "16853": "successful", + "16854": "successful", + "16855": "failure", + "16856": "failure", + "16857": "failure", + "16858": "failure", + "16859": "failure", + "16860": "failure", + "16861": "failure", + "16862": "failure", + "16863": "failure", + "16864": "failure", + "16865": "successful", + "16866": "failure", + "16867": "failure", + "16868": "failure", + "16869": "failure", + "16870": "failure", + "16871": "failure", + "16872": "failure", + "16873": "failure", + "16874": "failure", + "16875": "failure", + "16876": "failure", + "16877": "failure", + "16878": "infeasible", + "16879": "failure", + "16880": "failure", + "16881": "successful", + "16882": "failure", + "16883": "failure", + "16884": "infeasible", + "16885": "failure", + "16886": "failure", + "16887": "failure", + "16888": "infeasible", + "16889": "failure", + "16890": "successful", + "16891": "failure", + "16892": "successful", + "16893": "failure", + "16894": "failure", + "16895": "failure", + "16896": "failure", + "16897": "failure", + "16898": "failure", + "16899": "failure", + "16900": "failure", + "16901": "failure", + "16902": "failure", + "16903": "successful", + "16904": "failure", + "16905": "failure", + "16906": "failure", + "16907": "failure", + "16908": "failure", + "16909": "failure", + "16910": "failure", + "16911": "failure", + "16912": "failure", + "16913": "infeasible", + "16914": "successful", + "16915": "failure", + "16916": "failure", + "16917": "infeasible", + "16918": "failure", + "16919": "failure", + "16920": "failure", + "16921": "infeasible", + "16922": "failure", + "16923": "failure", + "16924": "failure", + "16925": "failure", + "16926": "failure", + "16927": "failure", + "16928": "failure", + "16929": "infeasible", + "16930": "failure", + "16931": "failure", + "16932": "failure", + "16933": "failure", + "16934": "infeasible", + "16935": "failure", + "16936": "failure", + "16937": "failure", + "16938": "failure", + "16939": "infeasible", + "16940": "failure", + "16941": "failure", + "16942": "failure", + "16943": "failure", + "16944": "failure", + "16945": "failure", + "16946": "failure", + "16947": "failure", + "16948": "failure", + "16949": "failure", + "16950": "failure", + "16951": "failure", + "16952": "failure", + "16953": "failure", + "16954": "failure", + "16955": "infeasible", + "16956": "failure", + "16957": "infeasible", + "16958": "successful", + "16959": "infeasible", + "16960": "failure", + "16961": "failure", + "16962": "failure", + "16963": "failure", + "16964": "failure", + "16965": "failure", + "16966": "failure", + "16967": "infeasible", + "16968": "failure", + "16969": "infeasible", + "16970": "successful", + "16971": "failure", + "16972": "failure", + "16973": "failure", + "16974": "failure", + "16975": "failure", + "16976": "failure", + "16977": "failure", + "16978": "failure", + "16979": "failure", + "16980": "failure", + "16981": "failure", + "16982": "failure", + "16983": "failure", + "16984": "successful", + "16985": "failure", + "16986": "failure", + "16987": "failure", + "16988": "infeasible", + "16989": "failure", + "16990": "successful", + "16991": "failure", + "16992": "failure", + "16993": "infeasible", + "16994": "failure", + "16995": "failure", + "16996": "failure", + "16997": "failure", + "16998": "failure", + "16999": "failure", + "17000": "failure", + "17001": "failure", + "17002": "failure", + "17003": "successful", + "17004": "failure", + "17005": "failure", + "17006": "failure", + "17007": "failure", + "17008": "failure", + "17009": "failure", + "17010": "failure", + "17011": "failure", + "17012": "failure", + "17013": "failure", + "17014": "failure", + "17015": "failure", + "17016": "failure", + "17017": "failure", + "17018": "failure", + "17019": "failure", + "17020": "failure", + "17021": "failure", + "17022": "failure", + "17023": "successful", + "17024": "failure", + "17025": "failure", + "17026": "failure", + "17027": "failure", + "17028": "failure", + "17029": "failure", + "17030": "failure", + "17031": "failure", + "17032": "failure", + "17033": "failure", + "17034": "failure", + "17035": "successful", + "17036": "failure", + "17037": "failure", + "17038": "failure", + "17039": "failure", + "17040": "failure", + "17041": "infeasible", + "17042": "failure", + "17043": "failure", + "17044": "failure", + "17045": "failure", + "17046": "failure", + "17047": "failure", + "17048": "failure", + "17049": "failure", + "17050": "failure", + "17051": "failure", + "17052": "failure", + "17053": "infeasible", + "17054": "failure", + "17055": "successful", + "17056": "failure", + "17057": "infeasible", + "17058": "failure", + "17059": "failure", + "17060": "failure", + "17061": "failure", + "17062": "failure", + "17063": "failure", + "17064": "failure", + "17065": "successful", + "17066": "failure", + "17067": "failure", + "17068": "successful", + "17069": "failure", + "17070": "successful", + "17071": "failure", + "17072": "failure", + "17073": "failure", + "17074": "successful", + "17075": "failure", + "17076": "failure", + "17077": "failure", + "17078": "infeasible", + "17079": "successful", + "17080": "failure", + "17081": "failure", + "17082": "failure", + "17083": "failure", + "17084": "failure", + "17085": "failure", + "17086": "failure", + "17087": "failure", + "17088": "failure", + "17089": "failure", + "17090": "infeasible", + "17091": "successful", + "17092": "failure", + "17093": "failure", + "17094": "failure", + "17095": "failure", + "17096": "failure", + "17097": "infeasible", + "17098": "failure", + "17099": "failure", + "17100": "failure", + "17101": "failure", + "17102": "successful", + "17103": "failure", + "17104": "failure", + "17105": "infeasible", + "17106": "failure", + "17107": "failure", + "17108": "infeasible", + "17109": "infeasible", + "17110": "failure", + "17111": "failure", + "17112": "failure", + "17113": "failure", + "17114": "failure", + "17115": "failure", + "17116": "successful", + "17117": "failure", + "17118": "failure", + "17119": "failure", + "17120": "failure", + "17121": "infeasible", + "17122": "failure", + "17123": "failure", + "17124": "failure", + "17125": "failure", + "17126": "failure", + "17127": "failure", + "17128": "infeasible", + "17129": "failure", + "17130": "failure", + "17131": "failure", + "17132": "failure", + "17133": "failure", + "17134": "successful", + "17135": "failure", + "17136": "failure", + "17137": "failure", + "17138": "successful", + "17139": "failure", + "17140": "failure", + "17141": "successful", + "17142": "failure", + "17143": "failure", + "17144": "failure", + "17145": "successful", + "17146": "failure", + "17147": "failure", + "17148": "failure", + "17149": "failure", + "17150": "failure", + "17151": "failure", + "17152": "failure", + "17153": "failure", + "17154": "successful", + "17155": "failure", + "17156": "failure", + "17157": "successful", + "17158": "failure", + "17159": "failure", + "17160": "failure", + "17161": "successful", + "17162": "failure", + "17163": "failure", + "17164": "failure", + "17165": "failure", + "17166": "failure", + "17167": "successful", + "17168": "failure", + "17169": "failure", + "17170": "failure", + "17171": "successful", + "17172": "failure", + "17173": "failure", + "17174": "successful", + "17175": "failure", + "17176": "failure", + "17177": "failure", + "17178": "failure", + "17179": "failure", + "17180": "failure", + "17181": "failure", + "17182": "failure", + "17183": "failure", + "17184": "successful", + "17185": "infeasible", + "17186": "failure", + "17187": "infeasible", + "17188": "failure", + "17189": "failure", + "17190": "infeasible", + "17191": "failure", + "17192": "failure", + "17193": "infeasible", + "17194": "infeasible", + "17195": "failure", + "17196": "failure", + "17197": "failure", + "17198": "failure", + "17199": "infeasible", + "17200": "failure", + "17201": "failure", + "17202": "infeasible", + "17203": "already_complete", + "17204": "infeasible", + "17205": "failure", + "17206": "failure", + "17207": "failure", + "17208": "failure", + "17209": "failure", + "17210": "failure", + "17211": "failure", + "17212": "failure", + "17213": "failure", + "17214": "failure", + "17215": "failure", + "17216": "failure", + "17217": "failure", + "17218": "failure", + "17219": "failure", + "17220": "successful", + "17221": "failure", + "17222": "failure", + "17223": "failure", + "17224": "failure", + "17225": "infeasible", + "17226": "failure", + "17227": "successful", + "17228": "successful", + "17229": "failure", + "17230": "failure", + "17231": "failure", + "17232": "infeasible", + "17233": "failure", + "17234": "infeasible", + "17235": "failure", + "17236": "failure", + "17237": "successful", + "17238": "failure", + "17239": "failure", + "17240": "failure", + "17241": "failure", + "17242": "failure", + "17243": "failure", + "17244": "failure", + "17245": "failure", + "17246": "failure", + "17247": "failure", + "17248": "failure", + "17249": "failure", + "17250": "failure", + "17251": "successful", + "17252": "failure", + "17253": "failure", + "17254": "failure", + "17255": "failure", + "17256": "successful", + "17257": "failure", + "17258": "failure", + "17259": "failure", + "17260": "failure", + "17261": "failure", + "17262": "failure", + "17263": "failure", + "17264": "failure", + "17265": "failure", + "17266": "successful", + "17267": "successful", + "17268": "failure", + "17269": "failure", + "17270": "failure", + "17271": "failure", + "17272": "failure", + "17273": "failure", + "17274": "failure", + "17275": "failure", + "17276": "failure", + "17277": "failure", + "17278": "failure", + "17279": "failure", + "17280": "failure", + "17281": "failure", + "17282": "failure", + "17283": "failure", + "17284": "failure", + "17285": "failure", + "17286": "successful", + "17287": "failure", + "17288": "failure", + "17289": "successful", + "17290": "failure", + "17291": "failure", + "17292": "failure", + "17293": "failure", + "17294": "failure", + "17295": "failure", + "17296": "successful", + "17297": "failure", + "17298": "failure", + "17299": "failure", + "17300": "failure", + "17301": "failure", + "17302": "failure", + "17303": "failure", + "17304": "failure", + "17305": "failure", + "17306": "failure", + "17307": "failure", + "17308": "failure", + "17309": "failure", + "17310": "failure", + "17311": "failure", + "17312": "infeasible", + "17313": "failure", + "17314": "failure", + "17315": "failure", + "17316": "successful", + "17317": "failure", + "17318": "failure", + "17319": "failure", + "17320": "failure", + "17321": "failure", + "17322": "failure", + "17323": "failure", + "17324": "infeasible", + "17325": "failure", + "17326": "infeasible", + "17327": "failure", + "17328": "failure", + "17329": "failure", + "17330": "failure", + "17331": "failure", + "17332": "successful", + "17333": "failure", + "17334": "failure", + "17335": "failure", + "17336": "failure", + "17337": "successful", + "17338": "infeasible", + "17339": "failure", + "17340": "failure", + "17341": "infeasible", + "17342": "failure", + "17343": "failure", + "17344": "failure", + "17345": "failure", + "17346": "failure", + "17347": "failure", + "17348": "failure", + "17349": "failure", + "17350": "failure", + "17351": "infeasible", + "17352": "failure", + "17353": "failure", + "17354": "failure", + "17355": "failure", + "17356": "failure", + "17357": "failure", + "17358": "failure", + "17359": "failure", + "17360": "failure", + "17361": "successful", + "17362": "failure", + "17363": "failure", + "17364": "failure", + "17365": "infeasible", + "17366": "failure", + "17367": "infeasible", + "17368": "failure", + "17369": "failure", + "17370": "failure", + "17371": "failure", + "17372": "failure", + "17373": "failure", + "17374": "failure", + "17375": "failure", + "17376": "failure", + "17377": "infeasible", + "17378": "failure", + "17379": "failure", + "17380": "failure", + "17381": "failure", + "17382": "successful", + "17383": "successful", + "17384": "failure", + "17385": "failure", + "17386": "failure", + "17387": "failure", + "17388": "failure", + "17389": "failure", + "17390": "failure", + "17391": "failure", + "17392": "failure", + "17393": "failure", + "17394": "already_complete", + "17395": "successful", + "17396": "failure", + "17397": "failure", + "17398": "infeasible", + "17399": "failure", + "17400": "failure", + "17401": "successful", + "17402": "failure", + "17403": "failure", + "17404": "failure", + "17405": "infeasible", + "17406": "failure", + "17407": "failure", + "17408": "failure", + "17409": "failure", + "17410": "failure", + "17411": "failure", + "17412": "failure", + "17413": "infeasible", + "17414": "successful", + "17415": "infeasible", + "17416": "failure", + "17417": "failure", + "17418": "failure", + "17419": "failure", + "17420": "failure", + "17421": "failure", + "17422": "infeasible", + "17423": "failure", + "17424": "failure", + "17425": "failure", + "17426": "failure", + "17427": "infeasible", + "17428": "failure", + "17429": "failure", + "17430": "failure", + "17431": "failure", + "17432": "failure", + "17433": "failure", + "17434": "failure", + "17435": "failure", + "17436": "failure", + "17437": "failure", + "17438": "failure", + "17439": "successful", + "17440": "failure", + "17441": "failure", + "17442": "failure", + "17443": "failure", + "17444": "failure", + "17445": "failure", + "17446": "failure", + "17447": "failure", + "17448": "failure", + "17449": "failure", + "17450": "failure", + "17451": "failure", + "17452": "failure", + "17453": "failure", + "17454": "successful", + "17455": "failure", + "17456": "failure", + "17457": "failure", + "17458": "successful", + "17459": "failure", + "17460": "successful", + "17461": "failure", + "17462": "failure", + "17463": "successful", + "17464": "failure", + "17465": "successful", + "17466": "failure", + "17467": "failure", + "17468": "failure", + "17469": "failure", + "17470": "failure", + "17471": "failure", + "17472": "failure", + "17473": "failure", + "17474": "failure", + "17475": "successful", + "17476": "failure", + "17477": "failure", + "17478": "failure", + "17479": "failure", + "17480": "already_complete", + "17481": "failure", + "17482": "failure", + "17483": "failure", + "17484": "failure", + "17485": "failure", + "17486": "failure", + "17487": "failure", + "17488": "failure", + "17489": "failure", + "17490": "infeasible", + "17491": "failure", + "17492": "successful", + "17493": "already_complete", + "17494": "failure", + "17495": "successful", + "17496": "infeasible", + "17497": "failure", + "17498": "failure", + "17499": "failure", + "17500": "failure", + "17501": "infeasible", + "17502": "failure", + "17503": "failure", + "17504": "successful", + "17505": "failure", + "17506": "failure", + "17507": "failure", + "17508": "failure", + "17509": "failure", + "17510": "failure", + "17511": "failure", + "17512": "failure", + "17513": "failure", + "17514": "failure", + "17515": "failure", + "17516": "successful", + "17517": "failure", + "17518": "failure", + "17519": "failure", + "17520": "failure", + "17521": "failure", + "17522": "successful", + "17523": "failure", + "17524": "infeasible", + "17525": "successful", + "17526": "infeasible", + "17527": "failure", + "17528": "successful", + "17529": "infeasible", + "17530": "failure", + "17531": "successful", + "17532": "failure", + "17533": "failure", + "17534": "failure", + "17535": "failure", + "17536": "failure", + "17537": "failure", + "17538": "failure", + "17539": "failure", + "17540": "failure", + "17541": "failure", + "17542": "infeasible", + "17543": "infeasible", + "17544": "failure", + "17545": "failure", + "17546": "failure", + "17547": "failure", + "17548": "failure", + "17549": "failure", + "17550": "failure", + "17551": "failure", + "17552": "successful", + "17553": "successful", + "17554": "successful", + "17555": "failure", + "17556": "failure", + "17557": "successful", + "17558": "failure", + "17559": "failure", + "17560": "failure", + "17561": "failure", + "17562": "failure", + "17563": "failure", + "17564": "failure", + "17565": "successful", + "17566": "failure", + "17567": "failure", + "17568": "successful", + "17569": "successful", + "17570": "failure", + "17571": "failure", + "17572": "infeasible", + "17573": "failure", + "17574": "failure", + "17575": "failure", + "17576": "failure", + "17577": "failure", + "17578": "failure", + "17579": "successful", + "17580": "failure", + "17581": "failure", + "17582": "failure", + "17583": "failure", + "17584": "failure", + "17585": "successful", + "17586": "failure", + "17587": "failure", + "17588": "successful", + "17589": "successful", + "17590": "failure", + "17591": "failure", + "17592": "failure", + "17593": "failure", + "17594": "failure", + "17595": "failure", + "17596": "infeasible", + "17597": "failure", + "17598": "failure", + "17599": "successful", + "17600": "infeasible", + "17601": "failure", + "17602": "failure", + "17603": "failure", + "17604": "failure", + "17605": "failure", + "17606": "failure", + "17607": "infeasible", + "17608": "failure", + "17609": "failure", + "17610": "failure", + "17611": "failure", + "17612": "failure", + "17613": "failure", + "17614": "failure", + "17615": "failure", + "17616": "failure", + "17617": "failure", + "17618": "successful", + "17619": "successful", + "17620": "failure", + "17621": "successful", + "17622": "failure", + "17623": "failure", + "17624": "failure", + "17625": "failure", + "17626": "infeasible", + "17627": "failure", + "17628": "failure", + "17629": "failure", + "17630": "successful", + "17631": "infeasible", + "17632": "failure", + "17633": "failure", + "17634": "failure", + "17635": "failure", + "17636": "infeasible", + "17637": "failure", + "17638": "failure", + "17639": "failure", + "17640": "failure", + "17641": "infeasible", + "17642": "failure", + "17643": "successful", + "17644": "failure", + "17645": "failure", + "17646": "failure", + "17647": "failure", + "17648": "failure", + "17649": "failure", + "17650": "failure", + "17651": "failure", + "17652": "failure", + "17653": "failure", + "17654": "failure", + "17655": "failure", + "17656": "failure", + "17657": "failure", + "17658": "failure", + "17659": "failure", + "17660": "failure", + "17661": "failure", + "17662": "failure", + "17663": "infeasible", + "17664": "failure", + "17665": "failure", + "17666": "infeasible", + "17667": "already_complete", + "17668": "failure", + "17669": "failure", + "17670": "successful", + "17671": "failure", + "17672": "failure", + "17673": "failure", + "17674": "already_complete", + "17675": "failure", + "17676": "successful", + "17677": "failure", + "17678": "failure", + "17679": "failure", + "17680": "failure", + "17681": "failure", + "17682": "infeasible", + "17683": "failure", + "17684": "failure", + "17685": "successful", + "17686": "failure", + "17687": "failure", + "17688": "failure", + "17689": "successful", + "17690": "failure", + "17691": "failure", + "17692": "failure", + "17693": "failure", + "17694": "failure", + "17695": "failure", + "17696": "failure", + "17697": "failure", + "17698": "infeasible", + "17699": "failure", + "17700": "infeasible", + "17701": "failure", + "17702": "failure", + "17703": "failure", + "17704": "successful", + "17705": "infeasible", + "17706": "failure", + "17707": "failure", + "17708": "failure", + "17709": "failure", + "17710": "successful", + "17711": "successful", + "17712": "failure", + "17713": "failure", + "17714": "failure", + "17715": "failure", + "17716": "infeasible", + "17717": "failure", + "17718": "failure", + "17719": "failure", + "17720": "failure", + "17721": "successful", + "17722": "infeasible", + "17723": "failure", + "17724": "infeasible", + "17725": "failure", + "17726": "failure", + "17727": "failure", + "17728": "failure", + "17729": "failure", + "17730": "failure", + "17731": "failure", + "17732": "successful", + "17733": "failure", + "17734": "failure", + "17735": "infeasible", + "17736": "failure", + "17737": "failure", + "17738": "failure", + "17739": "infeasible", + "17740": "failure", + "17741": "failure", + "17742": "failure", + "17743": "failure", + "17744": "failure", + "17745": "failure", + "17746": "failure", + "17747": "failure", + "17748": "failure", + "17749": "successful", + "17750": "failure", + "17751": "infeasible", + "17752": "failure", + "17753": "failure", + "17754": "failure", + "17755": "failure", + "17756": "failure", + "17757": "failure", + "17758": "failure", + "17759": "failure", + "17760": "failure", + "17761": "infeasible", + "17762": "failure", + "17763": "successful", + "17764": "failure", + "17765": "successful", + "17766": "failure", + "17767": "failure", + "17768": "failure", + "17769": "failure", + "17770": "successful", + "17771": "failure", + "17772": "failure", + "17773": "failure", + "17774": "failure", + "17775": "successful", + "17776": "successful", + "17777": "failure", + "17778": "failure", + "17779": "successful", + "17780": "successful", + "17781": "failure", + "17782": "infeasible", + "17783": "infeasible", + "17784": "failure", + "17785": "already_complete", + "17786": "failure", + "17787": "failure", + "17788": "failure", + "17789": "failure", + "17790": "successful", + "17791": "failure", + "17792": "failure", + "17793": "failure", + "17794": "failure", + "17795": "failure", + "17796": "failure", + "17797": "failure", + "17798": "failure", + "17799": "failure", + "17800": "failure", + "17801": "failure", + "17802": "failure", + "17803": "failure", + "17804": "failure", + "17805": "failure", + "17806": "failure", + "17807": "failure", + "17808": "failure", + "17809": "failure", + "17810": "failure", + "17811": "infeasible", + "17812": "failure", + "17813": "failure", + "17814": "failure", + "17815": "infeasible", + "17816": "failure", + "17817": "failure", + "17818": "failure", + "17819": "failure", + "17820": "successful", + "17821": "failure", + "17822": "failure", + "17823": "successful", + "17824": "failure", + "17825": "failure", + "17826": "failure", + "17827": "failure", + "17828": "failure", + "17829": "failure", + "17830": "infeasible", + "17831": "successful", + "17832": "failure", + "17833": "failure", + "17834": "failure", + "17835": "failure", + "17836": "successful", + "17837": "failure", + "17838": "failure", + "17839": "failure", + "17840": "failure", + "17841": "failure", + "17842": "failure", + "17843": "failure", + "17844": "failure", + "17845": "failure", + "17846": "failure", + "17847": "failure", + "17848": "failure", + "17849": "failure", + "17850": "failure", + "17851": "failure", + "17852": "successful", + "17853": "failure", + "17854": "failure", + "17855": "failure", + "17856": "failure", + "17857": "failure", + "17858": "already_complete", + "17859": "failure", + "17860": "failure", + "17861": "failure", + "17862": "failure", + "17863": "failure", + "17864": "infeasible", + "17865": "failure", + "17866": "failure", + "17867": "failure", + "17868": "successful", + "17869": "failure", + "17870": "failure", + "17871": "failure", + "17872": "failure", + "17873": "failure", + "17874": "failure", + "17875": "failure", + "17876": "failure", + "17877": "successful", + "17878": "infeasible", + "17879": "failure", + "17880": "failure", + "17881": "already_complete", + "17882": "failure", + "17883": "failure", + "17884": "failure", + "17885": "successful", + "17886": "failure", + "17887": "successful", + "17888": "failure", + "17889": "failure", + "17890": "failure", + "17891": "failure", + "17892": "successful", + "17893": "failure", + "17894": "successful", + "17895": "failure", + "17896": "failure", + "17897": "failure", + "17898": "failure", + "17899": "successful", + "17900": "failure", + "17901": "failure", + "17902": "failure", + "17903": "failure", + "17904": "failure", + "17905": "failure", + "17906": "failure", + "17907": "failure", + "17908": "failure", + "17909": "infeasible", + "17910": "infeasible", + "17911": "failure", + "17912": "failure", + "17913": "infeasible", + "17914": "failure", + "17915": "infeasible", + "17916": "failure", + "17917": "failure", + "17918": "infeasible", + "17919": "failure", + "17920": "failure", + "17921": "failure", + "17922": "failure", + "17923": "infeasible", + "17924": "infeasible", + "17925": "failure", + "17926": "failure", + "17927": "failure", + "17928": "failure", + "17929": "failure", + "17930": "successful", + "17931": "failure", + "17932": "failure", + "17933": "failure", + "17934": "failure", + "17935": "failure", + "17936": "failure", + "17937": "failure", + "17938": "failure", + "17939": "failure", + "17940": "failure", + "17941": "successful", + "17942": "failure", + "17943": "infeasible", + "17944": "failure", + "17945": "failure", + "17946": "failure", + "17947": "failure", + "17948": "failure", + "17949": "failure", + "17950": "failure", + "17951": "failure", + "17952": "successful", + "17953": "failure", + "17954": "failure", + "17955": "failure", + "17956": "failure", + "17957": "failure", + "17958": "failure", + "17959": "failure", + "17960": "failure", + "17961": "failure", + "17962": "failure", + "17963": "failure", + "17964": "failure", + "17965": "successful", + "17966": "failure", + "17967": "infeasible", + "17968": "infeasible", + "17969": "failure", + "17970": "failure", + "17971": "failure", + "17972": "failure", + "17973": "failure", + "17974": "failure", + "17975": "failure", + "17976": "failure", + "17977": "successful", + "17978": "failure", + "17979": "failure", + "17980": "failure", + "17981": "failure", + "17982": "failure", + "17983": "failure", + "17984": "failure", + "17985": "failure", + "17986": "failure", + "17987": "failure", + "17988": "failure", + "17989": "infeasible", + "17990": "failure", + "17991": "failure", + "17992": "failure", + "17993": "failure", + "17994": "failure", + "17995": "failure", + "17996": "successful", + "17997": "failure", + "17998": "failure", + "17999": "failure", + "18000": "failure", + "18001": "failure", + "18002": "failure", + "18003": "failure", + "18004": "successful", + "18005": "failure", + "18006": "successful", + "18007": "failure", + "18008": "failure", + "18009": "failure", + "18010": "failure", + "18011": "failure", + "18012": "failure", + "18013": "failure", + "18014": "failure", + "18015": "failure", + "18016": "failure", + "18017": "successful", + "18018": "failure", + "18019": "successful", + "18020": "failure", + "18021": "failure", + "18022": "failure", + "18023": "failure", + "18024": "failure", + "18025": "successful", + "18026": "failure", + "18027": "failure", + "18028": "failure", + "18029": "failure", + "18030": "failure", + "18031": "failure", + "18032": "failure", + "18033": "failure", + "18034": "failure", + "18035": "failure", + "18036": "failure", + "18037": "failure", + "18038": "failure", + "18039": "failure", + "18040": "failure", + "18041": "failure", + "18042": "failure", + "18043": "failure", + "18044": "failure", + "18045": "failure", + "18046": "failure", + "18047": "failure", + "18048": "failure", + "18049": "failure", + "18050": "failure", + "18051": "failure", + "18052": "successful", + "18053": "failure", + "18054": "failure", + "18055": "failure", + "18056": "infeasible", + "18057": "failure", + "18058": "failure", + "18059": "failure", + "18060": "failure", + "18061": "failure", + "18062": "infeasible", + "18063": "failure", + "18064": "infeasible", + "18065": "failure", + "18066": "failure", + "18067": "failure", + "18068": "failure", + "18069": "successful", + "18070": "failure", + "18071": "failure", + "18072": "failure", + "18073": "failure", + "18074": "infeasible", + "18075": "failure", + "18076": "already_complete", + "18077": "failure", + "18078": "failure", + "18079": "failure", + "18080": "failure", + "18081": "failure", + "18082": "failure", + "18083": "failure", + "18084": "failure", + "18085": "failure", + "18086": "failure", + "18087": "failure", + "18088": "successful", + "18089": "failure", + "18090": "failure", + "18091": "failure", + "18092": "failure", + "18093": "failure", + "18094": "failure", + "18095": "successful", + "18096": "failure", + "18097": "failure", + "18098": "failure", + "18099": "infeasible", + "18100": "failure", + "18101": "successful", + "18102": "failure", + "18103": "failure", + "18104": "failure", + "18105": "failure", + "18106": "infeasible", + "18107": "failure", + "18108": "failure", + "18109": "successful", + "18110": "failure", + "18111": "already_complete", + "18112": "infeasible", + "18113": "successful", + "18114": "failure", + "18115": "infeasible", + "18116": "infeasible", + "18117": "failure", + "18118": "failure", + "18119": "failure", + "18120": "failure", + "18121": "failure", + "18122": "failure", + "18123": "failure", + "18124": "failure", + "18125": "failure", + "18126": "failure", + "18127": "failure", + "18128": "failure", + "18129": "failure", + "18130": "failure", + "18131": "failure", + "18132": "failure", + "18133": "infeasible", + "18134": "failure", + "18135": "failure", + "18136": "failure", + "18137": "successful", + "18138": "already_complete", + "18139": "successful", + "18140": "successful", + "18141": "failure", + "18142": "failure", + "18143": "failure", + "18144": "failure", + "18145": "failure", + "18146": "failure", + "18147": "failure", + "18148": "failure", + "18149": "failure", + "18150": "infeasible", + "18151": "infeasible", + "18152": "failure", + "18153": "failure", + "18154": "failure", + "18155": "failure", + "18156": "failure", + "18157": "already_complete", + "18158": "failure", + "18159": "failure", + "18160": "failure", + "18161": "failure", + "18162": "successful", + "18163": "failure", + "18164": "failure", + "18165": "failure", + "18166": "failure", + "18167": "successful", + "18168": "failure", + "18169": "failure", + "18170": "failure", + "18171": "failure", + "18172": "failure", + "18173": "successful", + "18174": "failure", + "18175": "already_complete", + "18176": "successful", + "18177": "successful", + "18178": "successful", + "18179": "failure", + "18180": "failure", + "18181": "failure", + "18182": "successful", + "18183": "infeasible", + "18184": "failure", + "18185": "failure", + "18186": "failure", + "18187": "successful", + "18188": "failure", + "18189": "failure", + "18190": "failure", + "18191": "failure", + "18192": "failure", + "18193": "failure", + "18194": "failure", + "18195": "failure", + "18196": "failure", + "18197": "failure", + "18198": "successful", + "18199": "failure", + "18200": "failure", + "18201": "failure", + "18202": "failure", + "18203": "successful", + "18204": "failure", + "18205": "infeasible", + "18206": "failure", + "18207": "failure", + "18208": "failure", + "18209": "failure", + "18210": "failure", + "18211": "failure", + "18212": "failure", + "18213": "failure", + "18214": "failure", + "18215": "failure", + "18216": "failure", + "18217": "successful", + "18218": "failure", + "18219": "successful", + "18220": "successful", + "18221": "already_complete", + "18222": "successful", + "18223": "failure", + "18224": "failure", + "18225": "infeasible", + "18226": "failure", + "18227": "successful", + "18228": "failure", + "18229": "already_complete", + "18230": "failure", + "18231": "failure", + "18232": "failure", + "18233": "failure", + "18234": "failure", + "18235": "successful", + "18236": "failure", + "18237": "failure", + "18238": "successful", + "18239": "failure", + "18240": "infeasible", + "18241": "failure", + "18242": "failure", + "18243": "failure", + "18244": "failure", + "18245": "failure", + "18246": "failure", + "18247": "failure", + "18248": "failure", + "18249": "failure", + "18250": "failure", + "18251": "successful", + "18252": "failure", + "18253": "failure", + "18254": "failure", + "18255": "failure", + "18256": "failure", + "18257": "failure", + "18258": "failure", + "18259": "failure", + "18260": "failure", + "18261": "failure", + "18262": "infeasible", + "18263": "failure", + "18264": "failure", + "18265": "failure", + "18266": "successful", + "18267": "failure", + "18268": "failure", + "18269": "failure", + "18270": "failure", + "18271": "failure", + "18272": "failure", + "18273": "failure", + "18274": "failure", + "18275": "failure", + "18276": "failure", + "18277": "failure", + "18278": "infeasible", + "18279": "failure", + "18280": "failure", + "18281": "infeasible", + "18282": "failure", + "18283": "failure", + "18284": "failure", + "18285": "failure", + "18286": "successful", + "18287": "failure", + "18288": "failure", + "18289": "failure", + "18290": "failure", + "18291": "failure", + "18292": "failure", + "18293": "failure", + "18294": "failure", + "18295": "failure", + "18296": "failure", + "18297": "failure", + "18298": "failure", + "18299": "infeasible", + "18300": "failure", + "18301": "infeasible", + "18302": "failure", + "18303": "infeasible", + "18304": "failure", + "18305": "failure", + "18306": "successful", + "18307": "failure", + "18308": "successful", + "18309": "failure", + "18310": "failure", + "18311": "failure", + "18312": "failure", + "18313": "failure", + "18314": "infeasible", + "18315": "failure", + "18316": "failure", + "18317": "successful", + "18318": "failure", + "18319": "failure", + "18320": "infeasible", + "18321": "successful", + "18322": "failure", + "18323": "failure", + "18324": "failure", + "18325": "failure", + "18326": "failure", + "18327": "failure", + "18328": "failure", + "18329": "failure", + "18330": "failure", + "18331": "successful", + "18332": "infeasible", + "18333": "successful", + "18334": "failure", + "18335": "failure", + "18336": "failure", + "18337": "failure", + "18338": "successful", + "18339": "infeasible", + "18340": "failure", + "18341": "failure", + "18342": "failure", + "18343": "successful", + "18344": "failure", + "18345": "failure", + "18346": "failure", + "18347": "failure", + "18348": "failure", + "18349": "failure", + "18350": "failure", + "18351": "failure", + "18352": "failure", + "18353": "failure", + "18354": "failure", + "18355": "infeasible", + "18356": "failure", + "18357": "failure", + "18358": "infeasible", + "18359": "failure", + "18360": "failure", + "18361": "failure", + "18362": "failure", + "18363": "failure", + "18364": "failure", + "18365": "successful", + "18366": "failure", + "18367": "failure", + "18368": "failure", + "18369": "infeasible", + "18370": "failure", + "18371": "failure", + "18372": "failure", + "18373": "failure", + "18374": "failure", + "18375": "failure", + "18376": "failure", + "18377": "failure", + "18378": "failure", + "18379": "failure", + "18380": "successful", + "18381": "successful", + "18382": "failure", + "18383": "failure", + "18384": "failure", + "18385": "failure", + "18386": "failure", + "18387": "failure", + "18388": "infeasible", + "18389": "failure", + "18390": "infeasible", + "18391": "failure", + "18392": "successful", + "18393": "failure", + "18394": "failure", + "18395": "infeasible", + "18396": "failure", + "18397": "failure", + "18398": "failure", + "18399": "failure", + "18400": "failure", + "18401": "failure", + "18402": "failure", + "18403": "failure", + "18404": "failure", + "18405": "failure", + "18406": "infeasible", + "18407": "failure", + "18408": "failure", + "18409": "failure", + "18410": "failure", + "18411": "infeasible", + "18412": "successful", + "18413": "failure", + "18414": "failure", + "18415": "failure", + "18416": "failure", + "18417": "failure", + "18418": "failure", + "18419": "failure", + "18420": "failure", + "18421": "failure", + "18422": "failure", + "18423": "failure", + "18424": "failure", + "18425": "failure", + "18426": "infeasible", + "18427": "failure", + "18428": "infeasible", + "18429": "infeasible", + "18430": "successful", + "18431": "failure", + "18432": "failure", + "18433": "failure", + "18434": "infeasible", + "18435": "failure", + "18436": "failure", + "18437": "failure", + "18438": "failure", + "18439": "successful", + "18440": "failure", + "18441": "infeasible", + "18442": "failure", + "18443": "failure", + "18444": "failure", + "18445": "failure", + "18446": "failure", + "18447": "failure", + "18448": "failure", + "18449": "failure", + "18450": "failure", + "18451": "failure", + "18452": "failure", + "18453": "failure", + "18454": "failure", + "18455": "failure", + "18456": "failure", + "18457": "infeasible", + "18458": "failure", + "18459": "failure", + "18460": "failure", + "18461": "failure", + "18462": "failure", + "18463": "failure", + "18464": "infeasible", + "18465": "infeasible", + "18466": "failure", + "18467": "failure", + "18468": "infeasible", + "18469": "failure", + "18470": "already_complete", + "18471": "failure", + "18472": "failure", + "18473": "failure", + "18474": "failure", + "18475": "failure", + "18476": "infeasible", + "18477": "failure", + "18478": "failure", + "18479": "failure", + "18480": "failure", + "18481": "failure", + "18482": "failure", + "18483": "infeasible", + "18484": "successful", + "18485": "failure", + "18486": "successful", + "18487": "failure", + "18488": "failure", + "18489": "infeasible", + "18490": "failure", + "18491": "failure", + "18492": "failure", + "18493": "failure", + "18494": "failure", + "18495": "successful", + "18496": "infeasible", + "18497": "successful", + "18498": "failure", + "18499": "failure", + "18500": "failure", + "18501": "failure", + "18502": "failure", + "18503": "failure", + "18504": "failure", + "18505": "failure", + "18506": "failure", + "18507": "failure", + "18508": "failure", + "18509": "successful", + "18510": "failure", + "18511": "failure", + "18512": "failure", + "18513": "successful", + "18514": "failure", + "18515": "failure", + "18516": "failure", + "18517": "failure", + "18518": "failure", + "18519": "failure", + "18520": "failure", + "18521": "infeasible", + "18522": "failure", + "18523": "failure", + "18524": "failure", + "18525": "successful", + "18526": "failure", + "18527": "failure", + "18528": "failure", + "18529": "failure", + "18530": "failure", + "18531": "failure", + "18532": "failure", + "18533": "failure", + "18534": "failure", + "18535": "failure", + "18536": "infeasible", + "18537": "failure", + "18538": "failure", + "18539": "failure", + "18540": "failure", + "18541": "failure", + "18542": "infeasible", + "18543": "infeasible", + "18544": "failure", + "18545": "successful", + "18546": "failure", + "18547": "failure", + "18548": "failure", + "18549": "failure", + "18550": "successful", + "18551": "failure", + "18552": "failure", + "18553": "failure", + "18554": "failure", + "18555": "failure", + "18556": "failure", + "18557": "failure", + "18558": "failure", + "18559": "failure", + "18560": "failure", + "18561": "failure", + "18562": "failure", + "18563": "failure", + "18564": "infeasible", + "18565": "failure", + "18566": "failure", + "18567": "failure", + "18568": "infeasible", + "18569": "failure", + "18570": "failure", + "18571": "failure", + "18572": "successful", + "18573": "failure", + "18574": "successful", + "18575": "failure", + "18576": "failure", + "18577": "failure", + "18578": "successful", + "18579": "failure", + "18580": "failure", + "18581": "infeasible", + "18582": "failure", + "18583": "failure", + "18584": "failure", + "18585": "failure", + "18586": "failure", + "18587": "successful", + "18588": "infeasible", + "18589": "failure", + "18590": "failure", + "18591": "failure", + "18592": "failure", + "18593": "failure", + "18594": "successful", + "18595": "infeasible", + "18596": "failure", + "18597": "failure", + "18598": "successful", + "18599": "failure", + "18600": "failure", + "18601": "failure", + "18602": "failure", + "18603": "failure", + "18604": "failure", + "18605": "failure", + "18606": "failure", + "18607": "failure", + "18608": "failure", + "18609": "infeasible", + "18610": "failure", + "18611": "failure", + "18612": "failure", + "18613": "infeasible", + "18614": "failure", + "18615": "failure", + "18616": "successful", + "18617": "failure", + "18618": "failure", + "18619": "failure", + "18620": "successful", + "18621": "successful", + "18622": "failure", + "18623": "successful", + "18624": "infeasible", + "18625": "successful", + "18626": "failure", + "18627": "failure", + "18628": "failure", + "18629": "failure", + "18630": "failure", + "18631": "failure", + "18632": "failure", + "18633": "failure", + "18634": "failure", + "18635": "failure", + "18636": "failure", + "18637": "failure", + "18638": "failure", + "18639": "failure", + "18640": "failure", + "18641": "successful", + "18642": "failure", + "18643": "successful", + "18644": "failure", + "18645": "failure", + "18646": "failure", + "18647": "successful", + "18648": "failure", + "18649": "failure", + "18650": "failure", + "18651": "successful", + "18652": "failure", + "18653": "successful", + "18654": "failure", + "18655": "failure", + "18656": "infeasible", + "18657": "infeasible", + "18658": "failure", + "18659": "failure", + "18660": "failure", + "18661": "failure", + "18662": "failure", + "18663": "failure", + "18664": "successful", + "18665": "failure", + "18666": "failure", + "18667": "infeasible", + "18668": "failure", + "18669": "failure", + "18670": "failure", + "18671": "failure", + "18672": "failure", + "18673": "failure", + "18674": "failure", + "18675": "successful", + "18676": "failure", + "18677": "failure", + "18678": "successful", + "18679": "failure", + "18680": "failure", + "18681": "failure", + "18682": "failure", + "18683": "failure", + "18684": "failure", + "18685": "failure", + "18686": "failure", + "18687": "infeasible", + "18688": "failure", + "18689": "failure", + "18690": "failure", + "18691": "infeasible", + "18692": "failure", + "18693": "failure", + "18694": "infeasible", + "18695": "successful", + "18696": "failure", + "18697": "successful", + "18698": "failure", + "18699": "infeasible", + "18700": "failure", + "18701": "successful", + "18702": "failure", + "18703": "failure", + "18704": "successful", + "18705": "failure", + "18706": "infeasible", + "18707": "failure", + "18708": "failure", + "18709": "failure", + "18710": "failure", + "18711": "successful", + "18712": "failure", + "18713": "failure", + "18714": "failure", + "18715": "failure", + "18716": "failure", + "18717": "successful", + "18718": "successful", + "18719": "successful", + "18720": "failure", + "18721": "successful", + "18722": "failure", + "18723": "failure", + "18724": "failure", + "18725": "failure", + "18726": "failure", + "18727": "failure", + "18728": "successful", + "18729": "failure", + "18730": "failure", + "18731": "failure", + "18732": "failure", + "18733": "failure", + "18734": "successful", + "18735": "failure", + "18736": "failure", + "18737": "failure", + "18738": "failure", + "18739": "failure", + "18740": "infeasible", + "18741": "successful", + "18742": "infeasible", + "18743": "failure", + "18744": "failure", + "18745": "failure", + "18746": "failure", + "18747": "failure", + "18748": "failure", + "18749": "failure", + "18750": "successful", + "18751": "failure", + "18752": "failure", + "18753": "successful", + "18754": "infeasible", + "18755": "failure", + "18756": "failure", + "18757": "failure", + "18758": "failure", + "18759": "failure", + "18760": "failure", + "18761": "failure", + "18762": "infeasible", + "18763": "successful", + "18764": "failure", + "18765": "failure", + "18766": "failure", + "18767": "failure", + "18768": "failure", + "18769": "failure", + "18770": "failure", + "18771": "failure", + "18772": "successful", + "18773": "failure", + "18774": "failure", + "18775": "already_complete", + "18776": "failure", + "18777": "failure", + "18778": "failure", + "18779": "infeasible", + "18780": "failure", + "18781": "failure", + "18782": "failure", + "18783": "failure", + "18784": "failure", + "18785": "failure", + "18786": "infeasible", + "18787": "failure", + "18788": "failure", + "18789": "failure", + "18790": "failure", + "18791": "failure", + "18792": "failure", + "18793": "failure", + "18794": "infeasible", + "18795": "failure", + "18796": "successful", + "18797": "failure", + "18798": "failure", + "18799": "failure", + "18800": "successful", + "18801": "failure", + "18802": "failure", + "18803": "infeasible", + "18804": "successful", + "18805": "failure", + "18806": "failure", + "18807": "failure", + "18808": "successful", + "18809": "failure", + "18810": "failure", + "18811": "failure", + "18812": "failure", + "18813": "failure", + "18814": "failure", + "18815": "failure", + "18816": "failure", + "18817": "failure", + "18818": "successful", + "18819": "failure", + "18820": "failure", + "18821": "failure", + "18822": "infeasible", + "18823": "infeasible", + "18824": "failure", + "18825": "failure", + "18826": "infeasible", + "18827": "failure", + "18828": "successful", + "18829": "failure", + "18830": "failure", + "18831": "failure", + "18832": "failure", + "18833": "failure", + "18834": "failure", + "18835": "failure", + "18836": "already_complete", + "18837": "failure", + "18838": "failure", + "18839": "infeasible", + "18840": "failure", + "18841": "infeasible", + "18842": "failure", + "18843": "failure", + "18844": "failure", + "18845": "failure", + "18846": "failure", + "18847": "failure", + "18848": "successful", + "18849": "failure", + "18850": "failure", + "18851": "failure", + "18852": "failure", + "18853": "successful", + "18854": "failure", + "18855": "failure", + "18856": "failure", + "18857": "failure", + "18858": "infeasible", + "18859": "failure", + "18860": "failure", + "18861": "failure", + "18862": "successful", + "18863": "failure", + "18864": "failure", + "18865": "failure", + "18866": "failure", + "18867": "failure", + "18868": "failure", + "18869": "infeasible", + "18870": "failure", + "18871": "failure", + "18872": "failure", + "18873": "failure", + "18874": "failure", + "18875": "failure", + "18876": "failure", + "18877": "successful", + "18878": "failure", + "18879": "successful", + "18880": "failure", + "18881": "failure", + "18882": "successful", + "18883": "infeasible", + "18884": "failure", + "18885": "failure", + "18886": "failure", + "18887": "failure", + "18888": "failure", + "18889": "failure", + "18890": "failure", + "18891": "infeasible", + "18892": "failure", + "18893": "failure", + "18894": "successful", + "18895": "failure", + "18896": "failure", + "18897": "failure", + "18898": "failure", + "18899": "failure", + "18900": "failure", + "18901": "failure", + "18902": "failure", + "18903": "failure", + "18904": "failure", + "18905": "failure", + "18906": "failure", + "18907": "failure", + "18908": "failure", + "18909": "failure", + "18910": "failure", + "18911": "failure", + "18912": "failure", + "18913": "infeasible", + "18914": "failure", + "18915": "failure", + "18916": "failure", + "18917": "infeasible", + "18918": "failure", + "18919": "infeasible", + "18920": "failure", + "18921": "failure", + "18922": "failure", + "18923": "infeasible", + "18924": "infeasible", + "18925": "failure", + "18926": "failure", + "18927": "failure", + "18928": "failure", + "18929": "failure", + "18930": "failure", + "18931": "failure", + "18932": "failure", + "18933": "successful", + "18934": "failure", + "18935": "failure", + "18936": "failure", + "18937": "failure", + "18938": "failure", + "18939": "failure", + "18940": "failure", + "18941": "failure", + "18942": "failure", + "18943": "successful", + "18944": "failure", + "18945": "failure", + "18946": "infeasible", + "18947": "failure", + "18948": "infeasible", + "18949": "failure", + "18950": "failure", + "18951": "failure", + "18952": "infeasible", + "18953": "failure", + "18954": "failure", + "18955": "failure", + "18956": "failure", + "18957": "failure", + "18958": "failure", + "18959": "failure", + "18960": "successful", + "18961": "failure", + "18962": "failure", + "18963": "failure", + "18964": "infeasible", + "18965": "infeasible", + "18966": "failure", + "18967": "failure", + "18968": "failure", + "18969": "failure", + "18970": "failure", + "18971": "failure", + "18972": "failure", + "18973": "failure", + "18974": "failure", + "18975": "failure", + "18976": "failure", + "18977": "failure", + "18978": "failure", + "18979": "infeasible", + "18980": "infeasible", + "18981": "failure", + "18982": "failure", + "18983": "failure", + "18984": "infeasible", + "18985": "failure", + "18986": "failure", + "18987": "failure", + "18988": "failure", + "18989": "failure", + "18990": "failure", + "18991": "failure", + "18992": "failure", + "18993": "failure", + "18994": "failure", + "18995": "failure", + "18996": "already_complete", + "18997": "failure", + "18998": "infeasible", + "18999": "successful", + "19000": "failure", + "19001": "failure", + "19002": "failure", + "19003": "failure", + "19004": "failure", + "19005": "failure", + "19006": "already_complete", + "19007": "failure", + "19008": "failure", + "19009": "successful", + "19010": "successful", + "19011": "failure", + "19012": "failure", + "19013": "infeasible", + "19014": "failure", + "19015": "failure", + "19016": "failure", + "19017": "failure", + "19018": "failure", + "19019": "failure", + "19020": "failure", + "19021": "failure", + "19022": "failure", + "19023": "successful", + "19024": "failure", + "19025": "successful", + "19026": "successful", + "19027": "failure", + "19028": "failure", + "19029": "failure", + "19030": "failure", + "19031": "failure", + "19032": "failure", + "19033": "failure", + "19034": "failure", + "19035": "successful", + "19036": "failure", + "19037": "successful", + "19038": "failure", + "19039": "successful", + "19040": "failure", + "19041": "failure", + "19042": "infeasible", + "19043": "failure", + "19044": "failure", + "19045": "successful", + "19046": "failure", + "19047": "failure", + "19048": "failure", + "19049": "failure", + "19050": "failure", + "19051": "failure", + "19052": "failure", + "19053": "failure", + "19054": "failure", + "19055": "failure", + "19056": "failure", + "19057": "failure", + "19058": "failure", + "19059": "failure", + "19060": "successful", + "19061": "failure", + "19062": "failure", + "19063": "failure", + "19064": "failure", + "19065": "failure", + "19066": "failure", + "19067": "failure", + "19068": "failure", + "19069": "failure", + "19070": "failure", + "19071": "failure", + "19072": "successful", + "19073": "failure", + "19074": "failure", + "19075": "failure", + "19076": "failure", + "19077": "failure", + "19078": "failure", + "19079": "failure", + "19080": "failure", + "19081": "failure", + "19082": "failure", + "19083": "failure", + "19084": "failure", + "19085": "failure", + "19086": "successful", + "19087": "successful", + "19088": "failure", + "19089": "failure", + "19090": "failure", + "19091": "failure", + "19092": "failure", + "19093": "failure", + "19094": "failure", + "19095": "failure", + "19096": "failure", + "19097": "failure", + "19098": "infeasible", + "19099": "failure", + "19100": "failure", + "19101": "infeasible", + "19102": "failure", + "19103": "failure", + "19104": "failure", + "19105": "failure", + "19106": "successful", + "19107": "successful", + "19108": "failure", + "19109": "failure", + "19110": "failure", + "19111": "failure", + "19112": "infeasible", + "19113": "successful", + "19114": "failure", + "19115": "infeasible", + "19116": "failure", + "19117": "failure", + "19118": "failure", + "19119": "failure", + "19120": "infeasible", + "19121": "failure", + "19122": "failure", + "19123": "failure", + "19124": "failure", + "19125": "failure", + "19126": "failure", + "19127": "failure", + "19128": "failure", + "19129": "failure", + "19130": "failure", + "19131": "failure", + "19132": "failure", + "19133": "failure", + "19134": "failure", + "19135": "successful", + "19136": "successful", + "19137": "failure", + "19138": "failure", + "19139": "failure", + "19140": "failure", + "19141": "failure", + "19142": "failure", + "19143": "successful", + "19144": "successful", + "19145": "failure", + "19146": "infeasible", + "19147": "failure", + "19148": "failure", + "19149": "failure", + "19150": "failure", + "19151": "failure", + "19152": "failure", + "19153": "successful", + "19154": "failure", + "19155": "failure", + "19156": "failure", + "19157": "failure", + "19158": "successful", + "19159": "infeasible", + "19160": "failure", + "19161": "infeasible", + "19162": "failure", + "19163": "successful", + "19164": "failure", + "19165": "failure", + "19166": "failure", + "19167": "infeasible", + "19168": "failure", + "19169": "failure", + "19170": "failure", + "19171": "failure", + "19172": "failure", + "19173": "infeasible", + "19174": "failure", + "19175": "failure", + "19176": "failure", + "19177": "failure", + "19178": "failure", + "19179": "failure", + "19180": "failure", + "19181": "failure", + "19182": "failure", + "19183": "failure", + "19184": "failure", + "19185": "failure", + "19186": "failure", + "19187": "successful", + "19188": "failure", + "19189": "failure", + "19190": "successful", + "19191": "failure", + "19192": "failure", + "19193": "failure", + "19194": "failure", + "19195": "failure", + "19196": "failure", + "19197": "failure", + "19198": "failure", + "19199": "failure", + "19200": "infeasible", + "19201": "failure", + "19202": "failure", + "19203": "failure", + "19204": "infeasible", + "19205": "failure", + "19206": "failure", + "19207": "successful", + "19208": "failure", + "19209": "failure", + "19210": "failure", + "19211": "failure", + "19212": "failure", + "19213": "infeasible", + "19214": "failure", + "19215": "failure", + "19216": "failure", + "19217": "infeasible", + "19218": "successful", + "19219": "failure", + "19220": "successful", + "19221": "failure", + "19222": "failure", + "19223": "successful", + "19224": "infeasible", + "19225": "failure", + "19226": "failure", + "19227": "failure", + "19228": "successful", + "19229": "failure", + "19230": "failure", + "19231": "failure", + "19232": "successful", + "19233": "failure", + "19234": "failure", + "19235": "failure", + "19236": "failure", + "19237": "failure", + "19238": "infeasible", + "19239": "failure", + "19240": "failure", + "19241": "failure", + "19242": "successful", + "19243": "failure", + "19244": "failure", + "19245": "failure", + "19246": "infeasible", + "19247": "failure", + "19248": "failure", + "19249": "failure", + "19250": "failure", + "19251": "failure", + "19252": "failure", + "19253": "failure", + "19254": "failure", + "19255": "infeasible", + "19256": "failure", + "19257": "failure", + "19258": "failure", + "19259": "failure", + "19260": "failure", + "19261": "failure", + "19262": "failure", + "19263": "failure", + "19264": "successful", + "19265": "failure", + "19266": "failure", + "19267": "failure", + "19268": "failure", + "19269": "failure", + "19270": "failure", + "19271": "failure", + "19272": "successful", + "19273": "failure", + "19274": "failure", + "19275": "failure", + "19276": "failure", + "19277": "failure", + "19278": "failure", + "19279": "failure", + "19280": "failure", + "19281": "failure", + "19282": "failure", + "19283": "successful", + "19284": "failure", + "19285": "successful", + "19286": "failure", + "19287": "failure", + "19288": "failure", + "19289": "failure", + "19290": "successful", + "19291": "failure", + "19292": "failure", + "19293": "failure", + "19294": "failure", + "19295": "failure", + "19296": "failure", + "19297": "failure", + "19298": "failure", + "19299": "failure", + "19300": "failure", + "19301": "failure", + "19302": "failure", + "19303": "failure", + "19304": "failure", + "19305": "infeasible", + "19306": "failure", + "19307": "failure", + "19308": "failure", + "19309": "infeasible", + "19310": "infeasible", + "19311": "failure", + "19312": "failure", + "19313": "failure", + "19314": "failure", + "19315": "failure", + "19316": "failure", + "19317": "failure", + "19318": "failure", + "19319": "failure", + "19320": "failure", + "19321": "failure", + "19322": "failure", + "19323": "failure", + "19324": "failure", + "19325": "failure", + "19326": "failure", + "19327": "failure", + "19328": "infeasible", + "19329": "infeasible", + "19330": "failure", + "19331": "successful", + "19332": "infeasible", + "19333": "failure", + "19334": "failure", + "19335": "failure", + "19336": "failure", + "19337": "failure", + "19338": "failure", + "19339": "failure", + "19340": "failure", + "19341": "failure", + "19342": "failure", + "19343": "infeasible", + "19344": "failure", + "19345": "failure", + "19346": "infeasible", + "19347": "failure", + "19348": "failure", + "19349": "failure", + "19350": "failure", + "19351": "successful", + "19352": "failure", + "19353": "infeasible", + "19354": "failure", + "19355": "infeasible", + "19356": "failure", + "19357": "failure", + "19358": "failure", + "19359": "failure", + "19360": "failure", + "19361": "infeasible", + "19362": "successful", + "19363": "successful", + "19364": "failure", + "19365": "infeasible", + "19366": "infeasible", + "19367": "successful", + "19368": "successful", + "19369": "failure", + "19370": "failure", + "19371": "failure", + "19372": "failure", + "19373": "failure", + "19374": "failure", + "19375": "successful", + "19376": "failure", + "19377": "failure", + "19378": "failure", + "19379": "failure", + "19380": "failure", + "19381": "failure", + "19382": "failure", + "19383": "failure", + "19384": "successful", + "19385": "failure", + "19386": "failure", + "19387": "failure", + "19388": "failure", + "19389": "failure", + "19390": "failure", + "19391": "failure", + "19392": "failure", + "19393": "failure", + "19394": "failure", + "19395": "successful", + "19396": "failure", + "19397": "failure", + "19398": "failure", + "19399": "failure", + "19400": "failure", + "19401": "failure", + "19402": "failure", + "19403": "successful", + "19404": "failure", + "19405": "failure", + "19406": "failure", + "19407": "failure", + "19408": "failure", + "19409": "failure", + "19410": "failure", + "19411": "infeasible", + "19412": "failure", + "19413": "failure", + "19414": "failure", + "19415": "failure", + "19416": "infeasible", + "19417": "failure", + "19418": "failure", + "19419": "infeasible", + "19420": "failure", + "19421": "failure", + "19422": "failure", + "19423": "failure", + "19424": "failure", + "19425": "failure", + "19426": "successful", + "19427": "failure", + "19428": "successful", + "19429": "successful", + "19430": "failure", + "19431": "failure", + "19432": "failure", + "19433": "failure", + "19434": "failure", + "19435": "failure", + "19436": "failure", + "19437": "failure", + "19438": "successful", + "19439": "failure", + "19440": "failure", + "19441": "infeasible", + "19442": "failure", + "19443": "failure", + "19444": "infeasible", + "19445": "failure", + "19446": "failure", + "19447": "failure", + "19448": "infeasible", + "19449": "infeasible", + "19450": "failure", + "19451": "failure", + "19452": "failure", + "19453": "failure", + "19454": "successful", + "19455": "failure", + "19456": "failure", + "19457": "failure", + "19458": "failure", + "19459": "failure", + "19460": "successful", + "19461": "failure", + "19462": "failure", + "19463": "failure", + "19464": "failure", + "19465": "failure", + "19466": "failure", + "19467": "failure", + "19468": "failure", + "19469": "failure", + "19470": "failure", + "19471": "failure", + "19472": "failure", + "19473": "failure", + "19474": "failure", + "19475": "failure", + "19476": "failure", + "19477": "failure", + "19478": "failure", + "19479": "failure", + "19480": "failure", + "19481": "failure", + "19482": "failure", + "19483": "successful", + "19484": "failure", + "19485": "failure", + "19486": "failure", + "19487": "failure", + "19488": "failure", + "19489": "failure", + "19490": "successful", + "19491": "infeasible", + "19492": "failure", + "19493": "failure", + "19494": "failure", + "19495": "failure", + "19496": "failure", + "19497": "failure", + "19498": "failure", + "19499": "failure", + "19500": "successful", + "19501": "failure", + "19502": "failure", + "19503": "successful", + "19504": "failure", + "19505": "failure", + "19506": "failure", + "19507": "failure", + "19508": "failure", + "19509": "failure", + "19510": "infeasible", + "19511": "failure", + "19512": "failure", + "19513": "failure", + "19514": "failure", + "19515": "failure", + "19516": "failure", + "19517": "failure", + "19518": "failure", + "19519": "failure", + "19520": "infeasible", + "19521": "failure", + "19522": "failure", + "19523": "failure", + "19524": "infeasible", + "19525": "failure", + "19526": "infeasible", + "19527": "failure", + "19528": "failure", + "19529": "failure", + "19530": "failure", + "19531": "failure", + "19532": "failure", + "19533": "failure", + "19534": "failure", + "19535": "failure", + "19536": "successful", + "19537": "failure", + "19538": "failure", + "19539": "failure", + "19540": "infeasible", + "19541": "failure", + "19542": "failure", + "19543": "failure", + "19544": "failure", + "19545": "failure", + "19546": "failure", + "19547": "infeasible", + "19548": "failure", + "19549": "failure", + "19550": "failure", + "19551": "failure", + "19552": "failure", + "19553": "failure", + "19554": "failure", + "19555": "failure", + "19556": "failure", + "19557": "failure", + "19558": "failure", + "19559": "failure", + "19560": "failure", + "19561": "failure", + "19562": "failure", + "19563": "failure", + "19564": "infeasible", + "19565": "failure", + "19566": "failure", + "19567": "failure", + "19568": "successful", + "19569": "failure", + "19570": "infeasible", + "19571": "successful", + "19572": "failure", + "19573": "failure", + "19574": "failure", + "19575": "failure", + "19576": "failure", + "19577": "failure", + "19578": "failure", + "19579": "failure", + "19580": "failure", + "19581": "failure", + "19582": "failure", + "19583": "failure", + "19584": "failure", + "19585": "failure", + "19586": "successful", + "19587": "failure", + "19588": "failure", + "19589": "failure", + "19590": "failure", + "19591": "successful", + "19592": "failure", + "19593": "successful", + "19594": "failure", + "19595": "successful", + "19596": "failure", + "19597": "failure", + "19598": "failure", + "19599": "failure", + "19600": "failure", + "19601": "failure", + "19602": "failure", + "19603": "failure", + "19604": "failure", + "19605": "failure", + "19606": "successful", + "19607": "failure", + "19608": "failure", + "19609": "failure", + "19610": "failure", + "19611": "failure", + "19612": "failure", + "19613": "failure", + "19614": "failure", + "19615": "failure", + "19616": "failure", + "19617": "failure", + "19618": "failure", + "19619": "failure", + "19620": "failure", + "19621": "successful", + "19622": "failure", + "19623": "infeasible", + "19624": "successful", + "19625": "infeasible", + "19626": "successful", + "19627": "infeasible", + "19628": "successful", + "19629": "failure", + "19630": "failure", + "19631": "failure", + "19632": "infeasible", + "19633": "infeasible", + "19634": "failure", + "19635": "failure", + "19636": "failure", + "19637": "infeasible", + "19638": "failure", + "19639": "failure", + "19640": "failure", + "19641": "failure", + "19642": "failure", + "19643": "failure", + "19644": "failure", + "19645": "failure", + "19646": "failure", + "19647": "infeasible", + "19648": "infeasible", + "19649": "failure", + "19650": "failure", + "19651": "failure", + "19652": "failure", + "19653": "failure", + "19654": "failure", + "19655": "failure", + "19656": "failure", + "19657": "infeasible", + "19658": "failure", + "19659": "failure", + "19660": "infeasible", + "19661": "failure", + "19662": "successful", + "19663": "failure", + "19664": "failure", + "19665": "failure", + "19666": "failure", + "19667": "failure", + "19668": "failure", + "19669": "successful", + "19670": "failure", + "19671": "failure", + "19672": "failure", + "19673": "failure", + "19674": "failure", + "19675": "failure", + "19676": "failure", + "19677": "successful", + "19678": "failure", + "19679": "failure", + "19680": "failure", + "19681": "failure", + "19682": "failure", + "19683": "failure", + "19684": "infeasible", + "19685": "failure", + "19686": "failure", + "19687": "failure", + "19688": "failure", + "19689": "failure", + "19690": "failure", + "19691": "failure", + "19692": "failure", + "19693": "failure", + "19694": "successful", + "19695": "failure", + "19696": "failure", + "19697": "failure", + "19698": "failure", + "19699": "failure", + "19700": "failure", + "19701": "failure", + "19702": "failure", + "19703": "failure", + "19704": "failure", + "19705": "failure", + "19706": "failure", + "19707": "failure", + "19708": "failure", + "19709": "failure", + "19710": "failure", + "19711": "failure", + "19712": "infeasible", + "19713": "failure", + "19714": "failure", + "19715": "successful", + "19716": "successful", + "19717": "failure", + "19718": "failure", + "19719": "infeasible", + "19720": "failure", + "19721": "failure", + "19722": "infeasible", + "19723": "failure", + "19724": "failure", + "19725": "failure", + "19726": "failure", + "19727": "successful", + "19728": "failure", + "19729": "successful", + "19730": "failure", + "19731": "failure", + "19732": "failure", + "19733": "failure", + "19734": "infeasible", + "19735": "failure", + "19736": "failure", + "19737": "failure", + "19738": "failure", + "19739": "infeasible", + "19740": "failure", + "19741": "failure", + "19742": "failure", + "19743": "failure", + "19744": "failure", + "19745": "failure", + "19746": "failure", + "19747": "failure", + "19748": "successful", + "19749": "failure", + "19750": "failure", + "19751": "failure", + "19752": "failure", + "19753": "failure", + "19754": "successful", + "19755": "failure", + "19756": "failure", + "19757": "failure", + "19758": "failure", + "19759": "infeasible", + "19760": "failure", + "19761": "failure", + "19762": "failure", + "19763": "failure", + "19764": "failure", + "19765": "failure", + "19766": "infeasible", + "19767": "failure", + "19768": "infeasible", + "19769": "failure", + "19770": "failure", + "19771": "infeasible", + "19772": "failure", + "19773": "failure", + "19774": "successful", + "19775": "failure", + "19776": "failure", + "19777": "infeasible", + "19778": "failure", + "19779": "failure", + "19780": "failure", + "19781": "infeasible", + "19782": "failure", + "19783": "successful", + "19784": "failure", + "19785": "failure", + "19786": "infeasible", + "19787": "failure", + "19788": "failure", + "19789": "failure", + "19790": "failure", + "19791": "failure", + "19792": "failure", + "19793": "failure", + "19794": "failure", + "19795": "failure", + "19796": "failure", + "19797": "failure", + "19798": "failure", + "19799": "failure", + "19800": "infeasible", + "19801": "failure", + "19802": "failure", + "19803": "failure", + "19804": "infeasible", + "19805": "successful", + "19806": "failure", + "19807": "failure", + "19808": "failure", + "19809": "failure", + "19810": "failure", + "19811": "infeasible", + "19812": "failure", + "19813": "failure", + "19814": "failure", + "19815": "failure", + "19816": "infeasible", + "19817": "failure", + "19818": "failure", + "19819": "infeasible", + "19820": "failure", + "19821": "failure", + "19822": "failure", + "19823": "infeasible", + "19824": "failure", + "19825": "failure", + "19826": "failure", + "19827": "failure", + "19828": "failure", + "19829": "failure", + "19830": "failure", + "19831": "failure", + "19832": "failure", + "19833": "failure", + "19834": "failure", + "19835": "infeasible", + "19836": "failure", + "19837": "failure", + "19838": "failure", + "19839": "failure", + "19840": "infeasible", + "19841": "infeasible", + "19842": "failure", + "19843": "failure", + "19844": "failure", + "19845": "failure", + "19846": "failure", + "19847": "failure", + "19848": "failure", + "19849": "infeasible", + "19850": "failure", + "19851": "failure", + "19852": "failure", + "19853": "failure", + "19854": "failure", + "19855": "successful", + "19856": "failure", + "19857": "failure", + "19858": "successful", + "19859": "failure", + "19860": "failure", + "19861": "failure", + "19862": "failure", + "19863": "failure", + "19864": "failure", + "19865": "failure", + "19866": "failure", + "19867": "failure", + "19868": "failure", + "19869": "failure", + "19870": "failure", + "19871": "failure", + "19872": "infeasible", + "19873": "successful", + "19874": "successful", + "19875": "successful", + "19876": "failure", + "19877": "successful", + "19878": "failure", + "19879": "failure", + "19880": "failure", + "19881": "failure", + "19882": "failure", + "19883": "failure", + "19884": "failure", + "19885": "failure", + "19886": "failure", + "19887": "infeasible", + "19888": "failure", + "19889": "failure", + "19890": "failure", + "19891": "failure", + "19892": "failure", + "19893": "failure", + "19894": "failure", + "19895": "failure", + "19896": "failure", + "19897": "failure", + "19898": "failure", + "19899": "failure", + "19900": "successful", + "19901": "failure", + "19902": "failure", + "19903": "infeasible", + "19904": "failure", + "19905": "failure", + "19906": "failure", + "19907": "failure", + "19908": "successful", + "19909": "failure", + "19910": "infeasible", + "19911": "failure", + "19912": "successful", + "19913": "failure", + "19914": "failure", + "19915": "failure", + "19916": "failure", + "19917": "infeasible", + "19918": "failure", + "19919": "successful", + "19920": "failure", + "19921": "failure", + "19922": "successful", + "19923": "failure", + "19924": "failure", + "19925": "failure", + "19926": "failure", + "19927": "failure", + "19928": "infeasible", + "19929": "failure", + "19930": "failure", + "19931": "failure", + "19932": "failure", + "19933": "successful", + "19934": "failure", + "19935": "infeasible", + "19936": "failure", + "19937": "failure", + "19938": "successful", + "19939": "failure", + "19940": "failure", + "19941": "failure", + "19942": "failure", + "19943": "failure", + "19944": "failure", + "19945": "failure", + "19946": "successful", + "19947": "failure", + "19948": "failure", + "19949": "failure", + "19950": "successful", + "19951": "failure", + "19952": "successful", + "19953": "failure", + "19954": "failure", + "19955": "infeasible", + "19956": "failure", + "19957": "failure", + "19958": "failure", + "19959": "failure", + "19960": "failure", + "19961": "failure", + "19962": "failure", + "19963": "failure", + "19964": "failure", + "19965": "failure", + "19966": "failure", + "19967": "failure", + "19968": "failure", + "19969": "failure", + "19970": "successful", + "19971": "failure", + "19972": "successful", + "19973": "failure", + "19974": "failure", + "19975": "failure", + "19976": "failure", + "19977": "failure", + "19978": "failure", + "19979": "failure", + "19980": "failure", + "19981": "failure", + "19982": "failure", + "19983": "failure", + "19984": "failure", + "19985": "failure", + "19986": "failure", + "19987": "successful", + "19988": "failure", + "19989": "failure", + "19990": "infeasible", + "19991": "failure", + "19992": "failure", + "19993": "infeasible", + "19994": "failure", + "19995": "failure", + "19996": "failure", + "19997": "successful", + "19998": "failure", + "19999": "failure", + "20000": "failure", + "20001": "failure", + "20002": "failure", + "20003": "failure", + "20004": "failure", + "20005": "failure", + "20006": "failure", + "20007": "failure", + "20008": "failure", + "20009": "failure", + "20010": "failure", + "20011": "infeasible", + "20012": "failure", + "20013": "failure", + "20014": "failure", + "20015": "failure", + "20016": "already_complete", + "20017": "failure", + "20018": "failure", + "20019": "infeasible", + "20020": "failure", + "20021": "failure", + "20022": "failure", + "20023": "failure", + "20024": "failure", + "20025": "successful", + "20026": "failure", + "20027": "failure", + "20028": "failure", + "20029": "failure", + "20030": "failure", + "20031": "failure", + "20032": "successful", + "20033": "failure", + "20034": "failure", + "20035": "failure", + "20036": "failure", + "20037": "failure", + "20038": "failure", + "20039": "successful", + "20040": "successful", + "20041": "failure", + "20042": "failure", + "20043": "failure", + "20044": "failure", + "20045": "successful", + "20046": "failure", + "20047": "failure", + "20048": "failure", + "20049": "failure", + "20050": "failure", + "20051": "infeasible", + "20052": "failure", + "20053": "failure", + "20054": "failure", + "20055": "infeasible", + "20056": "failure", + "20057": "failure", + "20058": "failure", + "20059": "failure", + "20060": "failure", + "20061": "infeasible", + "20062": "failure", + "20063": "failure", + "20064": "failure", + "20065": "failure", + "20066": "failure", + "20067": "failure", + "20068": "failure", + "20069": "failure", + "20070": "failure", + "20071": "failure", + "20072": "failure", + "20073": "failure", + "20074": "failure", + "20075": "failure", + "20076": "failure", + "20077": "failure", + "20078": "failure", + "20079": "failure", + "20080": "failure", + "20081": "failure", + "20082": "failure", + "20083": "infeasible", + "20084": "infeasible", + "20085": "failure", + "20086": "failure", + "20087": "failure", + "20088": "successful", + "20089": "failure", + "20090": "failure", + "20091": "failure", + "20092": "failure", + "20093": "failure", + "20094": "failure", + "20095": "failure", + "20096": "failure", + "20097": "failure", + "20098": "failure", + "20099": "failure", + "20100": "failure", + "20101": "successful", + "20102": "failure", + "20103": "successful", + "20104": "failure", + "20105": "failure", + "20106": "failure", + "20107": "failure", + "20108": "failure", + "20109": "successful", + "20110": "failure", + "20111": "successful", + "20112": "failure", + "20113": "failure", + "20114": "failure", + "20115": "infeasible", + "20116": "failure", + "20117": "failure", + "20118": "failure", + "20119": "failure", + "20120": "failure", + "20121": "failure", + "20122": "infeasible", + "20123": "failure", + "20124": "infeasible", + "20125": "failure", + "20126": "failure", + "20127": "failure", + "20128": "successful", + "20129": "successful", + "20130": "failure", + "20131": "failure", + "20132": "failure", + "20133": "failure", + "20134": "failure", + "20135": "failure", + "20136": "successful", + "20137": "failure", + "20138": "failure", + "20139": "failure", + "20140": "failure", + "20141": "failure", + "20142": "infeasible", + "20143": "infeasible", + "20144": "failure", + "20145": "failure", + "20146": "failure", + "20147": "failure", + "20148": "failure", + "20149": "failure", + "20150": "failure", + "20151": "failure", + "20152": "infeasible", + "20153": "failure", + "20154": "failure", + "20155": "failure", + "20156": "failure", + "20157": "failure", + "20158": "failure", + "20159": "failure", + "20160": "failure", + "20161": "failure", + "20162": "successful", + "20163": "failure", + "20164": "infeasible", + "20165": "successful", + "20166": "failure", + "20167": "failure", + "20168": "failure", + "20169": "failure", + "20170": "infeasible", + "20171": "failure", + "20172": "failure", + "20173": "successful", + "20174": "failure", + "20175": "infeasible", + "20176": "infeasible", + "20177": "infeasible", + "20178": "infeasible", + "20179": "infeasible", + "20180": "failure", + "20181": "failure", + "20182": "failure", + "20183": "infeasible", + "20184": "failure", + "20185": "failure", + "20186": "failure", + "20187": "failure", + "20188": "failure", + "20189": "infeasible", + "20190": "failure", + "20191": "failure", + "20192": "failure", + "20193": "failure", + "20194": "infeasible", + "20195": "failure", + "20196": "infeasible", + "20197": "failure", + "20198": "failure", + "20199": "failure", + "20200": "successful", + "20201": "failure", + "20202": "failure", + "20203": "failure", + "20204": "failure", + "20205": "failure", + "20206": "failure", + "20207": "failure", + "20208": "infeasible", + "20209": "successful", + "20210": "infeasible", + "20211": "failure", + "20212": "successful", + "20213": "successful", + "20214": "successful", + "20215": "failure", + "20216": "failure", + "20217": "failure", + "20218": "failure", + "20219": "successful", + "20220": "failure", + "20221": "failure", + "20222": "failure", + "20223": "failure", + "20224": "failure", + "20225": "failure", + "20226": "failure", + "20227": "failure", + "20228": "failure", + "20229": "infeasible", + "20230": "successful", + "20231": "successful", + "20232": "successful", + "20233": "failure", + "20234": "successful", + "20235": "failure", + "20236": "failure", + "20237": "failure", + "20238": "failure", + "20239": "failure", + "20240": "successful", + "20241": "failure", + "20242": "failure", + "20243": "successful", + "20244": "failure", + "20245": "infeasible", + "20246": "failure", + "20247": "failure", + "20248": "failure", + "20249": "failure", + "20250": "failure", + "20251": "failure", + "20252": "failure", + "20253": "successful", + "20254": "infeasible", + "20255": "failure", + "20256": "failure", + "20257": "failure", + "20258": "successful", + "20259": "failure", + "20260": "infeasible", + "20261": "failure", + "20262": "failure", + "20263": "failure", + "20264": "failure", + "20265": "failure", + "20266": "failure", + "20267": "failure", + "20268": "failure", + "20269": "failure", + "20270": "successful", + "20271": "failure", + "20272": "failure", + "20273": "failure", + "20274": "failure", + "20275": "failure", + "20276": "failure", + "20277": "failure", + "20278": "infeasible", + "20279": "failure", + "20280": "infeasible", + "20281": "successful", + "20282": "failure", + "20283": "failure", + "20284": "failure", + "20285": "failure", + "20286": "successful", + "20287": "failure", + "20288": "failure", + "20289": "failure", + "20290": "failure", + "20291": "failure", + "20292": "failure", + "20293": "failure", + "20294": "failure", + "20295": "failure", + "20296": "failure", + "20297": "failure", + "20298": "failure", + "20299": "successful", + "20300": "failure", + "20301": "failure", + "20302": "failure", + "20303": "failure", + "20304": "failure", + "20305": "already_complete", + "20306": "infeasible", + "20307": "failure", + "20308": "failure", + "20309": "failure", + "20310": "successful", + "20311": "failure", + "20312": "successful", + "20313": "failure", + "20314": "failure", + "20315": "failure", + "20316": "failure", + "20317": "successful", + "20318": "failure", + "20319": "failure", + "20320": "infeasible", + "20321": "failure", + "20322": "infeasible", + "20323": "failure", + "20324": "failure", + "20325": "infeasible", + "20326": "failure", + "20327": "failure", + "20328": "failure", + "20329": "failure", + "20330": "successful", + "20331": "failure", + "20332": "failure", + "20333": "failure", + "20334": "failure", + "20335": "failure", + "20336": "failure", + "20337": "successful", + "20338": "infeasible", + "20339": "failure", + "20340": "failure", + "20341": "failure", + "20342": "failure", + "20343": "failure", + "20344": "successful", + "20345": "already_complete", + "20346": "infeasible", + "20347": "failure", + "20348": "failure", + "20349": "failure", + "20350": "failure", + "20351": "failure", + "20352": "failure", + "20353": "failure", + "20354": "failure", + "20355": "failure", + "20356": "failure", + "20357": "failure", + "20358": "infeasible", + "20359": "failure", + "20360": "infeasible", + "20361": "failure", + "20362": "failure", + "20363": "failure", + "20364": "failure", + "20365": "failure", + "20366": "successful", + "20367": "successful", + "20368": "infeasible", + "20369": "failure", + "20370": "failure", + "20371": "failure", + "20372": "failure", + "20373": "failure", + "20374": "failure", + "20375": "failure", + "20376": "failure", + "20377": "successful", + "20378": "infeasible", + "20379": "failure", + "20380": "failure", + "20381": "successful", + "20382": "failure", + "20383": "failure", + "20384": "failure", + "20385": "successful", + "20386": "failure", + "20387": "failure", + "20388": "successful", + "20389": "failure", + "20390": "failure", + "20391": "failure", + "20392": "failure", + "20393": "failure", + "20394": "successful", + "20395": "failure", + "20396": "failure", + "20397": "infeasible", + "20398": "failure", + "20399": "failure", + "20400": "failure", + "20401": "failure", + "20402": "failure", + "20403": "failure", + "20404": "failure", + "20405": "failure", + "20406": "failure", + "20407": "infeasible", + "20408": "failure", + "20409": "failure", + "20410": "failure", + "20411": "failure", + "20412": "failure", + "20413": "failure", + "20414": "failure", + "20415": "failure", + "20416": "failure", + "20417": "failure", + "20418": "successful", + "20419": "failure", + "20420": "failure", + "20421": "failure", + "20422": "failure", + "20423": "failure", + "20424": "failure", + "20425": "failure", + "20426": "failure", + "20427": "infeasible", + "20428": "failure", + "20429": "failure", + "20430": "failure", + "20431": "failure", + "20432": "failure", + "20433": "failure", + "20434": "successful", + "20435": "failure", + "20436": "failure", + "20437": "failure", + "20438": "failure", + "20439": "failure", + "20440": "failure", + "20441": "infeasible", + "20442": "failure", + "20443": "failure", + "20444": "failure", + "20445": "failure", + "20446": "infeasible", + "20447": "failure", + "20448": "successful", + "20449": "failure", + "20450": "failure", + "20451": "failure", + "20452": "successful", + "20453": "failure", + "20454": "infeasible", + "20455": "failure", + "20456": "failure", + "20457": "successful", + "20458": "failure", + "20459": "failure", + "20460": "failure", + "20461": "failure", + "20462": "failure", + "20463": "infeasible", + "20464": "failure", + "20465": "failure", + "20466": "failure", + "20467": "successful", + "20468": "failure", + "20469": "failure", + "20470": "failure", + "20471": "failure", + "20472": "failure", + "20473": "failure", + "20474": "successful", + "20475": "failure", + "20476": "failure", + "20477": "failure", + "20478": "successful", + "20479": "failure", + "20480": "failure", + "20481": "successful", + "20482": "failure", + "20483": "failure", + "20484": "failure", + "20485": "failure", + "20486": "failure", + "20487": "failure", + "20488": "failure", + "20489": "failure", + "20490": "failure", + "20491": "failure", + "20492": "failure", + "20493": "failure", + "20494": "failure", + "20495": "failure", + "20496": "failure", + "20497": "failure", + "20498": "failure", + "20499": "failure", + "20500": "failure", + "20501": "failure", + "20502": "successful", + "20503": "failure", + "20504": "failure", + "20505": "successful", + "20506": "infeasible", + "20507": "failure", + "20508": "failure", + "20509": "failure", + "20510": "failure", + "20511": "failure", + "20512": "successful", + "20513": "failure", + "20514": "failure", + "20515": "failure", + "20516": "failure", + "20517": "failure", + "20518": "failure", + "20519": "failure", + "20520": "failure", + "20521": "failure", + "20522": "successful", + "20523": "failure", + "20524": "successful", + "20525": "failure", + "20526": "failure", + "20527": "failure", + "20528": "failure", + "20529": "failure", + "20530": "successful", + "20531": "failure", + "20532": "failure", + "20533": "failure", + "20534": "failure", + "20535": "failure", + "20536": "failure", + "20537": "already_complete", + "20538": "failure", + "20539": "failure", + "20540": "failure", + "20541": "failure", + "20542": "failure", + "20543": "failure", + "20544": "failure", + "20545": "failure", + "20546": "failure", + "20547": "failure", + "20548": "failure", + "20549": "failure", + "20550": "failure", + "20551": "failure", + "20552": "failure", + "20553": "failure", + "20554": "failure", + "20555": "failure", + "20556": "failure", + "20557": "failure", + "20558": "failure", + "20559": "infeasible", + "20560": "failure", + "20561": "already_complete", + "20562": "failure", + "20563": "failure", + "20564": "successful", + "20565": "failure", + "20566": "failure", + "20567": "failure", + "20568": "failure", + "20569": "failure", + "20570": "failure", + "20571": "already_complete", + "20572": "failure", + "20573": "failure", + "20574": "failure", + "20575": "failure", + "20576": "failure", + "20577": "failure", + "20578": "failure", + "20579": "failure", + "20580": "successful", + "20581": "failure", + "20582": "failure", + "20583": "infeasible", + "20584": "failure", + "20585": "failure", + "20586": "failure", + "20587": "successful", + "20588": "failure", + "20589": "failure", + "20590": "failure", + "20591": "failure", + "20592": "failure", + "20593": "failure", + "20594": "failure", + "20595": "successful", + "20596": "failure", + "20597": "failure", + "20598": "failure", + "20599": "failure", + "20600": "failure", + "20601": "failure", + "20602": "infeasible", + "20603": "failure", + "20604": "failure", + "20605": "successful", + "20606": "infeasible", + "20607": "infeasible", + "20608": "failure", + "20609": "failure", + "20610": "infeasible", + "20611": "failure", + "20612": "successful", + "20613": "failure", + "20614": "failure", + "20615": "failure", + "20616": "failure", + "20617": "failure", + "20618": "failure", + "20619": "failure", + "20620": "failure", + "20621": "failure", + "20622": "successful", + "20623": "failure", + "20624": "failure", + "20625": "failure", + "20626": "failure", + "20627": "failure", + "20628": "failure", + "20629": "failure", + "20630": "failure", + "20631": "failure", + "20632": "failure", + "20633": "failure", + "20634": "failure", + "20635": "failure", + "20636": "infeasible", + "20637": "failure", + "20638": "failure", + "20639": "failure", + "20640": "failure", + "20641": "successful", + "20642": "failure", + "20643": "successful", + "20644": "failure", + "20645": "successful", + "20646": "successful", + "20647": "failure", + "20648": "failure", + "20649": "failure", + "20650": "successful", + "20651": "failure", + "20652": "failure", + "20653": "successful", + "20654": "failure", + "20655": "failure", + "20656": "failure", + "20657": "failure", + "20658": "failure", + "20659": "successful", + "20660": "successful", + "20661": "failure", + "20662": "infeasible", + "20663": "infeasible", + "20664": "failure", + "20665": "failure", + "20666": "failure", + "20667": "infeasible", + "20668": "infeasible", + "20669": "failure", + "20670": "failure", + "20671": "failure", + "20672": "failure", + "20673": "failure", + "20674": "successful", + "20675": "infeasible", + "20676": "failure", + "20677": "failure", + "20678": "failure", + "20679": "failure", + "20680": "successful", + "20681": "failure", + "20682": "failure", + "20683": "failure", + "20684": "failure", + "20685": "failure", + "20686": "infeasible", + "20687": "failure", + "20688": "failure", + "20689": "failure", + "20690": "failure", + "20691": "successful", + "20692": "failure", + "20693": "failure", + "20694": "successful", + "20695": "failure", + "20696": "failure", + "20697": "failure", + "20698": "failure", + "20699": "failure", + "20700": "failure", + "20701": "failure", + "20702": "infeasible", + "20703": "failure", + "20704": "infeasible", + "20705": "failure", + "20706": "failure", + "20707": "failure", + "20708": "infeasible", + "20709": "failure", + "20710": "successful", + "20711": "infeasible", + "20712": "failure", + "20713": "failure", + "20714": "failure", + "20715": "already_complete", + "20716": "infeasible", + "20717": "failure", + "20718": "failure", + "20719": "failure", + "20720": "failure", + "20721": "failure", + "20722": "failure", + "20723": "failure", + "20724": "failure", + "20725": "infeasible", + "20726": "failure", + "20727": "infeasible", + "20728": "failure", + "20729": "failure", + "20730": "failure", + "20731": "infeasible", + "20732": "failure", + "20733": "failure", + "20734": "failure", + "20735": "failure", + "20736": "successful", + "20737": "failure", + "20738": "failure", + "20739": "failure", + "20740": "failure", + "20741": "failure", + "20742": "failure", + "20743": "infeasible", + "20744": "failure", + "20745": "infeasible", + "20746": "failure", + "20747": "failure", + "20748": "failure", + "20749": "failure", + "20750": "successful", + "20751": "successful", + "20752": "failure", + "20753": "failure", + "20754": "failure", + "20755": "infeasible", + "20756": "failure", + "20757": "infeasible", + "20758": "failure", + "20759": "successful", + "20760": "failure", + "20761": "failure", + "20762": "failure", + "20763": "failure", + "20764": "infeasible", + "20765": "successful", + "20766": "failure", + "20767": "failure", + "20768": "successful", + "20769": "infeasible", + "20770": "failure", + "20771": "failure", + "20772": "failure", + "20773": "failure", + "20774": "infeasible", + "20775": "failure", + "20776": "failure", + "20777": "infeasible", + "20778": "failure", + "20779": "failure", + "20780": "successful", + "20781": "failure", + "20782": "infeasible", + "20783": "failure", + "20784": "failure", + "20785": "failure", + "20786": "failure", + "20787": "failure", + "20788": "failure", + "20789": "failure", + "20790": "failure", + "20791": "failure", + "20792": "infeasible", + "20793": "failure", + "20794": "failure", + "20795": "failure", + "20796": "failure", + "20797": "failure", + "20798": "infeasible", + "20799": "failure", + "20800": "infeasible", + "20801": "failure", + "20802": "failure", + "20803": "failure", + "20804": "failure", + "20805": "failure", + "20806": "failure", + "20807": "failure", + "20808": "failure", + "20809": "failure", + "20810": "failure", + "20811": "failure", + "20812": "failure", + "20813": "infeasible", + "20814": "failure", + "20815": "failure", + "20816": "failure", + "20817": "infeasible", + "20818": "failure", + "20819": "failure", + "20820": "infeasible", + "20821": "failure", + "20822": "failure", + "20823": "failure", + "20824": "failure", + "20825": "failure", + "20826": "failure", + "20827": "failure", + "20828": "infeasible", + "20829": "failure", + "20830": "failure", + "20831": "failure", + "20832": "failure", + "20833": "failure", + "20834": "failure", + "20835": "failure", + "20836": "failure", + "20837": "failure", + "20838": "failure", + "20839": "failure", + "20840": "failure", + "20841": "failure", + "20842": "successful", + "20843": "failure", + "20844": "failure", + "20845": "failure", + "20846": "failure", + "20847": "infeasible", + "20848": "already_complete", + "20849": "failure", + "20850": "failure", + "20851": "failure", + "20852": "failure", + "20853": "failure", + "20854": "infeasible", + "20855": "failure", + "20856": "failure", + "20857": "failure", + "20858": "failure", + "20859": "failure", + "20860": "successful", + "20861": "failure", + "20862": "failure", + "20863": "failure", + "20864": "successful", + "20865": "failure", + "20866": "failure", + "20867": "infeasible", + "20868": "failure", + "20869": "failure", + "20870": "failure", + "20871": "failure", + "20872": "infeasible", + "20873": "failure", + "20874": "successful", + "20875": "failure", + "20876": "failure", + "20877": "failure", + "20878": "failure", + "20879": "infeasible", + "20880": "successful", + "20881": "failure", + "20882": "infeasible", + "20883": "infeasible", + "20884": "failure", + "20885": "failure", + "20886": "failure", + "20887": "failure", + "20888": "failure", + "20889": "failure", + "20890": "failure", + "20891": "failure", + "20892": "failure", + "20893": "failure", + "20894": "infeasible", + "20895": "failure", + "20896": "failure", + "20897": "failure", + "20898": "failure", + "20899": "successful", + "20900": "failure", + "20901": "failure", + "20902": "failure", + "20903": "failure", + "20904": "failure", + "20905": "successful", + "20906": "infeasible", + "20907": "successful", + "20908": "failure", + "20909": "failure", + "20910": "failure", + "20911": "failure", + "20912": "failure", + "20913": "failure", + "20914": "failure", + "20915": "infeasible", + "20916": "failure", + "20917": "failure", + "20918": "infeasible", + "20919": "failure", + "20920": "failure", + "20921": "infeasible", + "20922": "failure", + "20923": "failure", + "20924": "failure", + "20925": "failure", + "20926": "successful", + "20927": "failure", + "20928": "failure", + "20929": "failure", + "20930": "failure", + "20931": "failure", + "20932": "failure", + "20933": "failure", + "20934": "infeasible", + "20935": "failure", + "20936": "failure", + "20937": "failure", + "20938": "infeasible", + "20939": "failure", + "20940": "infeasible", + "20941": "failure", + "20942": "failure", + "20943": "failure", + "20944": "failure", + "20945": "failure", + "20946": "failure", + "20947": "failure", + "20948": "failure", + "20949": "failure", + "20950": "failure", + "20951": "failure", + "20952": "infeasible", + "20953": "failure", + "20954": "failure", + "20955": "failure", + "20956": "failure", + "20957": "failure", + "20958": "failure", + "20959": "failure", + "20960": "failure", + "20961": "failure", + "20962": "failure", + "20963": "failure", + "20964": "failure", + "20965": "failure", + "20966": "successful", + "20967": "failure", + "20968": "failure", + "20969": "failure", + "20970": "failure", + "20971": "failure", + "20972": "failure", + "20973": "failure", + "20974": "failure", + "20975": "failure", + "20976": "failure", + "20977": "failure", + "20978": "failure", + "20979": "failure", + "20980": "failure", + "20981": "failure", + "20982": "failure", + "20983": "failure", + "20984": "failure", + "20985": "successful", + "20986": "failure", + "20987": "failure", + "20988": "failure", + "20989": "failure", + "20990": "failure", + "20991": "failure", + "20992": "failure", + "20993": "failure", + "20994": "failure", + "20995": "failure", + "20996": "successful", + "20997": "failure", + "20998": "failure", + "20999": "failure", + "21000": "failure", + "21001": "failure", + "21002": "failure", + "21003": "failure", + "21004": "failure", + "21005": "failure", + "21006": "failure", + "21007": "failure", + "21008": "failure", + "21009": "failure", + "21010": "failure", + "21011": "successful", + "21012": "failure", + "21013": "infeasible", + "21014": "failure", + "21015": "failure", + "21016": "failure", + "21017": "failure", + "21018": "failure", + "21019": "failure", + "21020": "failure", + "21021": "failure", + "21022": "failure", + "21023": "failure", + "21024": "failure", + "21025": "failure", + "21026": "failure", + "21027": "failure", + "21028": "successful", + "21029": "failure", + "21030": "infeasible", + "21031": "failure", + "21032": "failure", + "21033": "successful", + "21034": "successful", + "21035": "failure", + "21036": "failure", + "21037": "failure", + "21038": "failure", + "21039": "failure", + "21040": "failure", + "21041": "failure", + "21042": "failure", + "21043": "failure", + "21044": "failure", + "21045": "failure", + "21046": "failure", + "21047": "failure", + "21048": "failure", + "21049": "failure", + "21050": "failure", + "21051": "infeasible", + "21052": "failure", + "21053": "failure", + "21054": "failure", + "21055": "failure", + "21056": "infeasible", + "21057": "failure", + "21058": "failure", + "21059": "failure", + "21060": "failure", + "21061": "failure", + "21062": "failure", + "21063": "failure", + "21064": "failure", + "21065": "failure", + "21066": "failure", + "21067": "failure", + "21068": "already_complete", + "21069": "failure", + "21070": "failure", + "21071": "failure", + "21072": "successful", + "21073": "failure", + "21074": "successful", + "21075": "failure", + "21076": "failure", + "21077": "failure", + "21078": "failure", + "21079": "failure", + "21080": "failure", + "21081": "failure", + "21082": "failure", + "21083": "failure", + "21084": "infeasible", + "21085": "failure", + "21086": "failure", + "21087": "failure", + "21088": "failure", + "21089": "failure", + "21090": "failure", + "21091": "failure", + "21092": "failure", + "21093": "failure", + "21094": "successful", + "21095": "failure", + "21096": "failure", + "21097": "infeasible", + "21098": "failure", + "21099": "infeasible", + "21100": "failure", + "21101": "failure", + "21102": "failure", + "21103": "infeasible", + "21104": "failure", + "21105": "failure", + "21106": "failure", + "21107": "failure", + "21108": "failure", + "21109": "infeasible", + "21110": "failure", + "21111": "failure", + "21112": "failure", + "21113": "failure", + "21114": "failure", + "21115": "failure", + "21116": "failure", + "21117": "failure", + "21118": "failure", + "21119": "failure", + "21120": "failure", + "21121": "failure", + "21122": "successful", + "21123": "failure", + "21124": "failure", + "21125": "failure", + "21126": "failure", + "21127": "failure", + "21128": "failure", + "21129": "failure", + "21130": "failure", + "21131": "failure", + "21132": "failure", + "21133": "failure", + "21134": "successful", + "21135": "failure", + "21136": "failure", + "21137": "failure", + "21138": "failure", + "21139": "successful", + "21140": "infeasible", + "21141": "failure", + "21142": "failure", + "21143": "failure", + "21144": "successful", + "21145": "failure", + "21146": "failure", + "21147": "failure", + "21148": "failure", + "21149": "failure", + "21150": "already_complete", + "21151": "successful", + "21152": "failure", + "21153": "failure", + "21154": "failure", + "21155": "successful", + "21156": "failure", + "21157": "failure", + "21158": "failure", + "21159": "successful", + "21160": "failure", + "21161": "failure", + "21162": "failure", + "21163": "failure", + "21164": "successful", + "21165": "failure", + "21166": "failure", + "21167": "failure", + "21168": "already_complete", + "21169": "failure", + "21170": "failure", + "21171": "infeasible", + "21172": "failure", + "21173": "failure", + "21174": "failure", + "21175": "failure", + "21176": "infeasible", + "21177": "failure", + "21178": "failure", + "21179": "failure", + "21180": "infeasible", + "21181": "failure", + "21182": "successful", + "21183": "failure", + "21184": "failure", + "21185": "failure", + "21186": "failure", + "21187": "failure", + "21188": "failure", + "21189": "failure", + "21190": "infeasible", + "21191": "infeasible", + "21192": "failure", + "21193": "successful", + "21194": "failure", + "21195": "failure", + "21196": "failure", + "21197": "failure", + "21198": "failure", + "21199": "failure", + "21200": "failure", + "21201": "failure", + "21202": "failure", + "21203": "failure", + "21204": "failure", + "21205": "failure", + "21206": "failure", + "21207": "successful", + "21208": "failure", + "21209": "failure", + "21210": "failure", + "21211": "successful", + "21212": "infeasible", + "21213": "failure", + "21214": "infeasible", + "21215": "failure", + "21216": "failure", + "21217": "failure", + "21218": "already_complete", + "21219": "failure", + "21220": "failure", + "21221": "failure", + "21222": "failure", + "21223": "failure", + "21224": "successful", + "21225": "failure", + "21226": "failure", + "21227": "infeasible", + "21228": "successful", + "21229": "failure", + "21230": "failure", + "21231": "failure", + "21232": "infeasible", + "21233": "failure", + "21234": "failure", + "21235": "failure", + "21236": "failure", + "21237": "failure", + "21238": "failure", + "21239": "failure", + "21240": "failure", + "21241": "failure", + "21242": "failure", + "21243": "failure", + "21244": "failure", + "21245": "failure", + "21246": "failure", + "21247": "failure", + "21248": "failure", + "21249": "failure", + "21250": "successful", + "21251": "failure", + "21252": "successful", + "21253": "failure", + "21254": "failure", + "21255": "failure", + "21256": "failure", + "21257": "failure", + "21258": "failure", + "21259": "failure", + "21260": "failure", + "21261": "failure", + "21262": "infeasible", + "21263": "failure", + "21264": "failure", + "21265": "successful", + "21266": "successful", + "21267": "successful", + "21268": "infeasible", + "21269": "failure", + "21270": "infeasible", + "21271": "failure", + "21272": "failure", + "21273": "failure", + "21274": "failure", + "21275": "failure", + "21276": "failure", + "21277": "failure", + "21278": "failure", + "21279": "infeasible", + "21280": "failure", + "21281": "failure", + "21282": "failure", + "21283": "failure", + "21284": "successful", + "21285": "failure", + "21286": "failure", + "21287": "already_complete", + "21288": "failure", + "21289": "successful", + "21290": "failure", + "21291": "failure", + "21292": "failure", + "21293": "failure", + "21294": "failure", + "21295": "failure", + "21296": "failure", + "21297": "failure", + "21298": "failure", + "21299": "failure", + "21300": "failure", + "21301": "failure", + "21302": "failure", + "21303": "failure", + "21304": "failure", + "21305": "failure", + "21306": "failure", + "21307": "failure", + "21308": "infeasible", + "21309": "failure", + "21310": "failure", + "21311": "failure", + "21312": "failure", + "21313": "successful", + "21314": "failure", + "21315": "failure", + "21316": "failure", + "21317": "failure", + "21318": "failure", + "21319": "failure", + "21320": "successful", + "21321": "successful", + "21322": "failure", + "21323": "failure", + "21324": "failure", + "21325": "failure", + "21326": "failure", + "21327": "failure", + "21328": "successful", + "21329": "failure", + "21330": "infeasible", + "21331": "successful", + "21332": "failure", + "21333": "successful", + "21334": "successful", + "21335": "failure", + "21336": "failure", + "21337": "successful", + "21338": "infeasible", + "21339": "failure", + "21340": "failure", + "21341": "failure", + "21342": "failure", + "21343": "failure", + "21344": "failure", + "21345": "failure", + "21346": "failure", + "21347": "infeasible", + "21348": "failure", + "21349": "failure", + "21350": "failure", + "21351": "failure", + "21352": "failure", + "21353": "failure", + "21354": "failure", + "21355": "successful", + "21356": "infeasible", + "21357": "successful", + "21358": "failure", + "21359": "failure", + "21360": "infeasible", + "21361": "successful", + "21362": "failure", + "21363": "failure", + "21364": "already_complete", + "21365": "failure", + "21366": "infeasible", + "21367": "successful", + "21368": "infeasible", + "21369": "failure", + "21370": "failure", + "21371": "successful", + "21372": "failure", + "21373": "failure", + "21374": "failure", + "21375": "failure", + "21376": "failure", + "21377": "infeasible", + "21378": "failure", + "21379": "infeasible", + "21380": "failure", + "21381": "failure", + "21382": "failure", + "21383": "infeasible", + "21384": "failure", + "21385": "failure", + "21386": "infeasible", + "21387": "failure", + "21388": "failure", + "21389": "successful", + "21390": "failure", + "21391": "infeasible", + "21392": "failure", + "21393": "failure", + "21394": "failure", + "21395": "failure", + "21396": "failure", + "21397": "successful", + "21398": "failure", + "21399": "failure", + "21400": "successful", + "21401": "failure", + "21402": "failure", + "21403": "failure", + "21404": "infeasible", + "21405": "failure", + "21406": "failure", + "21407": "failure", + "21408": "failure", + "21409": "failure", + "21410": "failure", + "21411": "successful", + "21412": "infeasible", + "21413": "failure", + "21414": "failure", + "21415": "failure", + "21416": "failure", + "21417": "failure", + "21418": "failure", + "21419": "failure", + "21420": "failure", + "21421": "failure", + "21422": "infeasible", + "21423": "failure", + "21424": "failure", + "21425": "successful", + "21426": "failure", + "21427": "failure", + "21428": "failure", + "21429": "failure", + "21430": "failure", + "21431": "infeasible", + "21432": "failure", + "21433": "successful", + "21434": "failure", + "21435": "failure", + "21436": "failure", + "21437": "failure", + "21438": "failure", + "21439": "failure", + "21440": "failure", + "21441": "failure", + "21442": "failure", + "21443": "failure", + "21444": "failure", + "21445": "failure", + "21446": "failure", + "21447": "failure", + "21448": "failure", + "21449": "successful", + "21450": "infeasible", + "21451": "infeasible", + "21452": "infeasible", + "21453": "failure", + "21454": "successful", + "21455": "infeasible", + "21456": "failure", + "21457": "failure", + "21458": "failure", + "21459": "failure", + "21460": "failure", + "21461": "failure", + "21462": "failure", + "21463": "failure", + "21464": "failure", + "21465": "failure", + "21466": "failure", + "21467": "failure", + "21468": "failure", + "21469": "failure", + "21470": "failure", + "21471": "failure", + "21472": "failure", + "21473": "infeasible", + "21474": "failure", + "21475": "failure", + "21476": "failure", + "21477": "failure", + "21478": "successful", + "21479": "failure", + "21480": "failure", + "21481": "failure", + "21482": "failure", + "21483": "infeasible", + "21484": "failure", + "21485": "failure", + "21486": "failure", + "21487": "failure", + "21488": "failure", + "21489": "successful", + "21490": "failure", + "21491": "successful", + "21492": "failure", + "21493": "successful", + "21494": "failure", + "21495": "failure", + "21496": "failure", + "21497": "failure", + "21498": "failure", + "21499": "successful", + "21500": "failure", + "21501": "infeasible", + "21502": "failure", + "21503": "failure", + "21504": "failure", + "21505": "failure", + "21506": "failure", + "21507": "failure", + "21508": "failure", + "21509": "failure", + "21510": "failure", + "21511": "failure", + "21512": "infeasible", + "21513": "failure", + "21514": "failure", + "21515": "failure", + "21516": "failure", + "21517": "failure", + "21518": "successful", + "21519": "failure", + "21520": "failure", + "21521": "failure", + "21522": "failure", + "21523": "failure", + "21524": "failure", + "21525": "successful", + "21526": "failure", + "21527": "failure", + "21528": "failure", + "21529": "failure", + "21530": "failure", + "21531": "failure", + "21532": "failure", + "21533": "failure", + "21534": "failure", + "21535": "failure", + "21536": "failure", + "21537": "failure", + "21538": "failure", + "21539": "failure", + "21540": "failure", + "21541": "failure", + "21542": "failure", + "21543": "failure", + "21544": "failure", + "21545": "successful", + "21546": "infeasible", + "21547": "failure", + "21548": "infeasible", + "21549": "failure", + "21550": "successful", + "21551": "failure", + "21552": "failure", + "21553": "failure", + "21554": "failure", + "21555": "failure", + "21556": "failure", + "21557": "infeasible", + "21558": "successful", + "21559": "failure", + "21560": "failure", + "21561": "failure", + "21562": "failure", + "21563": "failure", + "21564": "infeasible", + "21565": "failure", + "21566": "failure", + "21567": "successful", + "21568": "failure", + "21569": "failure", + "21570": "failure", + "21571": "failure", + "21572": "failure", + "21573": "failure", + "21574": "failure", + "21575": "failure", + "21576": "failure", + "21577": "successful", + "21578": "failure", + "21579": "failure", + "21580": "failure", + "21581": "failure", + "21582": "failure", + "21583": "failure", + "21584": "failure", + "21585": "failure", + "21586": "infeasible", + "21587": "failure", + "21588": "failure", + "21589": "failure", + "21590": "failure", + "21591": "failure", + "21592": "failure", + "21593": "failure", + "21594": "failure", + "21595": "failure", + "21596": "failure", + "21597": "failure", + "21598": "successful", + "21599": "failure", + "21600": "failure", + "21601": "failure", + "21602": "failure", + "21603": "failure", + "21604": "failure", + "21605": "successful", + "21606": "successful", + "21607": "failure", + "21608": "failure", + "21609": "failure", + "21610": "failure", + "21611": "failure", + "21612": "failure", + "21613": "failure", + "21614": "failure", + "21615": "failure", + "21616": "successful", + "21617": "failure", + "21618": "failure", + "21619": "failure", + "21620": "failure", + "21621": "failure", + "21622": "successful", + "21623": "failure", + "21624": "failure", + "21625": "infeasible", + "21626": "successful", + "21627": "failure", + "21628": "failure", + "21629": "failure", + "21630": "failure", + "21631": "failure", + "21632": "failure", + "21633": "failure", + "21634": "successful", + "21635": "successful", + "21636": "failure", + "21637": "infeasible", + "21638": "failure", + "21639": "failure", + "21640": "failure", + "21641": "failure", + "21642": "failure", + "21643": "infeasible", + "21644": "successful", + "21645": "failure", + "21646": "failure", + "21647": "failure", + "21648": "failure", + "21649": "failure", + "21650": "failure", + "21651": "failure", + "21652": "failure", + "21653": "failure", + "21654": "failure", + "21655": "failure", + "21656": "infeasible", + "21657": "failure", + "21658": "failure", + "21659": "failure", + "21660": "failure", + "21661": "failure", + "21662": "failure", + "21663": "infeasible", + "21664": "failure", + "21665": "failure", + "21666": "failure", + "21667": "failure", + "21668": "failure", + "21669": "failure", + "21670": "successful", + "21671": "failure", + "21672": "failure", + "21673": "failure", + "21674": "failure", + "21675": "failure", + "21676": "failure", + "21677": "failure", + "21678": "successful", + "21679": "failure", + "21680": "failure", + "21681": "failure", + "21682": "successful", + "21683": "infeasible", + "21684": "failure", + "21685": "infeasible", + "21686": "failure", + "21687": "failure", + "21688": "failure", + "21689": "successful", + "21690": "infeasible", + "21691": "successful", + "21692": "failure", + "21693": "failure", + "21694": "failure", + "21695": "failure", + "21696": "failure", + "21697": "failure", + "21698": "failure", + "21699": "failure", + "21700": "failure", + "21701": "failure", + "21702": "failure", + "21703": "failure", + "21704": "failure", + "21705": "failure", + "21706": "failure", + "21707": "failure", + "21708": "failure", + "21709": "infeasible", + "21710": "failure", + "21711": "failure", + "21712": "failure", + "21713": "failure", + "21714": "failure", + "21715": "infeasible", + "21716": "failure", + "21717": "failure", + "21718": "failure", + "21719": "failure", + "21720": "failure", + "21721": "infeasible", + "21722": "failure", + "21723": "failure", + "21724": "successful", + "21725": "failure", + "21726": "successful", + "21727": "failure", + "21728": "failure", + "21729": "failure", + "21730": "failure", + "21731": "failure", + "21732": "failure", + "21733": "failure", + "21734": "failure", + "21735": "failure", + "21736": "failure", + "21737": "infeasible", + "21738": "failure", + "21739": "failure", + "21740": "failure", + "21741": "failure", + "21742": "failure", + "21743": "successful", + "21744": "failure", + "21745": "failure", + "21746": "failure", + "21747": "failure", + "21748": "failure", + "21749": "successful", + "21750": "failure", + "21751": "failure", + "21752": "failure", + "21753": "failure", + "21754": "failure", + "21755": "failure", + "21756": "failure", + "21757": "failure", + "21758": "infeasible", + "21759": "failure", + "21760": "failure", + "21761": "successful", + "21762": "failure", + "21763": "infeasible", + "21764": "failure", + "21765": "successful", + "21766": "failure", + "21767": "failure", + "21768": "failure", + "21769": "infeasible", + "21770": "failure", + "21771": "failure", + "21772": "failure", + "21773": "failure", + "21774": "failure", + "21775": "failure", + "21776": "failure", + "21777": "infeasible", + "21778": "successful", + "21779": "failure", + "21780": "failure", + "21781": "failure", + "21782": "failure", + "21783": "failure", + "21784": "failure", + "21785": "failure", + "21786": "failure", + "21787": "infeasible", + "21788": "failure", + "21789": "failure", + "21790": "failure", + "21791": "failure", + "21792": "failure", + "21793": "failure", + "21794": "failure", + "21795": "infeasible", + "21796": "infeasible", + "21797": "failure", + "21798": "failure", + "21799": "infeasible", + "21800": "failure", + "21801": "failure", + "21802": "failure", + "21803": "failure", + "21804": "failure", + "21805": "failure", + "21806": "failure", + "21807": "failure", + "21808": "failure", + "21809": "infeasible", + "21810": "failure", + "21811": "failure", + "21812": "failure", + "21813": "failure", + "21814": "infeasible", + "21815": "failure", + "21816": "failure", + "21817": "failure", + "21818": "failure", + "21819": "failure", + "21820": "failure", + "21821": "infeasible", + "21822": "failure", + "21823": "failure", + "21824": "failure", + "21825": "successful", + "21826": "failure", + "21827": "failure", + "21828": "failure", + "21829": "failure", + "21830": "failure", + "21831": "failure", + "21832": "infeasible", + "21833": "failure", + "21834": "failure", + "21835": "failure", + "21836": "failure", + "21837": "failure", + "21838": "failure", + "21839": "failure", + "21840": "failure", + "21841": "failure", + "21842": "failure", + "21843": "failure", + "21844": "failure", + "21845": "infeasible", + "21846": "failure", + "21847": "failure", + "21848": "infeasible", + "21849": "successful", + "21850": "failure", + "21851": "failure", + "21852": "failure", + "21853": "failure", + "21854": "failure", + "21855": "failure", + "21856": "failure", + "21857": "failure", + "21858": "failure", + "21859": "failure", + "21860": "failure", + "21861": "successful", + "21862": "failure", + "21863": "failure", + "21864": "failure", + "21865": "successful", + "21866": "successful", + "21867": "failure", + "21868": "failure", + "21869": "infeasible", + "21870": "failure", + "21871": "failure", + "21872": "failure", + "21873": "failure", + "21874": "failure", + "21875": "failure", + "21876": "failure", + "21877": "failure", + "21878": "failure", + "21879": "failure", + "21880": "successful", + "21881": "successful", + "21882": "failure", + "21883": "failure", + "21884": "failure", + "21885": "failure", + "21886": "failure", + "21887": "failure", + "21888": "failure", + "21889": "failure", + "21890": "failure", + "21891": "failure", + "21892": "failure", + "21893": "infeasible", + "21894": "failure", + "21895": "failure", + "21896": "successful", + "21897": "infeasible", + "21898": "failure", + "21899": "failure", + "21900": "infeasible", + "21901": "infeasible", + "21902": "failure", + "21903": "successful", + "21904": "infeasible", + "21905": "failure", + "21906": "failure", + "21907": "failure", + "21908": "failure", + "21909": "failure", + "21910": "successful", + "21911": "failure", + "21912": "failure", + "21913": "successful", + "21914": "failure", + "21915": "failure", + "21916": "failure", + "21917": "failure", + "21918": "failure", + "21919": "failure", + "21920": "failure", + "21921": "failure", + "21922": "failure", + "21923": "failure", + "21924": "failure", + "21925": "failure", + "21926": "failure", + "21927": "infeasible", + "21928": "failure", + "21929": "failure", + "21930": "failure", + "21931": "failure", + "21932": "failure", + "21933": "failure", + "21934": "failure", + "21935": "failure", + "21936": "successful", + "21937": "failure", + "21938": "failure", + "21939": "infeasible", + "21940": "failure", + "21941": "failure", + "21942": "failure", + "21943": "failure", + "21944": "failure", + "21945": "failure", + "21946": "failure", + "21947": "failure", + "21948": "failure", + "21949": "failure", + "21950": "failure", + "21951": "failure", + "21952": "failure", + "21953": "failure", + "21954": "failure", + "21955": "successful", + "21956": "failure", + "21957": "failure", + "21958": "failure", + "21959": "successful", + "21960": "failure", + "21961": "failure", + "21962": "failure", + "21963": "failure", + "21964": "failure", + "21965": "successful", + "21966": "failure", + "21967": "failure", + "21968": "failure", + "21969": "failure", + "21970": "failure", + "21971": "failure", + "21972": "infeasible", + "21973": "failure", + "21974": "failure", + "21975": "failure", + "21976": "failure", + "21977": "failure", + "21978": "failure", + "21979": "failure", + "21980": "failure", + "21981": "infeasible", + "21982": "failure", + "21983": "failure", + "21984": "failure", + "21985": "failure", + "21986": "failure", + "21987": "successful", + "21988": "failure", + "21989": "failure", + "21990": "failure", + "21991": "failure", + "21992": "failure", + "21993": "failure", + "21994": "infeasible", + "21995": "failure", + "21996": "failure", + "21997": "failure", + "21998": "failure", + "21999": "failure", + "22000": "failure", + "22001": "failure", + "22002": "successful", + "22003": "failure", + "22004": "successful", + "22005": "failure", + "22006": "failure", + "22007": "failure", + "22008": "failure", + "22009": "failure", + "22010": "failure", + "22011": "failure", + "22012": "failure", + "22013": "failure", + "22014": "successful", + "22015": "successful", + "22016": "failure", + "22017": "failure", + "22018": "successful", + "22019": "failure", + "22020": "infeasible", + "22021": "failure", + "22022": "failure", + "22023": "failure", + "22024": "failure", + "22025": "failure", + "22026": "failure", + "22027": "failure", + "22028": "failure", + "22029": "failure", + "22030": "failure", + "22031": "successful", + "22032": "failure", + "22033": "failure", + "22034": "failure", + "22035": "failure", + "22036": "failure", + "22037": "failure", + "22038": "failure", + "22039": "failure", + "22040": "failure", + "22041": "failure", + "22042": "failure", + "22043": "failure", + "22044": "failure", + "22045": "failure", + "22046": "failure", + "22047": "successful", + "22048": "failure", + "22049": "failure", + "22050": "failure", + "22051": "failure", + "22052": "failure", + "22053": "failure", + "22054": "failure", + "22055": "failure", + "22056": "failure", + "22057": "failure", + "22058": "failure", + "22059": "failure", + "22060": "failure", + "22061": "successful", + "22062": "failure", + "22063": "failure", + "22064": "failure", + "22065": "infeasible", + "22066": "failure", + "22067": "successful", + "22068": "failure", + "22069": "failure", + "22070": "infeasible", + "22071": "successful", + "22072": "failure", + "22073": "infeasible", + "22074": "failure", + "22075": "already_complete", + "22076": "failure", + "22077": "failure", + "22078": "failure", + "22079": "failure", + "22080": "failure", + "22081": "failure", + "22082": "failure", + "22083": "failure", + "22084": "failure", + "22085": "failure", + "22086": "failure", + "22087": "failure", + "22088": "successful", + "22089": "failure", + "22090": "failure", + "22091": "failure", + "22092": "failure", + "22093": "failure", + "22094": "failure", + "22095": "failure", + "22096": "failure", + "22097": "failure", + "22098": "successful", + "22099": "failure", + "22100": "failure", + "22101": "failure", + "22102": "failure", + "22103": "successful", + "22104": "infeasible", + "22105": "failure", + "22106": "failure", + "22107": "failure", + "22108": "failure", + "22109": "failure", + "22110": "failure", + "22111": "failure", + "22112": "failure", + "22113": "failure", + "22114": "failure", + "22115": "failure", + "22116": "failure", + "22117": "infeasible", + "22118": "successful", + "22119": "failure", + "22120": "failure", + "22121": "failure", + "22122": "failure", + "22123": "failure", + "22124": "failure", + "22125": "failure", + "22126": "failure", + "22127": "failure", + "22128": "successful", + "22129": "infeasible", + "22130": "failure", + "22131": "failure", + "22132": "failure", + "22133": "failure", + "22134": "failure", + "22135": "failure", + "22136": "failure", + "22137": "failure", + "22138": "failure", + "22139": "failure", + "22140": "failure", + "22141": "failure", + "22142": "infeasible", + "22143": "failure", + "22144": "failure", + "22145": "failure", + "22146": "failure", + "22147": "failure", + "22148": "failure", + "22149": "successful", + "22150": "failure", + "22151": "failure", + "22152": "failure", + "22153": "failure", + "22154": "failure", + "22155": "failure", + "22156": "failure", + "22157": "failure", + "22158": "failure", + "22159": "failure", + "22160": "failure", + "22161": "failure", + "22162": "failure", + "22163": "successful", + "22164": "failure", + "22165": "infeasible", + "22166": "failure", + "22167": "failure", + "22168": "infeasible", + "22169": "failure", + "22170": "failure", + "22171": "failure", + "22172": "failure", + "22173": "failure", + "22174": "failure", + "22175": "failure", + "22176": "failure", + "22177": "failure", + "22178": "failure", + "22179": "failure", + "22180": "failure", + "22181": "failure", + "22182": "failure", + "22183": "failure", + "22184": "failure", + "22185": "failure", + "22186": "failure", + "22187": "failure", + "22188": "successful", + "22189": "failure", + "22190": "already_complete", + "22191": "infeasible", + "22192": "infeasible", + "22193": "failure", + "22194": "failure", + "22195": "failure", + "22196": "failure", + "22197": "failure", + "22198": "failure", + "22199": "successful", + "22200": "failure", + "22201": "failure", + "22202": "failure", + "22203": "infeasible", + "22204": "failure", + "22205": "infeasible", + "22206": "failure", + "22207": "failure", + "22208": "failure", + "22209": "failure", + "22210": "failure", + "22211": "failure", + "22212": "failure", + "22213": "failure", + "22214": "failure", + "22215": "failure", + "22216": "failure", + "22217": "failure", + "22218": "infeasible", + "22219": "failure", + "22220": "failure", + "22221": "failure", + "22222": "failure", + "22223": "failure", + "22224": "failure", + "22225": "failure", + "22226": "failure", + "22227": "failure", + "22228": "infeasible", + "22229": "failure", + "22230": "successful", + "22231": "failure", + "22232": "successful", + "22233": "successful", + "22234": "successful", + "22235": "infeasible", + "22236": "already_complete", + "22237": "already_complete", + "22238": "failure", + "22239": "failure", + "22240": "failure", + "22241": "failure", + "22242": "failure", + "22243": "failure", + "22244": "infeasible", + "22245": "failure", + "22246": "failure", + "22247": "failure", + "22248": "failure", + "22249": "failure", + "22250": "successful", + "22251": "failure", + "22252": "failure", + "22253": "failure", + "22254": "successful", + "22255": "failure", + "22256": "successful", + "22257": "successful", + "22258": "already_complete", + "22259": "failure", + "22260": "failure", + "22261": "failure", + "22262": "failure", + "22263": "failure", + "22264": "failure", + "22265": "failure", + "22266": "failure", + "22267": "failure", + "22268": "failure", + "22269": "failure", + "22270": "successful", + "22271": "failure", + "22272": "successful", + "22273": "failure", + "22274": "failure", + "22275": "failure", + "22276": "failure", + "22277": "failure", + "22278": "failure", + "22279": "successful", + "22280": "successful", + "22281": "failure", + "22282": "failure", + "22283": "failure", + "22284": "failure", + "22285": "failure", + "22286": "failure", + "22287": "already_complete", + "22288": "successful", + "22289": "failure", + "22290": "failure", + "22291": "failure", + "22292": "failure", + "22293": "failure", + "22294": "already_complete", + "22295": "failure", + "22296": "failure", + "22297": "failure", + "22298": "successful", + "22299": "failure", + "22300": "failure", + "22301": "failure", + "22302": "failure", + "22303": "failure", + "22304": "failure", + "22305": "failure", + "22306": "failure", + "22307": "successful", + "22308": "infeasible", + "22309": "failure", + "22310": "failure", + "22311": "failure", + "22312": "failure", + "22313": "failure", + "22314": "failure", + "22315": "already_complete", + "22316": "failure", + "22317": "failure", + "22318": "failure", + "22319": "failure", + "22320": "infeasible", + "22321": "failure", + "22322": "successful", + "22323": "failure", + "22324": "failure", + "22325": "successful", + "22326": "failure", + "22327": "failure", + "22328": "failure", + "22329": "failure", + "22330": "infeasible", + "22331": "failure", + "22332": "failure", + "22333": "failure", + "22334": "failure", + "22335": "failure", + "22336": "failure", + "22337": "successful", + "22338": "failure", + "22339": "failure", + "22340": "failure", + "22341": "failure", + "22342": "failure", + "22343": "failure", + "22344": "infeasible", + "22345": "failure", + "22346": "failure", + "22347": "infeasible", + "22348": "failure", + "22349": "failure", + "22350": "failure", + "22351": "failure", + "22352": "failure", + "22353": "infeasible", + "22354": "failure", + "22355": "successful", + "22356": "failure", + "22357": "infeasible", + "22358": "failure", + "22359": "failure", + "22360": "failure", + "22361": "failure", + "22362": "successful", + "22363": "failure", + "22364": "successful", + "22365": "failure", + "22366": "failure", + "22367": "failure", + "22368": "failure", + "22369": "failure", + "22370": "failure", + "22371": "failure", + "22372": "infeasible", + "22373": "failure", + "22374": "failure", + "22375": "failure", + "22376": "successful", + "22377": "failure", + "22378": "failure", + "22379": "failure", + "22380": "failure", + "22381": "infeasible", + "22382": "infeasible", + "22383": "failure", + "22384": "infeasible", + "22385": "failure", + "22386": "failure", + "22387": "failure", + "22388": "failure", + "22389": "infeasible", + "22390": "failure", + "22391": "failure", + "22392": "infeasible", + "22393": "successful", + "22394": "failure", + "22395": "failure", + "22396": "infeasible", + "22397": "successful", + "22398": "failure", + "22399": "infeasible", + "22400": "failure", + "22401": "failure", + "22402": "failure", + "22403": "failure", + "22404": "successful", + "22405": "failure", + "22406": "failure", + "22407": "successful", + "22408": "successful", + "22409": "failure", + "22410": "failure", + "22411": "failure", + "22412": "failure", + "22413": "failure", + "22414": "failure", + "22415": "failure", + "22416": "failure", + "22417": "failure", + "22418": "successful", + "22419": "failure", + "22420": "failure", + "22421": "infeasible", + "22422": "failure", + "22423": "failure", + "22424": "failure", + "22425": "failure", + "22426": "failure", + "22427": "failure", + "22428": "infeasible", + "22429": "failure", + "22430": "failure", + "22431": "failure", + "22432": "successful", + "22433": "failure", + "22434": "failure", + "22435": "failure", + "22436": "failure", + "22437": "infeasible", + "22438": "failure", + "22439": "failure", + "22440": "failure", + "22441": "successful", + "22442": "failure", + "22443": "failure", + "22444": "infeasible", + "22445": "failure", + "22446": "failure", + "22447": "failure", + "22448": "failure", + "22449": "successful", + "22450": "failure", + "22451": "failure", + "22452": "successful", + "22453": "failure", + "22454": "failure", + "22455": "failure", + "22456": "failure", + "22457": "failure", + "22458": "failure", + "22459": "failure", + "22460": "failure", + "22461": "failure", + "22462": "failure", + "22463": "failure", + "22464": "infeasible", + "22465": "failure", + "22466": "failure", + "22467": "failure", + "22468": "failure", + "22469": "failure", + "22470": "failure", + "22471": "failure", + "22472": "failure", + "22473": "failure", + "22474": "failure", + "22475": "failure", + "22476": "infeasible", + "22477": "infeasible", + "22478": "failure", + "22479": "failure", + "22480": "failure", + "22481": "failure", + "22482": "failure", + "22483": "infeasible", + "22484": "failure", + "22485": "failure", + "22486": "failure", + "22487": "failure", + "22488": "failure", + "22489": "failure", + "22490": "failure", + "22491": "failure", + "22492": "failure", + "22493": "failure", + "22494": "failure", + "22495": "failure", + "22496": "failure", + "22497": "failure", + "22498": "failure", + "22499": "already_complete", + "22500": "failure", + "22501": "failure", + "22502": "failure", + "22503": "failure", + "22504": "successful", + "22505": "failure", + "22506": "failure", + "22507": "successful", + "22508": "infeasible", + "22509": "failure", + "22510": "failure", + "22511": "failure", + "22512": "failure", + "22513": "failure", + "22514": "infeasible", + "22515": "failure", + "22516": "already_complete", + "22517": "failure", + "22518": "failure", + "22519": "failure", + "22520": "infeasible", + "22521": "failure", + "22522": "failure", + "22523": "failure", + "22524": "failure", + "22525": "failure", + "22526": "successful", + "22527": "successful", + "22528": "failure", + "22529": "failure", + "22530": "failure", + "22531": "infeasible", + "22532": "failure", + "22533": "infeasible", + "22534": "failure", + "22535": "failure", + "22536": "failure", + "22537": "failure", + "22538": "successful", + "22539": "failure", + "22540": "failure", + "22541": "failure", + "22542": "failure", + "22543": "successful", + "22544": "failure", + "22545": "successful", + "22546": "successful", + "22547": "successful", + "22548": "infeasible", + "22549": "successful", + "22550": "failure", + "22551": "failure", + "22552": "failure", + "22553": "successful", + "22554": "failure", + "22555": "infeasible", + "22556": "failure", + "22557": "infeasible", + "22558": "failure", + "22559": "failure", + "22560": "failure", + "22561": "failure", + "22562": "failure", + "22563": "failure", + "22564": "successful", + "22565": "infeasible", + "22566": "failure", + "22567": "failure", + "22568": "failure", + "22569": "failure", + "22570": "failure", + "22571": "successful", + "22572": "successful", + "22573": "failure", + "22574": "failure", + "22575": "failure", + "22576": "failure", + "22577": "failure", + "22578": "failure", + "22579": "failure", + "22580": "failure", + "22581": "failure", + "22582": "failure", + "22583": "failure", + "22584": "failure", + "22585": "failure", + "22586": "failure", + "22587": "failure", + "22588": "failure", + "22589": "successful", + "22590": "failure", + "22591": "failure", + "22592": "infeasible", + "22593": "failure", + "22594": "successful", + "22595": "failure", + "22596": "successful", + "22597": "infeasible", + "22598": "failure", + "22599": "failure", + "22600": "successful", + "22601": "failure", + "22602": "failure", + "22603": "failure", + "22604": "failure", + "22605": "failure", + "22606": "failure", + "22607": "infeasible", + "22608": "failure", + "22609": "failure", + "22610": "failure", + "22611": "failure", + "22612": "failure", + "22613": "failure", + "22614": "successful", + "22615": "failure", + "22616": "failure", + "22617": "failure", + "22618": "failure", + "22619": "infeasible", + "22620": "failure", + "22621": "failure", + "22622": "failure", + "22623": "failure", + "22624": "failure", + "22625": "failure", + "22626": "failure", + "22627": "failure", + "22628": "failure", + "22629": "failure", + "22630": "failure", + "22631": "infeasible", + "22632": "failure", + "22633": "failure", + "22634": "failure", + "22635": "failure", + "22636": "failure", + "22637": "failure", + "22638": "failure", + "22639": "failure", + "22640": "successful", + "22641": "infeasible", + "22642": "failure", + "22643": "failure", + "22644": "failure", + "22645": "failure", + "22646": "failure", + "22647": "failure", + "22648": "failure", + "22649": "failure", + "22650": "failure", + "22651": "failure", + "22652": "failure", + "22653": "failure", + "22654": "failure", + "22655": "failure", + "22656": "already_complete", + "22657": "failure", + "22658": "failure", + "22659": "failure", + "22660": "failure", + "22661": "failure", + "22662": "failure", + "22663": "failure", + "22664": "failure", + "22665": "failure", + "22666": "failure", + "22667": "failure", + "22668": "failure", + "22669": "failure", + "22670": "failure", + "22671": "failure", + "22672": "failure", + "22673": "failure", + "22674": "failure", + "22675": "failure", + "22676": "failure", + "22677": "failure", + "22678": "failure", + "22679": "failure", + "22680": "failure", + "22681": "successful", + "22682": "failure", + "22683": "successful", + "22684": "failure", + "22685": "failure", + "22686": "failure", + "22687": "failure", + "22688": "failure", + "22689": "failure", + "22690": "failure", + "22691": "failure", + "22692": "failure", + "22693": "failure", + "22694": "failure", + "22695": "failure", + "22696": "failure", + "22697": "failure", + "22698": "failure", + "22699": "failure", + "22700": "failure", + "22701": "successful", + "22702": "failure", + "22703": "failure", + "22704": "failure", + "22705": "failure", + "22706": "failure", + "22707": "failure", + "22708": "failure", + "22709": "successful", + "22710": "failure", + "22711": "failure", + "22712": "failure", + "22713": "failure", + "22714": "failure", + "22715": "failure", + "22716": "successful", + "22717": "failure", + "22718": "failure", + "22719": "failure", + "22720": "infeasible", + "22721": "failure", + "22722": "failure", + "22723": "failure", + "22724": "successful", + "22725": "failure", + "22726": "failure", + "22727": "infeasible", + "22728": "successful", + "22729": "failure", + "22730": "failure", + "22731": "failure", + "22732": "failure", + "22733": "failure", + "22734": "failure", + "22735": "successful", + "22736": "failure", + "22737": "failure", + "22738": "failure", + "22739": "failure", + "22740": "successful", + "22741": "failure", + "22742": "infeasible", + "22743": "failure", + "22744": "failure", + "22745": "failure", + "22746": "failure", + "22747": "infeasible", + "22748": "infeasible", + "22749": "failure", + "22750": "failure", + "22751": "failure", + "22752": "failure", + "22753": "failure", + "22754": "successful", + "22755": "failure", + "22756": "failure", + "22757": "infeasible", + "22758": "successful", + "22759": "failure", + "22760": "failure", + "22761": "failure", + "22762": "successful", + "22763": "failure", + "22764": "already_complete", + "22765": "infeasible", + "22766": "failure", + "22767": "failure", + "22768": "failure", + "22769": "failure", + "22770": "failure", + "22771": "infeasible", + "22772": "failure", + "22773": "failure", + "22774": "successful", + "22775": "failure", + "22776": "failure", + "22777": "failure", + "22778": "failure", + "22779": "failure", + "22780": "failure", + "22781": "failure", + "22782": "failure", + "22783": "failure", + "22784": "successful", + "22785": "infeasible", + "22786": "failure", + "22787": "infeasible", + "22788": "failure", + "22789": "successful", + "22790": "failure", + "22791": "failure", + "22792": "failure", + "22793": "failure", + "22794": "infeasible", + "22795": "failure", + "22796": "failure", + "22797": "failure", + "22798": "failure", + "22799": "successful", + "22800": "failure", + "22801": "already_complete", + "22802": "failure", + "22803": "successful", + "22804": "failure", + "22805": "failure", + "22806": "already_complete", + "22807": "failure", + "22808": "failure", + "22809": "failure", + "22810": "failure", + "22811": "failure", + "22812": "failure", + "22813": "failure", + "22814": "failure", + "22815": "failure", + "22816": "failure", + "22817": "failure", + "22818": "failure", + "22819": "failure", + "22820": "failure", + "22821": "failure", + "22822": "failure", + "22823": "failure", + "22824": "failure", + "22825": "failure", + "22826": "failure", + "22827": "failure", + "22828": "failure", + "22829": "failure", + "22830": "failure", + "22831": "infeasible", + "22832": "failure", + "22833": "failure", + "22834": "failure", + "22835": "failure", + "22836": "infeasible", + "22837": "failure", + "22838": "failure", + "22839": "failure", + "22840": "failure", + "22841": "failure", + "22842": "failure", + "22843": "failure", + "22844": "infeasible", + "22845": "failure", + "22846": "failure", + "22847": "failure", + "22848": "failure", + "22849": "failure", + "22850": "failure", + "22851": "infeasible", + "22852": "failure", + "22853": "failure", + "22854": "failure", + "22855": "failure", + "22856": "failure", + "22857": "failure", + "22858": "successful", + "22859": "failure", + "22860": "failure", + "22861": "successful", + "22862": "successful", + "22863": "failure", + "22864": "failure", + "22865": "infeasible", + "22866": "failure", + "22867": "failure", + "22868": "infeasible", + "22869": "failure", + "22870": "failure", + "22871": "failure", + "22872": "successful", + "22873": "infeasible", + "22874": "failure", + "22875": "failure", + "22876": "already_complete", + "22877": "failure", + "22878": "failure", + "22879": "successful", + "22880": "failure", + "22881": "failure", + "22882": "infeasible", + "22883": "failure", + "22884": "failure", + "22885": "failure", + "22886": "failure", + "22887": "failure", + "22888": "failure", + "22889": "successful", + "22890": "failure", + "22891": "failure", + "22892": "failure", + "22893": "failure", + "22894": "infeasible", + "22895": "failure", + "22896": "failure", + "22897": "failure", + "22898": "failure", + "22899": "failure", + "22900": "failure", + "22901": "infeasible", + "22902": "failure", + "22903": "failure", + "22904": "failure", + "22905": "failure", + "22906": "failure", + "22907": "failure", + "22908": "failure", + "22909": "failure", + "22910": "successful", + "22911": "failure", + "22912": "failure", + "22913": "failure", + "22914": "successful", + "22915": "failure", + "22916": "failure", + "22917": "failure", + "22918": "failure", + "22919": "successful", + "22920": "failure", + "22921": "failure", + "22922": "failure", + "22923": "failure", + "22924": "failure", + "22925": "failure", + "22926": "failure", + "22927": "already_complete", + "22928": "failure", + "22929": "failure", + "22930": "failure", + "22931": "failure", + "22932": "failure", + "22933": "failure", + "22934": "failure", + "22935": "failure", + "22936": "failure", + "22937": "failure", + "22938": "failure", + "22939": "failure", + "22940": "failure", + "22941": "infeasible", + "22942": "failure", + "22943": "failure", + "22944": "failure", + "22945": "successful", + "22946": "failure", + "22947": "failure", + "22948": "failure", + "22949": "successful", + "22950": "failure", + "22951": "failure", + "22952": "failure", + "22953": "failure", + "22954": "failure", + "22955": "failure", + "22956": "failure", + "22957": "successful", + "22958": "failure", + "22959": "failure", + "22960": "failure", + "22961": "successful", + "22962": "failure", + "22963": "failure", + "22964": "infeasible", + "22965": "failure", + "22966": "failure", + "22967": "failure", + "22968": "infeasible", + "22969": "successful", + "22970": "failure", + "22971": "failure", + "22972": "infeasible", + "22973": "infeasible", + "22974": "failure", + "22975": "infeasible", + "22976": "infeasible", + "22977": "failure", + "22978": "failure", + "22979": "infeasible", + "22980": "infeasible", + "22981": "failure", + "22982": "failure", + "22983": "infeasible", + "22984": "failure", + "22985": "failure", + "22986": "failure", + "22987": "infeasible", + "22988": "failure", + "22989": "failure", + "22990": "failure", + "22991": "failure", + "22992": "failure", + "22993": "infeasible", + "22994": "failure", + "22995": "failure", + "22996": "successful", + "22997": "failure", + "22998": "failure", + "22999": "failure", + "23000": "failure", + "23001": "failure", + "23002": "infeasible", + "23003": "failure", + "23004": "failure", + "23005": "failure", + "23006": "failure", + "23007": "infeasible", + "23008": "failure", + "23009": "failure", + "23010": "failure", + "23011": "successful", + "23012": "failure", + "23013": "failure", + "23014": "failure", + "23015": "infeasible", + "23016": "successful", + "23017": "infeasible", + "23018": "infeasible", + "23019": "failure", + "23020": "successful", + "23021": "failure", + "23022": "failure", + "23023": "infeasible", + "23024": "failure", + "23025": "successful", + "23026": "failure", + "23027": "failure", + "23028": "successful", + "23029": "infeasible", + "23030": "failure", + "23031": "failure", + "23032": "failure", + "23033": "failure", + "23034": "failure", + "23035": "failure", + "23036": "failure", + "23037": "failure", + "23038": "successful", + "23039": "failure", + "23040": "infeasible", + "23041": "failure", + "23042": "successful", + "23043": "failure", + "23044": "failure", + "23045": "failure", + "23046": "failure", + "23047": "failure", + "23048": "failure", + "23049": "infeasible", + "23050": "successful", + "23051": "failure", + "23052": "failure", + "23053": "failure", + "23054": "failure", + "23055": "failure", + "23056": "failure", + "23057": "successful", + "23058": "failure", + "23059": "failure", + "23060": "failure", + "23061": "failure", + "23062": "failure", + "23063": "failure", + "23064": "failure", + "23065": "failure", + "23066": "failure", + "23067": "failure", + "23068": "infeasible", + "23069": "failure", + "23070": "failure", + "23071": "failure", + "23072": "infeasible", + "23073": "failure", + "23074": "failure", + "23075": "infeasible", + "23076": "infeasible", + "23077": "failure", + "23078": "failure", + "23079": "failure", + "23080": "failure", + "23081": "failure", + "23082": "failure", + "23083": "failure", + "23084": "infeasible", + "23085": "successful", + "23086": "failure", + "23087": "failure", + "23088": "failure", + "23089": "failure", + "23090": "failure", + "23091": "failure", + "23092": "failure", + "23093": "infeasible", + "23094": "failure", + "23095": "failure", + "23096": "failure", + "23097": "failure", + "23098": "failure", + "23099": "failure", + "23100": "failure", + "23101": "infeasible", + "23102": "failure", + "23103": "failure", + "23104": "failure", + "23105": "failure", + "23106": "failure", + "23107": "failure", + "23108": "failure", + "23109": "failure", + "23110": "failure", + "23111": "failure", + "23112": "failure", + "23113": "infeasible", + "23114": "infeasible", + "23115": "successful", + "23116": "failure", + "23117": "failure", + "23118": "failure", + "23119": "failure", + "23120": "successful", + "23121": "failure", + "23122": "failure", + "23123": "successful", + "23124": "failure", + "23125": "failure", + "23126": "failure", + "23127": "failure", + "23128": "failure", + "23129": "failure", + "23130": "failure", + "23131": "failure", + "23132": "failure", + "23133": "failure", + "23134": "failure", + "23135": "infeasible", + "23136": "successful", + "23137": "failure", + "23138": "failure", + "23139": "failure", + "23140": "failure", + "23141": "failure", + "23142": "failure", + "23143": "failure", + "23144": "failure", + "23145": "failure", + "23146": "failure", + "23147": "failure", + "23148": "failure", + "23149": "failure", + "23150": "failure", + "23151": "failure", + "23152": "failure", + "23153": "successful", + "23154": "failure", + "23155": "failure", + "23156": "failure", + "23157": "failure", + "23158": "failure", + "23159": "failure", + "23160": "failure", + "23161": "failure", + "23162": "successful", + "23163": "failure", + "23164": "failure", + "23165": "failure", + "23166": "infeasible", + "23167": "failure", + "23168": "already_complete", + "23169": "failure", + "23170": "successful", + "23171": "successful", + "23172": "failure", + "23173": "failure", + "23174": "failure", + "23175": "failure", + "23176": "failure", + "23177": "successful", + "23178": "failure", + "23179": "failure", + "23180": "failure", + "23181": "successful", + "23182": "failure", + "23183": "failure", + "23184": "failure", + "23185": "failure", + "23186": "failure", + "23187": "failure", + "23188": "failure", + "23189": "failure", + "23190": "failure", + "23191": "failure", + "23192": "infeasible", + "23193": "failure", + "23194": "failure", + "23195": "failure", + "23196": "failure", + "23197": "failure", + "23198": "failure", + "23199": "failure", + "23200": "failure", + "23201": "successful", + "23202": "infeasible", + "23203": "failure", + "23204": "failure", + "23205": "infeasible", + "23206": "failure", + "23207": "successful", + "23208": "failure", + "23209": "already_complete", + "23210": "successful", + "23211": "infeasible", + "23212": "failure", + "23213": "failure", + "23214": "failure", + "23215": "failure", + "23216": "failure", + "23217": "infeasible", + "23218": "failure", + "23219": "successful", + "23220": "infeasible", + "23221": "failure", + "23222": "failure", + "23223": "failure", + "23224": "infeasible", + "23225": "failure", + "23226": "failure", + "23227": "failure", + "23228": "failure", + "23229": "failure", + "23230": "failure", + "23231": "successful", + "23232": "failure", + "23233": "failure", + "23234": "failure", + "23235": "already_complete", + "23236": "failure", + "23237": "failure", + "23238": "failure", + "23239": "failure", + "23240": "infeasible", + "23241": "failure", + "23242": "failure", + "23243": "failure", + "23244": "failure", + "23245": "infeasible", + "23246": "failure", + "23247": "failure", + "23248": "failure", + "23249": "failure", + "23250": "failure", + "23251": "failure", + "23252": "failure", + "23253": "failure", + "23254": "failure", + "23255": "failure", + "23256": "failure", + "23257": "already_complete", + "23258": "successful", + "23259": "failure", + "23260": "failure", + "23261": "failure", + "23262": "failure", + "23263": "failure", + "23264": "infeasible", + "23265": "failure", + "23266": "failure", + "23267": "successful", + "23268": "failure", + "23269": "failure", + "23270": "failure", + "23271": "failure", + "23272": "failure", + "23273": "failure", + "23274": "failure", + "23275": "failure", + "23276": "failure", + "23277": "failure", + "23278": "failure", + "23279": "failure", + "23280": "failure", + "23281": "failure", + "23282": "failure", + "23283": "failure", + "23284": "failure", + "23285": "successful", + "23286": "failure", + "23287": "failure", + "23288": "failure", + "23289": "failure", + "23290": "failure", + "23291": "failure", + "23292": "successful", + "23293": "failure", + "23294": "failure", + "23295": "failure", + "23296": "failure", + "23297": "failure", + "23298": "failure", + "23299": "failure", + "23300": "failure", + "23301": "failure", + "23302": "failure", + "23303": "failure", + "23304": "failure", + "23305": "failure", + "23306": "failure", + "23307": "failure", + "23308": "failure", + "23309": "infeasible", + "23310": "successful", + "23311": "failure", + "23312": "failure", + "23313": "failure", + "23314": "failure", + "23315": "successful", + "23316": "infeasible", + "23317": "successful", + "23318": "failure", + "23319": "failure", + "23320": "failure", + "23321": "failure", + "23322": "failure", + "23323": "failure", + "23324": "failure", + "23325": "failure", + "23326": "failure", + "23327": "failure", + "23328": "failure", + "23329": "successful", + "23330": "successful", + "23331": "infeasible", + "23332": "failure", + "23333": "failure", + "23334": "failure", + "23335": "successful", + "23336": "failure", + "23337": "failure", + "23338": "infeasible", + "23339": "failure", + "23340": "successful", + "23341": "failure", + "23342": "failure", + "23343": "failure", + "23344": "failure", + "23345": "failure", + "23346": "failure", + "23347": "failure", + "23348": "failure", + "23349": "failure", + "23350": "failure", + "23351": "successful", + "23352": "failure", + "23353": "failure", + "23354": "failure", + "23355": "failure", + "23356": "infeasible", + "23357": "infeasible", + "23358": "failure", + "23359": "successful", + "23360": "failure", + "23361": "failure", + "23362": "infeasible", + "23363": "failure", + "23364": "failure", + "23365": "failure", + "23366": "successful", + "23367": "failure", + "23368": "failure", + "23369": "successful", + "23370": "failure", + "23371": "failure", + "23372": "failure", + "23373": "failure", + "23374": "failure", + "23375": "infeasible", + "23376": "failure", + "23377": "failure", + "23378": "failure", + "23379": "infeasible", + "23380": "failure", + "23381": "failure", + "23382": "infeasible", + "23383": "failure", + "23384": "successful", + "23385": "failure", + "23386": "failure", + "23387": "failure", + "23388": "failure", + "23389": "failure", + "23390": "failure", + "23391": "failure", + "23392": "failure", + "23393": "failure", + "23394": "successful", + "23395": "failure", + "23396": "failure", + "23397": "successful", + "23398": "failure", + "23399": "failure", + "23400": "failure", + "23401": "failure", + "23402": "already_complete", + "23403": "failure", + "23404": "failure", + "23405": "failure", + "23406": "failure", + "23407": "failure", + "23408": "failure", + "23409": "failure", + "23410": "failure", + "23411": "failure", + "23412": "successful", + "23413": "failure", + "23414": "failure", + "23415": "failure", + "23416": "failure", + "23417": "infeasible", + "23418": "failure", + "23419": "failure", + "23420": "failure", + "23421": "failure", + "23422": "failure", + "23423": "infeasible", + "23424": "failure", + "23425": "failure", + "23426": "failure", + "23427": "failure", + "23428": "failure", + "23429": "failure", + "23430": "failure", + "23431": "failure", + "23432": "failure", + "23433": "successful", + "23434": "failure", + "23435": "failure", + "23436": "failure", + "23437": "infeasible", + "23438": "failure", + "23439": "already_complete", + "23440": "failure", + "23441": "infeasible", + "23442": "failure", + "23443": "failure", + "23444": "failure", + "23445": "failure", + "23446": "successful", + "23447": "failure", + "23448": "failure", + "23449": "failure", + "23450": "failure", + "23451": "failure", + "23452": "failure", + "23453": "failure", + "23454": "infeasible", + "23455": "failure", + "23456": "failure", + "23457": "successful", + "23458": "failure", + "23459": "failure", + "23460": "successful", + "23461": "failure", + "23462": "failure", + "23463": "failure", + "23464": "failure", + "23465": "failure", + "23466": "failure", + "23467": "failure", + "23468": "failure", + "23469": "failure", + "23470": "infeasible", + "23471": "failure", + "23472": "failure", + "23473": "failure", + "23474": "failure", + "23475": "infeasible", + "23476": "failure", + "23477": "failure", + "23478": "failure", + "23479": "failure", + "23480": "infeasible", + "23481": "failure", + "23482": "infeasible", + "23483": "failure", + "23484": "failure", + "23485": "failure", + "23486": "failure", + "23487": "failure", + "23488": "failure", + "23489": "successful", + "23490": "failure", + "23491": "failure", + "23492": "failure", + "23493": "failure", + "23494": "failure", + "23495": "failure", + "23496": "failure", + "23497": "failure", + "23498": "failure", + "23499": "failure", + "23500": "failure", + "23501": "failure", + "23502": "failure", + "23503": "successful", + "23504": "failure", + "23505": "successful", + "23506": "failure", + "23507": "failure", + "23508": "successful", + "23509": "failure", + "23510": "successful", + "23511": "infeasible", + "23512": "failure", + "23513": "failure", + "23514": "already_complete", + "23515": "failure", + "23516": "failure", + "23517": "successful", + "23518": "successful", + "23519": "failure", + "23520": "failure", + "23521": "failure", + "23522": "failure", + "23523": "infeasible", + "23524": "failure", + "23525": "failure", + "23526": "failure", + "23527": "failure", + "23528": "successful", + "23529": "failure", + "23530": "infeasible", + "23531": "failure", + "23532": "failure", + "23533": "failure", + "23534": "failure", + "23535": "failure", + "23536": "failure", + "23537": "failure", + "23538": "successful", + "23539": "failure", + "23540": "infeasible", + "23541": "successful", + "23542": "infeasible", + "23543": "failure", + "23544": "failure", + "23545": "failure", + "23546": "failure", + "23547": "failure", + "23548": "infeasible", + "23549": "infeasible", + "23550": "successful", + "23551": "successful", + "23552": "failure", + "23553": "failure", + "23554": "failure", + "23555": "infeasible", + "23556": "failure", + "23557": "failure", + "23558": "failure", + "23559": "failure", + "23560": "failure", + "23561": "successful", + "23562": "successful", + "23563": "failure", + "23564": "failure", + "23565": "successful", + "23566": "failure", + "23567": "infeasible", + "23568": "failure", + "23569": "failure", + "23570": "successful", + "23571": "failure", + "23572": "failure", + "23573": "failure", + "23574": "failure", + "23575": "infeasible", + "23576": "failure", + "23577": "failure", + "23578": "failure", + "23579": "failure", + "23580": "failure", + "23581": "infeasible", + "23582": "failure", + "23583": "failure", + "23584": "failure", + "23585": "failure", + "23586": "successful", + "23587": "failure", + "23588": "infeasible", + "23589": "failure", + "23590": "failure", + "23591": "infeasible", + "23592": "successful", + "23593": "infeasible", + "23594": "failure", + "23595": "failure", + "23596": "failure", + "23597": "failure", + "23598": "successful", + "23599": "failure", + "23600": "failure", + "23601": "failure", + "23602": "infeasible", + "23603": "failure", + "23604": "failure", + "23605": "failure", + "23606": "failure", + "23607": "failure", + "23608": "failure", + "23609": "failure", + "23610": "failure", + "23611": "infeasible", + "23612": "failure", + "23613": "infeasible", + "23614": "infeasible", + "23615": "infeasible", + "23616": "failure", + "23617": "failure", + "23618": "failure", + "23619": "infeasible", + "23620": "failure", + "23621": "failure", + "23622": "failure", + "23623": "failure", + "23624": "failure", + "23625": "successful", + "23626": "failure", + "23627": "infeasible", + "23628": "failure", + "23629": "failure", + "23630": "failure", + "23631": "failure", + "23632": "failure", + "23633": "failure", + "23634": "failure", + "23635": "infeasible", + "23636": "failure", + "23637": "failure", + "23638": "failure", + "23639": "failure", + "23640": "failure", + "23641": "failure", + "23642": "failure", + "23643": "failure", + "23644": "failure", + "23645": "infeasible", + "23646": "failure", + "23647": "failure", + "23648": "failure", + "23649": "failure", + "23650": "failure", + "23651": "failure", + "23652": "failure", + "23653": "failure", + "23654": "failure", + "23655": "infeasible", + "23656": "failure", + "23657": "failure", + "23658": "failure", + "23659": "failure", + "23660": "failure", + "23661": "successful", + "23662": "failure", + "23663": "failure", + "23664": "failure", + "23665": "failure", + "23666": "failure", + "23667": "failure", + "23668": "failure", + "23669": "infeasible", + "23670": "failure", + "23671": "failure", + "23672": "failure", + "23673": "failure", + "23674": "failure", + "23675": "failure", + "23676": "failure", + "23677": "failure", + "23678": "failure", + "23679": "infeasible", + "23680": "failure", + "23681": "failure", + "23682": "failure", + "23683": "failure", + "23684": "infeasible", + "23685": "failure", + "23686": "successful", + "23687": "failure", + "23688": "failure", + "23689": "failure", + "23690": "successful", + "23691": "failure", + "23692": "failure", + "23693": "failure", + "23694": "failure", + "23695": "failure", + "23696": "failure", + "23697": "failure", + "23698": "successful", + "23699": "failure", + "23700": "failure", + "23701": "successful", + "23702": "failure", + "23703": "failure", + "23704": "failure", + "23705": "failure", + "23706": "failure", + "23707": "failure", + "23708": "failure", + "23709": "failure", + "23710": "failure", + "23711": "failure", + "23712": "infeasible", + "23713": "infeasible", + "23714": "failure", + "23715": "failure", + "23716": "failure", + "23717": "failure", + "23718": "failure", + "23719": "failure", + "23720": "failure", + "23721": "infeasible", + "23722": "failure", + "23723": "infeasible", + "23724": "failure", + "23725": "failure", + "23726": "failure", + "23727": "failure", + "23728": "failure", + "23729": "failure", + "23730": "infeasible", + "23731": "failure", + "23732": "failure", + "23733": "infeasible", + "23734": "failure", + "23735": "failure", + "23736": "failure", + "23737": "failure", + "23738": "failure", + "23739": "infeasible", + "23740": "failure", + "23741": "failure", + "23742": "failure", + "23743": "failure", + "23744": "successful", + "23745": "successful", + "23746": "failure", + "23747": "failure", + "23748": "failure", + "23749": "successful", + "23750": "failure", + "23751": "failure", + "23752": "failure", + "23753": "failure", + "23754": "failure", + "23755": "failure", + "23756": "failure", + "23757": "failure", + "23758": "failure", + "23759": "failure", + "23760": "failure", + "23761": "failure", + "23762": "already_complete", + "23763": "failure", + "23764": "failure", + "23765": "failure", + "23766": "failure", + "23767": "successful", + "23768": "failure", + "23769": "failure", + "23770": "failure", + "23771": "failure", + "23772": "infeasible", + "23773": "failure", + "23774": "failure", + "23775": "failure", + "23776": "failure", + "23777": "infeasible", + "23778": "failure", + "23779": "failure", + "23780": "failure", + "23781": "failure", + "23782": "infeasible", + "23783": "failure", + "23784": "failure", + "23785": "failure", + "23786": "failure", + "23787": "failure", + "23788": "failure", + "23789": "successful", + "23790": "failure", + "23791": "successful", + "23792": "successful", + "23793": "failure", + "23794": "failure", + "23795": "successful", + "23796": "failure", + "23797": "failure", + "23798": "failure", + "23799": "failure", + "23800": "successful", + "23801": "failure", + "23802": "failure", + "23803": "failure", + "23804": "infeasible", + "23805": "failure", + "23806": "failure", + "23807": "failure", + "23808": "failure", + "23809": "failure", + "23810": "failure", + "23811": "failure", + "23812": "infeasible", + "23813": "failure", + "23814": "failure", + "23815": "failure", + "23816": "failure", + "23817": "failure", + "23818": "failure", + "23819": "failure", + "23820": "infeasible", + "23821": "failure", + "23822": "failure", + "23823": "successful", + "23824": "successful", + "23825": "infeasible", + "23826": "failure", + "23827": "failure", + "23828": "failure", + "23829": "failure", + "23830": "failure", + "23831": "failure", + "23832": "failure", + "23833": "failure", + "23834": "failure", + "23835": "failure", + "23836": "failure", + "23837": "failure", + "23838": "successful", + "23839": "failure", + "23840": "failure", + "23841": "failure", + "23842": "failure", + "23843": "failure", + "23844": "failure", + "23845": "infeasible", + "23846": "failure", + "23847": "failure", + "23848": "infeasible", + "23849": "failure", + "23850": "failure", + "23851": "successful", + "23852": "failure", + "23853": "failure", + "23854": "infeasible", + "23855": "failure", + "23856": "failure", + "23857": "failure", + "23858": "infeasible", + "23859": "failure", + "23860": "infeasible", + "23861": "failure", + "23862": "failure", + "23863": "failure", + "23864": "failure", + "23865": "failure", + "23866": "failure", + "23867": "failure", + "23868": "failure", + "23869": "failure", + "23870": "failure", + "23871": "failure", + "23872": "failure", + "23873": "failure", + "23874": "successful", + "23875": "infeasible", + "23876": "failure", + "23877": "infeasible", + "23878": "already_complete", + "23879": "failure", + "23880": "failure", + "23881": "infeasible", + "23882": "failure", + "23883": "failure", + "23884": "failure", + "23885": "failure", + "23886": "failure", + "23887": "failure", + "23888": "failure", + "23889": "failure", + "23890": "infeasible", + "23891": "failure", + "23892": "failure", + "23893": "successful", + "23894": "failure", + "23895": "failure", + "23896": "failure", + "23897": "infeasible", + "23898": "failure", + "23899": "failure", + "23900": "failure", + "23901": "infeasible", + "23902": "failure", + "23903": "successful", + "23904": "successful", + "23905": "failure", + "23906": "failure", + "23907": "failure", + "23908": "failure", + "23909": "failure", + "23910": "failure", + "23911": "failure", + "23912": "failure", + "23913": "failure", + "23914": "failure", + "23915": "infeasible", + "23916": "infeasible", + "23917": "failure", + "23918": "failure", + "23919": "successful", + "23920": "failure", + "23921": "failure", + "23922": "failure", + "23923": "failure", + "23924": "failure", + "23925": "failure", + "23926": "failure", + "23927": "failure", + "23928": "successful", + "23929": "failure", + "23930": "infeasible", + "23931": "failure", + "23932": "failure", + "23933": "failure", + "23934": "successful", + "23935": "failure", + "23936": "failure", + "23937": "failure", + "23938": "failure", + "23939": "infeasible", + "23940": "failure", + "23941": "failure", + "23942": "failure", + "23943": "successful", + "23944": "failure", + "23945": "failure", + "23946": "failure", + "23947": "failure", + "23948": "successful", + "23949": "failure", + "23950": "failure", + "23951": "failure", + "23952": "infeasible", + "23953": "failure", + "23954": "failure", + "23955": "infeasible", + "23956": "successful", + "23957": "failure", + "23958": "infeasible", + "23959": "failure", + "23960": "failure", + "23961": "failure", + "23962": "failure", + "23963": "failure", + "23964": "failure", + "23965": "failure", + "23966": "failure", + "23967": "failure", + "23968": "failure", + "23969": "failure", + "23970": "failure", + "23971": "failure", + "23972": "failure", + "23973": "infeasible", + "23974": "failure", + "23975": "failure", + "23976": "failure", + "23977": "failure", + "23978": "failure", + "23979": "failure", + "23980": "failure", + "23981": "failure", + "23982": "failure", + "23983": "failure", + "23984": "failure", + "23985": "failure", + "23986": "successful", + "23987": "successful", + "23988": "failure", + "23989": "failure", + "23990": "failure", + "23991": "failure", + "23992": "failure", + "23993": "successful", + "23994": "failure", + "23995": "successful", + "23996": "successful", + "23997": "infeasible", + "23998": "failure", + "23999": "infeasible", + "24000": "failure", + "24001": "successful", + "24002": "failure", + "24003": "infeasible", + "24004": "successful", + "24005": "failure", + "24006": "failure", + "24007": "failure", + "24008": "failure", + "24009": "failure", + "24010": "failure", + "24011": "failure", + "24012": "failure", + "24013": "infeasible", + "24014": "failure", + "24015": "failure", + "24016": "failure", + "24017": "failure", + "24018": "failure", + "24019": "failure", + "24020": "successful", + "24021": "failure", + "24022": "failure", + "24023": "failure", + "24024": "failure", + "24025": "failure", + "24026": "failure", + "24027": "failure", + "24028": "successful", + "24029": "failure", + "24030": "already_complete", + "24031": "failure", + "24032": "failure", + "24033": "failure", + "24034": "failure", + "24035": "failure", + "24036": "failure", + "24037": "infeasible", + "24038": "failure", + "24039": "successful", + "24040": "failure", + "24041": "failure", + "24042": "infeasible", + "24043": "failure", + "24044": "failure", + "24045": "failure", + "24046": "failure", + "24047": "successful", + "24048": "successful", + "24049": "failure", + "24050": "failure", + "24051": "successful", + "24052": "failure", + "24053": "successful", + "24054": "failure", + "24055": "successful", + "24056": "infeasible", + "24057": "failure", + "24058": "failure", + "24059": "infeasible", + "24060": "successful", + "24061": "failure", + "24062": "failure", + "24063": "failure", + "24064": "failure", + "24065": "failure", + "24066": "failure", + "24067": "infeasible", + "24068": "infeasible", + "24069": "failure", + "24070": "already_complete", + "24071": "failure", + "24072": "failure", + "24073": "successful", + "24074": "failure", + "24075": "failure", + "24076": "failure", + "24077": "failure", + "24078": "successful", + "24079": "successful", + "24080": "failure", + "24081": "failure", + "24082": "failure", + "24083": "infeasible", + "24084": "infeasible", + "24085": "infeasible", + "24086": "failure", + "24087": "successful", + "24088": "failure", + "24089": "failure", + "24090": "failure", + "24091": "infeasible", + "24092": "failure", + "24093": "failure", + "24094": "failure", + "24095": "failure", + "24096": "failure", + "24097": "infeasible", + "24098": "failure", + "24099": "failure", + "24100": "failure", + "24101": "failure", + "24102": "failure", + "24103": "failure", + "24104": "failure", + "24105": "failure", + "24106": "failure", + "24107": "infeasible", + "24108": "successful", + "24109": "failure", + "24110": "infeasible", + "24111": "successful", + "24112": "failure", + "24113": "failure", + "24114": "failure", + "24115": "failure", + "24116": "failure", + "24117": "failure", + "24118": "infeasible", + "24119": "failure", + "24120": "failure", + "24121": "failure", + "24122": "successful", + "24123": "failure", + "24124": "infeasible", + "24125": "infeasible", + "24126": "failure", + "24127": "failure", + "24128": "failure", + "24129": "failure", + "24130": "failure", + "24131": "infeasible", + "24132": "successful", + "24133": "failure", + "24134": "failure", + "24135": "failure", + "24136": "failure", + "24137": "successful", + "24138": "failure", + "24139": "failure", + "24140": "failure", + "24141": "failure", + "24142": "failure", + "24143": "failure", + "24144": "failure", + "24145": "failure", + "24146": "failure", + "24147": "failure", + "24148": "successful", + "24149": "failure", + "24150": "failure", + "24151": "failure", + "24152": "failure", + "24153": "failure", + "24154": "failure", + "24155": "failure", + "24156": "failure", + "24157": "failure", + "24158": "failure", + "24159": "infeasible", + "24160": "failure", + "24161": "failure", + "24162": "infeasible", + "24163": "infeasible", + "24164": "infeasible", + "24165": "failure", + "24166": "infeasible", + "24167": "failure", + "24168": "failure", + "24169": "failure", + "24170": "failure", + "24171": "failure", + "24172": "failure", + "24173": "failure", + "24174": "failure", + "24175": "already_complete", + "24176": "failure", + "24177": "failure", + "24178": "failure", + "24179": "failure", + "24180": "failure", + "24181": "failure", + "24182": "failure", + "24183": "failure", + "24184": "failure", + "24185": "failure", + "24186": "failure", + "24187": "failure", + "24188": "failure", + "24189": "failure", + "24190": "failure", + "24191": "infeasible", + "24192": "failure", + "24193": "failure", + "24194": "failure", + "24195": "failure", + "24196": "failure", + "24197": "failure", + "24198": "failure", + "24199": "failure", + "24200": "successful", + "24201": "failure", + "24202": "infeasible", + "24203": "successful", + "24204": "failure", + "24205": "infeasible", + "24206": "failure", + "24207": "failure", + "24208": "failure", + "24209": "failure", + "24210": "failure", + "24211": "failure", + "24212": "failure", + "24213": "failure", + "24214": "failure", + "24215": "failure", + "24216": "failure", + "24217": "failure", + "24218": "failure", + "24219": "failure", + "24220": "failure", + "24221": "failure", + "24222": "failure", + "24223": "failure", + "24224": "failure", + "24225": "infeasible", + "24226": "failure", + "24227": "failure", + "24228": "failure", + "24229": "failure", + "24230": "failure", + "24231": "infeasible", + "24232": "failure", + "24233": "failure", + "24234": "failure", + "24235": "failure", + "24236": "failure", + "24237": "failure", + "24238": "failure", + "24239": "failure", + "24240": "failure", + "24241": "successful", + "24242": "successful", + "24243": "failure", + "24244": "failure", + "24245": "failure", + "24246": "infeasible", + "24247": "failure", + "24248": "infeasible", + "24249": "failure", + "24250": "infeasible", + "24251": "failure", + "24252": "failure", + "24253": "failure", + "24254": "failure", + "24255": "failure", + "24256": "failure", + "24257": "failure", + "24258": "failure", + "24259": "failure", + "24260": "failure", + "24261": "failure", + "24262": "failure", + "24263": "failure", + "24264": "failure", + "24265": "infeasible", + "24266": "failure", + "24267": "failure", + "24268": "failure", + "24269": "successful", + "24270": "failure", + "24271": "failure", + "24272": "failure", + "24273": "failure", + "24274": "failure", + "24275": "failure", + "24276": "failure", + "24277": "failure", + "24278": "failure", + "24279": "failure", + "24280": "failure", + "24281": "infeasible", + "24282": "failure", + "24283": "failure", + "24284": "failure", + "24285": "failure", + "24286": "failure", + "24287": "successful", + "24288": "infeasible", + "24289": "failure", + "24290": "failure", + "24291": "successful", + "24292": "infeasible", + "24293": "failure", + "24294": "failure", + "24295": "successful", + "24296": "failure", + "24297": "infeasible", + "24298": "failure", + "24299": "failure", + "24300": "failure", + "24301": "failure", + "24302": "failure", + "24303": "failure", + "24304": "failure", + "24305": "failure", + "24306": "failure", + "24307": "failure", + "24308": "successful", + "24309": "failure", + "24310": "failure", + "24311": "failure", + "24312": "failure", + "24313": "failure", + "24314": "failure", + "24315": "failure", + "24316": "failure", + "24317": "infeasible", + "24318": "failure", + "24319": "failure", + "24320": "failure", + "24321": "failure", + "24322": "failure", + "24323": "failure", + "24324": "failure", + "24325": "failure", + "24326": "failure", + "24327": "failure", + "24328": "successful", + "24329": "failure", + "24330": "successful", + "24331": "failure", + "24332": "failure", + "24333": "failure", + "24334": "failure", + "24335": "failure", + "24336": "failure", + "24337": "failure", + "24338": "failure", + "24339": "failure", + "24340": "failure", + "24341": "infeasible", + "24342": "failure", + "24343": "failure", + "24344": "failure", + "24345": "failure", + "24346": "failure", + "24347": "failure", + "24348": "successful", + "24349": "failure", + "24350": "failure", + "24351": "failure", + "24352": "infeasible", + "24353": "failure", + "24354": "successful", + "24355": "successful", + "24356": "failure", + "24357": "infeasible", + "24358": "failure", + "24359": "failure", + "24360": "infeasible", + "24361": "successful", + "24362": "failure", + "24363": "successful", + "24364": "failure", + "24365": "failure", + "24366": "failure", + "24367": "failure", + "24368": "failure", + "24369": "failure", + "24370": "successful", + "24371": "failure", + "24372": "infeasible", + "24373": "successful", + "24374": "failure", + "24375": "failure", + "24376": "failure", + "24377": "infeasible", + "24378": "failure", + "24379": "failure", + "24380": "successful", + "24381": "failure", + "24382": "failure", + "24383": "failure", + "24384": "infeasible", + "24385": "failure", + "24386": "successful", + "24387": "failure", + "24388": "failure", + "24389": "failure", + "24390": "infeasible", + "24391": "failure", + "24392": "failure", + "24393": "failure", + "24394": "failure", + "24395": "failure", + "24396": "failure", + "24397": "failure", + "24398": "failure", + "24399": "failure", + "24400": "failure", + "24401": "failure", + "24402": "failure", + "24403": "failure", + "24404": "failure", + "24405": "infeasible", + "24406": "failure", + "24407": "failure", + "24408": "failure", + "24409": "failure", + "24410": "failure", + "24411": "failure", + "24412": "infeasible", + "24413": "failure", + "24414": "infeasible", + "24415": "failure", + "24416": "failure", + "24417": "failure", + "24418": "failure", + "24419": "failure", + "24420": "failure", + "24421": "failure", + "24422": "failure", + "24423": "failure", + "24424": "failure", + "24425": "failure", + "24426": "failure", + "24427": "failure", + "24428": "successful", + "24429": "failure", + "24430": "successful", + "24431": "failure", + "24432": "failure", + "24433": "failure", + "24434": "failure", + "24435": "failure", + "24436": "failure", + "24437": "failure", + "24438": "failure", + "24439": "failure", + "24440": "failure", + "24441": "failure", + "24442": "infeasible", + "24443": "failure", + "24444": "failure", + "24445": "failure", + "24446": "failure", + "24447": "failure", + "24448": "failure", + "24449": "failure", + "24450": "infeasible", + "24451": "infeasible", + "24452": "already_complete", + "24453": "failure", + "24454": "failure", + "24455": "failure", + "24456": "failure", + "24457": "failure", + "24458": "failure", + "24459": "failure", + "24460": "failure", + "24461": "failure", + "24462": "successful", + "24463": "failure", + "24464": "failure", + "24465": "failure", + "24466": "failure", + "24467": "failure", + "24468": "failure", + "24469": "successful", + "24470": "already_complete", + "24471": "successful", + "24472": "successful", + "24473": "failure", + "24474": "failure", + "24475": "failure", + "24476": "failure", + "24477": "failure", + "24478": "successful", + "24479": "failure", + "24480": "failure", + "24481": "failure", + "24482": "infeasible", + "24483": "failure", + "24484": "failure", + "24485": "failure", + "24486": "failure", + "24487": "failure", + "24488": "failure", + "24489": "failure", + "24490": "failure", + "24491": "successful", + "24492": "failure", + "24493": "failure", + "24494": "failure", + "24495": "failure", + "24496": "failure", + "24497": "failure", + "24498": "failure", + "24499": "failure", + "24500": "failure", + "24501": "failure", + "24502": "infeasible", + "24503": "successful", + "24504": "failure", + "24505": "failure", + "24506": "failure", + "24507": "failure", + "24508": "successful", + "24509": "failure", + "24510": "failure", + "24511": "failure", + "24512": "failure", + "24513": "infeasible", + "24514": "failure", + "24515": "failure", + "24516": "successful", + "24517": "failure", + "24518": "infeasible", + "24519": "failure", + "24520": "failure", + "24521": "infeasible", + "24522": "failure", + "24523": "failure", + "24524": "failure", + "24525": "failure", + "24526": "failure", + "24527": "failure", + "24528": "failure", + "24529": "failure", + "24530": "failure", + "24531": "failure", + "24532": "failure", + "24533": "successful", + "24534": "failure", + "24535": "failure", + "24536": "failure", + "24537": "successful", + "24538": "successful", + "24539": "successful", + "24540": "successful", + "24541": "failure", + "24542": "failure", + "24543": "failure", + "24544": "failure", + "24545": "infeasible", + "24546": "failure", + "24547": "failure", + "24548": "failure", + "24549": "failure", + "24550": "already_complete", + "24551": "failure", + "24552": "failure", + "24553": "failure", + "24554": "failure", + "24555": "failure", + "24556": "failure", + "24557": "infeasible", + "24558": "failure", + "24559": "failure", + "24560": "failure", + "24561": "failure", + "24562": "failure", + "24563": "failure", + "24564": "failure", + "24565": "failure", + "24566": "failure", + "24567": "failure", + "24568": "failure", + "24569": "failure", + "24570": "failure", + "24571": "failure", + "24572": "failure", + "24573": "infeasible", + "24574": "successful", + "24575": "failure", + "24576": "failure", + "24577": "failure", + "24578": "successful", + "24579": "failure", + "24580": "failure", + "24581": "successful", + "24582": "failure", + "24583": "failure", + "24584": "failure", + "24585": "failure", + "24586": "failure", + "24587": "failure", + "24588": "failure", + "24589": "failure", + "24590": "failure", + "24591": "failure", + "24592": "failure", + "24593": "failure", + "24594": "failure", + "24595": "failure", + "24596": "failure", + "24597": "failure", + "24598": "failure", + "24599": "successful", + "24600": "successful", + "24601": "failure", + "24602": "failure", + "24603": "successful", + "24604": "infeasible", + "24605": "failure", + "24606": "failure", + "24607": "failure", + "24608": "successful", + "24609": "failure", + "24610": "failure", + "24611": "failure", + "24612": "infeasible", + "24613": "failure", + "24614": "failure", + "24615": "failure", + "24616": "failure", + "24617": "failure", + "24618": "failure", + "24619": "failure", + "24620": "failure", + "24621": "failure", + "24622": "infeasible", + "24623": "failure", + "24624": "failure", + "24625": "failure", + "24626": "failure", + "24627": "failure", + "24628": "failure", + "24629": "failure", + "24630": "failure", + "24631": "failure", + "24632": "failure", + "24633": "failure", + "24634": "failure", + "24635": "failure", + "24636": "failure", + "24637": "failure", + "24638": "failure", + "24639": "failure", + "24640": "failure", + "24641": "failure", + "24642": "failure", + "24643": "failure", + "24644": "failure", + "24645": "failure", + "24646": "failure", + "24647": "failure", + "24648": "failure", + "24649": "failure", + "24650": "successful", + "24651": "failure", + "24652": "failure", + "24653": "successful", + "24654": "failure", + "24655": "failure", + "24656": "successful", + "24657": "failure", + "24658": "failure", + "24659": "failure", + "24660": "failure", + "24661": "failure", + "24662": "infeasible", + "24663": "failure", + "24664": "failure", + "24665": "failure", + "24666": "failure", + "24667": "failure", + "24668": "failure", + "24669": "failure", + "24670": "failure", + "24671": "failure", + "24672": "failure", + "24673": "failure", + "24674": "failure", + "24675": "infeasible", + "24676": "failure", + "24677": "failure", + "24678": "failure", + "24679": "failure", + "24680": "failure", + "24681": "failure", + "24682": "failure", + "24683": "infeasible", + "24684": "failure", + "24685": "failure", + "24686": "failure", + "24687": "successful", + "24688": "successful", + "24689": "failure", + "24690": "failure", + "24691": "failure", + "24692": "failure", + "24693": "failure", + "24694": "failure", + "24695": "failure", + "24696": "failure", + "24697": "failure", + "24698": "failure", + "24699": "successful", + "24700": "successful", + "24701": "successful", + "24702": "failure", + "24703": "failure", + "24704": "failure", + "24705": "failure", + "24706": "failure", + "24707": "failure", + "24708": "failure", + "24709": "failure", + "24710": "failure", + "24711": "failure", + "24712": "failure", + "24713": "failure", + "24714": "failure", + "24715": "failure", + "24716": "infeasible", + "24717": "failure", + "24718": "failure", + "24719": "failure", + "24720": "failure", + "24721": "failure", + "24722": "infeasible", + "24723": "failure", + "24724": "failure", + "24725": "failure", + "24726": "failure", + "24727": "infeasible", + "24728": "failure", + "24729": "failure", + "24730": "failure", + "24731": "failure", + "24732": "failure", + "24733": "failure", + "24734": "failure", + "24735": "failure", + "24736": "failure", + "24737": "failure", + "24738": "failure", + "24739": "failure", + "24740": "failure", + "24741": "infeasible", + "24742": "failure", + "24743": "failure", + "24744": "successful", + "24745": "infeasible", + "24746": "failure", + "24747": "failure", + "24748": "successful", + "24749": "failure", + "24750": "failure", + "24751": "infeasible", + "24752": "failure", + "24753": "failure", + "24754": "failure", + "24755": "failure", + "24756": "failure", + "24757": "failure", + "24758": "failure", + "24759": "failure", + "24760": "failure", + "24761": "failure", + "24762": "failure", + "24763": "failure", + "24764": "failure", + "24765": "infeasible", + "24766": "failure", + "24767": "infeasible", + "24768": "failure", + "24769": "infeasible", + "24770": "infeasible", + "24771": "failure", + "24772": "failure", + "24773": "failure", + "24774": "failure", + "24775": "failure", + "24776": "failure", + "24777": "failure", + "24778": "failure", + "24779": "infeasible", + "24780": "failure", + "24781": "failure", + "24782": "failure", + "24783": "failure", + "24784": "failure", + "24785": "failure", + "24786": "failure", + "24787": "failure", + "24788": "failure", + "24789": "failure", + "24790": "failure", + "24791": "successful", + "24792": "failure", + "24793": "failure", + "24794": "failure", + "24795": "failure", + "24796": "failure", + "24797": "failure", + "24798": "failure", + "24799": "failure", + "24800": "failure", + "24801": "failure", + "24802": "failure", + "24803": "failure", + "24804": "failure", + "24805": "successful", + "24806": "failure", + "24807": "failure", + "24808": "failure", + "24809": "infeasible", + "24810": "infeasible", + "24811": "successful", + "24812": "failure", + "24813": "failure", + "24814": "failure", + "24815": "failure", + "24816": "failure", + "24817": "failure", + "24818": "failure", + "24819": "failure", + "24820": "failure", + "24821": "infeasible", + "24822": "failure", + "24823": "failure", + "24824": "failure", + "24825": "failure", + "24826": "failure", + "24827": "failure", + "24828": "failure", + "24829": "failure", + "24830": "failure", + "24831": "failure", + "24832": "failure", + "24833": "failure", + "24834": "failure", + "24835": "infeasible", + "24836": "failure", + "24837": "failure", + "24838": "successful", + "24839": "failure", + "24840": "failure", + "24841": "failure", + "24842": "failure", + "24843": "infeasible", + "24844": "successful", + "24845": "failure", + "24846": "failure", + "24847": "failure", + "24848": "infeasible", + "24849": "infeasible", + "24850": "failure", + "24851": "failure", + "24852": "failure", + "24853": "failure", + "24854": "infeasible", + "24855": "successful", + "24856": "failure", + "24857": "already_complete", + "24858": "failure", + "24859": "failure", + "24860": "failure", + "24861": "failure", + "24862": "failure", + "24863": "failure", + "24864": "failure", + "24865": "failure", + "24866": "failure", + "24867": "failure", + "24868": "failure", + "24869": "failure", + "24870": "failure", + "24871": "failure", + "24872": "failure", + "24873": "failure", + "24874": "failure", + "24875": "failure", + "24876": "failure", + "24877": "failure", + "24878": "failure", + "24879": "failure", + "24880": "already_complete", + "24881": "already_complete", + "24882": "failure", + "24883": "failure", + "24884": "failure", + "24885": "failure", + "24886": "failure", + "24887": "failure", + "24888": "failure", + "24889": "failure", + "24890": "failure", + "24891": "failure", + "24892": "failure", + "24893": "failure", + "24894": "failure", + "24895": "failure", + "24896": "failure", + "24897": "failure", + "24898": "failure", + "24899": "successful", + "24900": "failure", + "24901": "failure", + "24902": "failure", + "24903": "failure", + "24904": "infeasible", + "24905": "failure", + "24906": "failure", + "24907": "failure", + "24908": "failure", + "24909": "failure", + "24910": "failure", + "24911": "failure", + "24912": "infeasible", + "24913": "failure", + "24914": "failure", + "24915": "successful", + "24916": "failure", + "24917": "successful", + "24918": "failure", + "24919": "successful", + "24920": "failure", + "24921": "successful", + "24922": "failure", + "24923": "failure", + "24924": "failure", + "24925": "successful", + "24926": "failure", + "24927": "failure", + "24928": "failure", + "24929": "failure", + "24930": "failure", + "24931": "failure", + "24932": "failure", + "24933": "failure", + "24934": "failure", + "24935": "failure", + "24936": "failure", + "24937": "failure", + "24938": "failure", + "24939": "already_complete", + "24940": "failure", + "24941": "failure", + "24942": "failure", + "24943": "failure", + "24944": "infeasible", + "24945": "failure", + "24946": "failure", + "24947": "failure", + "24948": "failure", + "24949": "failure", + "24950": "failure", + "24951": "failure", + "24952": "failure", + "24953": "infeasible", + "24954": "already_complete", + "24955": "failure", + "24956": "failure", + "24957": "infeasible", + "24958": "failure", + "24959": "failure", + "24960": "failure", + "24961": "infeasible", + "24962": "failure", + "24963": "failure", + "24964": "failure", + "24965": "infeasible", + "24966": "failure", + "24967": "failure", + "24968": "infeasible", + "24969": "successful", + "24970": "failure", + "24971": "already_complete", + "24972": "failure", + "24973": "failure", + "24974": "failure", + "24975": "failure", + "24976": "infeasible", + "24977": "failure", + "24978": "failure", + "24979": "failure", + "24980": "successful", + "24981": "failure", + "24982": "failure", + "24983": "failure", + "24984": "failure", + "24985": "failure", + "24986": "infeasible", + "24987": "failure", + "24988": "failure", + "24989": "failure", + "24990": "failure", + "24991": "failure", + "24992": "failure", + "24993": "failure", + "24994": "failure", + "24995": "failure", + "24996": "failure", + "24997": "failure", + "24998": "failure", + "24999": "failure", + "25000": "infeasible", + "25001": "failure", + "25002": "failure", + "25003": "failure", + "25004": "failure", + "25005": "failure", + "25006": "failure", + "25007": "failure", + "25008": "infeasible", + "25009": "failure", + "25010": "infeasible", + "25011": "failure", + "25012": "failure", + "25013": "failure", + "25014": "infeasible", + "25015": "failure", + "25016": "failure", + "25017": "failure", + "25018": "infeasible", + "25019": "failure", + "25020": "failure", + "25021": "failure", + "25022": "failure", + "25023": "failure", + "25024": "infeasible", + "25025": "failure", + "25026": "failure", + "25027": "failure", + "25028": "failure", + "25029": "failure", + "25030": "failure", + "25031": "failure", + "25032": "successful", + "25033": "failure", + "25034": "infeasible", + "25035": "failure", + "25036": "successful", + "25037": "failure", + "25038": "failure", + "25039": "failure", + "25040": "infeasible", + "25041": "failure", + "25042": "failure", + "25043": "failure", + "25044": "failure", + "25045": "failure", + "25046": "successful", + "25047": "infeasible", + "25048": "failure", + "25049": "failure", + "25050": "failure", + "25051": "failure", + "25052": "already_complete", + "25053": "failure", + "25054": "failure", + "25055": "failure", + "25056": "failure", + "25057": "infeasible", + "25058": "failure", + "25059": "failure", + "25060": "failure", + "25061": "successful", + "25062": "failure", + "25063": "infeasible", + "25064": "failure", + "25065": "failure", + "25066": "infeasible", + "25067": "failure", + "25068": "failure", + "25069": "failure", + "25070": "failure", + "25071": "failure", + "25072": "failure", + "25073": "failure", + "25074": "failure", + "25075": "failure", + "25076": "failure", + "25077": "already_complete", + "25078": "failure", + "25079": "failure", + "25080": "failure", + "25081": "already_complete", + "25082": "failure", + "25083": "failure", + "25084": "infeasible", + "25085": "failure", + "25086": "failure", + "25087": "failure", + "25088": "successful", + "25089": "failure", + "25090": "failure", + "25091": "failure", + "25092": "failure", + "25093": "successful", + "25094": "failure", + "25095": "failure", + "25096": "failure", + "25097": "failure", + "25098": "failure", + "25099": "failure", + "25100": "failure", + "25101": "failure", + "25102": "failure", + "25103": "successful", + "25104": "failure", + "25105": "failure", + "25106": "failure", + "25107": "failure", + "25108": "failure", + "25109": "failure", + "25110": "failure", + "25111": "failure", + "25112": "already_complete", + "25113": "successful", + "25114": "infeasible", + "25115": "failure", + "25116": "failure", + "25117": "failure", + "25118": "failure", + "25119": "failure", + "25120": "failure", + "25121": "failure", + "25122": "failure", + "25123": "failure", + "25124": "failure", + "25125": "failure", + "25126": "failure", + "25127": "failure", + "25128": "failure", + "25129": "failure", + "25130": "failure", + "25131": "failure", + "25132": "successful", + "25133": "failure", + "25134": "failure", + "25135": "failure", + "25136": "successful", + "25137": "failure", + "25138": "successful", + "25139": "failure", + "25140": "failure", + "25141": "infeasible", + "25142": "failure", + "25143": "successful", + "25144": "failure", + "25145": "successful", + "25146": "failure", + "25147": "successful", + "25148": "failure", + "25149": "failure", + "25150": "failure", + "25151": "failure", + "25152": "failure", + "25153": "failure", + "25154": "failure", + "25155": "successful", + "25156": "failure", + "25157": "infeasible", + "25158": "infeasible", + "25159": "failure", + "25160": "failure", + "25161": "failure", + "25162": "failure", + "25163": "failure", + "25164": "infeasible", + "25165": "failure", + "25166": "failure", + "25167": "failure", + "25168": "failure", + "25169": "failure", + "25170": "failure", + "25171": "failure", + "25172": "successful", + "25173": "failure", + "25174": "failure", + "25175": "failure", + "25176": "failure", + "25177": "failure", + "25178": "successful", + "25179": "failure", + "25180": "infeasible", + "25181": "failure", + "25182": "failure", + "25183": "failure", + "25184": "failure", + "25185": "failure", + "25186": "infeasible", + "25187": "failure", + "25188": "failure", + "25189": "failure", + "25190": "failure", + "25191": "failure", + "25192": "infeasible", + "25193": "failure", + "25194": "infeasible", + "25195": "failure", + "25196": "failure", + "25197": "failure", + "25198": "infeasible", + "25199": "failure", + "25200": "failure", + "25201": "failure", + "25202": "infeasible", + "25203": "failure", + "25204": "infeasible", + "25205": "infeasible", + "25206": "failure", + "25207": "successful", + "25208": "infeasible", + "25209": "failure", + "25210": "failure", + "25211": "already_complete", + "25212": "successful", + "25213": "failure", + "25214": "failure", + "25215": "failure", + "25216": "failure", + "25217": "failure", + "25218": "failure", + "25219": "failure", + "25220": "failure", + "25221": "failure", + "25222": "failure", + "25223": "failure", + "25224": "infeasible", + "25225": "failure", + "25226": "failure", + "25227": "failure", + "25228": "failure", + "25229": "successful", + "25230": "failure", + "25231": "failure", + "25232": "failure", + "25233": "failure", + "25234": "failure", + "25235": "failure", + "25236": "failure", + "25237": "failure", + "25238": "failure", + "25239": "successful", + "25240": "failure", + "25241": "failure", + "25242": "failure", + "25243": "failure", + "25244": "successful", + "25245": "failure", + "25246": "failure", + "25247": "failure", + "25248": "failure", + "25249": "failure", + "25250": "failure", + "25251": "failure", + "25252": "failure", + "25253": "successful", + "25254": "failure", + "25255": "successful", + "25256": "infeasible", + "25257": "failure", + "25258": "failure", + "25259": "failure", + "25260": "failure", + "25261": "failure", + "25262": "failure", + "25263": "failure", + "25264": "failure", + "25265": "failure", + "25266": "failure", + "25267": "failure", + "25268": "failure", + "25269": "successful", + "25270": "failure", + "25271": "failure", + "25272": "failure", + "25273": "failure", + "25274": "failure", + "25275": "failure", + "25276": "failure", + "25277": "failure", + "25278": "successful", + "25279": "failure", + "25280": "failure", + "25281": "already_complete", + "25282": "failure", + "25283": "failure", + "25284": "failure", + "25285": "failure", + "25286": "already_complete", + "25287": "failure", + "25288": "failure", + "25289": "infeasible", + "25290": "failure", + "25291": "failure", + "25292": "infeasible", + "25293": "failure", + "25294": "failure", + "25295": "failure", + "25296": "failure", + "25297": "successful", + "25298": "failure", + "25299": "successful", + "25300": "failure", + "25301": "infeasible", + "25302": "failure", + "25303": "failure", + "25304": "infeasible", + "25305": "infeasible", + "25306": "failure", + "25307": "successful", + "25308": "failure", + "25309": "successful", + "25310": "failure", + "25311": "failure", + "25312": "infeasible", + "25313": "failure", + "25314": "already_complete", + "25315": "successful", + "25316": "failure", + "25317": "failure", + "25318": "successful", + "25319": "failure", + "25320": "failure", + "25321": "failure", + "25322": "infeasible", + "25323": "failure", + "25324": "failure", + "25325": "successful", + "25326": "failure", + "25327": "failure", + "25328": "failure", + "25329": "failure", + "25330": "failure", + "25331": "failure", + "25332": "failure", + "25333": "failure", + "25334": "failure", + "25335": "failure", + "25336": "infeasible", + "25337": "failure", + "25338": "failure", + "25339": "infeasible", + "25340": "failure", + "25341": "failure", + "25342": "failure", + "25343": "failure", + "25344": "failure", + "25345": "successful", + "25346": "failure", + "25347": "failure", + "25348": "failure", + "25349": "failure", + "25350": "failure", + "25351": "failure", + "25352": "failure", + "25353": "failure", + "25354": "failure", + "25355": "failure", + "25356": "failure", + "25357": "failure", + "25358": "successful", + "25359": "infeasible", + "25360": "failure", + "25361": "failure", + "25362": "failure", + "25363": "failure", + "25364": "failure", + "25365": "failure", + "25366": "failure", + "25367": "failure", + "25368": "failure", + "25369": "failure", + "25370": "failure", + "25371": "failure", + "25372": "failure", + "25373": "failure", + "25374": "failure", + "25375": "failure", + "25376": "failure", + "25377": "failure", + "25378": "infeasible", + "25379": "successful", + "25380": "infeasible", + "25381": "successful", + "25382": "successful", + "25383": "failure", + "25384": "failure", + "25385": "failure", + "25386": "failure", + "25387": "infeasible", + "25388": "failure", + "25389": "failure", + "25390": "failure", + "25391": "failure", + "25392": "failure", + "25393": "failure", + "25394": "failure", + "25395": "failure", + "25396": "failure", + "25397": "failure", + "25398": "failure", + "25399": "infeasible", + "25400": "failure", + "25401": "failure", + "25402": "failure", + "25403": "failure", + "25404": "failure", + "25405": "failure", + "25406": "failure", + "25407": "successful", + "25408": "failure", + "25409": "failure", + "25410": "failure", + "25411": "failure", + "25412": "failure", + "25413": "infeasible", + "25414": "successful", + "25415": "failure", + "25416": "failure", + "25417": "failure", + "25418": "infeasible", + "25419": "failure", + "25420": "failure", + "25421": "failure", + "25422": "failure", + "25423": "failure", + "25424": "infeasible", + "25425": "failure", + "25426": "failure", + "25427": "failure", + "25428": "successful", + "25429": "failure", + "25430": "failure", + "25431": "failure", + "25432": "failure", + "25433": "failure", + "25434": "failure", + "25435": "infeasible", + "25436": "failure", + "25437": "failure", + "25438": "failure", + "25439": "failure", + "25440": "failure", + "25441": "failure", + "25442": "failure", + "25443": "failure", + "25444": "failure", + "25445": "successful", + "25446": "infeasible", + "25447": "failure", + "25448": "infeasible", + "25449": "failure", + "25450": "failure", + "25451": "successful", + "25452": "successful", + "25453": "failure", + "25454": "failure", + "25455": "infeasible", + "25456": "failure", + "25457": "successful", + "25458": "failure", + "25459": "failure", + "25460": "failure", + "25461": "failure", + "25462": "failure", + "25463": "failure", + "25464": "failure", + "25465": "failure", + "25466": "failure", + "25467": "failure", + "25468": "successful", + "25469": "failure", + "25470": "failure", + "25471": "failure", + "25472": "failure", + "25473": "failure", + "25474": "failure", + "25475": "failure", + "25476": "failure", + "25477": "failure", + "25478": "failure", + "25479": "failure", + "25480": "failure", + "25481": "failure", + "25482": "infeasible", + "25483": "failure", + "25484": "failure", + "25485": "failure", + "25486": "failure", + "25487": "failure", + "25488": "failure", + "25489": "failure", + "25490": "failure", + "25491": "failure", + "25492": "failure", + "25493": "failure", + "25494": "failure", + "25495": "infeasible", + "25496": "failure", + "25497": "infeasible", + "25498": "failure", + "25499": "failure", + "25500": "failure", + "25501": "failure", + "25502": "failure", + "25503": "failure", + "25504": "failure", + "25505": "failure", + "25506": "failure", + "25507": "failure", + "25508": "infeasible", + "25509": "failure", + "25510": "failure", + "25511": "failure", + "25512": "failure", + "25513": "successful", + "25514": "failure", + "25515": "failure", + "25516": "failure", + "25517": "failure", + "25518": "failure", + "25519": "failure", + "25520": "failure", + "25521": "failure", + "25522": "failure", + "25523": "failure", + "25524": "failure", + "25525": "failure", + "25526": "failure", + "25527": "failure", + "25528": "failure", + "25529": "failure", + "25530": "failure", + "25531": "failure", + "25532": "failure", + "25533": "successful", + "25534": "failure", + "25535": "already_complete", + "25536": "failure", + "25537": "successful", + "25538": "failure", + "25539": "failure", + "25540": "failure", + "25541": "failure", + "25542": "failure", + "25543": "failure", + "25544": "failure", + "25545": "failure", + "25546": "failure", + "25547": "failure", + "25548": "failure", + "25549": "failure", + "25550": "failure", + "25551": "failure", + "25552": "failure", + "25553": "failure", + "25554": "failure", + "25555": "infeasible", + "25556": "successful", + "25557": "successful", + "25558": "successful", + "25559": "failure", + "25560": "failure", + "25561": "failure", + "25562": "failure", + "25563": "infeasible", + "25564": "failure", + "25565": "failure", + "25566": "failure", + "25567": "failure", + "25568": "infeasible", + "25569": "failure", + "25570": "successful", + "25571": "failure", + "25572": "failure", + "25573": "failure", + "25574": "failure", + "25575": "failure", + "25576": "successful", + "25577": "failure", + "25578": "failure", + "25579": "failure", + "25580": "failure", + "25581": "failure", + "25582": "infeasible", + "25583": "failure", + "25584": "infeasible", + "25585": "failure", + "25586": "failure", + "25587": "failure", + "25588": "infeasible", + "25589": "failure", + "25590": "failure", + "25591": "infeasible", + "25592": "failure", + "25593": "failure", + "25594": "failure", + "25595": "infeasible", + "25596": "failure", + "25597": "failure", + "25598": "failure", + "25599": "infeasible", + "25600": "failure", + "25601": "successful", + "25602": "infeasible", + "25603": "failure", + "25604": "failure", + "25605": "failure", + "25606": "successful", + "25607": "failure", + "25608": "failure", + "25609": "failure", + "25610": "infeasible", + "25611": "failure", + "25612": "failure", + "25613": "failure", + "25614": "failure", + "25615": "failure", + "25616": "successful", + "25617": "infeasible", + "25618": "failure", + "25619": "failure", + "25620": "failure", + "25621": "failure", + "25622": "failure", + "25623": "successful", + "25624": "failure", + "25625": "failure", + "25626": "infeasible", + "25627": "successful", + "25628": "successful", + "25629": "failure", + "25630": "failure", + "25631": "failure", + "25632": "failure", + "25633": "failure", + "25634": "failure", + "25635": "successful", + "25636": "failure", + "25637": "failure", + "25638": "successful", + "25639": "failure", + "25640": "infeasible", + "25641": "failure", + "25642": "failure", + "25643": "infeasible", + "25644": "failure", + "25645": "failure", + "25646": "failure", + "25647": "failure", + "25648": "successful", + "25649": "successful", + "25650": "failure", + "25651": "infeasible", + "25652": "failure", + "25653": "failure", + "25654": "failure", + "25655": "failure", + "25656": "infeasible", + "25657": "failure", + "25658": "failure", + "25659": "failure", + "25660": "failure", + "25661": "failure", + "25662": "failure", + "25663": "failure", + "25664": "failure", + "25665": "failure", + "25666": "infeasible", + "25667": "failure", + "25668": "infeasible", + "25669": "infeasible", + "25670": "failure", + "25671": "failure", + "25672": "failure", + "25673": "successful", + "25674": "failure", + "25675": "successful", + "25676": "failure", + "25677": "failure", + "25678": "failure", + "25679": "failure", + "25680": "failure", + "25681": "failure", + "25682": "failure", + "25683": "failure", + "25684": "failure", + "25685": "failure", + "25686": "failure", + "25687": "failure", + "25688": "failure", + "25689": "failure", + "25690": "infeasible", + "25691": "failure", + "25692": "failure", + "25693": "failure", + "25694": "failure", + "25695": "failure", + "25696": "successful", + "25697": "failure", + "25698": "failure", + "25699": "failure", + "25700": "infeasible", + "25701": "failure", + "25702": "failure", + "25703": "failure", + "25704": "failure", + "25705": "failure", + "25706": "successful", + "25707": "successful", + "25708": "failure", + "25709": "failure", + "25710": "successful", + "25711": "failure", + "25712": "failure", + "25713": "failure", + "25714": "failure", + "25715": "failure", + "25716": "failure", + "25717": "infeasible", + "25718": "failure", + "25719": "successful", + "25720": "failure", + "25721": "failure", + "25722": "failure", + "25723": "failure", + "25724": "successful", + "25725": "failure", + "25726": "failure", + "25727": "failure", + "25728": "failure", + "25729": "already_complete", + "25730": "failure", + "25731": "successful", + "25732": "failure", + "25733": "failure", + "25734": "failure", + "25735": "failure", + "25736": "failure", + "25737": "failure", + "25738": "failure", + "25739": "successful", + "25740": "failure", + "25741": "successful", + "25742": "failure", + "25743": "successful", + "25744": "successful", + "25745": "failure", + "25746": "successful", + "25747": "failure", + "25748": "failure", + "25749": "failure", + "25750": "failure", + "25751": "failure", + "25752": "failure", + "25753": "failure", + "25754": "infeasible", + "25755": "infeasible", + "25756": "failure", + "25757": "infeasible", + "25758": "failure", + "25759": "failure", + "25760": "infeasible", + "25761": "failure", + "25762": "failure", + "25763": "failure", + "25764": "failure", + "25765": "failure", + "25766": "failure", + "25767": "successful", + "25768": "failure", + "25769": "failure", + "25770": "failure", + "25771": "failure", + "25772": "failure", + "25773": "failure", + "25774": "failure", + "25775": "failure", + "25776": "failure", + "25777": "successful", + "25778": "failure", + "25779": "failure", + "25780": "successful", + "25781": "failure", + "25782": "successful", + "25783": "failure", + "25784": "successful", + "25785": "successful", + "25786": "failure", + "25787": "already_complete", + "25788": "failure", + "25789": "failure", + "25790": "failure", + "25791": "failure", + "25792": "infeasible", + "25793": "successful", + "25794": "successful", + "25795": "failure", + "25796": "failure", + "25797": "successful", + "25798": "failure", + "25799": "successful", + "25800": "failure", + "25801": "failure", + "25802": "failure", + "25803": "failure", + "25804": "failure", + "25805": "failure", + "25806": "failure", + "25807": "failure", + "25808": "successful", + "25809": "failure", + "25810": "failure", + "25811": "failure", + "25812": "failure", + "25813": "failure", + "25814": "failure", + "25815": "failure", + "25816": "failure", + "25817": "failure", + "25818": "failure", + "25819": "failure", + "25820": "failure", + "25821": "infeasible", + "25822": "failure", + "25823": "failure", + "25824": "failure", + "25825": "failure", + "25826": "failure", + "25827": "failure", + "25828": "successful", + "25829": "failure", + "25830": "failure", + "25831": "failure", + "25832": "failure", + "25833": "failure", + "25834": "failure", + "25835": "failure", + "25836": "failure", + "25837": "failure", + "25838": "failure", + "25839": "infeasible", + "25840": "failure", + "25841": "failure", + "25842": "infeasible", + "25843": "successful", + "25844": "successful", + "25845": "failure", + "25846": "failure", + "25847": "failure", + "25848": "failure", + "25849": "failure", + "25850": "failure", + "25851": "failure", + "25852": "failure", + "25853": "failure", + "25854": "failure", + "25855": "failure", + "25856": "failure", + "25857": "failure", + "25858": "failure", + "25859": "failure", + "25860": "failure", + "25861": "failure", + "25862": "failure", + "25863": "infeasible", + "25864": "failure", + "25865": "failure", + "25866": "failure", + "25867": "failure", + "25868": "successful", + "25869": "failure", + "25870": "infeasible", + "25871": "failure", + "25872": "failure", + "25873": "failure", + "25874": "successful", + "25875": "failure", + "25876": "failure", + "25877": "failure", + "25878": "successful", + "25879": "failure", + "25880": "failure", + "25881": "failure", + "25882": "failure", + "25883": "failure", + "25884": "failure", + "25885": "failure", + "25886": "failure", + "25887": "already_complete", + "25888": "failure", + "25889": "infeasible", + "25890": "failure", + "25891": "failure", + "25892": "failure", + "25893": "successful", + "25894": "infeasible", + "25895": "failure", + "25896": "failure", + "25897": "failure", + "25898": "failure", + "25899": "failure", + "25900": "failure", + "25901": "failure", + "25902": "failure", + "25903": "failure", + "25904": "failure", + "25905": "infeasible", + "25906": "failure", + "25907": "successful", + "25908": "failure", + "25909": "failure", + "25910": "failure", + "25911": "infeasible", + "25912": "successful", + "25913": "failure", + "25914": "failure", + "25915": "infeasible", + "25916": "failure", + "25917": "failure", + "25918": "failure", + "25919": "successful", + "25920": "failure", + "25921": "infeasible", + "25922": "failure", + "25923": "failure", + "25924": "failure", + "25925": "failure", + "25926": "failure", + "25927": "failure", + "25928": "failure", + "25929": "failure", + "25930": "successful", + "25931": "failure", + "25932": "failure", + "25933": "failure", + "25934": "successful", + "25935": "failure", + "25936": "failure", + "25937": "failure", + "25938": "failure", + "25939": "failure", + "25940": "infeasible", + "25941": "infeasible", + "25942": "failure", + "25943": "failure", + "25944": "failure", + "25945": "failure", + "25946": "infeasible", + "25947": "failure", + "25948": "failure", + "25949": "failure", + "25950": "successful", + "25951": "failure", + "25952": "successful", + "25953": "infeasible", + "25954": "infeasible", + "25955": "failure", + "25956": "failure", + "25957": "failure", + "25958": "failure", + "25959": "failure", + "25960": "failure", + "25961": "failure", + "25962": "failure", + "25963": "failure", + "25964": "infeasible", + "25965": "failure", + "25966": "failure", + "25967": "failure", + "25968": "failure", + "25969": "failure", + "25970": "failure", + "25971": "failure", + "25972": "failure", + "25973": "failure", + "25974": "failure", + "25975": "failure", + "25976": "failure", + "25977": "failure", + "25978": "infeasible", + "25979": "failure", + "25980": "failure", + "25981": "infeasible", + "25982": "failure", + "25983": "failure", + "25984": "successful", + "25985": "failure", + "25986": "infeasible", + "25987": "failure", + "25988": "failure", + "25989": "failure", + "25990": "failure", + "25991": "failure", + "25992": "failure", + "25993": "failure", + "25994": "infeasible", + "25995": "failure", + "25996": "failure", + "25997": "failure", + "25998": "failure", + "25999": "failure", + "26000": "failure", + "26001": "failure", + "26002": "failure", + "26003": "failure", + "26004": "failure", + "26005": "failure", + "26006": "failure", + "26007": "successful", + "26008": "infeasible", + "26009": "successful", + "26010": "failure", + "26011": "successful", + "26012": "failure", + "26013": "successful", + "26014": "failure", + "26015": "failure", + "26016": "failure", + "26017": "failure", + "26018": "failure", + "26019": "failure", + "26020": "failure", + "26021": "failure", + "26022": "failure", + "26023": "failure", + "26024": "infeasible", + "26025": "infeasible", + "26026": "successful", + "26027": "failure", + "26028": "failure", + "26029": "failure", + "26030": "failure", + "26031": "failure", + "26032": "failure", + "26033": "failure", + "26034": "failure", + "26035": "failure", + "26036": "failure", + "26037": "failure", + "26038": "failure", + "26039": "failure", + "26040": "failure", + "26041": "failure", + "26042": "failure", + "26043": "failure", + "26044": "successful", + "26045": "failure", + "26046": "failure", + "26047": "failure", + "26048": "failure", + "26049": "failure", + "26050": "failure", + "26051": "infeasible", + "26052": "infeasible", + "26053": "infeasible", + "26054": "failure", + "26055": "failure", + "26056": "failure", + "26057": "failure", + "26058": "successful", + "26059": "failure", + "26060": "failure", + "26061": "failure", + "26062": "infeasible", + "26063": "failure", + "26064": "failure", + "26065": "successful", + "26066": "successful", + "26067": "failure", + "26068": "failure", + "26069": "failure", + "26070": "infeasible", + "26071": "failure", + "26072": "infeasible", + "26073": "failure", + "26074": "failure", + "26075": "failure", + "26076": "failure", + "26077": "already_complete", + "26078": "successful", + "26079": "failure", + "26080": "successful", + "26081": "failure", + "26082": "infeasible", + "26083": "failure", + "26084": "failure", + "26085": "failure", + "26086": "failure", + "26087": "failure", + "26088": "failure", + "26089": "failure", + "26090": "failure", + "26091": "failure", + "26092": "failure", + "26093": "failure", + "26094": "failure", + "26095": "failure", + "26096": "failure", + "26097": "failure", + "26098": "failure", + "26099": "failure", + "26100": "failure", + "26101": "failure", + "26102": "successful", + "26103": "failure", + "26104": "failure", + "26105": "failure", + "26106": "failure", + "26107": "failure", + "26108": "failure", + "26109": "failure", + "26110": "failure", + "26111": "failure", + "26112": "infeasible", + "26113": "infeasible", + "26114": "failure", + "26115": "successful", + "26116": "failure", + "26117": "failure", + "26118": "failure", + "26119": "successful", + "26120": "failure", + "26121": "failure", + "26122": "failure", + "26123": "failure", + "26124": "failure", + "26125": "failure", + "26126": "failure", + "26127": "failure", + "26128": "failure", + "26129": "failure", + "26130": "successful", + "26131": "infeasible", + "26132": "failure", + "26133": "failure", + "26134": "failure", + "26135": "infeasible", + "26136": "failure", + "26137": "failure", + "26138": "failure", + "26139": "failure", + "26140": "failure", + "26141": "failure", + "26142": "failure", + "26143": "successful", + "26144": "failure", + "26145": "failure", + "26146": "failure", + "26147": "failure", + "26148": "failure", + "26149": "failure", + "26150": "failure", + "26151": "failure", + "26152": "successful", + "26153": "failure", + "26154": "successful", + "26155": "failure", + "26156": "failure", + "26157": "failure", + "26158": "infeasible", + "26159": "failure", + "26160": "failure", + "26161": "failure", + "26162": "failure", + "26163": "failure", + "26164": "successful", + "26165": "failure", + "26166": "infeasible", + "26167": "successful", + "26168": "failure", + "26169": "infeasible", + "26170": "failure", + "26171": "failure", + "26172": "failure", + "26173": "failure", + "26174": "failure", + "26175": "failure", + "26176": "failure", + "26177": "successful", + "26178": "infeasible", + "26179": "failure", + "26180": "failure", + "26181": "successful", + "26182": "failure", + "26183": "failure", + "26184": "failure", + "26185": "failure", + "26186": "failure", + "26187": "failure", + "26188": "successful", + "26189": "failure", + "26190": "failure", + "26191": "failure", + "26192": "failure", + "26193": "failure", + "26194": "failure", + "26195": "successful", + "26196": "failure", + "26197": "failure", + "26198": "infeasible", + "26199": "failure", + "26200": "failure", + "26201": "failure", + "26202": "successful", + "26203": "failure", + "26204": "failure", + "26205": "failure", + "26206": "failure", + "26207": "failure", + "26208": "infeasible", + "26209": "successful", + "26210": "failure", + "26211": "already_complete", + "26212": "failure", + "26213": "failure", + "26214": "failure", + "26215": "failure", + "26216": "failure", + "26217": "infeasible", + "26218": "failure", + "26219": "failure", + "26220": "failure", + "26221": "failure", + "26222": "failure", + "26223": "failure", + "26224": "successful", + "26225": "failure", + "26226": "failure", + "26227": "infeasible", + "26228": "successful", + "26229": "failure", + "26230": "failure", + "26231": "failure", + "26232": "failure", + "26233": "failure", + "26234": "failure", + "26235": "failure", + "26236": "infeasible", + "26237": "failure", + "26238": "failure", + "26239": "failure", + "26240": "failure", + "26241": "failure", + "26242": "successful", + "26243": "failure", + "26244": "successful", + "26245": "failure", + "26246": "failure", + "26247": "failure", + "26248": "failure", + "26249": "failure", + "26250": "failure", + "26251": "failure", + "26252": "failure", + "26253": "failure", + "26254": "failure", + "26255": "failure", + "26256": "failure", + "26257": "failure", + "26258": "failure", + "26259": "failure", + "26260": "failure", + "26261": "failure", + "26262": "failure", + "26263": "failure", + "26264": "failure", + "26265": "failure", + "26266": "infeasible", + "26267": "failure", + "26268": "failure", + "26269": "failure", + "26270": "failure", + "26271": "failure", + "26272": "failure", + "26273": "infeasible", + "26274": "failure", + "26275": "failure", + "26276": "successful", + "26277": "failure", + "26278": "failure", + "26279": "failure", + "26280": "failure", + "26281": "failure", + "26282": "failure", + "26283": "failure", + "26284": "successful", + "26285": "infeasible", + "26286": "infeasible", + "26287": "failure", + "26288": "failure", + "26289": "failure", + "26290": "failure", + "26291": "failure", + "26292": "failure", + "26293": "successful", + "26294": "failure", + "26295": "failure", + "26296": "successful", + "26297": "failure", + "26298": "failure", + "26299": "infeasible", + "26300": "failure", + "26301": "failure", + "26302": "infeasible", + "26303": "failure", + "26304": "failure", + "26305": "failure", + "26306": "failure", + "26307": "failure", + "26308": "successful", + "26309": "failure", + "26310": "infeasible", + "26311": "failure", + "26312": "failure", + "26313": "failure", + "26314": "failure", + "26315": "failure", + "26316": "failure", + "26317": "failure", + "26318": "failure", + "26319": "failure", + "26320": "failure", + "26321": "successful", + "26322": "failure", + "26323": "failure", + "26324": "failure", + "26325": "failure", + "26326": "failure", + "26327": "successful", + "26328": "failure", + "26329": "failure", + "26330": "failure", + "26331": "failure", + "26332": "failure", + "26333": "failure", + "26334": "infeasible", + "26335": "failure", + "26336": "failure", + "26337": "successful", + "26338": "failure", + "26339": "failure", + "26340": "failure", + "26341": "failure", + "26342": "failure", + "26343": "failure", + "26344": "infeasible", + "26345": "failure", + "26346": "successful", + "26347": "infeasible", + "26348": "failure", + "26349": "failure", + "26350": "failure", + "26351": "failure", + "26352": "failure", + "26353": "successful", + "26354": "failure", + "26355": "failure", + "26356": "failure", + "26357": "failure", + "26358": "failure", + "26359": "failure", + "26360": "infeasible", + "26361": "failure", + "26362": "failure", + "26363": "failure", + "26364": "infeasible", + "26365": "infeasible", + "26366": "failure", + "26367": "failure", + "26368": "successful", + "26369": "failure", + "26370": "infeasible", + "26371": "failure", + "26372": "failure", + "26373": "failure", + "26374": "failure", + "26375": "failure", + "26376": "failure", + "26377": "infeasible", + "26378": "failure", + "26379": "failure", + "26380": "failure", + "26381": "failure", + "26382": "failure", + "26383": "failure", + "26384": "failure", + "26385": "failure", + "26386": "failure", + "26387": "failure", + "26388": "failure", + "26389": "failure", + "26390": "failure", + "26391": "failure", + "26392": "failure", + "26393": "failure", + "26394": "failure", + "26395": "failure", + "26396": "failure", + "26397": "infeasible", + "26398": "infeasible", + "26399": "failure", + "26400": "failure", + "26401": "infeasible", + "26402": "failure", + "26403": "failure", + "26404": "failure", + "26405": "infeasible", + "26406": "failure", + "26407": "successful", + "26408": "failure", + "26409": "failure", + "26410": "infeasible", + "26411": "failure", + "26412": "failure", + "26413": "failure", + "26414": "failure", + "26415": "failure", + "26416": "failure", + "26417": "failure", + "26418": "successful", + "26419": "failure", + "26420": "successful", + "26421": "successful", + "26422": "failure", + "26423": "failure", + "26424": "successful", + "26425": "failure", + "26426": "failure", + "26427": "successful", + "26428": "failure", + "26429": "failure", + "26430": "failure", + "26431": "failure", + "26432": "failure", + "26433": "failure", + "26434": "infeasible", + "26435": "failure", + "26436": "successful", + "26437": "failure", + "26438": "failure", + "26439": "failure", + "26440": "failure", + "26441": "failure", + "26442": "failure", + "26443": "failure", + "26444": "failure", + "26445": "successful", + "26446": "failure", + "26447": "successful", + "26448": "failure", + "26449": "failure", + "26450": "failure", + "26451": "failure", + "26452": "failure", + "26453": "failure", + "26454": "failure", + "26455": "successful", + "26456": "failure", + "26457": "failure", + "26458": "failure", + "26459": "failure", + "26460": "infeasible", + "26461": "failure", + "26462": "infeasible", + "26463": "failure", + "26464": "failure", + "26465": "failure", + "26466": "failure", + "26467": "failure", + "26468": "failure", + "26469": "failure", + "26470": "infeasible", + "26471": "infeasible", + "26472": "failure", + "26473": "failure", + "26474": "failure", + "26475": "infeasible", + "26476": "infeasible", + "26477": "failure", + "26478": "failure", + "26479": "failure", + "26480": "failure", + "26481": "failure", + "26482": "infeasible", + "26483": "failure", + "26484": "failure", + "26485": "infeasible", + "26486": "failure", + "26487": "successful", + "26488": "failure", + "26489": "failure", + "26490": "failure", + "26491": "failure", + "26492": "failure", + "26493": "failure", + "26494": "failure", + "26495": "failure", + "26496": "failure", + "26497": "failure", + "26498": "failure", + "26499": "failure", + "26500": "failure", + "26501": "failure", + "26502": "failure", + "26503": "failure", + "26504": "failure", + "26505": "failure", + "26506": "failure", + "26507": "failure", + "26508": "failure", + "26509": "failure", + "26510": "failure", + "26511": "successful", + "26512": "infeasible", + "26513": "failure", + "26514": "successful", + "26515": "successful", + "26516": "failure", + "26517": "failure", + "26518": "failure", + "26519": "failure", + "26520": "failure", + "26521": "failure", + "26522": "failure", + "26523": "failure", + "26524": "failure", + "26525": "successful", + "26526": "failure", + "26527": "failure", + "26528": "failure", + "26529": "failure", + "26530": "failure", + "26531": "failure", + "26532": "failure", + "26533": "infeasible", + "26534": "failure", + "26535": "failure", + "26536": "already_complete", + "26537": "failure", + "26538": "infeasible", + "26539": "failure", + "26540": "infeasible", + "26541": "infeasible", + "26542": "infeasible", + "26543": "failure", + "26544": "successful", + "26545": "failure", + "26546": "failure", + "26547": "failure", + "26548": "failure", + "26549": "infeasible", + "26550": "failure", + "26551": "failure", + "26552": "infeasible", + "26553": "failure", + "26554": "failure", + "26555": "failure", + "26556": "failure", + "26557": "failure", + "26558": "failure", + "26559": "successful", + "26560": "failure", + "26561": "failure", + "26562": "infeasible", + "26563": "successful", + "26564": "already_complete", + "26565": "successful", + "26566": "failure", + "26567": "successful", + "26568": "failure", + "26569": "failure", + "26570": "failure", + "26571": "failure", + "26572": "failure", + "26573": "failure", + "26574": "failure", + "26575": "failure", + "26576": "failure", + "26577": "failure", + "26578": "failure", + "26579": "failure", + "26580": "failure", + "26581": "failure", + "26582": "failure", + "26583": "failure", + "26584": "failure", + "26585": "failure", + "26586": "failure", + "26587": "failure", + "26588": "successful", + "26589": "failure", + "26590": "failure", + "26591": "failure", + "26592": "failure", + "26593": "failure", + "26594": "failure", + "26595": "infeasible", + "26596": "failure", + "26597": "failure", + "26598": "failure", + "26599": "successful", + "26600": "failure", + "26601": "failure", + "26602": "failure", + "26603": "failure", + "26604": "failure", + "26605": "failure", + "26606": "failure", + "26607": "failure", + "26608": "failure", + "26609": "failure", + "26610": "successful", + "26611": "failure", + "26612": "failure", + "26613": "failure", + "26614": "failure", + "26615": "successful", + "26616": "failure", + "26617": "failure", + "26618": "failure", + "26619": "failure", + "26620": "successful", + "26621": "failure", + "26622": "failure", + "26623": "failure", + "26624": "infeasible", + "26625": "infeasible", + "26626": "failure", + "26627": "failure", + "26628": "failure", + "26629": "failure", + "26630": "failure", + "26631": "infeasible", + "26632": "failure", + "26633": "failure", + "26634": "failure", + "26635": "failure", + "26636": "failure", + "26637": "failure", + "26638": "infeasible", + "26639": "failure", + "26640": "failure", + "26641": "failure", + "26642": "failure", + "26643": "failure", + "26644": "successful", + "26645": "failure", + "26646": "failure", + "26647": "infeasible", + "26648": "successful", + "26649": "failure", + "26650": "failure", + "26651": "successful", + "26652": "failure", + "26653": "successful", + "26654": "successful", + "26655": "failure", + "26656": "failure", + "26657": "failure", + "26658": "failure", + "26659": "failure", + "26660": "failure", + "26661": "failure", + "26662": "failure", + "26663": "failure", + "26664": "infeasible", + "26665": "failure", + "26666": "successful", + "26667": "infeasible", + "26668": "infeasible", + "26669": "successful", + "26670": "failure", + "26671": "successful", + "26672": "failure", + "26673": "failure", + "26674": "failure", + "26675": "failure", + "26676": "failure", + "26677": "failure", + "26678": "failure", + "26679": "successful", + "26680": "failure", + "26681": "failure", + "26682": "failure", + "26683": "failure", + "26684": "failure", + "26685": "failure", + "26686": "failure", + "26687": "successful", + "26688": "failure", + "26689": "successful", + "26690": "failure", + "26691": "failure", + "26692": "failure", + "26693": "infeasible", + "26694": "failure", + "26695": "failure", + "26696": "failure", + "26697": "failure", + "26698": "failure", + "26699": "failure", + "26700": "already_complete", + "26701": "infeasible", + "26702": "failure", + "26703": "failure", + "26704": "failure", + "26705": "failure", + "26706": "failure", + "26707": "infeasible", + "26708": "failure", + "26709": "failure", + "26710": "infeasible", + "26711": "infeasible", + "26712": "infeasible", + "26713": "failure", + "26714": "successful", + "26715": "failure", + "26716": "failure", + "26717": "successful", + "26718": "failure", + "26719": "failure", + "26720": "failure", + "26721": "failure", + "26722": "failure", + "26723": "failure", + "26724": "failure", + "26725": "successful", + "26726": "failure", + "26727": "failure", + "26728": "failure", + "26729": "failure", + "26730": "successful", + "26731": "failure", + "26732": "successful", + "26733": "failure", + "26734": "failure", + "26735": "failure", + "26736": "successful", + "26737": "failure", + "26738": "failure", + "26739": "failure", + "26740": "failure", + "26741": "successful", + "26742": "failure", + "26743": "failure", + "26744": "failure", + "26745": "failure", + "26746": "successful", + "26747": "failure", + "26748": "failure", + "26749": "failure", + "26750": "failure", + "26751": "failure", + "26752": "failure", + "26753": "failure", + "26754": "successful", + "26755": "failure", + "26756": "failure", + "26757": "failure", + "26758": "infeasible", + "26759": "failure", + "26760": "failure", + "26761": "failure", + "26762": "failure", + "26763": "failure", + "26764": "failure", + "26765": "failure", + "26766": "failure", + "26767": "failure", + "26768": "infeasible", + "26769": "failure", + "26770": "failure", + "26771": "successful", + "26772": "successful", + "26773": "failure", + "26774": "failure", + "26775": "failure", + "26776": "infeasible", + "26777": "successful", + "26778": "failure", + "26779": "failure", + "26780": "failure", + "26781": "failure", + "26782": "failure", + "26783": "failure", + "26784": "failure", + "26785": "successful", + "26786": "failure", + "26787": "failure", + "26788": "failure", + "26789": "failure", + "26790": "infeasible", + "26791": "failure", + "26792": "failure", + "26793": "failure", + "26794": "failure", + "26795": "failure", + "26796": "failure", + "26797": "failure", + "26798": "failure", + "26799": "failure", + "26800": "failure", + "26801": "failure", + "26802": "failure", + "26803": "failure", + "26804": "failure", + "26805": "failure", + "26806": "infeasible", + "26807": "failure", + "26808": "failure", + "26809": "failure", + "26810": "failure", + "26811": "failure", + "26812": "failure", + "26813": "failure", + "26814": "successful", + "26815": "failure", + "26816": "failure", + "26817": "failure", + "26818": "failure", + "26819": "failure", + "26820": "failure", + "26821": "failure", + "26822": "failure", + "26823": "failure", + "26824": "failure", + "26825": "infeasible", + "26826": "failure", + "26827": "failure", + "26828": "failure", + "26829": "failure", + "26830": "infeasible", + "26831": "failure", + "26832": "failure", + "26833": "failure", + "26834": "failure", + "26835": "failure", + "26836": "failure", + "26837": "successful", + "26838": "infeasible", + "26839": "failure", + "26840": "failure", + "26841": "failure", + "26842": "failure", + "26843": "failure", + "26844": "failure", + "26845": "successful", + "26846": "successful", + "26847": "failure", + "26848": "failure", + "26849": "failure", + "26850": "failure", + "26851": "failure", + "26852": "failure", + "26853": "failure", + "26854": "failure", + "26855": "failure", + "26856": "failure", + "26857": "already_complete", + "26858": "failure", + "26859": "failure", + "26860": "infeasible", + "26861": "successful", + "26862": "failure", + "26863": "failure", + "26864": "infeasible", + "26865": "failure", + "26866": "failure", + "26867": "failure", + "26868": "failure", + "26869": "failure", + "26870": "failure", + "26871": "failure", + "26872": "failure", + "26873": "failure", + "26874": "failure", + "26875": "failure", + "26876": "failure", + "26877": "failure", + "26878": "failure", + "26879": "failure", + "26880": "failure", + "26881": "failure", + "26882": "successful", + "26883": "failure", + "26884": "failure", + "26885": "failure", + "26886": "failure", + "26887": "successful", + "26888": "failure", + "26889": "failure", + "26890": "failure", + "26891": "failure", + "26892": "failure", + "26893": "failure", + "26894": "failure", + "26895": "failure", + "26896": "infeasible", + "26897": "failure", + "26898": "failure", + "26899": "failure", + "26900": "failure", + "26901": "successful", + "26902": "failure", + "26903": "failure", + "26904": "failure", + "26905": "successful", + "26906": "failure", + "26907": "failure", + "26908": "failure", + "26909": "failure", + "26910": "failure", + "26911": "failure", + "26912": "failure", + "26913": "failure", + "26914": "failure", + "26915": "failure", + "26916": "infeasible", + "26917": "failure", + "26918": "successful", + "26919": "failure", + "26920": "successful", + "26921": "successful", + "26922": "failure", + "26923": "failure", + "26924": "failure", + "26925": "failure", + "26926": "failure", + "26927": "failure", + "26928": "failure", + "26929": "failure", + "26930": "successful", + "26931": "failure", + "26932": "infeasible", + "26933": "failure", + "26934": "failure", + "26935": "failure", + "26936": "already_complete", + "26937": "failure", + "26938": "failure", + "26939": "failure", + "26940": "failure", + "26941": "infeasible", + "26942": "failure", + "26943": "failure", + "26944": "failure", + "26945": "failure", + "26946": "failure", + "26947": "failure", + "26948": "failure", + "26949": "failure", + "26950": "failure", + "26951": "failure", + "26952": "failure", + "26953": "failure", + "26954": "failure", + "26955": "failure", + "26956": "failure", + "26957": "failure", + "26958": "failure", + "26959": "successful", + "26960": "failure", + "26961": "failure", + "26962": "failure", + "26963": "failure", + "26964": "failure", + "26965": "failure", + "26966": "failure", + "26967": "failure", + "26968": "failure", + "26969": "failure", + "26970": "failure", + "26971": "failure", + "26972": "failure", + "26973": "failure", + "26974": "successful", + "26975": "failure", + "26976": "infeasible", + "26977": "failure", + "26978": "failure", + "26979": "failure", + "26980": "failure", + "26981": "failure", + "26982": "failure", + "26983": "infeasible", + "26984": "failure", + "26985": "failure", + "26986": "failure", + "26987": "failure", + "26988": "failure", + "26989": "failure", + "26990": "failure", + "26991": "failure", + "26992": "failure", + "26993": "infeasible", + "26994": "failure", + "26995": "failure", + "26996": "failure", + "26997": "failure", + "26998": "failure", + "26999": "failure", + "27000": "failure", + "27001": "failure", + "27002": "successful", + "27003": "failure", + "27004": "failure", + "27005": "failure", + "27006": "failure", + "27007": "successful", + "27008": "failure", + "27009": "failure", + "27010": "failure", + "27011": "failure", + "27012": "failure", + "27013": "failure", + "27014": "failure", + "27015": "successful", + "27016": "failure", + "27017": "failure", + "27018": "infeasible", + "27019": "infeasible", + "27020": "failure", + "27021": "successful", + "27022": "failure", + "27023": "failure", + "27024": "failure", + "27025": "failure", + "27026": "failure", + "27027": "failure", + "27028": "failure", + "27029": "failure", + "27030": "infeasible", + "27031": "failure", + "27032": "failure", + "27033": "failure", + "27034": "failure", + "27035": "failure", + "27036": "failure", + "27037": "failure", + "27038": "failure", + "27039": "failure", + "27040": "failure", + "27041": "failure", + "27042": "failure", + "27043": "failure", + "27044": "failure", + "27045": "infeasible", + "27046": "successful", + "27047": "failure", + "27048": "failure", + "27049": "failure", + "27050": "failure", + "27051": "failure", + "27052": "infeasible", + "27053": "infeasible", + "27054": "infeasible", + "27055": "failure", + "27056": "failure", + "27057": "already_complete", + "27058": "failure", + "27059": "failure", + "27060": "failure", + "27061": "failure", + "27062": "failure", + "27063": "failure", + "27064": "failure", + "27065": "failure", + "27066": "failure", + "27067": "failure", + "27068": "infeasible", + "27069": "failure", + "27070": "infeasible", + "27071": "failure", + "27072": "failure", + "27073": "failure", + "27074": "failure", + "27075": "failure", + "27076": "infeasible", + "27077": "failure", + "27078": "failure", + "27079": "failure", + "27080": "failure", + "27081": "infeasible", + "27082": "failure", + "27083": "failure", + "27084": "failure", + "27085": "failure", + "27086": "failure", + "27087": "successful", + "27088": "failure", + "27089": "failure", + "27090": "failure", + "27091": "failure", + "27092": "successful", + "27093": "failure", + "27094": "failure", + "27095": "failure", + "27096": "failure", + "27097": "successful", + "27098": "failure", + "27099": "failure", + "27100": "successful", + "27101": "failure", + "27102": "failure", + "27103": "failure", + "27104": "successful", + "27105": "failure", + "27106": "failure", + "27107": "failure", + "27108": "successful", + "27109": "successful", + "27110": "infeasible", + "27111": "infeasible", + "27112": "failure", + "27113": "failure", + "27114": "failure", + "27115": "failure", + "27116": "failure", + "27117": "failure", + "27118": "successful", + "27119": "failure", + "27120": "failure", + "27121": "failure", + "27122": "failure", + "27123": "failure", + "27124": "failure", + "27125": "failure", + "27126": "failure", + "27127": "failure", + "27128": "failure", + "27129": "failure", + "27130": "failure", + "27131": "successful", + "27132": "failure", + "27133": "failure", + "27134": "failure", + "27135": "failure", + "27136": "failure", + "27137": "failure", + "27138": "failure", + "27139": "failure", + "27140": "failure", + "27141": "failure", + "27142": "failure", + "27143": "infeasible", + "27144": "failure", + "27145": "failure", + "27146": "failure", + "27147": "failure", + "27148": "failure", + "27149": "failure", + "27150": "failure", + "27151": "failure", + "27152": "infeasible", + "27153": "failure", + "27154": "failure", + "27155": "successful", + "27156": "infeasible", + "27157": "failure", + "27158": "failure", + "27159": "failure", + "27160": "failure", + "27161": "failure", + "27162": "failure", + "27163": "failure", + "27164": "failure", + "27165": "failure", + "27166": "failure", + "27167": "failure", + "27168": "failure", + "27169": "failure", + "27170": "failure", + "27171": "failure", + "27172": "failure", + "27173": "failure", + "27174": "failure", + "27175": "successful", + "27176": "infeasible", + "27177": "failure", + "27178": "infeasible", + "27179": "failure", + "27180": "successful", + "27181": "failure", + "27182": "failure", + "27183": "failure", + "27184": "failure", + "27185": "failure", + "27186": "failure", + "27187": "failure", + "27188": "infeasible", + "27189": "failure", + "27190": "failure", + "27191": "failure", + "27192": "failure", + "27193": "already_complete", + "27194": "failure", + "27195": "failure", + "27196": "failure", + "27197": "failure", + "27198": "failure", + "27199": "failure", + "27200": "failure", + "27201": "failure", + "27202": "failure", + "27203": "failure", + "27204": "successful", + "27205": "failure", + "27206": "failure", + "27207": "successful", + "27208": "failure", + "27209": "failure", + "27210": "successful", + "27211": "failure", + "27212": "infeasible", + "27213": "failure", + "27214": "infeasible", + "27215": "failure", + "27216": "failure", + "27217": "failure", + "27218": "successful", + "27219": "failure", + "27220": "failure", + "27221": "infeasible", + "27222": "failure", + "27223": "successful", + "27224": "failure", + "27225": "successful", + "27226": "failure", + "27227": "failure", + "27228": "failure", + "27229": "successful", + "27230": "successful", + "27231": "failure", + "27232": "failure", + "27233": "successful", + "27234": "failure", + "27235": "successful", + "27236": "failure", + "27237": "infeasible", + "27238": "infeasible", + "27239": "failure", + "27240": "failure", + "27241": "successful", + "27242": "failure", + "27243": "failure", + "27244": "failure", + "27245": "failure", + "27246": "failure", + "27247": "failure", + "27248": "failure", + "27249": "failure", + "27250": "failure", + "27251": "failure", + "27252": "failure", + "27253": "failure", + "27254": "failure", + "27255": "failure", + "27256": "failure", + "27257": "failure", + "27258": "successful", + "27259": "failure", + "27260": "failure", + "27261": "infeasible", + "27262": "successful", + "27263": "failure", + "27264": "failure", + "27265": "failure", + "27266": "failure", + "27267": "failure", + "27268": "failure", + "27269": "failure", + "27270": "failure", + "27271": "failure", + "27272": "infeasible", + "27273": "failure", + "27274": "failure", + "27275": "failure", + "27276": "failure", + "27277": "failure", + "27278": "failure", + "27279": "failure", + "27280": "failure", + "27281": "successful", + "27282": "failure", + "27283": "failure", + "27284": "failure", + "27285": "failure", + "27286": "already_complete", + "27287": "failure", + "27288": "failure", + "27289": "failure", + "27290": "failure", + "27291": "failure", + "27292": "failure", + "27293": "failure", + "27294": "failure", + "27295": "failure", + "27296": "failure", + "27297": "failure", + "27298": "failure", + "27299": "failure", + "27300": "infeasible", + "27301": "failure", + "27302": "failure", + "27303": "failure", + "27304": "failure", + "27305": "successful", + "27306": "failure", + "27307": "successful", + "27308": "infeasible", + "27309": "failure", + "27310": "failure", + "27311": "failure", + "27312": "failure", + "27313": "failure", + "27314": "failure", + "27315": "successful", + "27316": "failure", + "27317": "failure", + "27318": "infeasible", + "27319": "infeasible", + "27320": "successful", + "27321": "failure", + "27322": "failure", + "27323": "failure", + "27324": "successful", + "27325": "failure", + "27326": "successful", + "27327": "failure", + "27328": "failure", + "27329": "failure", + "27330": "failure", + "27331": "failure", + "27332": "failure", + "27333": "infeasible", + "27334": "failure", + "27335": "failure", + "27336": "failure", + "27337": "failure", + "27338": "failure", + "27339": "successful", + "27340": "successful", + "27341": "failure", + "27342": "infeasible", + "27343": "failure", + "27344": "failure", + "27345": "successful", + "27346": "failure", + "27347": "failure", + "27348": "infeasible", + "27349": "failure", + "27350": "failure", + "27351": "successful", + "27352": "failure", + "27353": "failure", + "27354": "failure", + "27355": "failure", + "27356": "failure", + "27357": "failure", + "27358": "failure", + "27359": "successful", + "27360": "successful", + "27361": "failure", + "27362": "failure", + "27363": "failure", + "27364": "failure", + "27365": "failure", + "27366": "failure", + "27367": "failure", + "27368": "failure", + "27369": "infeasible", + "27370": "failure", + "27371": "failure", + "27372": "failure", + "27373": "successful", + "27374": "successful", + "27375": "failure", + "27376": "failure", + "27377": "failure", + "27378": "infeasible", + "27379": "failure", + "27380": "failure", + "27381": "failure", + "27382": "failure", + "27383": "failure", + "27384": "failure", + "27385": "failure", + "27386": "failure", + "27387": "failure", + "27388": "failure", + "27389": "failure", + "27390": "failure", + "27391": "failure", + "27392": "failure", + "27393": "failure", + "27394": "failure", + "27395": "failure", + "27396": "failure", + "27397": "failure", + "27398": "successful", + "27399": "failure", + "27400": "failure", + "27401": "successful", + "27402": "failure", + "27403": "failure", + "27404": "failure", + "27405": "failure", + "27406": "failure", + "27407": "failure", + "27408": "failure", + "27409": "failure", + "27410": "failure", + "27411": "failure", + "27412": "failure", + "27413": "failure", + "27414": "successful", + "27415": "failure", + "27416": "failure", + "27417": "failure", + "27418": "failure", + "27419": "failure", + "27420": "infeasible", + "27421": "successful", + "27422": "failure", + "27423": "successful", + "27424": "failure", + "27425": "failure", + "27426": "failure", + "27427": "failure", + "27428": "failure", + "27429": "infeasible", + "27430": "failure", + "27431": "failure", + "27432": "infeasible", + "27433": "failure", + "27434": "failure", + "27435": "failure", + "27436": "failure", + "27437": "failure", + "27438": "successful", + "27439": "failure", + "27440": "failure", + "27441": "failure", + "27442": "failure", + "27443": "failure", + "27444": "failure", + "27445": "failure", + "27446": "failure", + "27447": "failure", + "27448": "successful", + "27449": "failure", + "27450": "failure", + "27451": "infeasible", + "27452": "failure", + "27453": "failure", + "27454": "failure", + "27455": "failure", + "27456": "failure", + "27457": "failure", + "27458": "failure", + "27459": "infeasible", + "27460": "failure", + "27461": "successful", + "27462": "failure", + "27463": "failure", + "27464": "successful", + "27465": "failure", + "27466": "failure", + "27467": "failure", + "27468": "failure", + "27469": "failure", + "27470": "failure", + "27471": "failure", + "27472": "successful", + "27473": "failure", + "27474": "failure", + "27475": "successful", + "27476": "infeasible", + "27477": "failure", + "27478": "failure", + "27479": "failure", + "27480": "failure", + "27481": "failure", + "27482": "failure", + "27483": "failure", + "27484": "failure", + "27485": "failure", + "27486": "successful", + "27487": "failure", + "27488": "infeasible", + "27489": "failure", + "27490": "failure", + "27491": "failure", + "27492": "failure", + "27493": "failure", + "27494": "failure", + "27495": "failure", + "27496": "failure", + "27497": "failure", + "27498": "failure", + "27499": "failure", + "27500": "failure", + "27501": "failure", + "27502": "infeasible", + "27503": "failure", + "27504": "failure", + "27505": "failure", + "27506": "failure", + "27507": "failure", + "27508": "failure", + "27509": "infeasible", + "27510": "failure", + "27511": "failure", + "27512": "failure", + "27513": "failure", + "27514": "failure", + "27515": "failure", + "27516": "failure", + "27517": "failure", + "27518": "failure", + "27519": "failure", + "27520": "successful", + "27521": "failure", + "27522": "failure", + "27523": "failure", + "27524": "failure", + "27525": "failure", + "27526": "failure", + "27527": "successful", + "27528": "failure", + "27529": "failure", + "27530": "failure", + "27531": "failure", + "27532": "successful", + "27533": "failure", + "27534": "failure", + "27535": "successful", + "27536": "failure", + "27537": "failure", + "27538": "failure", + "27539": "failure", + "27540": "failure", + "27541": "infeasible", + "27542": "infeasible", + "27543": "failure", + "27544": "failure", + "27545": "failure", + "27546": "infeasible", + "27547": "failure", + "27548": "failure", + "27549": "failure", + "27550": "infeasible", + "27551": "failure", + "27552": "failure", + "27553": "failure", + "27554": "failure", + "27555": "failure", + "27556": "failure", + "27557": "failure", + "27558": "failure", + "27559": "infeasible", + "27560": "failure", + "27561": "failure", + "27562": "failure", + "27563": "failure", + "27564": "failure", + "27565": "failure", + "27566": "failure", + "27567": "failure", + "27568": "successful", + "27569": "failure", + "27570": "failure", + "27571": "failure", + "27572": "failure", + "27573": "failure", + "27574": "infeasible", + "27575": "failure", + "27576": "failure", + "27577": "failure", + "27578": "failure", + "27579": "failure", + "27580": "failure", + "27581": "failure", + "27582": "failure", + "27583": "failure", + "27584": "failure", + "27585": "failure", + "27586": "failure", + "27587": "successful", + "27588": "infeasible", + "27589": "failure", + "27590": "failure", + "27591": "failure", + "27592": "failure", + "27593": "failure", + "27594": "failure", + "27595": "failure", + "27596": "failure", + "27597": "failure", + "27598": "failure", + "27599": "failure", + "27600": "failure", + "27601": "failure", + "27602": "failure", + "27603": "failure", + "27604": "failure", + "27605": "failure", + "27606": "failure", + "27607": "successful", + "27608": "failure", + "27609": "failure", + "27610": "failure", + "27611": "failure", + "27612": "successful", + "27613": "successful", + "27614": "failure", + "27615": "infeasible", + "27616": "failure", + "27617": "infeasible", + "27618": "failure", + "27619": "failure", + "27620": "failure", + "27621": "failure", + "27622": "failure", + "27623": "infeasible", + "27624": "failure", + "27625": "failure", + "27626": "infeasible", + "27627": "failure", + "27628": "failure", + "27629": "failure", + "27630": "infeasible", + "27631": "infeasible", + "27632": "successful", + "27633": "infeasible", + "27634": "failure", + "27635": "failure", + "27636": "failure", + "27637": "failure", + "27638": "infeasible", + "27639": "failure", + "27640": "failure", + "27641": "infeasible", + "27642": "successful", + "27643": "failure", + "27644": "failure", + "27645": "failure", + "27646": "failure", + "27647": "failure", + "27648": "failure", + "27649": "failure", + "27650": "failure", + "27651": "failure", + "27652": "failure", + "27653": "failure", + "27654": "failure", + "27655": "failure", + "27656": "failure", + "27657": "failure", + "27658": "successful", + "27659": "failure", + "27660": "failure", + "27661": "failure", + "27662": "infeasible", + "27663": "infeasible", + "27664": "successful", + "27665": "infeasible", + "27666": "failure", + "27667": "failure", + "27668": "failure", + "27669": "failure", + "27670": "failure", + "27671": "failure", + "27672": "failure", + "27673": "successful", + "27674": "failure", + "27675": "failure", + "27676": "infeasible", + "27677": "failure", + "27678": "failure", + "27679": "failure", + "27680": "failure", + "27681": "failure", + "27682": "successful", + "27683": "failure", + "27684": "failure", + "27685": "failure", + "27686": "failure", + "27687": "successful", + "27688": "failure", + "27689": "failure", + "27690": "failure", + "27691": "failure", + "27692": "failure", + "27693": "infeasible", + "27694": "failure", + "27695": "failure", + "27696": "successful", + "27697": "failure", + "27698": "failure", + "27699": "failure", + "27700": "failure", + "27701": "failure", + "27702": "failure", + "27703": "failure", + "27704": "infeasible", + "27705": "failure", + "27706": "failure", + "27707": "failure", + "27708": "infeasible", + "27709": "failure", + "27710": "failure", + "27711": "failure", + "27712": "failure", + "27713": "failure", + "27714": "failure", + "27715": "infeasible", + "27716": "failure", + "27717": "failure", + "27718": "failure", + "27719": "failure", + "27720": "failure", + "27721": "failure", + "27722": "failure", + "27723": "failure", + "27724": "failure", + "27725": "failure", + "27726": "infeasible", + "27727": "successful", + "27728": "failure", + "27729": "infeasible", + "27730": "failure", + "27731": "infeasible", + "27732": "failure", + "27733": "failure", + "27734": "failure", + "27735": "successful", + "27736": "successful", + "27737": "failure", + "27738": "failure", + "27739": "failure", + "27740": "failure", + "27741": "failure", + "27742": "failure", + "27743": "failure", + "27744": "failure", + "27745": "failure", + "27746": "successful", + "27747": "failure", + "27748": "failure", + "27749": "failure", + "27750": "failure", + "27751": "failure", + "27752": "failure", + "27753": "failure", + "27754": "infeasible", + "27755": "failure", + "27756": "failure", + "27757": "failure", + "27758": "failure", + "27759": "successful", + "27760": "failure", + "27761": "failure", + "27762": "successful", + "27763": "successful", + "27764": "failure", + "27765": "failure", + "27766": "already_complete", + "27767": "failure", + "27768": "failure", + "27769": "failure", + "27770": "failure", + "27771": "failure", + "27772": "failure", + "27773": "failure", + "27774": "failure", + "27775": "failure", + "27776": "failure", + "27777": "failure", + "27778": "failure", + "27779": "failure", + "27780": "infeasible", + "27781": "failure", + "27782": "successful", + "27783": "failure", + "27784": "failure", + "27785": "failure", + "27786": "failure", + "27787": "failure", + "27788": "failure", + "27789": "failure", + "27790": "failure", + "27791": "failure", + "27792": "failure", + "27793": "failure", + "27794": "failure", + "27795": "infeasible", + "27796": "failure", + "27797": "successful", + "27798": "failure", + "27799": "failure", + "27800": "failure", + "27801": "failure", + "27802": "failure", + "27803": "failure", + "27804": "failure", + "27805": "successful", + "27806": "failure", + "27807": "failure", + "27808": "failure", + "27809": "failure", + "27810": "failure", + "27811": "failure", + "27812": "failure", + "27813": "successful", + "27814": "failure", + "27815": "failure", + "27816": "failure", + "27817": "failure", + "27818": "failure", + "27819": "successful", + "27820": "failure", + "27821": "failure", + "27822": "failure", + "27823": "failure", + "27824": "failure", + "27825": "failure", + "27826": "failure", + "27827": "infeasible", + "27828": "failure", + "27829": "infeasible", + "27830": "failure", + "27831": "successful", + "27832": "failure", + "27833": "failure", + "27834": "failure", + "27835": "infeasible", + "27836": "failure", + "27837": "infeasible", + "27838": "failure", + "27839": "failure", + "27840": "failure", + "27841": "failure", + "27842": "failure", + "27843": "failure", + "27844": "failure", + "27845": "failure", + "27846": "infeasible", + "27847": "failure", + "27848": "failure", + "27849": "failure", + "27850": "failure", + "27851": "infeasible", + "27852": "failure", + "27853": "failure", + "27854": "failure", + "27855": "failure", + "27856": "infeasible", + "27857": "failure", + "27858": "failure", + "27859": "infeasible", + "27860": "failure", + "27861": "failure", + "27862": "failure", + "27863": "failure", + "27864": "failure", + "27865": "failure", + "27866": "failure", + "27867": "failure", + "27868": "infeasible", + "27869": "failure", + "27870": "failure", + "27871": "failure", + "27872": "infeasible", + "27873": "failure", + "27874": "failure", + "27875": "failure", + "27876": "successful", + "27877": "successful", + "27878": "infeasible", + "27879": "failure", + "27880": "failure", + "27881": "failure", + "27882": "failure", + "27883": "already_complete", + "27884": "failure", + "27885": "failure", + "27886": "failure", + "27887": "failure", + "27888": "failure", + "27889": "failure", + "27890": "failure", + "27891": "failure", + "27892": "failure", + "27893": "failure", + "27894": "failure", + "27895": "failure", + "27896": "failure", + "27897": "failure", + "27898": "already_complete", + "27899": "failure", + "27900": "successful", + "27901": "failure", + "27902": "failure", + "27903": "failure", + "27904": "failure", + "27905": "failure", + "27906": "failure", + "27907": "infeasible", + "27908": "failure", + "27909": "successful", + "27910": "failure", + "27911": "infeasible", + "27912": "failure", + "27913": "failure", + "27914": "failure", + "27915": "failure", + "27916": "failure", + "27917": "failure", + "27918": "failure", + "27919": "failure", + "27920": "infeasible", + "27921": "infeasible", + "27922": "failure", + "27923": "failure", + "27924": "failure", + "27925": "failure", + "27926": "failure", + "27927": "failure", + "27928": "failure", + "27929": "failure", + "27930": "successful", + "27931": "failure", + "27932": "failure", + "27933": "infeasible", + "27934": "failure", + "27935": "failure", + "27936": "failure", + "27937": "failure", + "27938": "failure", + "27939": "failure", + "27940": "infeasible", + "27941": "failure", + "27942": "infeasible", + "27943": "failure", + "27944": "failure", + "27945": "failure", + "27946": "failure", + "27947": "failure", + "27948": "failure", + "27949": "failure", + "27950": "failure", + "27951": "failure", + "27952": "failure", + "27953": "failure", + "27954": "successful", + "27955": "infeasible", + "27956": "failure", + "27957": "infeasible", + "27958": "failure", + "27959": "failure", + "27960": "infeasible", + "27961": "failure", + "27962": "failure", + "27963": "failure", + "27964": "failure", + "27965": "failure", + "27966": "failure", + "27967": "failure", + "27968": "failure", + "27969": "failure", + "27970": "successful", + "27971": "failure", + "27972": "failure", + "27973": "infeasible", + "27974": "failure", + "27975": "infeasible", + "27976": "failure", + "27977": "failure", + "27978": "failure", + "27979": "failure", + "27980": "failure", + "27981": "failure", + "27982": "failure", + "27983": "failure", + "27984": "failure", + "27985": "failure", + "27986": "failure", + "27987": "infeasible", + "27988": "failure", + "27989": "failure", + "27990": "failure", + "27991": "failure", + "27992": "failure", + "27993": "infeasible", + "27994": "failure", + "27995": "infeasible", + "27996": "failure", + "27997": "already_complete", + "27998": "failure", + "27999": "already_complete", + "28000": "failure", + "28001": "failure", + "28002": "failure", + "28003": "failure", + "28004": "failure", + "28005": "failure", + "28006": "failure", + "28007": "failure", + "28008": "failure", + "28009": "successful", + "28010": "successful", + "28011": "successful", + "28012": "failure", + "28013": "infeasible", + "28014": "infeasible", + "28015": "infeasible", + "28016": "failure", + "28017": "infeasible", + "28018": "failure", + "28019": "failure", + "28020": "failure", + "28021": "failure", + "28022": "infeasible", + "28023": "failure", + "28024": "infeasible", + "28025": "failure", + "28026": "failure", + "28027": "failure", + "28028": "failure", + "28029": "failure", + "28030": "infeasible", + "28031": "infeasible", + "28032": "failure", + "28033": "infeasible", + "28034": "failure", + "28035": "failure", + "28036": "failure", + "28037": "failure", + "28038": "successful", + "28039": "failure", + "28040": "failure", + "28041": "failure", + "28042": "failure", + "28043": "failure", + "28044": "failure", + "28045": "failure", + "28046": "failure", + "28047": "successful", + "28048": "failure", + "28049": "failure", + "28050": "failure", + "28051": "failure", + "28052": "failure", + "28053": "failure", + "28054": "failure", + "28055": "failure", + "28056": "failure", + "28057": "failure", + "28058": "failure", + "28059": "failure", + "28060": "failure", + "28061": "failure", + "28062": "failure", + "28063": "successful", + "28064": "successful", + "28065": "failure", + "28066": "failure", + "28067": "failure", + "28068": "failure", + "28069": "failure", + "28070": "failure", + "28071": "failure", + "28072": "failure", + "28073": "failure", + "28074": "failure", + "28075": "failure", + "28076": "successful", + "28077": "infeasible", + "28078": "failure", + "28079": "failure", + "28080": "failure", + "28081": "failure", + "28082": "failure", + "28083": "failure", + "28084": "failure", + "28085": "failure", + "28086": "failure", + "28087": "failure", + "28088": "successful", + "28089": "failure", + "28090": "successful", + "28091": "failure", + "28092": "failure", + "28093": "failure", + "28094": "failure", + "28095": "failure", + "28096": "failure", + "28097": "failure", + "28098": "failure", + "28099": "failure", + "28100": "failure", + "28101": "failure", + "28102": "successful", + "28103": "successful", + "28104": "failure", + "28105": "infeasible", + "28106": "failure", + "28107": "failure", + "28108": "failure", + "28109": "failure", + "28110": "failure", + "28111": "failure", + "28112": "failure", + "28113": "failure", + "28114": "failure", + "28115": "infeasible", + "28116": "infeasible", + "28117": "successful", + "28118": "failure", + "28119": "failure", + "28120": "failure", + "28121": "infeasible", + "28122": "failure", + "28123": "failure", + "28124": "failure", + "28125": "failure", + "28126": "failure", + "28127": "failure", + "28128": "failure", + "28129": "failure", + "28130": "failure", + "28131": "infeasible", + "28132": "successful", + "28133": "successful", + "28134": "failure", + "28135": "failure", + "28136": "failure", + "28137": "failure", + "28138": "failure", + "28139": "failure", + "28140": "failure", + "28141": "successful", + "28142": "failure", + "28143": "infeasible", + "28144": "failure", + "28145": "infeasible", + "28146": "failure", + "28147": "failure", + "28148": "failure", + "28149": "failure", + "28150": "failure", + "28151": "failure", + "28152": "failure", + "28153": "successful", + "28154": "infeasible", + "28155": "failure", + "28156": "failure", + "28157": "failure", + "28158": "failure", + "28159": "successful", + "28160": "failure", + "28161": "failure", + "28162": "successful", + "28163": "successful", + "28164": "failure", + "28165": "failure", + "28166": "successful", + "28167": "failure", + "28168": "successful", + "28169": "failure", + "28170": "infeasible", + "28171": "failure", + "28172": "failure", + "28173": "infeasible", + "28174": "successful", + "28175": "successful", + "28176": "failure", + "28177": "failure", + "28178": "failure", + "28179": "successful", + "28180": "failure", + "28181": "infeasible", + "28182": "infeasible", + "28183": "failure", + "28184": "failure", + "28185": "infeasible", + "28186": "failure", + "28187": "failure", + "28188": "failure", + "28189": "failure", + "28190": "infeasible", + "28191": "failure", + "28192": "successful", + "28193": "failure", + "28194": "infeasible", + "28195": "failure", + "28196": "failure", + "28197": "failure", + "28198": "infeasible", + "28199": "failure", + "28200": "failure", + "28201": "failure", + "28202": "successful", + "28203": "failure", + "28204": "failure", + "28205": "failure", + "28206": "failure", + "28207": "failure", + "28208": "failure", + "28209": "successful", + "28210": "failure", + "28211": "failure", + "28212": "failure", + "28213": "failure", + "28214": "failure", + "28215": "failure", + "28216": "failure", + "28217": "failure", + "28218": "failure", + "28219": "failure", + "28220": "failure", + "28221": "failure", + "28222": "successful", + "28223": "failure", + "28224": "failure", + "28225": "failure", + "28226": "failure", + "28227": "failure", + "28228": "successful", + "28229": "failure", + "28230": "failure", + "28231": "failure", + "28232": "failure", + "28233": "failure", + "28234": "failure", + "28235": "failure", + "28236": "failure", + "28237": "successful", + "28238": "failure", + "28239": "failure", + "28240": "failure", + "28241": "failure", + "28242": "successful", + "28243": "failure", + "28244": "failure", + "28245": "successful", + "28246": "infeasible", + "28247": "failure", + "28248": "failure", + "28249": "infeasible", + "28250": "failure", + "28251": "failure", + "28252": "failure", + "28253": "failure", + "28254": "failure", + "28255": "failure", + "28256": "failure", + "28257": "successful", + "28258": "failure", + "28259": "infeasible", + "28260": "failure", + "28261": "failure", + "28262": "failure", + "28263": "infeasible", + "28264": "infeasible", + "28265": "failure", + "28266": "failure", + "28267": "failure", + "28268": "failure", + "28269": "failure", + "28270": "failure", + "28271": "failure", + "28272": "failure", + "28273": "failure", + "28274": "failure", + "28275": "failure", + "28276": "failure", + "28277": "successful", + "28278": "failure", + "28279": "already_complete", + "28280": "failure", + "28281": "failure", + "28282": "failure", + "28283": "infeasible", + "28284": "failure", + "28285": "failure", + "28286": "successful", + "28287": "failure", + "28288": "failure", + "28289": "failure", + "28290": "failure", + "28291": "successful", + "28292": "failure", + "28293": "failure", + "28294": "failure", + "28295": "failure", + "28296": "failure", + "28297": "failure", + "28298": "failure", + "28299": "failure", + "28300": "failure", + "28301": "failure", + "28302": "failure", + "28303": "successful", + "28304": "failure", + "28305": "failure", + "28306": "failure", + "28307": "failure", + "28308": "infeasible", + "28309": "failure", + "28310": "failure", + "28311": "failure", + "28312": "failure", + "28313": "successful", + "28314": "failure", + "28315": "successful", + "28316": "failure", + "28317": "failure", + "28318": "failure", + "28319": "failure", + "28320": "failure", + "28321": "infeasible", + "28322": "failure", + "28323": "failure", + "28324": "failure", + "28325": "failure", + "28326": "failure", + "28327": "failure", + "28328": "infeasible", + "28329": "failure", + "28330": "failure", + "28331": "failure", + "28332": "failure", + "28333": "failure", + "28334": "failure", + "28335": "failure", + "28336": "failure", + "28337": "successful", + "28338": "failure", + "28339": "failure", + "28340": "failure", + "28341": "failure", + "28342": "failure", + "28343": "failure", + "28344": "failure", + "28345": "infeasible", + "28346": "successful", + "28347": "failure", + "28348": "failure", + "28349": "failure", + "28350": "failure", + "28351": "failure", + "28352": "failure", + "28353": "failure", + "28354": "infeasible", + "28355": "failure", + "28356": "failure", + "28357": "failure", + "28358": "infeasible", + "28359": "failure", + "28360": "failure", + "28361": "failure", + "28362": "failure", + "28363": "failure", + "28364": "infeasible", + "28365": "failure", + "28366": "failure", + "28367": "successful", + "28368": "failure", + "28369": "infeasible", + "28370": "failure", + "28371": "successful", + "28372": "failure", + "28373": "failure", + "28374": "failure", + "28375": "failure", + "28376": "failure", + "28377": "successful", + "28378": "failure", + "28379": "failure", + "28380": "already_complete", + "28381": "failure", + "28382": "failure", + "28383": "failure", + "28384": "failure", + "28385": "infeasible", + "28386": "failure", + "28387": "failure", + "28388": "failure", + "28389": "failure", + "28390": "infeasible", + "28391": "infeasible", + "28392": "failure", + "28393": "failure", + "28394": "failure", + "28395": "failure", + "28396": "failure", + "28397": "failure", + "28398": "failure", + "28399": "infeasible", + "28400": "successful", + "28401": "failure", + "28402": "failure", + "28403": "infeasible", + "28404": "failure", + "28405": "failure", + "28406": "infeasible", + "28407": "failure", + "28408": "infeasible", + "28409": "failure", + "28410": "failure", + "28411": "failure", + "28412": "failure", + "28413": "failure", + "28414": "failure", + "28415": "already_complete", + "28416": "failure", + "28417": "failure", + "28418": "failure", + "28419": "failure", + "28420": "failure", + "28421": "failure", + "28422": "failure", + "28423": "failure", + "28424": "failure", + "28425": "failure", + "28426": "failure", + "28427": "failure", + "28428": "failure", + "28429": "failure", + "28430": "failure", + "28431": "failure", + "28432": "infeasible", + "28433": "failure", + "28434": "failure", + "28435": "failure", + "28436": "failure", + "28437": "successful", + "28438": "failure", + "28439": "failure", + "28440": "failure", + "28441": "failure", + "28442": "infeasible", + "28443": "failure", + "28444": "failure", + "28445": "successful", + "28446": "failure", + "28447": "failure", + "28448": "failure", + "28449": "failure", + "28450": "failure", + "28451": "failure", + "28452": "failure", + "28453": "failure", + "28454": "failure", + "28455": "failure", + "28456": "failure", + "28457": "failure", + "28458": "failure", + "28459": "infeasible", + "28460": "failure", + "28461": "infeasible", + "28462": "failure", + "28463": "successful", + "28464": "failure", + "28465": "failure", + "28466": "infeasible", + "28467": "failure", + "28468": "successful", + "28469": "failure", + "28470": "failure", + "28471": "failure", + "28472": "failure", + "28473": "failure", + "28474": "failure", + "28475": "infeasible", + "28476": "successful", + "28477": "failure", + "28478": "failure", + "28479": "failure", + "28480": "successful", + "28481": "failure", + "28482": "failure", + "28483": "failure", + "28484": "failure", + "28485": "failure", + "28486": "failure", + "28487": "failure", + "28488": "successful", + "28489": "failure", + "28490": "failure", + "28491": "failure", + "28492": "failure", + "28493": "failure", + "28494": "failure", + "28495": "failure", + "28496": "failure", + "28497": "failure", + "28498": "successful", + "28499": "infeasible", + "28500": "failure", + "28501": "infeasible", + "28502": "failure", + "28503": "successful", + "28504": "failure", + "28505": "failure", + "28506": "failure", + "28507": "failure", + "28508": "failure", + "28509": "failure", + "28510": "failure", + "28511": "failure", + "28512": "failure", + "28513": "failure", + "28514": "failure", + "28515": "failure", + "28516": "failure", + "28517": "failure", + "28518": "failure", + "28519": "failure", + "28520": "infeasible", + "28521": "failure", + "28522": "failure", + "28523": "failure", + "28524": "failure", + "28525": "successful", + "28526": "failure", + "28527": "successful", + "28528": "failure", + "28529": "failure", + "28530": "successful", + "28531": "failure", + "28532": "failure", + "28533": "failure", + "28534": "failure", + "28535": "failure", + "28536": "infeasible", + "28537": "failure", + "28538": "failure", + "28539": "failure", + "28540": "failure", + "28541": "infeasible", + "28542": "failure", + "28543": "successful", + "28544": "failure", + "28545": "failure", + "28546": "failure", + "28547": "failure", + "28548": "already_complete", + "28549": "failure", + "28550": "infeasible", + "28551": "failure", + "28552": "infeasible", + "28553": "successful", + "28554": "successful", + "28555": "failure", + "28556": "failure", + "28557": "failure", + "28558": "failure", + "28559": "failure", + "28560": "failure", + "28561": "failure", + "28562": "successful", + "28563": "infeasible", + "28564": "failure", + "28565": "failure", + "28566": "successful", + "28567": "failure", + "28568": "failure", + "28569": "successful", + "28570": "failure", + "28571": "failure", + "28572": "failure", + "28573": "failure", + "28574": "infeasible", + "28575": "failure", + "28576": "failure", + "28577": "failure", + "28578": "infeasible", + "28579": "infeasible", + "28580": "failure", + "28581": "failure", + "28582": "failure", + "28583": "failure", + "28584": "infeasible", + "28585": "successful", + "28586": "successful", + "28587": "failure", + "28588": "successful", + "28589": "failure", + "28590": "failure", + "28591": "failure", + "28592": "failure", + "28593": "failure", + "28594": "failure", + "28595": "successful", + "28596": "failure", + "28597": "failure", + "28598": "failure", + "28599": "infeasible", + "28600": "failure", + "28601": "successful", + "28602": "failure", + "28603": "failure", + "28604": "already_complete", + "28605": "failure", + "28606": "infeasible", + "28607": "failure", + "28608": "infeasible", + "28609": "failure", + "28610": "failure", + "28611": "failure", + "28612": "failure", + "28613": "successful", + "28614": "failure", + "28615": "successful", + "28616": "failure", + "28617": "failure", + "28618": "failure", + "28619": "successful", + "28620": "failure", + "28621": "failure", + "28622": "failure", + "28623": "successful", + "28624": "failure", + "28625": "failure", + "28626": "failure", + "28627": "successful", + "28628": "failure", + "28629": "failure", + "28630": "infeasible", + "28631": "failure", + "28632": "failure", + "28633": "failure", + "28634": "failure", + "28635": "failure", + "28636": "failure", + "28637": "failure", + "28638": "failure", + "28639": "failure", + "28640": "failure", + "28641": "failure", + "28642": "failure", + "28643": "failure", + "28644": "failure", + "28645": "failure", + "28646": "failure", + "28647": "infeasible", + "28648": "failure", + "28649": "failure", + "28650": "failure", + "28651": "failure", + "28652": "failure", + "28653": "infeasible", + "28654": "failure", + "28655": "failure", + "28656": "failure", + "28657": "failure", + "28658": "failure", + "28659": "failure", + "28660": "failure", + "28661": "failure", + "28662": "failure", + "28663": "failure", + "28664": "failure", + "28665": "failure", + "28666": "failure", + "28667": "failure", + "28668": "failure", + "28669": "failure", + "28670": "failure", + "28671": "failure", + "28672": "successful", + "28673": "failure", + "28674": "failure", + "28675": "failure", + "28676": "failure", + "28677": "failure", + "28678": "failure", + "28679": "failure", + "28680": "failure", + "28681": "failure", + "28682": "failure", + "28683": "failure", + "28684": "successful", + "28685": "infeasible", + "28686": "failure", + "28687": "failure", + "28688": "failure", + "28689": "failure", + "28690": "failure", + "28691": "infeasible", + "28692": "failure", + "28693": "failure", + "28694": "successful", + "28695": "infeasible", + "28696": "infeasible", + "28697": "failure", + "28698": "failure", + "28699": "failure", + "28700": "failure", + "28701": "failure", + "28702": "failure", + "28703": "successful", + "28704": "failure", + "28705": "failure", + "28706": "successful", + "28707": "failure", + "28708": "failure", + "28709": "infeasible", + "28710": "failure", + "28711": "failure", + "28712": "failure", + "28713": "failure", + "28714": "successful", + "28715": "failure", + "28716": "infeasible", + "28717": "failure", + "28718": "failure", + "28719": "failure", + "28720": "failure", + "28721": "failure", + "28722": "failure", + "28723": "failure", + "28724": "failure", + "28725": "failure", + "28726": "failure", + "28727": "failure", + "28728": "failure", + "28729": "failure", + "28730": "failure", + "28731": "failure", + "28732": "failure", + "28733": "infeasible", + "28734": "failure", + "28735": "successful", + "28736": "failure", + "28737": "failure", + "28738": "failure", + "28739": "failure", + "28740": "failure", + "28741": "failure", + "28742": "failure", + "28743": "failure", + "28744": "failure", + "28745": "failure", + "28746": "successful", + "28747": "failure", + "28748": "failure", + "28749": "successful", + "28750": "failure", + "28751": "failure", + "28752": "failure", + "28753": "successful", + "28754": "failure", + "28755": "failure", + "28756": "failure", + "28757": "failure", + "28758": "failure", + "28759": "failure", + "28760": "failure", + "28761": "failure", + "28762": "infeasible", + "28763": "failure", + "28764": "failure", + "28765": "failure", + "28766": "failure", + "28767": "failure", + "28768": "failure", + "28769": "failure", + "28770": "failure", + "28771": "failure", + "28772": "failure", + "28773": "failure", + "28774": "failure", + "28775": "failure", + "28776": "failure", + "28777": "failure", + "28778": "successful", + "28779": "failure", + "28780": "failure", + "28781": "failure", + "28782": "failure", + "28783": "failure", + "28784": "failure", + "28785": "failure", + "28786": "failure", + "28787": "failure", + "28788": "failure", + "28789": "failure", + "28790": "failure", + "28791": "failure", + "28792": "failure", + "28793": "failure", + "28794": "successful", + "28795": "failure", + "28796": "failure", + "28797": "failure", + "28798": "failure", + "28799": "failure", + "28800": "infeasible", + "28801": "failure", + "28802": "failure", + "28803": "failure", + "28804": "failure", + "28805": "failure", + "28806": "successful", + "28807": "failure", + "28808": "infeasible", + "28809": "failure", + "28810": "failure", + "28811": "failure", + "28812": "failure", + "28813": "failure", + "28814": "failure", + "28815": "failure", + "28816": "failure", + "28817": "failure", + "28818": "failure", + "28819": "failure", + "28820": "failure", + "28821": "failure", + "28822": "failure", + "28823": "failure", + "28824": "failure", + "28825": "failure", + "28826": "failure", + "28827": "failure", + "28828": "failure", + "28829": "failure", + "28830": "failure", + "28831": "failure", + "28832": "successful", + "28833": "failure", + "28834": "failure", + "28835": "failure", + "28836": "failure", + "28837": "failure", + "28838": "successful", + "28839": "failure", + "28840": "failure", + "28841": "failure", + "28842": "failure", + "28843": "failure", + "28844": "failure", + "28845": "failure", + "28846": "failure", + "28847": "failure", + "28848": "failure", + "28849": "failure", + "28850": "infeasible", + "28851": "failure", + "28852": "failure", + "28853": "failure", + "28854": "failure", + "28855": "failure", + "28856": "failure", + "28857": "failure", + "28858": "failure", + "28859": "failure", + "28860": "successful", + "28861": "failure", + "28862": "failure", + "28863": "failure", + "28864": "failure", + "28865": "failure", + "28866": "failure", + "28867": "successful", + "28868": "failure", + "28869": "successful", + "28870": "infeasible", + "28871": "failure", + "28872": "failure", + "28873": "successful", + "28874": "failure", + "28875": "failure", + "28876": "failure", + "28877": "infeasible", + "28878": "failure", + "28879": "failure", + "28880": "successful", + "28881": "failure", + "28882": "failure", + "28883": "infeasible", + "28884": "failure", + "28885": "failure", + "28886": "failure", + "28887": "failure", + "28888": "failure", + "28889": "infeasible", + "28890": "failure", + "28891": "infeasible", + "28892": "failure", + "28893": "failure", + "28894": "failure", + "28895": "failure", + "28896": "failure", + "28897": "failure", + "28898": "failure", + "28899": "failure", + "28900": "failure", + "28901": "infeasible", + "28902": "failure", + "28903": "successful", + "28904": "failure", + "28905": "failure", + "28906": "failure", + "28907": "failure", + "28908": "failure", + "28909": "failure", + "28910": "failure", + "28911": "failure", + "28912": "failure", + "28913": "failure", + "28914": "failure", + "28915": "failure", + "28916": "failure", + "28917": "failure", + "28918": "failure", + "28919": "successful", + "28920": "failure", + "28921": "failure", + "28922": "failure", + "28923": "failure", + "28924": "failure", + "28925": "infeasible", + "28926": "failure", + "28927": "failure", + "28928": "failure", + "28929": "failure", + "28930": "failure", + "28931": "failure", + "28932": "failure", + "28933": "failure", + "28934": "failure", + "28935": "failure", + "28936": "infeasible", + "28937": "failure", + "28938": "successful", + "28939": "failure", + "28940": "failure", + "28941": "failure", + "28942": "successful", + "28943": "infeasible", + "28944": "failure", + "28945": "successful", + "28946": "failure", + "28947": "infeasible", + "28948": "failure", + "28949": "failure", + "28950": "failure", + "28951": "failure", + "28952": "infeasible", + "28953": "failure", + "28954": "failure", + "28955": "failure", + "28956": "failure", + "28957": "failure", + "28958": "successful", + "28959": "failure", + "28960": "failure", + "28961": "successful", + "28962": "failure", + "28963": "failure", + "28964": "failure", + "28965": "failure", + "28966": "failure", + "28967": "failure", + "28968": "failure", + "28969": "failure", + "28970": "successful", + "28971": "already_complete", + "28972": "failure", + "28973": "failure", + "28974": "failure", + "28975": "failure", + "28976": "failure", + "28977": "failure", + "28978": "failure", + "28979": "successful", + "28980": "failure", + "28981": "failure", + "28982": "successful", + "28983": "failure", + "28984": "failure", + "28985": "infeasible", + "28986": "failure", + "28987": "failure", + "28988": "failure", + "28989": "failure", + "28990": "failure", + "28991": "failure", + "28992": "failure", + "28993": "failure", + "28994": "failure", + "28995": "failure", + "28996": "failure", + "28997": "failure", + "28998": "failure", + "28999": "failure", + "29000": "failure", + "29001": "infeasible", + "29002": "failure", + "29003": "failure", + "29004": "failure", + "29005": "failure", + "29006": "failure", + "29007": "failure", + "29008": "failure", + "29009": "failure", + "29010": "failure", + "29011": "failure", + "29012": "successful", + "29013": "failure", + "29014": "failure", + "29015": "failure", + "29016": "failure", + "29017": "failure", + "29018": "successful", + "29019": "failure", + "29020": "failure", + "29021": "failure", + "29022": "already_complete", + "29023": "failure", + "29024": "infeasible", + "29025": "failure", + "29026": "failure", + "29027": "failure", + "29028": "failure", + "29029": "failure", + "29030": "successful", + "29031": "successful", + "29032": "failure", + "29033": "failure", + "29034": "infeasible", + "29035": "failure", + "29036": "failure", + "29037": "infeasible", + "29038": "already_complete", + "29039": "failure", + "29040": "failure", + "29041": "failure", + "29042": "infeasible", + "29043": "failure", + "29044": "failure", + "29045": "successful", + "29046": "failure", + "29047": "failure", + "29048": "failure", + "29049": "successful", + "29050": "failure", + "29051": "failure", + "29052": "failure", + "29053": "infeasible", + "29054": "failure", + "29055": "failure", + "29056": "failure", + "29057": "infeasible", + "29058": "failure", + "29059": "successful", + "29060": "failure", + "29061": "failure", + "29062": "failure", + "29063": "failure", + "29064": "failure", + "29065": "successful", + "29066": "failure", + "29067": "failure", + "29068": "failure", + "29069": "failure", + "29070": "failure", + "29071": "failure", + "29072": "failure", + "29073": "failure", + "29074": "successful", + "29075": "failure", + "29076": "failure", + "29077": "failure", + "29078": "failure", + "29079": "failure", + "29080": "failure", + "29081": "failure", + "29082": "infeasible", + "29083": "successful", + "29084": "failure", + "29085": "failure", + "29086": "failure", + "29087": "failure", + "29088": "failure", + "29089": "successful", + "29090": "failure", + "29091": "successful", + "29092": "failure", + "29093": "failure", + "29094": "failure", + "29095": "infeasible", + "29096": "failure", + "29097": "failure", + "29098": "successful", + "29099": "failure", + "29100": "failure", + "29101": "failure", + "29102": "infeasible", + "29103": "failure", + "29104": "failure", + "29105": "failure", + "29106": "failure", + "29107": "failure", + "29108": "failure", + "29109": "failure", + "29110": "failure", + "29111": "failure", + "29112": "failure", + "29113": "failure", + "29114": "failure", + "29115": "failure", + "29116": "failure", + "29117": "failure", + "29118": "failure", + "29119": "failure", + "29120": "failure", + "29121": "failure", + "29122": "failure", + "29123": "failure", + "29124": "infeasible", + "29125": "failure", + "29126": "failure", + "29127": "failure", + "29128": "failure", + "29129": "failure", + "29130": "failure", + "29131": "successful", + "29132": "failure", + "29133": "failure", + "29134": "failure", + "29135": "failure", + "29136": "successful", + "29137": "failure", + "29138": "successful", + "29139": "infeasible", + "29140": "failure", + "29141": "failure", + "29142": "infeasible", + "29143": "failure", + "29144": "failure", + "29145": "failure", + "29146": "failure", + "29147": "failure", + "29148": "failure", + "29149": "failure", + "29150": "failure", + "29151": "failure", + "29152": "failure", + "29153": "failure", + "29154": "failure", + "29155": "successful", + "29156": "failure", + "29157": "failure", + "29158": "failure", + "29159": "failure", + "29160": "failure", + "29161": "failure", + "29162": "infeasible", + "29163": "failure", + "29164": "failure", + "29165": "failure", + "29166": "failure", + "29167": "infeasible", + "29168": "infeasible", + "29169": "failure", + "29170": "successful", + "29171": "failure", + "29172": "failure", + "29173": "failure", + "29174": "successful", + "29175": "failure", + "29176": "failure", + "29177": "failure", + "29178": "failure", + "29179": "successful", + "29180": "failure", + "29181": "already_complete", + "29182": "successful", + "29183": "failure", + "29184": "failure", + "29185": "failure", + "29186": "failure", + "29187": "failure", + "29188": "failure", + "29189": "failure", + "29190": "failure", + "29191": "failure", + "29192": "failure", + "29193": "successful", + "29194": "failure", + "29195": "successful", + "29196": "failure", + "29197": "failure", + "29198": "infeasible", + "29199": "failure", + "29200": "failure", + "29201": "failure", + "29202": "infeasible", + "29203": "failure", + "29204": "failure", + "29205": "failure", + "29206": "already_complete", + "29207": "failure", + "29208": "failure", + "29209": "failure", + "29210": "failure", + "29211": "failure", + "29212": "failure", + "29213": "failure", + "29214": "failure", + "29215": "failure", + "29216": "failure", + "29217": "failure", + "29218": "failure", + "29219": "failure", + "29220": "failure", + "29221": "failure", + "29222": "failure", + "29223": "failure", + "29224": "failure", + "29225": "successful", + "29226": "failure", + "29227": "failure", + "29228": "failure", + "29229": "infeasible", + "29230": "infeasible", + "29231": "failure", + "29232": "failure", + "29233": "failure", + "29234": "failure", + "29235": "failure", + "29236": "failure", + "29237": "failure", + "29238": "failure", + "29239": "failure", + "29240": "infeasible", + "29241": "failure", + "29242": "failure", + "29243": "infeasible", + "29244": "failure", + "29245": "failure", + "29246": "failure", + "29247": "failure", + "29248": "failure", + "29249": "failure", + "29250": "failure", + "29251": "failure", + "29252": "failure", + "29253": "failure", + "29254": "failure", + "29255": "failure", + "29256": "successful", + "29257": "failure", + "29258": "failure", + "29259": "failure", + "29260": "failure", + "29261": "failure", + "29262": "failure", + "29263": "successful", + "29264": "failure", + "29265": "failure", + "29266": "failure", + "29267": "successful", + "29268": "failure", + "29269": "failure", + "29270": "failure", + "29271": "failure", + "29272": "failure", + "29273": "failure", + "29274": "failure", + "29275": "failure", + "29276": "failure", + "29277": "failure", + "29278": "successful", + "29279": "infeasible", + "29280": "failure", + "29281": "successful", + "29282": "successful", + "29283": "failure", + "29284": "failure", + "29285": "failure", + "29286": "failure", + "29287": "failure", + "29288": "failure", + "29289": "failure", + "29290": "successful", + "29291": "failure", + "29292": "failure", + "29293": "failure", + "29294": "failure", + "29295": "failure", + "29296": "failure", + "29297": "infeasible", + "29298": "infeasible", + "29299": "failure", + "29300": "failure", + "29301": "failure", + "29302": "failure", + "29303": "failure", + "29304": "failure", + "29305": "failure", + "29306": "failure", + "29307": "failure", + "29308": "successful", + "29309": "failure", + "29310": "failure", + "29311": "failure", + "29312": "failure", + "29313": "failure", + "29314": "failure", + "29315": "failure", + "29316": "failure", + "29317": "failure", + "29318": "failure", + "29319": "infeasible", + "29320": "failure", + "29321": "failure", + "29322": "failure", + "29323": "failure", + "29324": "failure", + "29325": "failure", + "29326": "failure", + "29327": "failure", + "29328": "failure", + "29329": "failure", + "29330": "failure", + "29331": "failure", + "29332": "failure", + "29333": "failure", + "29334": "failure", + "29335": "failure", + "29336": "failure", + "29337": "failure", + "29338": "failure", + "29339": "failure", + "29340": "failure", + "29341": "failure", + "29342": "failure", + "29343": "failure", + "29344": "failure", + "29345": "failure", + "29346": "failure", + "29347": "failure", + "29348": "failure", + "29349": "successful", + "29350": "failure", + "29351": "successful", + "29352": "failure", + "29353": "failure", + "29354": "successful", + "29355": "failure", + "29356": "failure", + "29357": "failure", + "29358": "failure", + "29359": "infeasible", + "29360": "failure", + "29361": "failure", + "29362": "failure", + "29363": "successful", + "29364": "failure", + "29365": "failure", + "29366": "failure", + "29367": "failure", + "29368": "failure", + "29369": "failure", + "29370": "failure", + "29371": "failure", + "29372": "failure", + "29373": "failure", + "29374": "failure", + "29375": "failure", + "29376": "failure", + "29377": "failure", + "29378": "successful", + "29379": "failure", + "29380": "failure", + "29381": "failure", + "29382": "failure", + "29383": "failure", + "29384": "failure", + "29385": "successful", + "29386": "failure", + "29387": "failure", + "29388": "failure", + "29389": "successful", + "29390": "infeasible", + "29391": "failure", + "29392": "failure", + "29393": "failure", + "29394": "failure", + "29395": "failure", + "29396": "failure", + "29397": "successful", + "29398": "failure", + "29399": "failure", + "29400": "failure", + "29401": "failure", + "29402": "failure", + "29403": "failure", + "29404": "failure", + "29405": "infeasible", + "29406": "failure", + "29407": "failure", + "29408": "failure", + "29409": "failure", + "29410": "failure", + "29411": "failure", + "29412": "failure", + "29413": "failure", + "29414": "failure", + "29415": "infeasible", + "29416": "failure", + "29417": "failure", + "29418": "failure", + "29419": "successful", + "29420": "failure", + "29421": "infeasible", + "29422": "failure", + "29423": "failure", + "29424": "failure", + "29425": "successful", + "29426": "failure", + "29427": "infeasible", + "29428": "successful", + "29429": "successful", + "29430": "successful", + "29431": "failure", + "29432": "successful", + "29433": "failure", + "29434": "failure", + "29435": "failure", + "29436": "failure", + "29437": "failure", + "29438": "failure", + "29439": "failure", + "29440": "successful", + "29441": "failure", + "29442": "failure", + "29443": "failure", + "29444": "infeasible", + "29445": "failure", + "29446": "failure", + "29447": "infeasible", + "29448": "failure", + "29449": "failure", + "29450": "infeasible", + "29451": "failure", + "29452": "failure", + "29453": "failure", + "29454": "failure", + "29455": "failure", + "29456": "infeasible", + "29457": "infeasible", + "29458": "failure", + "29459": "failure", + "29460": "failure", + "29461": "failure", + "29462": "failure", + "29463": "infeasible", + "29464": "infeasible", + "29465": "failure", + "29466": "failure", + "29467": "failure", + "29468": "successful", + "29469": "failure", + "29470": "failure", + "29471": "failure", + "29472": "infeasible", + "29473": "failure", + "29474": "failure", + "29475": "failure", + "29476": "failure", + "29477": "failure", + "29478": "infeasible", + "29479": "failure", + "29480": "failure", + "29481": "failure", + "29482": "failure", + "29483": "infeasible", + "29484": "failure", + "29485": "failure", + "29486": "failure", + "29487": "failure", + "29488": "failure", + "29489": "successful", + "29490": "failure", + "29491": "failure", + "29492": "failure", + "29493": "failure", + "29494": "failure", + "29495": "failure", + "29496": "successful", + "29497": "failure", + "29498": "failure", + "29499": "successful", + "29500": "failure", + "29501": "failure", + "29502": "failure", + "29503": "failure", + "29504": "failure", + "29505": "infeasible", + "29506": "failure", + "29507": "failure", + "29508": "failure", + "29509": "failure", + "29510": "infeasible", + "29511": "successful", + "29512": "failure", + "29513": "failure", + "29514": "failure", + "29515": "successful", + "29516": "failure", + "29517": "infeasible", + "29518": "failure", + "29519": "failure", + "29520": "failure", + "29521": "failure", + "29522": "failure", + "29523": "infeasible", + "29524": "failure", + "29525": "failure", + "29526": "successful", + "29527": "failure", + "29528": "infeasible", + "29529": "failure", + "29530": "failure", + "29531": "failure", + "29532": "failure", + "29533": "failure", + "29534": "successful", + "29535": "failure", + "29536": "failure", + "29537": "failure", + "29538": "failure", + "29539": "failure", + "29540": "failure", + "29541": "failure", + "29542": "successful", + "29543": "failure", + "29544": "infeasible", + "29545": "failure", + "29546": "failure", + "29547": "failure", + "29548": "failure", + "29549": "failure", + "29550": "failure", + "29551": "failure", + "29552": "successful", + "29553": "failure", + "29554": "failure", + "29555": "failure", + "29556": "failure", + "29557": "infeasible", + "29558": "failure", + "29559": "failure", + "29560": "failure", + "29561": "infeasible", + "29562": "failure", + "29563": "failure", + "29564": "failure", + "29565": "failure", + "29566": "failure", + "29567": "failure", + "29568": "failure", + "29569": "failure", + "29570": "failure", + "29571": "failure", + "29572": "failure", + "29573": "failure", + "29574": "failure", + "29575": "infeasible", + "29576": "failure", + "29577": "failure", + "29578": "failure", + "29579": "failure", + "29580": "infeasible", + "29581": "failure", + "29582": "failure", + "29583": "infeasible", + "29584": "infeasible", + "29585": "failure", + "29586": "failure", + "29587": "failure", + "29588": "failure", + "29589": "failure", + "29590": "failure", + "29591": "failure", + "29592": "failure", + "29593": "failure", + "29594": "failure", + "29595": "failure", + "29596": "failure", + "29597": "failure", + "29598": "infeasible", + "29599": "successful", + "29600": "infeasible", + "29601": "failure", + "29602": "failure", + "29603": "failure", + "29604": "failure", + "29605": "failure", + "29606": "infeasible", + "29607": "failure", + "29608": "failure", + "29609": "infeasible", + "29610": "failure", + "29611": "failure", + "29612": "failure", + "29613": "failure", + "29614": "successful", + "29615": "failure", + "29616": "successful", + "29617": "failure", + "29618": "successful", + "29619": "infeasible", + "29620": "failure", + "29621": "successful", + "29622": "failure", + "29623": "failure", + "29624": "failure", + "29625": "infeasible", + "29626": "failure", + "29627": "failure", + "29628": "infeasible", + "29629": "failure", + "29630": "failure", + "29631": "failure", + "29632": "failure", + "29633": "failure", + "29634": "failure", + "29635": "infeasible", + "29636": "failure", + "29637": "failure", + "29638": "failure", + "29639": "failure", + "29640": "failure", + "29641": "failure", + "29642": "failure", + "29643": "successful", + "29644": "failure", + "29645": "failure", + "29646": "failure", + "29647": "failure", + "29648": "failure", + "29649": "failure", + "29650": "failure", + "29651": "failure", + "29652": "failure", + "29653": "failure", + "29654": "failure", + "29655": "failure", + "29656": "failure", + "29657": "successful", + "29658": "failure", + "29659": "failure", + "29660": "failure", + "29661": "failure", + "29662": "already_complete", + "29663": "failure", + "29664": "failure", + "29665": "failure", + "29666": "failure", + "29667": "successful", + "29668": "failure", + "29669": "failure", + "29670": "failure", + "29671": "failure", + "29672": "failure", + "29673": "failure", + "29674": "infeasible", + "29675": "failure", + "29676": "successful", + "29677": "failure", + "29678": "failure", + "29679": "failure", + "29680": "failure", + "29681": "failure", + "29682": "failure", + "29683": "infeasible", + "29684": "failure", + "29685": "successful", + "29686": "failure", + "29687": "failure", + "29688": "failure", + "29689": "failure", + "29690": "failure", + "29691": "failure", + "29692": "failure", + "29693": "failure", + "29694": "failure", + "29695": "failure", + "29696": "failure", + "29697": "successful", + "29698": "failure", + "29699": "failure", + "29700": "failure", + "29701": "failure", + "29702": "failure", + "29703": "failure", + "29704": "infeasible", + "29705": "failure", + "29706": "failure", + "29707": "failure", + "29708": "failure", + "29709": "failure", + "29710": "infeasible", + "29711": "failure", + "29712": "successful", + "29713": "successful", + "29714": "failure", + "29715": "failure", + "29716": "failure", + "29717": "failure", + "29718": "failure", + "29719": "successful", + "29720": "infeasible", + "29721": "successful", + "29722": "successful", + "29723": "failure", + "29724": "failure", + "29725": "failure", + "29726": "successful", + "29727": "failure", + "29728": "failure", + "29729": "successful", + "29730": "successful", + "29731": "failure", + "29732": "failure", + "29733": "failure", + "29734": "failure", + "29735": "failure", + "29736": "failure", + "29737": "infeasible", + "29738": "successful", + "29739": "failure", + "29740": "failure", + "29741": "failure", + "29742": "failure", + "29743": "failure", + "29744": "failure", + "29745": "failure", + "29746": "failure", + "29747": "failure", + "29748": "successful", + "29749": "infeasible", + "29750": "infeasible", + "29751": "failure", + "29752": "failure", + "29753": "failure", + "29754": "failure", + "29755": "failure", + "29756": "failure", + "29757": "infeasible", + "29758": "failure", + "29759": "failure", + "29760": "failure", + "29761": "failure", + "29762": "failure", + "29763": "failure", + "29764": "failure", + "29765": "failure", + "29766": "successful", + "29767": "failure", + "29768": "failure", + "29769": "failure", + "29770": "failure", + "29771": "infeasible", + "29772": "infeasible", + "29773": "failure", + "29774": "failure", + "29775": "failure", + "29776": "failure", + "29777": "failure", + "29778": "failure", + "29779": "failure", + "29780": "failure", + "29781": "infeasible", + "29782": "failure", + "29783": "failure", + "29784": "successful", + "29785": "infeasible", + "29786": "failure", + "29787": "failure", + "29788": "failure", + "29789": "failure", + "29790": "failure", + "29791": "infeasible", + "29792": "infeasible", + "29793": "failure", + "29794": "infeasible", + "29795": "failure", + "29796": "failure", + "29797": "failure", + "29798": "failure", + "29799": "failure", + "29800": "failure", + "29801": "failure", + "29802": "failure", + "29803": "failure", + "29804": "failure", + "29805": "failure", + "29806": "failure", + "29807": "successful", + "29808": "failure", + "29809": "failure", + "29810": "failure", + "29811": "failure", + "29812": "infeasible", + "29813": "failure", + "29814": "failure", + "29815": "failure", + "29816": "failure", + "29817": "failure", + "29818": "infeasible", + "29819": "infeasible", + "29820": "successful", + "29821": "infeasible", + "29822": "failure", + "29823": "failure", + "29824": "failure", + "29825": "failure", + "29826": "failure", + "29827": "failure", + "29828": "failure", + "29829": "failure", + "29830": "failure", + "29831": "failure", + "29832": "failure", + "29833": "infeasible", + "29834": "failure", + "29835": "failure", + "29836": "failure", + "29837": "failure", + "29838": "failure", + "29839": "failure", + "29840": "infeasible", + "29841": "failure", + "29842": "failure", + "29843": "failure", + "29844": "failure", + "29845": "failure", + "29846": "failure", + "29847": "failure", + "29848": "failure", + "29849": "infeasible", + "29850": "failure", + "29851": "infeasible", + "29852": "failure", + "29853": "failure", + "29854": "failure", + "29855": "failure", + "29856": "failure", + "29857": "failure", + "29858": "failure", + "29859": "failure", + "29860": "failure", + "29861": "successful", + "29862": "failure", + "29863": "failure", + "29864": "failure", + "29865": "failure", + "29866": "failure", + "29867": "failure", + "29868": "failure", + "29869": "failure", + "29870": "failure", + "29871": "failure", + "29872": "failure", + "29873": "successful", + "29874": "failure", + "29875": "infeasible", + "29876": "infeasible", + "29877": "failure", + "29878": "failure", + "29879": "failure", + "29880": "infeasible", + "29881": "failure", + "29882": "successful", + "29883": "failure", + "29884": "infeasible", + "29885": "successful", + "29886": "failure", + "29887": "successful", + "29888": "successful", + "29889": "failure", + "29890": "failure", + "29891": "failure", + "29892": "failure", + "29893": "failure", + "29894": "failure", + "29895": "failure", + "29896": "successful", + "29897": "successful", + "29898": "failure", + "29899": "failure", + "29900": "failure", + "29901": "failure", + "29902": "failure", + "29903": "failure", + "29904": "failure", + "29905": "failure", + "29906": "failure", + "29907": "failure", + "29908": "successful", + "29909": "failure", + "29910": "failure", + "29911": "infeasible", + "29912": "successful", + "29913": "failure", + "29914": "failure", + "29915": "failure", + "29916": "failure", + "29917": "failure", + "29918": "failure", + "29919": "infeasible", + "29920": "failure", + "29921": "successful", + "29922": "failure", + "29923": "failure", + "29924": "failure", + "29925": "successful", + "29926": "failure", + "29927": "failure", + "29928": "successful", + "29929": "failure", + "29930": "successful", + "29931": "successful", + "29932": "already_complete", + "29933": "failure", + "29934": "failure", + "29935": "failure", + "29936": "infeasible", + "29937": "failure", + "29938": "failure", + "29939": "successful", + "29940": "failure", + "29941": "failure", + "29942": "failure", + "29943": "successful", + "29944": "failure", + "29945": "failure", + "29946": "failure", + "29947": "failure", + "29948": "failure", + "29949": "failure", + "29950": "failure", + "29951": "failure", + "29952": "failure", + "29953": "infeasible", + "29954": "failure", + "29955": "failure", + "29956": "failure", + "29957": "failure", + "29958": "failure", + "29959": "failure", + "29960": "failure", + "29961": "failure", + "29962": "failure", + "29963": "failure", + "29964": "failure", + "29965": "failure", + "29966": "infeasible", + "29967": "successful", + "29968": "failure", + "29969": "failure", + "29970": "failure", + "29971": "infeasible", + "29972": "failure", + "29973": "successful", + "29974": "failure", + "29975": "failure", + "29976": "failure", + "29977": "failure", + "29978": "failure", + "29979": "failure", + "29980": "failure", + "29981": "failure", + "29982": "failure", + "29983": "failure", + "29984": "failure", + "29985": "failure", + "29986": "failure", + "29987": "successful", + "29988": "failure", + "29989": "successful", + "29990": "infeasible", + "29991": "infeasible", + "29992": "infeasible", + "29993": "successful", + "29994": "failure", + "29995": "failure", + "29996": "failure", + "29997": "infeasible", + "29998": "failure", + "29999": "failure", + "30000": "infeasible", + "30001": "failure", + "30002": "failure", + "30003": "failure", + "30004": "failure", + "30005": "failure", + "30006": "failure", + "30007": "failure", + "30008": "failure", + "30009": "failure", + "30010": "infeasible", + "30011": "failure", + "30012": "infeasible", + "30013": "failure", + "30014": "failure", + "30015": "failure", + "30016": "successful", + "30017": "failure", + "30018": "failure", + "30019": "failure", + "30020": "failure", + "30021": "failure", + "30022": "failure", + "30023": "failure", + "30024": "successful", + "30025": "failure", + "30026": "successful", + "30027": "infeasible", + "30028": "failure", + "30029": "infeasible", + "30030": "failure", + "30031": "infeasible", + "30032": "failure", + "30033": "failure", + "30034": "failure", + "30035": "successful", + "30036": "infeasible", + "30037": "infeasible", + "30038": "failure", + "30039": "failure", + "30040": "failure", + "30041": "failure", + "30042": "failure", + "30043": "infeasible", + "30044": "failure", + "30045": "failure", + "30046": "failure", + "30047": "failure", + "30048": "failure", + "30049": "failure", + "30050": "successful", + "30051": "successful", + "30052": "failure", + "30053": "failure", + "30054": "infeasible", + "30055": "successful", + "30056": "failure", + "30057": "infeasible", + "30058": "failure", + "30059": "failure", + "30060": "infeasible", + "30061": "infeasible", + "30062": "failure", + "30063": "failure", + "30064": "failure", + "30065": "infeasible", + "30066": "successful", + "30067": "failure", + "30068": "infeasible", + "30069": "failure", + "30070": "infeasible", + "30071": "failure", + "30072": "failure", + "30073": "failure", + "30074": "failure", + "30075": "infeasible", + "30076": "successful", + "30077": "successful", + "30078": "failure", + "30079": "successful", + "30080": "failure", + "30081": "failure", + "30082": "successful", + "30083": "infeasible", + "30084": "successful", + "30085": "failure", + "30086": "successful", + "30087": "failure", + "30088": "failure", + "30089": "failure", + "30090": "failure", + "30091": "successful", + "30092": "failure", + "30093": "successful", + "30094": "failure", + "30095": "failure", + "30096": "failure", + "30097": "failure", + "30098": "failure", + "30099": "failure", + "30100": "infeasible", + "30101": "failure", + "30102": "failure", + "30103": "failure", + "30104": "successful", + "30105": "failure", + "30106": "failure", + "30107": "failure", + "30108": "successful", + "30109": "failure", + "30110": "failure", + "30111": "failure", + "30112": "successful", + "30113": "failure", + "30114": "failure", + "30115": "successful", + "30116": "failure", + "30117": "failure", + "30118": "failure", + "30119": "infeasible", + "30120": "failure", + "30121": "successful", + "30122": "failure", + "30123": "successful", + "30124": "failure", + "30125": "failure", + "30126": "failure", + "30127": "failure", + "30128": "infeasible", + "30129": "failure", + "30130": "failure", + "30131": "failure", + "30132": "infeasible", + "30133": "failure", + "30134": "infeasible", + "30135": "failure", + "30136": "failure", + "30137": "failure", + "30138": "successful", + "30139": "failure", + "30140": "infeasible", + "30141": "failure", + "30142": "infeasible", + "30143": "failure", + "30144": "failure", + "30145": "failure", + "30146": "failure", + "30147": "failure", + "30148": "successful", + "30149": "successful", + "30150": "infeasible", + "30151": "failure", + "30152": "failure", + "30153": "failure", + "30154": "failure", + "30155": "failure", + "30156": "failure", + "30157": "failure", + "30158": "failure", + "30159": "infeasible", + "30160": "failure", + "30161": "successful", + "30162": "failure", + "30163": "failure", + "30164": "infeasible", + "30165": "failure", + "30166": "failure", + "30167": "failure", + "30168": "failure", + "30169": "failure", + "30170": "infeasible", + "30171": "infeasible", + "30172": "failure", + "30173": "failure", + "30174": "failure", + "30175": "failure", + "30176": "failure", + "30177": "failure", + "30178": "failure", + "30179": "failure", + "30180": "failure", + "30181": "failure", + "30182": "failure", + "30183": "infeasible", + "30184": "failure", + "30185": "failure", + "30186": "failure", + "30187": "failure", + "30188": "infeasible", + "30189": "failure", + "30190": "failure", + "30191": "failure", + "30192": "failure", + "30193": "failure", + "30194": "failure", + "30195": "failure", + "30196": "failure", + "30197": "failure", + "30198": "failure", + "30199": "infeasible", + "30200": "failure", + "30201": "successful", + "30202": "successful", + "30203": "failure", + "30204": "failure", + "30205": "failure", + "30206": "infeasible", + "30207": "successful", + "30208": "failure", + "30209": "failure", + "30210": "failure", + "30211": "failure", + "30212": "failure", + "30213": "failure", + "30214": "failure", + "30215": "failure", + "30216": "failure", + "30217": "failure", + "30218": "failure", + "30219": "failure", + "30220": "successful", + "30221": "failure", + "30222": "infeasible", + "30223": "failure", + "30224": "failure", + "30225": "failure", + "30226": "failure", + "30227": "failure", + "30228": "failure", + "30229": "failure", + "30230": "failure", + "30231": "failure", + "30232": "successful", + "30233": "failure", + "30234": "failure", + "30235": "failure", + "30236": "failure", + "30237": "failure", + "30238": "successful", + "30239": "successful", + "30240": "failure", + "30241": "failure", + "30242": "failure", + "30243": "failure", + "30244": "successful", + "30245": "failure", + "30246": "failure", + "30247": "failure", + "30248": "failure", + "30249": "failure", + "30250": "failure", + "30251": "failure", + "30252": "failure", + "30253": "successful", + "30254": "failure", + "30255": "failure", + "30256": "failure", + "30257": "failure", + "30258": "failure", + "30259": "failure", + "30260": "failure", + "30261": "failure", + "30262": "failure", + "30263": "failure", + "30264": "failure", + "30265": "failure", + "30266": "failure", + "30267": "infeasible", + "30268": "failure", + "30269": "infeasible", + "30270": "failure", + "30271": "failure", + "30272": "infeasible", + "30273": "failure", + "30274": "failure", + "30275": "failure", + "30276": "failure", + "30277": "failure", + "30278": "failure", + "30279": "failure", + "30280": "failure", + "30281": "infeasible", + "30282": "infeasible", + "30283": "infeasible", + "30284": "failure", + "30285": "infeasible", + "30286": "successful", + "30287": "failure", + "30288": "failure", + "30289": "successful", + "30290": "failure", + "30291": "infeasible", + "30292": "infeasible", + "30293": "failure", + "30294": "failure", + "30295": "infeasible", + "30296": "failure", + "30297": "successful", + "30298": "failure", + "30299": "infeasible", + "30300": "successful", + "30301": "failure", + "30302": "failure", + "30303": "failure", + "30304": "failure", + "30305": "failure", + "30306": "failure", + "30307": "failure", + "30308": "infeasible", + "30309": "failure", + "30310": "failure", + "30311": "failure", + "30312": "failure", + "30313": "failure", + "30314": "failure", + "30315": "failure", + "30316": "successful", + "30317": "failure", + "30318": "failure", + "30319": "failure", + "30320": "failure", + "30321": "successful", + "30322": "successful", + "30323": "failure", + "30324": "failure", + "30325": "failure", + "30326": "failure", + "30327": "failure", + "30328": "failure", + "30329": "failure", + "30330": "failure", + "30331": "failure", + "30332": "failure", + "30333": "infeasible", + "30334": "successful", + "30335": "failure", + "30336": "failure", + "30337": "failure", + "30338": "failure", + "30339": "failure", + "30340": "infeasible", + "30341": "failure", + "30342": "infeasible", + "30343": "failure", + "30344": "failure", + "30345": "failure", + "30346": "infeasible", + "30347": "failure", + "30348": "failure", + "30349": "failure", + "30350": "failure", + "30351": "failure", + "30352": "failure", + "30353": "infeasible", + "30354": "failure", + "30355": "failure", + "30356": "failure", + "30357": "failure", + "30358": "failure", + "30359": "infeasible", + "30360": "failure", + "30361": "failure", + "30362": "infeasible", + "30363": "successful", + "30364": "failure", + "30365": "failure", + "30366": "infeasible", + "30367": "failure", + "30368": "failure", + "30369": "failure", + "30370": "failure", + "30371": "failure", + "30372": "infeasible", + "30373": "failure", + "30374": "failure", + "30375": "failure", + "30376": "infeasible", + "30377": "failure", + "30378": "failure", + "30379": "failure", + "30380": "failure", + "30381": "failure", + "30382": "infeasible", + "30383": "failure", + "30384": "failure", + "30385": "failure", + "30386": "successful", + "30387": "failure", + "30388": "failure", + "30389": "failure", + "30390": "failure", + "30391": "failure", + "30392": "failure", + "30393": "failure", + "30394": "failure", + "30395": "failure", + "30396": "successful", + "30397": "successful", + "30398": "failure", + "30399": "failure", + "30400": "failure", + "30401": "failure", + "30402": "failure", + "30403": "successful", + "30404": "failure", + "30405": "failure", + "30406": "failure", + "30407": "successful", + "30408": "failure", + "30409": "infeasible", + "30410": "failure", + "30411": "failure", + "30412": "successful", + "30413": "successful", + "30414": "infeasible", + "30415": "failure", + "30416": "failure", + "30417": "failure", + "30418": "failure", + "30419": "failure", + "30420": "successful", + "30421": "failure", + "30422": "failure", + "30423": "infeasible", + "30424": "failure", + "30425": "failure", + "30426": "failure", + "30427": "successful", + "30428": "failure", + "30429": "failure", + "30430": "failure", + "30431": "failure", + "30432": "failure", + "30433": "failure", + "30434": "failure", + "30435": "failure", + "30436": "failure", + "30437": "failure", + "30438": "failure", + "30439": "failure", + "30440": "successful", + "30441": "failure", + "30442": "failure", + "30443": "failure", + "30444": "failure", + "30445": "failure", + "30446": "failure", + "30447": "failure", + "30448": "failure", + "30449": "failure", + "30450": "failure", + "30451": "failure", + "30452": "failure", + "30453": "failure", + "30454": "failure", + "30455": "failure", + "30456": "successful", + "30457": "successful", + "30458": "failure", + "30459": "failure", + "30460": "failure", + "30461": "failure", + "30462": "successful", + "30463": "failure", + "30464": "failure", + "30465": "failure", + "30466": "failure", + "30467": "failure", + "30468": "failure", + "30469": "infeasible", + "30470": "failure", + "30471": "failure", + "30472": "failure", + "30473": "failure", + "30474": "failure", + "30475": "failure", + "30476": "failure", + "30477": "failure", + "30478": "failure", + "30479": "successful", + "30480": "failure", + "30481": "failure", + "30482": "failure", + "30483": "failure", + "30484": "infeasible", + "30485": "failure", + "30486": "failure", + "30487": "failure", + "30488": "failure", + "30489": "failure", + "30490": "failure", + "30491": "failure", + "30492": "failure", + "30493": "failure", + "30494": "failure", + "30495": "failure", + "30496": "failure", + "30497": "infeasible", + "30498": "failure", + "30499": "failure", + "30500": "failure", + "30501": "failure", + "30502": "infeasible", + "30503": "infeasible", + "30504": "failure", + "30505": "failure", + "30506": "failure", + "30507": "infeasible", + "30508": "failure", + "30509": "failure", + "30510": "failure", + "30511": "failure", + "30512": "failure", + "30513": "failure", + "30514": "failure", + "30515": "failure", + "30516": "failure", + "30517": "failure", + "30518": "failure", + "30519": "failure", + "30520": "failure", + "30521": "failure", + "30522": "failure", + "30523": "infeasible", + "30524": "successful", + "30525": "failure", + "30526": "successful", + "30527": "failure", + "30528": "failure", + "30529": "successful", + "30530": "failure", + "30531": "failure", + "30532": "infeasible", + "30533": "successful", + "30534": "failure", + "30535": "failure", + "30536": "infeasible", + "30537": "successful", + "30538": "failure", + "30539": "failure", + "30540": "failure", + "30541": "failure", + "30542": "failure", + "30543": "failure", + "30544": "failure", + "30545": "successful", + "30546": "failure", + "30547": "failure", + "30548": "successful", + "30549": "infeasible", + "30550": "failure", + "30551": "failure", + "30552": "failure", + "30553": "failure", + "30554": "failure", + "30555": "failure", + "30556": "failure", + "30557": "failure", + "30558": "failure", + "30559": "failure", + "30560": "failure", + "30561": "failure", + "30562": "failure", + "30563": "failure", + "30564": "failure", + "30565": "failure", + "30566": "failure", + "30567": "successful", + "30568": "failure", + "30569": "failure", + "30570": "failure", + "30571": "failure", + "30572": "failure", + "30573": "failure", + "30574": "failure", + "30575": "successful", + "30576": "failure", + "30577": "failure", + "30578": "failure", + "30579": "failure" + } +} \ No newline at end of file diff --git a/robometer/dataset_upload/dataset_helpers/soar_vlm_labeling_reqs.txt b/robometer/dataset_upload/dataset_helpers/soar_vlm_labeling_reqs.txt new file mode 100644 index 0000000000000000000000000000000000000000..b284cc25e32976ad1c6358ef4eb7882e2cf03049 --- /dev/null +++ b/robometer/dataset_upload/dataset_helpers/soar_vlm_labeling_reqs.txt @@ -0,0 +1,22 @@ +# Requirements for SOAR VLM labeling script +# Install with: pip install -r vlm_labeling_requirements.txt + +# Core ML libraries +torch>=2.0.0 +transformers>=4.37.0 +accelerate>=0.26.0 + +# Qwen VL utilities +qwen-vl-utils + +# Image processing +Pillow>=10.0.0 +torchvision>=0.15.0 + +# Dataset loading +tensorflow-datasets>=4.9.0 +tensorflow>=2.13.0 + +# Utilities +numpy>=1.24.0 +tqdm>=4.65.0 diff --git a/robometer/dataset_upload/dataset_loaders/__pycache__/koch_arm_ut_dallas_loader.cpython-310.pyc b/robometer/dataset_upload/dataset_loaders/__pycache__/koch_arm_ut_dallas_loader.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..92666f0c9d1b98de7b1b88335edab75ff3374df3 Binary files /dev/null and b/robometer/dataset_upload/dataset_loaders/__pycache__/koch_arm_ut_dallas_loader.cpython-310.pyc differ diff --git a/robometer/dataset_upload/dataset_loaders/__pycache__/mw_collected_loader.cpython-311.pyc b/robometer/dataset_upload/dataset_loaders/__pycache__/mw_collected_loader.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..977cbbf8ad557ce37842dfa9c51ad0cbd6c063e8 Binary files /dev/null and b/robometer/dataset_upload/dataset_loaders/__pycache__/mw_collected_loader.cpython-311.pyc differ diff --git a/robometer/dataset_upload/dataset_loaders/__pycache__/mw_task_annotations.cpython-311.pyc b/robometer/dataset_upload/dataset_loaders/__pycache__/mw_task_annotations.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6ae76ba5f6a396db86e3f045c4754aad3e4c2ec1 Binary files /dev/null and b/robometer/dataset_upload/dataset_loaders/__pycache__/mw_task_annotations.cpython-311.pyc differ diff --git a/robometer/dataset_upload/dataset_loaders/__pycache__/robofac_loader.cpython-310.pyc b/robometer/dataset_upload/dataset_loaders/__pycache__/robofac_loader.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f4bb767d9394d5e9ffbcd832121496e5214aeff0 Binary files /dev/null and b/robometer/dataset_upload/dataset_loaders/__pycache__/robofac_loader.cpython-310.pyc differ diff --git a/robometer/dataset_upload/dataset_loaders/__pycache__/usc_franka_policy_ranking_loader.cpython-310.pyc b/robometer/dataset_upload/dataset_loaders/__pycache__/usc_franka_policy_ranking_loader.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cf12f95e19e05bcdc5aa1469e6b74096a6a89f61 Binary files /dev/null and b/robometer/dataset_upload/dataset_loaders/__pycache__/usc_franka_policy_ranking_loader.cpython-310.pyc differ diff --git a/robometer/dataset_upload/dataset_loaders/__pycache__/usc_xarm_policy_ranking_loader.cpython-310.pyc b/robometer/dataset_upload/dataset_loaders/__pycache__/usc_xarm_policy_ranking_loader.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84bdb791db56719ba191263b5e37795d599271e5 Binary files /dev/null and b/robometer/dataset_upload/dataset_loaders/__pycache__/usc_xarm_policy_ranking_loader.cpython-310.pyc differ diff --git a/robometer/dataset_upload/dataset_loaders/__pycache__/utd_so101_loader.cpython-310.pyc b/robometer/dataset_upload/dataset_loaders/__pycache__/utd_so101_loader.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..28f3325f4f7f9c2a05aa858849d9a91b7d7328b4 Binary files /dev/null and b/robometer/dataset_upload/dataset_loaders/__pycache__/utd_so101_loader.cpython-310.pyc differ diff --git a/robometer/dataset_upload/dataset_loaders/agibotworld_loader.py b/robometer/dataset_upload/dataset_loaders/agibotworld_loader.py new file mode 100755 index 0000000000000000000000000000000000000000..c189b0170c5eefeb0e0c220c97bab0b0f45773a1 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/agibotworld_loader.py @@ -0,0 +1,619 @@ +""" +AgiBotWorld dataset loader for the generic dataset converter for Robometer model training. +This module contains AgiBotWorld-specific logic for loading and processing data using +HuggingFace streaming to efficiently handle large datasets. +""" + +import json +import os +from functools import partial +from multiprocessing import Pool, cpu_count +from pathlib import Path +from typing import Any + +import h5py +import numpy as np +from dataset_upload.helpers import ( + create_hf_trajectory, + create_trajectory_video_optimized, + load_sentence_transformer_model, + generate_unique_id, +) +from dataset_upload.video_helpers import load_video_frames +from tqdm import tqdm + +import datasets as hfds +from datasets import Dataset, load_dataset + +# Episode/task helpers built earlier +from dataset_upload.data_scripts.agibot.agibot_helper import get_episode_record + +# ------------------------------ +# Small utilities +# ------------------------------ + +CAMERA_KEYS = { + "head_color", + "head_left_fisheye_color", + "head_right_fisheye_color", + "head_center_fisheye_color", +} + + +def _stable_shard_for_episode(episode_id: str, shard_modulus: int = 1000) -> str: + """Return a stable top-level shard name based on episode id. + + Keeps at most ~shard_modulus episode directories per shard. + """ + + try: + idx = int(episode_id) + except Exception: + idx = abs(hash(episode_id)) + shard_index = idx // shard_modulus + return f"shard_{shard_index:04d}" + + +def _parse_episode_and_camera(key: str) -> tuple[str, str | None]: + """Parse __key__ like '678985/videos/head_color' -> ('678985', 'head_color').""" + parts = key.split("/") + if len(parts) < 3: + return parts[0], None + return parts[0], parts[2] + + +def _build_video_paths( + output_dir: str, + dataset_name: str, + episode_id: str, + subtask_idx: int, + camera: str, +) -> tuple[str, str]: + """Return (full_path, relative_path) using a two-level shard + per-episode layout. + + Layout: + ////clip_@.mp4 + This avoids >1k files per directory while keeping resume-friendly structure. + """ + shard_dir = _stable_shard_for_episode(episode_id) + episode_dir = os.path.join(output_dir, dataset_name.lower(), shard_dir, f"episode_{episode_id}") + os.makedirs(episode_dir, exist_ok=True) + filename = f"clip_{subtask_idx}@{camera}.mp4" + full_path = os.path.join(episode_dir, filename) + rel_path = os.path.join(dataset_name.lower(), shard_dir, f"episode_{episode_id}", filename) + return full_path, rel_path + + +def _collect_unique_texts_for_batch(records: list[tuple[str, dict]]) -> list[str]: + """Collect unique instruction texts from a list of (episode_id, record) pairs.""" + texts: list[str] = [] + seen: set = set() + for _episode_id, rec in records: + # Full trajectory instruction + full_text = rec.get("task_name") or rec.get("task_description") or "" + if full_text and full_text not in seen: + seen.add(full_text) + texts.append(full_text) + + # Subtasks + actions = rec.get("label_info", {}).get("action_config", []) + for a in actions: + t = (a or {}).get("action_text", "").strip() + if t and t not in seen: + seen.add(t) + texts.append(t) + return texts + + +def _encode_texts(texts: list[str], model) -> dict[str, Any]: + """Encode a list of texts to vectors using a preloaded model, with caching.""" + if not texts: + return {} + vectors = model.encode(texts) + return dict(zip(texts, vectors, strict=False)) + + +def _frames_for_subrange(frames: np.ndarray, start: int, end: int) -> np.ndarray: + """Return frames[start:end] with guardrails; [start, end) semantics.""" + start = max(int(start), 0) + end = min(int(end), len(frames)) + if start >= end: + return np.empty((0,), dtype=object) + return frames[start:end] + + +def _process_single_stream_sample( + sample: dict[str, Any], + embeddings: dict[str, Any], + output_dir: str, + dataset_name: str, + max_frames: int, + fps: int, +) -> list[dict]: + """Process one streaming sample: returns zero or more HF entries. + + This function does not load any language model; it expects embeddings for + the relevant instruction texts to be provided. + """ + + result_entries: list[dict] = [] + + # Extract key and keep only camera samples we care about + key = sample.get("__key__") or "" + episode_id, camera = _parse_episode_and_camera(key) + if not camera or camera not in CAMERA_KEYS: + return result_entries + + # Load associated episode record for task/subtasks + try: + _json_path, rec = get_episode_record(episode_id) + except Exception: + return result_entries + + # Get video bytes (dataset exposes only 'mp4', '__key__', '__url__') + video_bytes = sample.get("mp4") + if not video_bytes: + return result_entries + + # Decode the video to frames once + try: + frames = load_video_frames(video_bytes) + except Exception: + return result_entries + + if frames is None or len(frames) == 0: + return result_entries + + # Build entries: full + subtasks + # Full trajectory + full_text = rec.get("task_name") or rec.get("task_description") or "" + if full_text: + subtask_idx = 0 + full_out_path, rel_path = _build_video_paths(output_dir, dataset_name, episode_id, subtask_idx, camera) + # Create video if missing + if not os.path.exists(full_out_path): + _ = create_trajectory_video_optimized(frames, full_out_path, max_frames=max_frames, fps=fps) + + lang_vec = embeddings.get(full_text) + if lang_vec is None: + # As a fallback, keep empty vector to avoid crashing + lang_vec = np.zeros((384,), dtype=np.float32) + + traj_dict = { + "id": generate_unique_id(), + "frames": frames, # Not used by create_hf_trajectory now since we already wrote, but pass for API + "task": full_text, + "is_robot": True, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=full_out_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + if entry: + entry["frames"] = rel_path + result_entries.append(entry) + + # Subtasks + actions = rec.get("label_info", {}).get("action_config", []) + for i, a in enumerate(actions, start=1): + if not isinstance(a, dict): + continue + text = (a.get("action_text") or "").strip() + if not text: + continue + start = a.get("start_frame", 0) + end = a.get("end_frame", len(frames)) + sub_frames = _frames_for_subrange(frames, start, end) + if sub_frames.size == 0: + continue + + out_path, rel_path = _build_video_paths(output_dir, dataset_name, episode_id, i, camera) + if not os.path.exists(out_path): + _ = create_trajectory_video_optimized(sub_frames, out_path, max_frames=max_frames, fps=fps) + + lang_vec = embeddings.get(text) + if lang_vec is None: + lang_vec = np.zeros((384,), dtype=np.float32) + + traj_dict = { + "id": generate_unique_id(), + "frames": sub_frames, + "task": text, + "is_robot": True, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=out_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + if entry: + entry["frames"] = rel_path + result_entries.append(entry) + + return result_entries + + +def convert_agibotworld_streaming_to_hf( + dataset_name: str, + output_dir: str, + dataset_label: str = "agibotworld", + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, +) -> Dataset: + """Stream AgiBotWorld, extract camera videos, and write HF entries. + + Returns a datasets.Dataset built from the collected entries. All videos are + saved to disk under output_dir. + """ + + # Load streaming dataset + ds = load_dataset(dataset_name, streaming=True, split="train") + # Some shards expose PNG frames instead of MP4. Widen features so casting + # does not fail during iteration; we'll simply skip non-MP4 samples. + widened = hfds.Features({ + "__key__": hfds.Value("string"), + "__url__": hfds.Value("string"), + "mp4": hfds.Value("binary"), + "png": hfds.Value("binary"), + }) + try: + ds = ds.cast(widened) + except Exception: + pass + + # Determine workers + if num_workers == -1: + num_workers = max(1, min(cpu_count(), 8)) + elif num_workers == 0: + num_workers = 1 + + # Language model for batch embedding + lang_model = load_sentence_transformer_model() + + entries: list[dict] = [] + processed = 0 # number of streaming samples actually flushed/processed + default_batch_size = 64 + batch_size = default_batch_size if (max_trajectories is None) else min(default_batch_size, max_trajectories) + batch_samples: list[dict[str, Any]] = [] + batch_records: list[tuple[str, dict]] = [] + + # Simple live stats + seen_samples = 0 + skipped_camera = 0 + skipped_no_record = 0 + skipped_no_mp4 = 0 + + def flush_batch(): + nonlocal entries, processed, batch_samples, batch_records + if not batch_samples: + return + + # Collect unique texts and encode once + unique_texts = _collect_unique_texts_for_batch(batch_records) + emb_map = _encode_texts(unique_texts, lang_model) + + if num_workers == 1: + for sample in tqdm(batch_samples, desc="Batch (seq)", leave=False): + res = _process_single_stream_sample( + sample=sample, + embeddings=emb_map, + output_dir=output_dir, + dataset_name=dataset_label, + max_frames=max_frames, + fps=fps, + ) + # res is a list; extend and update decode_fail if nothing produced due to decode error + entries.extend(res) + else: + with Pool(processes=num_workers) as pool: + worker = partial( + _process_single_stream_sample, + embeddings=emb_map, + output_dir=output_dir, + dataset_name=dataset_label, + max_frames=max_frames, + fps=fps, + ) + for res in tqdm( + pool.imap_unordered(worker, batch_samples), + total=len(batch_samples), + desc=f"Batch (workers={num_workers})", + leave=False, + ): + entries.extend(res) + + processed += len(batch_samples) + batch_samples = [] + batch_records = [] + + print(f"Streaming {dataset_name}; workers={num_workers}, batch_size={batch_size}") + stream_pbar = tqdm(desc="Streaming samples", unit="sample", dynamic_ncols=True) + + for sample in ds: + if max_trajectories is not None and processed >= max_trajectories: + break + + key = sample.get("__key__", "") + episode_id, camera = _parse_episode_and_camera(key) + seen_samples += 1 + stream_pbar.update(1) + if not camera or camera not in CAMERA_KEYS: + skipped_camera += 1 + continue + + # Ensure episode record exists; gather for embedding planning + try: + _json_path, rec = get_episode_record(episode_id) + except Exception: + skipped_no_record += 1 + continue + + # Require mp4 content; if absent (e.g., png-only shard), skip early + if not sample.get("mp4"): + skipped_no_mp4 += 1 + continue + + batch_samples.append(sample) + batch_records.append((episode_id, rec)) + + if len(batch_samples) >= batch_size: + flush_batch() + + # If user asked for a very small number, don't wait for another full batch + if max_trajectories is not None and (processed + len(batch_samples)) >= max_trajectories: + flush_batch() + break + + # Final flush + flush_batch() + stream_pbar.close() + + # Build HF dataset from entries + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + # datasets can infer features; rely on default + print( + f"Done. seen={seen_samples}, entries={len(entries)}, " + f"skipped_camera={skipped_camera}, skipped_no_record={skipped_no_record}, " + f"skipped_no_mp4={skipped_no_mp4}" + ) + return Dataset.from_list(entries) + + +def load_agibotworld_dataset(dataset_name_or_path: str, max_trajectories: int = 100) -> dict[str, list[dict]]: + """Load AgiBotWorld dataset using HuggingFace streaming and extract head_color.mp4 files. + + Args: + dataset_name_or_path: HuggingFace dataset name (e.g. "agibot-world/AgiBotWorld-Alpha") + or local path to the dataset + + Returns: + Dictionary mapping task names to lists of trajectory dictionaries + """ + + print(f"Loading AgiBotWorld dataset from: {dataset_name_or_path}") + print("=" * 100) + print("LOADING AGIBOTWORLD DATASET") + print("=" * 100) + + task_data = {} + + # Check if it's a local path or HuggingFace dataset name + if os.path.exists(dataset_name_or_path): + # Local dataset + task_data = _load_local_agibotworld(dataset_name_or_path, max_trajectories) + else: + # HuggingFace dataset - use streaming + task_data = _load_streaming_agibotworld(dataset_name_or_path, max_trajectories) + + print( + f"Loaded {sum(len(trajectories) for trajectories in task_data.values())} trajectories from {len(task_data)} tasks" + ) + return task_data + + +# NOTE: As the dataset is too large, we did not test this function extensively and it may be out of date. +def _load_local_agibotworld(base_path: str, max_trajectories: int = 100, max_frames: int = 32) -> dict[str, list[dict]]: + """Load AgiBotWorld dataset from local files, starting with task_info JSON files.""" + base_path = Path(base_path) + task_data = {} + + # Define required directories + observations_dir = base_path / "observations" + task_info_dir = base_path / "task_info" + proprio_stats_dir = base_path / "proprio_stats" + + if not observations_dir.exists(): + raise FileNotFoundError(f"Observations directory not found: {observations_dir}") + if not task_info_dir.exists(): + raise FileNotFoundError(f"Task info directory not found: {task_info_dir}") + + # Start by iterating over task_info JSON files to get proper task names + task_info_files = list(task_info_dir.glob("*.json")) + + if not task_info_files: + raise FileNotFoundError(f"No task info JSON files found in: {task_info_dir}") + + print(f"Found {len(task_info_files)} task info files") + + total_trajectories = 0 + + for task_info_file in tqdm(task_info_files, desc="Processing tasks"): + if total_trajectories >= max_trajectories: + print(f"Reached max_trajectories limit ({max_trajectories}), stopping...") + break + + # Extract task ID from filename (e.g., "task_392.json" -> "392") + task_id = task_info_file.stem.replace("task_", "") + + # Load task information from JSON + task_info = _load_task_info(task_info_file) + + if not task_info: + print(f"Skipping task {task_id} - no valid task info") + continue + + # Extract proper task name from first episode (they should all have the same task) + if task_info and len(task_info) > 0: + first_episode = task_info[0] + task_name = first_episode.get("task_name", f"Task {task_id}") + first_episode.get("task_description", f"AgiBotWorld Task {task_id}") + else: + task_name = f"Task {task_id}" + + print(f"Processing task {task_id}: '{task_name}'") + + # Get the corresponding task directory + task_dir = observations_dir / task_id + if not task_dir.exists(): + print(f"Task directory not found: {task_dir}, skipping...") + continue + + trajectories = [] + + # Process episodes based on the information in task_info JSON + for episode_info in task_info: + if total_trajectories >= max_trajectories: + break + + episode_id = str(episode_info.get("episode_id", "")) + if not episode_id: + continue + + # Check if episode directory exists + episode_dir = task_dir / episode_id + if not episode_dir.exists(): + print(f"Episode directory not found: {episode_dir}, skipping episode {episode_id}") + continue + + # Look for head_color.mp4 file + videos_dir = episode_dir / "videos" + head_color_video = videos_dir / "head_color.mp4" + + if head_color_video.exists(): + # Load proprioceptive data + proprio_file = proprio_stats_dir / task_id / episode_id / "proprio_stats.h5" + actions = _load_actions_from_h5(proprio_file) + + # Process video: resize to 256x256 and downsample frames + try: + processed_frames = load_video_frames(head_color_video) + + trajectory = { + "frames": processed_frames, # Processed video frames + "actions": actions, + "is_robot": True, # AgiBotWorld is robot data + "task": task_name, # Use the descriptive task name from JSON + "optimal": "optimal", # Assume all AgiBotWorld trajectories are optimal + } + except Exception as e: + print(f" ❌ Failed to process video {head_color_video}: {e}") + continue + + trajectories.append(trajectory) + total_trajectories += 1 + + print(f" ✅ Loaded episode {episode_id} ({total_trajectories}/{max_trajectories})") + else: + print(f" ❌ head_color.mp4 not found for episode {episode_id}") + + if trajectories: + # Use proper task name from JSON instead of generic "task_{id}" + task_data[task_name] = trajectories + print(f"Added {len(trajectories)} trajectories for task '{task_name}'") + + print(f"Loaded {total_trajectories} total trajectories from {len(task_data)} tasks") + return task_data + + +def _load_streaming_agibotworld(dataset_name: str, max_trajectories: int = 100) -> dict[str, list[dict]]: + """Legacy helper no longer used. Kept for compatibility.""" + raise NotImplementedError("Use convert_agibotworld_streaming_to_hf() for streaming conversion.") + + +def _load_task_info(task_info_file: Path) -> list[dict]: + """Load task information from JSON file.""" + if not task_info_file.exists(): + print(f"Task info file not found: {task_info_file}") + return [] + + try: + with open(task_info_file) as f: + task_info = json.load(f) + return task_info if isinstance(task_info, list) else [task_info] + except Exception as e: + print(f"Error loading task info from {task_info_file}: {e}") + return [] + + +def _load_actions_from_h5(proprio_file: Path) -> np.ndarray: + """Load actions from proprioceptive H5 file.""" + if not proprio_file.exists(): + print(f"Proprioceptive file not found: {proprio_file}") + return np.array([]) + + try: + with h5py.File(proprio_file, "r") as f: + # According to AgiBotWorld docs, actions are stored under /action + if "action" in f: + action_group = f["action"] + + # Try to extract joint actions (most common for manipulation) + if "joint" in action_group and "position" in action_group["joint"]: + actions = action_group["joint"]["position"][:] + elif "end" in action_group and "position" in action_group["end"]: + # Use end-effector positions if joint positions not available + end_positions = action_group["end"]["position"][:] + end_orientations = ( + action_group["end"]["orientation"][:] if "orientation" in action_group["end"] else None + ) + + if end_orientations is not None: + # Concatenate position and orientation for full 6-DOF actions + # Reshape orientations from [N, 2, 4] to [N, 8] (both arms) + end_orientations_flat = end_orientations.reshape(end_orientations.shape[0], -1) + # Reshape positions from [N, 2, 3] to [N, 6] + end_positions_flat = end_positions.reshape(end_positions.shape[0], -1) + actions = np.concatenate([end_positions_flat, end_orientations_flat], axis=1) + else: + actions = end_positions.reshape(end_positions.shape[0], -1) + else: + print(f"No recognizable action data found in {proprio_file}") + return np.array([]) + + return actions + else: + print(f"No action group found in {proprio_file}") + return np.array([]) + + except Exception as e: + print(f"Error loading actions from {proprio_file}: {e}") + return np.array([]) diff --git a/robometer/dataset_upload/dataset_loaders/autoeval_loader.py b/robometer/dataset_upload/dataset_loaders/autoeval_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..44dddb6499e0d64926fffb82a2fc5b3d04e0333d --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/autoeval_loader.py @@ -0,0 +1,85 @@ +import os +import pickle +from collections import defaultdict +from pathlib import Path +from typing import Any + +import numpy as np +from tqdm import tqdm +from dataset_upload.helpers import generate_unique_id + + +class AutoEvalFrameLoader: + """Pickle-able loader that decodes image frames from a pickled episode file on demand. + + Expects each pickle to contain a sequence of steps with observations under + f.obs['image_primary'] (RGB arrays or encodable). + """ + + def __init__(self, pickle_path: str) -> None: + self.pickle_path = pickle_path + + def __call__(self) -> np.ndarray: + with open(self.pickle_path, "rb") as f: + ep = pickle.load(f) + frames = np.asarray(ep.obs["image_primary"], dtype=np.uint8) + return frames + + +def _make_traj(pickle_path: Path, task: str, success: bool) -> dict[str, Any]: + traj: dict[str, Any] = {} + traj["id"] = generate_unique_id() + traj["task"] = task + traj["frames"] = AutoEvalFrameLoader(str(pickle_path)) + traj["is_robot"] = True + traj["quality_label"] = "successful" if success else "failure" + traj["partial_success"] = 1 if success else 0 + traj["data_source"] = "autoeval" + traj["preference_group_id"] = None + traj["preference_rank"] = None + return traj + + +def load_autoeval_dataset(dataset_path: str) -> dict[str, list[dict]]: + """Load AutoEval pickled episodes and return paired trajectories per task. + + Assumes structure like: + /eval_data//*.pkl + + We treat each subfolder under eval_data as a group, and within it we look + for pairs of success/failure pickles for the same episode id when possible. + We also print counts of successes and failures and keep only paired ones. + """ + + root = Path(os.path.expanduser(dataset_path)) + eval_root = root / "eval_data" + if not eval_root.exists(): + raise FileNotFoundError(f"AutoEval eval_data folder not found: {eval_root}") + + pkl_files = list(eval_root.rglob("*.pkl")) + + success_count = 0 + total_count = 0 + + task_data: dict[str, list[dict]] = defaultdict(list) + task_success_set = set() + + for pkl in tqdm(pkl_files, desc="Loading AutoEval dataset", total=len(pkl_files)): + with open(pkl, "rb") as f: + ep = pickle.load(f) + success = ep.success + task = ep.language_command + if success is None or task is None: + continue + + success_count += int(success) + total_count += 1 + if bool(success): + task_success_set.add(task) + task_data[task].append(_make_traj(pkl, task, success=bool(success))) + + # make sure all tasks have at least one success + for task in task_data.keys(): + assert task in task_success_set, f"Task {task} is not in task_success_set" + print(f"AutoEval: successes={success_count}, total={total_count}") + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/egocot_loader.py b/robometer/dataset_upload/dataset_loaders/egocot_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..846d324c6d28bd82ec628df24f9cc66ba28c0e54 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/egocot_loader.py @@ -0,0 +1,188 @@ +import os +import json +from collections import defaultdict +from tqdm import tqdm + +import numpy as np +from dataset_upload.helpers import generate_unique_id + +trajectory_info_template = { + "id": [], + "task": [], + # "lang_vector": [], + "data_source": None, + "frames": None, + "is_robot": None, + "quality_label": None, + "partial_success": None, # in [0, 1] +} + + +class EgoCOTFrameloader: + """Pickle-able loader that reads EgoCoT frames from disk on demand. + + Stores only simple fields so it can be safely passed across processes. + """ + + def __init__(self, frames_path: str) -> None: + self.frames_path = frames_path + + def __call__(self) -> np.ndarray: + """Load frames from disk when called. + + Returns: + np.ndarray of shape (T, H, W, 3), dtype uint8 + """ + # Load the numpy array containing 8 consecutive frames + frames = np.load(self.frames_path) + + # Ensure the frames are in the correct format + # EgoCoT frames are stored as numpy arrays with 8 consecutive frames + assert frames.ndim == 4, f"Expected 4D array, got {frames.ndim}D array" + + # Ensure shape and dtype sanity + if not isinstance(frames, np.ndarray) or frames.ndim != 4 or frames.shape[1] != 3: + raise ValueError(f"Unexpected frames shape for {self.frames_path}: {getattr(frames, 'shape', None)}") + + # Ensure uint8 + if frames.dtype != np.uint8: + # Convert from float to uint8 if necessary + if frames.dtype in [np.float32, np.float64]: + if frames.max() <= 1.0: + # Values in [0, 1] range - just scale to [0, 255] + frames = (frames * 255).astype(np.uint8) + else: + # Values appear to be ImageNet normalized - denormalize first + # ImageNet normalization: (pixel - mean) / std + # Reverse: pixel * std + mean + imagenet_mean = np.array([0.485, 0.456, 0.406]).reshape(1, 3, 1, 1) + imagenet_std = np.array([0.229, 0.224, 0.225]).reshape(1, 3, 1, 1) + + # Denormalize: multiply by std and add mean + frames = frames * imagenet_std + imagenet_mean + + # Clamp to [0, 1] and convert to [0, 255] + frames = np.clip(frames, 0, 1) + frames = (frames * 255).astype(np.uint8) + else: + frames = frames.astype(np.uint8, copy=False) + + # now convert frames to (T, H, W, 3) from (T, C, H, W) + frames = frames.transpose(0, 2, 3, 1) + + return frames + + +def create_new_trajectory(frames_path: str, caption: str) -> dict: + """Create a new trajectory from EgoCoT data.""" + trajectory_info = {} + trajectory_info["id"] = generate_unique_id() + trajectory_info["task"] = caption # Use caption as the task description + trajectory_info["frames"] = EgoCOTFrameloader(frames_path) + trajectory_info["is_robot"] = False # EgoCoT is human egocentric data + trajectory_info["quality_label"] = "successful" + trajectory_info["partial_success"] = 1 + trajectory_info["data_source"] = "egocot" + return trajectory_info + + +def load_egocot_dataset(dataset_path: str) -> dict[str, list[dict]]: + """Load EgoCoT dataset from results.json and .npy frame files (EgoCOT_clear). + + Expected layout (example): + / + results.json + EgoCOT_clear/ + EGO_0000.npy + EGO_0001.npy + + Args: + dataset_path: Path to a directory containing one or more EgoCoT result folders + + Returns: + Dictionary mapping task descriptions to lists of trajectory dictionaries + """ + # Locate results.json files + json_files = [] + for root, dirs, files in os.walk(dataset_path): + for file in files: + if file.lower() == "results.json": + json_files.append(os.path.join(root, file)) + + if not json_files: + raise FileNotFoundError(f"No results.json files found in {dataset_path}") + + task_data = defaultdict(list) + total_trajectories = 0 + + for json_file in json_files: + print(f"Loading annotations from {json_file}") + + with open(json_file, "r") as f: + annotations = json.load(f) + + # Normalize JSON structures + if isinstance(annotations, list): + data_items = annotations + elif isinstance(annotations, dict): + if "data" in annotations: + data_items = annotations["data"] + elif "results" in annotations: + data_items = annotations["results"] + elif "annotations" in annotations: + data_items = annotations["annotations"] + elif "samples" in annotations: + data_items = annotations["samples"] + elif "image" in annotations: + data_items = [annotations] + else: + raise ValueError(f"Unexpected JSON structure in {json_file}: cannot find data list") + else: + raise ValueError(f"Unexpected JSON structure in {json_file}") + + for item in tqdm(data_items, desc="Processing trajectories"): + # Extract required fields (handle common variants and typos) + image_filename = item.get("image") + # this caption is the llm generated one that's much more detailed from EgoCOT's processing + caption = item.get("planing").split("\n")[0][1:] + if not caption: + caption = item.get("caption") # use the backup original caption + score = item.get("score") + + if not image_filename or not caption: + print(f"Skipping item with missing image or caption: {item}") + continue + + # Construct full path to the .npy file, prioritizing EgoCOT_clear next to results.json + base_dir = os.path.dirname(json_file) + candidate_paths = [ + os.path.join(base_dir, "EgoCOT_clear", image_filename) if image_filename else None, + # os.path.join(base_dir, image_filename) if image_filename else None, + # os.path.join(dataset_path, "EgoCOT_clear", image_filename) if image_filename else None, + # os.path.join(dataset_path, image_filename) if image_filename else None, + ] + + frames_path = None + for cand in candidate_paths: + if cand and os.path.exists(cand): + frames_path = cand + break + + if frames_path is None: + print(f"Warning: .npy frame file not found for: {image_filename}") + continue + + if not frames_path.lower().endswith(".npy"): + print(f"Warning: expected .npy file, got: {frames_path}. Skipping.") + continue + + # Create trajectory + trajectory = create_new_trajectory(frames_path, caption) + + # Group by task/caption for organization + task_key = caption[:50] + "..." if len(caption) > 50 else caption + task_data[task_key].append(trajectory) + total_trajectories += 1 + + print(f"Loaded {total_trajectories} trajectories from {len(task_data)} unique tasks") + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/egodex_loader.py b/robometer/dataset_upload/dataset_loaders/egodex_loader.py new file mode 100755 index 0000000000000000000000000000000000000000..a88c562306acbab7191b4c5f6a410802f86fd3a4 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/egodex_loader.py @@ -0,0 +1,146 @@ +""" +EgoDex dataset loader for the generic dataset converter for Robometer model training. + +This module provides a simple, readable loader inspired by the LIBERO loader: +- Discovers (HDF5, MP4) pairs per task directory +- Lazily loads frames via a small frame-loader callable +- Extracts a task description and pose actions from HDF5 +- Returns a dictionary mapping task names to lists of trajectory dicts +""" + +import os +from pathlib import Path +from re import A + +import h5py +import numpy as np +from dataset_upload.helpers import generate_unique_id +from dataset_upload.video_helpers import load_video_frames +from tqdm import tqdm + + +class EgoDexFrameLoader: + """Pickle-able frame loader for EgoDex videos.""" + + def __init__(self, mp4_path: str): + self.mp4_path = mp4_path + + def __call__(self) -> np.ndarray: + """Load frames from the MP4 file when called.""" + return load_video_frames(Path(self.mp4_path), max_frames=1800) # 30hz * 60s = 1800 frames + + +def _discover_trajectory_files(dataset_path: Path) -> list[tuple[Path, Path, str]]: + """Discover all (HDF5, MP4) pairs grouped by task directory.""" + trajectory_files: list[tuple[Path, Path, str]] = [] + for task_dir in dataset_path.iterdir(): + if not task_dir.is_dir(): + continue + task_name = task_dir.name + for hdf5_file in task_dir.glob("*.hdf5"): + mp4_file = hdf5_file.with_suffix(".mp4") + if mp4_file.exists(): + trajectory_files.append((hdf5_file, mp4_file, task_name)) + else: + print(f"Warning: Missing MP4 file for {hdf5_file}") + return trajectory_files + + +def _load_hdf5_data(hdf5_path: Path) -> tuple[np.ndarray, str]: + """Load pose data and task description from EgoDex HDF5 file.""" + with h5py.File(hdf5_path, "r") as f: + task_description = "" + try: + if "llm_description" in f.attrs: + if "which_llm_description" in f.attrs: + which_desc = f.attrs["which_llm_description"] + if int(which_desc) == 2 and "llm_description2" in f.attrs: + desc = f.attrs["llm_description2"] + else: + desc = f.attrs["llm_description"] + else: + desc = f.attrs["llm_description"] + if isinstance(desc, bytes): + task_description = desc.decode("utf-8") + else: + task_description = str(desc) + except Exception as e: + print(f"Warning: Could not load task description from {hdf5_path}: {e}") + pose_data = _extract_pose_actions(f) + return pose_data, task_description + + +def _extract_pose_actions(hdf5_file) -> np.ndarray: + """Extract pose actions (positions) from EgoDex HDF5.""" + actions: list[np.ndarray] = [] + pose_keys = [ + "transforms/leftHand", + "transforms/rightHand", + "transforms/leftIndexFingerTip", + "transforms/rightIndexFingerTip", + "transforms/camera", + ] + for key in pose_keys: + if key in hdf5_file: + transform_data = hdf5_file[key][:] # (N, 4, 4) + positions = transform_data[:, :3, 3] + actions.append(positions) + if not actions: + if "transforms/camera" in hdf5_file: + camera_transforms = hdf5_file["transforms/camera"][:] + camera_positions = camera_transforms[:, :3, 3] + actions.append(camera_positions) + else: + print("Warning: No pose data found, creating dummy actions") + actions.append(np.zeros((100, 3))) + return np.concatenate(actions, axis=1) + + +def load_egodex_dataset(dataset_path: str, max_trajectories: int = 100) -> dict[str, list[dict]]: + """Load EgoDex dataset and organize by task, without a separate iterator class.""" + print(f"Loading EgoDex dataset from: {dataset_path}") + print("=" * 100) + print("LOADING EGODEX DATASET") + print("=" * 100) + + dataset_path = Path(os.path.expanduser(dataset_path)) + if not dataset_path.exists(): + raise FileNotFoundError(f"Dataset path not found: {dataset_path}") + + traj_files = _discover_trajectory_files(dataset_path) + print(f"Found {len(traj_files)} trajectory pairs") + + task_data: dict[str, list[dict]] = {} + loaded_count = 0 + + for hdf5_path, mp4_path, task_name in tqdm(traj_files, desc="Processing trajectories"): + if max_trajectories is not None and loaded_count >= max_trajectories and max_trajectories != -1: + break + pose_data, task_description = _load_hdf5_data(hdf5_path) + + if "description unavailable" in task_description.lower(): + print(f"Skipping task {hdf5_path} because description is: {task_description}") + continue + frame_loader = EgoDexFrameLoader(str(mp4_path)) + + assert task_description is not None + + trajectory = { + "frames": frame_loader, + # "actions": pose_data, + "is_robot": False, + "task": task_description, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + "task_name": task_name, + "id": generate_unique_id(), + } + + task_data.setdefault(task_name, []).append(trajectory) + loaded_count += 1 + + total_trajectories = sum(len(v) for v in task_data.values()) + print(f"Loaded {total_trajectories} trajectories from {len(task_data)} tasks") + + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/epic_loader.py b/robometer/dataset_upload/dataset_loaders/epic_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..2b7873b6737d93216212864efefb5d0c7bed5375 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/epic_loader.py @@ -0,0 +1,268 @@ +# Epic kitchens 100 +import csv +import os +from dataclasses import dataclass +from pathlib import Path +from typing import Any + +import cv2 +import numpy as np +from datasets import Dataset + +from dataset_upload.helpers import ( + create_hf_trajectory, + create_output_directory, + generate_unique_id, + load_sentence_transformer_model, +) + + +@dataclass +class EpicClip: + participant_id: str + video_id: str + narration_id: str + start_frame: int + stop_frame: int + narration: str + + +def _read_epic_csv(csv_path: Path) -> list[EpicClip]: + clips: list[EpicClip] = [] + with open(csv_path, "r") as f: + reader = csv.DictReader(f) + for row in reader: + try: + clips.append( + EpicClip( + participant_id=row["participant_id"].strip(), + video_id=row["video_id"].strip(), + start_frame=int(row["start_frame"]), + stop_frame=int(row["stop_frame"]), + narration=row["narration"].strip(), + narration_id=row["narration_id"].strip(), + ) + ) + except Exception: + continue + return clips + + +def _video_path_for_clip(dataset_path: Path, clip: EpicClip) -> Path: + # video_id maps to video basename (without .MP4). Participant folder contains videos/ with .MP4 + # Example: /P01/videos/.MP4 + return dataset_path / clip.participant_id / "videos" / f"{clip.video_id}.MP4" + + +def _read_video_segment(video_path: Path, start_frame: int, stop_frame: int) -> np.ndarray: + cap = cv2.VideoCapture(str(video_path)) + if not cap.isOpened(): + raise FileNotFoundError(f"Cannot open video: {video_path}") + + total = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) + start = max(0, min(start_frame, total - 1)) + end = max(start + 1, min(stop_frame, total)) + + # Seek to start + cap.set(cv2.CAP_PROP_POS_FRAMES, start) + + frames: list[np.ndarray] = [] + idx = start + while idx < end: + ok, frame_bgr = cap.read() + if not ok: + break + frame_rgb = cv2.cvtColor(frame_bgr, cv2.COLOR_BGR2RGB) + frames.append(frame_rgb) + idx += 1 + + cap.release() + return np.asarray(frames, dtype=np.uint8) + + +def _process_single_epic_clip(args: tuple[Any, ...]) -> dict | None: + ( + clip, + dataset_name, + root, + output_dir, + max_frames, + fps, + shortest_edge_size, + center_crop, + lang_vec, + ) = args + + video_path = _video_path_for_clip(root, clip) # derive from output_dir -> dataset root + + if not video_path.exists(): + return None + + # skip anything > 1000 + if clip.stop_frame - clip.start_frame > 1000: + print("Skipping clip because it's too long, length is", clip.stop_frame - clip.start_frame) + return None + frames = _read_video_segment(video_path, clip.start_frame, clip.stop_frame) + if frames.size == 0: + return None + + traj = { + "id": generate_unique_id(), + "task": clip.narration, + "frames": frames, + "is_robot": False, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + + out_dir = os.path.join(output_dir, dataset_name.lower(), clip.participant_id) + os.makedirs(out_dir, exist_ok=True) + out_video = os.path.join(out_dir, f"{clip.narration_id}.mp4") + + entry = create_hf_trajectory( + traj_dict=traj, + video_path=out_video, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + shortest_edge_size=shortest_edge_size, + center_crop=center_crop, + ) + if entry: + entry["frames"] = os.path.relpath(out_video, output_dir) + return entry + + +def convert_epic_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, + shortest_edge_size: int = 240, + center_crop: bool = False, +) -> Dataset: + """Convert EPIC-KITCHENS to HF format by writing videos directly (H2R/OXE-style).""" + + create_output_directory(output_dir) + root = Path(dataset_path) + csv_path = root / "EPIC_100_train.csv" + if not csv_path.exists(): + raise FileNotFoundError(f"EPIC_100_train.csv not found at {csv_path}") + + clips = _read_epic_csv(csv_path) + if not clips: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + # Language model and cache + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + # Determine workers + if num_workers == -1: + try: + from multiprocessing import cpu_count as _cpu_count + + num_workers = min(_cpu_count(), 8) + except Exception: + num_workers = 1 + elif num_workers == 0: + num_workers = 1 + + batch_size = 6 + entries: list[dict] = [] + produced = 0 + max_limit = float("inf") if (max_trajectories is None or max_trajectories == -1) else int(max_trajectories) + + file_batch: list[EpicClip] = [] + vec_batch: list[np.ndarray] = [] + + from tqdm import tqdm + + for idx, clip in tqdm(enumerate(clips), desc="iterating through EPIC-KITCHENS Clips", total=len(clips)): + if produced >= max_limit: + break + + # Precompute language vector + if clip.narration not in lang_cache: + lang_cache[clip.narration] = lang_model.encode(clip.narration) + lang_vec = lang_cache[clip.narration] + + file_batch.append(clip) + vec_batch.append(lang_vec) + + if len(file_batch) >= batch_size or idx + 1 == len(clips): + worker_args = [ + ( + clip, + dataset_name, + root, + output_dir, + max_frames, + fps, + shortest_edge_size, + center_crop, + vec, + ) + for clip, vec in zip(file_batch, vec_batch) + ] + + if num_workers == 1: + for args in worker_args: + entry = _process_single_epic_clip(args) + if entry: + entries.append(entry) + produced += 1 + if produced >= max_limit: + break + else: + from multiprocessing import Pool + from tqdm import tqdm + + with Pool(processes=num_workers) as pool: + results = list( + tqdm( + pool.imap_unordered(_process_single_epic_clip, worker_args), + total=len(worker_args), + desc=f"Processing EPIC clips (workers={num_workers})", + ) + ) + for entry in results: + if entry: + entries.append(entry) + produced += 1 + if produced >= max_limit: + break + + file_batch = [] + vec_batch = [] + + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + return Dataset.from_list(entries) diff --git a/robometer/dataset_upload/dataset_loaders/failsafe_loader.py b/robometer/dataset_upload/dataset_loaders/failsafe_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..cd8ab48d4ee57d9ca04a417a636d18e3cfe1599b --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/failsafe_loader.py @@ -0,0 +1,202 @@ +import glob +import json +import os +import random +from pathlib import Path +from typing import Any + +import cv2 +import numpy as np + +from dataset_upload.helpers import generate_unique_id + +TASK_TO_INSTRUCTION = { + "FailPickCube-v1": "Pick up the red cube", + "FailPushCube-v1": "Push and move a cube to a goal region in front of it", + "FailStackCube-v1": "Pick up a red cube and stack it on top of a green cube and let go of the cube without it falling", +} + + +class FailSafeFrameListLoader: + """Pickle-able loader that reads a list of image paths on demand. + + Returns np.ndarray (T, H, W, 3) uint8. + """ + + def __init__(self, image_paths: list[str]) -> None: + self.image_paths = image_paths + assert len(image_paths) > 0 + + def __call__(self) -> np.ndarray: + frames: list[np.ndarray] = [] + for p in self.image_paths: + img_bgr = cv2.imread(p, cv2.IMREAD_COLOR) + if img_bgr is None: + continue + img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB) + frames.append(img_rgb) + if not frames: + return np.empty((0, 0, 0, 3), dtype=np.uint8) + frames_np = np.asarray(frames, dtype=np.uint8) + return frames_np + + +def _sorted_pngs(dir_path: Path) -> list[str]: + files = [str(p) for p in dir_path.glob("*.png")] + + def _key(s: str) -> tuple: + name = os.path.splitext(os.path.basename(s))[0] + try: + return (int(name),) + except Exception: + return (name,) + + files.sort(key=_key) + return files + + +def _make_traj( + image_paths: list[str], task: str, instruction: str, is_success: bool, sub_task: str | None = None +) -> dict[str, Any]: + traj: dict[str, Any] = {} + traj["id"] = generate_unique_id() + # Combine main instruction with optional sub_task for clarity + if sub_task: + traj["task"] = sub_task + else: + traj["task"] = instruction + traj["frames"] = FailSafeFrameListLoader(image_paths) + traj["is_robot"] = True + traj["quality_label"] = "successful" if is_success else "failure" + traj["data_source"] = "failsafe" + traj["preference_group_id"] = None + traj["preference_rank"] = None + return traj + + +def _gather_full_episodes(task_dir: Path, view: str, instruction: str) -> list[dict]: + episodes: list[dict] = [] + # Seeds are numbered directories directly under task_dir + for seed_dir in sorted([p for p in task_dir.iterdir() if p.is_dir()]): + # Ground truth (success) + gt_view_dir = seed_dir / "Ground_Truth" / view + if gt_view_dir.exists(): + imgs = _sorted_pngs(gt_view_dir) + assert len(imgs) > 0 + if imgs: + episodes.append(_make_traj(imgs, task_dir.name, instruction, is_success=True)) + + # Failures: any subfolder except Ground_Truth + for attempt_dir in sorted([p for p in seed_dir.iterdir() if p.is_dir() and p.name != "Ground_Truth"]): + view_dir = attempt_dir / view + if view_dir.exists(): + assert len(imgs) > 0 + imgs = _sorted_pngs(view_dir) + if imgs: + episodes.append(_make_traj(imgs, task_dir.name, instruction, is_success=False)) + return episodes + + +def _gather_sub_episodes_from_json(dataset_root: Path, view: str) -> list[dict]: + episodes: list[dict] = [] + # JSON files like vla_data_FailPickCube-v1.json, vla_data_GT_PickCube-v1.json etc. + json_dir = dataset_root / "json_files" + if not json_dir.exists(): + json_dir = dataset_root # fallback if jsons are at root + + json_files = glob.glob(str(json_dir / "vla_data_*.json")) + for jf in sorted(json_files): + try: + with open(jf, "r") as f: + data = json.load(f) + except Exception: + continue + if not isinstance(data, list): + continue + # sub sample 1/3 for 3 views + for entry in random.sample(data, len(data) // 3): + task_key = entry.get("task") + instruction = entry.get("instruction") or TASK_TO_INSTRUCTION.get(task_key, task_key or "") + sub_task = entry.get("sub_task") + failure_type = entry.get("failure_type", "None") + # Image list is relative to dataset root + imgs_rel = entry.get("image", []) + if not imgs_rel: + continue + # Filter by desired view: ensure each path contains "//" + if view: + imgs_rel = [p for p in imgs_rel if f"/{view}/" in p or f"\\{view}\\" in p] + if len(imgs_rel) == 0: + continue + image_paths = [str((dataset_root / p).resolve()) for p in imgs_rel] + is_success = (failure_type is None) or (str(failure_type).lower() == "none") + episodes.append( + _make_traj(image_paths, task_key or "failsafe", instruction, is_success=is_success, sub_task=sub_task) + ) + return episodes + + +def load_failsafe_dataset(dataset_path: str) -> dict[str, list[dict]]: + """Load FailSafe dataset from local folders and JSON sub-trajectory annotations. + + Args: + dataset_path: Root directory containing FailPickCube-v1/ FailPushCube-v1/ FailStackCube-v1/ and jsons + + Returns: + Mapping: instruction string -> list of trajectory dicts + """ + views = ["front", "side", "wrist"] + include_sub_trajectories = True + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"FailSafe dataset path not found: {root}") + + task_dirs = [ + p for p in [root / "FailPickCube-v1", root / "FailPushCube-v1", root / "FailStackCube-v1"] if p.exists() + ] + + task_data: dict[str, list[dict]] = {} + + # Sub-trajectory episodes from JSON + if include_sub_trajectories: + for view in views: + # sample one view + sub_episodes = _gather_sub_episodes_from_json(root, view=view) + print(f"Found {len(sub_episodes)} sub-trajectories for {view} after sampling 1/3 of the data") + for traj in sub_episodes: + task = traj["task"] + task_data.setdefault(task, []).append(traj) + + # Full episodes + for tdir in task_dirs: + instruction = TASK_TO_INSTRUCTION.get(tdir.name, tdir.name) + print(f"Gathering full episodes for {instruction}") + for view in views: + episodes = _gather_full_episodes(tdir, view=view, instruction=instruction) + print(f"Found {len(episodes)} episodes for {instruction} {view}") + if episodes: + task_data.setdefault(instruction, []).extend(episodes) + + # only keep tasks that have both failed and successful trajectories + task_data_paired = {} + for task, trajectories in task_data.items(): + failed_trajectories = [t for t in trajectories if t["quality_label"] == "failure"] + successful_trajectories = [t for t in trajectories if t["quality_label"] == "successful"] + if len(failed_trajectories) == 0 or len(successful_trajectories) == 0: + continue + task_data_paired[task] = failed_trajectories + successful_trajectories + + print( + f"Found {len(task_data_paired)} tasks with both failed and successful trajectories from originally {len(task_data)} tasks" + ) + + # print how many failed and successful trajectories there are + failed_trajectories = [ + sum([1 for t in traj if t["quality_label"] == "failure"]) for traj in task_data_paired.values() + ] + successful_trajectories = [ + sum([1 for t in traj if t["quality_label"] == "successful"]) for traj in task_data_paired.values() + ] + print(f"Found {sum(failed_trajectories)} failed trajectories") + print(f"Found {sum(successful_trajectories)} successful trajectories") + return task_data_paired diff --git a/robometer/dataset_upload/dataset_loaders/fino_net_loader.py b/robometer/dataset_upload/dataset_loaders/fino_net_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..52d6e53f9eb99168fb865fdad6b2467e9f0427e0 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/fino_net_loader.py @@ -0,0 +1,422 @@ +#!/usr/bin/env python3 +""" +FinoNet dataset loader for the generic dataset converter for Robometer model training. +https://huggingface.co/datasets/jesbu1/fino-net-dataset +This module contains FinoNet-specific logic for loading and processing image sequences. +""" + +import os +from pathlib import Path +from typing import Any + +import numpy as np +from PIL import Image +from dataset_upload.helpers import ( + create_hf_trajectory, + generate_unique_id, + load_sentence_transformer_model, +) +from tqdm import tqdm +from datasets import Dataset + + +# Task mapping from task names to instructions +TASK_TO_INSTRUCTION = { + "put_on": "put the single block on the table onto the stack", + "put_in": "put the object on the table into the container", + "place": "place the left object on the table onto the stack", + "pour": "pour the contents of the cup into the receptacle on the table without spilling", + "push": "push the object towards the right without knocking it over", +} + + +def _load_annotation_files(dataset_path: Path) -> dict[str, dict[int, int]]: + """Load annotation files for all tasks. + + Returns: + Dictionary mapping task name to {episode_number: label} where label is 0 for success, 1 for failure + """ + annotations = {} + + # The annotation files are in the root directory + annotation_files = { + "put_on": "put_on_annotation.txt", + "put_in": "put_in_annotation.txt", + "place": "place_annotation.txt", + "pour": "pour_annotation.txt", + "push": "push_annotation.txt", + } + + for task_name, filename in annotation_files.items(): + annot_file = dataset_path / filename + if not annot_file.exists(): + print(f"Warning: {filename} not found, skipping {task_name}") + continue + + task_annotations = {} + with open(annot_file, "r") as f: + for i, line in enumerate(f): + line = line.strip() + if not line: + continue + # Parse format: name, label + parts = line.split(",") + if len(parts) >= 2 and i > 0: # i ==0 is the header line + episode_num = int(parts[0].strip()) + label = int(parts[1].strip()) + task_annotations[episode_num] = label + + annotations[task_name] = task_annotations + print(f"Loaded {len(task_annotations)} annotations for {task_name}") + + return annotations + + +def _load_episode_images(episode_dir: Path) -> list[Path]: + """Load all image files from an episode directory, sorted by frame number. + + Args: + episode_dir: Path to episode directory containing PNG files + + Returns: + List of image file paths sorted by frame number + """ + if not episode_dir.exists(): + return [] + + # Find all PNG files + image_files = [] + for img_file in episode_dir.glob("*.png"): + image_files.append(img_file) + + # Sort by frame number (e.g., frame0000000.png, frame0000024.png) + def get_frame_num(path: Path) -> int: + name = path.stem # e.g., "frame0000000" + try: + return int(name.replace("frame", "")) + except: + return 0 + + image_files.sort(key=get_frame_num) + return image_files + + +def _load_image_as_numpy(img_path: Path) -> np.ndarray: + """Load a PNG image and return as numpy array in RGB format.""" + with Image.open(img_path) as img: + # Convert to RGB if needed + if img.mode != "RGB": + img = img.convert("RGB") + # Return as numpy array + return np.array(img) + + +def _discover_episodes(dataset_path: Path) -> list[tuple[str, int, int]]: + """Discover all episodes in the FinoNet dataset structure. + + Expected structure (after unzipping failure.zip): + dataset_path/ + failnet_dataset/ + rgb_imgs/ + put_on/ + 9/ + frame0000000.png + frame0000024.png + ... + put_in/ + place/ + pour/ + push/ + + Returns: + List of tuples: (task_name, episode_number, label) + """ + episodes = [] + + # Load annotations + annotations = _load_annotation_files(dataset_path) + + # Find the unzipped dataset directory + rgb_imgs_dir = dataset_path / "failnet_dataset" / "rgb_imgs" + if not rgb_imgs_dir.exists(): + print(f"Warning: rgb_imgs directory not found at {rgb_imgs_dir}") + return episodes + + # Iterate over task directories + for task_dir in rgb_imgs_dir.iterdir(): + if not task_dir.is_dir(): + continue + + task_name = task_dir.name + if task_name not in annotations: + print(f"Skipping task {task_name} (no annotations)") + continue + + task_annotations = annotations[task_name] + + # Iterate over episode subdirectories + for episode_dir in task_dir.iterdir(): + if not episode_dir.is_dir(): + continue + + try: + episode_num = int(episode_dir.name) + except ValueError: + continue + + # Get label from annotations + if episode_num not in task_annotations: + print(f"Warning: Episode {episode_num} for task {task_name} not in annotations") + continue + + label = task_annotations[episode_num] + episodes.append((task_name, episode_num, label)) + + print(f"Discovered {len(episodes)} episodes across {len(annotations)} tasks") + return episodes + + +def _process_single_episode(args): + """Worker to process a single episode into a trajectory entry. + + Returns a single entry dict or empty list if failed. + """ + ( + task_name, + episode_num, + label, + dataset_name, + output_dir, + max_frames, + fps, + task_instruction, + lang_vec, + rgb_imgs_dir, + ) = args + + try: + # Load images for this episode + episode_dir = rgb_imgs_dir / task_name / str(episode_num) + image_files = _load_episode_images(episode_dir) + + if not image_files: + print(f"Warning: No images found for episode {episode_num} in task {task_name}") + return [] + + # Load all frames into memory + frames = [] + for img_path in image_files: + frame = _load_image_as_numpy(img_path) + frames.append(frame) + + frames = np.array(frames) # Shape: (T, H, W, 3) + + # skip first 10 frames because they typically don't show the arm + frames = frames[10:] + + # Determine quality label (0 = success, 1 = failure) + quality_label = "failed" if label == 1 else "successful" + + # Create video path + episode_video_dir = os.path.join(output_dir, dataset_name.lower(), task_name, f"episode_{episode_num:06d}") + os.makedirs(episode_video_dir, exist_ok=True) + video_filename = "clip.mp4" + full_video_path = os.path.join(episode_video_dir, video_filename) + rel_video_path = os.path.join(dataset_name.lower(), task_name, f"episode_{episode_num:06d}", video_filename) + # Create trajectory dict + traj_dict = { + "id": generate_unique_id(), + "frames": frames, + "task": task_instruction, + "is_robot": True, + "quality_label": quality_label, + "preference_group_id": None, + "preference_rank": None, + } + + # Create HF trajectory entry + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=full_video_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + + if entry: + entry["frames"] = rel_video_path + return [entry] + + return [] + + except Exception as e: + print(f"Error processing episode {episode_num} for task {task_name}: {e}") + return [] + + +def _stable_shard_for_index(index: int, shard_modulus: int = 1000) -> str: + """Deterministically bucket an index into a shard directory name.""" + try: + idx = int(index) + except Exception: + idx = abs(hash(str(index))) + shard_index = idx // shard_modulus + return f"shard_{shard_index:04d}" + + +def convert_fino_net_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, +) -> Dataset: + """Convert the FinoNet dataset to HF format by writing videos directly. + + This follows the streaming approach: iterate episodes, write videos, + assemble entries, and return a Dataset at the end. + """ + + if dataset_name is None: + raise ValueError("dataset_name is required") + + base_path = Path(dataset_path) + if not base_path.exists(): + raise FileNotFoundError(f"FinoNet dataset path not found: {base_path}") + + # Discover all episodes + episodes = _discover_episodes(base_path) + if len(episodes) == 0: + # Return empty dataset + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + "partial_success": [], + }) + + # Limit trajectories if specified + if max_trajectories is not None and max_trajectories > 0: + episodes = episodes[:max_trajectories] + + # Language model and cache + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + # Determine workers + if num_workers == -1: + try: + from multiprocessing import cpu_count as _cpu_count + + num_workers = min(_cpu_count(), 8) + except Exception: + num_workers = 1 + elif num_workers == 0: + num_workers = 1 + + batch_size = 64 + + entries: list[dict[str, Any]] = [] + produced_count = 0 + max_limit = float("inf") if (max_trajectories is None or max_trajectories <= 0) else int(max_trajectories) + + print(f"Found {len(episodes)} episodes; processing in batches of {batch_size} with {num_workers} workers...") + + # Path to rgb_imgs directory + rgb_imgs_dir = base_path / "failnet_dataset" / "rgb_imgs" + + # Process in batches + episode_batch: list[tuple[str, int, int]] = [] + info_batch: list[tuple[str, Any]] = [] # (task_instruction, lang_vec) + + for idx, (task_name, episode_num, label) in enumerate(tqdm(episodes, desc="Queuing FinoNet episodes")): + if produced_count >= max_limit: + break + + # Get task instruction + if task_name not in TASK_TO_INSTRUCTION: + print(f"Skipping unknown task: {task_name}") + continue + + task_instruction = TASK_TO_INSTRUCTION[task_name] + + # Get or create language embedding + if task_instruction not in lang_cache: + lang_cache[task_instruction] = lang_model.encode(task_instruction) + lang_vec = lang_cache[task_instruction] + + episode_batch.append((task_name, episode_num, label)) + info_batch.append((task_instruction, lang_vec)) + + if len(episode_batch) >= batch_size or idx + 1 == len(episodes): + # Build worker args + worker_args = list( + zip( + [t for (t, _, _) in episode_batch], + [e for (_, e, _) in episode_batch], + [l for (_, _, l) in episode_batch], + [dataset_name] * len(episode_batch), + [output_dir] * len(episode_batch), + [max_frames] * len(episode_batch), + [fps] * len(episode_batch), + [ti for (ti, _) in info_batch], + [lv for (_, lv) in info_batch], + [rgb_imgs_dir] * len(episode_batch), + strict=False, + ) + ) + + if num_workers == 1: + # Sequential processing + for args in worker_args: + entries.extend(_process_single_episode(args)) + produced_count += 1 + if produced_count >= max_limit: + break + else: + from multiprocessing import Pool + + with Pool(processes=num_workers) as pool: + results = list( + tqdm( + pool.imap_unordered(_process_single_episode, worker_args), + total=len(worker_args), + desc=f"Processing batch (workers={num_workers})", + ) + ) + for res in results: + entries.extend(res) + produced_count += 1 + if produced_count >= max_limit: + break + + # Clear batch + episode_batch = [] + info_batch = [] + + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + "partial_success": [], + }) + + print(f"Successfully created {len(entries)} entries") + return Dataset.from_list(entries) diff --git a/robometer/dataset_upload/dataset_loaders/galaxea_loader.py b/robometer/dataset_upload/dataset_loaders/galaxea_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..b6e22eb930168a6b1c46ea71cda68a94556fa3a4 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/galaxea_loader.py @@ -0,0 +1,302 @@ +import os +import gc +from multiprocessing import cpu_count +from pathlib import Path +from typing import Any + +import numpy as np +from datasets import Dataset, concatenate_datasets + +from dataset_upload.helpers import ( + create_hf_trajectory, + generate_unique_id, + load_sentence_transformer_model, +) +from tqdm import tqdm + +# Disable GPUs for TensorFlow in this loader to avoid CUDA context issues in workers +os.environ.setdefault("CUDA_VISIBLE_DEVICES", "") + +import tensorflow_datasets as tfds + + +def _stable_shard_for_index(index: int, shard_modulus: int = 1000) -> str: + try: + idx = int(index) + except Exception: + idx = abs(hash(str(index))) + shard_index = idx // shard_modulus + return f"shard_{shard_index:04d}" + + +def _build_galaxea_video_paths( + output_dir: str, + dataset_label: str, + episode_idx: int, + view_key: str, +) -> tuple[str, str]: + shard_dir = _stable_shard_for_index(episode_idx) + episode_dir = os.path.join(output_dir, dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}") + os.makedirs(episode_dir, exist_ok=True) + filename = f"clip@{view_key}.mp4" + full_path = os.path.join(episode_dir, filename) + rel_path = os.path.join(dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}", filename) + return full_path, rel_path + + +def _parse_low_level_english(instruction: bytes | str) -> str | None: + """Galaxea's language_instruction format: "high@low_cn@low_en". Return low_en.""" + try: + instruction = instruction.decode("utf-8") + parts = instruction.split("@") + if len(parts) >= 3: + return parts[2].strip() + # If not delimited, return as-is + return instruction.strip() + except Exception: + return None + + +def _process_single_galaxea_episode(args): + episode, ep_idx, task, lang_vec, output_dir, dataset_name, max_frames, fps, valid_img_keys = args + + episode_entries = [] + first_step = next(episode) + assert len(valid_img_keys) == 1, ( + "Galaxea only has one valid image key for now. No support for multiple because of the way we iterate over the episode." + ) + for img_key in valid_img_keys: + # Validate key presence + if img_key not in first_step["observation"]: + continue + # Prune trivial black frames + if np.all(first_step["observation"][img_key] == 0): + continue + + frames = [first_step["observation"][img_key]] + [ + s["observation"][img_key] for s in episode if img_key in s["observation"] + ] + if not frames: + continue + # skip anything > 800 frames for now because memory usage + elif len(frames) > 1000: + print(f"Skipping episode {ep_idx} because it's too long, length is {len(frames)}") + del frames + continue + + full_path, rel_path = _build_galaxea_video_paths( + output_dir=output_dir, + dataset_label=dataset_name, + episode_idx=ep_idx, + view_key=img_key, + ) + + # Pass frames as list avoid doubling memory from np.stack + traj_dict = { + "id": generate_unique_id(), + "frames": frames, # Pass as list, let create_hf_trajectory handle it + "task": task, + "is_robot": True, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + try: + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=full_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + except Exception as e: + print(f"Warning: Failed to create HF trajectory for ep {ep_idx}: {e}") + continue + if entry: + entry["frames"] = rel_path + episode_entries.append(entry) + del frames + + return episode_entries + + +def convert_galaxea_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, +) -> Dataset: + """Convert Galaxea RLDS datasets to HF format by writing videos directly (OXE-style). + + Args: + dataset_path: Root path that contains an 'rlds' directory with builders. + dataset_name: Name to tag the resulting dataset (e.g., 'galaxea'). + output_dir: Where to write video files and dataset. + max_trajectories: Limit number of produced trajectories (None/-1 for all). + max_frames: Max frames per video. + fps: Video fps. + """ + + # Normalize and checks + if dataset_name is None: + raise ValueError("dataset_name is required") + + root = Path(os.path.expanduser(dataset_path)) / "rlds" + if not root.exists(): + raise FileNotFoundError(f"'rlds' directory not found under: {dataset_path}") + + # Determine workers + if num_workers == -1: + num_workers = min(cpu_count(), 8) + elif num_workers == 0: + num_workers = 1 + + # Language model and cache + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + rlds_name = dataset_name.replace("galaxea_", "") + + # Find builder directory/version: root/rlds_name/ + ds_root = root / rlds_name + versions = os.listdir(str(ds_root)) if ds_root.exists() else [] + if len(versions) == 0: + raise ValueError(f"No versions found for {rlds_name} in {ds_root}") + + builder = None + for version in versions: + if "incomplete" in version: + continue + try: + builder = tfds.builder_from_directory(f"{ds_root}/{version}") + break + except Exception: + continue + if builder is None: + raise ValueError(f"No valid builder found for {rlds_name} in {ds_root}") + + # to keep memory usage low, use 1 worker for decoding and interleave files + dataset = builder.as_dataset(split="train", shuffle_files=False) + + # Determine valid image observation keys for Galaxea (head and both wrists) + valid_img_keys = [ + "image_camera_head", + ] + + # Batch/process episodes + batch_size = 1 + num_workers = min(num_workers, 1) + entries: list[dict[str, Any]] = [] + produced = 0 + max_limit = float("inf") if (max_trajectories is None or max_trajectories == -1) else int(max_trajectories) + episode_batch = [] + info_batch = [] + + # split up + for ep_idx, episode in enumerate(tqdm(dataset, desc=f"Processing {rlds_name} episodes")): + if produced >= max_limit: + break + + # Materialize first step for language instruction + try: + first_step = next(iter(tfds.as_numpy(episode["steps"]))) + except StopIteration: + continue + + # Galaxea stores 'language_instruction' at step-level; parse low-level English + task = None + if "language_instruction" in first_step: + task = _parse_low_level_english(first_step["language_instruction"]) # type: ignore[index] + if not task: + continue + + # Precompute embedding + if task not in lang_cache: + lang_cache[task] = lang_model.encode(task) + lang_vec = lang_cache[task] + + # Convert episode to numpy (list of steps) + try: + # episode_np = list(tfds.as_numpy(episode["steps"])) + episode_np = iter(tfds.as_numpy(episode["steps"])) + except Exception as e: + print(f"Warning: Failed to convert episode {ep_idx} to numpy: {e}") + continue + + episode_batch.append(episode_np) + info_batch.append((ep_idx, task, lang_vec)) + + if len(episode_batch) >= batch_size or ep_idx + 1 == len(dataset): + if num_workers == 1: + for args in zip( + episode_batch, + [i for (i, _, _) in info_batch], + [t for (_, t, _) in info_batch], + [v for (_, _, v) in info_batch], + [output_dir] * len(episode_batch), + [dataset_name] * len(episode_batch), + [max_frames] * len(episode_batch), + [fps] * len(episode_batch), + [valid_img_keys] * len(episode_batch), + strict=False, + ): + episode_entries = _process_single_galaxea_episode(args) + entries.extend(episode_entries) + produced += len(episode_entries) + if produced >= max_limit: + break + else: + raise ValueError("num_workers > 1 not supported for Galaxea due to the way the frame loader works.") + # from multiprocessing import Pool + + # worker_args = list( + # zip( + # episode_batch, + # [i for (i, _, _) in info_batch], + # [t for (_, t, _) in info_batch], + # [v for (_, _, v) in info_batch], + # [output_dir] * len(episode_batch), + # [dataset_name] * len(episode_batch), + # [rlds_name] * len(episode_batch), + # [max_frames] * len(episode_batch), + # [fps] * len(episode_batch), + # [valid_img_keys] * len(episode_batch), + # strict=False, + # ) + # ) + + # with Pool(processes=num_workers) as pool: + # results = list( + # tqdm( + # pool.imap_unordered(_process_single_galaxea_episode, worker_args), + # total=len(worker_args), + # desc=f"Processing batch (workers={num_workers})", + # ) + # ) + # for res in results: + # entries.extend(res) + # produced += len(res) + # if produced >= max_limit: + # break + + episode_batch = [] + info_batch = [] + + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + return Dataset.from_list(entries) diff --git a/robometer/dataset_upload/dataset_loaders/h2r_loader.py b/robometer/dataset_upload/dataset_loaders/h2r_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..ad7b963ba7d44abaccb6175d46303a4c8327c7b3 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/h2r_loader.py @@ -0,0 +1,380 @@ +#!/usr/bin/env python3 +""" +H2R dataset loader for the generic dataset converter for Robometer model training. +https://huggingface.co/datasets/dannyXSC/HumanAndRobot +Human2Robot: Learning Robot Actions from Paired Human-Robot Videos +This module contains H2R-specific logic for loading and processing HDF5 files. + +Updated to support OXE-style streaming conversion: write videos and build +HF entries on the fly, and return a ready `datasets.Dataset` to be pushed +or saved by the caller. +""" + +import os +from pathlib import Path +from typing import Any + +import h5py +import numpy as np +from dataset_upload.helpers import ( + create_hf_trajectory, + generate_unique_id, + load_sentence_transformer_model, +) +from tqdm import tqdm +from datasets import Dataset + + +class H2RFrameLoader: + """Pickle-able loader that reads H2R frames from an HDF5 dataset on demand. + + Stores only simple fields so it can be safely passed across processes. + """ + + def __init__(self, hdf5_path: str, convert_to_rgb: bool = True): + self.hdf5_path = hdf5_path + self.convert_to_rgb = convert_to_rgb + + def __call__(self) -> tuple[np.ndarray, np.ndarray]: + """Load frames from HDF5 when called. + + Returns: + np.ndarray of shape (T, H, W, 3), dtype uint8 + """ + with h5py.File(self.hdf5_path, "r") as f: + human_frames = f["/cam_data/human_camera"][:] + robot_frames = f["/cam_data/robot_camera"][:] + + if self.convert_to_rgb: + human_frames = human_frames[..., [2, 1, 0]] + robot_frames = robot_frames[..., [2, 1, 0]] + + # Ensure shape and dtype sanity + if not isinstance(human_frames, np.ndarray) or human_frames.ndim != 4 or human_frames.shape[-1] != 3: + raise ValueError(f"Unexpected frames shape for {self.hdf5_path}: {getattr(human_frames, 'shape', None)}") + + if not isinstance(robot_frames, np.ndarray) or robot_frames.ndim != 4 or robot_frames.shape[-1] != 3: + raise ValueError(f"Unexpected frames shape for {self.hdf5_path}: {getattr(robot_frames, 'shape', None)}") + + # Ensure uint8 + if human_frames.dtype != np.uint8: + human_frames = human_frames.astype(np.uint8, copy=False) + if robot_frames.dtype != np.uint8: + robot_frames = robot_frames.astype(np.uint8, copy=False) + + return human_frames, robot_frames + + +# Task mapping from folder names to task descriptions +FOLDER_TO_TASK_NAME = { + "grab_both_cubes_v1": "pick up each cube individually and place them onto the plate", + "grab_cube2_v1": "pick up the cube and place it onto the plate", + "grab_cup_v1": "move the cup from left to right", + "grab_pencil1_v1": "pick up the marker and place it on the plate", + "grab_pencil2_v1": "pick up the marker and place it on the plate", + "grab_pencil_v1": "pick up the marker and place it on the plate", + "grab_two_cubes2_v1": "pick up the green cube and place it onto the plate", + "grab_to_plate1_and_back_v1": "put the red cube on the darker plate", + "grab_to_plate1_v1": "pick up the red cube and place it onto the darker plate", + "grab_to_plate2_v1": "pick up the red cube and place it onto the lighter plate", + "grab_to_plate2_and_back_v1": "put the red cube on the yellow plate", + "grab_to_plate2_and_pull_v1": "put the cube on the plate, then pull the plate from bottom to top", + "pull_plate_grab_cube": "pull the plate from bottom to top, then pick up the cube and place it onto the plate", + "pull_plate_v1": "pull the plate from bottom to top", + "push_box_common_v1": "push the box from left to right", + "push_box_random_v1": "push the box from left to right", + "push_box_two_v1": "push the tissues from left to right", + "push_plate_v1": "push the plate from top to bottom", + # "roll": "pick up the brush and write on the table", # skipped because it's weird + # "writing": "write aimlessly on the desk", # skipped because writing aimlessly is not helpful for reward modeling +} + + +def _get_task_name_from_folder(folder_name: str) -> str: + """Convert folder name to task name using the mapping.""" + # First try to find exact match + if folder_name in FOLDER_TO_TASK_NAME: + return FOLDER_TO_TASK_NAME[folder_name] + else: + return None + + +def _discover_h2r_files(dataset_path: Path) -> list[tuple[Path, str]]: + """Discover all video files in the H2R dataset structure. + + Expected structure: + dataset_path/ + folder_name_1/ + hdf5_file_1.hdf5 + hdf5_file_2.hdf5 + hdf5_file_3.hdf5 + ... + folder_name_2/ + hdf5_file_1.hdf5 + hdf5_file_2.hdf5 + hdf5_file_3.hdf5 + ... + ... + + Returns: + List of tuples: (hdf5_file_path, task_name) + """ + trajectory_files: list[tuple[Path, str]] = [] + for folder in dataset_path.iterdir(): + if folder.is_dir(): + for file in folder.glob("*.hdf5"): + trajectory_files.append((file, folder.name)) + + return trajectory_files + + +def _stable_shard_for_index(index: int, shard_modulus: int = 1000) -> str: + """Deterministically bucket an index into a shard directory name. + + Matches the naming style used in the OXE loader for consistent layout. + """ + try: + idx = int(index) + except Exception: + idx = abs(hash(str(index))) + shard_index = idx // shard_modulus + return f"shard_{shard_index:04d}" + + +def _build_h2r_video_paths( + output_dir: str, + dataset_label: str, + episode_idx: int, + role: str, +) -> tuple[str, str]: + shard_dir = _stable_shard_for_index(episode_idx) + episode_dir = os.path.join(output_dir, dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}") + os.makedirs(episode_dir, exist_ok=True) + filename = f"clip@{role}.mp4" + full_path = os.path.join(episode_dir, filename) + rel_path = os.path.join(dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}", filename) + return full_path, rel_path + + +def _process_single_h2r_file(args): + """Worker to process a single H2R HDF5 file into up to two entries. + + Returns a list of entries (human and/or robot), each with relative frame paths. + """ + ( + file_path, + folder_name, + ep_idx, + dataset_name, + output_dir, + max_frames, + fps, + task, + lang_vec, + ) = args + + entries: list[dict[str, Any]] = [] + + # Load frames for this file (human and robot) + human_frames, robot_frames = H2RFrameLoader(str(file_path))() + + # HUMAN entry + full_h_path, rel_h_path = _build_h2r_video_paths( + output_dir=output_dir, + dataset_label=dataset_name, + episode_idx=ep_idx, + role="human", + ) + human_traj = { + "id": generate_unique_id(), + "frames": human_frames, + "task": task, + "is_robot": False, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + human_entry = create_hf_trajectory( + traj_dict=human_traj, + video_path=full_h_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + if human_entry: + human_entry["frames"] = rel_h_path + entries.append(human_entry) + + # ROBOT entry + full_r_path, rel_r_path = _build_h2r_video_paths( + output_dir=output_dir, + dataset_label=dataset_name, + episode_idx=ep_idx, + role="robot", + ) + robot_traj = { + "id": generate_unique_id(), + "frames": robot_frames, + "task": task, + "is_robot": True, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + robot_entry = create_hf_trajectory( + traj_dict=robot_traj, + video_path=full_r_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + if robot_entry: + robot_entry["frames"] = rel_r_path + entries.append(robot_entry) + + return entries + + +def convert_h2r_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, +) -> Dataset: + """Convert the H2R dataset to HF format by writing videos directly. + + This mirrors the OXE loader's streaming approach: iterate files, write videos, + assemble entries, and return a Dataset at the end. + """ + + if dataset_name is None: + raise ValueError("dataset_name is required") + + base_path = Path(dataset_path) + if not base_path.exists(): + raise FileNotFoundError(f"H2R dataset path not found: {base_path}") + + discovered = _discover_h2r_files(base_path) + if len(discovered) == 0: + # Return an empty dataset with expected columns + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + # keep schema compatible with helpers/create_hf_trajectory usage + "preference_group_id": [], + "preference_rank": [], + }) + + # Language model and cache (avoid recomputing for identical tasks) + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + # Determine workers and batching (match OXE approach to control memory) + if num_workers == -1: + try: + from multiprocessing import cpu_count as _cpu_count + + num_workers = min(_cpu_count(), 8) + except Exception: + num_workers = 1 + elif num_workers == 0: + num_workers = 1 + + batch_size = 64 + + entries: list[dict[str, Any]] = [] + produced_pairs = 0 # count by file; each file can produce up to 2 entries + max_limit = float("inf") if (max_trajectories is None or max_trajectories == -1) else int(max_trajectories) + + print(f"Found {len(discovered)} HDF5 files; processing in batches of {batch_size} with {num_workers} workers...") + + # Process files in batches + file_batch: list[tuple[Path, str]] = [] + info_batch: list[tuple[int, str, Any]] = [] # (ep_idx, task, lang_vec) + + for ep_idx, (file_path, folder_name) in enumerate(tqdm(discovered, desc="Queuing H2R files")): + if produced_pairs >= max_limit: + break + + task = _get_task_name_from_folder(folder_name) + if task is None: + print("Skipping file: ", file_path) + continue + if task not in lang_cache: + lang_cache[task] = lang_model.encode(task) + lang_vec = lang_cache[task] + + file_batch.append((file_path, folder_name)) + info_batch.append((ep_idx, task, lang_vec)) + + if len(file_batch) >= batch_size or ep_idx + 1 == len(discovered): + # Build worker args + worker_args = list( + zip( + [f for (f, _) in file_batch], + [fn for (_, fn) in file_batch], + [i for (i, _, _) in info_batch], + [dataset_name] * len(file_batch), + [output_dir] * len(file_batch), + [max_frames] * len(file_batch), + [fps] * len(file_batch), + [t for (_, t, _) in info_batch], + [lv for (_, _, lv) in info_batch], + strict=False, + ) + ) + + if num_workers == 1: + # Sequential processing + for args in worker_args: + entries.extend(_process_single_h2r_file(args)) + produced_pairs += 1 + if produced_pairs >= max_limit: + break + else: + from multiprocessing import Pool + + with Pool(processes=num_workers) as pool: + results = list( + tqdm( + pool.imap_unordered(_process_single_h2r_file, worker_args), + total=len(worker_args), + desc=f"Processing batch (workers={num_workers})", + ) + ) + for res in results: + entries.extend(res) + produced_pairs += 1 + if produced_pairs >= max_limit: + break + + # Clear batch + file_batch = [] + info_batch = [] + + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + return Dataset.from_list(entries) diff --git a/robometer/dataset_upload/dataset_loaders/hand_paired_loader.py b/robometer/dataset_upload/dataset_loaders/hand_paired_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..4d3276c9e1beadeb1b014bb2b959d2364c1c880d --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/hand_paired_loader.py @@ -0,0 +1,168 @@ +""" +Loader for HAND_paired_data dataset containing paired robot and human demonstrations. +""" + +import os +from pathlib import Path +from typing import Any + +import cv2 +import numpy as np + +from dataset_upload.helpers import generate_unique_id + + +CAMERA_VIEWS = ["external_imgs", "over_shoulder_imgs"] + + +class HandPairedFrameLoader: + """Pickle-able loader that reads a list of JPG image paths on demand (RGB, uint8).""" + + def __init__(self, image_paths: list[str]) -> None: + if not image_paths: + raise ValueError("image_paths must be non-empty") + self.image_paths = image_paths + + def __call__(self) -> np.ndarray: + frames: list[np.ndarray] = [] + for p in self.image_paths: + img_bgr = cv2.imread(p, cv2.IMREAD_COLOR) + if img_bgr is None: + continue + img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB) + frames.append(img_rgb) + if not frames: + return np.empty((0, 0, 0, 3), dtype=np.uint8) + frames_np = np.asarray(frames, dtype=np.uint8) + return frames_np + + +def _sorted_jpgs(dir_path: Path) -> list[str]: + """Return sorted list of JPG file paths from a directory.""" + paths = [p for p in dir_path.glob("*.jpg")] + + def _key(p: Path): + # Extract number from filenames like "im_0.jpg", "im_1.jpg", etc. + name = p.stem + try: + # Handle "im_X" format + if "_" in name: + return int(name.split("_")[-1]) + return int(name) + except Exception: + return 0 + + paths.sort(key=_key) + return [str(p) for p in paths] + + +def _parse_task_name(folder_name: str) -> str: + """Convert folder name to human-readable task instruction. + + Examples: + blend_carrot -> blend carrot + close_microwave_hand -> close microwave + """ + # Remove '_hand' suffix if present + task = folder_name.replace("_hand", "") + # Replace underscores with spaces + task = task.replace("_", " ") + return task + + +def _is_human_task(folder_name: str) -> bool: + """Check if this is a human demonstration task.""" + return folder_name.endswith("_hand") + + +def _make_traj(image_paths: list[str], task_text: str, is_robot: bool) -> dict[str, Any]: + """Create a trajectory dictionary.""" + traj: dict[str, Any] = {} + traj["id"] = generate_unique_id() + traj["task"] = task_text + traj["frames"] = HandPairedFrameLoader(image_paths) + traj["is_robot"] = is_robot + traj["quality_label"] = "successful" # Assuming all demonstrations are successful + traj["data_source"] = "hand_paired" + traj["preference_group_id"] = None + traj["preference_rank"] = None + return traj + + +def load_hand_paired_dataset(dataset_path: str, dataset_name: str) -> dict[str, list[dict]]: + """Load HAND_paired_data dataset from local folders. + + Args: + dataset_path: Root directory containing task folders (e.g., blend_carrot, blend_carrot_hand, etc.) + + Structure: + dataset_path/ + blend_carrot/ + traj0/ + external_imgs/ + im_0.jpg, im_1.jpg, ... + over_shoulder_imgs/ + im_0.jpg, im_1.jpg, ... + traj1/ + ... + blend_carrot_hand/ + traj0/ + ... + close_microwave/ + ... + close_microwave_hand/ + ... + + Returns: + Mapping: task instruction -> list of trajectory dicts + """ + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"HAND_paired dataset path not found: {root}") + + # Get all task directories + task_dirs = [p for p in root.iterdir() if p.is_dir()] + + task_data: dict[str, list[dict]] = {} + + dataset_name = dataset_name.replace("hand_paired_", "") + + for task_dir in task_dirs: + print(f"Processing task: {task_dir.name}") + task_name = _parse_task_name(task_dir.name) + is_robot = not _is_human_task(task_dir.name) + if dataset_name == "robot": + if not is_robot: + continue + elif dataset_name == "human": + if is_robot: + continue + + # Get all trajectory directories (traj0, traj1, traj2, etc.) + traj_dirs = [p for p in task_dir.iterdir() if p.is_dir() and p.name.startswith("traj")] + print(f"Found {len(traj_dirs)} trajectory directories") + for traj_dir in traj_dirs: + print(f"Processing trajectory: {traj_dir.name}") + # Process each camera view + for camera_view in CAMERA_VIEWS: + print(f"Processing camera view: {camera_view}") + camera_dir = traj_dir / camera_view + if not camera_dir.exists(): + continue + + # Get sorted list of JPG images + image_paths = _sorted_jpgs(camera_dir) + if not image_paths: + continue + + # Create trajectory + traj = _make_traj(image_paths, task_name, is_robot) + task_data.setdefault(task_name, []).append(traj) + + print(f"Loaded {len(task_data)} unique tasks from HAND paired {dataset_name} dataset") + for task, trajs in task_data.items(): + robot_count = sum(1 for t in trajs if t["is_robot"]) + human_count = sum(1 for t in trajs if not t["is_robot"]) + print(f" {task}: {robot_count} robot, {human_count} human trajectories") + + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/humanoid_everyday_loader.py b/robometer/dataset_upload/dataset_loaders/humanoid_everyday_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..fde874e6bfd80081547e0415bc61e35a3ef7ce4e --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/humanoid_everyday_loader.py @@ -0,0 +1,346 @@ +import os +import json +import shutil +import gc +import glob +from re import T +import zipfile +import tempfile +from multiprocessing import cpu_count +from pathlib import Path +from typing import Any + +import numpy as np +import pandas as pd +from datasets import Dataset + +from dataset_upload.helpers import ( + create_hf_trajectory, + generate_unique_id, + load_sentence_transformer_model, +) +from tqdm import tqdm + +# Disable GPUs for TensorFlow in this loader to avoid CUDA context issues in workers +os.environ.setdefault("CUDA_VISIBLE_DEVICES", "") + +to_skip = set(["pull_out_tissue_from_tissue_box_h1.zip"]) # skip because it's incorrect videos + +# Google Sheet with task descriptions +GOOGLE_SHEET_URL = "https://docs.google.com/spreadsheets/d/158Wzf8Xywky3aHJSCfp3OZxf4bkhzAJdcG94eHf8gVc/export?format=csv&gid=1307250382" + + +def _load_google_sheet_tasks() -> dict[str, str]: + """Load task descriptions from Google Sheet. + + Returns: + Dictionary mapping task names (from zip filenames) to task descriptions. + """ + try: + # Read the Google Sheet as CSV, skipping the first 2 rows and using row 3 as header + df = pd.read_csv(GOOGLE_SHEET_URL, header=2) + + # Create a mapping from task name to description + task_map = {} + for _, row in df.iterrows(): + # Check if we have valid task name and description + if pd.notna(row.get("Task Name")) and pd.notna(row.get("Task Description")): + task_name = row["Task Name"] + description = row["Task Description"] + + # Create mapping for both with and without .zip extension + task_map[f"{task_name}.zip"] = description + task_map[task_name] = description + + print(f"Loaded {len(task_map) // 2} task descriptions from Google Sheet") + return task_map + except Exception as e: + print(f"Warning: Failed to load Google Sheet: {e}") + import traceback + + traceback.print_exc() + return {} + + +def _stable_shard_for_index(index: int, shard_modulus: int = 1000) -> str: + """Generate stable shard directory name for trajectory indexing.""" + try: + idx = int(index) + except Exception: + idx = abs(hash(str(index))) + shard_index = idx // shard_modulus + return f"shard_{shard_index:04d}" + + +def _build_humanoid_video_paths( + output_dir: str, + dataset_label: str, + episode_idx: int, + zip_file: str, +) -> tuple[str, str]: + """Build video paths for humanoid everyday dataset.""" + shard_dir = _stable_shard_for_index(episode_idx) + task_prefix = zip_file.split("/")[-2] + episode_dir = os.path.join(output_dir, dataset_label.lower(), task_prefix, shard_dir, f"episode_{episode_idx:06d}") + os.makedirs(episode_dir, exist_ok=True) + full_path = os.path.join(episode_dir, f"clip.mp4") + rel_path = os.path.join(dataset_label.lower(), task_prefix, shard_dir, f"episode_{episode_idx:06d}", f"clip.mp4") + return full_path, rel_path + + +def _process_single_humanoid_episode(args): + """Process a single episode from humanoid everyday dataset.""" + episode_data, ep_idx, task, lang_vec, output_dir, dataset_name, max_frames, fps, zip_file = args + + episode_entries = [] + + try: + # Extract frames from episode data + frames = [] + for step_data in episode_data: + if "image" in step_data: + # Convert numpy array to uint8 if needed + img = step_data["image"] + if img.dtype != np.uint8: + img = img.astype(np.uint8) + frames.append(img) + + if not frames: + return episode_entries + + full_path, rel_path = _build_humanoid_video_paths( + output_dir=output_dir, + dataset_label=dataset_name, + episode_idx=ep_idx, + zip_file=zip_file, + ) + + # Create trajectory dictionary + traj_dict = { + "id": generate_unique_id(), + "frames": frames, + "task": task, + "is_robot": True, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + + try: + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=full_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + except Exception as e: + print(f"Warning: Failed to create HF trajectory for ep {ep_idx}: {e}") + return episode_entries + + if entry: + entry["frames"] = rel_path + episode_entries.append(entry) + + except Exception as e: + print(f"Warning: Failed to process episode {ep_idx}: {e}") + return episode_entries + + return episode_entries + + +def _create_humanoid_dataloader(zip_path: str): + """Create a humanoid everyday dataloader for a zip file.""" + try: + # Import humanoid_everyday dataloader + from humanoid_everyday import Dataloader + + # Load dataset from zip file + ds = Dataloader(zip_path) + return ds + + except ImportError: + print(f"Warning: humanoid_everyday package not found. Please install it with: pip install humanoid_everyday") + return None + except Exception as e: + print(f"Warning: Failed to create dataloader from {zip_path}: {e}") + return None + + +def _load_single_humanoid_episode(ds, episode_idx: int): + """Load a single episode from an existing humanoid everyday dataloader.""" + try: + # Get the specific episode + episode = ds[episode_idx] + + # Convert episode to list of step dictionaries + episode_data = [] + for step in episode: + episode_data.append(step) + + return episode_data + + except Exception as e: + print(f"Warning: Failed to load episode {episode_idx}: {e}") + return None + + +def convert_humanoid_everyday_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, +) -> Dataset: + """Convert Humanoid Everyday datasets to HF format by writing videos directly. + + Args: + dataset_path: Root path that contains zip files with humanoid everyday datasets. + dataset_name: Name to tag the resulting dataset (e.g., 'humanoid_everyday'). + output_dir: Where to write video files and dataset. + max_trajectories: Limit number of produced trajectories (None/-1 for all). + max_frames: Max frames per video. + fps: Video fps. + num_workers: Number of workers for parallel processing. + """ + + # Normalize and checks + if dataset_name is None: + raise ValueError("dataset_name is required") + + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"Dataset path not found: {dataset_path}") + + # Find all zip files in the dataset path + zip_files = glob.glob(os.path.join(root, "**/*.zip"), recursive=True) + if not zip_files: + raise FileNotFoundError(f"No .zip files found in {dataset_path}") + + print(f"Found {len(zip_files)} zip files to process") + + # Determine workers + if num_workers == -1: + num_workers = min(cpu_count(), 8) + elif num_workers == 0: + num_workers = 1 + + # Language model and cache + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + # Process all zip files + all_entries: list[dict[str, Any]] = [] + produced = 0 + max_limit = float("inf") if (max_trajectories is None or max_trajectories == -1) else int(max_trajectories) + + print("Loading task descriptions from Google Sheet...") + google_sheet_tasks = _load_google_sheet_tasks() + + for zip_file in tqdm(zip_files, desc="Processing zip files"): + print(f"Processing zip file: {zip_file}") + + if zip_file.split("/")[-1] in to_skip: + print(f"Skipping zip file: {zip_file}") + continue + + # Create dataloader once for this zip file + ds = _create_humanoid_dataloader(zip_file) + if ds is None: + print(f"Failed to create dataloader for {zip_file}") + continue + + # Try to find task in Google Sheet + zip_filename = zip_file.split("/")[-1] + if zip_filename in google_sheet_tasks: + task_name = google_sheet_tasks[zip_filename] + print(f"Found task description from Google Sheet: {task_name}") + else: + try: + # Get the metadata.json for getting task description + # find metadata.json in the unzipped directory using correct glob pattern + metadata_paths = glob.glob( + os.path.join(zip_file.replace(".zip", ""), "**", "metadata.json"), recursive=True + ) + if not metadata_paths: + print(f"metadata.json not found in extracted directory for {zip_file}") + + else: + metadata_path = metadata_paths[0] + with open(metadata_path, "r") as f: + metadata = json.load(f) + task_name = metadata["description"] + print(f"Found task description from metadata.json: {task_name}") + except Exception as e: + print(f"Warning: Failed to load metadata.json for {zip_file}: {e}") + print(f"Warning: No task description found for {zip_filename} in Google Sheet, skipping") + shutil.rmtree(zip_file.replace(".zip", "")) + continue + + # Precompute embedding for this task + if task_name not in lang_cache: + lang_cache[task_name] = lang_model.encode(task_name) + lang_vec = lang_cache[task_name] + + episode_count = len(ds) + if episode_count == 0: + print(f"No episodes found in {zip_file}") + shutil.rmtree(zip_file.replace(".zip", "")) + continue + + print(f"Found {episode_count} episodes in {zip_file}") + + # Process episodes one at a time to save memory + for ep_idx in tqdm(range(episode_count), desc=f"Processing episodes in {zip_file}"): + # Load single episode using the existing dataloader + episode_data = _load_single_humanoid_episode(ds, ep_idx) + if episode_data is None: + print(f"Failed to load episode {ep_idx} from {zip_file}") + continue + + # Process single episode + episode_entries = _process_single_humanoid_episode(( + episode_data, + ep_idx, + task_name, + lang_vec, + output_dir, + dataset_name, + max_frames, + fps, + zip_file, + )) + + all_entries.extend(episode_entries) + produced += len(episode_entries) + + # Clean up episode data to free memory + del episode_data + + if produced >= max_limit: + break + + # remove the unzipped file after done since humanoid loader unzips it + shutil.rmtree(zip_file.replace(".zip", "")) + + if produced >= max_limit: + break + + if not all_entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + return Dataset.from_list(all_entries) diff --git a/robometer/dataset_upload/dataset_loaders/libero_loader.py b/robometer/dataset_upload/dataset_loaders/libero_loader.py new file mode 100755 index 0000000000000000000000000000000000000000..d3474c83023eef8197621fb557f208120d926cfd --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/libero_loader.py @@ -0,0 +1,158 @@ +#!/usr/bin/env python3 +""" +LIBERO dataset loader for the generic dataset converter for Robometer model training. +This module contains LIBERO-specific logic for loading and processing HDF5 files. +""" + +import os +from pathlib import Path + +import h5py +import numpy as np +from dataset_upload.helpers import generate_unique_id +from tqdm import tqdm + + +class LiberoFrameLoader: + """Pickle-able loader that reads LIBERO frames from an HDF5 dataset on demand. + + Stores only simple fields so it can be safely passed across processes. + """ + + def __init__(self, hdf5_path: str, dataset_path: str, rotate_180: bool = True): + self.hdf5_path = hdf5_path + self.dataset_path = dataset_path # e.g., "data//obs/agentview_rgb" + self.rotate_180 = rotate_180 + + def __call__(self) -> np.ndarray: + """Load frames from HDF5 when called. + + Returns: + np.ndarray of shape (T, H, W, 3), dtype uint8 + """ + with h5py.File(self.hdf5_path, "r") as f: + if self.dataset_path not in f: + raise KeyError(f"Dataset path '{self.dataset_path}' not found in {self.hdf5_path}") + + frames = f[self.dataset_path][:] + + # Ensure shape and dtype sanity + if not isinstance(frames, np.ndarray) or frames.ndim != 4 or frames.shape[-1] != 3: + raise ValueError( + f"Unexpected frames shape for {self.dataset_path} in {self.hdf5_path}: {getattr(frames, 'shape', None)}" + ) + + # Match existing behavior: flip vertically (previous code called this 180-degree rotate) + if self.rotate_180: + frames = frames[:, ::-1, :, :].copy() + + # Ensure uint8 + if frames.dtype != np.uint8: + frames = frames.astype(np.uint8, copy=False) + + return frames + + +def load_libero_dataset(base_path: str) -> dict[str, list[dict]]: + """Load LIBERO dataset from HDF5 files and organize by task. + + Args: + base_path: Path to the LIBERO dataset directory containing HDF5 files + + Returns: + Dictionary mapping task names to lists of trajectory dictionaries + """ + + print(f"Loading LIBERO dataset from: {base_path}") + + task_data = {} + + # Find all HDF5 files in the base path + base_path = Path(base_path) + if not base_path.exists(): + raise FileNotFoundError(f"LIBERO dataset path not found: {base_path}") + + hdf5_files = list(base_path.glob("*.hdf5")) + print("=" * 100) + print("LOADING LIBERO DATASET") + print("=" * 100) + + print(f"Found {len(hdf5_files)} HDF5 files") + + for file_path in tqdm(hdf5_files, desc=f"Processing LIBERO dataset, {len(hdf5_files)} files"): + task_name = file_path.stem # Remove .hdf5 extension + # print(f"Loading task: {task_name}") + + with h5py.File(file_path, "r") as f: + if "data" not in f: + print(f"No 'data' group in {task_name}") + continue + + data_group = f["data"] + trajectories = [] + + for trajectory_key in data_group.keys(): + trajectory = data_group[trajectory_key] + if isinstance(trajectory, h5py.Group): + # Extract trajectory data + trajectory_info = {"frames": [], "actions": []} + + # Set up lazy frame loader to avoid loading frames into memory up front + if "obs" in trajectory and "agentview_rgb" in trajectory["obs"]: + dataset_path = f"data/{trajectory_key}/obs/agentview_rgb" + trajectory_info["frames"] = LiberoFrameLoader( + hdf5_path=str(file_path), + dataset_path=dataset_path, + rotate_180=True, + ) + + # Get actions if available + if "actions" in trajectory: + trajectory_info["actions"] = trajectory["actions"][:] + + # Core attributes + trajectory_info["is_robot"] = True + trajectory_info["quality_label"] = "successful" + trajectory_info["preference_group_id"] = None + trajectory_info["preference_rank"] = None + + # Parse the original file path to extract scene and task info + file_name = os.path.basename(file_path).replace(".hdf5", "") + + # Extract scene and task from the file name + # Example: LIVING_ROOM_SCENE4_stack_the_right_bowl_on_the_left_bowl_and_place_them_in_the_tray + parts = file_name.split("_") + + # Find the scene part (contains "SCENE") + scene_part = None + task_parts = [] + + for i, part in enumerate(parts): + if "SCENE" in part: + scene_part = part + # Everything after the scene is the task + task_parts = parts[i + 1 :] + break + + # If no scene found, then don't use a scene + if scene_part is None: + scene_part = "UNKNOWN_SCENE" + task_parts = parts + + # Convert task parts to readable string + task_string = " ".join(task_parts).replace("_", " ") + task_string = task_string.replace("demo", "") + + # Add parsed information to trajectory + trajectory_info["task"] = task_string.strip() + # Assign unique UUID id + trajectory_info["id"] = generate_unique_id() + trajectories.append(trajectory_info) + + task_data[task_name] = trajectories + # print(f" Loaded {len(trajectories)} trajectories for {task_name}") + + print( + f"Loaded {sum(len(trajectories) for trajectories in task_data.values())} trajectories from {len(task_data)} tasks" + ) + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/mit_franka_prank_loader.py b/robometer/dataset_upload/dataset_loaders/mit_franka_prank_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..4fa1a33a14cc28f19bfd2516f68549aa06c47a96 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/mit_franka_prank_loader.py @@ -0,0 +1,216 @@ +import json +import os +from multiprocessing import cpu_count +from pathlib import Path +from typing import Any + +import cv2 +import numpy as np +from datasets import Dataset +from tqdm import tqdm + +from dataset_upload.helpers import ( + create_hf_trajectory, + generate_unique_id, + load_sentence_transformer_model, +) + + +def _load_video_frames(video_path: str) -> list[np.ndarray]: + """Load frames from an MP4 video file.""" + if not os.path.exists(video_path): + raise FileNotFoundError(f"Video file not found: {video_path}") + + frames = [] + cap = cv2.VideoCapture(video_path) + + try: + while True: + ret, frame = cap.read() + if not ret: + break + # Convert BGR to RGB + frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + frames.append(frame_rgb) + finally: + cap.release() + + return frames + + +def _build_video_paths(output_dir: str, dataset_label: str, episode_idx: int, task_name: str) -> tuple[str, str]: + """Build output video paths with shard structure.""" + shard_index = episode_idx // 1000 + shard_dir = f"shard_{shard_index:04d}" + episode_dir = os.path.join(output_dir, dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}") + os.makedirs(episode_dir, exist_ok=True) + filename = f"{task_name}.mp4" + full_path = os.path.join(episode_dir, filename) + rel_path = os.path.join(dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}", filename) + return full_path, rel_path + + +def _process_episode(args): + """Process a single episode.""" + episode_meta, video_dir, lang_vec, output_dir, dataset_label, max_frames, fps = args + + # Load video frames + video_path = os.path.join(video_dir, episode_meta["filename"]) + try: + frames = _load_video_frames(video_path) + except Exception as e: + print(f"Error loading video {video_path}: {e}") + return None + + if not frames: + return None + + # Normalize quality label + quality_label = episode_meta["success"] + if quality_label == "success": + quality_label = "successful" + elif quality_label == "fail": + quality_label = "failure" + # "suboptimal" stays as is + + # Build output video path + full_path, rel_path = _build_video_paths( + output_dir, dataset_label, episode_meta["episode_idx"], episode_meta["task_name"] + ) + + traj_dict = { + "id": generate_unique_id(), + "frames": frames, + "task": episode_meta["instruction"], + "is_robot": True, + "quality_label": quality_label, + "preference_group_id": None, + "preference_rank": None, + } + + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=full_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_label, + use_video=True, + fps=fps, + ) + + if entry: + entry["frames"] = rel_path + return entry + return None + + +def convert_mit_franka_prank_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, +) -> Dataset: + """Convert MIT-Franka-Prank dataset to HF format. + + Args: + dataset_path: Path to the dataset directory containing metadata files and videos + dataset_name: Name for the dataset + output_dir: Output directory for processed videos + max_trajectories: Maximum number of trajectories to process (None for all) + max_frames: Maximum frames per trajectory + fps: Frames per second for output videos + num_workers: Number of worker processes (-1 for auto, 0 for sequential) + + Returns: + HuggingFace Dataset + """ + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"Dataset directory not found: {dataset_path}") + + # Find the subdirectory with videos (20251210) + video_dir = None + for subdir in root.iterdir(): + if subdir.is_dir() and (subdir / "foldtowel_metadata.json").exists(): + video_dir = subdir + break + + if video_dir is None: + raise FileNotFoundError(f"Could not find video directory with metadata in: {dataset_path}") + + if num_workers == -1: + num_workers = min(cpu_count(), 8) + elif num_workers == 0: + num_workers = 1 + + # Load sentence transformer model + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + # Load all metadata files + all_episodes = [] + metadata_files = list(video_dir.glob("*_metadata.json")) + + for metadata_file in metadata_files: + with open(metadata_file, "r") as f: + episodes = json.load(f) + all_episodes.extend(episodes) + + print(f"Found {len(all_episodes)} episodes across {len(metadata_files)} metadata files") + + # Limit trajectories if specified + if max_trajectories is not None and max_trajectories > 0: + all_episodes = all_episodes[:max_trajectories] + + # Pre-compute language embeddings + print("Computing language embeddings...") + for episode in tqdm(all_episodes, desc="Computing embeddings"): + instruction = episode["instruction"] + if instruction not in lang_cache: + lang_cache[instruction] = lang_model.encode(instruction) + + # Process episodes + entries = [] + if num_workers == 1: + # Sequential processing + for episode in tqdm(all_episodes, desc="Processing episodes"): + lang_vec = lang_cache[episode["instruction"]] + result = _process_episode((episode, str(video_dir), lang_vec, output_dir, dataset_name, max_frames, fps)) + if result: + entries.append(result) + else: + # Parallel processing + from multiprocessing import Pool + + args_list = [ + (episode, str(video_dir), lang_cache[episode["instruction"]], output_dir, dataset_name, max_frames, fps) + for episode in all_episodes + ] + + with Pool(processes=num_workers) as pool: + results = list( + tqdm(pool.imap_unordered(_process_episode, args_list), total=len(args_list), desc="Processing episodes") + ) + + entries = [r for r in results if r is not None] + + print(f"Successfully processed {len(entries)} episodes") + + # Create HuggingFace dataset + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + return Dataset.from_list(entries) diff --git a/robometer/dataset_upload/dataset_loaders/molmoact_loader.py b/robometer/dataset_upload/dataset_loaders/molmoact_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..4c1e0e80a003e3bc08be75e65f80e7a1c638fc44 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/molmoact_loader.py @@ -0,0 +1,244 @@ +import io +import os +from pathlib import Path +from typing import Any, Optional + +import numpy as np +from datasets import Dataset, load_dataset +from PIL import Image +from tqdm import tqdm + +from dataset_upload.helpers import ( + create_hf_trajectory, + generate_unique_id, + load_sentence_transformer_model, +) + + +def _stable_shard_for_index(index: int, shard_modulus: int = 1000) -> str: + try: + idx = int(index) + except Exception: + idx = abs(hash(str(index))) + shard_index = idx // shard_modulus + return f"shard_{shard_index:04d}" + + +def _build_molmo_video_paths( + output_dir: str, + dataset_label: str, + episode_idx: int, + view_key: str, +) -> tuple[str, str]: + shard_dir = _stable_shard_for_index(episode_idx) + episode_dir = os.path.join(output_dir, dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}") + os.makedirs(episode_dir, exist_ok=True) + filename = f"clip@{view_key}.mp4" + full_path = os.path.join(episode_dir, filename) + rel_path = os.path.join(dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}", filename) + return full_path, rel_path + + +def _to_rgb_numpy(img_cell: Any) -> Optional[np.ndarray]: + """Convert a datasets Image cell (dict with bytes/path, PIL.Image, or np.ndarray) to RGB uint8 ndarray.""" + if img_cell is None: + return None + # Already numpy HxWxC + if isinstance(img_cell, np.ndarray): + if img_cell.ndim == 3 and img_cell.shape[-1] in (1, 3, 4): + if img_cell.shape[-1] == 1: + img_cell = np.repeat(img_cell, 3, axis=-1) + elif img_cell.shape[-1] == 4: + img_cell = img_cell[..., :3] + if img_cell.dtype != np.uint8: + img_cell = img_cell.astype(np.uint8, copy=False) + return img_cell + return None + # PIL + if isinstance(img_cell, Image.Image): + return np.asarray(img_cell.convert("RGB"), dtype=np.uint8) + # dict with bytes + if isinstance(img_cell, dict): + data = img_cell.get("bytes") + if data is None: + path = img_cell.get("path") + if path and os.path.exists(path): + with Image.open(path) as im: + return np.asarray(im.convert("RGB"), dtype=np.uint8) + return None + with Image.open(io.BytesIO(data)) as im: + return np.asarray(im.convert("RGB"), dtype=np.uint8) + # Unknown + return None + + +def convert_molmoact_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, +) -> Dataset: + """Stream MolmoAct LeRobot (parquet) and convert to HF, using episodes.jsonl for task text. + + Assumes dataset_path contains one or more subdirectories, each with parquet files and an + associated episodes.jsonl. We iterate per subdirectory to avoid episode_index collisions, + grouping rows by `episode_index` and writing videos for `first_view`, `second_view`, and `wrist_image`. + """ + + root = Path(os.path.expanduser(dataset_path)) / dataset_name + if not root.exists(): + raise FileNotFoundError(f"MolmoAct dataset path not found: {root}") + + # Discover dataset subdirectories that have episodes.jsonl; if none, fallback to root + assert (root / "train" / "meta" / "episodes.jsonl").exists(), "episodes.jsonl not found" + + # Language model and cache + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + entries: list[dict] = [] + produced = 0 + max_limit = float("inf") if (max_trajectories is None or max_trajectories == -1) else int(max_trajectories) + + def load_episode_text_map(ds_dir: Path) -> dict[int, str]: + mapping: dict[int, str] = {} + jsonl_path = ds_dir / "train" / "meta" / "episodes.jsonl" + if not jsonl_path.exists(): + return mapping + try: + import json + + with open(jsonl_path, "r") as f: + for line in f: + line = line.strip() + if not line: + continue + try: + obj = json.loads(line) + except Exception: + continue + ep_idx = obj.get("episode_index") + if ep_idx is None: + ep_idx = obj.get("index") + if ep_idx is None: + continue + text = (obj.get("tasks"))[0] + if isinstance(text, str) and text.strip(): + mapping[int(ep_idx)] = text.strip() + except Exception: + pass + return mapping + + def flush_episode(ep_idx: int, task_text: str, label: str, frames_by_view: dict[str, list[np.ndarray]]) -> None: + nonlocal produced, entries + if not frames_by_view: + return + if task_text not in lang_cache: + lang_cache[task_text] = lang_model.encode(task_text) + lang_vec = lang_cache[task_text] + + for view_key, frames in frames_by_view.items(): + if not frames: + continue + if isinstance(frames[0], np.ndarray) and np.all(frames[0] == 0): + continue + + full_path, rel_path = _build_molmo_video_paths( + output_dir=output_dir, + dataset_label=label, + episode_idx=ep_idx, + view_key=view_key, + ) + + traj_dict = { + "id": generate_unique_id(), + "frames": frames, + "task": task_text, + "is_robot": True, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=full_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + if entry: + entry["frames"] = rel_path + entries.append(entry) + produced += 1 + + # Process each dataset directory independently to avoid ep-index collisions + ep_text_map = load_episode_text_map(root) + + # Discover parquet files in ds_dir + data_files: list[str] = [] + for pat in ("**/*.parquet", "*.parquet"): + data_files.extend([str(p) for p in root.glob(pat)]) + if not data_files: + raise ValueError("No parquet files found") + + ds_iter = load_dataset( + "parquet", + data_files={"train": data_files}, + split="train", + streaming=True, + ) + + current_ep: Optional[int] = None + frames_by_view: dict[str, list[np.ndarray]] = {} + label = f"{dataset_name}" + + for row in tqdm(ds_iter, desc=f"MolmoAct rows ({dataset_name})"): + if produced >= max_limit: + break + ep_idx = int(row.get("episode_index", -1)) + if ep_idx < 0: + continue + + if current_ep is None: + current_ep = ep_idx + frames_by_view = {"first_view": [], "second_view": []} + elif ep_idx != current_ep: + task_text = ep_text_map.get(current_ep) + print(f"{task_text} episode loaded") + flush_episode(current_ep, task_text, label, frames_by_view) + current_ep = ep_idx + frames_by_view = {"first_view": [], "second_view": []} + + for view_key in ("first_view", "second_view"): + cell = row.get(view_key) + img = _to_rgb_numpy(cell) + if img is not None: + frames_by_view[view_key].append(img) + + if produced >= max_limit: + break + + if current_ep is not None and produced < max_limit: + task_text = ep_text_map.get(current_ep) + print(f"{task_text} episode loaded") + flush_episode(current_ep, task_text, label, frames_by_view) + + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + return Dataset.from_list(entries) diff --git a/robometer/dataset_upload/dataset_loaders/motif_loader.py b/robometer/dataset_upload/dataset_loaders/motif_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..b3ef423288bd8aa068fbcf52fbe500115c4ff5e0 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/motif_loader.py @@ -0,0 +1,131 @@ +import os +from pathlib import Path +from typing import Any + +import cv2 +import numpy as np + +from dataset_upload.helpers import generate_unique_id + + +class MotifFrameLoader: + """Pickle-able loader that reads frames for a single trajectory on demand. + + Supports two backing sources: + - A video file path (e.g., .mp4) + - A directory of image frames (sorted by filename) + """ + + def __init__(self, source_path: str) -> None: + self.source_path = source_path + + def _load_from_video(self) -> np.ndarray: + cap = cv2.VideoCapture(self.source_path) + frames = [] + while True: + ok, frame_bgr = cap.read() + if not ok: + break + frame_rgb = cv2.cvtColor(frame_bgr, cv2.COLOR_BGR2RGB) + frames.append(frame_rgb) + cap.release() + + frames_np = np.asarray(frames) + if frames_np.ndim != 4 or frames_np.shape[-1] != 3: + raise ValueError( + f"Unexpected frames shape from video {self.source_path}: {getattr(frames_np, 'shape', None)}" + ) + if frames_np.dtype != np.uint8: + frames_np = frames_np.astype(np.uint8, copy=False) + return frames_np + + def __call__(self) -> np.ndarray: + p = Path(self.source_path) + if p.is_file(): + return self._load_from_video() + raise FileNotFoundError(f"Source path not found: {self.source_path}") + + +def _infer_is_robot_from_path(path: Path) -> bool: + parts = [s.lower() for s in path.parts] + # MotIF repo mentions 'human_motion' and 'stretch_motion' + if any("stretch" in s for s in parts): + return True + elif any("human" in s for s in parts): + return False + else: + raise ValueError(f"Unknown robot/human: {path}") + + +def _make_traj(source_path: Path, task_text: str) -> dict: + traj: dict[str, Any] = {} + traj["id"] = generate_unique_id() + traj["task"] = task_text + traj["frames"] = MotifFrameLoader(str(source_path)) + traj["is_robot"] = _infer_is_robot_from_path(source_path) + traj["quality_label"] = "successful" + # traj["partial_success"] = 1 + traj["data_source"] = "motif" + return traj + + +def load_motif_dataset(dataset_path: str) -> dict[str, list[dict]]: + """Load MoTiF dataset using FrameLoader without HF conversion. + Returns mapping: task -> list of trajectory dicts. + """ + import json + + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"MoTiF dataset path not found: {root}") + + task_to_trajs: dict[str, list[dict]] = {} + + # Annotations + ann_dir = root / "annotations" + + all_human_trajs = {} + path_precursor = "human_motion/videos_raw" + json_data = json.load(open(ann_dir / "human_motion_data_info.json")) + for item in json_data: + src = item["video_path"].split("/")[-1] + full_vid_path = root / path_precursor / src + # assert the path exists + if not full_vid_path.exists(): + print(f"Human video path not found: {full_vid_path}") + continue + instruction = item.get("task_instruction") + ": " + item.get("motion_description") + all_human_trajs.setdefault(instruction, []).append(full_vid_path) + + all_stretch_trajs = {} + path_precursor = "stretch_motion/videos_raw" + json_data = json.load(open(ann_dir / "stretch_motion_data_info.json")) + for item in json_data: + src = item["video_path"].split("/")[-1] + full_vid_path = root / path_precursor / src + # assert the path exists + if not full_vid_path.exists(): + print(f"Stretch video path not found: {full_vid_path}") + continue + instruction = item.get("task_instruction") + ": " + item.get("motion_description") + all_stretch_trajs.setdefault(instruction, []).append(full_vid_path) + + # get the keys in both + common_keys = set(all_human_trajs.keys()) & set(all_stretch_trajs.keys()) + all_stretch_trajs = {k: v for k, v in all_stretch_trajs.items() if k in common_keys} + all_human_trajs = {k: v for k, v in all_human_trajs.items() if k in common_keys} + + print(f"Number of human tasks: {len(all_human_trajs)}") + print(f"Number of stretch tasks: {len(all_stretch_trajs)}") + + for instruction, paths in all_human_trajs.items(): + for path in paths: + traj = _make_traj(path, instruction) + task_to_trajs.setdefault(instruction, []).append(traj) + + for instruction, paths in all_stretch_trajs.items(): + for path in paths: + traj = _make_traj(path, instruction) + task_to_trajs.setdefault(instruction, []).append(traj) + + return task_to_trajs diff --git a/robometer/dataset_upload/dataset_loaders/mw_collected_loader.py b/robometer/dataset_upload/dataset_loaders/mw_collected_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..6ad021d5884f7e9d2e7b14aeb3a1fdf5e122850a --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/mw_collected_loader.py @@ -0,0 +1,161 @@ +#!/usr/bin/env python3 +""" +Metaworld dataset loader for the generic dataset converter for Robometer model training. +This module contains logic for loading metaworld data organized by task and quality. + +uv run python dataset_upload/generate_hf_dataset.py \ + --config_path=dataset_upload/configs/data_gen_configs/metaworld.yaml +""" + +import collections +from pathlib import Path +import h5py +import numpy as np +from PIL import Image +from torchvision import transforms +from tqdm import tqdm + +from dataset_upload.video_helpers import load_video_frames +from dataset_upload.dataset_loaders.mw_task_annotations import TRAIN_GT_ANN, EVAL_GT_ANN + + +def apply_center_crop_to_frames(frames: np.ndarray) -> np.ndarray: + """Apply center crop (224, 224) to video frames using torchvision transforms. + + Args: + frames: numpy array of shape (T, H, W, 3) in RGB order + + Returns: + numpy array of shape (T, 224, 224, 3) with center cropped frames + """ + # Define the center crop transform + center_crop = transforms.CenterCrop(224) + + cropped_frames = [] + for frame in frames: + # Convert numpy array to PIL Image + pil_frame = Image.fromarray(frame.astype(np.uint8)) + + # Apply center crop + cropped_pil = center_crop(pil_frame) + + # Convert back to numpy array + cropped_frame = np.array(cropped_pil) + cropped_frames.append(cropped_frame) + + return np.array(cropped_frames) + + +def map_quality_label(original_label: str) -> str: + """Map original quality labels to standardized Robometer labels.""" + label_mapping = {"GT": "successful", "success": "successful", "all_fail": "failure", "close_succ": "suboptimal"} + return label_mapping.get(original_label, original_label) + + +def load_metaworld_dataset(base_path: str, dataset_name: str) -> dict[str, list[dict]]: + """Load metaworld dataset and organize by task. + + Args: + base_path: Path to the metaworld dataset directory + + Returns: + Dictionary mapping task names to lists of trajectory dictionaries + """ + + print(f"Loading metaworld dataset from: {base_path}") + + task_data = collections.defaultdict(list) + base_path = Path(base_path) + + if not base_path.exists(): + raise FileNotFoundError(f"Metaworld dataset path not found: {base_path}") + + if "train" in dataset_name: + tasks = TRAIN_GT_ANN.keys() + anns = TRAIN_GT_ANN + elif "eval" in dataset_name: + tasks = EVAL_GT_ANN.keys() + anns = EVAL_GT_ANN + + print("number of tasks: ", len(tasks)) + + scucessful_trajs_file = "downloaded_data/metaworld_video.h5" + + with h5py.File(scucessful_trajs_file, "r") as f: + print("Available tasks: ", f.keys()) + print("number of tasks: ", len(f.keys())) + task_names = list(f.keys()) + + for task_name in tqdm(task_names, desc="Loading successful trajectories"): + if task_name not in tasks: + continue + + for traj_name in ["0", "1", "10", "11", "12"]: # not sure why we use these, but we use these 5 + traj = f[task_name][traj_name] + frames = np.array(traj) + + cropped_frames = apply_center_crop_to_frames(frames) + + trajectory = { + "frames": cropped_frames, + "task": anns.get(task_name), + "quality_label": "successful", + "is_robot": True, + "partial_success": 0, + } + task_data[task_name].append(trajectory) + + if "eval" in dataset_name: + task_dirs = [d for d in base_path.iterdir() if d.is_dir() and not d.name.startswith(".")] + for task_dir in tqdm(task_dirs, desc="Processing tasks"): + task_name = task_dir.name + + if task_name in [".DS_Store"]: + continue + + # Find all quality label directories within this task + quality_dirs = [d for d in task_dir.iterdir() if d.is_dir() and not d.name.startswith(".")] + + for quality_dir in quality_dirs: + original_quality_label = quality_dir.name + + # Map quality label to standardized format + quality_label = map_quality_label(original_quality_label) + + # Find all video files in this quality directory + video_files = list(quality_dir.glob("*.mp4")) + list(quality_dir.glob("*.gif")) + + # if len(video_files) != 2: + # import ipdb; ipdb.set_trace() + + for video_file in video_files: + # # Extract index from filename (e.g., "1.mp4" -> 1) + # try: + # int(video_file.stem) + # except ValueError: + # print(f"Warning: Could not parse index from filename: {video_file.name}") + + # Load frames and apply center crop + original_frames = load_video_frames(video_file) + cropped_frames = apply_center_crop_to_frames(original_frames) + + nl_name = anns.get(task_name) + + # Create trajectory entry + trajectory = { + "frames": cropped_frames, + "task": nl_name, # Natural language task + "quality_label": quality_label, # Mapped quality label + "is_robot": True, + "partial_success": 0, + } + + task_data[task_name].append(trajectory) + + for task_name, trajectories in task_data.items(): + print(f"Task {task_name}: {len(trajectories)} trajectories") + + total_trajectories = sum(len(trajectories) for trajectories in task_data.values()) + print(f"\nLoaded {total_trajectories} trajectories from {len(task_data)} tasks") + + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/mw_task_annotations.py b/robometer/dataset_upload/dataset_loaders/mw_task_annotations.py new file mode 100644 index 0000000000000000000000000000000000000000..44b1523bbd0a7be6c6834e7c9edd6040387f2f32 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/mw_task_annotations.py @@ -0,0 +1,205 @@ +TRAIN_GT_ANN = { + "button-press-v2": "Press the button from side", + "button-press-topdown-wall-v2": "Press the button from top", + "coffee-pull-v2": "Pull the coffee cup", + "dial-turn-v2": "Turn the dial", + "door-open-v2": "Open the door", + "door-unlock-v2": "Turn door lock clockwise", + "drawer-close-v2": "Close the drawer", + "faucet-open-v2": "Open the faucet", + "handle-press-v2": "Press the handle", + "handle-pull-side-v2": "Pull the handle up from the side", + "peg-insert-side-v2": "Insert the peg from the side", + "pick-place-v2": "Pick up the block and placing it to the goal position", + "plate-slide-v2": "Slide the plate into the gate", + "plate-slide-back-side-v2": "Slide the plate out of the gate from the side", + "push-v2": "Push the block to the goal", + "reach-v2": "Reach the goal", + "stick-push-v2": "Push the stick", + "stick-pull-v2": "Pull the stick", + "window-open-v2": "Open the window", + "hand-insert-v2": "Pick up the block and insert it into the hole", +} + +EVAL_GT_ANN = { + "button-press-wall-v2": "Press the button from side", + "button-press-topdown-v2": "Press the button from top", + "coffee-push-v2": "Push the coffee cup", + "coffee-button-v2": "Press the coffee button", + "door-close-v2": "Close the door", + "door-lock-v2": "Turn door lock counter-clockwise", + "faucet-close-v2": "Close the faucet", + "handle-press-side-v2": "Press the handle from side", + "handle-pull-v2": "Pull the handle", + "pick-place-wall-v2": "Pick up the block and place it to the goal position", + "plate-slide-back-v2": "Slide the plate out of the gate", + "plate-slide-side-v2": "Slide the plate into the gate from the side", + "push-back-v2": "Push the block back to the goal", + "reach-wall-v2": "Reach the goal", + "soccer-v2": "Slide the ball into the gate", + "window-close-v2": "Close the window", + "sweep-into-v2": "Sweep the block into the hole", +} + +GENERATE_TRAIN_ANN = { + "button-press-v2": [ + "Pressing the button from the side", + "Pressing the red button", + "Pressing the button on the yellow box", + "Pushing the button inside", + ], + "button-press-topdown-wall-v2": [ + "Press the button from top", + "Press the red button", + "Press the red button on the yellow box", + "Push the button downward", + ], + "coffee-pull-v2": [ + "Pull the coffee cup from the coffee machine", + "Extract the coffee cup", + "Remove the coffee cup from the coffee machine", + "Drag the coffee cup", + ], + "dial-turn-v2": [ + "Turn the dial counterclockwise", + "Rotate the dial to the left", + "Twist the dial", + "Adjust the dial counterclockwise", + ], + "door-open-v2": [ + "Rotate the door counterclockwise", + "Swing the door open", + "Draw the door open", + "Draw the door counterclockwise", + ], + "door-unlock-v2": [ + "Turn door lock clockwise", + "Rotate the door lock", + "Twist the door lock", + "Adjust the door lock", + ], + "drawer-close-v2": ["Push the drawer closed", "Shut the drawer", "Slide the drawer shut", "Close the green drawer"], + "faucet-open-v2": [ + "Rotate the faucet clockwise", + "Twist the faucet in a clockwise direction", + "Turn the faucet handle to the left", + "Adjust the faucet clockwise", + ], + "handle-press-v2": [ + "Press the handle downward", + "Depress the handle", + "Lower the handle", + "Apply downward pressure on the handle", + ], + "handle-pull-side-v2": [ + "Pull the handle upward", + "Lift the handle", + "Raise the handle", + "Apply upward force to the handle", + ], + "peg-insert-side-v2": [ + "Push the peg into the hole from the side", + "Move the peg into the box", + "Insert the peg into the hole", + "Guide the peg into the hole", + ], + "pick-place-v2": [ + "Lift the block to the goal position", + "Pick up the block and setting it at the goal position", + "Grab the block and positioning it at the goal", + "Move the box to the goal position", + ], + "plate-slide-v2": [ + "Push the plate into the gate", + "Slide the plate into the gate", + "Move the plate into the gate", + "Shift the plate into the gate", + ], + "plate-slide-back-side-v2": [ + "Pull the plate out of the gate", + "Slide the plate out of the gate", + "Move the plate out of the gate", + "Shift the plate out of the gate", + ], + "push-v2": [ + "Move the block to the goal", + "Slide the block toward the goal", + "Propel the block to the goal", + "Drive the block toward the goal", + ], + "reach-v2": ["Extend to the goal", "Stretch toward the goal", "Move to the goal", "Direct toward the goal"], + "stick-push-v2": ["Move the stick", "Slide the stick", "Shift the stick", "Propel the stick"], + "stick-pull-v2": ["Pull the stick", "Extract the stick", "Move the stick to the bottle", "Drag the stick"], + "window-open-v2": [ + "Pull the window open", + "Slide the window open", + "Move the window open", + "Shift the window open", + ], + "hand-insert-v2": [ + "Move up the block and put it into the hole", + "Insert the block into the hole", + "Place the block into the hole", + "Guide the block into the hole", + ], +} + +EVAL_ANN_1 = { + "button-press-wall-v2": "Press the button near the wall", + "button-press-topdown-v2": "Press the button down from above", + "coffee-push-v2": "Slide the coffee cup forward", + "coffee-button-v2": "Press the coffee button to activate", + "door-close-v2": "Shut the door", + "door-lock-v2": "Turn the door lock to the left", + "faucet-close-v2": "Turn the faucet off", + "handle-press-side-v2": "Press the handle down from side", + "handle-pull-v2": "Pull the handle up", + "pick-place-wall-v2": "Pick up the block and set it in the target spot bypassing the wall", + "plate-slide-back-v2": "Pull the plate backward from the gate", + "plate-slide-side-v2": "Guid the plate into the gate from the side", + "push-back-v2": "Push the block backward into place", + "reach-wall-v2": "Get to the goal position", + "soccer-v2": "Put the ball into the goal", + "window-close-v2": "Slide the window to close", + "sweep-into-v2": "Sweep the item into the hole", +} + +EVAL_ANN_2 = { + "button-press-wall-v2": "Press the button behind the wall", + "button-press-topdown-v2": "Press the button downward", + "coffee-push-v2": "Move the coffee cup forward", + "coffee-button-v2": "Activate the coffee button by pressing", + "door-close-v2": "Bring the door to close", + "door-lock-v2": "Rotate the door lock counter-clockwise", + "faucet-close-v2": "Shut off the faucet", + "handle-press-side-v2": "Engage the handle with a press", + "handle-pull-v2": "Activate the handle by pulling", + "pick-place-wall-v2": "Lift the block and depositing it at the goal location over the wall", + "plate-slide-back-v2": "Slide the plate away from the gate", + "plate-slide-side-v2": "Slide the plate into the gate from a sideways approach", + "push-back-v2": "Take the block back to goal place", + "reach-wall-v2": "Move towards the goal position", + "soccer-v2": "Direct the ball into the gate", + "window-close-v2": "Move the window to closed position", + "sweep-into-v2": "Shovel the block into the opening", +} + +EVAL_ANN_3 = { + "button-press-wall-v2": "Press the side-mounted button on the wall", + "button-press-topdown-v2": "Press the button firmly from above", + "coffee-push-v2": "Push the coffee cup along the table", + "coffee-button-v2": "Press the coffee maker's button to start", + "door-close-v2": "Close the door until it latches", + "door-lock-v2": "Turn the door lock left to secure", + "faucet-close-v2": "Rotate the faucet off to stop the flow", + "handle-press-side-v2": "Press the handle from a side angle", + "handle-pull-v2": "Pull the handle outward to engage", + "pick-place-wall-v2": "Pick up the block and placing it over the wall at the goal", + "plate-slide-back-v2": "Move the plate backward from the gate", + "plate-slide-side-v2": "Move the plate sideways into the gate", + "push-back-v2": "Push the block back to its final position", + "reach-wall-v2": "Reach the designated location near the wall", + "soccer-v2": "Slide the ball into the goal area", + "window-close-v2": "Draw the window shut", + "sweep-into-v2": "Sweep the block into the hole", +} diff --git a/robometer/dataset_upload/dataset_loaders/new_mit_franka_loader.py b/robometer/dataset_upload/dataset_loaders/new_mit_franka_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..3929138442da2442aa3b622cc1262f44f8bbd4d2 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/new_mit_franka_loader.py @@ -0,0 +1,262 @@ +import json +import os +from multiprocessing import cpu_count +from pathlib import Path +from typing import Any + +import cv2 +import numpy as np +from datasets import Dataset +from tqdm import tqdm + +from dataset_upload.helpers import ( + create_hf_trajectory, + generate_unique_id, + load_sentence_transformer_model, +) + + +# Task name to language instruction mapping +TASK_INSTRUCTIONS = { + "foldtowel": "Fold the towel in half", + "movebanana": "Pick up the banana from the blue plate and place it on the green plate", + "movemouse": "Pick up the mouse and place it right next to the laptop, while avoiding spilling coffee", + "pourpebble": "Pour the pebbles from the cup onto the plate", + "pulltissue": "Pull a tissue from the tissue box", + "putspoon": "Pick up the spoon and place it inside the cup", + "stirpot": "Pick up the spatula and stir the beans in the pot", +} + + +def _load_video_frames(video_path: str) -> list[np.ndarray]: + """Load frames from an MP4 video file.""" + if not os.path.exists(video_path): + raise FileNotFoundError(f"Video file not found: {video_path}") + + frames = [] + cap = cv2.VideoCapture(video_path) + + try: + while True: + ret, frame = cap.read() + if not ret: + break + # Convert BGR to RGB + frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + frames.append(frame_rgb) + finally: + cap.release() + + return frames + + +def _build_video_paths( + output_dir: str, dataset_label: str, episode_idx: int, task_name: str, view: str +) -> tuple[str, str]: + """Build output video paths with shard structure.""" + shard_index = episode_idx // 1000 + shard_dir = f"shard_{shard_index:04d}" + episode_dir = os.path.join(output_dir, dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}") + os.makedirs(episode_dir, exist_ok=True) + filename = f"{task_name}_{view}.mp4" + full_path = os.path.join(episode_dir, filename) + rel_path = os.path.join(dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}", filename) + return full_path, rel_path + + +def _process_episode(args): + """Process a single episode.""" + episode_meta, lang_vec, output_dir, dataset_label, max_frames, fps = args + + # Load video frames + video_path = episode_meta["video_path"] + try: + frames = _load_video_frames(video_path) + except Exception as e: + print(f"Error loading video {video_path}: {e}") + return None + + if not frames: + return None + + # Normalize quality label + quality_label = episode_meta["quality_label"] + if quality_label == "success": + quality_label = "successful" + elif quality_label == "fail": + quality_label = "failure" + # "suboptimal" stays as is + + # Build output video path + full_path, rel_path = _build_video_paths( + output_dir, dataset_label, episode_meta["episode_idx"], episode_meta["task_name"], episode_meta["view"] + ) + + traj_dict = { + "id": generate_unique_id(), + "frames": frames, + "task": episode_meta["instruction"], + "is_robot": True, + "quality_label": quality_label, + "preference_group_id": None, + "preference_rank": None, + } + + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=full_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_label, + use_video=True, + fps=fps, + ) + + if entry: + entry["frames"] = rel_path + return entry + return None + + +def convert_new_mit_franka_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, + exclude_wrist_cam: bool = False, +) -> Dataset: + """Convert New MIT Franka dataset to HF format. + + Args: + dataset_path: Path to the dataset directory containing task folders + dataset_name: Name for the dataset + output_dir: Output directory for processed videos + max_trajectories: Maximum number of trajectories to process (None for all) + max_frames: Maximum frames per trajectory + fps: Frames per second for output videos + num_workers: Number of worker processes (-1 for auto, 0 for sequential) + exclude_wrist_cam: If True, only process external camera views and skip wrist camera + + Returns: + HuggingFace Dataset + """ + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"Dataset directory not found: {dataset_path}") + + if num_workers == -1: + num_workers = min(cpu_count(), 8) + elif num_workers == 0: + num_workers = 1 + + # Load sentence transformer model + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + # Collect all episodes + all_episodes = [] + episode_idx = 0 + + # Iterate through task folders + task_folders = [d for d in root.iterdir() if d.is_dir()] + + for task_folder in sorted(task_folders): + task_name = task_folder.name + if task_name not in TASK_INSTRUCTIONS: + print(f"Warning: Unknown task '{task_name}', skipping...") + continue + + instruction = TASK_INSTRUCTIONS[task_name] + + # Iterate through quality folders (suboptimal, failure, success) + for quality_folder in ["suboptimal", "failure", "success"]: + quality_dir = task_folder / quality_folder + if not quality_dir.exists(): + continue + + # Get all video files + video_files = sorted(quality_dir.glob("*.mp4")) + + for video_file in video_files: + # Determine view type (ext or wrist) + if "_ext.mp4" in video_file.name: + view = "ext" + elif "_wrist.mp4" in video_file.name: + view = "wrist" + else: + print(f"Warning: Unknown view type in {video_file.name}, skipping...") + continue + + # Skip wrist camera if exclude_wrist_cam is True + if exclude_wrist_cam and view == "wrist": + continue + + episode_meta = { + "episode_idx": episode_idx, + "task_name": task_name, + "video_path": str(video_file), + "instruction": instruction, + "quality_label": quality_folder, # "success", "failure", or "suboptimal" + "view": view, + } + all_episodes.append(episode_meta) + episode_idx += 1 + + print(f"Found {len(all_episodes)} episodes across {len(task_folders)} tasks") + + # Limit trajectories if specified + if max_trajectories is not None and max_trajectories > 0: + all_episodes = all_episodes[:max_trajectories] + + # Pre-compute language embeddings + print("Computing language embeddings...") + for episode in tqdm(all_episodes, desc="Computing embeddings"): + instruction = episode["instruction"] + if instruction not in lang_cache: + lang_cache[instruction] = lang_model.encode(instruction) + + # Process episodes + entries = [] + if num_workers == 1: + # Sequential processing + for episode in tqdm(all_episodes, desc="Processing episodes"): + lang_vec = lang_cache[episode["instruction"]] + result = _process_episode((episode, lang_vec, output_dir, dataset_name, max_frames, fps)) + if result: + entries.append(result) + else: + # Parallel processing + from multiprocessing import Pool + + args_list = [ + (episode, lang_cache[episode["instruction"]], output_dir, dataset_name, max_frames, fps) + for episode in all_episodes + ] + + with Pool(processes=num_workers) as pool: + results = list( + tqdm(pool.imap_unordered(_process_episode, args_list), total=len(args_list), desc="Processing episodes") + ) + + entries = [r for r in results if r is not None] + + print(f"Successfully processed {len(entries)} episodes") + + # Create HuggingFace dataset + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + return Dataset.from_list(entries) diff --git a/robometer/dataset_upload/dataset_loaders/oxe_loader.py b/robometer/dataset_upload/dataset_loaders/oxe_loader.py new file mode 100755 index 0000000000000000000000000000000000000000..f4e23687b97ec4435bcf3eb8094dc01d5d11d4f1 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/oxe_loader.py @@ -0,0 +1,457 @@ +import os +import cv2 +import gc +from multiprocessing import cpu_count +from pathlib import Path +from typing import Any + +import numpy as np +from dataset_upload.dataset_helpers.oxe_helper import OXE_DATASET_CONFIGS +from dataset_upload.helpers import ( + create_hf_trajectory, + generate_unique_id, + load_sentence_transformer_model, +) +from tqdm import tqdm + +from datasets import Dataset + +# Disable GPUs for TensorFlow in this loader to avoid CUDA context issues in workers +os.environ.setdefault("CUDA_VISIBLE_DEVICES", "") +DEBUG_MODE = False + +import tensorflow_datasets as tfds + +OXE_VALID_DATASETS = [ + "austin_buds_dataset_converted_externally_to_rlds", + "austin_sirius_dataset_converted_externally_to_rlds", + "bc_z", + "berkeley_cable_routing", + "berkeley_fanuc_manipulation", + "bridge_v2", + "dlr_edan_shared_control_converted_externally_to_rlds", + "droid", + "fmb", + "fractal20220817_data", + "furniture_bench_dataset_converted_externally_to_rlds", + "iamlab_cmu_pickup_insert_converted_externally_to_rlds", + "jaco_play", + "language_table", + "stanford_hydra_dataset_converted_externally_to_rlds", + "taco_play", + "toto", + "ucsd_kitchen_dataset_converted_externally_to_rlds", + "utaustin_mutex", + "viola", + # not in original + "robo_set", + "aloha_mobile", + "imperialcollege_sawyer_wrist_cam", + "kaist_nonprehensile_converted_externally_to_rlds", + "berkeley_mvp_converted_externally_to_rlds", + "berkeley_rpt_converted_externally_to_rlds", + "nyu_rot_dataset_converted_externally_to_rlds", + "tokyo_u_lsmo_converted_externally_to_rlds", +] +POSSIBLE_LANG_INSTRUCTION_KEYS = [ # valid keys for language instruction in OXE + "natural_language_instruction", + "language_instruction", + "instruction", + "language_instruction1", + "language_instruction2", + "language_instruction3", +] +MAX_LANGTABLE_EPISODES = ( + 50_000 # for language table, we only want to label the first 50k episodes b/c it's way too many +) +possible_valid_keys = ["primary", "secondary", "tertiary"] + + +def _stable_shard_for_index(index: int, shard_modulus: int = 1000) -> str: + try: + idx = int(index) + except Exception: + idx = abs(hash(str(index))) + shard_index = idx // shard_modulus + return f"shard_{shard_index:04d}" + + +def _build_oxe_video_paths( + output_dir: str, + dataset_label: str, + episode_idx: int, + view_key: str, +) -> tuple[str, str]: + shard_dir = _stable_shard_for_index(episode_idx) + episode_dir = os.path.join(output_dir, dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}") + os.makedirs(episode_dir, exist_ok=True) + filename = f"clip@{view_key}.mp4" + full_path = os.path.join(episode_dir, filename) + rel_path = os.path.join(dataset_label.lower(), shard_dir, f"episode_{episode_idx:06d}", filename) + return full_path, rel_path + + +def _process_single_oxe_episode(args): + """Worker function to process a single OXE episode. + + This function must be defined at module level to be picklable for multiprocessing. + """ + episode, ep_idx, task, lang_vec, output_dir, dataset_name, max_frames, fps, valid_img_keys = args + + episode_entries = [] + + # Episode is already converted to numpy format + + for img_key in valid_img_keys: + # Check first frame for all-black to prune + if img_key not in episode[0]["observation"]: + continue + if np.all(episode[0]["observation"][img_key] == 0): + continue + + frames = [s["observation"][img_key] for s in episode if img_key in s["observation"]] + + if not frames: + continue + + if "nyu_rot_dataset_converted_externally_to_rlds" in dataset_name: + # convert each frame from bgr to rgb + frames = [cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) for frame in frames] + + full_path, rel_path = _build_oxe_video_paths( + output_dir=output_dir, + dataset_label=dataset_name, + episode_idx=ep_idx, + view_key=img_key, + ) + + traj_dict = { + "id": generate_unique_id(), + "frames": frames, + "task": task, + "is_robot": True, + "quality_label": "successful", + "preference_group_id": None, + "preference_rank": None, + } + + entry = create_hf_trajectory( + traj_dict=traj_dict, + video_path=full_path, + lang_vector=lang_vec, + max_frames=max_frames, + dataset_name=dataset_name, + use_video=True, + fps=fps, + ) + + # Clear frames from memory immediately after video creation + del frames + + if entry: + entry["frames"] = rel_path + episode_entries.append(entry) + + # Clear frames from memory after processing + del episode + + return episode_entries + + +def convert_oxe_dataset_to_hf( + dataset_path: str, + dataset_name: str, + output_dir: str, + max_trajectories: int | None = None, + max_frames: int = 64, + fps: int = 10, + num_workers: int = -1, +) -> Dataset: + """Convert a single OXE TFDS dataset to HF format by writing videos directly. + + Args: + dataset_path: Root path containing TFDS builder directories + dataset_name: Name prefixed with 'oxe_', e.g., 'oxe_language_table' + output_dir: Where to write video files and dataset + max_trajectories: Limit number of produced trajectories (None for all) + max_frames: Max frames per video + fps: Video fps + + Returns: + datasets.Dataset with entries containing relative video paths. + """ + + # Normalize name and basic checks + if dataset_name is None: + raise ValueError("dataset_name is required") + + base_ds_name = dataset_name.replace("oxe_", "") + + if base_ds_name.endswith("_eval"): + base_ds_name = base_ds_name[:-5] + EVAL_MODE = True + # use eval/val/test + else: + EVAL_MODE = False + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"Dataset path not found: {root}") + + # Find builder directory/version + versions = os.listdir(f"{root}/{base_ds_name}") + if len(versions) == 0: + raise ValueError(f"No versions found for {base_ds_name} in {root}") + + builder = None + for version in versions: + if "incomplete" in version: + continue + builder = tfds.builder_from_directory(f"{root}/{base_ds_name}/{version}") + break + if builder is None: + raise ValueError(f"No valid builder found for {base_ds_name} in {root}") + + if EVAL_MODE: + ds_all_dict = builder.as_dataset() + splits = list(ds_all_dict.keys()) + splits.remove("train") + if len(splits) == 0: + raise ValueError(f"No valid EVAL dataset found for {base_ds_name} in {root}") + elif len(splits) == 1: + dataset = builder.as_dataset(split=splits[0], shuffle_files=False) + else: + raise ValueError(f"Multiple EVAL splits found for {base_ds_name} in {root}: {splits}") + print(f"Loaded EVAL dataset for {base_ds_name} in {root}") + # splits = ["val", "test"] + # for split in splits: + # try: + # dataset = builder.as_dataset(split=split, shuffle_files=False) + # break + # except Exception as e: + # print(f"Error loading {split} split: {e}") + # dataset = None + # continue + # if dataset is None: + # raise ValueError(f"No valid {EVAL_MODE} dataset found for {base_ds_name} in {root}") + else: + dataset = builder.as_dataset(split="train", shuffle_files=False) + + # Determine valid image observation keys + img_key_to_name = OXE_DATASET_CONFIGS[base_ds_name]["image_obs_keys"] + if "droid" not in base_ds_name: # make sure to use DROID's wrist cam + img_key_to_name = {k: v for k, v in img_key_to_name.items() if k != "wrist"} + valid_img_keys = list(img_key_to_name.values()) + + # Determine number of workers + if num_workers == -1: + num_workers = min(cpu_count(), 8) # or else ram usage will blow up + elif num_workers == 0: + num_workers = 1 + + # Language model and cache + lang_model = load_sentence_transformer_model() + lang_cache: dict[str, Any] = {} + + entries: list[dict[str, Any]] = [] + produced = 0 + if DEBUG_MODE: + max_limit = 100 + else: + max_limit = float("inf") if (max_trajectories is None or max_trajectories == -1) else int(max_trajectories) + + if "language_table" in base_ds_name: + max_limit = MAX_LANGTABLE_EPISODES + + # Process episodes in batches to avoid OOM + batch_size = 32 # Process episodes in smaller batches + entries = [] + produced = 0 + + print(f"Processing episodes in batches of {batch_size} with {num_workers} workers...") + + # Process episodes in batches to manage memory + episode_batch = [] + episode_info_batch = [] + + for ep_idx, episode in enumerate(tqdm(dataset, desc=f"Processing {base_ds_name} episodes")): + if ep_idx >= max_limit: + break + + # Materialize first step for language and sanity checks + try: + first_step = next(iter(tfds.as_numpy(episode["steps"]))) + except StopIteration: + continue + + # Extract task/instruction + task: str | None = None + for key in POSSIBLE_LANG_INSTRUCTION_KEYS: + if key in first_step.get("observation", {}): + if base_ds_name == "language_table": + t = first_step["observation"][key] + task = bytes(t[np.where(t != 0)].tolist()).decode("utf-8") + else: + task = first_step["observation"][key].decode() + break + elif key in first_step: + task = first_step[key].decode() + break + if not task: + continue + + # Precompute embedding + if task not in lang_cache: + lang_cache[task] = lang_model.encode(task) + lang_vec = lang_cache[task] + + # Convert TensorFlow objects to numpy for pickling + try: + # Convert episode to numpy format for multiprocessing + episode_np = tfds.as_numpy(episode) + + # iterate through all steps and just store as a list + episode_np = list(episode_np["steps"]) + + episode_batch.append(episode_np) + episode_info_batch.append((ep_idx, task, lang_vec)) + + except Exception as e: + print(f"Warning: Failed to convert episode {ep_idx} to numpy: {e}") + continue + + # Process batch when it's full or we've reached the limit + if len(episode_batch) >= batch_size or ep_idx + 1 >= max_limit: + print(f"Processing batch of {len(episode_batch)} episodes...") + + if num_workers == 1: + # Sequential processing + for args in zip( + episode_batch, + [info[0] for info in episode_info_batch], + [info[1] for info in episode_info_batch], + [info[2] for info in episode_info_batch], + [output_dir] * len(episode_batch), + [dataset_name] * len(episode_batch), + [max_frames] * len(episode_batch), + [fps] * len(episode_batch), + [valid_img_keys] * len(episode_batch), + strict=False, + ): + episode_entries = _process_single_oxe_episode(args) + entries.extend(episode_entries) + produced += len(episode_entries) + else: + # Parallel processing + from multiprocessing import Pool + + # Prepare arguments for workers + worker_args = list( + zip( + episode_batch, + [info[0] for info in episode_info_batch], + [info[1] for info in episode_info_batch], + [info[2] for info in episode_info_batch], + [output_dir] * len(episode_batch), + [dataset_name] * len(episode_batch), + [max_frames] * len(episode_batch), + [fps] * len(episode_batch), + [valid_img_keys] * len(episode_batch), + strict=False, + ) + ) + + with Pool(processes=num_workers) as pool: + results = list( + tqdm( + pool.imap_unordered(_process_single_oxe_episode, worker_args), + total=len(worker_args), + desc=f"Processing batch (workers={num_workers})", + ) + ) + + # Collect all results + for episode_entries in results: + entries.extend(episode_entries) + produced += len(episode_entries) + + # Clear batch for next iteration + episode_batch = [] + episode_info_batch = [] + + # Force garbage collection to free memory + gc.collect() + + # Check if we've reached the limit + if produced >= max_limit: + break + + # For language_table, cap the number of episodes considered + if base_ds_name == "language_table" and ep_idx + 1 >= MAX_LANGTABLE_EPISODES: + break + + # After iterating all episodes, process any remaining batch + if episode_batch: + if num_workers == 1: + for args in zip( + episode_batch, + [info[0] for info in episode_info_batch], + [info[1] for info in episode_info_batch], + [info[2] for info in episode_info_batch], + [output_dir] * len(episode_batch), + [dataset_name] * len(episode_batch), + [max_frames] * len(episode_batch), + [fps] * len(episode_batch), + [valid_img_keys] * len(episode_batch), + strict=False, + ): + episode_entries = _process_single_oxe_episode(args) + entries.extend(episode_entries) + produced += len(episode_entries) + else: + from multiprocessing import Pool + + worker_args = list( + zip( + episode_batch, + [info[0] for info in episode_info_batch], + [info[1] for info in episode_info_batch], + [info[2] for info in episode_info_batch], + [output_dir] * len(episode_batch), + [dataset_name] * len(episode_batch), + [max_frames] * len(episode_batch), + [fps] * len(episode_batch), + [valid_img_keys] * len(episode_batch), + strict=False, + ) + ) + with Pool(processes=num_workers) as pool: + results = list( + tqdm( + pool.imap_unordered(_process_single_oxe_episode, worker_args), + total=len(worker_args), + desc=f"Processing batch (workers={num_workers})", + ) + ) + for episode_entries in results: + entries.extend(episode_entries) + produced += len(episode_entries) + if produced >= max_limit: + break + + # Force garbage collection after final batch + gc.collect() + + if not entries: + return Dataset.from_dict({ + "id": [], + "task": [], + "lang_vector": [], + "data_source": [], + "frames": [], + "is_robot": [], + "quality_label": [], + "preference_group_id": [], + "preference_rank": [], + }) + + return Dataset.from_list(entries) diff --git a/robometer/dataset_upload/dataset_loaders/ph2d_loader.py b/robometer/dataset_upload/dataset_loaders/ph2d_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..8b243d6c83f44e033a805d772b89759a8d94f962 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/ph2d_loader.py @@ -0,0 +1,104 @@ +import os +import json +from collections import defaultdict + +import cv2 +import h5py +import numpy as np +from dataset_upload.helpers import generate_unique_id + + +DEBUG = False + + +class Ph2dFrameloader: + """Pickle-able loader to read frames from an HDF5 file on demand. + + Reads frames from either 'observation.image.right' or 'observation.image.left'. + Each stored frame is expected to be an encoded image buffer which is decoded + with cv2.imdecode and converted to RGB. + """ + + def __init__(self, hdf5_path: str, camera: str = "right") -> None: + self.hdf5_path = hdf5_path + self.camera = camera.lower() + + def __call__(self) -> np.ndarray: + key = "observation.image.right" if self.camera == "right" else "observation.image.left" + + with h5py.File(self.hdf5_path, "r") as f: + if key not in f: + raise KeyError(f"Key '{key}' not found in {self.hdf5_path}") + + data = f[key] + encoded_frames = data[()] + frames = [] + for encoded_frame in encoded_frames: + frame = cv2.imdecode(encoded_frame, cv2.IMREAD_COLOR) + frames.append(frame) + + frames_np = np.asarray(frames, dtype=np.uint8) + if frames_np.ndim != 4 or frames_np.shape[-1] != 3: + raise ValueError(f"Unexpected frames shape for {self.hdf5_path}: {frames_np.shape} (expected (T,H,W,3))") + return frames_np + + +def create_new_trajectory(hdf5_path: str, is_robot: bool, caption: str, camera: str) -> dict: + trajectory_info = {} + trajectory_info["id"] = generate_unique_id() + trajectory_info["task"] = caption + trajectory_info["frames"] = Ph2dFrameloader(hdf5_path, camera=camera) + trajectory_info["is_robot"] = is_robot + trajectory_info["quality_label"] = "successful" + trajectory_info["partial_success"] = 1 + trajectory_info["data_source"] = "ph2d" + return trajectory_info + + +def load_ph2d_dataset(dataset_path: str) -> dict[str, list[dict]]: + """Load Ph2d dataset organized as folders with HDF5 files and optional metadata.json. + + Expected layout: + / + ph2d_metadata.json # Optional (dataset-specific). TODO: parse to captions/tasks + / + *.hdf5 + / + ... + + Args: + dataset_path: Root directory containing sequence folders of HDF5 files. + + Returns: + Mapping: task/caption -> list of trajectory dicts. + """ + + task_data: dict[str, list[dict]] = defaultdict(list) + + # load metadata.json + all_task_attributes = json.load(open(os.path.join(dataset_path, "ph2d_metadata.json")))["per_task_attributes"] + for task_name, task_attributes in all_task_attributes.items(): + # load all sequences + embodiment_type = task_attributes["embodiment_type"] + if "human" in embodiment_type: + is_robot = False + else: + is_robot = True + + for h5_file in os.listdir(os.path.join(dataset_path, task_name)): + if not h5_file.endswith(".hdf5"): + continue + + h5_path = os.path.join(dataset_path, task_name, h5_file) + loaded_data = h5py.File(h5_path, "r") + task_description = loaded_data.attrs["description"] + + if "observation.image.right" in loaded_data: + task_data[task_name].append(create_new_trajectory(h5_path, is_robot, task_description, camera="right")) + if "observation.image.left" in loaded_data: + task_data[task_name].append(create_new_trajectory(h5_path, is_robot, task_description, camera="left")) + + if DEBUG: + break + print(f"Loaded {sum(len(task_list) for task_list in task_data.values())} trajectories from {len(task_data)} tasks") + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/racer_loader.py b/robometer/dataset_upload/dataset_loaders/racer_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..2d7d06e885700d9db74a422a0f362d4113e93885 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/racer_loader.py @@ -0,0 +1,189 @@ +import json +import os +from pathlib import Path +from typing import Any + +import cv2 +import numpy as np + +from dataset_upload.helpers import generate_unique_id + + +CAMERA_DIR_CANDIDATES = [ + "front_rgb", + "left_shoulder_rgb", + "right_shoulder_rgb", + # "right_shoudler_rgb", # sometimes misspelled in datasets + # "wrist_rgb", +] + + +class RacerFrameListLoader: + """Pickle-able loader that reads a list of image paths on demand (RGB, uint8).""" + + def __init__(self, image_paths: list[str]) -> None: + if not image_paths: + raise ValueError("image_paths must be non-empty") + self.image_paths = image_paths + + def __call__(self) -> np.ndarray: + frames: list[np.ndarray] = [] + for p in self.image_paths: + img_bgr = cv2.imread(p, cv2.IMREAD_COLOR) + if img_bgr is None: + continue + img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB) + frames.append(img_rgb) + if not frames: + return np.empty((0, 0, 0, 3), dtype=np.uint8) + frames_np = np.asarray(frames, dtype=np.uint8) + return frames_np + + +def _sorted_pngs(dir_path: Path) -> list[str]: + paths = [p for p in dir_path.glob("*.png")] + paths.sort(key=lambda x: int(x.stem.split("_")[0])) + return [str(p) for p in paths] + + +def _make_traj(image_paths: list[str], task_text: str, is_success: bool) -> dict[str, Any]: + traj: dict[str, Any] = {} + traj["id"] = generate_unique_id() + traj["task"] = task_text + traj["frames"] = RacerFrameListLoader(image_paths) + traj["is_robot"] = True + traj["quality_label"] = "successful" if is_success else "failure" + traj["data_source"] = "racer" + traj["preference_group_id"] = None + traj["preference_rank"] = None + return traj + + +def _collect_camera_views(sample_dir: Path) -> dict[str, list[str]]: + views: dict[str, list[str]] = {} + for cam in CAMERA_DIR_CANDIDATES: + d = sample_dir / cam + if d.exists() and d.is_dir(): + imgs = _sorted_pngs(d) + if imgs: + views[cam] = imgs + return views + + +def load_racer_dataset(dataset_path: str, dataset_name: str) -> dict[str, list[dict]]: + """Load RACER-augmented_rlbench dataset. + + Args: + dataset_path: Path to dataset root containing 'train' and/or 'val' folders. + dataset_name: Use to pick split: 'racer_train' -> train, 'racer_val' -> val. + + Behavior: + - Uses task_goal from language_description.json as language instruction. + - Creates success trajectories (full expert episode) per camera view. + - For each expert subgoal frame that contains heuristic failures in 'augmentation', + creates failure trajectories up to that expert frame index (inclusive), per camera view. + + Returns: + Mapping: task_goal -> list of trajectory dicts. + """ + root = Path(os.path.expanduser(dataset_path)) + if not root.exists(): + raise FileNotFoundError(f"RACER dataset path not found: {root}") + + split = "val" if ("val" in dataset_name.lower()) else "train" + + # Some distributions include an extra 'samples' segment + split_dir = root / split + alt_split_dir = split_dir / "samples" + if alt_split_dir.exists(): + split_dir = alt_split_dir + + if not split_dir.exists(): + raise FileNotFoundError(f"Split directory not found: {split_dir}") + + # Tasks are subdirectories under split_dir + task_dirs = [p for p in split_dir.iterdir() if p.is_dir()] + + task_data: dict[str, list[dict]] = {} + + for task_dir in task_dirs: + # Episodes are numeric directories under each task + episode_dirs = [p for p in task_dir.iterdir() if p.is_dir()] + for ep_dir in episode_dirs: + json_path = ep_dir / "language_description.json" + if not json_path.exists(): + continue + + try: + with open(json_path, "r") as f: + desc = json.load(f) + except Exception: + continue + + task_goal: str = desc.get("task_goal", "").strip() or task_dir.name + subgoal_dict: dict[str, Any] = desc.get("subgoal", {}) or {} + + # Gather camera views for this episode once + views = _collect_camera_views(ep_dir) + if not views: + continue + + # Success: use full length per view + for cam, img_list in views.items(): + if not img_list: + continue + expert_img_list = [p for p in img_list if "expert" in p] + traj = _make_traj(expert_img_list, task_goal, is_success=True) + task_data.setdefault(task_goal, []).append(traj) + + # Failures: for each expert key that contains heuristic augmentations + for key, content in subgoal_dict.items(): + # Expect keys like '0_expert', '48_expert', ... + if not isinstance(key, str) or "expert" not in key: + continue + try: + expert_frame_idx = int(key.split("_")[0]) + except Exception: + continue + + aug = content.get("augmentation", {}) if isinstance(content, dict) else {} + if not isinstance(aug, dict) or not aug: + continue + + # Enumerate augmentations; select those labeled as heuristic failures + has_failure = False + for aug_image_name, aug_content in aug.items(): + if not isinstance(aug_content, dict): + continue + label = str(aug_content.get("label", "")).lower() + if "failure" in label: # e.g., 'recoverable_failure' + has_failure = True + break + + if not has_failure: + continue + + # Build failure trajectories by truncating expert frames up to expert_frame_idx + for cam, img_list in views.items(): + if not img_list: + continue + + # Find frames with numeric names and truncate accordingly + def _frame_num(p: str) -> int: + try: + return int(Path(p).stem.split("_")[0]) + except Exception: + return 1_000_000_000 + + # Keep frames with index < expert_frame_idx + subset = [p for p in img_list if _frame_num(p) < expert_frame_idx and "expert" in p] + # add the augmented failure frame + for img_name in img_list: + if aug_image_name in img_name: + subset.append(img_name) + break + if not subset: + continue + traj = _make_traj(subset, task_goal, is_success=False) + task_data.setdefault(task_goal, []).append(traj) + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/roboarena_loader.py b/robometer/dataset_upload/dataset_loaders/roboarena_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..23bdb834eed8a440cb314f5664f945d03d4585fb --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/roboarena_loader.py @@ -0,0 +1,123 @@ +import os +from collections import defaultdict + +import cv2 +import numpy as np +import yaml +from dataset_upload.helpers import generate_unique_id + +trajectory_info_template = { + "id": [], + "task": [], + # "lang_vector": [], + "data_source": None, + "frames": None, + "is_robot": None, + "quality_label": None, + "partial_success": None, # in [0, 1] +} + + +class RoboarenaFrameloader: + """Pickle-able loader that reads Roboarena frames from disk on demand. + + Stores only simple fields so it can be safely passed across processes. + """ + + def __init__(self, video_path: str) -> None: + self.video_path = video_path + + def __call__(self) -> np.ndarray: + """Load frames from disk when called. + + Returns: + np.ndarray of shape (T, H, W, 3), dtype uint8 + """ + cap = cv2.VideoCapture(self.video_path) + frames = [] + while True: + ret, frame = cap.read() + + if not ret: + break + + frames.append(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) + cap.release() + + frames = np.array(frames) + + # Ensure shape and dtype sanity + if not isinstance(frames, np.ndarray) or frames.ndim != 4 or frames.shape[-1] != 3: + raise ValueError( + f"Unexpected frames shape for {self.video_path} in {self.video_path}: {getattr(frames, 'shape', None)}" + ) + + # Ensure uint8 + if frames.dtype != np.uint8: + frames = frames.astype(np.uint8, copy=False) + + return frames + + +def create_new_trajectory(video_path: str, partial_success: int, task_name: str) -> dict: + trajectory_info = {} + trajectory_info["id"] = generate_unique_id() + trajectory_info["task"] = task_name + trajectory_info["frames"] = RoboarenaFrameloader(video_path) + trajectory_info["is_robot"] = True + trajectory_info["quality_label"] = "successful" if partial_success == 1.0 else "failure" + trajectory_info["partial_success"] = partial_success + trajectory_info["data_source"] = "roboarena" + return trajectory_info + + +def load_roboarena_dataset(dataset_path: str) -> dict[str, list[dict]]: + eval_folder = os.path.join(dataset_path, "evaluation_sessions") + eval_sessions = os.listdir(eval_folder) + + # tasks_to_videos = dict() + # task : {video_path: ..., partial_success} + task_data = defaultdict(list) + + for eval_session in eval_sessions: + eval_session_path = os.path.join(eval_folder, eval_session) + metadata_path = os.path.join(eval_session_path, "metadata.yaml") + # load metadata + with open(metadata_path) as f: + metadata = yaml.load(f, Loader=yaml.FullLoader) + task = metadata["language_instruction"] + # if task in tasks_to_videos: + # print(f"Task {task} already in tasks") + # tasks_to_videos[task] = [] + # pprint.pprint(metadata) + policies = metadata["policies"] + for policy_id, policy_info in policies.items(): + # get the partial success + partial_success = policy_info["partial_success"] + policy_name = policy_info["policy_name"] + policy_folder_name = f"{policy_id}_{policy_name}" + # get the videos of _left and _right + policy_folder_path = os.path.join(eval_session_path, policy_folder_name) + files_in_policy_folder = os.listdir(policy_folder_path) + video_left = [f for f in files_in_policy_folder if f.endswith("_left.mp4")] + video_right = [f for f in files_in_policy_folder if f.endswith("_right.mp4")] + # video_wrist = [f for f in files_in_policy_folder if f.endswith("_wrist.mp4")] + if len(video_left) > 0: + video_path = os.path.join(policy_folder_path, video_left[0]) + task_data[task].append( + create_new_trajectory(video_path, partial_success=partial_success, task_name=task) + ) + if len(video_right) > 0: + video_path = os.path.join(policy_folder_path, video_right[0]) + task_data[task].append( + create_new_trajectory(video_path, partial_success=partial_success, task_name=task) + ) + # if len(video_wrist) > 0: + # video_path = os.path.join(policy_folder_path, video_wrist[0]) + # task_data[task].append( + # create_new_trajectory(video_path, partial_success=partial_success, task_name=task) + # ) + print( + f"Loaded {sum([len(task_list) for task_list in task_data.values()])} trajectories from {len(task_data)} tasks" + ) + return task_data diff --git a/robometer/dataset_upload/dataset_loaders/robofac_loader.py b/robometer/dataset_upload/dataset_loaders/robofac_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..dc543be8553e7c40c4e91f6874f14ef97e803ba2 --- /dev/null +++ b/robometer/dataset_upload/dataset_loaders/robofac_loader.py @@ -0,0 +1,452 @@ +#!/usr/bin/env python3 +""" +RoboFAC dataset loader for the generic dataset converter for Robometer model training. +Loads MINT-SJTU/RoboFAC-dataset structure: realworld_data//videos/*.mp4 and simulation_data. + +Task descriptions from the dataset card: https://huggingface.co/datasets/MINT-SJTU/RoboFAC-dataset +""" + +import json +import re +from pathlib import Path + +from dataset_upload.helpers import generate_unique_id, load_sentence_transformer_model +from dataset_upload.video_helpers import load_video_frames +from tqdm import tqdm + +# Official task name -> language description (from MINT-SJTU/RoboFAC-dataset dataset card). +# Task names match the card exactly (including typos: UprightStask, PegInsetionSide). +TASK_NAME_TO_DESCRIPTION: dict[str, str] = { + "SpinStack": "Pick up the cube on the spinning disc and stack it on another cube on the disc.", + "SpinPullStack": "Pull out the cube on the spinning disc and stack it on another cube on the disc.", + "MicrowaveTask": "Put the spoon on the table into the cup. Open the door of microwave, put the cup into the microwave and close the door.", + "SafeTask": "Put the gold bar into the safe, close the door of the safe and rotate the cross knob on the door to lock it.", + "ToolsTask": "Choose the correct (L-shaped) tools, grasp it to pull the correct (2-pins) charger and plug it.", + "UprightStask": "Upright the peg and stack it on the cube.", + "PegInsetionSide": "Insert the peg into the hole on the side of the block.", + "PullCubeTool": "Grasp the L-shaped tool and pull the cube by it.", + "PlugCharger": "Grasp the charger and plug it into the receptacle.", + "InsertCylinder": "Upright the cylinder and insert it into the middle hole on the shelf.", + "PlaceCube": "Pick up the cube and place it into the box.", + "LiftPegUpright": "Lift the peg and upright it.", + "PickCube": "Pick the cube to the target position.", + "PullCube": "Pull the cube to the red and white target.", + "PushCube": "Push the cube to the red and white target.", + "StackCube": "Pick up the cube and stack it on another cube.", +} + +# Simulation path task names (e.g. UprightStack-v1) may differ from card names; map to card key. +_SIMULATION_PATH_TO_TASK_KEY: dict[str, str] = { + "UprightStack": "UprightStask", + "PegInsertionSide": "PegInsetionSide", +} + + +class RoboFACFrameLoader: + """Pickle-able loader that reads RoboFAC video files on demand.""" + + def __init__(self, file_path: str): + self.file_path = file_path + + def __call__(self): + """Load frames from video file. Returns np.ndarray (T, H, W, 3) uint8.""" + return load_video_frames(Path(self.file_path)) + + +def _snake_to_camel(snake: str) -> str: + """Convert snake_case to CamelCase (e.g. insert_cylinder -> InsertCylinder).""" + return "".join(word.capitalize() for word in snake.split("_") if word) + + +def _realworld_folder_to_task_description(folder_name: str) -> str: + """Convert realworld folder name to task description using dataset-card mapping. + + E.g. so100_insert_cylinder_error -> InsertCylinder -> full description. + Falls back to title-cased name if not in TASK_NAME_TO_DESCRIPTION. + """ + name = folder_name.replace("so100_", "").replace("_error", "").strip("_") + task_key = _snake_to_camel(name) + return TASK_NAME_TO_DESCRIPTION.get(task_key) or name.replace("_", " ").strip().title() + + +def _find_mp4_under(path: Path) -> list[Path]: + """Find all .mp4 files under path (recursive). Handles videos/ or videos/chunk-000/ etc.""" + if not path.exists(): + return [] + return sorted(path.rglob("*.mp4")) + + +def _simulation_quality_from_folder(folder_name: str) -> str: + """Map simulation_data subfolder to quality_label (successful / failure).""" + name_lower = folder_name.lower() + if "success" in name_lower and "fail" not in name_lower: + return "successful" + if "fail" in name_lower or "error" in name_lower: + return "failure" + return "failure" # default for unknown + + +def _simulation_path_task_to_description(path_task_name: str) -> str: + """Map simulation path task name to dataset-card description. + + success_data/ and failure_data/ have one subfolder per task variant, e.g.: + UprightStack-v1, LiftPegUpright-box, PickCube-apple, MicrowaveTask-fork. + Strip the trailing - to get the base task name for lookup. + """ + # Strip variant suffix: -v1, -box, -apple, -fork, -gen1, etc. + base = re.sub(r"-[a-zA-Z0-9_]+$", "", path_task_name) + task_key = _SIMULATION_PATH_TO_TASK_KEY.get(base, base) + return TASK_NAME_TO_DESCRIPTION.get(task_key) or path_task_name.replace("-", " ").replace("_", " ").strip().title() + + +TASK_IDENTIFICATION_KEY = "Task identification" + + +def _extract_task_identification_desc(annos: dict) -> str: + """Extract assistant 'value' from annos['Task identification'] conversation only. + + We use only the "Task identification" section (not other anno keys). The value is + the assistant's reply in that conversation, e.g. "Insert the cylinder into the middle hole of the shelf." + """ + # Prefer exact key, then case-insensitive match for "Task identification" + task_id = annos.get(TASK_IDENTIFICATION_KEY) + if task_id is None: + for k, v in annos.items(): + if k.strip().lower() == TASK_IDENTIFICATION_KEY.lower(): + task_id = v + break + if not isinstance(task_id, list): + return "" + for turn in task_id: + if turn.get("from") == "assistant" and "value" in turn: + return turn["value"].strip() + return "" + + +def _load_test_qa_annos(root: Path) -> tuple[dict[str, str], dict[str, str]]: + """Load test_qa_realworld and test_qa_sim annos_per_video_split*.json and build video_id -> description. + + Each JSON is a dict: { "video_id": { "video": "path", "task": "InsertCylinder", "annos": { "Task identification": [ { "from": "human", "value": "..." }, { "from": "assistant", "value": "Insert the cylinder into the middle hole of the shelf." } ] } } }. + We use the "Task identification" assistant value as the language description. + Tries root/test_qa_realworld, root/test_qa_sim, and root/main/... for each. + """ + video_id_to_desc: dict[str, str] = {} + task_folder_to_desc: dict[str, str] = {} + dirs_to_try = [ + root / "test_qa_realworld", + root / "test_qa_sim", + root / "main" / "test_qa_realworld", + root / "main" / "test_qa_sim", + ] + for annos_dir in dirs_to_try: + if not annos_dir.is_dir(): + continue + for path in sorted(annos_dir.glob("annos_per_video_split*.json")): + with open(path, encoding="utf-8") as f: + data = json.load(f) + for video_id, entry in data.items(): + if not isinstance(entry, dict): + continue + annos = entry.get("annos", {}) + desc = _extract_task_identification_desc(annos) + if not desc: + continue + video_id_to_desc[video_id] = desc + video_path_str = entry.get("video", "") + if video_path_str: + stem = Path(video_path_str).stem + video_id_to_desc[stem] = desc + task_folder_to_desc[video_path_str.split("/")[0]] = desc + task = entry.get("task", "") + if task: + task_folder_to_desc[task] = desc + if video_id_to_desc: + print(f" Loaded {len(video_id_to_desc)} video_id->description from test_qa_* annos") + + return video_id_to_desc, task_folder_to_desc + + +# Human prompt that indicates task-identification QA in training_qa.json (we only extract from these). +_TRAINING_QA_TASK_IDENTIFICATION_PROMPT = "identify what task the robot is doing" + + +def _extract_task_desc_from_training_qa_conversations(convs: list) -> str: + """Extract language description from training_qa conversations. + + Only use the assistant reply when the human asked the task-identification question + (e.g. 'Can you identify what task the robot is doing in the provided video?'). + """ + if not isinstance(convs, list): + return "" + for i, turn in enumerate(convs): + if turn.get("from") != "human" or "value" not in turn: + continue + human_val = (turn.get("value") or "").lower() + if _TRAINING_QA_TASK_IDENTIFICATION_PROMPT not in human_val: + continue + # Next turn should be assistant with the task description + if i + 1 < len(convs) and convs[i + 1].get("from") == "assistant" and "value" in convs[i + 1]: + return (convs[i + 1].get("value") or "").strip() + return "" + + +def _load_training_qa(root: Path) -> tuple[dict[str, str], dict[str, str]]: + """Load training_qa.json and build video_id -> description and task_folder -> description. + + training_qa.json is a list of { + "id": "09936392-adb5-4f34-9410-7c7305d9c76b", + "video": "dataset_success_cleaned/MicrowaveTask-fork/stack_error/09936392-adb5-4f34-9410-7c7305d9c76b.mp4", + "conversations": [ + { "from": "human", "value": "