From 86ae84b751a83073bc195dcc7f20f228c7344e17 Mon Sep 17 00:00:00 2001 From: chu-jiaming Date: Tue, 13 Oct 2026 20:53:21 +0800 Subject: [PATCH 1/6] refactor: reorganize experiment artifacts and scripts --- .gitattributes | 2 - .gitignore | 10 + ALIGNMENT_DIAGNOSTIC.md | 74 - DATA_FLOW.md | 37 - METHODS.md | 246 -- POSE_OPTIMIZATION.md | 92 - PROJECT_SUMMARY.md | 35 - README.md | 265 ++- REPRODUCING.md | 77 - VALIDATION.md | 23 - WARMUP_EXPERIMENTS.md | 45 - artifacts/README.md | 51 +- .../source_fingerprints.json | 32 - .../alignment_full}/findings.md | 0 .../alignment_full}/metrics_comparison.png | Bin .../alignment_full}/report.md | 0 .../alignment_full}/summary.csv | 0 .../alignment_preview}/comparison_000.png | Bin .../alignment_preview}/comparison_050.png | Bin .../alignment_preview}/comparison_100.png | Bin .../alignment_preview}/findings.md | 0 .../alignment_preview}/metrics_comparison.png | Bin .../alignment_preview}/report.md | 0 .../alignment_preview}/summary.csv | 0 .../baseline}/SV100_full_summary.csv | 0 .../baseline}/SV100_pipeline_summary.txt | 0 .../baseline}/SV100_rotation_sweep.csv | 0 .../baseline}/SV100_translation_sweep.csv | 0 .../pose_audit}/summary.csv | 0 .../pose_audit}/transforms.json | 0 .../naive_failure_analysis.md.txt | 0 .../pose_optimization}/report.md.txt | 0 .../pose_optimization}/summary.csv | 0 .../warmup/aggregate_metrics.json | 0 .../warmup/gt_early_pose_drift.png | Bin .../{ => analysis}/warmup/paired_metrics.csv | 0 .../warmup/quality_comparison.png | Bin artifacts/{ => analysis}/warmup/report.md | 0 artifacts/{ => analysis}/warmup/summary.csv | 0 .../camp/SV100-GT}/alignment.json | 0 .../camp_warmup/SV100-GT}/alignment.json | 0 .../fixed/SV100-GT}/alignment.json | 0 .../naive/SV100-GT}/alignment.json | 0 .../naive_warmup/SV100-GT}/alignment.json | 0 .../camp/SV100-GT}/alignment.json | 0 .../camp_warmup/SV100-GT}/alignment.json | 0 .../fixed/SV100-GT}/alignment.json | 0 .../naive/SV100-GT}/alignment.json | 0 .../naive_warmup/SV100-GT}/alignment.json | 0 .../baseline/fixed/SV100-GT}/config.yml | 0 .../SV100-GT}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-GT/metadata.json | 0 .../baseline/fixed}/SV100-GT/metrics.json | 0 .../baseline/fixed/SV100-R0.5}/config.yml | 0 .../SV100-R0.5}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-R0.5/metadata.json | 0 .../baseline/fixed}/SV100-R0.5/metrics.json | 0 .../baseline/fixed/SV100-R1}/config.yml | 0 .../SV100-R1}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-R1/metadata.json | 0 .../baseline/fixed}/SV100-R1/metrics.json | 0 .../baseline/fixed/SV100-R2}/config.yml | 0 .../SV100-R2}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-R2/metadata.json | 0 .../baseline/fixed}/SV100-R2/metrics.json | 0 .../baseline/fixed/SV100-R5}/config.yml | 0 .../SV100-R5}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-R5/metadata.json | 0 .../baseline/fixed}/SV100-R5/metrics.json | 0 .../baseline/fixed/SV100-T0.5}/config.yml | 0 .../SV100-T0.5}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-T0.5/metadata.json | 0 .../baseline/fixed}/SV100-T0.5/metrics.json | 0 .../baseline/fixed/SV100-T1}/config.yml | 0 .../SV100-T1}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-T1/metadata.json | 0 .../baseline/fixed}/SV100-T1/metrics.json | 0 .../baseline/fixed/SV100-T2}/config.yml | 0 .../SV100-T2}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-T2/metadata.json | 0 .../baseline/fixed}/SV100-T2/metrics.json | 0 .../baseline/fixed/SV100-T5}/config.yml | 0 .../SV100-T5}/dataparser_transforms.json | 0 .../baseline/fixed}/SV100-T5/metadata.json | 0 .../baseline/fixed}/SV100-T5/metrics.json | 0 .../camp/SV100-GT}/analysis_complete.json | 0 .../camp/SV100-GT}/conditioning.json | 0 .../camp/SV100-GT}/config.yml | 0 .../camp/SV100-GT}/dataparser_transforms.json | 0 .../camp/SV100-GT}/metrics.json | 0 .../camp/SV100-GT}/optimized_poses.json | 0 .../camp/SV100-GT}/train_complete.json | 0 .../camp/SV100-R0.5}/analysis_complete.json | 0 .../camp/SV100-R0.5}/conditioning.json | 0 .../camp/SV100-R0.5}/config.yml | 0 .../SV100-R0.5}/dataparser_transforms.json | 0 .../camp/SV100-R0.5}/metrics.json | 0 .../camp/SV100-R0.5}/optimized_poses.json | 0 .../camp/SV100-R0.5}/train_complete.json | 0 .../camp/SV100-R1}/analysis_complete.json | 0 .../camp/SV100-R1}/conditioning.json | 0 .../camp/SV100-R1}/config.yml | 0 .../camp/SV100-R1}/dataparser_transforms.json | 0 .../camp/SV100-R1}/metrics.json | 0 .../camp/SV100-R1}/optimized_poses.json | 0 .../camp/SV100-R1}/train_complete.json | 0 .../camp/SV100-R2}/analysis_complete.json | 0 .../camp/SV100-R2}/conditioning.json | 0 .../camp/SV100-R2}/config.yml | 0 .../camp/SV100-R2}/dataparser_transforms.json | 0 .../camp/SV100-R2}/metrics.json | 0 .../camp/SV100-R2}/optimized_poses.json | 0 .../camp/SV100-R2}/train_complete.json | 0 .../camp/SV100-R5}/analysis_complete.json | 0 .../camp/SV100-R5}/conditioning.json | 0 .../camp/SV100-R5}/config.yml | 0 .../camp/SV100-R5}/dataparser_transforms.json | 0 .../camp/SV100-R5}/metrics.json | 0 .../camp/SV100-R5}/optimized_poses.json | 0 .../camp/SV100-R5}/train_complete.json | 0 .../camp/SV100-T0.5}/analysis_complete.json | 0 .../camp/SV100-T0.5}/conditioning.json | 0 .../camp/SV100-T0.5}/config.yml | 0 .../SV100-T0.5}/dataparser_transforms.json | 0 .../camp/SV100-T0.5}/metrics.json | 0 .../camp/SV100-T0.5}/optimized_poses.json | 0 .../camp/SV100-T0.5}/train_complete.json | 0 .../camp/SV100-T1}/analysis_complete.json | 0 .../camp/SV100-T1}/conditioning.json | 0 .../camp/SV100-T1}/config.yml | 0 .../camp/SV100-T1}/dataparser_transforms.json | 0 .../camp/SV100-T1}/metrics.json | 0 .../camp/SV100-T1}/optimized_poses.json | 0 .../camp/SV100-T1}/train_complete.json | 0 .../camp/SV100-T2}/analysis_complete.json | 0 .../camp/SV100-T2}/conditioning.json | 0 .../camp/SV100-T2}/config.yml | 0 .../camp/SV100-T2}/dataparser_transforms.json | 0 .../camp/SV100-T2}/metrics.json | 0 .../camp/SV100-T2}/optimized_poses.json | 0 .../camp/SV100-T2}/train_complete.json | 0 .../camp/SV100-T5}/analysis_complete.json | 0 .../camp/SV100-T5}/conditioning.json | 0 .../camp/SV100-T5}/config.yml | 0 .../camp/SV100-T5}/dataparser_transforms.json | 0 .../camp/SV100-T5}/metrics.json | 0 .../camp/SV100-T5}/optimized_poses.json | 0 .../camp/SV100-T5}/train_complete.json | 0 .../naive/SV100-GT}/analysis_complete.json | 0 .../naive/SV100-GT}/conditioning.json | 0 .../naive/SV100-GT}/config.yml | 0 .../SV100-GT}/dataparser_transforms.json | 0 .../naive/SV100-GT}/metrics.json | 0 .../naive/SV100-GT}/optimized_poses.json | 0 .../naive/SV100-GT}/train_complete.json | 0 .../naive/SV100-R0.5}/analysis_complete.json | 0 .../naive/SV100-R0.5}/conditioning.json | 0 .../naive/SV100-R0.5}/config.yml | 0 .../SV100-R0.5}/dataparser_transforms.json | 0 .../naive/SV100-R0.5}/metrics.json | 0 .../naive/SV100-R0.5}/optimized_poses.json | 0 .../naive/SV100-R0.5}/train_complete.json | 0 .../naive/SV100-R1}/analysis_complete.json | 0 .../naive/SV100-R1}/conditioning.json | 0 .../naive/SV100-R1}/config.yml | 0 .../SV100-R1}/dataparser_transforms.json | 0 .../naive/SV100-R1}/metrics.json | 0 .../naive/SV100-R1}/optimized_poses.json | 0 .../naive/SV100-R1}/train_complete.json | 0 .../naive/SV100-R2}/analysis_complete.json | 0 .../naive/SV100-R2}/conditioning.json | 0 .../naive/SV100-R2}/config.yml | 0 .../SV100-R2}/dataparser_transforms.json | 0 .../naive/SV100-R2}/metrics.json | 0 .../naive/SV100-R2}/optimized_poses.json | 0 .../naive/SV100-R2}/train_complete.json | 0 .../naive/SV100-R5}/analysis_complete.json | 0 .../naive/SV100-R5}/conditioning.json | 0 .../naive/SV100-R5}/config.yml | 0 .../SV100-R5}/dataparser_transforms.json | 0 .../naive/SV100-R5}/metrics.json | 0 .../naive/SV100-R5}/optimized_poses.json | 0 .../naive/SV100-R5}/train_complete.json | 0 .../naive/SV100-T0.5}/analysis_complete.json | 0 .../naive/SV100-T0.5}/conditioning.json | 0 .../naive/SV100-T0.5}/config.yml | 0 .../SV100-T0.5}/dataparser_transforms.json | 0 .../naive/SV100-T0.5}/metrics.json | 0 .../naive/SV100-T0.5}/optimized_poses.json | 0 .../naive/SV100-T0.5}/train_complete.json | 0 .../naive/SV100-T1}/analysis_complete.json | 0 .../naive/SV100-T1}/conditioning.json | 0 .../naive/SV100-T1}/config.yml | 0 .../SV100-T1}/dataparser_transforms.json | 0 .../naive/SV100-T1}/metrics.json | 0 .../naive/SV100-T1}/optimized_poses.json | 0 .../naive/SV100-T1}/train_complete.json | 0 .../naive/SV100-T2}/analysis_complete.json | 0 .../naive/SV100-T2}/conditioning.json | 0 .../naive/SV100-T2}/config.yml | 0 .../SV100-T2}/dataparser_transforms.json | 0 .../naive/SV100-T2}/metrics.json | 0 .../naive/SV100-T2}/optimized_poses.json | 0 .../naive/SV100-T2}/train_complete.json | 0 .../naive/SV100-T5}/analysis_complete.json | 0 .../naive/SV100-T5}/conditioning.json | 0 .../naive/SV100-T5}/config.yml | 0 .../SV100-T5}/dataparser_transforms.json | 0 .../naive/SV100-T5}/metrics.json | 0 .../naive/SV100-T5}/optimized_poses.json | 0 .../naive/SV100-T5}/train_complete.json | 0 .../camp/SV100-GT}/analysis_complete.json | 0 .../warmup/camp/SV100-GT}/conditioning.json | 0 .../warmup/camp/SV100-GT}/config.yml | 0 .../camp/SV100-GT}/dataparser_transforms.json | 0 .../warmup/camp/SV100-GT}/metrics.json | 0 .../camp/SV100-GT}/optimized_poses.json | 0 .../warmup/camp/SV100-GT}/train_complete.json | 0 .../camp/SV100-R0.5}/analysis_complete.json | 0 .../warmup/camp/SV100-R0.5}/conditioning.json | 0 .../warmup/camp/SV100-R0.5}/config.yml | 0 .../SV100-R0.5}/dataparser_transforms.json | 0 .../warmup/camp/SV100-R0.5}/metrics.json | 0 .../camp/SV100-R0.5}/optimized_poses.json | 0 .../camp/SV100-R0.5}/train_complete.json | 0 .../camp/SV100-R1}/analysis_complete.json | 0 .../warmup/camp/SV100-R1}/conditioning.json | 0 .../warmup/camp/SV100-R1}/config.yml | 0 .../camp/SV100-R1}/dataparser_transforms.json | 0 .../warmup/camp/SV100-R1}/metrics.json | 0 .../camp/SV100-R1}/optimized_poses.json | 0 .../warmup/camp/SV100-R1}/train_complete.json | 0 .../camp/SV100-R2}/analysis_complete.json | 0 .../warmup/camp/SV100-R2}/conditioning.json | 0 .../warmup/camp/SV100-R2}/config.yml | 0 .../camp/SV100-R2}/dataparser_transforms.json | 0 .../warmup/camp/SV100-R2}/metrics.json | 0 .../camp/SV100-R2}/optimized_poses.json | 0 .../warmup/camp/SV100-R2}/train_complete.json | 0 .../camp/SV100-R5}/analysis_complete.json | 0 .../warmup/camp/SV100-R5}/conditioning.json | 0 .../warmup/camp/SV100-R5}/config.yml | 0 .../camp/SV100-R5}/dataparser_transforms.json | 0 .../warmup/camp/SV100-R5}/metrics.json | 0 .../camp/SV100-R5}/optimized_poses.json | 0 .../warmup/camp/SV100-R5}/train_complete.json | 0 .../camp/SV100-T0.5}/analysis_complete.json | 0 .../warmup/camp/SV100-T0.5}/conditioning.json | 0 .../warmup/camp/SV100-T0.5}/config.yml | 0 .../SV100-T0.5}/dataparser_transforms.json | 0 .../warmup/camp/SV100-T0.5}/metrics.json | 0 .../camp/SV100-T0.5}/optimized_poses.json | 0 .../camp/SV100-T0.5}/train_complete.json | 0 .../camp/SV100-T1}/analysis_complete.json | 0 .../warmup/camp/SV100-T1}/conditioning.json | 0 .../warmup/camp/SV100-T1}/config.yml | 0 .../camp/SV100-T1}/dataparser_transforms.json | 0 .../warmup/camp/SV100-T1}/metrics.json | 0 .../camp/SV100-T1}/optimized_poses.json | 0 .../warmup/camp/SV100-T1}/train_complete.json | 0 .../camp/SV100-T2}/analysis_complete.json | 0 .../warmup/camp/SV100-T2}/conditioning.json | 0 .../warmup/camp/SV100-T2}/config.yml | 0 .../camp/SV100-T2}/dataparser_transforms.json | 0 .../warmup/camp/SV100-T2}/metrics.json | 0 .../camp/SV100-T2}/optimized_poses.json | 0 .../warmup/camp/SV100-T2}/train_complete.json | 0 .../camp/SV100-T5}/analysis_complete.json | 0 .../warmup/camp/SV100-T5}/conditioning.json | 0 .../warmup/camp/SV100-T5}/config.yml | 0 .../camp/SV100-T5}/dataparser_transforms.json | 0 .../warmup/camp/SV100-T5}/metrics.json | 0 .../camp/SV100-T5}/optimized_poses.json | 0 .../warmup/camp/SV100-T5}/train_complete.json | 0 .../naive/SV100-GT}/analysis_complete.json | 0 .../warmup/naive/SV100-GT}/conditioning.json | 0 .../warmup/naive/SV100-GT}/config.yml | 0 .../SV100-GT}/dataparser_transforms.json | 0 .../warmup/naive/SV100-GT}/metrics.json | 0 .../naive/SV100-GT}/optimized_poses.json | 0 .../naive/SV100-GT}/train_complete.json | 0 .../naive/SV100-R0.5}/analysis_complete.json | 0 .../naive/SV100-R0.5}/conditioning.json | 0 .../warmup/naive/SV100-R0.5}/config.yml | 0 .../SV100-R0.5}/dataparser_transforms.json | 0 .../warmup/naive/SV100-R0.5}/metrics.json | 0 .../naive/SV100-R0.5}/optimized_poses.json | 0 .../naive/SV100-R0.5}/train_complete.json | 0 .../naive/SV100-R1}/analysis_complete.json | 0 .../warmup/naive/SV100-R1}/conditioning.json | 0 .../warmup/naive/SV100-R1}/config.yml | 0 .../SV100-R1}/dataparser_transforms.json | 0 .../warmup/naive/SV100-R1}/metrics.json | 0 .../naive/SV100-R1}/optimized_poses.json | 0 .../naive/SV100-R1}/train_complete.json | 0 .../naive/SV100-R2}/analysis_complete.json | 0 .../warmup/naive/SV100-R2}/conditioning.json | 0 .../warmup/naive/SV100-R2}/config.yml | 0 .../SV100-R2}/dataparser_transforms.json | 0 .../warmup/naive/SV100-R2}/metrics.json | 0 .../naive/SV100-R2}/optimized_poses.json | 0 .../naive/SV100-R2}/train_complete.json | 0 .../naive/SV100-R5}/analysis_complete.json | 0 .../warmup/naive/SV100-R5}/conditioning.json | 0 .../warmup/naive/SV100-R5}/config.yml | 0 .../SV100-R5}/dataparser_transforms.json | 0 .../warmup/naive/SV100-R5}/metrics.json | 0 .../naive/SV100-R5}/optimized_poses.json | 0 .../naive/SV100-R5}/train_complete.json | 0 .../naive/SV100-T0.5}/analysis_complete.json | 0 .../naive/SV100-T0.5}/conditioning.json | 0 .../warmup/naive/SV100-T0.5}/config.yml | 0 .../SV100-T0.5}/dataparser_transforms.json | 0 .../warmup/naive/SV100-T0.5}/metrics.json | 0 .../naive/SV100-T0.5}/optimized_poses.json | 0 .../naive/SV100-T0.5}/train_complete.json | 0 .../naive/SV100-T1}/analysis_complete.json | 0 .../warmup/naive/SV100-T1}/conditioning.json | 0 .../warmup/naive/SV100-T1}/config.yml | 0 .../SV100-T1}/dataparser_transforms.json | 0 .../warmup/naive/SV100-T1}/metrics.json | 0 .../naive/SV100-T1}/optimized_poses.json | 0 .../naive/SV100-T1}/train_complete.json | 0 .../naive/SV100-T2}/analysis_complete.json | 0 .../warmup/naive/SV100-T2}/conditioning.json | 0 .../warmup/naive/SV100-T2}/config.yml | 0 .../SV100-T2}/dataparser_transforms.json | 0 .../warmup/naive/SV100-T2}/metrics.json | 0 .../naive/SV100-T2}/optimized_poses.json | 0 .../naive/SV100-T2}/train_complete.json | 0 .../naive/SV100-T5}/analysis_complete.json | 0 .../warmup/naive/SV100-T5}/conditioning.json | 0 .../warmup/naive/SV100-T5}/config.yml | 0 .../SV100-T5}/dataparser_transforms.json | 0 .../warmup/naive/SV100-T5}/metrics.json | 0 .../naive/SV100-T5}/optimized_poses.json | 0 .../naive/SV100-T5}/train_complete.json | 0 .../historical/results/dataset_manifest.json | 55 - artifacts/manifest.json | 2033 ----------------- .../alignment_full}/manifest.json | 6 +- .../alignment_full}/state.json | 0 .../alignment_preview}/manifest.json | 6 +- .../alignment_preview}/state.json | 0 .../baseline}/environment.txt | 0 .../baseline}/pipeline_state.json | 0 .../pose_optimization}/environment.txt | 0 .../pose_optimization}/manifest.json | 9 - .../pose_optimization}/state.json | 0 .../{ => records}/warmup/environment.txt | 0 .../warmup}/manifest.json | 9 - artifacts/{ => records}/warmup/state.json | 0 scripts/analysis/analyze_warmup_results.py | 142 ++ scripts/{ => analysis}/summarize_alignment.py | 0 scripts/analyze_warmup_results.py | 128 -- scripts/{ => data}/perturb_poses.py | 0 scripts/{ => data}/prepare_datasets.py | 6 +- .../{ => evaluation}/audit_pose_alignment.py | 4 +- .../{ => evaluation}/evaluate_alignment.py | 13 +- .../run_alignment_diagnostic.sh | 4 +- .../pose_optimization_pipeline.py | 17 +- .../{ => training}/run_full_sv100_pipeline.sh | 4 +- .../run_pose_optimization_pipeline.sh | 4 +- .../{ => training}/run_warmup_experiments.sh | 4 +- scripts/{ => training}/sv100_pipeline.py | 5 +- scripts/verify_artifacts.py | 27 - tests/test_orchestration.py | 2 +- 366 files changed, 383 insertions(+), 3084 deletions(-) delete mode 100644 .gitattributes delete mode 100644 ALIGNMENT_DIAGNOSTIC.md delete mode 100644 DATA_FLOW.md delete mode 100644 METHODS.md delete mode 100644 POSE_OPTIMIZATION.md delete mode 100644 PROJECT_SUMMARY.md delete mode 100644 REPRODUCING.md delete mode 100644 VALIDATION.md delete mode 100644 WARMUP_EXPERIMENTS.md delete mode 100644 artifacts/alignment_pose_audit/source_fingerprints.json rename artifacts/{alignment_gt_full => analysis/alignment_full}/findings.md (100%) rename artifacts/{alignment_gt_full => analysis/alignment_full}/metrics_comparison.png (100%) rename artifacts/{alignment_gt_full => analysis/alignment_full}/report.md (100%) rename artifacts/{alignment_gt_full => analysis/alignment_full}/summary.csv (100%) rename artifacts/{alignment_gt_preview => analysis/alignment_preview}/comparison_000.png (100%) rename artifacts/{alignment_gt_preview => analysis/alignment_preview}/comparison_050.png (100%) rename artifacts/{alignment_gt_preview => analysis/alignment_preview}/comparison_100.png (100%) rename artifacts/{alignment_gt_preview => analysis/alignment_preview}/findings.md (100%) rename artifacts/{alignment_gt_preview => analysis/alignment_preview}/metrics_comparison.png (100%) rename artifacts/{alignment_gt_preview => analysis/alignment_preview}/report.md (100%) rename artifacts/{alignment_gt_preview => analysis/alignment_preview}/summary.csv (100%) rename artifacts/{historical/results => analysis/baseline}/SV100_full_summary.csv (100%) rename artifacts/{historical/results => analysis/baseline}/SV100_pipeline_summary.txt (100%) rename artifacts/{historical/results => analysis/baseline}/SV100_rotation_sweep.csv (100%) rename artifacts/{historical/results => analysis/baseline}/SV100_translation_sweep.csv (100%) rename artifacts/{alignment_pose_audit => analysis/pose_audit}/summary.csv (100%) rename artifacts/{alignment_pose_audit => analysis/pose_audit}/transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100 => analysis/pose_optimization}/naive_failure_analysis.md.txt (100%) rename artifacts/{historical/results/poseopt_sv100 => analysis/pose_optimization}/report.md.txt (100%) rename artifacts/{historical/results/poseopt_sv100 => analysis/pose_optimization}/summary.csv (100%) rename artifacts/{ => analysis}/warmup/aggregate_metrics.json (100%) rename artifacts/{ => analysis}/warmup/gt_early_pose_drift.png (100%) rename artifacts/{ => analysis}/warmup/paired_metrics.csv (100%) rename artifacts/{ => analysis}/warmup/quality_comparison.png (100%) rename artifacts/{ => analysis}/warmup/report.md (100%) rename artifacts/{ => analysis}/warmup/summary.csv (100%) rename artifacts/{alignment_gt_full/camp => experiments/alignment_full/camp/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_full/camp_warmup => experiments/alignment_full/camp_warmup/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_full/fixed => experiments/alignment_full/fixed/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_full/naive => experiments/alignment_full/naive/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_full/naive_warmup => experiments/alignment_full/naive_warmup/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_preview/camp => experiments/alignment_preview/camp/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_preview/camp_warmup => experiments/alignment_preview/camp_warmup/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_preview/fixed => experiments/alignment_preview/fixed/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_preview/naive => experiments/alignment_preview/naive/SV100-GT}/alignment.json (100%) rename artifacts/{alignment_gt_preview/naive_warmup => experiments/alignment_preview/naive_warmup/SV100-GT}/alignment.json (100%) rename artifacts/{historical/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114 => experiments/baseline/fixed/SV100-GT}/config.yml (100%) rename artifacts/{historical/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114 => experiments/baseline/fixed/SV100-GT}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-GT/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-GT/metrics.json (100%) rename artifacts/{historical/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150 => experiments/baseline/fixed/SV100-R0.5}/config.yml (100%) rename artifacts/{historical/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150 => experiments/baseline/fixed/SV100-R0.5}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-R0.5/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-R0.5/metrics.json (100%) rename artifacts/{historical/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344 => experiments/baseline/fixed/SV100-R1}/config.yml (100%) rename artifacts/{historical/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344 => experiments/baseline/fixed/SV100-R1}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-R1/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-R1/metrics.json (100%) rename artifacts/{historical/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553 => experiments/baseline/fixed/SV100-R2}/config.yml (100%) rename artifacts/{historical/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553 => experiments/baseline/fixed/SV100-R2}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-R2/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-R2/metrics.json (100%) rename artifacts/{historical/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748 => experiments/baseline/fixed/SV100-R5}/config.yml (100%) rename artifacts/{historical/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748 => experiments/baseline/fixed/SV100-R5}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-R5/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-R5/metrics.json (100%) rename artifacts/{historical/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408 => experiments/baseline/fixed/SV100-T0.5}/config.yml (100%) rename artifacts/{historical/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408 => experiments/baseline/fixed/SV100-T0.5}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-T0.5/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-T0.5/metrics.json (100%) rename artifacts/{historical/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553 => experiments/baseline/fixed/SV100-T1}/config.yml (100%) rename artifacts/{historical/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750 => experiments/baseline/fixed/SV100-T1}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-T1/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-T1/metrics.json (100%) rename artifacts/{historical/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750 => experiments/baseline/fixed/SV100-T2}/config.yml (100%) rename artifacts/{historical/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952 => experiments/baseline/fixed/SV100-T2}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-T2/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-T2/metrics.json (100%) rename artifacts/{historical/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952 => experiments/baseline/fixed/SV100-T5}/config.yml (100%) rename artifacts/{historical/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553 => experiments/baseline/fixed/SV100-T5}/dataparser_transforms.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-T5/metadata.json (100%) rename artifacts/{historical/results => experiments/baseline/fixed}/SV100-T5/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001 => experiments/pose_optimization/camp/SV100-GT}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001 => experiments/pose_optimization/camp/SV100-GT}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run => experiments/pose_optimization/camp/SV100-GT}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run => experiments/pose_optimization/camp/SV100-GT}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001 => experiments/pose_optimization/camp/SV100-GT}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001 => experiments/pose_optimization/camp/SV100-GT}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001 => experiments/pose_optimization/camp/SV100-GT}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001 => experiments/pose_optimization/camp/SV100-R0.5}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001 => experiments/pose_optimization/camp/SV100-R0.5}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run => experiments/pose_optimization/camp/SV100-R0.5}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run => experiments/pose_optimization/camp/SV100-R0.5}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001 => experiments/pose_optimization/camp/SV100-R0.5}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001 => experiments/pose_optimization/camp/SV100-R0.5}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001 => experiments/pose_optimization/camp/SV100-R0.5}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001 => experiments/pose_optimization/camp/SV100-R1}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001 => experiments/pose_optimization/camp/SV100-R1}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run => experiments/pose_optimization/camp/SV100-R1}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run => experiments/pose_optimization/camp/SV100-R1}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001 => experiments/pose_optimization/camp/SV100-R1}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001 => experiments/pose_optimization/camp/SV100-R1}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001 => experiments/pose_optimization/camp/SV100-R1}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001 => experiments/pose_optimization/camp/SV100-R2}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001 => experiments/pose_optimization/camp/SV100-R2}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run => experiments/pose_optimization/camp/SV100-R2}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run => experiments/pose_optimization/camp/SV100-R2}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001 => experiments/pose_optimization/camp/SV100-R2}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001 => experiments/pose_optimization/camp/SV100-R2}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001 => experiments/pose_optimization/camp/SV100-R2}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001 => experiments/pose_optimization/camp/SV100-R5}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001 => experiments/pose_optimization/camp/SV100-R5}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run => experiments/pose_optimization/camp/SV100-R5}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run => experiments/pose_optimization/camp/SV100-R5}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001 => experiments/pose_optimization/camp/SV100-R5}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001 => experiments/pose_optimization/camp/SV100-R5}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001 => experiments/pose_optimization/camp/SV100-R5}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001 => experiments/pose_optimization/camp/SV100-T0.5}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001 => experiments/pose_optimization/camp/SV100-T0.5}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run => experiments/pose_optimization/camp/SV100-T0.5}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run => experiments/pose_optimization/camp/SV100-T0.5}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001 => experiments/pose_optimization/camp/SV100-T0.5}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001 => experiments/pose_optimization/camp/SV100-T0.5}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001 => experiments/pose_optimization/camp/SV100-T0.5}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001 => experiments/pose_optimization/camp/SV100-T1}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001 => experiments/pose_optimization/camp/SV100-T1}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run => experiments/pose_optimization/camp/SV100-T1}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run => experiments/pose_optimization/camp/SV100-T1}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001 => experiments/pose_optimization/camp/SV100-T1}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001 => experiments/pose_optimization/camp/SV100-T1}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001 => experiments/pose_optimization/camp/SV100-T1}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001 => experiments/pose_optimization/camp/SV100-T2}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001 => experiments/pose_optimization/camp/SV100-T2}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run => experiments/pose_optimization/camp/SV100-T2}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run => experiments/pose_optimization/camp/SV100-T2}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001 => experiments/pose_optimization/camp/SV100-T2}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001 => experiments/pose_optimization/camp/SV100-T2}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001 => experiments/pose_optimization/camp/SV100-T2}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001 => experiments/pose_optimization/camp/SV100-T5}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001 => experiments/pose_optimization/camp/SV100-T5}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run => experiments/pose_optimization/camp/SV100-T5}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run => experiments/pose_optimization/camp/SV100-T5}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001 => experiments/pose_optimization/camp/SV100-T5}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001 => experiments/pose_optimization/camp/SV100-T5}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001 => experiments/pose_optimization/camp/SV100-T5}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001 => experiments/pose_optimization/naive/SV100-GT}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001 => experiments/pose_optimization/naive/SV100-GT}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run => experiments/pose_optimization/naive/SV100-GT}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run => experiments/pose_optimization/naive/SV100-GT}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001 => experiments/pose_optimization/naive/SV100-GT}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001 => experiments/pose_optimization/naive/SV100-GT}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001 => experiments/pose_optimization/naive/SV100-GT}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001 => experiments/pose_optimization/naive/SV100-R0.5}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001 => experiments/pose_optimization/naive/SV100-R0.5}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run => experiments/pose_optimization/naive/SV100-R0.5}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run => experiments/pose_optimization/naive/SV100-R0.5}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001 => experiments/pose_optimization/naive/SV100-R0.5}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001 => experiments/pose_optimization/naive/SV100-R0.5}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001 => experiments/pose_optimization/naive/SV100-R0.5}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001 => experiments/pose_optimization/naive/SV100-R1}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001 => experiments/pose_optimization/naive/SV100-R1}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run => experiments/pose_optimization/naive/SV100-R1}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run => experiments/pose_optimization/naive/SV100-R1}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001 => experiments/pose_optimization/naive/SV100-R1}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001 => experiments/pose_optimization/naive/SV100-R1}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001 => experiments/pose_optimization/naive/SV100-R1}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001 => experiments/pose_optimization/naive/SV100-R2}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001 => experiments/pose_optimization/naive/SV100-R2}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run => experiments/pose_optimization/naive/SV100-R2}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run => experiments/pose_optimization/naive/SV100-R2}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001 => experiments/pose_optimization/naive/SV100-R2}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001 => experiments/pose_optimization/naive/SV100-R2}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001 => experiments/pose_optimization/naive/SV100-R2}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001 => experiments/pose_optimization/naive/SV100-R5}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001 => experiments/pose_optimization/naive/SV100-R5}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run => experiments/pose_optimization/naive/SV100-R5}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run => experiments/pose_optimization/naive/SV100-R5}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001 => experiments/pose_optimization/naive/SV100-R5}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001 => experiments/pose_optimization/naive/SV100-R5}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001 => experiments/pose_optimization/naive/SV100-R5}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001 => experiments/pose_optimization/naive/SV100-T0.5}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001 => experiments/pose_optimization/naive/SV100-T0.5}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run => experiments/pose_optimization/naive/SV100-T0.5}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run => experiments/pose_optimization/naive/SV100-T0.5}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001 => experiments/pose_optimization/naive/SV100-T0.5}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001 => experiments/pose_optimization/naive/SV100-T0.5}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001 => experiments/pose_optimization/naive/SV100-T0.5}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001 => experiments/pose_optimization/naive/SV100-T1}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001 => experiments/pose_optimization/naive/SV100-T1}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run => experiments/pose_optimization/naive/SV100-T1}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run => experiments/pose_optimization/naive/SV100-T1}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001 => experiments/pose_optimization/naive/SV100-T1}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001 => experiments/pose_optimization/naive/SV100-T1}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001 => experiments/pose_optimization/naive/SV100-T1}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001 => experiments/pose_optimization/naive/SV100-T2}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001 => experiments/pose_optimization/naive/SV100-T2}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run => experiments/pose_optimization/naive/SV100-T2}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run => experiments/pose_optimization/naive/SV100-T2}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001 => experiments/pose_optimization/naive/SV100-T2}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001 => experiments/pose_optimization/naive/SV100-T2}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001 => experiments/pose_optimization/naive/SV100-T2}/train_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001 => experiments/pose_optimization/naive/SV100-T5}/analysis_complete.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001 => experiments/pose_optimization/naive/SV100-T5}/conditioning.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run => experiments/pose_optimization/naive/SV100-T5}/config.yml (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run => experiments/pose_optimization/naive/SV100-T5}/dataparser_transforms.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001 => experiments/pose_optimization/naive/SV100-T5}/metrics.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001 => experiments/pose_optimization/naive/SV100-T5}/optimized_poses.json (100%) rename artifacts/{historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001 => experiments/pose_optimization/naive/SV100-T5}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-GT/attempt_001 => experiments/warmup/camp/SV100-GT}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-GT/attempt_001 => experiments/warmup/camp/SV100-GT}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run => experiments/warmup/camp/SV100-GT}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run => experiments/warmup/camp/SV100-GT}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-GT/attempt_001 => experiments/warmup/camp/SV100-GT}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-GT/attempt_001 => experiments/warmup/camp/SV100-GT}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-GT/attempt_001 => experiments/warmup/camp/SV100-GT}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R0.5/attempt_001 => experiments/warmup/camp/SV100-R0.5}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R0.5/attempt_001 => experiments/warmup/camp/SV100-R0.5}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run => experiments/warmup/camp/SV100-R0.5}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run => experiments/warmup/camp/SV100-R0.5}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R0.5/attempt_001 => experiments/warmup/camp/SV100-R0.5}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R0.5/attempt_001 => experiments/warmup/camp/SV100-R0.5}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R0.5/attempt_001 => experiments/warmup/camp/SV100-R0.5}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R1/attempt_001 => experiments/warmup/camp/SV100-R1}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R1/attempt_001 => experiments/warmup/camp/SV100-R1}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run => experiments/warmup/camp/SV100-R1}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run => experiments/warmup/camp/SV100-R1}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R1/attempt_001 => experiments/warmup/camp/SV100-R1}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R1/attempt_001 => experiments/warmup/camp/SV100-R1}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R1/attempt_001 => experiments/warmup/camp/SV100-R1}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R2/attempt_001 => experiments/warmup/camp/SV100-R2}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R2/attempt_001 => experiments/warmup/camp/SV100-R2}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run => experiments/warmup/camp/SV100-R2}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run => experiments/warmup/camp/SV100-R2}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R2/attempt_001 => experiments/warmup/camp/SV100-R2}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R2/attempt_001 => experiments/warmup/camp/SV100-R2}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R2/attempt_001 => experiments/warmup/camp/SV100-R2}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R5/attempt_001 => experiments/warmup/camp/SV100-R5}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R5/attempt_001 => experiments/warmup/camp/SV100-R5}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run => experiments/warmup/camp/SV100-R5}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run => experiments/warmup/camp/SV100-R5}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R5/attempt_001 => experiments/warmup/camp/SV100-R5}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R5/attempt_001 => experiments/warmup/camp/SV100-R5}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-R5/attempt_001 => experiments/warmup/camp/SV100-R5}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T0.5/attempt_001 => experiments/warmup/camp/SV100-T0.5}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T0.5/attempt_001 => experiments/warmup/camp/SV100-T0.5}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run => experiments/warmup/camp/SV100-T0.5}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run => experiments/warmup/camp/SV100-T0.5}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T0.5/attempt_001 => experiments/warmup/camp/SV100-T0.5}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T0.5/attempt_001 => experiments/warmup/camp/SV100-T0.5}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T0.5/attempt_001 => experiments/warmup/camp/SV100-T0.5}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T1/attempt_001 => experiments/warmup/camp/SV100-T1}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T1/attempt_001 => experiments/warmup/camp/SV100-T1}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run => experiments/warmup/camp/SV100-T1}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run => experiments/warmup/camp/SV100-T1}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T1/attempt_001 => experiments/warmup/camp/SV100-T1}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T1/attempt_001 => experiments/warmup/camp/SV100-T1}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T1/attempt_001 => experiments/warmup/camp/SV100-T1}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T2/attempt_001 => experiments/warmup/camp/SV100-T2}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T2/attempt_001 => experiments/warmup/camp/SV100-T2}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run => experiments/warmup/camp/SV100-T2}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run => experiments/warmup/camp/SV100-T2}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T2/attempt_001 => experiments/warmup/camp/SV100-T2}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T2/attempt_001 => experiments/warmup/camp/SV100-T2}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T2/attempt_001 => experiments/warmup/camp/SV100-T2}/train_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T5/attempt_001 => experiments/warmup/camp/SV100-T5}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T5/attempt_001 => experiments/warmup/camp/SV100-T5}/conditioning.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run => experiments/warmup/camp/SV100-T5}/config.yml (100%) rename artifacts/{warmup/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run => experiments/warmup/camp/SV100-T5}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T5/attempt_001 => experiments/warmup/camp/SV100-T5}/metrics.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T5/attempt_001 => experiments/warmup/camp/SV100-T5}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/camp/SV100-T5/attempt_001 => experiments/warmup/camp/SV100-T5}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-GT/attempt_001 => experiments/warmup/naive/SV100-GT}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-GT/attempt_001 => experiments/warmup/naive/SV100-GT}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run => experiments/warmup/naive/SV100-GT}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run => experiments/warmup/naive/SV100-GT}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-GT/attempt_001 => experiments/warmup/naive/SV100-GT}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-GT/attempt_001 => experiments/warmup/naive/SV100-GT}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-GT/attempt_001 => experiments/warmup/naive/SV100-GT}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R0.5/attempt_001 => experiments/warmup/naive/SV100-R0.5}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R0.5/attempt_001 => experiments/warmup/naive/SV100-R0.5}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run => experiments/warmup/naive/SV100-R0.5}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run => experiments/warmup/naive/SV100-R0.5}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R0.5/attempt_001 => experiments/warmup/naive/SV100-R0.5}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R0.5/attempt_001 => experiments/warmup/naive/SV100-R0.5}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R0.5/attempt_001 => experiments/warmup/naive/SV100-R0.5}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R1/attempt_001 => experiments/warmup/naive/SV100-R1}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R1/attempt_001 => experiments/warmup/naive/SV100-R1}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run => experiments/warmup/naive/SV100-R1}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run => experiments/warmup/naive/SV100-R1}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R1/attempt_001 => experiments/warmup/naive/SV100-R1}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R1/attempt_001 => experiments/warmup/naive/SV100-R1}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R1/attempt_001 => experiments/warmup/naive/SV100-R1}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R2/attempt_001 => experiments/warmup/naive/SV100-R2}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R2/attempt_001 => experiments/warmup/naive/SV100-R2}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run => experiments/warmup/naive/SV100-R2}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run => experiments/warmup/naive/SV100-R2}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R2/attempt_001 => experiments/warmup/naive/SV100-R2}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R2/attempt_001 => experiments/warmup/naive/SV100-R2}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R2/attempt_001 => experiments/warmup/naive/SV100-R2}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R5/attempt_001 => experiments/warmup/naive/SV100-R5}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R5/attempt_001 => experiments/warmup/naive/SV100-R5}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run => experiments/warmup/naive/SV100-R5}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run => experiments/warmup/naive/SV100-R5}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R5/attempt_001 => experiments/warmup/naive/SV100-R5}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R5/attempt_001 => experiments/warmup/naive/SV100-R5}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-R5/attempt_001 => experiments/warmup/naive/SV100-R5}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T0.5/attempt_001 => experiments/warmup/naive/SV100-T0.5}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T0.5/attempt_001 => experiments/warmup/naive/SV100-T0.5}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run => experiments/warmup/naive/SV100-T0.5}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run => experiments/warmup/naive/SV100-T0.5}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T0.5/attempt_001 => experiments/warmup/naive/SV100-T0.5}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T0.5/attempt_001 => experiments/warmup/naive/SV100-T0.5}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T0.5/attempt_001 => experiments/warmup/naive/SV100-T0.5}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T1/attempt_001 => experiments/warmup/naive/SV100-T1}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T1/attempt_001 => experiments/warmup/naive/SV100-T1}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run => experiments/warmup/naive/SV100-T1}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run => experiments/warmup/naive/SV100-T1}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T1/attempt_001 => experiments/warmup/naive/SV100-T1}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T1/attempt_001 => experiments/warmup/naive/SV100-T1}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T1/attempt_001 => experiments/warmup/naive/SV100-T1}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T2/attempt_001 => experiments/warmup/naive/SV100-T2}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T2/attempt_001 => experiments/warmup/naive/SV100-T2}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run => experiments/warmup/naive/SV100-T2}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run => experiments/warmup/naive/SV100-T2}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T2/attempt_001 => experiments/warmup/naive/SV100-T2}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T2/attempt_001 => experiments/warmup/naive/SV100-T2}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T2/attempt_001 => experiments/warmup/naive/SV100-T2}/train_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T5/attempt_001 => experiments/warmup/naive/SV100-T5}/analysis_complete.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T5/attempt_001 => experiments/warmup/naive/SV100-T5}/conditioning.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run => experiments/warmup/naive/SV100-T5}/config.yml (100%) rename artifacts/{warmup/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run => experiments/warmup/naive/SV100-T5}/dataparser_transforms.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T5/attempt_001 => experiments/warmup/naive/SV100-T5}/metrics.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T5/attempt_001 => experiments/warmup/naive/SV100-T5}/optimized_poses.json (100%) rename artifacts/{warmup/experiments/naive/SV100-T5/attempt_001 => experiments/warmup/naive/SV100-T5}/train_complete.json (100%) delete mode 100644 artifacts/historical/results/dataset_manifest.json delete mode 100644 artifacts/manifest.json rename artifacts/{alignment_gt_full => records/alignment_full}/manifest.json (91%) rename artifacts/{alignment_gt_full => records/alignment_full}/state.json (100%) rename artifacts/{alignment_gt_preview => records/alignment_preview}/manifest.json (91%) rename artifacts/{alignment_gt_preview => records/alignment_preview}/state.json (100%) rename artifacts/{historical/results => records/baseline}/environment.txt (100%) rename artifacts/{historical/results => records/baseline}/pipeline_state.json (100%) rename artifacts/{historical/results/poseopt_sv100 => records/pose_optimization}/environment.txt (100%) rename artifacts/{warmup => records/pose_optimization}/manifest.json (92%) rename artifacts/{historical/results/poseopt_sv100 => records/pose_optimization}/state.json (100%) rename artifacts/{ => records}/warmup/environment.txt (100%) rename artifacts/{historical/results/poseopt_sv100 => records/warmup}/manifest.json (92%) rename artifacts/{ => records}/warmup/state.json (100%) create mode 100644 scripts/analysis/analyze_warmup_results.py rename scripts/{ => analysis}/summarize_alignment.py (100%) delete mode 100644 scripts/analyze_warmup_results.py rename scripts/{ => data}/perturb_poses.py (100%) rename scripts/{ => data}/prepare_datasets.py (83%) rename scripts/{ => evaluation}/audit_pose_alignment.py (96%) rename scripts/{ => evaluation}/evaluate_alignment.py (97%) rename scripts/{ => evaluation}/run_alignment_diagnostic.sh (64%) rename scripts/{ => training}/pose_optimization_pipeline.py (97%) rename scripts/{ => training}/run_full_sv100_pipeline.sh (90%) rename scripts/{ => training}/run_pose_optimization_pipeline.sh (76%) rename scripts/{ => training}/run_warmup_experiments.sh (63%) rename scripts/{ => training}/sv100_pipeline.py (98%) delete mode 100644 scripts/verify_artifacts.py diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 7efadf2..0000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Historical snapshots retain original bytes (including CSV CRLF) for SHA-256 verification. -artifacts/** -text -whitespace diff --git a/.gitignore b/.gitignore index 230110b..45cae0a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,13 @@ __pycache__/ /logs /results /.sv100_pipeline.lock + +.venv + +# Large experiment inputs and outputs stay on the training server. +/data/ +/datasets/ +*.ckpt +*.npy +*.npz +events.out.tfevents.* diff --git a/ALIGNMENT_DIAGNOSTIC.md b/ALIGNMENT_DIAGNOSTIC.md deleted file mode 100644 index 3754fc8..0000000 --- a/ALIGNMENT_DIAGNOSTIC.md +++ /dev/null @@ -1,74 +0,0 @@ -# Evaluation alignment diagnostic - -This diagnostic reuses the final 29,999-step checkpoints; it never trains or -optimizes using test images. Current rendering scope is the GT initialization -condition, with fixed, naive, CamP-style, and both warm-up variants. A separate -CPU audit covers all 36 saved optimized pose sets. - -The existing image metrics use cameras in the original coordinate system. -Joint camera/scene optimization can drift globally. To diagnose this, fit one -proper Sim(3) transform from GT training camera centers to optimized training -camera centers, minimizing center squared error with an SVD similarity fit: - -`c_reconstruction = s Q c_GT + b`, `R_reconstruction = Q R_GT`. - -The transform is fitted directly in this direction. It is not obtained by -inverting the reverse least-squares fit, which can differ slightly when local -pose residuals remain. All held-out cameras receive the same transform. Their -intrinsics are unchanged. Parser-transformed GT poses are used and camera/frame -ordering is checked. Near/far distances are scaled by s. The installed collider -resets inference near to zero, which stays zero after scaling. No network or -density rescaling is applied: the frozen network already represents its own -reconstruction coordinate system. - -This is a diagnostic center-fit alignment, not an optimal photometric alignment. -Local position/orientation errors may remain; changes in image metrics do not -identify their cause or provide an additive decomposition of reconstruction error. - -## Runs - -```bash -bash scripts/run_alignment_diagnostic.sh --output results/alignment_gt_preview -bash scripts/run_alignment_diagnostic.sh --output results/alignment_gt_full --full -python scripts/audit_pose_alignment.py -``` - -Preview: test indices 0,10,...,190, 200x200 resolution. Both original and aligned -cameras are rendered from scratch. Do not compare these numbers directly to the -historical 800x800 metrics. The same fixed indices are chosen before observing -metrics. They are a diagnostic subset, not a replacement benchmark. - -Full: all 200 test images at 800x800. Raw metrics reuse the recorded original -full-set evaluation for the identical checkpoint. Aligned metrics are rendered -anew using the existing model metric implementation. The fixed GT control must -reproduce original metrics within 0.01 dB PSNR / 0.0001 SSIM and LPIPS, otherwise -the job fails rather than presenting an unvalidated comparison. - -Each run writes per-method alignment.json, result.json, progress.jsonl and images -for fixed test indices 0,50,100, plus summary.csv, report.md and state.json. -Preview also generates paired comparison panels. The manifest records source -paths and diagnostic code hashes; checkpoint paths/steps are checked at load. -Rerun the same command to skip completed methods. Source artifacts are read-only. - -Geometry tests recover a known similarity, check projection invariance, reject -degenerate centers, and verify identity fitting. The paired fixed-GT preview -checks end-to-end identity rendering. Current evidence remains single-scene, -single-training-seed evidence, with no claims of cross-seed stability. - -After a run completes, generate the interpretation and chart with: - -```bash -python scripts/summarize_alignment.py results/alignment_gt_preview -python scripts/summarize_alignment.py results/alignment_gt_full -``` - -`results/alignment_pose_audit/source_fingerprints.json` records SHA-256 hashes -of the five source checkpoints, configs and historical metrics, GT train/test -metadata, model code, plus package versions. The camera rotation residual uses -the usual trace-based angle on stored float32 matrices; it has a small numerical -floor even for the identity control, so it should not be interpreted below that -precision. Image metrics for the identity control are checked separately. - -## Completed evidence - -Both preview and full GT runs completed successfully. Published [full results](artifacts/alignment_gt_full/report.md), [findings](artifacts/alignment_gt_full/findings.md), and [36-pose audit](artifacts/alignment_pose_audit/summary.csv) are available without local checkpoints. Fresh-machine setup: [REPRODUCING.md](REPRODUCING.md). diff --git a/DATA_FLOW.md b/DATA_FLOW.md deleted file mode 100644 index 065bece..0000000 --- a/DATA_FLOW.md +++ /dev/null @@ -1,37 +0,0 @@ -# 数据与产物流 - -## 输入 - -`POSEGUARD_DATA` 指向 NeRF-Synthetic 根目录,默认是仓库同级 `data/nerf_synthetic`。Lego 含 100 个训练、100 个验证、200 个测试视角。`transforms_*.json` 指定图片与 camera-to-world 外参,`camera_angle_x` 指定水平视场角。 - -`prepare_datasets.py` 调用 `perturb_poses.py` 生成八种噪声数据:T0.5/1/2/5%、R0.5/1/2/5°。只改变训练外参,图片通过软链接复用;保存 GT 副本与噪声元数据。平移比例以训练相机到轨迹中心的平均半径为基准。 - -本机另存的稀疏视角输入供后续项目使用,不参与这里的 45 次训练。 - -## 训练与评估 - -图片与相机 → Blender parser → 初始 rays → Fixed 或 SO3×R3 相机修正 → coarse/fine NeRF → RGB MSE → 更新参数。 - -9 次 Fixed + 18 次无 warm-up 联合优化 + 18 次 warm-up 联合优化,共 45 次训练。Warm-up 不重复 Fixed。全部为 Lego、seed 42、30,000 步,checkpoint 从零计数至 29,999。 - -训练过程抽样验证像素用于监测,最终图像指标用全部测试图像。主训练流水线保留原始测试坐标;独立对齐诊断用训练相机中心拟合 GT→重建坐标的 Sim(3),统一变换测试相机和采样距离,不使用测试图像拟合。 - -位姿审计覆盖 36 组优化结果;对齐渲染仅覆盖 GT 的五种设置。位姿平移百分比按 GT 相机到世界原点的平均距离归一化,与噪声标签的轨迹中心半径不同。 - -## 运行产物与发布档案 - -| 路径 | 用途 | Git | -|---|---|---| -| `outputs/` | Fixed 配置、checkpoint、TensorBoard | 忽略 | -| `logs/` | 运行日志 | 忽略 | -| `results/poseopt_sv100/` | 无 warm-up 训练、指标和报告 | 忽略 | -| `results/poseopt_sv100_warmup2500/` | warm-up 训练与配对分析 | 忽略 | -| `results/alignment_gt_{preview,full}/` | 两种分辨率的对齐渲染与报告 | 忽略 | -| `results/alignment_pose_audit/` | 位姿审计 | 忽略 | -| `artifacts/` | 上述产物的小型发布快照 | 纳入 | - -每个训练 attempt 包含配置、权重、优化位姿、图像指标、每 1000 步诊断、完成标记和日志。状态与 manifest 记录阶段、来源、输入和代码指纹。恢复规则见 [POSE_OPTIMIZATION.md](POSE_OPTIMIZATION.md)。 - -本机部分原始产物已迁到 `/root/autodl-tmp/poseguard-nerf`,工作区用软链接访问。发布档案使用普通文件,不依赖该数据盘;原实验未移动或改写。原已跟踪的运行记录归档到 `artifacts/historical/`,运行目录从 Git 索引移除,但磁盘数据保留。 - -[档案清单与说明](artifacts/README.md) · [新机器复现](REPRODUCING.md) · [最终项目结论](README.md) diff --git a/METHODS.md b/METHODS.md deleted file mode 100644 index 5625f73..0000000 --- a/METHODS.md +++ /dev/null @@ -1,246 +0,0 @@ -# Methods: Naive and CamP-style Pose Optimization - -本文第 1–5 节描述首轮无 warm-up 实验的方法。后续 warm-up 只改变相机学习率日程,见 [WARMUP_EXPERIMENTS.md](WARMUP_EXPERIMENTS.md);测试渲染对齐协议见 [ALIGNMENT_DIAGNOSTIC.md](ALIGNMENT_DIAGNOSTIC.md)。两种方法共享 Nerfstudio 1.1.5 的 vanilla-NeRF、六维位姿参数化和图像重建损失;核心差异是每台相机的固定预条件矩阵。 - -本仓库实现的是受 [CamP: Camera Preconditioning for Neural Radiance Fields](https://arxiv.org/abs/2308.10902) 启发的外参优化实验。名称使用 **CamP-style**,以区分本实现和官方完整实验设置。 - -## 1. 共享问题与坐标约定 - -训练输入为图片 $I_i$、固定内参 $K_i$ 和初始 camera-to-world 外参 $T_i^0=[R_i^0\mid t_i^0]$。场景参数记为 $\theta$,训练相机数为 $M$。 - -每台相机的物理修正为六维列向量: - -$$ -\delta_i=\begin{bmatrix}\Delta t_i\\\omega_i\end{bmatrix}\in\mathbb R^6. -$$ - -前三维是世界坐标中的平移修正,后三维是世界坐标中的 axis-angle 旋转修正,角度单位为弧度。相机更新为: - -$$ -R_i=\operatorname{Exp}([\omega_i]_\times)R_i^0, -\qquad t_i=t_i^0+\Delta t_i. -$$ - -这是 SO(3) × R³ 更新:旋转修正左乘初始朝向,平移独立叠加到初始相机位置。旋转映射复用 Nerfstudio 的 `exp_map_SO3xR3`。内参保持固定。 - -对由初始相机生成的训练 ray $(o_{ij}^0,d_{ij}^0)$,更新为: - -$$ -o_{ij}=o_{ij}^0+\Delta t_i, -\qquad d_{ij}=\operatorname{Exp}([\omega_i]_\times)d_{ij}^0. -$$ - -更新发生在 NeRF 沿 ray 采样之前,仅在模型的训练分支应用。两种方法从相同场景初始化、相同训练数据和零位姿修正开始。 - -## 2. Naive joint optimization - -每台相机直接学习 $z_i\in\mathbb R^6$,定义: - -$$ -P_i=I_6,\qquad \delta_i=P_i z_i=z_i,\qquad z_i^0=0. -$$ - -对训练 batch $\mathcal B$,由当前场景和修正相机渲染 coarse/fine RGB,并联合优化 $\theta$ 和所有 $z_i$: - -$$ -\min_{\theta,\{z_i\}}\mathcal L_{\mathrm{RGB}}, -$$ - -$$ -\mathcal L_{\mathrm{RGB}}= -\frac{1}{3|\mathcal B|} -\sum_{(i,j)\in\mathcal B} -\left( -\|\hat C^{\mathrm{coarse}}_{ij}-C_{ij}\|_2^2+ -\|\hat C^{\mathrm{fine}}_{ij}-C_{ij}\|_2^2 -\right). -$$ - -RGB 使用 Nerfstudio 的白色背景合成规则;coarse/fine 两项的权重均为 1。位姿没有额外监督损失或正则项,所有训练相机都可更新,没有固定锚点相机。 - -```text -initial training rays - → delta_i = z_i - → corrected rays - → coarse/fine NeRF rendering - → RGB reconstruction loss - → update scene theta and camera z_i -``` - -这里的 naive 是本仓库的无正则 SO3×R3 联合优化设置。Nerfstudio 原生提供 `CameraOptimizer`,nerfacto 已接入该组件;本仓库给 vanilla-NeRF 增加接入,并自行持有六维参数。现有实验不能直接代表采用原生默认正则的 nerfacto 相机优化效果。 - -## 3. CamP-style joint optimization - -CamP-style 保留上述相机更新、场景模型、损失和优化器,改为学习 latent $z_i$: - -$$ -\delta_i=P_i z_i,\qquad z_i^0=0. -$$ - -$P_i\in\mathbb R^{6\times6}$ 是每台相机独立的、初始化时计算并固定的完整矩阵。 - -### 3.1 代理空间点 - -每台相机在初始视锥中采样 $N=4096$ 个点。像素坐标均匀采样: - -$$ -u\sim\mathcal U(0,W_i),\quad v\sim\mathcal U(0,H_i). -$$ - -采用 OpenGL 相机坐标约定,前方为负 z。初始单位方向为: - -$$ -a=\operatorname{normalize}\left( -\begin{bmatrix}(u-c_{x,i})/f_{x,i}\\-(v-c_{y,i})/f_{y,i}\\-1\end{bmatrix} -\right). -$$ - -沿单位 ray 的距离 $s\sim\mathcal U(2,6)$,生成世界坐标点: - -$$ -X_{i\ell}=R_i^0(sa)+t_i^0. -$$ - -因此采样的是沿 ray 的距离,而非相机 z 轴深度。范围与本次 vanilla-NeRF 的 near/far 配置一致。采样采用 seed=42 的隔离 CPU generator,按相机顺序依次取样,不消耗场景训练的 RNG。生成后,这些世界点在求 Jacobian 时视为常量。 - -### 3.2 投影 Jacobian - -对固定世界点 $X$,当前相机坐标为: - -$$ -q_i(\delta_i)=R_i(\delta_i)^\top[X-t_i(\delta_i)]. -$$ - -投影代理输出使用归一化、去中心的像素坐标: - -$$ -\pi_i(X;\delta_i)= -\begin{bmatrix} -(f_{x,i}/W_i)q_x/(-q_z)\\ --(f_{y,i}/H_i)q_y/(-q_z) -\end{bmatrix} -=\begin{bmatrix}(u-c_{x,i})/W_i\\(v-c_{y,i})/H_i\end{bmatrix}. -$$ - -在 $\delta_i=0$ 处,拼接所有点的解析导数: - -$$ -J_i=\left. -\frac{\partial[\pi_i(X_{i1});\ldots;\pi_i(X_{iN})]}{\partial\delta_i} -\right|_{\delta_i=0} -\in\mathbb R^{2N\times6}. -$$ - -代码中的三维中间导数为: - -$$ -\left.\frac{\partial q_i}{\partial\delta_i}\right|_0 -=\left[-(R_i^0)^\top\;\middle|\;(R_i^0)^\top[X-t_i^0]_\times\right]. -$$ - -`projection_jacobian()` 实现该解析 Jacobian;测试使用有限差分核对坐标、符号和参数顺序。 - -### 3.3 带阻尼的 ZCA 变换 - -构造按点数平均的投影敏感度矩阵: - -$$ -\Sigma_i=\frac{1}{N}J_i^\top J_i. -$$ - -保留全部非对角项,用于表示旋转和平移参数影响之间的相关性。加入阻尼: - -$$ -A_i=\Sigma_i+0.1\operatorname{diag}(\Sigma_i)+10^{-8}I_6, -$$ - -其中 $\operatorname{diag}(\Sigma_i)$ 表示只保留原矩阵对角元素的对角矩阵。对称特征分解 $A_i=Q_i\Lambda_iQ_i^\top$ 后: - -$$ -P_i=A_i^{-1/2}=Q_i\Lambda_i^{-1/2}Q_i^\top. -$$ - -矩阵计算使用 CPU float64,完成后转为 float32,作为模型 buffer 保存到 checkpoint。训练过程中保持固定。 - -论文中的 inverse preconditioner 在本仓库代码里命名为 `pose_preconditioner`,本文用 $P_i$ 表示。该实现按点数平均并使用上述归一化投影,矩阵的绝对尺度由这些约定决定。 - -没有阻尼且矩阵满秩时,理想变换满足 $P_i^\top\Sigma_i P_i=I$;实际带阻尼实现提供近似的尺度归一化和去相关。它基于投影代理问题,不保证真实 NeRF 损失收敛或测试指标改善。 - -### 3.4 联合训练 - -每次前向计算通过 $\delta_i=P_i z_i$ 修正 rays,使用与 naive 相同的 RGB 损失更新 $\theta$ 和 $z_i$。反向传播自然给出: - -$$ -\nabla_{z_i}\mathcal L=P_i^\top\nabla_{\delta_i}\mathcal L. -$$ - -Adam 作用于 latent $z_i$。这改变了 Adam 所处的参数空间;相同的 latent 学习率不意味着两种方法有相同的物理位姿步长。 - -```text -initial cameras - → sample proxy points - → projection Jacobian J_i - → damped sensitivity matrix A_i - → fixed P_i = A_i^(-1/2) - -each training iteration: - z_i → delta_i = P_i z_i → corrected rays → RGB loss - → update scene theta and latent z_i -``` - -## 4. 共享训练设置 - -| 设置 | 正式实验取值 | -|---|---| -| 场景模型 | Nerfstudio 1.1.5 vanilla-NeRF,coarse/fine 两个 field | -| 初始场景与相机修正 | 从头初始化;修正为零 | -| 场景优化器 | RAdam,lr=5e-4,eps=1e-8,无学习率调度 | -| 相机优化器 | Adam,初始 lr=1e-3,eps=1e-8 | -| 相机学习率 | 在 30000 步内指数衰减到 1e-4,warmup_steps=0 | -| 训练 ray batch | 1024 | -| Coarse samples | 64 | -| Importance samples 参数 | 128 | -| Near / far | 2 / 6 | -| 背景 / 数据尺度 | 白色 / Blender scale_factor=1 | -| Mixed precision | 关闭 | -| 随机种子 / 训练步数 | 42 / 30000 | -| 位姿正则、GT 位姿监督、固定锚点 | 均未启用 | -| 频率 coarse-to-fine 调度、内参优化 | 均未启用 | - -相机学习率的名义调度为 $\eta(k)=10^{-3}(10^{-1})^{\min(k/30000,1)}$。两种方法采用相同 latent Adam 设置,CamP-style 的物理步长还受到 $P_i$ 影响。 - -## 5. 数据与评估 - -使用 NeRF-Synthetic Lego:训练 100 帧、验证 100 帧、测试 200 帧。9 个条件为 GT、T0.5/1/2/5%、R0.5/1/2/5°;图片与内参不变,仅扰动训练外参。平移比例以生成元数据记录的轨迹中心平均半径为基准,旋转幅度单位为度。 - -正确训练位姿在模型与预条件构建后才读取,用于诊断。验证、测试使用原始正确相机,不应用训练修正表,也不进一步优化测试相机。 - -最终图像评估报告 `fine_psnr`、`fine_ssim`、`fine_lpips`。相机诊断报告原坐标误差,以及用训练相机中心估计 Umeyama Sim(3) 后的对齐误差;该变换只用于位姿诊断,不调整测试相机或场景模型。 - -`translation_radius_pct_mean` 按 GT 相机到世界原点的平均距离归一化,和噪声标签采用的轨迹中心半径不同。训练曲线中的验证 PSNR 来自采样 batch,最终指标来自完整测试集。 - -## 6. 已完成结果与解释边界 - -27 项正式运行已完成,包括 9 项 fixed 基线和 18 项位姿优化。CamP-style 在 6/9 个条件下的测试 PSNR 高于 naive;T5% 和 R2° 有明显改善,GT、T0.5% 等条件出现退化。GT 条件的测试 PSNR 为 fixed 27.12、naive 17.91、CamP-style 19.90 dB。 - -这些结果属于单场景、单种子、无位姿约束的联合优化实验。首轮测试图像没有做坐标系对齐。后续已完成 18 次 warm-up 训练及 GT 条件的完整渲染对齐诊断,确认原坐标指标对全局漂移敏感;残余差距不能单凭此实验归因。最新结果见 README。不能据此判断官方 CamP 或原生 nerfacto 的效果。 - -结果与数据流: - -- [27 项指标汇总](artifacts/historical/results/poseopt_sv100/summary.csv) -- [完整分析报告](artifacts/historical/results/poseopt_sv100/report.md.txt) -- [数据流与产物说明](DATA_FLOW.md) -- [运行与恢复说明](POSE_OPTIMIZATION.md) - -## 7. 实现位置 - -| 代码 | 对应方法步骤 | -|---|---| -| [`poseguard/geometry.py`](poseguard/geometry.py) | 位姿更新、代理投影、解析 Jacobian、矩阵预条件、Sim(3) 诊断 | -| [`poseguard/methods.py`](poseguard/methods.py) | 参数注册、训练 ray 更新、naive/CamP 方法配置 | -| [`poseguard/worker.py`](poseguard/worker.py) | 随机种子、训练、恢复、诊断与位姿/渲染导出 | -| [`tests/test_poseguard.py`](tests/test_poseguard.py) | 几何、有限差分、梯度、评估隔离、buffer 保存恢复 | - -## Reference - -Keunhong Park, Philipp Henzler, Ben Mildenhall, Jonathan T. Barron, and Ricardo Martin-Brualla. **CamP: Camera Preconditioning for Neural Radiance Fields.** SIGGRAPH Asia 2023. [Paper](https://arxiv.org/abs/2308.10902) · [Project](https://camp-nerf.github.io/). diff --git a/POSE_OPTIMIZATION.md b/POSE_OPTIMIZATION.md deleted file mode 100644 index c8e2eca..0000000 --- a/POSE_OPTIMIZATION.md +++ /dev/null @@ -1,92 +0,0 @@ -# PoseGuard:独立串行位姿优化实验 - -入口:`scripts/run_pose_optimization_pipeline.sh`。运行依赖已激活的兼容 Python 环境、Nerfstudio 1.1.5 和 CUDA;新机器准备见 [REPRODUCING.md](REPRODUCING.md);不需要 Codex 持续在线。 - -## 正式运行 - -```bash -cd /path/to/poseguard-nerf -bash scripts/run_pose_optimization_pipeline.sh --preflight -bash scripts/run_pose_optimization_pipeline.sh --dry-run - -tmux new-session -d -s poseopt \ - 'cd /path/to/poseguard-nerf && bash scripts/run_pose_optimization_pipeline.sh' -tmux attach -t poseopt -``` - -按 `Ctrl-b` 再按 `d` 离开 tmux,任务继续运行。默认先执行 naive 的 GT、T0.5/1/2/5%、R0.5/1/2/5°,生成 naive 失败分析,再执行相同顺序的 CamP-style,最后生成三方法对比。共 18 次独立训练,每次 30000 步。固定相机的 9 项历史结果只读复用,全部新产物写入 `results/poseopt_sv100/`。历史单项耗时约 3 小时,完整实验约两天。 - -入口共享旧 SV100 流水线的文件锁,同一时刻只能有一个入口运行。另有 `ns-train` 正在运行时,预检查会停止。不要直接调用 Python 编排器绕过 shell 的锁。 - -查看进度: - -```bash -cat results/poseopt_sv100/state.json -tail -f results/poseopt_sv100/pipeline.log -# 当前训练的详细进度与相机诊断: -tail -f results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/train.log -``` - -`pipeline.log` 记录阶段、命令和错误;训练/评估的完整输出在每个 attempt 下。训练过程还写 TensorBoard events;可在单独终端运行 `tensorboard --logdir results/poseopt_sv100/experiments`。 - -## 停止、恢复和失败补跑 - -在 tmux 内按 `Ctrl-c` 可停止编排器及当前 worker,状态记为 `INTERRUPTED`。终端断开无需恢复;机器重启或进程停止后需要重启入口。以下命令在旧会话结束后运行: - -```bash -tmux new-session -d -s poseopt-resume \ - 'cd /path/to/poseguard-nerf && bash scripts/run_pose_optimization_pipeline.sh --resume --retry-failed' -``` - -- `--resume` 校验代码、配置、数据、基线和关键依赖的指纹,跳过已验证的成功项,恢复中断项。已明确失败的项保留失败状态。 -- `--resume --retry-failed` 还会补跑失败项。训练失败从最高有效 checkpoint 创建新 attempt;评估/分析失败则复用完整训练 checkpoint,重试对应阶段。 -- checkpoint 恢复包括 NeRF、相机 latent、固定预条件矩阵、优化器和调度器。编排器修正 Nerfstudio 1.1.5 的追加步数行为,使最终 checkpoint 为 `step-000029999.ckpt`。 -- 没有有效 checkpoint 的训练重新开始;旧 attempt、日志及失败堆栈保留。单项失败不会阻止后续独立实验;整个任务存在失败项时退出码为 1,全部成功为 0。 -- 中断后随机采样序列会重新播种,Nerfstudio 原生 checkpoint 不保存完整 RNG 状态;恢复保证参数和总训练步数,不保证与不间断训练逐位一致。 -- 正式运行中修改代码或参数后,应选择新的 `--run-dir`,避免把不同实现混入同一次实验。 - -## 输出与分析 - -- `manifest.json`、`environment.txt`:输入和代码指纹、环境记录。 -- `state.json`:当前状态、每项阶段、所有 attempt、配置和 checkpoint 路径。 -- `summary.csv`、`report.md`:fixed/naive/CamP-style 的图像指标、原坐标和 Sim(3) 对齐后的位姿误差、失败记录。 -- `naive_failure_analysis.md`:进入 CamP 阶段前的 naive 阶段报告。 -- `figures/`:损失、验证 PSNR、位姿误差、梯度和更新幅度曲线,以及测试视角 0/50/100 的 RGB/depth/accumulation 拼图。 -- `experiments///attempt_NNN/`:独立日志、完整模型配置、checkpoint、`metrics.json`、`diagnostics.jsonl`、`optimized_poses.json`、`conditioning.json` 和测试渲染。 - -验证曲线使用抽样像素 batch 的 fine PSNR,因此会有采样噪声;最终 `ns-eval` 使用完整 test split 的 `fine_psnr/fine_ssim/fine_lpips`。梯度范数属于 latent 相机参数,两方法的参数空间不同;物理位姿更新幅度可用于辅助比较。depth 拼图统一以 near=2、far=6 映射灰度;原始 float 数组同时保存为 `.npy`。 - -本训练流水线的图像评估使用原始验证/测试相机,Sim(3) 仅用于位姿诊断。后续独立的 [对齐评估入口](ALIGNMENT_DIAGNOSTIC.md) 另行变换测试相机并输出对齐图像指标。原坐标误差反映绝对恢复与全局漂移,对齐误差辅助识别相对位姿是否改善。自动分析标记退化、停滞、振荡及图像/位姿指标不一致;原因解释只是待验证假设。单种子实验不提供统计显著性保证。 - -## 方法定义 - -项目内扩展通过 `NERFSTUDIO_METHOD_CONFIGS` 注册 `poseguard-naive`、`poseguard-camp`,不修改安装的 Nerfstudio。两方法从相同场景网络初始化、相同扰动数据和零相机修正开始。场景优化仍为 stock vanilla-NeRF 的 RAdam(lr=5e-4),采样、网络与背景保持原配置;诊断采样保存并恢复 RNG,避免额外影响训练随机流。 - -每个训练相机学习六维 world-frame `SO3 × R3` 修正,前三维为平移,后三维为 axis-angle: - -```text -R' = Exp(ω) R - t' = t + Δt -``` - -训练时在场景采样前更新 ray origin 与 direction,验证/测试不应用相机表。两方法的相机优化器均为 Adam(lr 从 1e-3 指数衰减至 1e-4),从第零步开始优化;默认无 warm-up;`--camera-warmup-steps` 可启用相机学习率渐增。无位姿正则、频率调度或内参优化。GT 只在模型和预条件构建完成后用于诊断。 - -CamP-style 使用投影代理问题的完整六维 ZCA 白化,参考 [CamP 论文第 5 节](https://arxiv.org/html/2308.10902v2): - -```text -Σ = JᵀJ / N -P = (Σ + 0.1 diag(Σ) + 1e-8 I)^(-1/2) -δ = P z -``` - -每台相机在初始视锥中采样 4096 个点,像素均匀采样,归一化 ray distance 在 [2,6] 上均匀采样;投影输出为 `(u-cx)/width, (v-cy)/height`,使用 OpenGL 坐标轴。解析 Jacobian 在初始位姿处计算,float64 求解矩阵后转 float32,固定存为 checkpoint buffer。采样使用隔离的 seed=42 RNG。与原论文使用 Zip-NeRF、更多相机参数和其深度采样分布不同,本实现是控制变量的核心机制实验,不是官方完整复现。 - -## 快速验证 - -```bash -PYTHONPATH=. python -m unittest discover -s tests -v -bash scripts/run_pose_optimization_pipeline.sh \ - --smoke --run-dir results/poseopt_smoke_new --steps 4 --interval 2 --cases SV100-R1 -``` - -smoke 降低分辨率、ray batch、场景采样数量和代理点数,仅用于检查端到端链路,结果不能与正式实验比较。smoke 与正式 run-dir 强制隔离。自定义实验可用 `--cases`、`--steps`、`--interval`、`--run-dir`;恢复时必须使用同一组参数。 diff --git a/PROJECT_SUMMARY.md b/PROJECT_SUMMARY.md deleted file mode 100644 index fb5880b..0000000 --- a/PROJECT_SUMMARY.md +++ /dev/null @@ -1,35 +0,0 @@ -# 项目总结与求职展示 - -## 当前阶段 - -截至 2026-10-13,45 次正式训练及 GT 完整对齐诊断已完成;项目进入发布整理阶段。范围固定为 Lego、SV100、seed 42。不追加重复实验,不声称跨种子稳定性。 - -研究闭环:位姿扰动敏感性 → Naive/CamP-style 联合优化 → warm-up 单因素日程对照 → 发现原坐标评估混入全局漂移 → 用训练相机拟合 Sim(3) 进行诊断。 - -实现包含 SO3×R3 相机修正、投影 Jacobian 预条件、串行 GPU worker、指纹检查与 checkpoint 恢复、图像/位姿/收敛诊断、可追溯的发布档案。 - -## 简历版本 - -**PoseGuard-NeRF|相机位姿优化与神经渲染诊断|Python / PyTorch / Nerfstudio** - -- 基于 vanilla-NeRF 实现六维相机联合优化与 CamP-style 投影预条件,在 Lego 的 9 种位姿条件下完成 45 次受控训练,构建自动串行执行、断点恢复和指标分析流程。 -- 引入 2500 步相机学习率 warm-up;在单场景、单种子配对实验中,Naive 的 9 个条件均改善,条件平均测试 PSNR 提升 4.28 dB。 -- 实现仅基于训练相机的 Sim(3) 测试坐标对齐诊断;GT 条件下 CamP-style PSNR 从 19.90 提升至 26.04 dB,揭示全局坐标漂移对评估的影响,避免将全部退化归因为重建失败。 - -这里的对齐收益来自评估坐标调整,并非新增训练方法带来的提升。最终简历请按自己能够解释、复现和维护的工作范围表述。 - -## 面试讲述顺序 - -1. **问题**:错误相机使跨视角射线不一致,联合优化能否恢复? -2. **控制变量**:相同数据划分、场景网络、训练预算;仅改变相机处理和学习率日程。 -3. **实现**:Naive 直接优化物理修正;CamP-style 在投影代理问题的预条件空间优化。 -4. **反例**:正确位姿也出现明显原坐标 PSNR 下降;预条件并非所有条件都更优。 -5. **改动**:warm-up 改善 Naive,但其完整日程也改变了后期学习率,不能过度归因。 -6. **诊断**:相机和场景存在全局坐标自由度;训练相机拟合的对齐恢复了部分性能,残余差距尚未因果定位。 -7. **边界**:单场景、单种子;CamP 核心机制的受控实现;完整渲染对齐只覆盖 GT。 - -## 发布状态 - -本地发布资料包括首页、方法、复现指南、结果档案及测试。发布目标为 [chu-jiaming/PoseGuard-NeRF](https://github.com/chu-jiaming/PoseGuard-NeRF)。本仓库尚未选择开源许可证;公开展示与授予开源使用权限是不同事项。 - -本阶段以普通新提交保留,历史实验记录归档到 `artifacts/`;不重写旧历史。后续若继续研究,可补噪声条件对齐;若推进第二项目,可从已有稀疏视角数据建立基线。 diff --git a/README.md b/README.md index 55dbce5..ce9479a 100644 --- a/README.md +++ b/README.md @@ -1,104 +1,161 @@ -# PoseGuard-NeRF - -**相机位姿误差如何影响 NeRF?学习率 warm-up 能改善联合优化吗?评估坐标系又会怎样改变结论?** - -基于 Nerfstudio 1.1.5 vanilla-NeRF 的受控实验项目,实现 Naive 与 CamP-style 相机位姿优化,完成扰动敏感性、学习率 warm-up 对照及全局坐标漂移诊断。 - -Lego 单场景 · 100 训练视角 · seed 42 · 每次 30,000 步 · **45 次训练**(9 fixed + 18 无 warm-up + 18 warm-up)。这是单场景案例研究,未进行跨种子显著性检验。CamP-style 是外参预条件机制的受控实现,区别于官方完整 CamP 设置。 - -## 主要发现 - -- **固定相机对位姿误差敏感**:GT 为 27.12 dB,T5% 为 14.14 dB,R5° 为 12.01 dB。 -- **相机学习率 warm-up 改善多数条件**:Naive 在 9/9 条件的 PSNR、SSIM、LPIPS 均改善,条件平均 PSNR +4.28 dB;CamP-style 为 8/9,平均 +1.63 dB,T5% 是反例。 -- **原坐标测试指标受到全局漂移影响**:GT 条件下,保持模型冻结、用训练相机中心拟合 Sim(3) 后,Naive 从 17.91 提升至 23.39 dB,CamP-style 从 19.90 提升至 26.04 dB。 -- **warm-up 的收益需要结合评估协议解释**:GT 对齐后 Naive 仍提升 3.03 dB;CamP-style 变化为 −0.06 dB。对齐后残余差距的具体成因尚未确定。 - -![Warm-up 配对结果](artifacts/warmup/quality_comparison.png) - -## 实验设计与结果 - -只扰动训练外参,图像、内参、验证和测试划分保持不变。9 个条件包括 GT、平移 T0.5/1/2/5%、旋转 R0.5/1/2/5°。所有方法共享 coarse/fine RGB MSE,无 GT 位姿监督、位姿正则或固定锚点。 - -| 方法 | 位姿参数 | 相机学习率日程 | -|---|---|---| -| Fixed | 固定输入相机 | 不更新 | -| Naive | 直接学习六维 SO3×R3 修正 | 1e-3 → 1e-4 | -| CamP-style | 固定投影 Jacobian 预条件矩阵 × 六维 latent | 同上 | -| 两种 warm-up 变体 | 分别沿用对应参数化 | 前 2500 步从 1e-8 渐增至 1e-3,再衰减 | - -warm-up 从第一步更新相机,并非先冻结后启动;后期衰减日程也随之改变。因此实验检验的是整个学习率日程,未单独隔离早期阶段的因果作用。 - -原坐标下,200 张 800×800 测试图的 PSNR(dB): - -| 条件 | Fixed | Naive | CamP-style | Naive + warm-up | CamP-style + warm-up | -|---|---:|---:|---:|---:|---:| -| GT | 27.12 | 17.91 | 19.90 | 22.71 | 21.08 | -| T0.5% | 23.16 | 17.72 | 16.11 | 21.73 | 20.58 | -| T1% | 20.35 | 15.90 | 16.83 | 23.83 | 20.54 | -| T2% | 17.41 | 16.84 | 19.01 | 20.14 | 19.79 | -| T5% | 14.14 | 17.53 | 19.72 | 22.68 | 18.73 | -| R0.5° | 20.09 | 20.56 | 18.26 | 23.22 | 20.35 | -| R1° | 17.11 | 15.53 | 16.70 | 21.87 | 18.38 | -| R2° | 14.81 | 16.14 | 19.15 | 19.61 | 19.70 | -| R5° | 12.01 | 17.47 | 15.08 | 18.33 | 16.25 | - -[原始指标](artifacts/historical/results/poseopt_sv100/summary.csv) · [Warm-up 指标](artifacts/warmup/summary.csv) · [逐条件配对差值](artifacts/warmup/paired_metrics.csv) - -## 评估诊断:坐标漂移与残余差距 - -联合优化可使相机和场景一起改变坐标系。我们仅用训练相机中心拟合一个从 GT 到重建坐标的 Sim(3),统一变换测试相机位置与朝向,并缩放采样距离。不使用测试图像拟合、不更新网络。 - -| GT 条件 | 原坐标 PSNR | 对齐后 PSNR | 对齐后与 Fixed 差值 | -|---|---:|---:|---:| -| Fixed | 27.12 | 27.12 | 0.00 | -| Naive | 17.91 | 23.39 | −3.73 | -| CamP-style | 19.90 | 26.04 | −1.08 | -| Naive + warm-up | 22.71 | 26.42 | −0.70 | -| CamP-style + warm-up | 21.08 | 25.98 | −1.14 | - -完整诊断使用全部 200 张 800×800 测试图,Fixed 恒等对齐控制通过。另有 20 张 200×200 的成对预览,不能混用两种分辨率的数字。 - -![GT 完整测试集对齐诊断](artifacts/alignment_gt_full/metrics_comparison.png) - -下面是测试视角 0 的预览对比;仅用于定性展示: - -![原坐标与对齐后预览](artifacts/alignment_gt_preview/comparison_000.png) - -[完整诊断结论](artifacts/alignment_gt_full/findings.md) · [评估协议](ALIGNMENT_DIAGNOSTIC.md) - -**解释边界:** 全条件位姿审计覆盖 36 组优化结果,渲染对齐仅覆盖 GT 的五种设置。中心拟合不保证朝向或图像误差最优;PSNR 差值不能严格分解各原因的误差占比。本项目不宣称官方 CamP 的效果、跨场景/跨种子稳定性或 SOTA。 - -## 查看与复现 - -阅读本仓库的表格与图片不需要 GPU 或原始数据。发布档案位于 [artifacts/](artifacts/README.md),包含小型记录、精选图及 SHA-256 清单;不包含原始数据、模型权重、TensorBoard 或完整渲染数组。 - -重新训练需要 Linux、CUDA GPU、NeRF-Synthetic Lego 数据和兼容环境。环境、数据准备、执行顺序见 [REPRODUCING.md](REPRODUCING.md)。在已配置环境中: - -```bash -export POSEGUARD_DATA=/absolute/path/to/nerf_synthetic -PYTHONPATH=. python -m unittest discover -s tests -v -# 已完成 Fixed 基线后检查位姿流水线: -bash scripts/run_pose_optimization_pipeline.sh --preflight -bash scripts/run_pose_optimization_pipeline.sh --dry-run -``` - -本次整理的检查与限制见 [VALIDATION.md](VALIDATION.md)。 - -脚本使用当前激活的 Python 环境。新运行会记录自己的配置和指纹;发布档案中的原工作区绝对路径仅用于历史追溯,不能当作新机器上的恢复入口。 - -## 仓库导航 - -| 路径 | 内容 | -|---|---| -| [METHODS.md](METHODS.md) | 参数化、代理 Jacobian、预条件和训练定义 | -| [WARMUP_EXPERIMENTS.md](WARMUP_EXPERIMENTS.md) | Warm-up 日程、运行与恢复 | -| [DATA_FLOW.md](DATA_FLOW.md) | 输入、训练、评估、发布档案的数据流 | -| [POSE_OPTIMIZATION.md](POSE_OPTIMIZATION.md) | 串行编排、checkpoint 恢复和故障处理 | -| [PROJECT_SUMMARY.md](PROJECT_SUMMARY.md) | 阶段总结、简历描述和面试讲述 | -| `poseguard/`、`scripts/`、`tests/` | 模型、实验与诊断入口、几何和编排测试 | - -## Reference - -Park et al., **CamP: Camera Preconditioning for Neural Radiance Fields**, SIGGRAPH Asia 2023. [Paper](https://arxiv.org/abs/2308.10902) · [Project](https://camp-nerf.github.io/). - -本项目依赖 Nerfstudio,数据采用 NeRF-Synthetic;第三方代码、数据和论文各自遵循原有条款。本仓库尚未指定开源许可证。 +## 实验配置 + +### 共享训练配置 + +| 配置项 | 设置 | +| --- | --- | +| 数据集与场景 | NeRF-Synthetic Lego | +| 数据划分 | 训练 100 张、验证 100 张、测试 200 张 | +| 图像分辨率 | 800 × 800 | +| NeRF 主干 | Nerfstudio 1.1.5 vanilla-NeRF,coarse/fine 两个 field | +| 训练初始化 | 每次从头训练 | +| 训练随机种子 | 42,单种子 | +| 每次训练步数 | 30,000 | +| 训练 ray batch | 1024 | +| 每条 ray 的采样配置 | coarse 64,importance 128 | +| Near / far | 2 / 6 | +| 背景 | 白色 | +| Blender 数据尺度 | scale_factor = 1 | +| 场景优化器 | RAdam,学习率 5e-4,eps = 1e-8,无学习率调度 | +| 损失 | coarse 与 fine RGB MSE,权重均为 1 | +| 混合精度 | 关闭 | +| 相机内参 | 固定 | +| 验证与测试相机 | 使用原始 GT 位姿,不应用训练相机修正表 | + +### 训练实验(每行一次独立训练) + +| 编号 | 位姿条件 | 方法 | 平移扰动 | 旋转扰动 | 位姿参数化 | 相机优化器 | 相机学习率日程 | Warm-up 步数 | 训练步数 | Seed | +|---|---|---|---|---|---|---|---|---|---|---| +| 1 | SV100-GT | Fixed | 0 | 0° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 2 | SV100-GT | Naive | 0 | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 3 | SV100-GT | CamP-style | 0 | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 4 | SV100-GT | Naive + warm-up | 0 | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 5 | SV100-GT | CamP-style + warm-up | 0 | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 6 | SV100-T0.5 | Fixed | 0.5% | 0° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 7 | SV100-T0.5 | Naive | 0.5% | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 8 | SV100-T0.5 | CamP-style | 0.5% | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 9 | SV100-T0.5 | Naive + warm-up | 0.5% | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 10 | SV100-T0.5 | CamP-style + warm-up | 0.5% | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 11 | SV100-T1 | Fixed | 1% | 0° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 12 | SV100-T1 | Naive | 1% | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 13 | SV100-T1 | CamP-style | 1% | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 14 | SV100-T1 | Naive + warm-up | 1% | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 15 | SV100-T1 | CamP-style + warm-up | 1% | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 16 | SV100-T2 | Fixed | 2% | 0° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 17 | SV100-T2 | Naive | 2% | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 18 | SV100-T2 | CamP-style | 2% | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 19 | SV100-T2 | Naive + warm-up | 2% | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 20 | SV100-T2 | CamP-style + warm-up | 2% | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 21 | SV100-T5 | Fixed | 5% | 0° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 22 | SV100-T5 | Naive | 5% | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 23 | SV100-T5 | CamP-style | 5% | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 24 | SV100-T5 | Naive + warm-up | 5% | 0° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 25 | SV100-T5 | CamP-style + warm-up | 5% | 0° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 26 | SV100-R0.5 | Fixed | 0 | 0.5° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 27 | SV100-R0.5 | Naive | 0 | 0.5° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 28 | SV100-R0.5 | CamP-style | 0 | 0.5° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 29 | SV100-R0.5 | Naive + warm-up | 0 | 0.5° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 30 | SV100-R0.5 | CamP-style + warm-up | 0 | 0.5° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 31 | SV100-R1 | Fixed | 0 | 1° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 32 | SV100-R1 | Naive | 0 | 1° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 33 | SV100-R1 | CamP-style | 0 | 1° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 34 | SV100-R1 | Naive + warm-up | 0 | 1° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 35 | SV100-R1 | CamP-style + warm-up | 0 | 1° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 36 | SV100-R2 | Fixed | 0 | 2° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 37 | SV100-R2 | Naive | 0 | 2° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 38 | SV100-R2 | CamP-style | 0 | 2° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 39 | SV100-R2 | Naive + warm-up | 0 | 2° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 40 | SV100-R2 | CamP-style + warm-up | 0 | 2° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 41 | SV100-R5 | Fixed | 0 | 5° | 固定输入位姿 | 无 | 无 | 0 | 30,000 | 42 | +| 42 | SV100-R5 | Naive | 0 | 5° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 43 | SV100-R5 | CamP-style | 0 | 5° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-3 → 1e-4,指数衰减 | 0 | 30,000 | 42 | +| 44 | SV100-R5 | Naive + warm-up | 0 | 5° | 六维 SO(3) × R³,δ = z | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | +| 45 | SV100-R5 | CamP-style + warm-up | 0 | 5° | 六维预条件参数化,δ = Pz | Adam,eps = 1e-8 | 1e-8 → 1e-3 渐增,再指数衰减至 1e-4 | 2500 | 30,000 | 42 | + +### 扰动与位姿优化配置 + +| 扰动配置项 | 设置 | +| --- | --- | +| 扰动对象 | 仅训练相机外参;图像、内参、验证与测试位姿保持不变 | +| 平移幅度基准 | GT 训练相机到轨迹中心的平均半径 | +| 平移生成方式 | 每台相机随机单位方向,位移长度为指定比例 × 平均半径 | +| 旋转生成方式 | 每台相机随机世界坐标轴,按指定角度左乘旋转矩阵 | +| 扰动随机种子 | seed = 42;平移生成器使用 42,旋转生成器使用 43 | +| 方法间数据控制 | 各方法复用相同的扰动数据 | + +| 位姿优化配置项 | 设置 | +| --- | --- | +| 初始位姿修正 | 全零 | +| 位姿更新方式 | 世界坐标平移叠加,axis-angle 旋转左乘 | +| GT 位姿监督、位姿正则、固定锚点 | 均不启用 | +| 内参优化、频率 coarse-to-fine 调度 | 均不启用 | +| Warm-up 曲线 | Nerfstudio 的 cosine ramp:1e-8 + (1e-3 − 1e-8) × sin(πs / 5000),0 ≤ s < 2500 | +| CamP-style 代理点 | 每台相机 4096 个;像素均匀采样,沿单位 ray 的距离在 [2, 6] 均匀采样 | +| 代理采样种子 | 隔离 CPU generator,seed = 42 | +| 预条件构建 | 初始位姿处投影 Jacobian;Σ = JᵀJ / 4096;P = (Σ + 0.1 diag(Σ) + 1e-8 I)^(−1/2) | +| 预条件数值与更新 | CPU float64 计算,转 float32 保存;训练中固定 | + +### 位姿对齐审计(每行一组保存位姿) + +| 编号 | 位姿条件 | 方法 | 输入 | 对齐设置 | 新增训练 | +|---|---|---|---|---|---| +| A1 | SV100-GT | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A2 | SV100-GT | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A3 | SV100-GT | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A4 | SV100-GT | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A5 | SV100-T0.5 | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A6 | SV100-T0.5 | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A7 | SV100-T0.5 | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A8 | SV100-T0.5 | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A9 | SV100-T1 | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A10 | SV100-T1 | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A11 | SV100-T1 | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A12 | SV100-T1 | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A13 | SV100-T2 | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A14 | SV100-T2 | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A15 | SV100-T2 | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A16 | SV100-T2 | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A17 | SV100-T5 | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A18 | SV100-T5 | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A19 | SV100-T5 | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A20 | SV100-T5 | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A21 | SV100-R0.5 | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A22 | SV100-R0.5 | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A23 | SV100-R0.5 | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A24 | SV100-R0.5 | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A25 | SV100-R1 | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A26 | SV100-R1 | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A27 | SV100-R1 | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A28 | SV100-R1 | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A29 | SV100-R2 | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A30 | SV100-R2 | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A31 | SV100-R2 | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A32 | SV100-R2 | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A33 | SV100-R5 | Naive | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A34 | SV100-R5 | CamP-style | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A35 | SV100-R5 | Naive + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | +| A36 | SV100-R5 | CamP-style + warm-up | 最终训练位姿与 GT | 训练相机中心拟合 Sim(3),检查全局变换与中心残差 | 否 | + +### 对齐渲染评估(每行一次方法评估) + +| 编号 | 位姿条件 | 方法 | 评估类型 | 测试视角 | 分辨率 | 原坐标评估 | 对齐坐标评估 | 新增训练 | +|---|---|---|---|---|---|---|---|---| +| E1 | SV100-GT | Fixed | 预览 | 索引 0、10、…、190,共 20 张 | 200 × 200 | 重新渲染 | 重新渲染 | 否 | +| E2 | SV100-GT | Naive | 预览 | 索引 0、10、…、190,共 20 张 | 200 × 200 | 重新渲染 | 重新渲染 | 否 | +| E3 | SV100-GT | CamP-style | 预览 | 索引 0、10、…、190,共 20 张 | 200 × 200 | 重新渲染 | 重新渲染 | 否 | +| E4 | SV100-GT | Naive + warm-up | 预览 | 索引 0、10、…、190,共 20 张 | 200 × 200 | 重新渲染 | 重新渲染 | 否 | +| E5 | SV100-GT | CamP-style + warm-up | 预览 | 索引 0、10、…、190,共 20 张 | 200 × 200 | 重新渲染 | 重新渲染 | 否 | +| E6 | SV100-GT | Fixed | 完整 | 全部 200 张 | 800 × 800 | 复用同一 checkpoint 的已有完整评估 | 重新渲染 | 否 | +| E7 | SV100-GT | Naive | 完整 | 全部 200 张 | 800 × 800 | 复用同一 checkpoint 的已有完整评估 | 重新渲染 | 否 | +| E8 | SV100-GT | CamP-style | 完整 | 全部 200 张 | 800 × 800 | 复用同一 checkpoint 的已有完整评估 | 重新渲染 | 否 | +| E9 | SV100-GT | Naive + warm-up | 完整 | 全部 200 张 | 800 × 800 | 复用同一 checkpoint 的已有完整评估 | 重新渲染 | 否 | +| E10 | SV100-GT | CamP-style + warm-up | 完整 | 全部 200 张 | 800 × 800 | 复用同一 checkpoint 的已有完整评估 | 重新渲染 | 否 | + +| 对齐评估配置项 | 设置 | +| --- | --- | +| 模型状态 | 冻结第 29,999 步 checkpoint,不更新网络 | +| Sim(3) 拟合数据 | 仅 GT 与优化后的训练相机中心,不使用测试图像拟合 | +| 变换方向 | GT 坐标 → 重建坐标 | +| 测试相机处理 | 统一变换位置与朝向,内参不变,采样距离按拟合尺度缩放 | +| 对照 | Fixed + GT 的恒等对齐 | +| 图像评估指标 | fine PSNR、SSIM、LPIPS | diff --git a/REPRODUCING.md b/REPRODUCING.md deleted file mode 100644 index 456c017..0000000 --- a/REPRODUCING.md +++ /dev/null @@ -1,77 +0,0 @@ -# 复现与环境 - -## 1. 两种使用方式 - -- **查看已完成的实验**:直接阅读 README 和 `artifacts/`,不需要安装模型依赖。可运行 `python scripts/verify_artifacts.py` 校验发布档案。 -- **重新训练**:从干净 checkout 开始准备数据、运行 Fixed,再运行两个位姿优化日程,最后执行诊断。45 次训练需要较长 GPU 时间,本次发布整理没有重新训练。 - -发布包不含 checkpoint。历史配置、状态和 CSV 保留原机器路径用于追溯;不要复制到运行目录冒充可恢复状态。重训会自动生成当前机器的路径、指纹和配置。迁移旧权重的路径修复不由当前入口自动完成。 - -## 2. 环境 - -历史环境:Linux、Python 3.8.10、PyTorch 2.1.2+cu118、torchvision 0.16.2+cu118、Nerfstudio 1.1.5。主要版本约束见 [requirements.txt](requirements.txt),原始完整环境快照见 [environment.txt](artifacts/historical/results/poseopt_sv100/environment.txt)。原始快照包含 Conda 本地构建路径,是审计记录,不是直接可安装的 lockfile。 - -创建并激活独立环境,在配置 CUDA 驱动与所需构建工具后安装: - -```bash -python -m pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118 -python -m pip install -r requirements.txt -python -m pip check -python -c 'import torch; print(torch.__version__, torch.cuda.is_available())' -PYTHONPATH=. python -m unittest discover -s tests -v -``` - -以上为安装入口,不保证任意新平台上的依赖解析成功;本次只验证已有实验环境,未做全新环境安装。Nerfstudio 的可选 CUDA 扩展与构建要求取决于安装环境。本项目模型为 vanilla-NeRF。 - -脚本使用激活环境的 `python`、`ns-train`、`ns-eval`,三者应来自同一环境。Shell 编排还需 `bash`、`flock`、`pgrep`;后台运行可用 `tmux`。 - -## 3. 数据 - -自行准备 NeRF-Synthetic 数据;Lego 应有 `train/val/test` 图片和对应 `transforms_*.json`。数据不随仓库分发,按原数据来源的使用条款获取。 - -```bash -export POSEGUARD_DATA=/absolute/path/to/nerf_synthetic -``` - -该目录下应有 `lego/`。不设置时默认为仓库同级的 `data/nerf_synthetic`。先生成八种扰动(仅对尚不存在的目标目录操作): - -```bash -python scripts/prepare_datasets.py -``` - -生成器按 seed 42 调用 `perturb_poses.py`,复用图片软链接,保持验证/测试相机不变。目标目录已存在时会拒绝覆盖。 - -## 4. 从头运行 - -在仓库根目录、同一激活环境依次执行。固定基线入口拒绝覆盖已有运行目录;在已有本地实验的工作区,使用新的 checkout,不要删除历史数据。 - -```bash -bash scripts/run_full_sv100_pipeline.sh -bash scripts/run_pose_optimization_pipeline.sh --preflight -bash scripts/run_pose_optimization_pipeline.sh --dry-run -bash scripts/run_pose_optimization_pipeline.sh -bash scripts/run_warmup_experiments.sh -``` - -Fixed 产生 9 次训练;无 warm-up 和 warm-up 各产生 18 次训练。Warm-up 复用 Fixed,不再训练它。查看、停止和恢复见 [运行说明](POSE_OPTIMIZATION.md) 与 [warm-up 说明](WARMUP_EXPERIMENTS.md)。可将各条训练命令放入 tmux 中运行。 - -`--preflight`、`--dry-run` 和现有 `--smoke` 都要求完整的 Fixed 基线及其 checkpoint;它们不是空仓库的免数据验证入口。免数据检查请运行单元测试。 - -## 5. 分析与对齐 - -上述运行全部完成后: - -```bash -python scripts/analyze_warmup_results.py -python scripts/audit_pose_alignment.py -bash scripts/run_alignment_diagnostic.sh --output results/alignment_gt_preview -python scripts/summarize_alignment.py results/alignment_gt_preview -bash scripts/run_alignment_diagnostic.sh --output results/alignment_gt_full --full -python scripts/summarize_alignment.py results/alignment_gt_full -``` - -对齐渲染入口当前仅支持 GT 条件。完整评估为 200 张 800×800 图;预览为固定 20 张 200×200 图。两者不能直接比较数值。新运行产物写入被忽略的 `results/`、`outputs/`、`logs/`,不会覆盖 `artifacts/` 中的发布快照。 - -## 6. 恢复限制 - -运行时修改代码、环境、数据或超参数会改变指纹。发布整理修改了路径配置,所以历史运行不能直接在当前代码下继续恢复;已有完成结果仍是原实验结果,发布档案保持原字节与原指纹。需要新实验时使用新目录和新 manifest。恢复不会保证随机数序列与不中断训练逐位一致。 diff --git a/VALIDATION.md b/VALIDATION.md deleted file mode 100644 index 93e96f2..0000000 --- a/VALIDATION.md +++ /dev/null @@ -1,23 +0,0 @@ -# 发布整理验证记录 - -日期:2026-10-13。验证使用原有 Python 3.8.10 实验环境;未安装新环境、未重新训练、未重新计算图像指标。 - -| 检查 | 结果 | -|---|---| -| 原工作区 `unittest discover -s tests -v` | 11 项通过(几何、梯度、checkpoint、恢复、对齐) | -| 发布档案 SHA-256 | 338 个文件、3,876,162 字节通过 | -| 自定义 `POSEGUARD_DATA` | 临时目录 9 个数据条件通过验证 | -| 扰动生成一致性 | 8 种扰动的训练相机 JSON 与历史结果一致 | -| 防止覆盖输入 | 已存在目标目录时拒绝再次生成 | -| Shell 语法 | 4 个运行入口通过 `bash -n` | -| 独立暂存快照 | 档案校验及全部 Markdown 相对链接通过;无被跟踪软链接 | -| 独立快照的对齐几何测试 | 2 项通过 | -| Git 格式检查 | 通过;历史档案按 `.gitattributes` 保留原字节 | - -## 未完成的验证 - -- 当前环境 `torch.cuda.is_available()` 为 false,训练 `--dry-run` 在预检查阶段以 `CUDA unavailable` 停止。未验证本次路径修改后的 GPU 训练或完整渲染。 -- 独立快照中两次完整测试进程均在 tiny-cuda-nn 的 CUDA 提示后被终止(退出码 137),没有产生测试断言结果;原因未确认。它不等同于原工作区 11 项测试失败,也不能记为独立快照全量通过。 -- 未验证全新环境安装。`requirements.txt` 是关键版本约束,不是跨平台完整锁定文件。 - -发布档案保留原始指纹,当前发布代码的路径配置修改不会反写历史实验。原始模型、数据与运行目录仍留在本机,未纳入发布包。 diff --git a/WARMUP_EXPERIMENTS.md b/WARMUP_EXPERIMENTS.md deleted file mode 100644 index f0512ed..0000000 --- a/WARMUP_EXPERIMENTS.md +++ /dev/null @@ -1,45 +0,0 @@ -# Camera warm-up experiment - -Run `bash scripts/run_warmup_experiments.sh` from this repository. Outputs go to -`results/poseopt_sv100_warmup2500`; existing no-warm-up results are in -`results/poseopt_sv100`. Both methods run the same nine SV100 conditions with -seed 42, 30,000 training steps, and diagnostics/checkpoints every 1,000 steps. -This is a single-seed paired experiment, not a cross-seed stability study. - -Only the camera learning-rate schedule changes. Scene settings and pose -parameterization remain the same. The installed Nerfstudio 1.1.5 scheduler's -`cosine` ramp uses the following actual learning rate at step s: - -- s < 2500: `1e-8 + (1e-3 - 1e-8) * sin(pi * s / (2 * 2500))` -- s >= 2500: exponential interpolation from `1e-3` at step 2500 to - `1e-4` at step 30000. - -This is Nerfstudio's native warm-up schedule, not an exact reproduction of the -CamP paper's multiplier schedule. Cameras are optimized from the first step; -there is no frozen-camera stage. The post-warm-up decay spans the remaining -27,500 steps. `diagnostics.jsonl` records `camera_lr` used by that iteration. - -Monitor with `tmux attach -t poseguard-warmup2500` or inspect -`results/poseopt_sv100_warmup2500/pipeline.log` and `state.json`. -The pipeline writes `summary.csv`, `report.md`, metrics and comparison images. -Compare each method/case row against the same row in -`results/poseopt_sv100/summary.csv` for the no-warm-up control. - -After interruption, run: - -```bash -bash scripts/run_warmup_experiments.sh --resume --retry-failed -``` - -Resume restores both optimizer and scheduler states. A changed warm-up setting, -code, data or environment is rejected by the run fingerprint guard. Existing -runs created before this code change also cannot resume under the new fingerprint. -The shared lock prevents concurrent formal pipelines from competing for the GPU. - -The general runner accepts `--camera-warmup-steps` (default 0). Use a separate -`--run-dir` for another warm-up duration. Warm-up must be nonnegative and shorter -than the training budget. - -## Completed evidence - -All 18 runs completed. See the [paired analysis snapshot](artifacts/warmup/report.md) and the subsequent [full GT alignment findings](artifacts/alignment_gt_full/findings.md). The paired report predates the alignment diagnostic. Setup and fresh-machine reproduction: [REPRODUCING.md](REPRODUCING.md). diff --git a/artifacts/README.md b/artifacts/README.md index 90b9bea..b804341 100644 --- a/artifacts/README.md +++ b/artifacts/README.md @@ -1,23 +1,46 @@ -# 发布结果档案 +# 实验产物索引 -本目录是已完成实验的小型静态快照,可以随 Git 克隆。原始运行仍位于本机 `results/`、`outputs/` 及其数据盘链接中;本目录不依赖这些链接。 +本目录保存已完成实验的小型静态档案。单次实验按“实验类别 → 方法 → 位姿条件”组织,汇总分析与运行记录单独存放。 | 目录 | 内容 | |---|---| -| `historical/` | 首轮 Fixed/Naive/CamP 的已跟踪小型记录、配置、指标、位姿、状态和环境 | -| `warmup/` | 第二轮 18 次训练的配置、指标、位姿、状态、配对分析与图 | -| `alignment_gt_full/` | GT 条件五种设置的完整测试集对齐结果 | -| `alignment_gt_preview/` | 独立低分辨率预览结果及三个代表视角拼图 | -| `alignment_pose_audit/` | 36 组优化位姿的审计及源文件指纹 | +| `experiments/baseline/fixed/SV100-*/` | 9 次固定相机训练的配置、指标、数据解析变换和元数据 | +| `experiments/pose_optimization/{naive,camp}/SV100-*/` | 18 次无 warm-up 训练的配置、指标、优化位姿、预条件诊断和完成标记 | +| `experiments/warmup/{naive,camp}/SV100-*/` | 18 次 warm-up 训练的同类资料 | +| `experiments/alignment_full/<方法>/SV100-GT/` | GT 条件五种设置的完整对齐评估变换 | +| `experiments/alignment_preview/<方法>/SV100-GT/` | GT 条件五种设置的预览对齐评估变换 | +| `analysis/<实验类别>/` | 汇总表、分析报告、对比图;`pose_audit/` 保存 36 组位姿审计的汇总与变换集合 | +| `records/<实验类别>/` | 批次级状态、manifest 和环境记录 | -[manifest.json](manifest.json) 记录原始相对路径、档案路径、大小和 SHA-256。复制时保持原字节不变。历史 Markdown 报告以 `.md.txt` 保存,保留当时文字和未打包的本地图片路径;它们属于历史记录,最新解释以根目录 README 和完整对齐 findings 为准。 +对齐评估的方法目录为 `fixed`、`naive`、`camp`、`naive_warmup`、`camp_warmup`。`SV100-GT` 表示正确位姿初始化;`SV100-T*` 和 `SV100-R*` 分别表示平移与旋转扰动条件。 -Warm-up 的 [原阶段分析](warmup/report.md) 写于渲染对齐之前,其中“下一步补充对齐”已经在 GT 条件完成;其多种子建议未执行。不要把历史建议误认为本项目当前必做事项。 +## 汇总与对比分析 -配置和状态中的绝对路径、代码哈希、运行时间均是历史溯源信息。当前代码新增了路径配置,不与历史代码指纹相同;不要用历史状态在新机器直接 resume。 +| 内容 | 入口 | +|---|---| +| 固定相机基线 | [9 条件汇总](analysis/baseline/SV100_full_summary.csv)、[平移对照](analysis/baseline/SV100_translation_sweep.csv)、[旋转对照](analysis/baseline/SV100_rotation_sweep.csv) | +| 首轮三方法比较 | [27 行汇总](analysis/pose_optimization/summary.csv)、[历史报告](analysis/pose_optimization/report.md.txt)、[Naive 失败分析](analysis/pose_optimization/naive_failure_analysis.md.txt) | +| Warm-up 配对比较 | [汇总](analysis/warmup/summary.csv)、[配对差值](analysis/warmup/paired_metrics.csv)、[统计](analysis/warmup/aggregate_metrics.json)、[阶段报告](analysis/warmup/report.md) | +| GT 完整对齐评估 | [汇总](analysis/alignment_full/summary.csv)、[报告](analysis/alignment_full/report.md)、[结论](analysis/alignment_full/findings.md) | +| GT 预览对齐评估 | [汇总](analysis/alignment_preview/summary.csv)、[报告](analysis/alignment_preview/report.md)、[结论](analysis/alignment_preview/findings.md) | +| 全条件位姿审计 | [36 组汇总](analysis/pose_audit/summary.csv)、[变换集合](analysis/pose_audit/transforms.json) | + +## 配置与图片入口 + +| 内容 | 入口 | +|---|---| +| Naive GT 配置对照 | [无 warm-up](experiments/pose_optimization/naive/SV100-GT/config.yml)、[有 warm-up](experiments/warmup/naive/SV100-GT/config.yml) | +| 优化位姿示例 | [Naive GT + warm-up](experiments/warmup/naive/SV100-GT/optimized_poses.json) | +| Warm-up 对比图 | [重建指标](analysis/warmup/quality_comparison.png)、[早期漂移](analysis/warmup/gt_early_pose_drift.png) | +| 对齐指标图 | [完整评估](analysis/alignment_full/metrics_comparison.png)、[低分辨率预览](analysis/alignment_preview/metrics_comparison.png) | +| 对齐前后预览 | [视角 0](analysis/alignment_preview/comparison_000.png)、[视角 50](analysis/alignment_preview/comparison_050.png)、[视角 100](analysis/alignment_preview/comparison_100.png) | + +## 读取与重新分析 + +在仓库根目录运行 `uv run python scripts/analysis/analyze_warmup_results.py`,可从归档 CSV 重新计算配对统计,默认输出到 `results/published_analysis/`。加 `--plots` 可重画质量对比图,需要 NumPy 和 Matplotlib。 + +发布档案不含原始数据、checkpoint、TensorBoard、原始渲染数组或完整训练日志。重新渲染需要原模型和数据;重画早期漂移需要原服务器的 `diagnostics.jsonl`。完整评估使用 200 张 800×800 图,预览使用 20 张 200×200 图,两者的指标应分开比较。 -没有打包数据、checkpoint、TensorBoard、原始数组或全部渲染。要重新计算图像指标,需自行训练或另行取得原模型。历史 source_fingerprints 涉及未打包大文件,本仓库只能验证已归档文件。 +历史报告 `.md.txt` 保留当时文字及未打包图片的路径。Warm-up 阶段报告早于对齐诊断,其中 GT 对齐的后续工作已完成,多种子实验未执行;后续对齐解释见对应 findings。 -```bash -python scripts/verify_artifacts.py -``` +`records/`、配置及完成标记中的服务器绝对路径属于历史来源信息,不能在新机器直接用于恢复。所有现存记录均保留,目录整理没有重新训练或重新计算图像指标。通过 Git status 和 Git diff 查看档案变更。 diff --git a/artifacts/alignment_pose_audit/source_fingerprints.json b/artifacts/alignment_pose_audit/source_fingerprints.json deleted file mode 100644 index e946816..0000000 --- a/artifacts/alignment_pose_audit/source_fingerprints.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "files": { - "/root/workspace/data/nerf_synthetic/lego/transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "/root/workspace/data/nerf_synthetic/lego/transforms_train.json": "82d46cfbd405d7da8562b6fa75b6fb0631a3f941adf66f0c023acb8bf9ea273a", - "/root/workspace/poseguard-nerf/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/config.yml": "543dd4bc339f39d6a03efa70d0d6e1caa336da8877d4db364c8af1fc84781bd6", - "/root/workspace/poseguard-nerf/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/nerfstudio_models/step-000029999.ckpt": "c3d47101d4df1e2039ba3aa1667a7c1c98c7d12fb2e1b5d89cb1b8d31c785a6e", - "/root/workspace/poseguard-nerf/poseguard/__init__.py": "919d63a41c03f156edd989a6a738fcd888da82fc7043a595811678bdcc415f8c", - "/root/workspace/poseguard-nerf/poseguard/alignment.py": "8764680b0a222cff396bb98bb16215c2b6202bd65ce5a1154372a0495e9a8bee", - "/root/workspace/poseguard-nerf/poseguard/geometry.py": "6b2b76a59bc336c7e6a22391efa370af03cea2a645b58394a239ccd275191f25", - "/root/workspace/poseguard-nerf/poseguard/methods.py": "baebd82fb9deb06b6d060b11a6cbb488a0cc44cdb904a9487419f12c0d413680", - "/root/workspace/poseguard-nerf/poseguard/worker.py": "0c8cbcf90c8ea79fadf5fcca896ee3aa93b1b8f6b08da05c77f18ebdea987442", - "/root/workspace/poseguard-nerf/results/SV100-GT/metrics.json": "6dc54056d3b07b0fe4d3156b33c10b7c9316b36f730236ab3cc3dfa2f47d4c6c", - "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/metrics.json": "a2d7d613c67c238f3e6bcd6811263aa67c94c316fb3cb6a1a5fec5be3d33b0ab", - "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml": "867782d6ff77657a3181c8e976ad15e9feb359d766e32dc0e20dbb73b8d0e450", - "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt": "fcb4125f12d2474d491827dc66da27b47b4716bb70d88484729593065459fd27", - "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/metrics.json": "a8b7c5875459c13de04d09d155a8e2edbe89140247dead193da6be50e0ab3b12", - "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml": "10004899b4e9dea74f247fc86dc17032b6db889e50a74f9194e76e7afc78ca40", - "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt": "31f71061c53dfcffe7c447999d031aa22fbeaf0cdf2d7ef3c547b6872413c8d6", - "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/metrics.json": "c8e6a97887c7b2f26c100d8cb61893e28fe6a0484ced83aea54501dd0d436ff6", - "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml": "cd6c5a3ee259ddc1897999ee79bf2330f933540c730e3e66ac30d97b46dab67f", - "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt": "dc6eb7a822559660929967ab93afc83e170a60786555e35096d008ecca4a1515", - "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/metrics.json": "4915e3d35e8ff1d6788ec722538e4a23b10583cf60ee4ffde2b297683c256378", - "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml": "b46dba316b6b631a37b24ebd3a152bfed6036b04e371582da7b976eca10f5ee2", - "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt": "1118fdccb527a71bcc5d8d966839513978c1d4836628d88796637f3ddc23b78a" - }, - "packages": { - "torch": "2.1.2+cu118", - "nerfstudio": "1.1.5", - "numpy": "1.24.2", - "torchmetrics": "1.2.0" - } -} diff --git a/artifacts/alignment_gt_full/findings.md b/artifacts/analysis/alignment_full/findings.md similarity index 100% rename from artifacts/alignment_gt_full/findings.md rename to artifacts/analysis/alignment_full/findings.md diff --git a/artifacts/alignment_gt_full/metrics_comparison.png b/artifacts/analysis/alignment_full/metrics_comparison.png similarity index 100% rename from artifacts/alignment_gt_full/metrics_comparison.png rename to artifacts/analysis/alignment_full/metrics_comparison.png diff --git a/artifacts/alignment_gt_full/report.md b/artifacts/analysis/alignment_full/report.md similarity index 100% rename from artifacts/alignment_gt_full/report.md rename to artifacts/analysis/alignment_full/report.md diff --git a/artifacts/alignment_gt_full/summary.csv b/artifacts/analysis/alignment_full/summary.csv similarity index 100% rename from artifacts/alignment_gt_full/summary.csv rename to artifacts/analysis/alignment_full/summary.csv diff --git a/artifacts/alignment_gt_preview/comparison_000.png b/artifacts/analysis/alignment_preview/comparison_000.png similarity index 100% rename from artifacts/alignment_gt_preview/comparison_000.png rename to artifacts/analysis/alignment_preview/comparison_000.png diff --git a/artifacts/alignment_gt_preview/comparison_050.png b/artifacts/analysis/alignment_preview/comparison_050.png similarity index 100% rename from artifacts/alignment_gt_preview/comparison_050.png rename to artifacts/analysis/alignment_preview/comparison_050.png diff --git a/artifacts/alignment_gt_preview/comparison_100.png b/artifacts/analysis/alignment_preview/comparison_100.png similarity index 100% rename from artifacts/alignment_gt_preview/comparison_100.png rename to artifacts/analysis/alignment_preview/comparison_100.png diff --git a/artifacts/alignment_gt_preview/findings.md b/artifacts/analysis/alignment_preview/findings.md similarity index 100% rename from artifacts/alignment_gt_preview/findings.md rename to artifacts/analysis/alignment_preview/findings.md diff --git a/artifacts/alignment_gt_preview/metrics_comparison.png b/artifacts/analysis/alignment_preview/metrics_comparison.png similarity index 100% rename from artifacts/alignment_gt_preview/metrics_comparison.png rename to artifacts/analysis/alignment_preview/metrics_comparison.png diff --git a/artifacts/alignment_gt_preview/report.md b/artifacts/analysis/alignment_preview/report.md similarity index 100% rename from artifacts/alignment_gt_preview/report.md rename to artifacts/analysis/alignment_preview/report.md diff --git a/artifacts/alignment_gt_preview/summary.csv b/artifacts/analysis/alignment_preview/summary.csv similarity index 100% rename from artifacts/alignment_gt_preview/summary.csv rename to artifacts/analysis/alignment_preview/summary.csv diff --git a/artifacts/historical/results/SV100_full_summary.csv b/artifacts/analysis/baseline/SV100_full_summary.csv similarity index 100% rename from artifacts/historical/results/SV100_full_summary.csv rename to artifacts/analysis/baseline/SV100_full_summary.csv diff --git a/artifacts/historical/results/SV100_pipeline_summary.txt b/artifacts/analysis/baseline/SV100_pipeline_summary.txt similarity index 100% rename from artifacts/historical/results/SV100_pipeline_summary.txt rename to artifacts/analysis/baseline/SV100_pipeline_summary.txt diff --git a/artifacts/historical/results/SV100_rotation_sweep.csv b/artifacts/analysis/baseline/SV100_rotation_sweep.csv similarity index 100% rename from artifacts/historical/results/SV100_rotation_sweep.csv rename to artifacts/analysis/baseline/SV100_rotation_sweep.csv diff --git a/artifacts/historical/results/SV100_translation_sweep.csv b/artifacts/analysis/baseline/SV100_translation_sweep.csv similarity index 100% rename from artifacts/historical/results/SV100_translation_sweep.csv rename to artifacts/analysis/baseline/SV100_translation_sweep.csv diff --git a/artifacts/alignment_pose_audit/summary.csv b/artifacts/analysis/pose_audit/summary.csv similarity index 100% rename from artifacts/alignment_pose_audit/summary.csv rename to artifacts/analysis/pose_audit/summary.csv diff --git a/artifacts/alignment_pose_audit/transforms.json b/artifacts/analysis/pose_audit/transforms.json similarity index 100% rename from artifacts/alignment_pose_audit/transforms.json rename to artifacts/analysis/pose_audit/transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/naive_failure_analysis.md.txt b/artifacts/analysis/pose_optimization/naive_failure_analysis.md.txt similarity index 100% rename from artifacts/historical/results/poseopt_sv100/naive_failure_analysis.md.txt rename to artifacts/analysis/pose_optimization/naive_failure_analysis.md.txt diff --git a/artifacts/historical/results/poseopt_sv100/report.md.txt b/artifacts/analysis/pose_optimization/report.md.txt similarity index 100% rename from artifacts/historical/results/poseopt_sv100/report.md.txt rename to artifacts/analysis/pose_optimization/report.md.txt diff --git a/artifacts/historical/results/poseopt_sv100/summary.csv b/artifacts/analysis/pose_optimization/summary.csv similarity index 100% rename from artifacts/historical/results/poseopt_sv100/summary.csv rename to artifacts/analysis/pose_optimization/summary.csv diff --git a/artifacts/warmup/aggregate_metrics.json b/artifacts/analysis/warmup/aggregate_metrics.json similarity index 100% rename from artifacts/warmup/aggregate_metrics.json rename to artifacts/analysis/warmup/aggregate_metrics.json diff --git a/artifacts/warmup/gt_early_pose_drift.png b/artifacts/analysis/warmup/gt_early_pose_drift.png similarity index 100% rename from artifacts/warmup/gt_early_pose_drift.png rename to artifacts/analysis/warmup/gt_early_pose_drift.png diff --git a/artifacts/warmup/paired_metrics.csv b/artifacts/analysis/warmup/paired_metrics.csv similarity index 100% rename from artifacts/warmup/paired_metrics.csv rename to artifacts/analysis/warmup/paired_metrics.csv diff --git a/artifacts/warmup/quality_comparison.png b/artifacts/analysis/warmup/quality_comparison.png similarity index 100% rename from artifacts/warmup/quality_comparison.png rename to artifacts/analysis/warmup/quality_comparison.png diff --git a/artifacts/warmup/report.md b/artifacts/analysis/warmup/report.md similarity index 100% rename from artifacts/warmup/report.md rename to artifacts/analysis/warmup/report.md diff --git a/artifacts/warmup/summary.csv b/artifacts/analysis/warmup/summary.csv similarity index 100% rename from artifacts/warmup/summary.csv rename to artifacts/analysis/warmup/summary.csv diff --git a/artifacts/alignment_gt_full/camp/alignment.json b/artifacts/experiments/alignment_full/camp/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_full/camp/alignment.json rename to artifacts/experiments/alignment_full/camp/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_full/camp_warmup/alignment.json b/artifacts/experiments/alignment_full/camp_warmup/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_full/camp_warmup/alignment.json rename to artifacts/experiments/alignment_full/camp_warmup/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_full/fixed/alignment.json b/artifacts/experiments/alignment_full/fixed/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_full/fixed/alignment.json rename to artifacts/experiments/alignment_full/fixed/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_full/naive/alignment.json b/artifacts/experiments/alignment_full/naive/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_full/naive/alignment.json rename to artifacts/experiments/alignment_full/naive/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_full/naive_warmup/alignment.json b/artifacts/experiments/alignment_full/naive_warmup/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_full/naive_warmup/alignment.json rename to artifacts/experiments/alignment_full/naive_warmup/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_preview/camp/alignment.json b/artifacts/experiments/alignment_preview/camp/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_preview/camp/alignment.json rename to artifacts/experiments/alignment_preview/camp/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_preview/camp_warmup/alignment.json b/artifacts/experiments/alignment_preview/camp_warmup/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_preview/camp_warmup/alignment.json rename to artifacts/experiments/alignment_preview/camp_warmup/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_preview/fixed/alignment.json b/artifacts/experiments/alignment_preview/fixed/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_preview/fixed/alignment.json rename to artifacts/experiments/alignment_preview/fixed/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_preview/naive/alignment.json b/artifacts/experiments/alignment_preview/naive/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_preview/naive/alignment.json rename to artifacts/experiments/alignment_preview/naive/SV100-GT/alignment.json diff --git a/artifacts/alignment_gt_preview/naive_warmup/alignment.json b/artifacts/experiments/alignment_preview/naive_warmup/SV100-GT/alignment.json similarity index 100% rename from artifacts/alignment_gt_preview/naive_warmup/alignment.json rename to artifacts/experiments/alignment_preview/naive_warmup/SV100-GT/alignment.json diff --git a/artifacts/historical/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/config.yml b/artifacts/experiments/baseline/fixed/SV100-GT/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/config.yml rename to artifacts/experiments/baseline/fixed/SV100-GT/config.yml diff --git a/artifacts/historical/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-GT/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-GT/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-GT/metadata.json b/artifacts/experiments/baseline/fixed/SV100-GT/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-GT/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-GT/metadata.json diff --git a/artifacts/historical/results/SV100-GT/metrics.json b/artifacts/experiments/baseline/fixed/SV100-GT/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-GT/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-GT/metrics.json diff --git a/artifacts/historical/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/config.yml b/artifacts/experiments/baseline/fixed/SV100-R0.5/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/config.yml rename to artifacts/experiments/baseline/fixed/SV100-R0.5/config.yml diff --git a/artifacts/historical/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-R0.5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-R0.5/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-R0.5/metadata.json b/artifacts/experiments/baseline/fixed/SV100-R0.5/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-R0.5/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-R0.5/metadata.json diff --git a/artifacts/historical/results/SV100-R0.5/metrics.json b/artifacts/experiments/baseline/fixed/SV100-R0.5/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-R0.5/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-R0.5/metrics.json diff --git a/artifacts/historical/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/config.yml b/artifacts/experiments/baseline/fixed/SV100-R1/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/config.yml rename to artifacts/experiments/baseline/fixed/SV100-R1/config.yml diff --git a/artifacts/historical/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-R1/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-R1/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-R1/metadata.json b/artifacts/experiments/baseline/fixed/SV100-R1/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-R1/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-R1/metadata.json diff --git a/artifacts/historical/results/SV100-R1/metrics.json b/artifacts/experiments/baseline/fixed/SV100-R1/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-R1/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-R1/metrics.json diff --git a/artifacts/historical/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/config.yml b/artifacts/experiments/baseline/fixed/SV100-R2/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/config.yml rename to artifacts/experiments/baseline/fixed/SV100-R2/config.yml diff --git a/artifacts/historical/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-R2/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-R2/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-R2/metadata.json b/artifacts/experiments/baseline/fixed/SV100-R2/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-R2/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-R2/metadata.json diff --git a/artifacts/historical/results/SV100-R2/metrics.json b/artifacts/experiments/baseline/fixed/SV100-R2/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-R2/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-R2/metrics.json diff --git a/artifacts/historical/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/config.yml b/artifacts/experiments/baseline/fixed/SV100-R5/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/config.yml rename to artifacts/experiments/baseline/fixed/SV100-R5/config.yml diff --git a/artifacts/historical/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-R5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-R5/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-R5/metadata.json b/artifacts/experiments/baseline/fixed/SV100-R5/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-R5/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-R5/metadata.json diff --git a/artifacts/historical/results/SV100-R5/metrics.json b/artifacts/experiments/baseline/fixed/SV100-R5/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-R5/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-R5/metrics.json diff --git a/artifacts/historical/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/config.yml b/artifacts/experiments/baseline/fixed/SV100-T0.5/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/config.yml rename to artifacts/experiments/baseline/fixed/SV100-T0.5/config.yml diff --git a/artifacts/historical/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-T0.5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-T0.5/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-T0.5/metadata.json b/artifacts/experiments/baseline/fixed/SV100-T0.5/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-T0.5/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-T0.5/metadata.json diff --git a/artifacts/historical/results/SV100-T0.5/metrics.json b/artifacts/experiments/baseline/fixed/SV100-T0.5/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-T0.5/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-T0.5/metrics.json diff --git a/artifacts/historical/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/config.yml b/artifacts/experiments/baseline/fixed/SV100-T1/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/config.yml rename to artifacts/experiments/baseline/fixed/SV100-T1/config.yml diff --git a/artifacts/historical/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-T1/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-T1/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-T1/metadata.json b/artifacts/experiments/baseline/fixed/SV100-T1/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-T1/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-T1/metadata.json diff --git a/artifacts/historical/results/SV100-T1/metrics.json b/artifacts/experiments/baseline/fixed/SV100-T1/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-T1/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-T1/metrics.json diff --git a/artifacts/historical/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/config.yml b/artifacts/experiments/baseline/fixed/SV100-T2/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/config.yml rename to artifacts/experiments/baseline/fixed/SV100-T2/config.yml diff --git a/artifacts/historical/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-T2/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-T2/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-T2/metadata.json b/artifacts/experiments/baseline/fixed/SV100-T2/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-T2/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-T2/metadata.json diff --git a/artifacts/historical/results/SV100-T2/metrics.json b/artifacts/experiments/baseline/fixed/SV100-T2/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-T2/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-T2/metrics.json diff --git a/artifacts/historical/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/config.yml b/artifacts/experiments/baseline/fixed/SV100-T5/config.yml similarity index 100% rename from artifacts/historical/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/config.yml rename to artifacts/experiments/baseline/fixed/SV100-T5/config.yml diff --git a/artifacts/historical/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/dataparser_transforms.json b/artifacts/experiments/baseline/fixed/SV100-T5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/dataparser_transforms.json rename to artifacts/experiments/baseline/fixed/SV100-T5/dataparser_transforms.json diff --git a/artifacts/historical/results/SV100-T5/metadata.json b/artifacts/experiments/baseline/fixed/SV100-T5/metadata.json similarity index 100% rename from artifacts/historical/results/SV100-T5/metadata.json rename to artifacts/experiments/baseline/fixed/SV100-T5/metadata.json diff --git a/artifacts/historical/results/SV100-T5/metrics.json b/artifacts/experiments/baseline/fixed/SV100-T5/metrics.json similarity index 100% rename from artifacts/historical/results/SV100-T5/metrics.json rename to artifacts/experiments/baseline/fixed/SV100-T5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-GT/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-GT/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-GT/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-GT/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-GT/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-GT/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-GT/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-GT/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-GT/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-GT/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-GT/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-GT/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-GT/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-GT/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-R0.5/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-R0.5/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-R0.5/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-R0.5/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-R0.5/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-R0.5/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-R0.5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-R0.5/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-R0.5/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-R0.5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-R0.5/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-R0.5/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-R0.5/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-R0.5/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-R1/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-R1/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-R1/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-R1/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-R1/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-R1/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-R1/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-R1/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-R1/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-R1/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-R1/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-R1/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-R1/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-R1/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-R2/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-R2/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-R2/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-R2/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-R2/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-R2/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-R2/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-R2/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-R2/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-R2/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-R2/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-R2/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-R2/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-R2/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-R5/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-R5/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-R5/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-R5/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-R5/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-R5/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-R5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-R5/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-R5/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-R5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-R5/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-R5/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-R5/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-R5/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-T0.5/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-T0.5/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-T0.5/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-T0.5/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-T0.5/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-T0.5/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-T0.5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-T0.5/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-T0.5/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-T0.5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-T0.5/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-T0.5/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-T0.5/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-T0.5/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-T1/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-T1/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-T1/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-T1/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-T1/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-T1/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-T1/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-T1/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-T1/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-T1/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-T1/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-T1/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-T1/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-T1/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-T2/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-T2/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-T2/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-T2/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-T2/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-T2/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-T2/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-T2/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-T2/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-T2/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-T2/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-T2/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-T2/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-T2/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-T5/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-T5/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/camp/SV100-T5/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/camp/SV100-T5/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml b/artifacts/experiments/pose_optimization/camp/SV100-T5/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml rename to artifacts/experiments/pose_optimization/camp/SV100-T5/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/camp/SV100-T5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/camp/SV100-T5/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/camp/SV100-T5/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/camp/SV100-T5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/camp/SV100-T5/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/camp/SV100-T5/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/camp/SV100-T5/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/camp/SV100-T5/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-GT/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-GT/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-GT/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-GT/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-GT/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-GT/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-GT/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-GT/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-GT/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-GT/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-GT/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-GT/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-GT/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-GT/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-R0.5/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-R0.5/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-R0.5/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-R0.5/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-R0.5/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-R0.5/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-R0.5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-R0.5/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-R0.5/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-R0.5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-R0.5/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-R0.5/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-R0.5/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-R0.5/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-R1/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-R1/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-R1/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-R1/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-R1/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-R1/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-R1/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-R1/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-R1/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-R1/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-R1/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-R1/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-R1/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-R1/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-R2/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-R2/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-R2/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-R2/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-R2/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-R2/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-R2/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-R2/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-R2/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-R2/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-R2/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-R2/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-R2/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-R2/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-R5/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-R5/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-R5/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-R5/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-R5/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-R5/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-R5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-R5/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-R5/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-R5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-R5/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-R5/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-R5/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-R5/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-T0.5/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-T0.5/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-T0.5/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-T0.5/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-T0.5/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-T0.5/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-T0.5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-T0.5/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-T0.5/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-T0.5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-T0.5/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-T0.5/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-T0.5/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-T0.5/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-T1/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-T1/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-T1/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-T1/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-T1/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-T1/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-T1/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-T1/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-T1/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-T1/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-T1/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-T1/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-T1/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-T1/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-T2/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-T2/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-T2/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-T2/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-T2/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-T2/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-T2/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-T2/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-T2/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-T2/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-T2/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-T2/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-T2/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-T2/train_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/analysis_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-T5/analysis_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/analysis_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-T5/analysis_complete.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/conditioning.json b/artifacts/experiments/pose_optimization/naive/SV100-T5/conditioning.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/conditioning.json rename to artifacts/experiments/pose_optimization/naive/SV100-T5/conditioning.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml b/artifacts/experiments/pose_optimization/naive/SV100-T5/config.yml similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml rename to artifacts/experiments/pose_optimization/naive/SV100-T5/config.yml diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/pose_optimization/naive/SV100-T5/dataparser_transforms.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/pose_optimization/naive/SV100-T5/dataparser_transforms.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/metrics.json b/artifacts/experiments/pose_optimization/naive/SV100-T5/metrics.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/metrics.json rename to artifacts/experiments/pose_optimization/naive/SV100-T5/metrics.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/optimized_poses.json b/artifacts/experiments/pose_optimization/naive/SV100-T5/optimized_poses.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/optimized_poses.json rename to artifacts/experiments/pose_optimization/naive/SV100-T5/optimized_poses.json diff --git a/artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/train_complete.json b/artifacts/experiments/pose_optimization/naive/SV100-T5/train_complete.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/train_complete.json rename to artifacts/experiments/pose_optimization/naive/SV100-T5/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-GT/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-GT/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-GT/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-GT/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-GT/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-GT/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-GT/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-GT/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-GT/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-GT/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-GT/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-GT/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-GT/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-GT/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-GT/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-GT/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-GT/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-GT/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-GT/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-GT/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-GT/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-GT/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-GT/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-GT/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-R0.5/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-R0.5/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-R0.5/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-R0.5/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-R0.5/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-R0.5/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-R0.5/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-R0.5/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-R0.5/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-R0.5/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-R0.5/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-R0.5/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-R0.5/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-R0.5/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-R1/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-R1/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R1/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-R1/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-R1/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-R1/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R1/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-R1/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-R1/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-R1/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-R1/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-R1/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-R1/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-R1/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R1/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-R1/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-R1/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-R1/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R1/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-R1/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-R1/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-R1/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R1/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-R1/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-R2/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-R2/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R2/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-R2/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-R2/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-R2/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R2/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-R2/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-R2/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-R2/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-R2/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-R2/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-R2/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-R2/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R2/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-R2/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-R2/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-R2/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R2/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-R2/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-R2/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-R2/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R2/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-R2/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-R5/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-R5/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R5/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-R5/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-R5/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-R5/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R5/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-R5/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-R5/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-R5/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-R5/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-R5/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-R5/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-R5/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R5/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-R5/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-R5/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-R5/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R5/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-R5/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-R5/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-R5/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-R5/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-R5/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-T0.5/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-T0.5/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-T0.5/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-T0.5/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-T0.5/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-T0.5/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-T0.5/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-T0.5/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-T0.5/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-T0.5/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-T0.5/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-T0.5/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-T0.5/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-T0.5/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-T1/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-T1/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T1/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-T1/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-T1/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-T1/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T1/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-T1/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-T1/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-T1/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-T1/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-T1/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-T1/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-T1/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T1/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-T1/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-T1/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-T1/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T1/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-T1/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-T1/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-T1/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T1/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-T1/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-T2/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-T2/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T2/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-T2/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-T2/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-T2/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T2/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-T2/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-T2/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-T2/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-T2/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-T2/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-T2/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-T2/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T2/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-T2/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-T2/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-T2/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T2/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-T2/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-T2/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-T2/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T2/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-T2/train_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-T5/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/camp/SV100-T5/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T5/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/camp/SV100-T5/analysis_complete.json diff --git a/artifacts/warmup/experiments/camp/SV100-T5/attempt_001/conditioning.json b/artifacts/experiments/warmup/camp/SV100-T5/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T5/attempt_001/conditioning.json rename to artifacts/experiments/warmup/camp/SV100-T5/conditioning.json diff --git a/artifacts/warmup/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml b/artifacts/experiments/warmup/camp/SV100-T5/config.yml similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml rename to artifacts/experiments/warmup/camp/SV100-T5/config.yml diff --git a/artifacts/warmup/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/dataparser_transforms.json b/artifacts/experiments/warmup/camp/SV100-T5/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/dataparser_transforms.json rename to artifacts/experiments/warmup/camp/SV100-T5/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/camp/SV100-T5/attempt_001/metrics.json b/artifacts/experiments/warmup/camp/SV100-T5/metrics.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T5/attempt_001/metrics.json rename to artifacts/experiments/warmup/camp/SV100-T5/metrics.json diff --git a/artifacts/warmup/experiments/camp/SV100-T5/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/camp/SV100-T5/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T5/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/camp/SV100-T5/optimized_poses.json diff --git a/artifacts/warmup/experiments/camp/SV100-T5/attempt_001/train_complete.json b/artifacts/experiments/warmup/camp/SV100-T5/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/camp/SV100-T5/attempt_001/train_complete.json rename to artifacts/experiments/warmup/camp/SV100-T5/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-GT/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-GT/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-GT/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-GT/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-GT/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-GT/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-GT/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-GT/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-GT/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-GT/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-GT/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-GT/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-GT/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-GT/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-GT/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-GT/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-GT/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-GT/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-GT/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-GT/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-GT/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-GT/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-GT/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-GT/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-R0.5/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-R0.5/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-R0.5/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-R0.5/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-R0.5/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-R0.5/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-R0.5/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-R0.5/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-R0.5/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-R0.5/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-R0.5/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-R0.5/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-R0.5/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-R0.5/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-R1/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-R1/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R1/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-R1/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-R1/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-R1/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R1/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-R1/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-R1/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-R1/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-R1/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-R1/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-R1/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-R1/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R1/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-R1/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-R1/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-R1/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R1/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-R1/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-R1/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-R1/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R1/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-R1/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-R2/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-R2/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R2/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-R2/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-R2/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-R2/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R2/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-R2/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-R2/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-R2/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-R2/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-R2/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-R2/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-R2/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R2/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-R2/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-R2/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-R2/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R2/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-R2/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-R2/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-R2/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R2/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-R2/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-R5/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-R5/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R5/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-R5/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-R5/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-R5/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R5/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-R5/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-R5/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-R5/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-R5/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-R5/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-R5/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-R5/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R5/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-R5/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-R5/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-R5/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R5/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-R5/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-R5/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-R5/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-R5/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-R5/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-T0.5/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-T0.5/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-T0.5/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-T0.5/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-T0.5/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-T0.5/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-T0.5/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-T0.5/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-T0.5/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-T0.5/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-T0.5/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-T0.5/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-T0.5/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-T0.5/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-T1/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-T1/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T1/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-T1/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-T1/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-T1/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T1/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-T1/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-T1/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-T1/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-T1/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-T1/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-T1/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-T1/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T1/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-T1/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-T1/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-T1/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T1/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-T1/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-T1/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-T1/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T1/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-T1/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-T2/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-T2/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T2/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-T2/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-T2/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-T2/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T2/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-T2/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-T2/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-T2/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-T2/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-T2/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-T2/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-T2/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T2/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-T2/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-T2/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-T2/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T2/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-T2/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-T2/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-T2/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T2/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-T2/train_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-T5/attempt_001/analysis_complete.json b/artifacts/experiments/warmup/naive/SV100-T5/analysis_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T5/attempt_001/analysis_complete.json rename to artifacts/experiments/warmup/naive/SV100-T5/analysis_complete.json diff --git a/artifacts/warmup/experiments/naive/SV100-T5/attempt_001/conditioning.json b/artifacts/experiments/warmup/naive/SV100-T5/conditioning.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T5/attempt_001/conditioning.json rename to artifacts/experiments/warmup/naive/SV100-T5/conditioning.json diff --git a/artifacts/warmup/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml b/artifacts/experiments/warmup/naive/SV100-T5/config.yml similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml rename to artifacts/experiments/warmup/naive/SV100-T5/config.yml diff --git a/artifacts/warmup/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/dataparser_transforms.json b/artifacts/experiments/warmup/naive/SV100-T5/dataparser_transforms.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/dataparser_transforms.json rename to artifacts/experiments/warmup/naive/SV100-T5/dataparser_transforms.json diff --git a/artifacts/warmup/experiments/naive/SV100-T5/attempt_001/metrics.json b/artifacts/experiments/warmup/naive/SV100-T5/metrics.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T5/attempt_001/metrics.json rename to artifacts/experiments/warmup/naive/SV100-T5/metrics.json diff --git a/artifacts/warmup/experiments/naive/SV100-T5/attempt_001/optimized_poses.json b/artifacts/experiments/warmup/naive/SV100-T5/optimized_poses.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T5/attempt_001/optimized_poses.json rename to artifacts/experiments/warmup/naive/SV100-T5/optimized_poses.json diff --git a/artifacts/warmup/experiments/naive/SV100-T5/attempt_001/train_complete.json b/artifacts/experiments/warmup/naive/SV100-T5/train_complete.json similarity index 100% rename from artifacts/warmup/experiments/naive/SV100-T5/attempt_001/train_complete.json rename to artifacts/experiments/warmup/naive/SV100-T5/train_complete.json diff --git a/artifacts/historical/results/dataset_manifest.json b/artifacts/historical/results/dataset_manifest.json deleted file mode 100644 index d1307f3..0000000 --- a/artifacts/historical/results/dataset_manifest.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "SV100-GT": { - "transforms_train.json": "82d46cfbd405d7da8562b6fa75b6fb0631a3f941adf66f0c023acb8bf9ea273a", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64" - }, - "SV100-T0.5": { - "transforms_train.json": "7cde4c785bb22333c009655fef8c709f04e5b0b21ca0885d27942591017282ab", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "pose_noise_metadata.json": "d0fa0d3f4dec78a429d0261a61eef98c0f3718af3c5bfb7ad0e57f8d113b03cf" - }, - "SV100-T1": { - "transforms_train.json": "9a4be23a5002ce12b5a9b5d496806a6cf43cd3b5f07fcc16d53cc14eaec13701", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "pose_noise_metadata.json": "2068468d287c979933803f554076e66e61ab1094bb902ffd52663096b9656530" - }, - "SV100-T2": { - "transforms_train.json": "03d590a3ce935234c419d19703838d911deaf0d1cb38fbc680c9c9a598f10013", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "pose_noise_metadata.json": "6e97924d4a13e9a92ec9982b6a2d72ee745fb1b5e5ace9fd2f8930d785950a11" - }, - "SV100-T5": { - "transforms_train.json": "d49866ed0acc66f33ae721568530b6542afda3f3b8feeba7bceddfe9939eafd9", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "pose_noise_metadata.json": "7e0eb043c631963116b5e7393f35ca8a8fa9d07e9c9a2ccf50d49fc993e800af" - }, - "SV100-R0.5": { - "transforms_train.json": "f31d9774d2bfabf807b3d892499e28d499a31f707190d608e8b0cdc9f40d4db1", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "pose_noise_metadata.json": "d304fc90ed323a39e62cc8346b9b9542681a2d25e92c302176890a87524662f3" - }, - "SV100-R1": { - "transforms_train.json": "460253ec1248cbca94887a44feb3351f7354e3206a17105c3634050e2a8a9f13", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "pose_noise_metadata.json": "4b9b9f3058686b6a6abe7a7bf543a628080c60f06e1136ad14028c4e045ca9af" - }, - "SV100-R2": { - "transforms_train.json": "0fd4dffbdfa1369ff3637a7a4f0750b9e5677421e5b763193209d3dcf6cba281", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "pose_noise_metadata.json": "e56c4abb767214665d81c36c954bd0f0d7c6b06d72ade47d0ea816fd2cc47cb7" - }, - "SV100-R5": { - "transforms_train.json": "b20e27be9f5f87479948b28b40ba31dd76ea0a36730ed06a41e115db93feb686", - "transforms_val.json": "7100ba06021772ff6a0637246666ebe4dc15175a3d092de628486489d459dde1", - "transforms_test.json": "b03adb05593756fdeaacc6c82fc2596270e91fe296e79c9a588df098e4758a64", - "pose_noise_metadata.json": "fb4d7592d7cc11e383dfe8c5e447d77df3845366d4a21920b8442547d7722ae2" - } -} diff --git a/artifacts/manifest.json b/artifacts/manifest.json deleted file mode 100644 index 8333c0f..0000000 --- a/artifacts/manifest.json +++ /dev/null @@ -1,2033 +0,0 @@ -{ - "description": "Byte-identical snapshot of selected local experiment artifacts; original absolute paths are historical provenance, not portable runtime paths.", - "files": [ - { - "source": "outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/config.yml", - "archive": "artifacts/historical/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/config.yml", - "sha256": "543dd4bc339f39d6a03efa70d0d6e1caa336da8877d4db364c8af1fc84781bd6", - "bytes": 5152 - }, - { - "source": "outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/config.yml", - "archive": "artifacts/historical/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/config.yml", - "sha256": "30c9b909c635d04acbd33a6dc8ff644242a37bc6b261536cb26af57b3ef8223a", - "bytes": 5186 - }, - { - "source": "outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/config.yml", - "archive": "artifacts/historical/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/config.yml", - "sha256": "e576e86c57928e0956695c51e1bf8cf614d8c088946e03c668a801ebdd352431", - "bytes": 5182 - }, - { - "source": "outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/config.yml", - "archive": "artifacts/historical/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/config.yml", - "sha256": "13671b5d9e9929203b7ac0993b3a46f02c01cf77af57d87fd1b3eb96b9d6678b", - "bytes": 5182 - }, - { - "source": "outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/config.yml", - "archive": "artifacts/historical/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/config.yml", - "sha256": "52290d9ac1b5671db35f8fd7c0a800e479130dc70a4bb2e6b889fe8a2456f3e9", - "bytes": 5182 - }, - { - "source": "outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/config.yml", - "archive": "artifacts/historical/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/config.yml", - "sha256": "63131410d086c04a2a33764ad7c97fe63f706311b0bde030057462d36f2414de", - "bytes": 5186 - }, - { - "source": "outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/config.yml", - "archive": "artifacts/historical/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/config.yml", - "sha256": "db48cdb56cb4dd8b376e3b43f382423c8d45e9d9303573860c1bfa4586a9a1c0", - "bytes": 5182 - }, - { - "source": "outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/config.yml", - "archive": "artifacts/historical/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/config.yml", - "sha256": "7d5e7bf17cde5c824c4ca1b8761d5f8e4b33703eba878c6c59c6428f563f5779", - "bytes": 5182 - }, - { - "source": "outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/config.yml", - "archive": "artifacts/historical/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/config.yml", - "sha256": "edf9fa4a61567ea9553408a08ad9b4b7df94984fe37a0f19e4fbade03dc4bf3f", - "bytes": 5170 - }, - { - "source": "outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/dataparser_transforms.json", - "archive": "artifacts/historical/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/SV100-GT/metadata.json", - "archive": "artifacts/historical/results/SV100-GT/metadata.json", - "sha256": "31a542b67738fb3d9c4dac7314c702411b864f94632a96edd94ea0cf57c4379a", - "bytes": 792 - }, - { - "source": "results/SV100-GT/metrics.json", - "archive": "artifacts/historical/results/SV100-GT/metrics.json", - "sha256": "6dc54056d3b07b0fe4d3156b33c10b7c9316b36f730236ab3cc3dfa2f47d4c6c", - "bytes": 744 - }, - { - "source": "results/SV100-R0.5/metadata.json", - "archive": "artifacts/historical/results/SV100-R0.5/metadata.json", - "sha256": "1421ae7f488a78a1e9755f041a2cf3af120e4e924da5d534bd1c9acbe095d4c6", - "bytes": 864 - }, - { - "source": "results/SV100-R0.5/metrics.json", - "archive": "artifacts/historical/results/SV100-R0.5/metrics.json", - "sha256": "54777656c886b0f546569910f793c3141bf0dc45420a8c5435d41a765ed7c3ea", - "bytes": 772 - }, - { - "source": "results/SV100-R1/metadata.json", - "archive": "artifacts/historical/results/SV100-R1/metadata.json", - "sha256": "89262618961e48f56d2ee0e32eeaa21497ea9f10909dce3d8a2a7102cea251de", - "bytes": 852 - }, - { - "source": "results/SV100-R1/metrics.json", - "archive": "artifacts/historical/results/SV100-R1/metrics.json", - "sha256": "09812fa1a70f3bbf78eb5c146645592532300252ff9bde3f1a5054db34692880", - "bytes": 765 - }, - { - "source": "results/SV100-R2/metadata.json", - "archive": "artifacts/historical/results/SV100-R2/metadata.json", - "sha256": "9077763ccd8a2417fe7fdb514b581795f352a48158c484f0593c34595326f0fa", - "bytes": 851 - }, - { - "source": "results/SV100-R2/metrics.json", - "archive": "artifacts/historical/results/SV100-R2/metrics.json", - "sha256": "6079fc9478c5c6db6f37ca26767b51579b7e2a466ad7dc39cf3d5af4a3f0385a", - "bytes": 766 - }, - { - "source": "results/SV100-R5/metadata.json", - "archive": "artifacts/historical/results/SV100-R5/metadata.json", - "sha256": "216bde176e13b6c12d257b6aefa654e35781a48c0176ebed95c7cc9d7bf0f55f", - "bytes": 852 - }, - { - "source": "results/SV100-R5/metrics.json", - "archive": "artifacts/historical/results/SV100-R5/metrics.json", - "sha256": "7141aba9193b2e60b8998def267b86f390e19dbac514c2288ba1eae66911627e", - "bytes": 768 - }, - { - "source": "results/SV100-T0.5/metadata.json", - "archive": "artifacts/historical/results/SV100-T0.5/metadata.json", - "sha256": "583b60fe257a94e97a4d60b4024ed9e9f8cd2b3e9209628df6a029d2abc27b4c", - "bytes": 868 - }, - { - "source": "results/SV100-T0.5/metrics.json", - "archive": "artifacts/historical/results/SV100-T0.5/metrics.json", - "sha256": "445f64d42ca4fc03fdcca85d0c1241b17f69108c184f1e2bbac48519a1903ab8", - "bytes": 772 - }, - { - "source": "results/SV100-T1/metadata.json", - "archive": "artifacts/historical/results/SV100-T1/metadata.json", - "sha256": "e8c869ab2dbe6e5fe9c8a03e35f97874fc562d8c0f84c6f143c1ae19d3fd75e8", - "bytes": 832 - }, - { - "source": "results/SV100-T1/metrics.json", - "archive": "artifacts/historical/results/SV100-T1/metrics.json", - "sha256": "2ed67f0c6581f4754b158d6ab55f5dd4c51f3af3515d690c48dbd0176798d598", - "bytes": 755 - }, - { - "source": "results/SV100-T2/metadata.json", - "archive": "artifacts/historical/results/SV100-T2/metadata.json", - "sha256": "4ed3315a2dd000255c1f07f84392c7c74d684bf337032973e281aad9911f22b6", - "bytes": 855 - }, - { - "source": "results/SV100-T2/metrics.json", - "archive": "artifacts/historical/results/SV100-T2/metrics.json", - "sha256": "b4049590ac3249ed7c34462d3d4c8c93c9bbcb890bcaaaf6beada0f8d1bcbb44", - "bytes": 765 - }, - { - "source": "results/SV100-T5/metadata.json", - "archive": "artifacts/historical/results/SV100-T5/metadata.json", - "sha256": "83a3b3dbc5557eda67a57ca5139128941fded9ff29a2eea5e6c4d60ea48de70d", - "bytes": 856 - }, - { - "source": "results/SV100-T5/metrics.json", - "archive": "artifacts/historical/results/SV100-T5/metrics.json", - "sha256": "e28033c94be16c3b6097f94c1c9b068078cc57f7588bdce7224bf78d2963c30b", - "bytes": 767 - }, - { - "source": "results/SV100_full_summary.csv", - "archive": "artifacts/historical/results/SV100_full_summary.csv", - "sha256": "372f82693a73e964601b79c61742baa3154cb8b10379859aa180ce7bee16b2de", - "bytes": 5121 - }, - { - "source": "results/SV100_pipeline_summary.txt", - "archive": "artifacts/historical/results/SV100_pipeline_summary.txt", - "sha256": "3a66a1b6cd853f9a5726a942a2d2c57ec8c23a304a115022473955553209d17b", - "bytes": 1127 - }, - { - "source": "results/SV100_rotation_sweep.csv", - "archive": "artifacts/historical/results/SV100_rotation_sweep.csv", - "sha256": "7e801c45df9c380deecdf62d887558b41645db3f4540468dddb2614e1cb7d31b", - "bytes": 2906 - }, - { - "source": "results/SV100_translation_sweep.csv", - "archive": "artifacts/historical/results/SV100_translation_sweep.csv", - "sha256": "79596118e650bf32ee565897724a91c6447a5e24d0dcf1a0552cb048b344dcc7", - "bytes": 2898 - }, - { - "source": "results/dataset_manifest.json", - "archive": "artifacts/historical/results/dataset_manifest.json", - "sha256": "25294e8d6945de25066bb9c3fd4b37830adca99de0547ab7b923ef851947d298", - "bytes": 3579 - }, - { - "source": "results/environment.txt", - "archive": "artifacts/historical/results/environment.txt", - "sha256": "cb410b9c8bb46ce333dfd9467576a8ac39775e62e4dde434d6966bb0524f4c63", - "bytes": 5443 - }, - { - "source": "results/pipeline_state.json", - "archive": "artifacts/historical/results/pipeline_state.json", - "sha256": "a7135509a20cddb40bb44f5de224819726ccc635ef73d7c346acb33f0bab71f5", - "bytes": 500 - }, - { - "source": "results/poseopt_sv100/environment.txt", - "archive": "artifacts/historical/results/poseopt_sv100/environment.txt", - "sha256": "8268050d362c43a2765764ea71bb8c76d2e927e2ed128c907d6729e77ef31872", - "bytes": 5518 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/analysis_complete.json", - "sha256": "734c28426f37b05ebc80ad687f6f6e93147bff3b9cb185d5fa38f5c1be52508b", - "bytes": 245 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/conditioning.json", - "sha256": "7ce6f41272b01dcae0dfec1f484918f715fa4a3c707c35540fa5cefbc1d49d89", - "bytes": 11205 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/metrics.json", - "sha256": "a2d7d613c67c238f3e6bcd6811263aa67c94c316fb3cb6a1a5fec5be3d33b0ab", - "bytes": 821 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/optimized_poses.json", - "sha256": "f6d301c1085d0a93db2108b18ef0f3799b47b030d3522ee523eec986e6329033", - "bytes": 42540 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml", - "sha256": "867782d6ff77657a3181c8e976ad15e9feb359d766e32dc0e20dbb73b8d0e450", - "bytes": 5717 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/analysis_complete.json", - "sha256": "df845da11685006382f5cb36a456b4d25228c6e18cf15d8be4aef26791e0f2c2", - "bytes": 249 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/conditioning.json", - "sha256": "a9524fed0e59360db6b220e95539b3de38cc98d4ce914029399239a8ab270228", - "bytes": 11214 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/metrics.json", - "sha256": "5dad2871bd06ce49db857baf2171d45078361f41fa968e1c145de37ca9cd7776", - "bytes": 825 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/optimized_poses.json", - "sha256": "492284549a9a1a055f26866832faf6b57cf96a1a626838533893790b93c20031", - "bytes": 42515 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml", - "sha256": "903634313cdfc950c9f9a9507867b322c1f73c9a50b5ce080a2560fe11ff106d", - "bytes": 5741 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/analysis_complete.json", - "sha256": "6d1829f527730266f8ca71bfdc49f07b15b94286c3a3fcdc21216e111b342849", - "bytes": 245 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/conditioning.json", - "sha256": "02268d0c665408b4a63ca6a32d04bb7192f9f1de6893f038484dd190360bb2cc", - "bytes": 11213 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/metrics.json", - "sha256": "8d11e78d44ba66b81e30873685f5dfd476a9f56eb50762f41c86968a9bc58f30", - "bytes": 815 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/optimized_poses.json", - "sha256": "bb7b46e2dec87624b5e2dd07c2c7ce256ce31bbce82c7d0a023e5a021f41c6de", - "bytes": 42542 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml", - "sha256": "793b04fe8701bc14650cda4283ccdbb9c217534bf7d5a5b83f287928133547c2", - "bytes": 5735 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/analysis_complete.json", - "sha256": "849fe33e01ca10625243d7918f76fd7c82b719a9c07431bc751b8bdc8aa96231", - "bytes": 245 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/conditioning.json", - "sha256": "9a0e73dc6ec0d83c4120d0ac709cee4a5e17ce508e3bb0418a4d01ec6358acc9", - "bytes": 11209 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/metrics.json", - "sha256": "5b3ea983fb0be0fe3cdd10291c5c9133e088c002e3eb2db090011b5dd9a07dca", - "bytes": 820 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/optimized_poses.json", - "sha256": "3603fce4444a25062c629342fb81e2a7b687b3e8c19fb3e411b154be60c95da7", - "bytes": 42524 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml", - "sha256": "80abcac57a2cc1cf14eecb3c55678487b45dfac86a9a0c67a0c2e196a2aba44f", - "bytes": 5735 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/analysis_complete.json", - "sha256": "3bbaabc1b3e3d4fce9a65793f950f283343d72520afdc8b9abed032dd9722682", - "bytes": 245 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/conditioning.json", - "sha256": "f4fbc2d3812065d110a54a25d408347927bae17cd90f6f475a76f38604f08bb4", - "bytes": 11212 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/metrics.json", - "sha256": "02993b2f8fe0ae727384677e170a8f6096244cfaf0d32b9725a037936b5081ee", - "bytes": 820 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/optimized_poses.json", - "sha256": "024424811cfc89fe42dffe435a5c29ee3946a9edb00d967eeb9bbdf364c37398", - "bytes": 42486 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml", - "sha256": "5ba18a4823c21e25be04dc7b8eb49f6da3143c0cc7496a6ae2e71c5e3e08893d", - "bytes": 5735 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/analysis_complete.json", - "sha256": "ffb0760179c719ff3da819a67a536be2ffdae04397dc9ba5fdc7b0f17438cdc2", - "bytes": 249 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/conditioning.json", - "sha256": "f42f1ad2556ccf98c190866030ee9b69ab2f2ce00530313ef07a5ba942fc1afb", - "bytes": 11204 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/metrics.json", - "sha256": "d83751be3f0a4676a4d5485b9f928f741bfdb54de537ebb0c6b9efa1631f6a2f", - "bytes": 824 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/optimized_poses.json", - "sha256": "e43dc39cdde5c4e9332706132383f3918742988d7b12d72940587816ce274447", - "bytes": 42561 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml", - "sha256": "d3fe52d005415c8913e73eec819892a879ce290b6e7aebf71f07ebd8919a8c4e", - "bytes": 5741 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/analysis_complete.json", - "sha256": "2acc20669ab24a0a0cff37223bbb668b953201705a87e25a05039915db1c1198", - "bytes": 245 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/conditioning.json", - "sha256": "4c7f9130fe658ef851c8d31be90d176e909a9cef9a96057787c3e3e54515fb58", - "bytes": 11204 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/metrics.json", - "sha256": "7ee3c8fc69f4da6295550ed7ff551ba424dfaf9df8ca0aa9079bad1e08dc21a9", - "bytes": 819 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/optimized_poses.json", - "sha256": "6cf811124ab954c66f50a5b1f4ab5fc0f2efc7c397094a05df6baa82ad4f0439", - "bytes": 42506 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml", - "sha256": "9cdf70b4672fca37381feddabb0e9f283bdd09567e24e9fc66e0b2098ffbd6c5", - "bytes": 5729 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/analysis_complete.json", - "sha256": "0f0fbcdd640d750e960bc17309882da0034006f99859ed0cb8f2a3d07d31df03", - "bytes": 245 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/conditioning.json", - "sha256": "db0f92dc496440848a9bd0f5fc570fb649fe2af01e5eaae33408aa7821e5ab6e", - "bytes": 11214 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/metrics.json", - "sha256": "e0f89fabbd56b4a01fa61ec48b5f8261a1c84cec5408ac6270992c31a6344d5f", - "bytes": 820 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/optimized_poses.json", - "sha256": "5add3bd2be6eb7d208bb4aa912e8d423e7141f0863d1a00496fe5617175d6bb7", - "bytes": 42562 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml", - "sha256": "f71948a48b2fc68e6fa2cdb2ebc66a1df6d4e548d3ddbfcb5a4300e2603598da", - "bytes": 5735 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/analysis_complete.json", - "sha256": "0a6a824f21942b8b63d20d0c27fb543675304ff73c3442a4dc9f701be6dd10c8", - "bytes": 245 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/conditioning.json", - "sha256": "30965c81e6e652568c555c91ae96222dffd5fe2807d43fd7196f3ea8c6b4995f", - "bytes": 11217 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/metrics.json", - "sha256": "dc8f07dd12c16ad62230b3f0b3f347b96648378c0e8a82f0adc119adcfcef6d3", - "bytes": 820 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/optimized_poses.json", - "sha256": "c991f541ef1ae62bbc9c54dc08375b0d52d31a8bf23d113e630259c6d60e435c", - "bytes": 42571 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml", - "sha256": "771814d093ce13e77890bbb28c28c23c2b7bebe32e99f1b55bdf855a48b0b2b2", - "bytes": 5735 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/analysis_complete.json", - "sha256": "453f2b7c80079da5d9f0c453365784daf68d090a5c1e7838410bf4c2618105de", - "bytes": 247 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/metrics.json", - "sha256": "a8b7c5875459c13de04d09d155a8e2edbe89140247dead193da6be50e0ab3b12", - "bytes": 822 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/optimized_poses.json", - "sha256": "cbcd19afeb978cefdfef2fa1a82e4af29d2ae605fb473750cc841ff3bc615917", - "bytes": 42528 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml", - "sha256": "10004899b4e9dea74f247fc86dc17032b6db889e50a74f9194e76e7afc78ca40", - "bytes": 5720 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/analysis_complete.json", - "sha256": "fec303e0e9fa7a41f2e7a0726f098cdb757f407949b4d1fe1a1e31c40c739ccf", - "bytes": 251 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/metrics.json", - "sha256": "8ce2348b6dda7436dc09716c77c066879836ba3363417f149fefa0ab93d9b8ca", - "bytes": 824 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/optimized_poses.json", - "sha256": "6bcdf9a171381ef69d73ccb2f422ae60669d6dd0965200bd76e5813a5fb974c2", - "bytes": 42575 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml", - "sha256": "77b201170092be7e9387c92b816e051976d7033152b8cdd65ac4b00a17a72f8a", - "bytes": 5744 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/analysis_complete.json", - "sha256": "8f90f74dc988b2663f14fcb23ceadfed6bedcb9e5f074590d3702740c4793e0a", - "bytes": 247 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/metrics.json", - "sha256": "a70a83f5c89da5b7a24455f422e8f61e353b2b5dc7e9a15d31e5550d649a019d", - "bytes": 823 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/optimized_poses.json", - "sha256": "fdb4d884ee10d35034d53a5fcc822ccd9ae1d58bfb63779735ffb5f12777be56", - "bytes": 42577 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml", - "sha256": "f5e4d121d0e14b12bdf4c3e314d0e0fb85f441f8201766da554cb0f269972878", - "bytes": 5738 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/analysis_complete.json", - "sha256": "6451bc76fcddbbd5df210748c37eba27773b9d7b5510a7e2355732facbcc1b68", - "bytes": 247 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/metrics.json", - "sha256": "fd4a290fdf5a6bfd477d597f9369595f993f08ce7406d5b6949cbc4acda7b0d8", - "bytes": 822 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/optimized_poses.json", - "sha256": "ddd9b18b14d6cb5e88a7d8ea8bc66ea52f35a75c4eaa610fdbe3b980c670a347", - "bytes": 42498 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml", - "sha256": "22a91f57992f1e134e971195c5deb5a3f76e1310b8ec22fdb0f214a8cb38b0df", - "bytes": 5738 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/analysis_complete.json", - "sha256": "fdf9e0e52f26667561c545b7933e2ab19470087b5e53d81f5968d3ddd68dc385", - "bytes": 247 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/metrics.json", - "sha256": "c64d30fcab7165817495b69fdfade6bbf3e966caf5c2c62565b01442b97c47f7", - "bytes": 820 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/optimized_poses.json", - "sha256": "add1735a2880b7c41115344f23711d7dc37691327d3fd192d39fd581b2ec898e", - "bytes": 42477 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml", - "sha256": "06dc8169c829d885fe4fdc0d6c8b5a0123561e90cf8676702a3796abc7bb6876", - "bytes": 5738 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/analysis_complete.json", - "sha256": "0e3208c7bec5f363e2649b48dffdd4fa1628968afc667219880f360ccdaaa0e0", - "bytes": 251 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/metrics.json", - "sha256": "447f31d56076c92022a826a79bfd2b3f5601b7f6471c8bdd00cb546d35b6b5bc", - "bytes": 825 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/optimized_poses.json", - "sha256": "c8cc359a0deceac001a465a2ff5b818e2155521d86b925b52fec7d9b809a22f4", - "bytes": 42586 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml", - "sha256": "fc253776c726510e49d4dfb7ff7cd9299bc714d0be2c0fdb2d930c5c204c2ac4", - "bytes": 5744 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/analysis_complete.json", - "sha256": "bcfabba5a44d66f537fab4f91b5b2266c56b5d16dec37b288eb1b3f738f4fe8d", - "bytes": 247 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/metrics.json", - "sha256": "1d1c1cb060c0243a7a78c97f719b882cdc1445b5a39d642d329ae9b27b60edca", - "bytes": 820 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/optimized_poses.json", - "sha256": "170bc140ed3dffcfe4bf64c25f5fdd7057426185a8214852c0586369ac530e1a", - "bytes": 42491 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml", - "sha256": "565bdfbfd846c2376e74103ddca3ccbc210cf94e0960eaa95c4db0d387fd2d63", - "bytes": 5732 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/analysis_complete.json", - "sha256": "fcde0996fbdaef4dca552118bfda46b1c535bf4d0b46535c6a1327a529292c10", - "bytes": 247 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/metrics.json", - "sha256": "b3bcecd4f79839305739aa4e4936a56f7cfa8d51298f1340e10dee7e59a6e434", - "bytes": 820 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/optimized_poses.json", - "sha256": "8710127a9cfcba53ceb353803f5bf02a1eacbd8a9f59050a7b425bb974217fb0", - "bytes": 42494 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml", - "sha256": "7372a467174e8dbe6b3ea11ff0f49101b3e9c9817f24f758648b3ed85d30cd26", - "bytes": 5738 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/analysis_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/analysis_complete.json", - "sha256": "11ec3bb4a509d6eed9d9eeb4c4491bdbb55390fa7e5ee94b6c88ef87d8475f3b", - "bytes": 247 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/conditioning.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/metrics.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/metrics.json", - "sha256": "f41049d5c5448bbfd81e3d01c5d63abace760badae222a8cf0951d3d921e8147", - "bytes": 818 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/optimized_poses.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/optimized_poses.json", - "sha256": "79433e8fd61796c147f467af30986f4c67a7616df55ab14d0175eb39aee25a75", - "bytes": 42552 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml", - "sha256": "f9481469a0c19362456e1505c264304ad03a54b9095c354a096b600a58f843b6", - "bytes": 5738 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/train_complete.json", - "archive": "artifacts/historical/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100/manifest.json", - "archive": "artifacts/historical/results/poseopt_sv100/manifest.json", - "sha256": "b20b836d84c4a3737e0c1176819281f20f1f15fb54554751fd5998051a6cbf7d", - "bytes": 9406 - }, - { - "source": "results/poseopt_sv100/naive_failure_analysis.md", - "archive": "artifacts/historical/results/poseopt_sv100/naive_failure_analysis.md.txt", - "sha256": "534f5736fdcdbe0024401ec714ad13b8260ebd6567fe8d0b291a491f57f5b217", - "bytes": 5575 - }, - { - "source": "results/poseopt_sv100/report.md", - "archive": "artifacts/historical/results/poseopt_sv100/report.md.txt", - "sha256": "4b0372bd7cd4dc9a8e71ccaa024e16bd9ea85864ab622a4c17e5efcd8096dd44", - "bytes": 13424 - }, - { - "source": "results/poseopt_sv100/state.json", - "archive": "artifacts/historical/results/poseopt_sv100/state.json", - "sha256": "a4565075b7082dc15c9bc987aff384e051f5463fd39a503551bb228b878219c3", - "bytes": 17613 - }, - { - "source": "results/poseopt_sv100/summary.csv", - "archive": "artifacts/historical/results/poseopt_sv100/summary.csv", - "sha256": "14b4be76ffb1579bb18403cf5d81b5e973ff1543617e04b3cfb8d460b56106ff", - "bytes": 4152 - }, - { - "source": "results/poseopt_sv100_warmup2500/analysis/paired_metrics.csv", - "archive": "artifacts/warmup/paired_metrics.csv", - "sha256": "6b8220b3f6d4c11885ff915b115ca98d09f272c7ea83395cc5dac8da897674b9", - "bytes": 8523 - }, - { - "source": "results/poseopt_sv100_warmup2500/analysis/aggregate_metrics.json", - "archive": "artifacts/warmup/aggregate_metrics.json", - "sha256": "f4ec0c98325e868a1e645336093de22cee6dd36f9dec767352a0d8ece4290d86", - "bytes": 2247 - }, - { - "source": "results/poseopt_sv100_warmup2500/analysis/quality_comparison.png", - "archive": "artifacts/warmup/quality_comparison.png", - "sha256": "cb0c9a259490e78bd26839250c84622caa355a19567233b183459024fdd40c44", - "bytes": 180780 - }, - { - "source": "results/poseopt_sv100_warmup2500/analysis/gt_early_pose_drift.png", - "archive": "artifacts/warmup/gt_early_pose_drift.png", - "sha256": "ba731be34c5326df0651003dff1f1878dad93efb924de8a03570cfc81b252586", - "bytes": 220170 - }, - { - "source": "results/poseopt_sv100_warmup2500/analysis/report.md", - "archive": "artifacts/warmup/report.md", - "sha256": "43527be347918de247bf910d80a02127a3ea5aaf73b05be747271a77218e7301", - "bytes": 4597 - }, - { - "source": "results/poseopt_sv100_warmup2500/summary.csv", - "archive": "artifacts/warmup/summary.csv", - "sha256": "0e60a462b753cd343ddba759c3c87186cf31763d7bfe41d8c17d900b44dcc77d", - "bytes": 4145 - }, - { - "source": "results/poseopt_sv100_warmup2500/manifest.json", - "archive": "artifacts/warmup/manifest.json", - "sha256": "620b4009de25523cfd99bbc5aadc9487954552c450a688a7d9104627ac759c54", - "bytes": 9406 - }, - { - "source": "results/poseopt_sv100_warmup2500/state.json", - "archive": "artifacts/warmup/state.json", - "sha256": "a84fa8b2208ef3ded4439b6683ac9e5eb40b6ba165bef93fc095aa75a00a5aee", - "bytes": 18436 - }, - { - "source": "results/poseopt_sv100_warmup2500/environment.txt", - "archive": "artifacts/warmup/environment.txt", - "sha256": "306b9ed1c93ad8720c3cac8fd8a788ec9ff522a2a9d9eb46706fd0aa6369980f", - "bytes": 5518 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-GT/attempt_001/analysis_complete.json", - "sha256": "d875bb6359ff0369b17530ddf815e5ac2a0480b4500735226162f6901d782711", - "bytes": 258 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-GT/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-GT/attempt_001/metrics.json", - "sha256": "4915e3d35e8ff1d6788ec722538e4a23b10583cf60ee4ffde2b297683c256378", - "bytes": 835 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-GT/attempt_001/optimized_poses.json", - "sha256": "3a1c29bfa7cbe4bb86abfac0ef6d297761d4a9f7922824d566b70857bd868717", - "bytes": 42516 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-GT/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml", - "sha256": "b46dba316b6b631a37b24ebd3a152bfed6036b04e371582da7b976eca10f5ee2", - "bytes": 5734 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/analysis_complete.json", - "sha256": "1eea4f535532a2a826bad514018889892f0db0bb357e66e986c64e0cfb7e99d6", - "bytes": 262 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/metrics.json", - "sha256": "1947ad45027e78260e4da642f623b76f021d138749fa222160ffe095e03a6c4e", - "bytes": 840 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/optimized_poses.json", - "sha256": "23953594ffcb48ff743cb4a51989276a9dedc9b61632d37eb630bf88d91e012d", - "bytes": 42559 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml", - "sha256": "905e320e77ae835721931750cc603f411d46b441cbcb623d84bd9ce571a3cd7f", - "bytes": 5758 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T1/attempt_001/analysis_complete.json", - "sha256": "9b546c6c24a1b19cc045be87581d2254721430977a90dca514ee91fcc42159e6", - "bytes": 258 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T1/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T1/attempt_001/metrics.json", - "sha256": "1d525492522d1a02bf3ebe868b7605a499b77606e3e0dc4c3500a4e0157963ae", - "bytes": 832 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T1/attempt_001/optimized_poses.json", - "sha256": "61f444c1b016a060c3d698025a68d85f44a290db8852b12be044d598dc6be990", - "bytes": 42598 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T1/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml", - "sha256": "45081c181b84f4f2bd5f20657e1c0b86fcb349f0e47160a50e54e350b3222554", - "bytes": 5746 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T2/attempt_001/analysis_complete.json", - "sha256": "9387d090b7d59d76069a39d915e92a5763c3bb5e51d1d23dfc2f47c90b5136c8", - "bytes": 258 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T2/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T2/attempt_001/metrics.json", - "sha256": "2f0c428714420e027134e91a3ec718f4f38ed8be8c5e6ba6fe6bade7b61bf838", - "bytes": 834 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T2/attempt_001/optimized_poses.json", - "sha256": "356aebce9e844fdfff03f92a4090217f7b9708f90b5013c15b0622f9c53bf684", - "bytes": 42591 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T2/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml", - "sha256": "5dd575e8aa1497e51e506294e8dbf0c6041f44c18e8a10fd85641e9e8bb3c148", - "bytes": 5752 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T5/attempt_001/analysis_complete.json", - "sha256": "6801129f5e5a3866180be96e0d83c5ab444346e471b54ddab64f817eeaee1178", - "bytes": 258 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T5/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T5/attempt_001/metrics.json", - "sha256": "7c9307e9d56cd56316ff37e209756e48cb703e71e1569db30d852e9806348566", - "bytes": 835 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T5/attempt_001/optimized_poses.json", - "sha256": "ac7f9c512c4de0cb7accd5111017b6d0f6cb16e93b02200ce45d9849b54761a6", - "bytes": 42521 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml", - "sha256": "f57e28c58508dc2f97e2b34c5cb1f4e624ecec57cd668c93e0a0c83d0ee2d2a6", - "bytes": 5752 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/analysis_complete.json", - "sha256": "de6521d6fafd2ffcc88895c305d31e262688f36816af3fd953f881a8b5574035", - "bytes": 262 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/metrics.json", - "sha256": "a1f8597e792055dec80fabfe63b0021d1120d58affc4ccbc602777d8c91411b1", - "bytes": 838 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/optimized_poses.json", - "sha256": "84c8dd1c8778244c93ad4bf4d15c9df363270b416564fbb206c30d2754421f77", - "bytes": 42541 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml", - "sha256": "35a5f201709753e6fec6f7c4560909a4e77b97b3495bdd87931183e15617dd18", - "bytes": 5758 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R1/attempt_001/analysis_complete.json", - "sha256": "693108baee6b4c9b262eb3b6adfda171647c4a622a77e4bd5b7bb0cceef0f7e0", - "bytes": 258 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R1/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R1/attempt_001/metrics.json", - "sha256": "6c5d23974981af60fc522fb295e222a5a82cc99d074b74f14c34ee401d237d5f", - "bytes": 832 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R1/attempt_001/optimized_poses.json", - "sha256": "cdbe2c886830780b68d37362863218006ebd4a20c88934ffdf7cde8514ead583", - "bytes": 42549 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R1/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml", - "sha256": "1833245fd994be83345256fc0d1f9bf40e087d85867d260702af7ac6b42bf294", - "bytes": 5752 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R2/attempt_001/analysis_complete.json", - "sha256": "99deaf07f0b495e938f26a608a6d2aa0960acd765ef8c0d58958ecf573f0ee60", - "bytes": 258 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R2/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R2/attempt_001/metrics.json", - "sha256": "86474c492c23675d051a55ec980ddae594aad7b37e6abe2686e399ae69ff5d8d", - "bytes": 838 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R2/attempt_001/optimized_poses.json", - "sha256": "0ed0b2d830f0ee0e7b4336477b7e6bb4a4d13cf4e7f77976ccaff8e61df85b3a", - "bytes": 42489 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R2/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml", - "sha256": "ebaeebbd5963522a8b6b5c1ac86177d5a379752be2c8b632666b9d327eb888bf", - "bytes": 5752 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R5/attempt_001/analysis_complete.json", - "sha256": "3122324030e25e2a35d698e3b53f1e0a7227d07c6a8a6ea3e5132354b0e9242f", - "bytes": 258 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R5/attempt_001/conditioning.json", - "sha256": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570", - "bytes": 3 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R5/attempt_001/metrics.json", - "sha256": "21a6cbbbcfe3e0df5003d17fedbe43262194185d790cb6052a376c07821101d7", - "bytes": 835 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R5/attempt_001/optimized_poses.json", - "sha256": "7233a6541f9ce3818091ea8b068e3f146a05475bfa5e92f5f37b02645a0ce187", - "bytes": 42506 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml", - "archive": "artifacts/warmup/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml", - "sha256": "e7a7f2129ca8f9fb2dcc03edeb8891074c5844f426d2b670c30aa45900df484a", - "bytes": 5752 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-GT/attempt_001/analysis_complete.json", - "sha256": "7823175e27f0a4a52c6d699c5184c182b71fd991d82cdd71d92c9bd72ada6636", - "bytes": 256 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-GT/attempt_001/conditioning.json", - "sha256": "7ce6f41272b01dcae0dfec1f484918f715fa4a3c707c35540fa5cefbc1d49d89", - "bytes": 11205 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-GT/attempt_001/metrics.json", - "sha256": "c8e6a97887c7b2f26c100d8cb61893e28fe6a0484ced83aea54501dd0d436ff6", - "bytes": 823 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-GT/attempt_001/optimized_poses.json", - "sha256": "27b51795e42fa90443703cebf034812eef69bed60f343585b3a70890cf80330c", - "bytes": 42590 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-GT/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml", - "sha256": "cd6c5a3ee259ddc1897999ee79bf2330f933540c730e3e66ac30d97b46dab67f", - "bytes": 5731 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/analysis_complete.json", - "sha256": "f4590f8c2a09822923eae158d6c6880317474c96c7101355afccc870e70260a5", - "bytes": 260 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/conditioning.json", - "sha256": "f42f1ad2556ccf98c190866030ee9b69ab2f2ce00530313ef07a5ba942fc1afb", - "bytes": 11204 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/metrics.json", - "sha256": "515a3278bf2acb4ef52080e052b9d3e45534153814d8658e5707a2a310ca0e35", - "bytes": 836 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/optimized_poses.json", - "sha256": "6a23b164a760a55db13f4a7476666f2763a086e3159d7a53fa4c1ac12c4d118c", - "bytes": 42529 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml", - "sha256": "bdfb0ff2a5ef14eed18854c4ac591e74b17daa8317cbbd84f8bb4aa7ec704113", - "bytes": 5755 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T1/attempt_001/analysis_complete.json", - "sha256": "0f01c553de1cbae58de6fa1e64dc08162c633415cb971083f468bb562babed4a", - "bytes": 256 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T1/attempt_001/conditioning.json", - "sha256": "4c7f9130fe658ef851c8d31be90d176e909a9cef9a96057787c3e3e54515fb58", - "bytes": 11204 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T1/attempt_001/metrics.json", - "sha256": "3ed207ac385a18b94f8088897c6b23880c83b02b85a13934e0670ac221688cfc", - "bytes": 831 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T1/attempt_001/optimized_poses.json", - "sha256": "9413ff3e2b46e6fee07537d597379d35884ad816e67b9f885e566d3319927391", - "bytes": 42576 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T1/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml", - "sha256": "bd80129daf6dc697ba09a83f399fdf7d59209dd48dade8b23132ec1881388cbf", - "bytes": 5743 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T2/attempt_001/analysis_complete.json", - "sha256": "195dc8c081f4eca7cce64786d384855bb8b066028a305c0a4749cd05f7cd5af2", - "bytes": 256 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T2/attempt_001/conditioning.json", - "sha256": "db0f92dc496440848a9bd0f5fc570fb649fe2af01e5eaae33408aa7821e5ab6e", - "bytes": 11214 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T2/attempt_001/metrics.json", - "sha256": "a72f43ace9ad1225907fd61e492956d95e82b40946ee98a630f18c70d88373e6", - "bytes": 828 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T2/attempt_001/optimized_poses.json", - "sha256": "602cf71447ce1b2b1b8f2d764ff8e33fa3231bc1f55c643aca5dd29a82fb1172", - "bytes": 42565 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T2/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml", - "sha256": "dc700bcac183ddb488d44127ce1d01339df32e9c14b50c1395bfdebb556935a3", - "bytes": 5749 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T5/attempt_001/analysis_complete.json", - "sha256": "8511c85678e65a393b4071b777b7377ddbe023372026141376a56ed437eeb9e7", - "bytes": 256 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T5/attempt_001/conditioning.json", - "sha256": "30965c81e6e652568c555c91ae96222dffd5fe2807d43fd7196f3ea8c6b4995f", - "bytes": 11217 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T5/attempt_001/metrics.json", - "sha256": "d44ddce4ffa8b51550a86d25720dc196b982e4bd7439d5754c59f99ee7c2f0b9", - "bytes": 831 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T5/attempt_001/optimized_poses.json", - "sha256": "f494751f737d8b2e44d61031cdec4bc2de389475316f3d4d8591342f0d744c9b", - "bytes": 42553 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml", - "sha256": "dc83da13ef01526ba245c5d67a38e608a8b79a52007e407681ae1577847e5a71", - "bytes": 5749 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/conditioning.json", - "sha256": "a9524fed0e59360db6b220e95539b3de38cc98d4ce914029399239a8ab270228", - "bytes": 11214 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/optimized_poses.json", - "sha256": "5470881bfe96ada66b2418b0cd0232e7577cffb6e1e15cd8d5df54934053ab12", - "bytes": 42548 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/metrics.json", - "sha256": "74140cf75c3e3a6fe8960e837a881f14ffa4a33b90c4996a369080a23a8537f2", - "bytes": 837 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/analysis_complete.json", - "sha256": "288adb1d1578b519ec29b376512c8bd2318c7046f7c7cc9faf00100e2978126b", - "bytes": 260 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml", - "sha256": "1bca714406b2311bd0aa622756d9635510bdd782eb51a27fd9710a156329b37e", - "bytes": 5755 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R1/attempt_001/conditioning.json", - "sha256": "02268d0c665408b4a63ca6a32d04bb7192f9f1de6893f038484dd190360bb2cc", - "bytes": 11213 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R1/attempt_001/optimized_poses.json", - "sha256": "8f5eb202b4d1bc0692bc30a7a05a5e64847ba92814b1a2df43a0f0fdde75fa42", - "bytes": 42507 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R1/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R1/attempt_001/metrics.json", - "sha256": "0e8563c88814b870c9183c12b90f3b5ce0a6c8422314402dd1b447f47c4b00ad", - "bytes": 826 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R1/attempt_001/analysis_complete.json", - "sha256": "4eede053bbde006301f5a574f19743249d00d0707e6bc51c34ea05969606d4ee", - "bytes": 256 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml", - "sha256": "f9e1e34f10060be1d954b0c6728937842f8490b9f09a3c0756c3908e4685e7f6", - "bytes": 5749 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R2/attempt_001/conditioning.json", - "sha256": "9a0e73dc6ec0d83c4120d0ac709cee4a5e17ce508e3bb0418a4d01ec6358acc9", - "bytes": 11209 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R2/attempt_001/optimized_poses.json", - "sha256": "65c3c0b392e07cb91764e9a95a758630fc66b59ba6be0848d3b433fc3fcdfe54", - "bytes": 42553 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R2/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R2/attempt_001/metrics.json", - "sha256": "3f5e3ae80db29072841c645ef0773efee4dc8675a9fb84543f5b9a963bd048d8", - "bytes": 832 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R2/attempt_001/analysis_complete.json", - "sha256": "70f3784368c16ac3e6ea89be62bb18ed3a5d0f1ad1366ea9daa561fd231d2b9f", - "bytes": 256 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml", - "sha256": "c2f9cd458c2d8fe3b63253f254cd91fdb09730fc8e1d8837bf6f34742b5eafee", - "bytes": 5749 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/conditioning.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R5/attempt_001/conditioning.json", - "sha256": "f4fbc2d3812065d110a54a25d408347927bae17cd90f6f475a76f38604f08bb4", - "bytes": 11212 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/optimized_poses.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R5/attempt_001/optimized_poses.json", - "sha256": "e6546ab71dab3ffc7dbc640576c88f0c073399d1d5049ed0aeaf5bd08753bd9d", - "bytes": 42521 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/train_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R5/attempt_001/train_complete.json", - "sha256": "86069d681161e715e334d72d8b0488c666de0af915be2eff672f3a49584a8645", - "bytes": 45 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/metrics.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R5/attempt_001/metrics.json", - "sha256": "c11246fc2d5e0aeb09e6ee2346b6449378975ac3d8c93494668415d439cd4755", - "bytes": 824 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/analysis_complete.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R5/attempt_001/analysis_complete.json", - "sha256": "135882207453a5c6d8e76c368fcedd515f10a97389cde5d4bff4a2eff8990240", - "bytes": 256 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml", - "archive": "artifacts/warmup/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml", - "sha256": "e8f8556cfbfaf2da64312ae11b6848b724b128dfb58ddeb21b1812fe64b57d20", - "bytes": 5749 - }, - { - "source": "results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/dataparser_transforms.json", - "archive": "artifacts/warmup/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/dataparser_transforms.json", - "sha256": "cfde5a0b56196becaa05a0dfda415ff7ed14caa51291cce74e462a2a888e5c21", - "bytes": 309 - }, - { - "source": "results/alignment_gt_full/summary.csv", - "archive": "artifacts/alignment_gt_full/summary.csv", - "sha256": "18373ed32d4021eec9a82bcdcf3b55ba4839441690afb87804fab192d4940320", - "bytes": 1133 - }, - { - "source": "results/alignment_gt_full/report.md", - "archive": "artifacts/alignment_gt_full/report.md", - "sha256": "c1771aed45051098b0c783b00a1f508b4de4d9a1d6388a789eee7b67ef4d66ba", - "bytes": 1082 - }, - { - "source": "results/alignment_gt_full/findings.md", - "archive": "artifacts/alignment_gt_full/findings.md", - "sha256": "4aac0b16a69fcf30d0aed617b062d38e2142ff0e6eaf29d859cd4eaeda917e86", - "bytes": 1341 - }, - { - "source": "results/alignment_gt_full/metrics_comparison.png", - "archive": "artifacts/alignment_gt_full/metrics_comparison.png", - "sha256": "1445f5b224371957a4292abf94f02c94f3f927092360cfa5e3477898ce2a672b", - "bytes": 75797 - }, - { - "source": "results/alignment_gt_full/manifest.json", - "archive": "artifacts/alignment_gt_full/manifest.json", - "sha256": "87aeb1e3fd2da9866e76a2ac11868923322743e6e245067ec2c133a41348e759", - "bytes": 2748 - }, - { - "source": "results/alignment_gt_full/state.json", - "archive": "artifacts/alignment_gt_full/state.json", - "sha256": "3e4d08ae5363a3974cc8d546d4b127a403f23ab0686fd4302ea67513742ef52b", - "bytes": 26 - }, - { - "source": "results/alignment_gt_full/fixed/alignment.json", - "archive": "artifacts/alignment_gt_full/fixed/alignment.json", - "sha256": "f94d201773dfb8048631a8f47ff932eee68b10f65a04c9bffc06a71ee41b7110", - "bytes": 624 - }, - { - "source": "results/alignment_gt_full/naive/alignment.json", - "archive": "artifacts/alignment_gt_full/naive/alignment.json", - "sha256": "9872121e84a05ef856ed2596fd566e72c5fe62847c10b65785e111e6c191411a", - "bytes": 642 - }, - { - "source": "results/alignment_gt_full/camp/alignment.json", - "archive": "artifacts/alignment_gt_full/camp/alignment.json", - "sha256": "a31f1b4b80d3b238aa72596f3e50bd7d90b1d8dfdcab87f2bee97102393bd5b9", - "bytes": 645 - }, - { - "source": "results/alignment_gt_full/naive_warmup/alignment.json", - "archive": "artifacts/alignment_gt_full/naive_warmup/alignment.json", - "sha256": "23d135e3bde2c80aa92165286dcb11c557277e840b755510455861c432767a4b", - "bytes": 649 - }, - { - "source": "results/alignment_gt_full/camp_warmup/alignment.json", - "archive": "artifacts/alignment_gt_full/camp_warmup/alignment.json", - "sha256": "fb5a423334f6892643d760c13a30874e86df8006400b2cc97f08efc9d4d444fa", - "bytes": 650 - }, - { - "source": "results/alignment_gt_preview/summary.csv", - "archive": "artifacts/alignment_gt_preview/summary.csv", - "sha256": "2974bec6f8040b8d380aa378900d241ccb40afb50b0e77f164ebde8d5ce77dc1", - "bytes": 1110 - }, - { - "source": "results/alignment_gt_preview/report.md", - "archive": "artifacts/alignment_gt_preview/report.md", - "sha256": "482385a5fff3efa014a607e1b40c5d71724af797c27e0106ccfa17d00f10cf57", - "bytes": 1056 - }, - { - "source": "results/alignment_gt_preview/findings.md", - "archive": "artifacts/alignment_gt_preview/findings.md", - "sha256": "bf754f10718c74a9b575641c450a34d35bbe57364b84a108be9c3ecb84fced45", - "bytes": 1389 - }, - { - "source": "results/alignment_gt_preview/metrics_comparison.png", - "archive": "artifacts/alignment_gt_preview/metrics_comparison.png", - "sha256": "39a390ecdc90ae85a13375f05c48c16e4eb91b19eb6ba4252da3086f5a50b333", - "bytes": 78831 - }, - { - "source": "results/alignment_gt_preview/comparison_000.png", - "archive": "artifacts/alignment_gt_preview/comparison_000.png", - "sha256": "f9682e5dce944f152a9985477dbe384a7130da4e741ab4dcff4d21fe4b3e66e8", - "bytes": 427193 - }, - { - "source": "results/alignment_gt_preview/comparison_050.png", - "archive": "artifacts/alignment_gt_preview/comparison_050.png", - "sha256": "cf1d1a14b0dd035b3e145cb10c46068ad75a2d8106d004a81bc055351eb19633", - "bytes": 368750 - }, - { - "source": "results/alignment_gt_preview/comparison_100.png", - "archive": "artifacts/alignment_gt_preview/comparison_100.png", - "sha256": "b00166fd96f7bf2a9e26e4043a33d066deaa21b48ec85530b294a88778c66c93", - "bytes": 291885 - }, - { - "source": "results/alignment_gt_preview/manifest.json", - "archive": "artifacts/alignment_gt_preview/manifest.json", - "sha256": "2ce3b7007adcbbd48145c0b96d75c106211b34c72ae538f6161ddb6ad5387ff6", - "bytes": 2750 - }, - { - "source": "results/alignment_gt_preview/state.json", - "archive": "artifacts/alignment_gt_preview/state.json", - "sha256": "3e4d08ae5363a3974cc8d546d4b127a403f23ab0686fd4302ea67513742ef52b", - "bytes": 26 - }, - { - "source": "results/alignment_gt_preview/fixed/alignment.json", - "archive": "artifacts/alignment_gt_preview/fixed/alignment.json", - "sha256": "f94d201773dfb8048631a8f47ff932eee68b10f65a04c9bffc06a71ee41b7110", - "bytes": 624 - }, - { - "source": "results/alignment_gt_preview/naive/alignment.json", - "archive": "artifacts/alignment_gt_preview/naive/alignment.json", - "sha256": "9872121e84a05ef856ed2596fd566e72c5fe62847c10b65785e111e6c191411a", - "bytes": 642 - }, - { - "source": "results/alignment_gt_preview/camp/alignment.json", - "archive": "artifacts/alignment_gt_preview/camp/alignment.json", - "sha256": "a31f1b4b80d3b238aa72596f3e50bd7d90b1d8dfdcab87f2bee97102393bd5b9", - "bytes": 645 - }, - { - "source": "results/alignment_gt_preview/naive_warmup/alignment.json", - "archive": "artifacts/alignment_gt_preview/naive_warmup/alignment.json", - "sha256": "23d135e3bde2c80aa92165286dcb11c557277e840b755510455861c432767a4b", - "bytes": 649 - }, - { - "source": "results/alignment_gt_preview/camp_warmup/alignment.json", - "archive": "artifacts/alignment_gt_preview/camp_warmup/alignment.json", - "sha256": "fb5a423334f6892643d760c13a30874e86df8006400b2cc97f08efc9d4d444fa", - "bytes": 650 - }, - { - "source": "results/alignment_pose_audit/summary.csv", - "archive": "artifacts/alignment_pose_audit/summary.csv", - "sha256": "1ff417357488bf6c8895857ec67046bf2cddc60b699e96d542822b13c4fffa12", - "bytes": 5110 - }, - { - "source": "results/alignment_pose_audit/transforms.json", - "archive": "artifacts/alignment_pose_audit/transforms.json", - "sha256": "52a704820d2993959a23a4888220d3ddc4c4b0b820b373b4f44a83861a550535", - "bytes": 18841 - }, - { - "source": "results/alignment_pose_audit/source_fingerprints.json", - "archive": "artifacts/alignment_pose_audit/source_fingerprints.json", - "sha256": "f6a38d917be4b7dab6fc29c6b49e0aeef4d0da6b47c777c3c4907d790d68885c", - "bytes": 4161 - } - ] -} diff --git a/artifacts/alignment_gt_full/manifest.json b/artifacts/records/alignment_full/manifest.json similarity index 91% rename from artifacts/alignment_gt_full/manifest.json rename to artifacts/records/alignment_full/manifest.json index 6037a04..20cf283 100644 --- a/artifacts/alignment_gt_full/manifest.json +++ b/artifacts/records/alignment_full/manifest.json @@ -32,9 +32,5 @@ "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", "metrics": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/metrics.json" } - ], - "code": { - "scripts/evaluate_alignment.py": "bc8995689012abb0975dfea6f522e167e09d1a55b9a41cf4f531de928de9eac3", - "poseguard/alignment.py": "8764680b0a222cff396bb98bb16215c2b6202bd65ce5a1154372a0495e9a8bee" - } + ] } diff --git a/artifacts/alignment_gt_full/state.json b/artifacts/records/alignment_full/state.json similarity index 100% rename from artifacts/alignment_gt_full/state.json rename to artifacts/records/alignment_full/state.json diff --git a/artifacts/alignment_gt_preview/manifest.json b/artifacts/records/alignment_preview/manifest.json similarity index 91% rename from artifacts/alignment_gt_preview/manifest.json rename to artifacts/records/alignment_preview/manifest.json index 4fc569f..3564131 100644 --- a/artifacts/alignment_gt_preview/manifest.json +++ b/artifacts/records/alignment_preview/manifest.json @@ -32,9 +32,5 @@ "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", "metrics": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/metrics.json" } - ], - "code": { - "scripts/evaluate_alignment.py": "bc8995689012abb0975dfea6f522e167e09d1a55b9a41cf4f531de928de9eac3", - "poseguard/alignment.py": "8764680b0a222cff396bb98bb16215c2b6202bd65ce5a1154372a0495e9a8bee" - } + ] } diff --git a/artifacts/alignment_gt_preview/state.json b/artifacts/records/alignment_preview/state.json similarity index 100% rename from artifacts/alignment_gt_preview/state.json rename to artifacts/records/alignment_preview/state.json diff --git a/artifacts/historical/results/environment.txt b/artifacts/records/baseline/environment.txt similarity index 100% rename from artifacts/historical/results/environment.txt rename to artifacts/records/baseline/environment.txt diff --git a/artifacts/historical/results/pipeline_state.json b/artifacts/records/baseline/pipeline_state.json similarity index 100% rename from artifacts/historical/results/pipeline_state.json rename to artifacts/records/baseline/pipeline_state.json diff --git a/artifacts/historical/results/poseopt_sv100/environment.txt b/artifacts/records/pose_optimization/environment.txt similarity index 100% rename from artifacts/historical/results/poseopt_sv100/environment.txt rename to artifacts/records/pose_optimization/environment.txt diff --git a/artifacts/warmup/manifest.json b/artifacts/records/pose_optimization/manifest.json similarity index 92% rename from artifacts/warmup/manifest.json rename to artifacts/records/pose_optimization/manifest.json index 96968e5..8353554 100644 --- a/artifacts/warmup/manifest.json +++ b/artifacts/records/pose_optimization/manifest.json @@ -83,15 +83,6 @@ "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/nerfstudio_models/step-000029999.ckpt": "bbc136a1cd4e7238e46f90086d7e194e6f7af1fb46de6722b101b8a361616506", "/root/workspace/poseguard-nerf/results/SV100-R5/metrics.json": "7141aba9193b2e60b8998def267b86f390e19dbac514c2288ba1eae66911627e" }, - "code": { - "poseguard/__init__.py": "919d63a41c03f156edd989a6a738fcd888da82fc7043a595811678bdcc415f8c", - "poseguard/geometry.py": "6b2b76a59bc336c7e6a22391efa370af03cea2a645b58394a239ccd275191f25", - "poseguard/methods.py": "baebd82fb9deb06b6d060b11a6cbb488a0cc44cdb904a9487419f12c0d413680", - "poseguard/worker.py": "0c8cbcf90c8ea79fadf5fcca896ee3aa93b1b8f6b08da05c77f18ebdea987442", - "scripts/pose_optimization_pipeline.py": "ce137e2635c641ef1d0627d5736c1394f387d5d6f4dc98e50a72082d116bf20c", - "scripts/run_pose_optimization_pipeline.sh": "4460559ab6c35e7998b7d6fbd4e0606c38983f0b4dd197172c07f4ce90791031", - "scripts/sv100_pipeline.py": "9e8a86cfd0788299b51273c1e68015879e40e5673c77dfa7be95b8931c0123cc" - }, "python": "3.8.10 (default, Jun 4 2021, 15:09:15) \n[GCC 7.5.0]", "nerfstudio": "1.1.5", "torch": "2.1.2+cu118", diff --git a/artifacts/historical/results/poseopt_sv100/state.json b/artifacts/records/pose_optimization/state.json similarity index 100% rename from artifacts/historical/results/poseopt_sv100/state.json rename to artifacts/records/pose_optimization/state.json diff --git a/artifacts/warmup/environment.txt b/artifacts/records/warmup/environment.txt similarity index 100% rename from artifacts/warmup/environment.txt rename to artifacts/records/warmup/environment.txt diff --git a/artifacts/historical/results/poseopt_sv100/manifest.json b/artifacts/records/warmup/manifest.json similarity index 92% rename from artifacts/historical/results/poseopt_sv100/manifest.json rename to artifacts/records/warmup/manifest.json index ababd93..8353554 100644 --- a/artifacts/historical/results/poseopt_sv100/manifest.json +++ b/artifacts/records/warmup/manifest.json @@ -83,15 +83,6 @@ "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/nerfstudio_models/step-000029999.ckpt": "bbc136a1cd4e7238e46f90086d7e194e6f7af1fb46de6722b101b8a361616506", "/root/workspace/poseguard-nerf/results/SV100-R5/metrics.json": "7141aba9193b2e60b8998def267b86f390e19dbac514c2288ba1eae66911627e" }, - "code": { - "poseguard/__init__.py": "919d63a41c03f156edd989a6a738fcd888da82fc7043a595811678bdcc415f8c", - "poseguard/geometry.py": "6b2b76a59bc336c7e6a22391efa370af03cea2a645b58394a239ccd275191f25", - "poseguard/methods.py": "baebd82fb9deb06b6d060b11a6cbb488a0cc44cdb904a9487419f12c0d413680", - "poseguard/worker.py": "bd2959d80c7fb74258bb446ac35697a199ce2281b35964fbf6ea4fb76fda5323", - "scripts/pose_optimization_pipeline.py": "3b50ee56c3ec49c332af9b870c5b8e64b9ea494a9b768c064df0ccf6ed7e2e8c", - "scripts/run_pose_optimization_pipeline.sh": "4460559ab6c35e7998b7d6fbd4e0606c38983f0b4dd197172c07f4ce90791031", - "scripts/sv100_pipeline.py": "9e8a86cfd0788299b51273c1e68015879e40e5673c77dfa7be95b8931c0123cc" - }, "python": "3.8.10 (default, Jun 4 2021, 15:09:15) \n[GCC 7.5.0]", "nerfstudio": "1.1.5", "torch": "2.1.2+cu118", diff --git a/artifacts/warmup/state.json b/artifacts/records/warmup/state.json similarity index 100% rename from artifacts/warmup/state.json rename to artifacts/records/warmup/state.json diff --git a/scripts/analysis/analyze_warmup_results.py b/scripts/analysis/analyze_warmup_results.py new file mode 100644 index 0000000..0a2b396 --- /dev/null +++ b/scripts/analysis/analyze_warmup_results.py @@ -0,0 +1,142 @@ +"""Recompute paired metrics from published CSVs; plotting and runtime traces are optional.""" +import argparse +import csv +import json +import statistics as st +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +METRICS = ['psnr', 'ssim', 'lpips', 'raw_rotation_deg', 'aligned_rotation_deg', + 'raw_translation_pct', 'aligned_translation_pct'] + + +def read_rows(path): + with (path/'summary.csv').open() as stream: + return {(r['method'], r['case']): r for r in csv.DictReader(stream)} + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--original', type=Path, default=ROOT/'artifacts/analysis/pose_optimization') + parser.add_argument('--warmup', type=Path, default=ROOT/'artifacts/analysis/warmup') + parser.add_argument('--output', type=Path, default=ROOT/'results/published_analysis') + parser.add_argument('--plots', action='store_true', help='Draw quality comparison; requires NumPy and Matplotlib') + parser.add_argument('--diagnostics', action='store_true', help='Also plot runtime traces referenced by state.json; requires original server files') + args = parser.parse_args() + original, warmup, output = args.original.resolve(), args.warmup.resolve(), args.output.resolve() + if output == ROOT/'artifacts' or ROOT/'artifacts' in output.parents: + parser.error('Choose an output outside artifacts/ to preserve published results') + a, b = read_rows(original), read_rows(warmup) + cases = [c for m, c in a if m == 'naive'] + paired = [] + for method in ('naive', 'camp'): + for case in cases: + key = method, case + if a[key]['status'] != 'SUCCESS' or b[key]['status'] != 'SUCCESS': + raise ValueError('Incomplete pair: '+str(key)) + row = dict(method=method, case=case) + for metric in METRICS: + row[metric+'_before'] = float(a[key][metric]) + row[metric+'_after'] = float(b[key][metric]) + row[metric+'_delta'] = row[metric+'_after']-row[metric+'_before'] + row['psnr_delta_fixed_after'] = float(b[key]['psnr_delta_fixed']) + paired.append(row) + aggregate = {} + for method in ('naive', 'camp'): + rows = [r for r in paired if r['method'] == method] + aggregate[method] = {} + for metric in METRICS: + aggregate[method][metric] = { + 'before': st.mean(r[metric+'_before'] for r in rows), + 'after': st.mean(r[metric+'_after'] for r in rows), + 'delta': st.mean(r[metric+'_delta'] for r in rows), + 'improved': sum(r[metric+'_delta'] > 0 if metric in ('psnr','ssim') + else r[metric+'_delta'] < 0 for r in rows)} + output.mkdir(parents=True, exist_ok=True) + with (output/'paired_metrics.csv').open('w', newline='') as stream: + writer = csv.DictWriter(stream, fieldnames=list(paired[0])) + writer.writeheader(); writer.writerows(paired) + (output/'aggregate_metrics.json').write_text(json.dumps(aggregate, indent=2)+'\n') + if args.plots or args.diagnostics: + plot_quality(paired, cases, b, output) + if args.diagnostics: + plot_drift(original, warmup, output) + lines = ['# Warm-up 配对分析', '', + '从输入 summary.csv 重新计算差值与条件平均;不加载模型,不重新渲染图像。', + '原始输入:`'+str(original)+'`;warm-up 输入:`'+str(warmup)+'`。', '', + '| 方法 | PSNR 前→后 | 平均 ΔPSNR | PSNR 改善条件 | SSIM 改善条件 | LPIPS 改善条件 |', + '|---|---:|---:|---:|---:|---:|'] + for method, values in aggregate.items(): + psnr = values['psnr'] + lines.append(f"| {method} | {psnr['before']:.3f} → {psnr['after']:.3f} | {psnr['delta']:+.3f} | {psnr['improved']}/{len(cases)} | {values['ssim']['improved']}/{len(cases)} | {values['lpips']['improved']}/{len(cases)} |") + print(f"{method}: mean PSNR delta {psnr['delta']:+.3f} dB; improved {psnr['improved']}/{len(cases)}") + lines += ['', '| 方法 | 条件 | PSNR 前 | PSNR 后 | ΔPSNR |', '|---|---|---:|---:|---:|'] + for row in paired: + lines.append('| {method} | {case} | {psnr_before:.3f} | {psnr_after:.3f} | {psnr_delta:+.3f} |'.format(**row)) + if args.plots or args.diagnostics: + lines += ['', '![质量比较](quality_comparison.png)'] + if args.diagnostics: + lines += ['', '![早期相机漂移](gt_early_pose_drift.png)'] + lines += ['', '## 如何解释', '', + '- 发布输入是 Lego、SV100、seed 42 的原坐标测试结果;条件平均不是跨种子显著性证据。', + '- PSNR、SSIM 越高越好;LPIPS 越低越好。此处按指标分别统计改善条件数。', + '- warm-up 改变整个相机学习率日程,不能只归因为早期阶段。', + '- GT 的完整渲染对齐诊断见仓库 artifacts/analysis/alignment_full/;其结果与此处原坐标指标分开解读。', + '- 本脚本没有验证历史输入是否完全受控,也没有重新计算图像级指标。', ''] + (output/'report.md').write_text('\n'.join(lines)) + print('Wrote analysis to', output) + + +def plot_quality(paired, cases, b, OUT): + import matplotlib + matplotlib.use('Agg') + import matplotlib.pyplot as plt + import numpy as np + plt.rcParams.update({'font.size':10, 'axes.spines.top':False, 'axes.spines.right':False}) + fig, axes = plt.subplots(1, 2, figsize=(13, 4.6), layout='constrained') + x=np.arange(len(cases));colors={'naive':'#1976b9','camp':'#d87a21'} + for method, offset in (('naive', -.19), ('camp', .19)): + rows=[r for r in paired if r['method']==method] + axes[0].bar(x+offset,[r['psnr_delta'] for r in rows],.36,label=method,color=colors[method]) + for suffix,style,label in (('before','--','no warm-up'),('after','-', 'warm-up')): + axes[1].plot(x,[r['psnr_'+suffix] for r in rows],style,marker='o',markersize=4, + color=colors[method],label=f'{method}: {label}') + axes[1].plot(x,[float(b['fixed',c]['psnr']) for c in cases],':',color='#444444',label='fixed cameras') + axes[0].axhline(0,color='gray',lw=.8) + axes[0].set(title='Warm-up benefit by condition',ylabel='PSNR change (dB)') + axes[1].set(title='Final held-out reconstruction quality',ylabel='PSNR (dB)') + for ax in axes: + ax.set_xticks(x,[c.replace('SV100-', '', 1) for c in cases],rotation=35) + ax.grid(axis='y',alpha=.2);ax.set_axisbelow(True);ax.legend(fontsize=8) + fig.suptitle('Lego SV100 | seed 42 | 30,000 steps | camera warm-up: 0 vs 2,500 steps') + fig.savefig(OUT/'quality_comparison.png',dpi=180);plt.close(fig) + + + +def plot_drift(OLD, NEW, OUT): + import matplotlib + matplotlib.use('Agg') + import matplotlib.pyplot as plt + fig,axes=plt.subplots(2,2,figsize=(11,7),layout='constrained') + for col,method in enumerate(('naive','camp')): + for directory,label,style in ((OLD,'no warm-up','--'),(NEW,'warm-up','-')): + state_directory = directory + if directory.parent == ROOT/'artifacts/analysis': + state_directory = ROOT/'artifacts/records'/directory.name + state=json.loads((state_directory/'state.json').read_text()) + trace=Path(state['experiments'][method+'/SV100-GT']['attempt'])/'diagnostics.jsonl' + rows={d['step']:d for d in map(json.loads,trace.read_text().splitlines())} + data=[rows[k] for k in sorted(rows) if k<=10000] + for row,(metric,unit) in enumerate((('rotation_deg_mean','Rotation error (degrees)'), + ('translation_radius_pct_mean','Translation error (% scene radius)'))): + axes[row,col].plot([d['step'] for d in data], + [d['pose_errors']['raw'][metric] for d in data],style,label=label) + axes[row,col].set(xlabel='Training step',ylabel=unit,title=f'{method}: GT initialization') + axes[row,col].grid(alpha=.2);axes[row,col].legend() + fig.suptitle('Early camera drift from correct initial poses (raw errors; sampled every 1,000 steps)') + fig.savefig(OUT/'gt_early_pose_drift.png',dpi=180);plt.close(fig) + + + +if __name__ == '__main__': + main() diff --git a/scripts/summarize_alignment.py b/scripts/analysis/summarize_alignment.py similarity index 100% rename from scripts/summarize_alignment.py rename to scripts/analysis/summarize_alignment.py diff --git a/scripts/analyze_warmup_results.py b/scripts/analyze_warmup_results.py deleted file mode 100644 index cc1fa4f..0000000 --- a/scripts/analyze_warmup_results.py +++ /dev/null @@ -1,128 +0,0 @@ -"""Paired analysis of the completed seed-42 SV100 camera warm-up runs.""" -import csv -import json -import statistics as st -from pathlib import Path -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import numpy as np - -ROOT = Path(__file__).resolve().parents[1] -OLD = ROOT/'results/poseopt_sv100' -NEW = ROOT/'results/poseopt_sv100_warmup2500' -OUT = NEW/'analysis' -OUT.mkdir(exist_ok=True) - -def read_rows(path): - return {(r['method'], r['case']): r for r in csv.DictReader((path/'summary.csv').open())} - -a, b = read_rows(OLD), read_rows(NEW) -cases = [c for m, c in a if m == 'naive'] -metrics = ['psnr', 'ssim', 'lpips', 'raw_rotation_deg', 'aligned_rotation_deg', - 'raw_translation_pct', 'aligned_translation_pct'] -paired = [] -for method in ('naive', 'camp'): - for case in cases: - key = method, case - assert a[key]['status'] == b[key]['status'] == 'SUCCESS' - row = dict(method=method, case=case) - for metric in metrics: - row[metric+'_before'] = float(a[key][metric]) - row[metric+'_after'] = float(b[key][metric]) - row[metric+'_delta'] = row[metric+'_after']-row[metric+'_before'] - row['psnr_delta_fixed_after'] = float(b[key]['psnr_delta_fixed']) - paired.append(row) -with (OUT/'paired_metrics.csv').open('w', newline='') as f: - w = csv.DictWriter(f, fieldnames=list(paired[0])); w.writeheader(); w.writerows(paired) - -aggregate = {} -for method in ('naive', 'camp'): - rows = [r for r in paired if r['method'] == method] - aggregate[method] = {} - for metric in metrics: - aggregate[method][metric] = { - 'before': st.mean(r[metric+'_before'] for r in rows), - 'after': st.mean(r[metric+'_after'] for r in rows), - 'delta': st.mean(r[metric+'_delta'] for r in rows), - 'improved': sum(r[metric+'_delta'] > 0 if metric in ('psnr','ssim') - else r[metric+'_delta'] < 0 for r in rows)} -(OUT/'aggregate_metrics.json').write_text(json.dumps(aggregate, indent=2)+'\n') - -plt.rcParams.update({'font.size':10, 'axes.spines.top':False, 'axes.spines.right':False}) -fig, axes = plt.subplots(1, 2, figsize=(13, 4.6), layout='constrained') -x=np.arange(len(cases));colors={'naive':'#1976b9','camp':'#d87a21'} -for method, offset in (('naive', -.19), ('camp', .19)): - rows=[r for r in paired if r['method']==method] - axes[0].bar(x+offset,[r['psnr_delta'] for r in rows],.36,label=method,color=colors[method]) - for suffix,style,label in (('before','--','no warm-up'),('after','-', 'warm-up')): - axes[1].plot(x,[r['psnr_'+suffix] for r in rows],style,marker='o',markersize=4, - color=colors[method],label=f'{method}: {label}') -axes[1].plot(x,[float(b['fixed',c]['psnr']) for c in cases],':',color='#444444',label='fixed cameras') -axes[0].axhline(0,color='gray',lw=.8) -axes[0].set(title='Warm-up benefit by condition',ylabel='PSNR change (dB)') -axes[1].set(title='Final held-out reconstruction quality',ylabel='PSNR (dB)') -for ax in axes: - ax.set_xticks(x,[c.replace('SV100-', '', 1) for c in cases],rotation=35) - ax.grid(axis='y',alpha=.2);ax.set_axisbelow(True);ax.legend(fontsize=8) -fig.suptitle('Lego SV100 | seed 42 | 30,000 steps | camera warm-up: 0 vs 2,500 steps') -fig.savefig(OUT/'quality_comparison.png',dpi=180);plt.close(fig) - -fig,axes=plt.subplots(2,2,figsize=(11,7),layout='constrained') -for col,method in enumerate(('naive','camp')): - for directory,label,style in ((OLD,'no warm-up','--'),(NEW,'warm-up','-')): - state=json.loads((directory/'state.json').read_text()) - trace=Path(state['experiments'][method+'/SV100-GT']['attempt'])/'diagnostics.jsonl' - rows={d['step']:d for d in map(json.loads,trace.read_text().splitlines())} - data=[rows[k] for k in sorted(rows) if k<=10000] - for row,(metric,unit) in enumerate((('rotation_deg_mean','Rotation error (degrees)'), - ('translation_radius_pct_mean','Translation error (% scene radius)'))): - axes[row,col].plot([d['step'] for d in data], - [d['pose_errors']['raw'][metric] for d in data],style,label=label) - axes[row,col].set(xlabel='Training step',ylabel=unit,title=f'{method}: GT initialization') - axes[row,col].grid(alpha=.2);axes[row,col].legend() -fig.suptitle('Early camera drift from correct initial poses (raw errors; sampled every 1,000 steps)') -fig.savefig(OUT/'gt_early_pose_drift.png',dpi=180);plt.close(fig) - -lines=['# Warm-up 配对实验分析','', -'范围:Lego 单场景、SV100 九种扰动条件、seed 42、每组 30,000 步。18/18 个实验成功。', -'已核对两轮 manifest:数据、固定相机基线、环境一致,仅代码指纹不同。18 对保存配置仅 warmup_steps(0→2500)及输出路径不同。', -'','## 核心结果','', -'naive 的 9 个条件在 PSNR、SSIM、LPIPS 上全部改善;CamP 的 8 个条件在三个指标上改善,T5 三个指标均退化。', -'','| 方法 | PSNR 前→后 | ΔPSNR | SSIM 前→后 | LPIPS 前→后 | PSNR 改善条件 |', -'|---|---:|---:|---:|---:|---:|'] -for m in ('naive','camp'): - v=aggregate[m] - lines.append(f"| {m} | {v['psnr']['before']:.3f} → {v['psnr']['after']:.3f} | {v['psnr']['delta']:+.3f} | {v['ssim']['before']:.4f} → {v['ssim']['after']:.4f} | {v['lpips']['before']:.4f} → {v['lpips']['after']:.4f} | {v['psnr']['improved']}/9 |") -lines += ['', '下列是条件间算术平均,不能作为跨场景或跨种子统计显著性证据。','', -'| 条件 | naive PSNR 前→后 | Δ | CamP PSNR 前→后 | Δ |','|---|---:|---:|---:|---:|'] -for c in cases: - n=next(r for r in paired if r['method']=='naive' and r['case']==c) - k=next(r for r in paired if r['method']=='camp' and r['case']==c) - lines.append(f"| {c} | {n['psnr_before']:.2f} → {n['psnr_after']:.2f} | {n['psnr_delta']:+.2f} | {k['psnr_before']:.2f} → {k['psnr_after']:.2f} | {k['psnr_delta']:+.2f} |") -lines += ['', '![重建质量](quality_comparison.png)', '', '## 退化是否消失?','', -'没有。两种方法优于固定相机基线的 PSNR 条件数均从 4/9 增至 7/9;GT 和 T0.5 仍低于固定相机。', -'GT:固定相机 27.12 dB,naive + warm-up 22.71 dB,CamP + warm-up 21.08 dB,分别相差 -4.41 和 -6.04 dB。', -'T0.5 的 PSNR/SSIM 低于固定相机,但 LPIPS 更好,因此不能笼统称为所有视觉指标均退化。', -'warm-up 后 naive 在 8/9 条件的 PSNR 优于 CamP;只有 R2 的 CamP 高 0.089 dB。这个排序只适用于本实现与本设置。', -'', '## 早期相机漂移','', -'GT 初始化提供了最直接的诊断:初始相机本来正确,早期偏离可直接观察。第 1,000 步:', -'| 方法 | 原始旋转误差(°)前→后 | 原始平移误差(场景半径 %)前→后 |', -'|---|---:|---:|','| naive | 1.626 → 0.647 | 1.142 → 0.368 |','| CamP | 4.870 → 1.206 | 9.017 → 2.649 |','', -'![早期漂移](gt_early_pose_drift.png)','', -'这些结果支持“减弱早期相机更新可抑制漂移”的解释,但未证明场景未学好是唯一原因。该实验仍从第一步更新相机,未测试完全冻结后的延迟启动。', -'', '## 位姿精度与评估坐标','', -'naive 对齐后平均旋转误差从 0.2036° 降至 0.1408°,平均平移误差从 0.2568% 降至 0.2114%。', -'CamP 对齐后平均旋转误差几乎不变(0.1313°→0.1310°),平移误差略升(0.2669%→0.2685%)。CamP 的渲染改善不能简单等同于位姿精度全面改善。', -'本实现只在训练分支修正相机,测试视角保持原始坐标。Sim(3) 对齐只用于位姿诊断,没有作用于渲染评估。', -'因此 PSNR 的变化可能混合场景质量变化与全局坐标漂移。CamP/R1 的原始平移误差从 1.015% 升至 3.250%,但对齐后从 0.268% 降至 0.257%,提示这一区分非常重要。', -'CamP/T5 的 PSNR 下降 0.986 dB,原始平移误差 0.741%→1.642%,而对齐后 0.280%→0.285%;全局漂移是待验证解释,不能据此直接确认为原因。', -'', '## 结论边界与下一步','', -'1. 将 warm-up 作为后续 naive 基线;当前证据表明它明显改善这一个场景的多个扰动条件。', -'2. 先用已有 checkpoint 补充统一坐标对齐的 held-out 评估,以分辨坐标漂移与实际场景质量;同时保留原始坐标评估。无需先重训。', -'3. 在 GT、T1、T5 等代表条件补做至少 3 个配对随机种子,检验跨运行稳定性;固定初始化和同一组数据扰动。', -'4. 再比较无 warm-up、warm-up、降低相机学习率,以及固定前 K 步的 delay;避免一次改多个因素。', -'5. 本次内置日程在 warm-up 后用剩余 27,500 步衰减,所以后期学习率也与原实验不同;它验证了完整日程调整的效果,尚未完全隔离早期阶段的因果作用。', -'', '推荐表述:在 Lego SV100、seed 42 的配对实验中,相机学习率 warm-up 改善了 naive 的全部条件和 CamP 的大多数条件,并降低了正确相机初始化下的早期漂移,但未消除低噪声条件的性能退化,也未证明跨种子稳定性。',''] -(OUT/'report.md').write_text('\n'.join(lines)) -print('Wrote analysis artifacts to',OUT) diff --git a/scripts/perturb_poses.py b/scripts/data/perturb_poses.py similarity index 100% rename from scripts/perturb_poses.py rename to scripts/data/perturb_poses.py diff --git a/scripts/prepare_datasets.py b/scripts/data/prepare_datasets.py similarity index 83% rename from scripts/prepare_datasets.py rename to scripts/data/prepare_datasets.py index 09834d3..73553fa 100644 --- a/scripts/prepare_datasets.py +++ b/scripts/data/prepare_datasets.py @@ -3,9 +3,9 @@ import sys from pathlib import Path -ROOT = Path(__file__).resolve().parents[1] +ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(ROOT)) -from scripts.sv100_pipeline import CASES, DATA, GT +from scripts.training.sv100_pipeline import CASES, DATA, GT def main(): @@ -18,7 +18,7 @@ def main(): raise SystemExit('Refusing to overwrite existing datasets: ' + ', '.join(existing)) for kind, magnitude, path in targets: flag = '--translation-ratio' if kind == 'translation' else '--rotation-deg' - subprocess.run([sys.executable, str(ROOT / 'scripts/perturb_poses.py'), + subprocess.run([sys.executable, str(ROOT / 'scripts/data/perturb_poses.py'), '--src', str(GT), '--dst', str(path), flag, str(magnitude), '--seed', '42'], check=True) diff --git a/scripts/audit_pose_alignment.py b/scripts/evaluation/audit_pose_alignment.py similarity index 96% rename from scripts/audit_pose_alignment.py rename to scripts/evaluation/audit_pose_alignment.py index 073d04b..01b738f 100644 --- a/scripts/audit_pose_alignment.py +++ b/scripts/evaluation/audit_pose_alignment.py @@ -5,10 +5,10 @@ from pathlib import Path import sys import numpy as np -ROOT=Path(__file__).resolve().parents[1] +ROOT=Path(__file__).resolve().parents[2] sys.path.insert(0,str(ROOT)) from poseguard.alignment import fit_sim3, transform_poses -from scripts.sv100_pipeline import GT +from scripts.training.sv100_pipeline import GT def main(): diff --git a/scripts/evaluate_alignment.py b/scripts/evaluation/evaluate_alignment.py similarity index 97% rename from scripts/evaluate_alignment.py rename to scripts/evaluation/evaluate_alignment.py index f9c9b7f..29eaec7 100644 --- a/scripts/evaluate_alignment.py +++ b/scripts/evaluation/evaluate_alignment.py @@ -3,7 +3,6 @@ import argparse import copy import csv -import hashlib import json import os from pathlib import Path @@ -12,10 +11,10 @@ import time import numpy as np -ROOT = Path(__file__).resolve().parents[1] +ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(ROOT)) from poseguard.alignment import fit_sim3, transform_poses -from scripts.sv100_pipeline import GT +from scripts.training.sv100_pipeline import GT def read(path): @@ -182,10 +181,12 @@ def main(): args=parser.parse_args();args.output=args.output.resolve();args.resolution=1. if args.full else .25 if args.worker: return worker(args) args.output.mkdir(parents=True,exist_ok=True) - manifest=dict(full=args.full,resolution=args.resolution,jobs=jobs(), - code={str(p.relative_to(ROOT)):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__).resolve(),ROOT/'poseguard/alignment.py']}) + manifest=dict(full=args.full,resolution=args.resolution,jobs=jobs()) path=args.output/'manifest.json' - if path.exists() and read(path)!=manifest: raise ValueError('Run manifest mismatch') + if path.exists(): + saved_manifest=read(path) + saved_manifest.pop('code',None) # Older runs recorded source hashes. + if saved_manifest!=manifest: raise ValueError('Run manifest mismatch') save(path,manifest) env=os.environ.copy();env['PYTHONPATH']=str(ROOT)+os.pathsep+env.get('PYTHONPATH','') env['NERFSTUDIO_METHOD_CONFIGS']='poseguard-naive=poseguard.methods:naive,poseguard-camp=poseguard.methods:camp' diff --git a/scripts/run_alignment_diagnostic.sh b/scripts/evaluation/run_alignment_diagnostic.sh similarity index 64% rename from scripts/run_alignment_diagnostic.sh rename to scripts/evaluation/run_alignment_diagnostic.sh index 3c876a4..0f00191 100644 --- a/scripts/run_alignment_diagnostic.sh +++ b/scripts/evaluation/run_alignment_diagnostic.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash set -Eeuo pipefail -ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" +ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" cd "$ROOT" export PYTHONPATH="$ROOT${PYTHONPATH:+:$PYTHONPATH}" export PYTHONUNBUFFERED=1 exec 9>.sv100_pipeline.lock flock -n 9 || { echo 'Another pipeline is running'; exit 1; } -exec python scripts/evaluate_alignment.py "$@" +exec python scripts/evaluation/evaluate_alignment.py "$@" diff --git a/scripts/pose_optimization_pipeline.py b/scripts/training/pose_optimization_pipeline.py similarity index 97% rename from scripts/pose_optimization_pipeline.py rename to scripts/training/pose_optimization_pipeline.py index 364d3c4..7bd802e 100644 --- a/scripts/pose_optimization_pipeline.py +++ b/scripts/training/pose_optimization_pipeline.py @@ -15,9 +15,9 @@ import traceback from datetime import datetime, timezone -ROOT = Path(__file__).resolve().parents[1] +ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(ROOT)) -from scripts.sv100_pipeline import CASES, DATA, GT, validate +from scripts.training.sv100_pipeline import CASES, DATA, GT, validate from poseguard.worker import save, load_checkpoint @@ -81,10 +81,7 @@ def preflight(): raise RuntimeError('Baseline checkpoint mismatch') if not all(math.isfinite(float(metrics['results']['fine_'+key])) for key in ('psnr', 'ssim', 'lpips')): raise RuntimeError('Invalid baseline metrics') - code = {str(path.relative_to(ROOT)): digest(path) for path in - sorted(list((ROOT/'poseguard').glob('*.py')) + [Path(__file__).resolve(), ROOT/'scripts/sv100_pipeline.py', - ROOT/'scripts/run_pose_optimization_pipeline.sh'])} - return baselines, {'data': manifest, 'baseline': fingerprint, 'code': code, + return baselines, {'data': manifest, 'baseline': fingerprint, 'python': sys.version, 'nerfstudio': '1.1.5', 'torch': torch.__version__, 'packages': {name: importlib.metadata.version(name) for name in ('numpy', 'scipy', 'Pillow', 'matplotlib', 'torchmetrics', 'tyro')}} @@ -386,15 +383,17 @@ def main(): if not args.resume: raise RuntimeError('Run exists; use --resume or choose another --run-dir') state = read(state_path) - if state['settings'] != settings or read(args.run_dir/'manifest.json') != manifest: - raise RuntimeError('Configuration/code/data/environment fingerprints changed; choose a new run-dir') + saved_manifest = read(args.run_dir/'manifest.json') + saved_manifest.pop('code', None) # Older runs recorded source hashes. + if state['settings'] != settings or saved_manifest != manifest: + raise RuntimeError('Configuration/data/baseline/environment fingerprints changed; choose a new run-dir') else: if args.resume: raise RuntimeError('No run to resume') args.run_dir.mkdir(parents=True, exist_ok=False) state = dict(status='RUNNING', start=now(), settings=settings, experiments={}) save(args.run_dir/'manifest.json', manifest) - run([sys.executable, '-m', 'pip', 'freeze'], args.run_dir/'environment.txt') + run(['uv', 'pip', 'freeze', '--python', sys.executable], args.run_dir/'environment.txt') class Tee: def __init__(self, stream, handle): self.stream = stream diff --git a/scripts/run_full_sv100_pipeline.sh b/scripts/training/run_full_sv100_pipeline.sh similarity index 90% rename from scripts/run_full_sv100_pipeline.sh rename to scripts/training/run_full_sv100_pipeline.sh index d315310..19fd115 100755 --- a/scripts/run_full_sv100_pipeline.sh +++ b/scripts/training/run_full_sv100_pipeline.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -Eeuo pipefail -ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" +ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" cd "$ROOT" export PYTHONUNBUFFERED=1 exec 9>.sv100_pipeline.lock @@ -21,5 +21,5 @@ PY if pgrep -f '(^|/|[[:space:]])ns-train([[:space:]]|$)' >/dev/null; then echo 'FAILED: existing ns-train process'; exit 1 fi -python scripts/sv100_pipeline.py +python scripts/training/sv100_pipeline.py printf '%s SUCCESS END full SV100 pipeline\n' "$(date -u --iso-8601=seconds)" diff --git a/scripts/run_pose_optimization_pipeline.sh b/scripts/training/run_pose_optimization_pipeline.sh similarity index 76% rename from scripts/run_pose_optimization_pipeline.sh rename to scripts/training/run_pose_optimization_pipeline.sh index bccc9e6..f405532 100755 --- a/scripts/run_pose_optimization_pipeline.sh +++ b/scripts/training/run_pose_optimization_pipeline.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -Eeuo pipefail -ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" +ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" cd "$ROOT" export PYTHONPATH="$ROOT${PYTHONPATH:+:$PYTHONPATH}" export PYTHONUNBUFFERED=1 @@ -8,4 +8,4 @@ export NERFSTUDIO_METHOD_CONFIGS='poseguard-naive=poseguard.methods:naive,posegu # Share the old fixed-pose pipeline's lock to prevent two formal jobs competing. exec 9>.sv100_pipeline.lock flock -n 9 || { echo 'Another PoseGuard pipeline is running'; exit 1; } -exec python scripts/pose_optimization_pipeline.py "$@" +exec python scripts/training/pose_optimization_pipeline.py "$@" diff --git a/scripts/run_warmup_experiments.sh b/scripts/training/run_warmup_experiments.sh similarity index 63% rename from scripts/run_warmup_experiments.sh rename to scripts/training/run_warmup_experiments.sh index c57b8f6..573a19f 100644 --- a/scripts/run_warmup_experiments.sh +++ b/scripts/training/run_warmup_experiments.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -Eeuo pipefail -ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" +ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" # Additional arguments support --resume, --retry-failed, --cases, and --dry-run. -exec bash "$ROOT/scripts/run_pose_optimization_pipeline.sh" \ +exec bash "$ROOT/scripts/training/run_pose_optimization_pipeline.sh" \ --run-dir "$ROOT/results/poseopt_sv100_warmup2500" \ --steps 30000 --interval 1000 --camera-warmup-steps 2500 "$@" diff --git a/scripts/sv100_pipeline.py b/scripts/training/sv100_pipeline.py similarity index 98% rename from scripts/sv100_pipeline.py rename to scripts/training/sv100_pipeline.py index 3145e5a..00021bc 100644 --- a/scripts/sv100_pipeline.py +++ b/scripts/training/sv100_pipeline.py @@ -13,7 +13,7 @@ import sys from datetime import datetime, timezone -ROOT = Path(__file__).resolve().parents[1] +ROOT = Path(__file__).resolve().parents[2] DATA = Path(os.environ.get('POSEGUARD_DATA', str(ROOT.parent/'data/nerf_synthetic'))).expanduser().resolve() GT = DATA / 'lego' CASES = [('SV100-GT', 'gt', 0.0, 'lego')] @@ -165,8 +165,7 @@ def main(): save(state_path, state) try: checks = {c[0]:validate(c) for c in CASES} - save(ROOT/'results/dataset_manifest.json', checks) - subprocess.run([sys.executable,'-m','pip','freeze'], stdout=(ROOT/'results/environment.txt').open('w'), check=True) + subprocess.run(['uv','pip','freeze','--python',sys.executable], stdout=(ROOT/'results/environment.txt').open('w'), check=True) summaries(rows, 'RUNNING') for case in CASES: name, kind, mag, directory = case diff --git a/scripts/verify_artifacts.py b/scripts/verify_artifacts.py deleted file mode 100644 index 87053e2..0000000 --- a/scripts/verify_artifacts.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Check the release snapshot using only Python's standard library.""" -import hashlib -import json -from pathlib import Path - -ROOT = Path(__file__).resolve().parents[1] - - -def main(): - records = json.loads((ROOT / 'artifacts/manifest.json').read_text())['files'] - errors = [] - for row in records: - path = ROOT / row['archive'] - if not path.is_file() or path.is_symlink(): - errors.append(row['archive'] + ': missing or symlink') - continue - data = path.read_bytes() - if len(data) != row['bytes'] or hashlib.sha256(data).hexdigest() != row['sha256']: - errors.append(row['archive'] + ': size/hash mismatch') - if errors: - raise SystemExit('\n'.join(errors)) - print('Verified %d archived files (%d bytes).' % - (len(records), sum(row['bytes'] for row in records))) - - -if __name__ == '__main__': - main() diff --git a/tests/test_orchestration.py b/tests/test_orchestration.py index fe502a7..3f0c376 100644 --- a/tests/test_orchestration.py +++ b/tests/test_orchestration.py @@ -5,7 +5,7 @@ from pathlib import Path from types import SimpleNamespace from unittest.mock import patch -from scripts import pose_optimization_pipeline as pipeline +from scripts.training import pose_optimization_pipeline as pipeline class OrchestrationTests(unittest.TestCase): From ab176afd63f7fff15b81c5d3a287f17e60d1b87f Mon Sep 17 00:00:00 2001 From: chu-jiaming Date: Tue, 13 Oct 2026 21:26:53 +0800 Subject: [PATCH 2/6] fix: make experiment scripts portable and configurable --- scripts/analysis/summarize_alignment.py | 8 +- scripts/data/perturb_poses.py | 8 +- scripts/data/prepare_datasets.py | 11 ++- scripts/evaluation/audit_pose_alignment.py | 20 +++-- scripts/evaluation/evaluate_alignment.py | 20 +++-- .../evaluation/run_alignment_diagnostic.sh | 16 ++-- scripts/runtime.py | 56 +++++++++++++ scripts/runtime.sh | 23 ++++++ .../training/pose_optimization_pipeline.py | 31 ++++++-- scripts/training/run_full_sv100_pipeline.sh | 37 ++++----- .../run_pose_optimization_pipeline.sh | 17 ++-- scripts/training/run_warmup_experiments.sh | 6 +- scripts/training/sv100_pipeline.py | 30 ++++--- tests/test_script_portability.py | 79 +++++++++++++++++++ 14 files changed, 282 insertions(+), 80 deletions(-) create mode 100644 scripts/runtime.py create mode 100644 scripts/runtime.sh create mode 100644 tests/test_script_portability.py diff --git a/scripts/analysis/summarize_alignment.py b/scripts/analysis/summarize_alignment.py index 0bfdc88..1c018b0 100644 --- a/scripts/analysis/summarize_alignment.py +++ b/scripts/analysis/summarize_alignment.py @@ -2,13 +2,13 @@ """Publish a compact interpretation and plot for a finished diagnostic run.""" import argparse,csv from pathlib import Path -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import numpy as np def main(): parser=argparse.ArgumentParser();parser.add_argument('directory',type=Path);args=parser.parse_args() + import matplotlib + matplotlib.use('Agg') + import matplotlib.pyplot as plt + import numpy as np with (args.directory/'summary.csv').open() as f:rows=list(csv.DictReader(f)) if len(rows)!=5:raise ValueError('Wait for all five variants') by={r['method']:r for r in rows} diff --git a/scripts/data/perturb_poses.py b/scripts/data/perturb_poses.py index d30519e..9d002b0 100644 --- a/scripts/data/perturb_poses.py +++ b/scripts/data/perturb_poses.py @@ -109,15 +109,17 @@ def main(): "At least one perturbation must be non-zero." ) - src = Path(args.src) - dst = Path(args.dst) + src = Path(args.src).expanduser().resolve() + dst = Path(args.dst).expanduser().absolute() - if dst.exists(): + if dst.exists() or dst.is_symlink(): raise FileExistsError( f"{dst} already exists. " "Remove it manually if you really want to regenerate it." ) + if not (src / 'transforms_train.json').is_file(): + parser.error('Missing training camera metadata: ' + str(src / 'transforms_train.json')) dst.mkdir(parents=True) # ============================================================ diff --git a/scripts/data/prepare_datasets.py b/scripts/data/prepare_datasets.py index 73553fa..9384da3 100644 --- a/scripts/data/prepare_datasets.py +++ b/scripts/data/prepare_datasets.py @@ -1,17 +1,24 @@ """Create the eight seed-42 pose perturbations without overwriting datasets.""" +import argparse import subprocess import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(ROOT)) -from scripts.training.sv100_pipeline import CASES, DATA, GT +from scripts.training.sv100_pipeline import CASES, DATA +from scripts.runtime import PATH_HELP def main(): + parser=argparse.ArgumentParser(description=__doc__, epilog=PATH_HELP) + parser.add_argument('--data-root', type=Path, default=DATA) + args=parser.parse_args() + data=args.data_root.expanduser().resolve() + GT=data/'lego' if not (GT / 'transforms_train.json').is_file(): raise SystemExit('Missing Lego dataset: ' + str(GT)) - targets = [(kind, magnitude, DATA / directory) + targets = [(kind, magnitude, data / directory) for _, kind, magnitude, directory in CASES if kind != 'gt'] existing = [str(path) for _, _, path in targets if path.exists() or path.is_symlink()] if existing: diff --git a/scripts/evaluation/audit_pose_alignment.py b/scripts/evaluation/audit_pose_alignment.py index 01b738f..4dda3a4 100644 --- a/scripts/evaluation/audit_pose_alignment.py +++ b/scripts/evaluation/audit_pose_alignment.py @@ -1,5 +1,6 @@ #!/usr/bin/env python """CPU audit of all saved pose estimates; does not evaluate novel views.""" +import argparse import csv import json from pathlib import Path @@ -9,21 +10,28 @@ sys.path.insert(0,str(ROOT)) from poseguard.alignment import fit_sim3, transform_poses from scripts.training.sv100_pipeline import GT +from scripts.runtime import ORIGINAL_RUN, WARMUP_RUN, RUN_ROOT, PATH_HELP, require_file def main(): - gt=json.loads((GT/'transforms_train.json').read_text()) + parser=argparse.ArgumentParser(description=__doc__, epilog=PATH_HELP) + parser.add_argument('--gt', type=Path, default=GT/'transforms_train.json') + parser.add_argument('--original', type=Path, default=ORIGINAL_RUN) + parser.add_argument('--warmup', type=Path, default=WARMUP_RUN) + parser.add_argument('--output', type=Path, default=RUN_ROOT/'results/alignment_pose_audit') + args=parser.parse_args() + gt=json.loads(require_file(args.gt).read_text()) reference=np.asarray([f['transform_matrix'][:3] for f in gt['frames']]) radius=np.linalg.norm(reference[:,:,3],axis=1).mean() - output=ROOT/'results/alignment_pose_audit';output.mkdir(exist_ok=True) + output=args.output.resolve();output.mkdir(parents=True,exist_ok=True) rows=[]; transforms={} - for directory,label in [('poseopt_sv100','original'),('poseopt_sv100_warmup2500','warmup')]: - state=json.loads((ROOT/'results'/directory/'state.json').read_text()) + for directory,label in [(args.original,'original'),(args.warmup,'warmup')]: + state=json.loads(require_file(directory/'state.json').read_text()) for key,entry in state['experiments'].items(): if entry['status']!='SUCCESS':raise ValueError(key) - config=Path(entry['config']).read_text() + config=require_file(entry['config']).read_text() if ' scale_factor: 1.0\n' not in config:raise ValueError('Unexpected parser scale') - poses=json.loads((Path(entry['attempt'])/'optimized_poses.json').read_text()) + poses=json.loads(require_file(Path(entry['attempt'])/'optimized_poses.json').read_text()) estimated=np.asarray(poses['poses']) sim=fit_sim3(reference[:,:,3],estimated[:,:,3]); fitted=transform_poses(reference,sim) residual=np.linalg.norm(fitted[:,:,3]-estimated[:,:,3],axis=1).mean() diff --git a/scripts/evaluation/evaluate_alignment.py b/scripts/evaluation/evaluate_alignment.py index 29eaec7..882785d 100644 --- a/scripts/evaluation/evaluate_alignment.py +++ b/scripts/evaluation/evaluate_alignment.py @@ -15,10 +15,11 @@ sys.path.insert(0, str(ROOT)) from poseguard.alignment import fit_sim3, transform_poses from scripts.training.sv100_pipeline import GT +from scripts.runtime import BASELINE_SUMMARY, ORIGINAL_RUN, WARMUP_RUN, PATH_HELP, require_file, require_training def read(path): - return json.loads(Path(path).read_text()) + return json.loads(require_file(path).read_text()) def save(path, value): @@ -29,12 +30,12 @@ def save(path, value): def jobs(): - with (ROOT/'results/SV100_full_summary.csv').open() as f: + with require_file(BASELINE_SUMMARY).open() as f: fixed = next(row for row in csv.DictReader(f) if row['case']=='SV100-GT') result = [dict(name='fixed', config=fixed['config_path'], checkpoint=fixed['checkpoint_path'], metrics=fixed['evaluation_result'])] - for directory, suffix in [('poseopt_sv100',''), ('poseopt_sv100_warmup2500','_warmup')]: - state = read(ROOT/'results'/directory/'state.json') + for directory, suffix in [(ORIGINAL_RUN,''), (WARMUP_RUN,'_warmup')]: + state = read(directory/'state.json') for method in ('naive','camp'): entry = state['experiments'][method+'/SV100-GT'] if entry['status'] != 'SUCCESS': @@ -53,6 +54,9 @@ def worker(args): out = args.output/job['name']; out.mkdir(parents=True, exist_ok=True) def configure(config): config.pipeline.datamanager.camera_res_scale_factor = args.resolution + config.pipeline.datamanager.data = GT + config.pipeline.datamanager.dataparser.data = GT + config.load_dir = Path(job['checkpoint']).resolve().parent config.load_step = 29999 return config torch.manual_seed(42) @@ -174,11 +178,15 @@ def report(output): def main(): - parser=argparse.ArgumentParser(description=__doc__) + parser=argparse.ArgumentParser(description=__doc__, epilog=PATH_HELP) parser.add_argument('--output',type=Path,required=True) parser.add_argument('--full',action='store_true') - parser.add_argument('--worker',choices=[j['name'] for j in jobs()]) + parser.add_argument('--worker',choices=['fixed','naive','camp','naive_warmup','camp_warmup']) args=parser.parse_args();args.output=args.output.resolve();args.resolution=1. if args.full else .25 + require_training() + for job in jobs(): + for key in ('config', 'checkpoint', 'metrics'): + require_file(job[key]) if args.worker: return worker(args) args.output.mkdir(parents=True,exist_ok=True) manifest=dict(full=args.full,resolution=args.resolution,jobs=jobs()) diff --git a/scripts/evaluation/run_alignment_diagnostic.sh b/scripts/evaluation/run_alignment_diagnostic.sh index 0f00191..6217dfe 100644 --- a/scripts/evaluation/run_alignment_diagnostic.sh +++ b/scripts/evaluation/run_alignment_diagnostic.sh @@ -1,9 +1,11 @@ #!/usr/bin/env bash set -Eeuo pipefail -ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" -cd "$ROOT" -export PYTHONPATH="$ROOT${PYTHONPATH:+:$PYTHONPATH}" -export PYTHONUNBUFFERED=1 -exec 9>.sv100_pipeline.lock -flock -n 9 || { echo 'Another pipeline is running'; exit 1; } -exec python scripts/evaluation/evaluate_alignment.py "$@" +source "$(dirname -- "${BASH_SOURCE[0]}")/../runtime.sh" +for arg in "$@"; do + if [[ "$arg" == --help || "$arg" == -h ]]; then + exec "${PYTHON[@]}" "$ROOT/scripts/evaluation/evaluate_alignment.py" --help + fi +done +require_gpu_tools +lock_pipeline +exec "${PYTHON[@]}" "$ROOT/scripts/evaluation/evaluate_alignment.py" "$@" diff --git a/scripts/runtime.py b/scripts/runtime.py new file mode 100644 index 0000000..a179101 --- /dev/null +++ b/scripts/runtime.py @@ -0,0 +1,56 @@ +"""Portable runtime paths and preflight checks shared by command-line scripts. + +Use POSEGUARD_DATA for the NeRF-Synthetic root and POSEGUARD_RUN_ROOT for +results/, outputs/ and logs/. Relative environment paths are repository-relative. +Existing runs can be selected with POSEGUARD_BASELINE_SUMMARY, +POSEGUARD_ORIGINAL_RUN and POSEGUARD_WARMUP_RUN. Saved checkpoints/configurations +must reference files available on the current machine; archives are not resumes. +""" +import importlib.metadata +import os +from pathlib import Path +import shutil +import sys + +ROOT = Path(__file__).resolve().parents[1] + + +def env_path(name, default): + path = Path(os.environ.get(name, str(default))).expanduser() + return (path if path.is_absolute() else ROOT/path).resolve() + + +DATA = env_path('POSEGUARD_DATA', ROOT/'data/nerf_synthetic') +RUN_ROOT = env_path('POSEGUARD_RUN_ROOT', ROOT) +BASELINE_SUMMARY = env_path('POSEGUARD_BASELINE_SUMMARY', RUN_ROOT/'results/SV100_full_summary.csv') +ORIGINAL_RUN = env_path('POSEGUARD_ORIGINAL_RUN', RUN_ROOT/'results/poseopt_sv100') +WARMUP_RUN = env_path('POSEGUARD_WARMUP_RUN', RUN_ROOT/'results/poseopt_sv100_warmup2500') +PATH_HELP = (__doc__ or '').strip() + + +def require_file(path): + path = Path(path) + if not path.is_file(): + raise SystemExit('Required file not found: %s. Select local data/runs with ' + 'POSEGUARD_DATA, POSEGUARD_BASELINE_SUMMARY, ' + 'POSEGUARD_ORIGINAL_RUN or POSEGUARD_WARMUP_RUN. ' + 'Historical server paths are not portable checkpoints.' % path) + return path + + +def require_training(): + if not sys.platform.startswith('linux'): + raise SystemExit('GPU training/rendering requires Linux and a CUDA-enabled PyTorch environment.') + for package in ('torch', 'nerfstudio'): + try: + version = importlib.metadata.version(package) + except importlib.metadata.PackageNotFoundError: + raise SystemExit('Missing %s in %s; install the training dependencies with uv.' % (package, sys.executable)) + if package == 'nerfstudio' and version != '1.1.5': + raise SystemExit('Requires Nerfstudio 1.1.5; found '+version) + for command in ('ns-train', 'ns-eval', 'pgrep', 'uv'): + if not shutil.which(command): + raise SystemExit('Required command unavailable: '+command) + import torch + if not torch.cuda.is_available(): + raise SystemExit('CUDA unavailable in '+sys.executable) diff --git a/scripts/runtime.sh b/scripts/runtime.sh new file mode 100644 index 0000000..290ab4c --- /dev/null +++ b/scripts/runtime.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# Shared Bash entrypoint setup. Python packages are managed in ROOT/.venv by uv. +ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" +command -v uv >/dev/null 2>&1 || { echo 'Missing uv; install uv and prepare the project .venv.' >&2; exit 1; } +[[ -x "$ROOT/.venv/bin/python" ]] || { echo "Missing project environment: $ROOT/.venv. Create it with uv and install the required dependencies." >&2; exit 1; } +export PYTHONPATH="$ROOT${PYTHONPATH:+:$PYTHONPATH}" +export PYTHONUNBUFFERED=1 +export PATH="$ROOT/.venv/bin:$PATH" +PYTHON=(uv run --no-project --python "$ROOT/.venv/bin/python" python) + +require_gpu_tools() { + [[ "$(uname -s)" == Linux ]] || { echo 'GPU entrypoints require Linux and CUDA; CPU analysis scripts can run separately.' >&2; exit 1; } + local command_name + for command_name in flock pgrep; do + command -v "$command_name" >/dev/null 2>&1 || { echo "Required command unavailable: $command_name" >&2; exit 1; } + done + "${PYTHON[@]}" -c 'from scripts.runtime import require_training; require_training()' +} + +lock_pipeline() { + exec 9>"$ROOT/.sv100_pipeline.lock" + flock -n 9 || { echo 'Another PoseGuard pipeline is running' >&2; exit 1; } +} diff --git a/scripts/training/pose_optimization_pipeline.py b/scripts/training/pose_optimization_pipeline.py index 7bd802e..6066e20 100644 --- a/scripts/training/pose_optimization_pipeline.py +++ b/scripts/training/pose_optimization_pipeline.py @@ -18,7 +18,19 @@ ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(ROOT)) from scripts.training.sv100_pipeline import CASES, DATA, GT, validate -from poseguard.worker import save, load_checkpoint +from scripts.runtime import BASELINE_SUMMARY, ORIGINAL_RUN, PATH_HELP, require_training, require_file + + +def save(path, value): + path = Path(path); path.parent.mkdir(parents=True, exist_ok=True) + temporary = path.with_suffix(path.suffix+'.tmp') + temporary.write_text(json.dumps(value, indent=2, allow_nan=False)+'\n') + temporary.replace(path) + + +def load_checkpoint(path): + from poseguard.worker import load_checkpoint as load + return load(path) def now(): @@ -34,11 +46,14 @@ def digest(path): def run(command, log_path): + env = os.environ.copy() + env['PYTHONPATH'] = str(ROOT)+os.pathsep+env.get('PYTHONPATH', '') + env['NERFSTUDIO_METHOD_CONFIGS'] = 'poseguard-naive=poseguard.methods:naive,poseguard-camp=poseguard.methods:camp' print(now(), 'COMMAND', shlex.join(map(str, command)), 'LOG', log_path, flush=True) with Path(log_path).open('a') as output: output.write(now()+' '+shlex.join(map(str, command))+'\n'); output.flush() process = subprocess.Popen(list(map(str, command)), stdout=output, stderr=subprocess.STDOUT, - start_new_session=True) + start_new_session=True, env=env) try: rc = process.wait() except BaseException: @@ -55,6 +70,7 @@ def run(command, log_path): def preflight(): + require_training() if importlib.metadata.version('nerfstudio') != '1.1.5': raise RuntimeError('Requires Nerfstudio 1.1.5') import torch @@ -64,7 +80,7 @@ def preflight(): if subprocess.run(['pgrep', '-f', r'(^|/|[[:space:]])ns-train([[:space:]]|$)'], stdout=subprocess.DEVNULL).returncode == 0: raise RuntimeError('An external ns-train process is active') manifest = {case[0]: validate(case) for case in CASES} - with (ROOT/'results/SV100_full_summary.csv').open() as f: + with require_file(BASELINE_SUMMARY).open() as f: baselines = {row['case']: row for row in csv.DictReader(f)} fingerprint = {} for case in CASES: @@ -345,8 +361,8 @@ def comparisons(args, state, baselines, persist): def main(): - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument('--run-dir', type=Path, default=ROOT/'results/poseopt_sv100') + parser = argparse.ArgumentParser(description=__doc__, epilog=PATH_HELP) + parser.add_argument('--run-dir', type=Path, default=ORIGINAL_RUN) parser.add_argument('--preflight', action='store_true') parser.add_argument('--dry-run', action='store_true') parser.add_argument('--resume', action='store_true') @@ -363,9 +379,9 @@ def main(): parser.error('camera-warmup-steps must be nonnegative and smaller than steps') if args.retry_failed and not args.resume: parser.error('--retry-failed requires --resume') - if args.smoke and args.run_dir == ROOT/'results/poseopt_sv100': + args.run_dir = args.run_dir.expanduser().resolve() + if args.smoke and args.run_dir == ORIGINAL_RUN: parser.error('--smoke requires a separate --run-dir') - args.run_dir = args.run_dir.resolve() args.selected = [c for c in CASES if not args.cases or c[0] in args.cases] baselines, manifest = preflight() if args.preflight: @@ -468,5 +484,4 @@ def interrupted(signum, frame): if __name__ == '__main__': - os.chdir(ROOT) sys.exit(main()) diff --git a/scripts/training/run_full_sv100_pipeline.sh b/scripts/training/run_full_sv100_pipeline.sh index 19fd115..8b3e31b 100755 --- a/scripts/training/run_full_sv100_pipeline.sh +++ b/scripts/training/run_full_sv100_pipeline.sh @@ -1,25 +1,20 @@ #!/usr/bin/env bash set -Eeuo pipefail -ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" -cd "$ROOT" -export PYTHONUNBUFFERED=1 -exec 9>.sv100_pipeline.lock -flock -n 9 || { echo 'FAILED: another formal pipeline owns the lock'; exit 1; } -mkdir -p logs/gt logs/translation logs/rotation results outputs -# Refuse to append to an earlier formal run or reuse any generated result. -[[ ! -e logs/poseguard_pipeline.log ]] || { echo 'FAILED: pipeline log already exists'; exit 1; } -exec > >(tee logs/poseguard_pipeline.log) 2>&1 -trap 'rc=$?; echo "$(date -u --iso-8601=seconds) FAILED shell exit=$rc line=$LINENO"; exit "$rc"' ERR -printf '%s START full SV100 pipeline\n' "$(date -u --iso-8601=seconds)" -python - <<'PY' -import importlib.metadata -v = importlib.metadata.version('nerfstudio') -print(v) -if v != '1.1.5': raise SystemExit('FAILED: Nerfstudio must be 1.1.5') -PY -# No concurrent external ns-train process may exist at launch. +source "$(dirname -- "${BASH_SOURCE[0]}")/../runtime.sh" +for arg in "$@"; do + if [[ "$arg" == --help || "$arg" == -h ]]; then + exec "${PYTHON[@]}" "$ROOT/scripts/training/sv100_pipeline.py" --help + fi +done +[[ $# == 0 ]] || { echo 'This entrypoint takes no arguments; configure paths through POSEGUARD_* variables (see --help).' >&2; exit 1; } +require_gpu_tools +lock_pipeline +RUN_ROOT="$("${PYTHON[@]}" -c 'from scripts.runtime import RUN_ROOT; print(RUN_ROOT)')" +mkdir -p "$RUN_ROOT/logs/gt" "$RUN_ROOT/logs/translation" "$RUN_ROOT/logs/rotation" "$RUN_ROOT/results" "$RUN_ROOT/outputs" +[[ ! -e "$RUN_ROOT/logs/poseguard_pipeline.log" ]] || { echo 'Pipeline log already exists; select a fresh POSEGUARD_RUN_ROOT.' >&2; exit 1; } if pgrep -f '(^|/|[[:space:]])ns-train([[:space:]]|$)' >/dev/null; then - echo 'FAILED: existing ns-train process'; exit 1 + echo 'An external ns-train process is active' >&2; exit 1 fi -python scripts/training/sv100_pipeline.py -printf '%s SUCCESS END full SV100 pipeline\n' "$(date -u --iso-8601=seconds)" +exec > >(tee "$RUN_ROOT/logs/poseguard_pipeline.log") 2>&1 +trap 'rc=$?; echo "FAILED shell exit=$rc line=$LINENO"; exit "$rc"' ERR +"${PYTHON[@]}" "$ROOT/scripts/training/sv100_pipeline.py" diff --git a/scripts/training/run_pose_optimization_pipeline.sh b/scripts/training/run_pose_optimization_pipeline.sh index f405532..1593619 100755 --- a/scripts/training/run_pose_optimization_pipeline.sh +++ b/scripts/training/run_pose_optimization_pipeline.sh @@ -1,11 +1,12 @@ #!/usr/bin/env bash set -Eeuo pipefail -ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" -cd "$ROOT" -export PYTHONPATH="$ROOT${PYTHONPATH:+:$PYTHONPATH}" -export PYTHONUNBUFFERED=1 +source "$(dirname -- "${BASH_SOURCE[0]}")/../runtime.sh" export NERFSTUDIO_METHOD_CONFIGS='poseguard-naive=poseguard.methods:naive,poseguard-camp=poseguard.methods:camp' -# Share the old fixed-pose pipeline's lock to prevent two formal jobs competing. -exec 9>.sv100_pipeline.lock -flock -n 9 || { echo 'Another PoseGuard pipeline is running'; exit 1; } -exec python scripts/training/pose_optimization_pipeline.py "$@" +for arg in "$@"; do + if [[ "$arg" == --help || "$arg" == -h ]]; then + exec "${PYTHON[@]}" "$ROOT/scripts/training/pose_optimization_pipeline.py" --help + fi +done +require_gpu_tools +lock_pipeline +exec "${PYTHON[@]}" "$ROOT/scripts/training/pose_optimization_pipeline.py" "$@" diff --git a/scripts/training/run_warmup_experiments.sh b/scripts/training/run_warmup_experiments.sh index 573a19f..0a30e42 100644 --- a/scripts/training/run_warmup_experiments.sh +++ b/scripts/training/run_warmup_experiments.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -Eeuo pipefail -ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" -# Additional arguments support --resume, --retry-failed, --cases, and --dry-run. +source "$(dirname -- "${BASH_SOURCE[0]}")/../runtime.sh" +WARMUP_RUN="$("${PYTHON[@]}" -c 'from scripts.runtime import WARMUP_RUN; print(WARMUP_RUN)')" exec bash "$ROOT/scripts/training/run_pose_optimization_pipeline.sh" \ - --run-dir "$ROOT/results/poseopt_sv100_warmup2500" \ + --run-dir "$WARMUP_RUN" \ --steps 30000 --interval 1000 --camera-warmup-steps 2500 "$@" diff --git a/scripts/training/sv100_pipeline.py b/scripts/training/sv100_pipeline.py index 00021bc..b5bd84e 100644 --- a/scripts/training/sv100_pipeline.py +++ b/scripts/training/sv100_pipeline.py @@ -14,7 +14,8 @@ from datetime import datetime, timezone ROOT = Path(__file__).resolve().parents[2] -DATA = Path(os.environ.get('POSEGUARD_DATA', str(ROOT.parent/'data/nerf_synthetic'))).expanduser().resolve() +sys.path.insert(0, str(ROOT)) +from scripts.runtime import DATA, RUN_ROOT, PATH_HELP, require_training GT = DATA / 'lego' CASES = [('SV100-GT', 'gt', 0.0, 'lego')] CASES += [('SV100-T'+label, 'translation', value, dataset) for label, value, dataset in [ @@ -152,34 +153,37 @@ def sanity(config, target): def summaries(rows, status): for name, subset in [('translation_sweep', [r for r in rows if r['perturbation_type'] in ['gt','translation']]), ('rotation_sweep', [r for r in rows if r['perturbation_type'] in ['gt','rotation']]), ('full_summary', rows)]: - p = ROOT/'results'/('SV100_'+name+'.csv') + p = RUN_ROOT/'results'/('SV100_'+name+'.csv') with p.open('w', newline='') as f: w = csv.DictWriter(f, fieldnames=FIELDS); w.writeheader(); w.writerows(subset) - (ROOT/'results/SV100_pipeline_summary.txt').write_text(now()+' '+status+'\nNerfstudio 1.1.5; vanilla-nerf; 100 views; 30000 iterations\nTranslation magnitude unit: ratio of mean camera radius; rotation unit: degrees.\nGT is evaluated once and shared by both sweep tables. Metrics: fine_psnr/fine_ssim/fine_lpips from fresh ns-eval test split.\n'+ '\n'.join(r['case']+' '+r['status']+' PSNR='+str(r['psnr'])+' SSIM='+str(r['ssim'])+' LPIPS='+str(r['lpips']) for r in rows)+'\n') + (RUN_ROOT/'results/SV100_pipeline_summary.txt').write_text(now()+' '+status+'\nNerfstudio 1.1.5; vanilla-nerf; 100 views; 30000 iterations\nTranslation magnitude unit: ratio of mean camera radius; rotation unit: degrees.\nGT is evaluated once and shared by both sweep tables. Metrics: fine_psnr/fine_ssim/fine_lpips from fresh ns-eval test split.\n'+ '\n'.join(r['case']+' '+r['status']+' PSNR='+str(r['psnr'])+' SSIM='+str(r['ssim'])+' LPIPS='+str(r['lpips']) for r in rows)+'\n') def main(): + require_training() + for directory in ('results', 'outputs', 'logs/gt', 'logs/translation', 'logs/rotation'): + (RUN_ROOT/directory).mkdir(parents=True, exist_ok=True) rows = [] state = {'status':'RUNNING','start':now(),'pid':os.getpid(),'nerfstudio_version':version(),'order':[c[0] for c in CASES]} - state_path = ROOT/'results/pipeline_state.json' + state_path = RUN_ROOT/'results/pipeline_state.json' require(not state_path.exists(), 'Existing pipeline state: refusing result reuse') save(state_path, state) try: checks = {c[0]:validate(c) for c in CASES} - subprocess.run(['uv','pip','freeze','--python',sys.executable], stdout=(ROOT/'results/environment.txt').open('w'), check=True) + subprocess.run(['uv','pip','freeze','--python',sys.executable], stdout=(RUN_ROOT/'results/environment.txt').open('w'), check=True) summaries(rows, 'RUNNING') for case in CASES: name, kind, mag, directory = case state.update(case=name, stage='train'); save(state_path,state) require(validate(case) == checks[name], 'Dataset metadata changed after preflight') log('START '+name+' max_iterations=30000') - logs = ROOT/'logs'/kind; logs.mkdir(exist_ok=True) - result = ROOT/'results'/name; result.mkdir() + logs = RUN_ROOT/'logs'/kind; logs.mkdir(exist_ok=True) + result = RUN_ROOT/'results'/name; result.mkdir() exp = 'lego_sv100' if kind == 'gt' else directory - base = ROOT/'outputs'/exp + base = RUN_ROOT/'outputs'/exp require(not base.exists(), 'Output experiment already exists; refusing reuse: '+str(base)) - before = set((ROOT/'outputs').rglob('config.yml')) - command(['ns-train','vanilla-nerf','--experiment-name',exp,'--output-dir','outputs','--max-num-iterations','30000','--vis','tensorboard','--viewer.quit-on-train-completion','True','--data',DATA/directory], logs/(name+'_train.log')) - configs = set((ROOT/'outputs').rglob('config.yml'))-before + before = set((RUN_ROOT/'outputs').rglob('config.yml')) + command(['ns-train','vanilla-nerf','--experiment-name',exp,'--output-dir',str(RUN_ROOT/'outputs'),'--max-num-iterations','30000','--vis','tensorboard','--viewer.quit-on-train-completion','True','--data',DATA/directory], logs/(name+'_train.log')) + configs = set((RUN_ROOT/'outputs').rglob('config.yml'))-before require(len(configs) == 1, 'Fresh config not uniquely identified') config = configs.pop().resolve() require(base.resolve() in config.parents, 'Unexpected config location') @@ -208,7 +212,9 @@ def main(): summaries(rows,'FAILED '+str(e)); log('FAILED END '+str(e)); raise if __name__ == '__main__': - os.chdir(ROOT) + if any(arg in ('--help', '-h') for arg in sys.argv[1:]): + print('Usage: uv run python scripts/training/sv100_pipeline.py [preflight | verify CONFIG DATA | sanity CONFIG OUTPUT]\n'+PATH_HELP) + raise SystemExit(0) if len(sys.argv) == 1: main() elif sys.argv[1] == 'preflight': for c in CASES: validate(c) diff --git a/tests/test_script_portability.py b/tests/test_script_portability.py new file mode 100644 index 0000000..d6cd7d3 --- /dev/null +++ b/tests/test_script_portability.py @@ -0,0 +1,79 @@ +"""Check published entrypoints outside the checkout without GPU training.""" +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +ROOT = Path(__file__).resolve().parents[1] + + +class ScriptPortabilityTests(unittest.TestCase): + def test_all_python_help_without_datasets(self): + with tempfile.TemporaryDirectory(prefix='poseguard external ') as directory: + env = dict(os.environ, POSEGUARD_DATA=str(Path(directory)/'missing data'), + POSEGUARD_RUN_ROOT=str(Path(directory)/'missing runs')) + for path in ROOT.joinpath('scripts').glob('*/*.py'): + with self.subTest(script=path.name): + result = subprocess.run([sys.executable, str(path), '--help'], + cwd=directory, env=env, capture_output=True, text=True) + self.assertEqual(result.returncode, 0, result.stderr) + self.assertIn('usage:', result.stdout.lower()) + self.assertFalse((Path(directory)/'missing runs').exists()) + + def test_relative_environment_paths_are_checkout_relative(self): + with tempfile.TemporaryDirectory() as directory: + env = dict(os.environ, PYTHONPATH=str(ROOT), POSEGUARD_DATA='custom data', + POSEGUARD_RUN_ROOT='custom runs') + for key in ('POSEGUARD_BASELINE_SUMMARY', 'POSEGUARD_ORIGINAL_RUN', 'POSEGUARD_WARMUP_RUN'): + env.pop(key, None) + result = subprocess.run([sys.executable, '-c', + 'import json; from scripts.runtime import DATA, RUN_ROOT, WARMUP_RUN; ' + 'print(json.dumps(list(map(str, (DATA, RUN_ROOT, WARMUP_RUN)))))'], + cwd=directory, env=env, capture_output=True, text=True, check=True) + self.assertEqual(json.loads(result.stdout), [str(ROOT/'custom data'), + str(ROOT/'custom runs'), str(ROOT/'custom runs/results/poseopt_sv100_warmup2500')]) + + def test_default_analysis_from_external_directory(self): + with tempfile.TemporaryDirectory(prefix='poseguard analysis ') as directory: + output=Path(directory)/'nested output' + subprocess.run([sys.executable, str(ROOT/'scripts/analysis/analyze_warmup_results.py'), + '--output', str(output)], cwd=directory, check=True, capture_output=True) + actual=json.loads((output/'aggregate_metrics.json').read_text()) + expected=json.loads((ROOT/'artifacts/analysis/warmup/aggregate_metrics.json').read_text()) + self.assertEqual(actual, expected) + + def test_missing_audit_inputs_give_actionable_error(self): + with tempfile.TemporaryDirectory() as directory: + result=subprocess.run([sys.executable, str(ROOT/'scripts/evaluation/audit_pose_alignment.py'), + '--gt', str(Path(directory)/'missing.json')], cwd=directory, + capture_output=True, text=True) + self.assertNotEqual(result.returncode, 0) + self.assertIn('Required file not found', result.stderr) + self.assertNotIn('Traceback', result.stderr) + + def test_audit_uses_explicit_run_and_output_directories(self): + with tempfile.TemporaryDirectory(prefix='poseguard audit ') as directory: + base=Path(directory) + poses=[[[1,0,0,x],[0,1,0,y],[0,0,1,z]] + for x,y,z in ((0,0,0),(1,0,0),(0,1,0),(0,0,1))] + gt=base/'gt.json' + gt.write_text(json.dumps({'frames':[{'transform_matrix':p} for p in poses]})) + for name in ('original', 'warmup'): + run=base/name; run.mkdir() + (run/'config.yml').write_text(' scale_factor: 1.0\n') + (run/'optimized_poses.json').write_text(json.dumps({'poses':poses})) + entry={'status':'SUCCESS','config':str(run/'config.yml'), + 'attempt':str(run),'metrics':{'psnr':20}} + (run/'state.json').write_text(json.dumps({'experiments':{'naive/SV100-GT':entry}})) + output=base/'nested'/'audit output' + subprocess.run([sys.executable,str(ROOT/'scripts/evaluation/audit_pose_alignment.py'), + '--gt',str(gt),'--original',str(base/'original'), + '--warmup',str(base/'warmup'),'--output',str(output)], + cwd=directory,check=True,capture_output=True) + transforms=json.loads((output/'transforms.json').read_text()) + self.assertEqual(set(transforms), {'original/naive/SV100-GT','warmup/naive/SV100-GT'}) + for transform in transforms.values(): + self.assertAlmostEqual(transform['scale'],1.) From 4135cb592ffb10555a8b7d0717a5e21bdfe58005 Mon Sep 17 00:00:00 2001 From: chu-jiaming Date: Wed, 14 Oct 2026 18:10:44 +0800 Subject: [PATCH 3/6] chore: add uv project, MIT license and CPU CI - pyproject.toml + uv.lock cover the CPU path (archived analysis, Sim(3) alignment, tests); GPU training pins move to requirements-train.txt. - GitHub Actions runs the CPU test suites, the archived re-analysis and the metric figures on Python 3.10. - Rename the two historical .md.txt reports to .md and ignore local server delivery copies under /delivery/. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/tests.yml | 23 + .gitignore | 3 + LICENSE | 21 + ...lysis.md.txt => naive_failure_analysis.md} | 0 .../{report.md.txt => report.md} | 0 pyproject.toml | 16 + requirements.txt => requirements-train.txt | 2 +- scripts/training/sv100_pipeline.py | 2 +- uv.lock | 2015 +++++++++++++++++ 9 files changed, 2080 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/tests.yml create mode 100644 LICENSE rename artifacts/analysis/pose_optimization/{naive_failure_analysis.md.txt => naive_failure_analysis.md} (100%) rename artifacts/analysis/pose_optimization/{report.md.txt => report.md} (100%) create mode 100644 pyproject.toml rename requirements.txt => requirements-train.txt (74%) create mode 100644 uv.lock diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..a2f4bb6 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,23 @@ +name: tests + +on: + push: + branches: [main] + pull_request: + +jobs: + cpu: + # Training needs a CUDA GPU; CI covers the CPU path: archived analysis, + # Sim(3) alignment math, orchestration logic and script portability. + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: astral-sh/setup-uv@v5 + with: + python-version: "3.10" + - run: uv sync --locked --extra analysis + - run: uv run python -m unittest discover -s tests -p "test_script_portability.py" -v + - run: uv run python -m unittest discover -s tests -p "test_orchestration.py" -v + - run: uv run python -m unittest discover -s tests -p "test_alignment.py" -v + - run: uv run python scripts/analysis/analyze_warmup_results.py --plots + - run: uv run python scripts/showcase/make_figures.py --output "$RUNNER_TEMP/figures" diff --git a/.gitignore b/.gitignore index 45cae0a..6b4ee7a 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ __pycache__/ *.npy *.npz events.out.tfevents.* + +# Local copies of server delivery packages (large; never commit). +/delivery/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1667654 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 chu-jiaming + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/artifacts/analysis/pose_optimization/naive_failure_analysis.md.txt b/artifacts/analysis/pose_optimization/naive_failure_analysis.md similarity index 100% rename from artifacts/analysis/pose_optimization/naive_failure_analysis.md.txt rename to artifacts/analysis/pose_optimization/naive_failure_analysis.md diff --git a/artifacts/analysis/pose_optimization/report.md.txt b/artifacts/analysis/pose_optimization/report.md similarity index 100% rename from artifacts/analysis/pose_optimization/report.md.txt rename to artifacts/analysis/pose_optimization/report.md diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..5126325 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,16 @@ +[project] +name = "poseguard-nerf" +version = "0.1.0" +description = "Controlled study of camera-pose perturbation, joint pose optimization and global coordinate drift in NeRF." +readme = "README.md" +license = { text = "MIT" } +requires-python = ">=3.8" +# The CPU path (archived analysis, alignment math, tests) needs only these. +# GPU training pins live in requirements-train.txt; see docs/RUNNING.md. +dependencies = [] + +[project.optional-dependencies] +analysis = ["numpy>=1.24", "matplotlib>=3.7", "pillow>=10"] + +[tool.uv] +package = false diff --git a/requirements.txt b/requirements-train.txt similarity index 74% rename from requirements.txt rename to requirements-train.txt index 917a792..7168ad6 100644 --- a/requirements.txt +++ b/requirements-train.txt @@ -1,5 +1,5 @@ # Core versions observed in the completed experiment environment. -# Install torch/torchvision CUDA wheels separately; see REPRODUCING.md. +# Install torch/torchvision CUDA wheels separately; see docs/RUNNING.md. nerfstudio==1.1.5 torch==2.1.2 torchvision==0.16.2 diff --git a/scripts/training/sv100_pipeline.py b/scripts/training/sv100_pipeline.py index b5bd84e..8955c7c 100644 --- a/scripts/training/sv100_pipeline.py +++ b/scripts/training/sv100_pipeline.py @@ -213,7 +213,7 @@ def main(): if __name__ == '__main__': if any(arg in ('--help', '-h') for arg in sys.argv[1:]): - print('Usage: uv run python scripts/training/sv100_pipeline.py [preflight | verify CONFIG DATA | sanity CONFIG OUTPUT]\n'+PATH_HELP) + print('Usage: uv run --no-sync python scripts/training/sv100_pipeline.py [preflight | verify CONFIG DATA | sanity CONFIG OUTPUT]\n'+PATH_HELP) raise SystemExit(0) if len(sys.argv) == 1: main() elif sys.argv[1] == 'preflight': diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..10c1f02 --- /dev/null +++ b/uv.lock @@ -0,0 +1,2015 @@ +version = 1 +revision = 3 +requires-python = ">=3.8" +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] + +[[package]] +name = "contourpy" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167, upload-time = "2023-09-16T10:25:49.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207, upload-time = "2023-09-16T10:20:32.848Z" }, + { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428, upload-time = "2023-09-16T10:20:36.337Z" }, + { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304, upload-time = "2023-09-16T10:20:40.182Z" }, + { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655, upload-time = "2023-09-16T10:20:44.175Z" }, + { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430, upload-time = "2023-09-16T10:20:47.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672, upload-time = "2023-09-16T10:20:51.395Z" }, + { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145, upload-time = "2023-09-16T10:20:58.426Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542, upload-time = "2023-09-16T10:21:02.719Z" }, + { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974, upload-time = "2023-09-16T10:21:07.565Z" }, + { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613, upload-time = "2023-09-16T10:21:10.695Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603, upload-time = "2023-09-16T10:21:13.771Z" }, + { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037, upload-time = "2023-09-16T10:21:17.622Z" }, + { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274, upload-time = "2023-09-16T10:21:21.404Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801, upload-time = "2023-09-16T10:21:25.155Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821, upload-time = "2023-09-16T10:21:28.663Z" }, + { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121, upload-time = "2023-09-16T10:21:36.251Z" }, + { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590, upload-time = "2023-09-16T10:21:40.42Z" }, + { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534, upload-time = "2023-09-16T10:21:45.724Z" }, + { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799, upload-time = "2023-09-16T10:21:48.797Z" }, + { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739, upload-time = "2023-09-16T10:21:51.854Z" }, + { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171, upload-time = "2023-09-16T10:21:55.794Z" }, + { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182, upload-time = "2023-09-16T10:21:59.576Z" }, + { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869, upload-time = "2023-09-16T10:22:03.248Z" }, + { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756, upload-time = "2023-09-16T10:22:06.663Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441, upload-time = "2023-09-16T10:22:13.805Z" }, + { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294, upload-time = "2023-09-16T10:22:18.055Z" }, + { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678, upload-time = "2023-09-16T10:22:23.249Z" }, + { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023, upload-time = "2023-09-16T10:22:26.954Z" }, + { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380, upload-time = "2023-09-16T10:22:30.423Z" }, + { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830, upload-time = "2023-09-16T10:22:33.787Z" }, + { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038, upload-time = "2023-09-16T10:22:37.627Z" }, + { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797, upload-time = "2023-09-16T10:22:41.952Z" }, + { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124, upload-time = "2023-09-16T10:22:45.993Z" }, + { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787, upload-time = "2023-09-16T10:22:53.511Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031, upload-time = "2023-09-16T10:22:57.78Z" }, + { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949, upload-time = "2023-09-16T10:23:02.587Z" }, + { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396, upload-time = "2023-09-16T10:23:06.429Z" }, + { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598, upload-time = "2023-09-16T10:23:11.009Z" }, + { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436, upload-time = "2023-09-16T10:23:14.624Z" }, + { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629, upload-time = "2023-09-16T10:23:18.203Z" }, + { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117, upload-time = "2023-09-16T10:23:21.586Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855, upload-time = "2023-09-16T10:23:25.584Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597, upload-time = "2023-09-16T10:23:33.133Z" }, + { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031, upload-time = "2023-09-16T10:23:37.546Z" }, + { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965, upload-time = "2023-09-16T10:23:42.512Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493, upload-time = "2023-09-16T10:23:45.721Z" }, + { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240, upload-time = "2023-09-16T10:23:49.207Z" }, + { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043, upload-time = "2023-09-16T10:23:54.495Z" }, + { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247, upload-time = "2023-09-16T10:23:58.204Z" }, + { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029, upload-time = "2023-09-16T10:24:02.085Z" }, + { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043, upload-time = "2023-09-16T10:24:07.292Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370, upload-time = "2024-08-27T21:00:03.328Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366, upload-time = "2024-08-27T20:50:09.947Z" }, + { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226, upload-time = "2024-08-27T20:50:16.1Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460, upload-time = "2024-08-27T20:50:22.536Z" }, + { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623, upload-time = "2024-08-27T20:50:28.806Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761, upload-time = "2024-08-27T20:50:35.126Z" }, + { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015, upload-time = "2024-08-27T20:50:40.318Z" }, + { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672, upload-time = "2024-08-27T20:50:55.643Z" }, + { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688, upload-time = "2024-08-27T20:51:11.293Z" }, + { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145, upload-time = "2024-08-27T20:51:15.2Z" }, + { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019, upload-time = "2024-08-27T20:51:19.365Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356, upload-time = "2024-08-27T20:51:24.146Z" }, + { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915, upload-time = "2024-08-27T20:51:28.683Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443, upload-time = "2024-08-27T20:51:33.675Z" }, + { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548, upload-time = "2024-08-27T20:51:39.322Z" }, + { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118, upload-time = "2024-08-27T20:51:44.717Z" }, + { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162, upload-time = "2024-08-27T20:51:49.683Z" }, + { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396, upload-time = "2024-08-27T20:52:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297, upload-time = "2024-08-27T20:52:21.843Z" }, + { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808, upload-time = "2024-08-27T20:52:25.163Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181, upload-time = "2024-08-27T20:52:29.13Z" }, + { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838, upload-time = "2024-08-27T20:52:33.911Z" }, + { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549, upload-time = "2024-08-27T20:52:39.179Z" }, + { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177, upload-time = "2024-08-27T20:52:44.789Z" }, + { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735, upload-time = "2024-08-27T20:52:51.05Z" }, + { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679, upload-time = "2024-08-27T20:52:58.473Z" }, + { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549, upload-time = "2024-08-27T20:53:06.593Z" }, + { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068, upload-time = "2024-08-27T20:53:23.442Z" }, + { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833, upload-time = "2024-08-27T20:53:39.243Z" }, + { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681, upload-time = "2024-08-27T20:53:43.05Z" }, + { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283, upload-time = "2024-08-27T20:53:47.232Z" }, + { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879, upload-time = "2024-08-27T20:53:51.597Z" }, + { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573, upload-time = "2024-08-27T20:53:55.659Z" }, + { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184, upload-time = "2024-08-27T20:54:00.225Z" }, + { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262, upload-time = "2024-08-27T20:54:05.234Z" }, + { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806, upload-time = "2024-08-27T20:54:09.889Z" }, + { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710, upload-time = "2024-08-27T20:54:14.536Z" }, + { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107, upload-time = "2024-08-27T20:54:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458, upload-time = "2024-08-27T20:54:45.507Z" }, + { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643, upload-time = "2024-08-27T20:55:52.754Z" }, + { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301, upload-time = "2024-08-27T20:55:56.509Z" }, + { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972, upload-time = "2024-08-27T20:54:50.347Z" }, + { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375, upload-time = "2024-08-27T20:54:54.909Z" }, + { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188, upload-time = "2024-08-27T20:55:00.184Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644, upload-time = "2024-08-27T20:55:05.673Z" }, + { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141, upload-time = "2024-08-27T20:55:11.047Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469, upload-time = "2024-08-27T20:55:15.914Z" }, + { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894, upload-time = "2024-08-27T20:55:31.553Z" }, + { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829, upload-time = "2024-08-27T20:55:47.837Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518, upload-time = "2024-08-27T20:56:01.333Z" }, + { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350, upload-time = "2024-08-27T20:56:05.432Z" }, + { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167, upload-time = "2024-08-27T20:56:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279, upload-time = "2024-08-27T20:56:15.41Z" }, + { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519, upload-time = "2024-08-27T20:56:21.813Z" }, + { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922, upload-time = "2024-08-27T20:56:26.983Z" }, + { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017, upload-time = "2024-08-27T20:56:42.246Z" }, + { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773, upload-time = "2024-08-27T20:56:58.58Z" }, + { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353, upload-time = "2024-08-27T20:57:02.718Z" }, + { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817, upload-time = "2024-08-27T20:57:06.328Z" }, + { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886, upload-time = "2024-08-27T20:57:10.863Z" }, + { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008, upload-time = "2024-08-27T20:57:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690, upload-time = "2024-08-27T20:57:19.321Z" }, + { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894, upload-time = "2024-08-27T20:57:23.873Z" }, + { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099, upload-time = "2024-08-27T20:57:28.58Z" }, + { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838, upload-time = "2024-08-27T20:57:32.913Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551, upload-time = "2025-04-15T17:34:46.581Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399, upload-time = "2025-04-15T17:34:51.427Z" }, + { url = "https://files.pythonhosted.org/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061, upload-time = "2025-04-15T17:34:55.961Z" }, + { url = "https://files.pythonhosted.org/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956, upload-time = "2025-04-15T17:35:00.992Z" }, + { url = "https://files.pythonhosted.org/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872, upload-time = "2025-04-15T17:35:06.177Z" }, + { url = "https://files.pythonhosted.org/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027, upload-time = "2025-04-15T17:35:11.244Z" }, + { url = "https://files.pythonhosted.org/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641, upload-time = "2025-04-15T17:35:26.701Z" }, + { url = "https://files.pythonhosted.org/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075, upload-time = "2025-04-15T17:35:43.204Z" }, + { url = "https://files.pythonhosted.org/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534, upload-time = "2025-04-15T17:35:46.554Z" }, + { url = "https://files.pythonhosted.org/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188, upload-time = "2025-04-15T17:35:50.064Z" }, + { url = "https://files.pythonhosted.org/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636, upload-time = "2025-04-15T17:35:54.473Z" }, + { url = "https://files.pythonhosted.org/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636, upload-time = "2025-04-15T17:35:58.283Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053, upload-time = "2025-04-15T17:36:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985, upload-time = "2025-04-15T17:36:08.275Z" }, + { url = "https://files.pythonhosted.org/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750, upload-time = "2025-04-15T17:36:13.29Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246, upload-time = "2025-04-15T17:36:18.329Z" }, + { url = "https://files.pythonhosted.org/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728, upload-time = "2025-04-15T17:36:33.878Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762, upload-time = "2025-04-15T17:36:51.295Z" }, + { url = "https://files.pythonhosted.org/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196, upload-time = "2025-04-15T17:36:55.002Z" }, + { url = "https://files.pythonhosted.org/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017, upload-time = "2025-04-15T17:36:58.576Z" }, + { url = "https://files.pythonhosted.org/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580, upload-time = "2025-04-15T17:37:03.105Z" }, + { url = "https://files.pythonhosted.org/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530, upload-time = "2025-04-15T17:37:07.026Z" }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688, upload-time = "2025-04-15T17:37:11.481Z" }, + { url = "https://files.pythonhosted.org/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331, upload-time = "2025-04-15T17:37:18.212Z" }, + { url = "https://files.pythonhosted.org/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963, upload-time = "2025-04-15T17:37:22.76Z" }, + { url = "https://files.pythonhosted.org/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681, upload-time = "2025-04-15T17:37:33.001Z" }, + { url = "https://files.pythonhosted.org/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674, upload-time = "2025-04-15T17:37:48.64Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480, upload-time = "2025-04-15T17:38:06.7Z" }, + { url = "https://files.pythonhosted.org/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489, upload-time = "2025-04-15T17:38:10.338Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042, upload-time = "2025-04-15T17:38:14.239Z" }, + { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630, upload-time = "2025-04-15T17:38:19.142Z" }, + { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670, upload-time = "2025-04-15T17:38:23.688Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694, upload-time = "2025-04-15T17:38:28.238Z" }, + { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986, upload-time = "2025-04-15T17:38:33.502Z" }, + { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060, upload-time = "2025-04-15T17:38:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747, upload-time = "2025-04-15T17:38:43.712Z" }, + { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895, upload-time = "2025-04-15T17:39:00.224Z" }, + { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098, upload-time = "2025-04-15T17:43:29.649Z" }, + { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535, upload-time = "2025-04-15T17:44:44.532Z" }, + { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096, upload-time = "2025-04-15T17:44:48.194Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090, upload-time = "2025-04-15T17:43:34.084Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643, upload-time = "2025-04-15T17:43:38.626Z" }, + { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443, upload-time = "2025-04-15T17:43:44.522Z" }, + { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865, upload-time = "2025-04-15T17:43:49.545Z" }, + { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162, upload-time = "2025-04-15T17:43:54.203Z" }, + { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355, upload-time = "2025-04-15T17:44:01.025Z" }, + { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935, upload-time = "2025-04-15T17:44:17.322Z" }, + { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168, upload-time = "2025-04-15T17:44:33.43Z" }, + { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550, upload-time = "2025-04-15T17:44:37.092Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214, upload-time = "2025-04-15T17:44:40.827Z" }, + { url = "https://files.pythonhosted.org/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681, upload-time = "2025-04-15T17:44:59.314Z" }, + { url = "https://files.pythonhosted.org/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101, upload-time = "2025-04-15T17:45:04.165Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599, upload-time = "2025-04-15T17:45:08.456Z" }, + { url = "https://files.pythonhosted.org/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807, upload-time = "2025-04-15T17:45:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729, upload-time = "2025-04-15T17:45:20.166Z" }, + { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791, upload-time = "2025-04-15T17:45:24.794Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" }, + { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" }, + { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" }, + { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" }, + { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" }, + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" }, + { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" }, + { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" }, + { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, +] + +[[package]] +name = "contourpy" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", +] +dependencies = [ + { name = "numpy", version = "2.5.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/5a/a55177dd22553a277388e8a1b3220e92de91bacb28356cdc73caa240121d/contourpy-1.4.0.tar.gz", hash = "sha256:20156f5a1ac4f8ce02656e39a61e82164a3d359796dc8026f75b062783d500e1", size = 13323726, upload-time = "2026-09-11T19:05:05.808Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/ba/01bde9753bdbba04a6da9d2bff3881f021bc708f654655e95fae26d3b3a3/contourpy-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:186ba929df36d61b6127da2e89cd1357e4cb79aca647381ab1a6feb0b152877b", size = 297302, upload-time = "2026-09-11T19:02:45.103Z" }, + { url = "https://files.pythonhosted.org/packages/dd/f5/c5bf67522d49a2222f3154fe46879451d26f0e35ece41770758a64ea78cb/contourpy-1.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c76f3a5318164db7d9401132fc1b5364b784c613c93fa506e3b5e6d1bf353ec8", size = 284921, upload-time = "2026-09-11T19:02:48.049Z" }, + { url = "https://files.pythonhosted.org/packages/0f/cc/cb989599eec12fda312e127eb8e04a8b21a7a6c94bf7ff1bc68273334a42/contourpy-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:43c3ccbb32c6294b183dcc8e8c46dacf5ecef809497e3d48a5be298eef185ad0", size = 356332, upload-time = "2026-09-11T19:02:51.408Z" }, + { url = "https://files.pythonhosted.org/packages/47/fb/6f620d7602507817b0b4c21dd790ed68688f1f4ae9c29aacf21f08db5cf1/contourpy-1.4.0-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:86d05cec773c9507a3950122e0e40ce77c23c75ceeb2fc189514e71893cbb34b", size = 405878, upload-time = "2026-09-11T19:02:54.093Z" }, + { url = "https://files.pythonhosted.org/packages/32/4e/693c6d6bdece679f0953775eef3a1b66d56be55478d936e7deb1f3004422/contourpy-1.4.0-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2deb580178ca19437a84bd77e4bc2cd91a8ccad212413a83c273900868b5978c", size = 408296, upload-time = "2026-09-11T19:02:56.528Z" }, + { url = "https://files.pythonhosted.org/packages/78/f9/b6831508960d559581c448532ba4df312217072975486dbf2b24fcc5b76f/contourpy-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:875f42444c9cf48d56f724f2637e60d0f73b3b12c9041e1484580a233edf9591", size = 383243, upload-time = "2026-09-11T19:02:58.638Z" }, + { url = "https://files.pythonhosted.org/packages/f2/21/52903825a0ae7bb625e8bd30a09816d4c3c5d6174a469c10a616166cf780/contourpy-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f863c6100bf926cf47d13f3cd75f9bb8ebd98aaab230eeb4468b91f98f39a6b3", size = 1357306, upload-time = "2026-09-11T19:03:01.036Z" }, + { url = "https://files.pythonhosted.org/packages/d8/79/d68b1ce8539e4071518fed9523f558398f34dcd078b8927b109c72dad2ef/contourpy-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3863ef2e2b13fe93f8c0ebb08ee400cb07153b8b0e91c5acb26e4537f283634f", size = 1427243, upload-time = "2026-09-11T19:03:03.866Z" }, + { url = "https://files.pythonhosted.org/packages/ac/f0/b75a10e9d0616b97a30de277b6dfe83f1879880854c7330337309530eb48/contourpy-1.4.0-cp312-cp312-win32.whl", hash = "sha256:5450f091ac1be0be3ad3a2a3b3f23b5e443e78c670ced4fd347d626f92a28fd2", size = 347345, upload-time = "2026-09-11T19:03:06.192Z" }, + { url = "https://files.pythonhosted.org/packages/50/a9/dab08786bb4d77ef9a046b3c1be923be4e73c5d07d91f5a54e8ea9b09e41/contourpy-1.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e697d94e69f499ff6bebb899cae97a58d5d14f0e1fe9568b43a0248d2f9af8c", size = 234083, upload-time = "2026-09-11T19:03:08.122Z" }, + { url = "https://files.pythonhosted.org/packages/47/b9/3ba509755a970dbde5948e7142ac21f266be72f38017cc4087a05fdceee1/contourpy-1.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:0c7a4c2716a4e98342221954416a836cca77c996c14ddbf22b5f01d5d93ca09c", size = 559521, upload-time = "2026-09-11T19:03:10.047Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8b/62a6eacea08ea0b6ab0159a7783df7ed421ff9c1ff58fef7c31f58fa5e52/contourpy-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e21d1d4a9db5b3a793649c7ab0ddb4697f2818929eec871a7b9c45fce7b2a1ea", size = 297330, upload-time = "2026-09-11T19:03:11.809Z" }, + { url = "https://files.pythonhosted.org/packages/3f/2f/103cdc5b7077cd569989d3ddb99ee3d4e96ee31bde8df2a6e426b2dc6195/contourpy-1.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:196759a3e4db60e1546167e361090ebb6d199aa3aafc9e34ea17a5ac3b23e814", size = 285037, upload-time = "2026-09-11T19:03:13.781Z" }, + { url = "https://files.pythonhosted.org/packages/bf/25/97001d1fdf940e6f5adfc592d4f5899fff95daf7dceead3988fe09987d2d/contourpy-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c0e07c691f3b3321913ed9b8161c50ea5f77fadd006f52f5e755359b0dcbfc5", size = 356675, upload-time = "2026-09-11T19:03:15.374Z" }, + { url = "https://files.pythonhosted.org/packages/a6/5e/9a7241a89e2f74402aefa2569e1349ad2750ff77823c04c788eaaedb7fdd/contourpy-1.4.0-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7f861af508fca2384eef392bc1d8377cfa349b2b854cb11b45d89c75780e2561", size = 406990, upload-time = "2026-09-11T19:03:17.44Z" }, + { url = "https://files.pythonhosted.org/packages/36/81/3a4fbbf6a806eada5453a6d16f6c7d96b9f4b3e57a3127368fb545986b8a/contourpy-1.4.0-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a03b32c2e7eda8b17757c022162c13c86f5c3d6f937dddf9ba3c3ff7b513953b", size = 407271, upload-time = "2026-09-11T19:03:19.523Z" }, + { url = "https://files.pythonhosted.org/packages/68/77/8f93ecbde1a4d11dfd460cd19a0c159f5487352e751fa87f5d78cc9db08e/contourpy-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f1219a8898523cba821085f2da8a1b962cc696325763f09d7f93538ba43b2d70", size = 384707, upload-time = "2026-09-11T19:03:21.208Z" }, + { url = "https://files.pythonhosted.org/packages/05/07/e5cdf94d68961ee464de6b4fedd3d2f666584f59ccd124bb1290597122ab/contourpy-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:20da2f86bfaed60dbba729fe738c8241b1dd22b6cf7e8cbbf30df290bd04ba28", size = 1356741, upload-time = "2026-09-11T19:03:23.621Z" }, + { url = "https://files.pythonhosted.org/packages/fd/8a/2301d07accb257ac08daeb631875fada06fedd019c20ff7b00ee07e9d211/contourpy-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6ced1670fafee703b8277ab1645072a226e74f167166eae146fb743916119b67", size = 1426793, upload-time = "2026-09-11T19:03:25.955Z" }, + { url = "https://files.pythonhosted.org/packages/7d/5d/a62648f06259d15c139b14eb8cf3c58fe53cb970a55f2bb77d1070e80a41/contourpy-1.4.0-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:abd0f7e51ecc52bf8c95713bd80b1c17c516a71fa391c54475308a4377903c2b", size = 117961, upload-time = "2026-09-11T19:03:27.713Z" }, + { url = "https://files.pythonhosted.org/packages/71/31/c5b7771ba6982f319ec90c0cf5c425b36891adfeee2d9f667f90b2d0c166/contourpy-1.4.0-cp313-cp313-win32.whl", hash = "sha256:510f7d93d94cf6ebf4e2cd0640bea16ab8affac7547230175b6745b596ce0599", size = 347438, upload-time = "2026-09-11T19:03:29.829Z" }, + { url = "https://files.pythonhosted.org/packages/68/c1/a59df0754bf83a6f3e153cc19d550a5b01f607e389b1c4d57f436f9139e0/contourpy-1.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:6507a016976a75a15aee47809a34605de6244ccc056e6164bf9fb14b27eecad4", size = 234084, upload-time = "2026-09-11T19:03:31.657Z" }, + { url = "https://files.pythonhosted.org/packages/41/48/97224f5decb1efa5a610f912195deb45321f73ec9b9dac485cd6fe2d5a6a/contourpy-1.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:423bd5f4b3f11d54a8c597234e513382e3454bb106b8ec7ae32ba4ed63f8d99b", size = 559559, upload-time = "2026-09-11T19:03:33.528Z" }, + { url = "https://files.pythonhosted.org/packages/75/b0/b548628c8dddf6e5e0a981b7fa8e4c008024df09c7d17c6a9e271edfa0b3/contourpy-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a3e67bc1a6a4618a1dac7c3053a9ffece5ddfa2046b2670b342cf430bb0b87d1", size = 297354, upload-time = "2026-09-11T19:03:35.017Z" }, + { url = "https://files.pythonhosted.org/packages/04/5a/513484208742f65af2648c519f0b7ab034616e183c4403538024c136a1ab/contourpy-1.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:072a702e2e178f4fcf96f04775d0c059e4c917925abf0d3208ebb6865df3c23d", size = 283729, upload-time = "2026-09-11T19:03:36.818Z" }, + { url = "https://files.pythonhosted.org/packages/35/da/5a6562febc994b2c4bf9d01e57a50458ef8a2051bb3e7b35a00333e0fc26/contourpy-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:404dbcd9233513dfd1323b66ea593fef90e899f658f6b8a9ed8e93bd0ca669db", size = 357819, upload-time = "2026-09-11T19:03:39.058Z" }, + { url = "https://files.pythonhosted.org/packages/6d/99/7b358ce888aaa426f755daa096c99c59d17c352037344e836f20e5d3b957/contourpy-1.4.0-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:61624f6722480aa7e168fd746164e7bfdf48f8ccb6542f1613741200dc37e2b1", size = 407795, upload-time = "2026-09-11T19:03:41.293Z" }, + { url = "https://files.pythonhosted.org/packages/be/02/34d7548adf08c60967435d79d7a90882eacc84f5093435287974c7e99943/contourpy-1.4.0-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2e741a39dfc96babe1722561e81351aeec104526c57dbe91c167c1db606c2d55", size = 408552, upload-time = "2026-09-11T19:03:42.728Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8c/9677dad226e5aaac5b823d5b09d881ebc32ff1648af417597649841e516c/contourpy-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e439ab450c93455feb0218532ded3e946ec7a9b5f459069f122cfa44b89229f6", size = 384850, upload-time = "2026-09-11T19:03:44.402Z" }, + { url = "https://files.pythonhosted.org/packages/08/f5/e3fbeaa489c223629fbb434737cb3de4ecaca9cae4825e77b92490f640f8/contourpy-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:417be048f7e122cefbe2a34c51a1f2b0410f8eb35796f794d45475ddb7872d9d", size = 1357601, upload-time = "2026-09-11T19:03:46.746Z" }, + { url = "https://files.pythonhosted.org/packages/88/be/55fec293d342c222ed58a5d4056df4362e192af2e59527a3d5d822de8828/contourpy-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:43d80072a32299bf945de0a6dd4e034ea0162e832261de2e07a274a5adbba9c9", size = 1427340, upload-time = "2026-09-11T19:03:48.745Z" }, + { url = "https://files.pythonhosted.org/packages/86/40/0faabf453edf59b0e3633381d7ca72c3414fb9b72b5cbb08b06ed792d3e5/contourpy-1.4.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:fa1b787362a3856e63dd2b89449f6c384d55ee1beb8f94f4bcc871b40f02462c", size = 118355, upload-time = "2026-09-11T19:03:50.047Z" }, + { url = "https://files.pythonhosted.org/packages/38/0c/7ea75aa3559ae8a6805015e15a19c92b6480752ecc92526361e5776e88c5/contourpy-1.4.0-cp314-cp314-win32.whl", hash = "sha256:738c44fa71735a617f36da58e32810512407d283d5d1bb5b1cecb00d7eeba7cf", size = 356977, upload-time = "2026-09-11T19:04:11.401Z" }, + { url = "https://files.pythonhosted.org/packages/15/41/3df8cc14bb572c8b447f9dfbc876703f0f2f2896058285b5c87a1d4a638d/contourpy-1.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:181bea01bc742734ae672fa00c717d855dd35e1f029536406538c52e7b0cd73d", size = 240101, upload-time = "2026-09-11T19:04:12.772Z" }, + { url = "https://files.pythonhosted.org/packages/66/01/ee6830a5aa4565662a345172f6f35eeeed625d20f1c9d4ecd35318fe4ade/contourpy-1.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:64039341e2d8804f1a13bda8c69083eab935167bbd7e856cf096241f17d5bd45", size = 576359, upload-time = "2026-09-11T19:04:14.983Z" }, + { url = "https://files.pythonhosted.org/packages/51/af/49ee9c9cf012699e505c1b63c531cc99f19df50f205173092c4d541e3ec7/contourpy-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:ef47fef9a912c77e3d84b014f701e5a9340f25703e9ed3bcebe37f91fb69dc49", size = 313601, upload-time = "2026-09-11T19:03:51.452Z" }, + { url = "https://files.pythonhosted.org/packages/ad/59/ce411ab2be0f805038626d8f4ca9ce563487ff51ff6c363e7512271564ed/contourpy-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:96019f059bcb3774acc0104be3360a57b36d33eaaa2e1d7f77c800ca8e07618b", size = 302812, upload-time = "2026-09-11T19:03:53.022Z" }, + { url = "https://files.pythonhosted.org/packages/95/b0/390915f9af14c1e2d3b2a9ad99d85b98df4352346a51e368cbb825f813c3/contourpy-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ddf5a2596d716fd3793434844caf31abc7a40b1e8718431420c89858268fb909", size = 348996, upload-time = "2026-09-11T19:03:54.594Z" }, + { url = "https://files.pythonhosted.org/packages/c7/85/e0952576d54322f3e9983b1e049a7a31f42ce82c5c29d01821e6dd3780d7/contourpy-1.4.0-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dd59df9e2fb0aff8bd7fd1adb9f349b7c835245a9d0f18c2f2deeb537190f2b1", size = 400272, upload-time = "2026-09-11T19:03:56.822Z" }, + { url = "https://files.pythonhosted.org/packages/d6/7d/f13543a5e1598e4a4ad01d9d5e2d65f9c09c37660616429913d606c5977d/contourpy-1.4.0-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b7794ea07cab575633daad8d6e963b662053391022294d3aacc1d9ba9ef54114", size = 412895, upload-time = "2026-09-11T19:03:58.487Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a8/6e5eaff53507dfd2dfc428240eecda32453067277d4b3e7ca71210b2d611/contourpy-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a1c8a74744fa746eeaa12f0f9ed7f8b4add9d8f1b14d95e3b5e133675eac888f", size = 377060, upload-time = "2026-09-11T19:04:00.122Z" }, + { url = "https://files.pythonhosted.org/packages/16/a3/d00e44d35511b3cead5bd794ee672d4eecf30d9de4ceac57a49d6204064f/contourpy-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:107ec46f7aa1664266d69b1181aadc953d58d39f7d8d648fa5b795d4a060b0de", size = 1345688, upload-time = "2026-09-11T19:04:02.705Z" }, + { url = "https://files.pythonhosted.org/packages/1e/01/1e533b0cae32c8edd63fe40435ec3b29345dab87321afcd28722d7f957d1/contourpy-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5a4c89c7f38a0d7a94356d74e3391073c4325c4d47ad2fd065c3fe7dbae16c0c", size = 1416140, upload-time = "2026-09-11T19:04:04.77Z" }, + { url = "https://files.pythonhosted.org/packages/6d/0c/4ee66759f00d6a5d6909782f14f441d639fa18a4a43142e334351efc47f8/contourpy-1.4.0-cp314-cp314t-win32.whl", hash = "sha256:912c6afaa106e2f74ba22b30416b77ef7eb94e3bdc5a4df51ab147845dba9b6d", size = 371982, upload-time = "2026-09-11T19:04:06.233Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ac/b3e5324138c3e3741f526663f4f265f4f69dfdf26415a39428940864a5f6/contourpy-1.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:ef9440f6f8506246269a82734f5ff9e2e4c5e775b3996fc883cc491c5257eca6", size = 262907, upload-time = "2026-09-11T19:04:07.882Z" }, + { url = "https://files.pythonhosted.org/packages/19/37/c9aa45e47819dc15a38fc5c81a2fb987fde55e9d3b991fbde514e3b6b5f5/contourpy-1.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:fc9feef8f1f001c5b87decadc67c4a5d1eebb62ca39c4763d1237ff62cf2b707", size = 587071, upload-time = "2026-09-11T19:04:09.898Z" }, + { url = "https://files.pythonhosted.org/packages/cc/74/66d4e6fbea3bcb3fd4e5ae21c039ba31b8fc408b35884b4bc09b88016dce/contourpy-1.4.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:79b06c60d5e569ce12c5da8f0c51217cdc484386e2349fa717c30fafb56d2871", size = 297358, upload-time = "2026-09-11T19:04:16.718Z" }, + { url = "https://files.pythonhosted.org/packages/2e/8d/8f7f25e71d73f15d7859943189900d2d348e740388c9ef52a0180d284762/contourpy-1.4.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:6f963ea9f0d68d2b6a02d861e3c0aae09ae25ba21f243fcf281e9fed468b078d", size = 283732, upload-time = "2026-09-11T19:04:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/f0/90/957549e3b03c407c670e3e191db63f4aef60dab6605bc967af3a806b543e/contourpy-1.4.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5545ff38229c15d11d822fc6f7415b932da9f4975f53e305b7b96ebfb01f889c", size = 357820, upload-time = "2026-09-11T19:04:20.077Z" }, + { url = "https://files.pythonhosted.org/packages/56/4c/fa8de87d907b41b05d03f4945a51675cd67319650d01b4c927d209ffa6ee/contourpy-1.4.0-cp315-cp315-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:630d32f06cedf37b7f1dd2b6a12e4492826bd477a4c9c7b2e2fee6ce3a2cea76", size = 407804, upload-time = "2026-09-11T19:04:21.781Z" }, + { url = "https://files.pythonhosted.org/packages/04/e7/96bd4f4a4ae285727befbdb4b332d53a2654cc5da4585d2525b47a063e1f/contourpy-1.4.0-cp315-cp315-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:be85d160e7c795113c2a93254dde2fc7e86b375322570eee78b420969426973c", size = 408559, upload-time = "2026-09-11T19:04:23.432Z" }, + { url = "https://files.pythonhosted.org/packages/ae/94/39660e8dc309f96bf7971eb4ec5659f272f84e42b34c9990a96ecce8442c/contourpy-1.4.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:018227e134b73090b06f911e773a526c77c9af426be29065500ce096a5accd4c", size = 384861, upload-time = "2026-09-11T19:04:25.198Z" }, + { url = "https://files.pythonhosted.org/packages/ab/7b/411dccbf73d5d19da49bf7735786b3baf4ddb1456412d48ae4d4ab1fc761/contourpy-1.4.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:4bffcb2e8cc5c0e837631acab59dd04265fdac376550e7c3e310523877c68cb7", size = 1357612, upload-time = "2026-09-11T19:04:27.614Z" }, + { url = "https://files.pythonhosted.org/packages/a0/39/bf2442130e7d5aae75a4de4504f0c8aca3ef3da3feac3940ee27ca985d83/contourpy-1.4.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:cc87f2ffa84a49a77d76cb792f28a48ff3b05a222aa0b2bddbd839ba78e1d5ca", size = 1427345, upload-time = "2026-09-11T19:04:29.646Z" }, + { url = "https://files.pythonhosted.org/packages/96/60/e5d9196dd83ccd7dd103762982b10ef19a4f72e8ef67ae7157699b9be0bb/contourpy-1.4.0-cp315-cp315-pyemscripten_2026_5_wasm32.whl", hash = "sha256:c8be3392b84cf43373a488874dc1ebf46f60784a70977f92586e18019d71c7ed", size = 118157, upload-time = "2026-09-11T19:04:31.091Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b2/ae3d90f08ba2ed82189d93b55ffbd41e559760e89af4f9ef54d51869f41d/contourpy-1.4.0-cp315-cp315-win32.whl", hash = "sha256:618137ec5778fb76d494c9ec854b104a377fddba0d128bef7136cce2c3bf0df8", size = 356982, upload-time = "2026-09-11T19:04:52.913Z" }, + { url = "https://files.pythonhosted.org/packages/02/a0/36648fff407dcf8b8482985d33367ffc0fe90be72383869312cd0bd00a1b/contourpy-1.4.0-cp315-cp315-win_amd64.whl", hash = "sha256:ea09dc704029930cbd097f75cb0cc1db9852adbcf1a151fac7e9559f7bcbfd19", size = 240101, upload-time = "2026-09-11T19:04:54.587Z" }, + { url = "https://files.pythonhosted.org/packages/07/09/49e987a96706b8f877596cee00d558d7880793a833addc6b33f80805e5dc/contourpy-1.4.0-cp315-cp315-win_arm64.whl", hash = "sha256:a5e2bb871b90cd7a52bdee63bf80ef7acb46398d27efc66d7679240016efc5aa", size = 576375, upload-time = "2026-09-11T19:04:56.515Z" }, + { url = "https://files.pythonhosted.org/packages/e3/18/820ba24a070fe2a834af73e52245c501960746f5c1777ebc64ec0c0dec12/contourpy-1.4.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:432e89f835cf01f8d2123a130a3126b17ee6e0348e4d62c0973872b30aa873bf", size = 313543, upload-time = "2026-09-11T19:04:32.582Z" }, + { url = "https://files.pythonhosted.org/packages/d3/4c/f61a63d8107e0c1c3fa47d30ce45abad90b2ad48a1a9a4510332db7e0176/contourpy-1.4.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:3e0a2392533e5e2abdf277c951047516acc8d2f3c42b2dd9dc34c907c9ebabf2", size = 302702, upload-time = "2026-09-11T19:04:34.257Z" }, + { url = "https://files.pythonhosted.org/packages/9d/93/5af95cb5113ecc6e780ca0c6c79756a2cea8833f971bbae112dd4ad73ded/contourpy-1.4.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:758e7496cec3195fc28a28945eab3ceef348c47fb95c7afc2eca2f3901209c8c", size = 354370, upload-time = "2026-09-11T19:04:36.158Z" }, + { url = "https://files.pythonhosted.org/packages/47/75/5a9942446647202beb7b4d150891bfcb78fb112c73862484bbe4cc031092/contourpy-1.4.0-cp315-cp315t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bee6ff96653e0807cd0f8eaef00174a031e3a2effa5c20f49a5a8d574b05af23", size = 402340, upload-time = "2026-09-11T19:04:37.914Z" }, + { url = "https://files.pythonhosted.org/packages/c3/4f/bfdb0c67775a584f957211936661289789c4d0ec3e988bca2c8c02f8090e/contourpy-1.4.0-cp315-cp315t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a58b5f130afec61a093d743cdda435cc4047748b6791627e34a68f41ec3a9b07", size = 410721, upload-time = "2026-09-11T19:04:39.925Z" }, + { url = "https://files.pythonhosted.org/packages/65/d3/dddf13d6bb26e145c99debd1f2695018b5f3e24452dd9bfc9904c9d2ec89/contourpy-1.4.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b9dc493e7924e5aa32d89d0b8e50986280f3d4b284968a792787bd7bcffd3cad", size = 382604, upload-time = "2026-09-11T19:04:41.793Z" }, + { url = "https://files.pythonhosted.org/packages/37/b4/89f0a5f6c6ccd322eae2704c7e933c82a4e594a61773933b4b0a18646866/contourpy-1.4.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:c927ec747633e68c9920bcaad48b0bcefe648812b822f18c34e2d0e2270a3d2a", size = 1354996, upload-time = "2026-09-11T19:04:43.856Z" }, + { url = "https://files.pythonhosted.org/packages/5d/29/fc91cc1ac6f3b591a269f4357b656d6ed0c39eb17c148f41f6da2f9729b9/contourpy-1.4.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:80c7fc8e7ac217777ce7ba2db3cf8478652b5a4b335283111012ff9eaac9d842", size = 1425030, upload-time = "2026-09-11T19:04:45.981Z" }, + { url = "https://files.pythonhosted.org/packages/d8/b8/bb129f524210c5d3eb8616876e02af280fba8b5554e0ac1afad80b51e06b/contourpy-1.4.0-cp315-cp315t-win32.whl", hash = "sha256:90feb8da006803a95ba573fddc9536357d0c3faddc3a4c9e22816ca49af52878", size = 371854, upload-time = "2026-09-11T19:04:48.106Z" }, + { url = "https://files.pythonhosted.org/packages/d8/b1/bc774d9d200cfc4f073bba78b1bb1cb3b55bf1c8c345eae41fc2db510459/contourpy-1.4.0-cp315-cp315t-win_amd64.whl", hash = "sha256:de503609fdb71f597634ca64fb4bd2f13d27c97f140e912b1e8ed93544840df0", size = 262450, upload-time = "2026-09-11T19:04:49.502Z" }, + { url = "https://files.pythonhosted.org/packages/54/bf/eb4ff492e1c3d027617b5a20e4e6d63a035b41b8cf77a95950159556a3a5/contourpy-1.4.0-cp315-cp315t-win_arm64.whl", hash = "sha256:78ed5c5f962b3e156109f0531b174a65ba80d13cc681a70227b12524c162e184", size = 587064, upload-time = "2026-09-11T19:04:51.148Z" }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + +[[package]] +name = "fonttools" +version = "4.57.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/03/2d/a9a0b6e3a0cf6bd502e64fc16d894269011930cabfc89aee20d1635b1441/fonttools-4.57.0.tar.gz", hash = "sha256:727ece10e065be2f9dd239d15dd5d60a66e17eac11aea47d447f9f03fdbc42de", size = 3492448, upload-time = "2025-04-03T11:07:13.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/17/3ddfd1881878b3f856065130bb603f5922e81ae8a4eb53bce0ea78f765a8/fonttools-4.57.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:babe8d1eb059a53e560e7bf29f8e8f4accc8b6cfb9b5fd10e485bde77e71ef41", size = 2756260, upload-time = "2025-04-03T11:05:28.582Z" }, + { url = "https://files.pythonhosted.org/packages/26/2b/6957890c52c030b0bf9e0add53e5badab4682c6ff024fac9a332bb2ae063/fonttools-4.57.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:81aa97669cd726349eb7bd43ca540cf418b279ee3caba5e2e295fb4e8f841c02", size = 2284691, upload-time = "2025-04-03T11:05:31.526Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8e/c043b4081774e5eb06a834cedfdb7d432b4935bc8c4acf27207bdc34dfc4/fonttools-4.57.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0e9618630edd1910ad4f07f60d77c184b2f572c8ee43305ea3265675cbbfe7e", size = 4566077, upload-time = "2025-04-03T11:05:33.559Z" }, + { url = "https://files.pythonhosted.org/packages/59/bc/e16ae5d9eee6c70830ce11d1e0b23d6018ddfeb28025fda092cae7889c8b/fonttools-4.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34687a5d21f1d688d7d8d416cb4c5b9c87fca8a1797ec0d74b9fdebfa55c09ab", size = 4608729, upload-time = "2025-04-03T11:05:35.49Z" }, + { url = "https://files.pythonhosted.org/packages/25/13/e557bf10bb38e4e4c436d3a9627aadf691bc7392ae460910447fda5fad2b/fonttools-4.57.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:69ab81b66ebaa8d430ba56c7a5f9abe0183afefd3a2d6e483060343398b13fb1", size = 4759646, upload-time = "2025-04-03T11:05:37.963Z" }, + { url = "https://files.pythonhosted.org/packages/bc/c9/5e2952214d4a8e31026bf80beb18187199b7001e60e99a6ce19773249124/fonttools-4.57.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d639397de852f2ccfb3134b152c741406752640a266d9c1365b0f23d7b88077f", size = 4941652, upload-time = "2025-04-03T11:05:40.089Z" }, + { url = "https://files.pythonhosted.org/packages/df/04/e80242b3d9ec91a1f785d949edc277a13ecfdcfae744de4b170df9ed77d8/fonttools-4.57.0-cp310-cp310-win32.whl", hash = "sha256:cc066cb98b912f525ae901a24cd381a656f024f76203bc85f78fcc9e66ae5aec", size = 2159432, upload-time = "2025-04-03T11:05:41.754Z" }, + { url = "https://files.pythonhosted.org/packages/33/ba/e858cdca275daf16e03c0362aa43734ea71104c3b356b2100b98543dba1b/fonttools-4.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:7a64edd3ff6a7f711a15bd70b4458611fb240176ec11ad8845ccbab4fe6745db", size = 2203869, upload-time = "2025-04-03T11:05:43.712Z" }, + { url = "https://files.pythonhosted.org/packages/81/1f/e67c99aa3c6d3d2f93d956627e62a57ae0d35dc42f26611ea2a91053f6d6/fonttools-4.57.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3871349303bdec958360eedb619169a779956503ffb4543bb3e6211e09b647c4", size = 2757392, upload-time = "2025-04-03T11:05:45.715Z" }, + { url = "https://files.pythonhosted.org/packages/aa/f1/f75770d0ddc67db504850898d96d75adde238c35313409bfcd8db4e4a5fe/fonttools-4.57.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c59375e85126b15a90fcba3443eaac58f3073ba091f02410eaa286da9ad80ed8", size = 2285609, upload-time = "2025-04-03T11:05:47.977Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d3/bc34e4953cb204bae0c50b527307dce559b810e624a733351a654cfc318e/fonttools-4.57.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967b65232e104f4b0f6370a62eb33089e00024f2ce143aecbf9755649421c683", size = 4873292, upload-time = "2025-04-03T11:05:49.921Z" }, + { url = "https://files.pythonhosted.org/packages/41/b8/d5933559303a4ab18c799105f4c91ee0318cc95db4a2a09e300116625e7a/fonttools-4.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39acf68abdfc74e19de7485f8f7396fa4d2418efea239b7061d6ed6a2510c746", size = 4902503, upload-time = "2025-04-03T11:05:52.17Z" }, + { url = "https://files.pythonhosted.org/packages/32/13/acb36bfaa316f481153ce78de1fa3926a8bad42162caa3b049e1afe2408b/fonttools-4.57.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9d077f909f2343daf4495ba22bb0e23b62886e8ec7c109ee8234bdbd678cf344", size = 5077351, upload-time = "2025-04-03T11:05:54.162Z" }, + { url = "https://files.pythonhosted.org/packages/b5/23/6d383a2ca83b7516d73975d8cca9d81a01acdcaa5e4db8579e4f3de78518/fonttools-4.57.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:46370ac47a1e91895d40e9ad48effbe8e9d9db1a4b80888095bc00e7beaa042f", size = 5275067, upload-time = "2025-04-03T11:05:57.375Z" }, + { url = "https://files.pythonhosted.org/packages/bc/ca/31b8919c6da0198d5d522f1d26c980201378c087bdd733a359a1e7485769/fonttools-4.57.0-cp311-cp311-win32.whl", hash = "sha256:ca2aed95855506b7ae94e8f1f6217b7673c929e4f4f1217bcaa236253055cb36", size = 2158263, upload-time = "2025-04-03T11:05:59.567Z" }, + { url = "https://files.pythonhosted.org/packages/13/4c/de2612ea2216eb45cfc8eb91a8501615dd87716feaf5f8fb65cbca576289/fonttools-4.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:17168a4670bbe3775f3f3f72d23ee786bd965395381dfbb70111e25e81505b9d", size = 2204968, upload-time = "2025-04-03T11:06:02.16Z" }, + { url = "https://files.pythonhosted.org/packages/cb/98/d4bc42d43392982eecaaca117d79845734d675219680cd43070bb001bc1f/fonttools-4.57.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:889e45e976c74abc7256d3064aa7c1295aa283c6bb19810b9f8b604dfe5c7f31", size = 2751824, upload-time = "2025-04-03T11:06:03.782Z" }, + { url = "https://files.pythonhosted.org/packages/1a/62/7168030eeca3742fecf45f31e63b5ef48969fa230a672216b805f1d61548/fonttools-4.57.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0425c2e052a5f1516c94e5855dbda706ae5a768631e9fcc34e57d074d1b65b92", size = 2283072, upload-time = "2025-04-03T11:06:05.533Z" }, + { url = "https://files.pythonhosted.org/packages/5d/82/121a26d9646f0986ddb35fbbaf58ef791c25b59ecb63ffea2aab0099044f/fonttools-4.57.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44c26a311be2ac130f40a96769264809d3b0cb297518669db437d1cc82974888", size = 4788020, upload-time = "2025-04-03T11:06:07.249Z" }, + { url = "https://files.pythonhosted.org/packages/5b/26/e0f2fb662e022d565bbe280a3cfe6dafdaabf58889ff86fdef2d31ff1dde/fonttools-4.57.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c41ba992df5b8d680b89fd84c6a1f2aca2b9f1ae8a67400c8930cd4ea115f6", size = 4859096, upload-time = "2025-04-03T11:06:09.469Z" }, + { url = "https://files.pythonhosted.org/packages/9e/44/9075e323347b1891cdece4b3f10a3b84a8f4c42a7684077429d9ce842056/fonttools-4.57.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ea1e9e43ca56b0c12440a7c689b1350066595bebcaa83baad05b8b2675129d98", size = 4964356, upload-time = "2025-04-03T11:06:11.294Z" }, + { url = "https://files.pythonhosted.org/packages/48/28/caa8df32743462fb966be6de6a79d7f30393859636d7732e82efa09fbbb4/fonttools-4.57.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84fd56c78d431606332a0627c16e2a63d243d0d8b05521257d77c6529abe14d8", size = 5226546, upload-time = "2025-04-03T11:06:13.6Z" }, + { url = "https://files.pythonhosted.org/packages/f6/46/95ab0f0d2e33c5b1a4fc1c0efe5e286ba9359602c0a9907adb1faca44175/fonttools-4.57.0-cp312-cp312-win32.whl", hash = "sha256:f4376819c1c778d59e0a31db5dc6ede854e9edf28bbfa5b756604727f7f800ac", size = 2146776, upload-time = "2025-04-03T11:06:15.643Z" }, + { url = "https://files.pythonhosted.org/packages/06/5d/1be5424bb305880e1113631f49a55ea7c7da3a5fe02608ca7c16a03a21da/fonttools-4.57.0-cp312-cp312-win_amd64.whl", hash = "sha256:57e30241524879ea10cdf79c737037221f77cc126a8cdc8ff2c94d4a522504b9", size = 2193956, upload-time = "2025-04-03T11:06:17.534Z" }, + { url = "https://files.pythonhosted.org/packages/e9/2f/11439f3af51e4bb75ac9598c29f8601aa501902dcedf034bdc41f47dd799/fonttools-4.57.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:408ce299696012d503b714778d89aa476f032414ae57e57b42e4b92363e0b8ef", size = 2739175, upload-time = "2025-04-03T11:06:19.583Z" }, + { url = "https://files.pythonhosted.org/packages/25/52/677b55a4c0972dc3820c8dba20a29c358197a78229daa2ea219fdb19e5d5/fonttools-4.57.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bbceffc80aa02d9e8b99f2a7491ed8c4a783b2fc4020119dc405ca14fb5c758c", size = 2276583, upload-time = "2025-04-03T11:06:21.753Z" }, + { url = "https://files.pythonhosted.org/packages/64/79/184555f8fa77b827b9460a4acdbbc0b5952bb6915332b84c615c3a236826/fonttools-4.57.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f022601f3ee9e1f6658ed6d184ce27fa5216cee5b82d279e0f0bde5deebece72", size = 4766437, upload-time = "2025-04-03T11:06:23.521Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ad/c25116352f456c0d1287545a7aa24e98987b6d99c5b0456c4bd14321f20f/fonttools-4.57.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dea5893b58d4637ffa925536462ba626f8a1b9ffbe2f5c272cdf2c6ebadb817", size = 4838431, upload-time = "2025-04-03T11:06:25.423Z" }, + { url = "https://files.pythonhosted.org/packages/53/ae/398b2a833897297797a44f519c9af911c2136eb7aa27d3f1352c6d1129fa/fonttools-4.57.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dff02c5c8423a657c550b48231d0a48d7e2b2e131088e55983cfe74ccc2c7cc9", size = 4951011, upload-time = "2025-04-03T11:06:27.41Z" }, + { url = "https://files.pythonhosted.org/packages/b7/5d/7cb31c4bc9ffb9a2bbe8b08f8f53bad94aeb158efad75da645b40b62cb73/fonttools-4.57.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:767604f244dc17c68d3e2dbf98e038d11a18abc078f2d0f84b6c24571d9c0b13", size = 5205679, upload-time = "2025-04-03T11:06:29.804Z" }, + { url = "https://files.pythonhosted.org/packages/4c/e4/6934513ec2c4d3d69ca1bc3bd34d5c69dafcbf68c15388dd3bb062daf345/fonttools-4.57.0-cp313-cp313-win32.whl", hash = "sha256:8e2e12d0d862f43d51e5afb8b9751c77e6bec7d2dc00aad80641364e9df5b199", size = 2144833, upload-time = "2025-04-03T11:06:31.737Z" }, + { url = "https://files.pythonhosted.org/packages/c4/0d/2177b7fdd23d017bcfb702fd41e47d4573766b9114da2fddbac20dcc4957/fonttools-4.57.0-cp313-cp313-win_amd64.whl", hash = "sha256:f1d6bc9c23356908db712d282acb3eebd4ae5ec6d8b696aa40342b1d84f8e9e3", size = 2190799, upload-time = "2025-04-03T11:06:34.784Z" }, + { url = "https://files.pythonhosted.org/packages/8a/3f/c16dbbec7221783f37dcc2022d5a55f0d704ffc9feef67930f6eb517e8ce/fonttools-4.57.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9d57b4e23ebbe985125d3f0cabbf286efa191ab60bbadb9326091050d88e8213", size = 2753756, upload-time = "2025-04-03T11:06:36.875Z" }, + { url = "https://files.pythonhosted.org/packages/48/9f/5b4a3d6aed5430b159dd3494bb992d4e45102affa3725f208e4f0aedc6a3/fonttools-4.57.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:579ba873d7f2a96f78b2e11028f7472146ae181cae0e4d814a37a09e93d5c5cc", size = 2283179, upload-time = "2025-04-03T11:06:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/17/b2/4e887b674938b4c3848029a4134ac90dd8653ea80b4f464fa1edeae37f25/fonttools-4.57.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e3e1ec10c29bae0ea826b61f265ec5c858c5ba2ce2e69a71a62f285cf8e4595", size = 4647139, upload-time = "2025-04-03T11:06:41.315Z" }, + { url = "https://files.pythonhosted.org/packages/a5/0e/b6314a09a4d561aaa7e09de43fa700917be91e701f07df6178865962666c/fonttools-4.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1968f2a2003c97c4ce6308dc2498d5fd4364ad309900930aa5a503c9851aec8", size = 4691211, upload-time = "2025-04-03T11:06:43.566Z" }, + { url = "https://files.pythonhosted.org/packages/bf/1d/b9f4b70d165c25f5c9aee61eb6ae90b0e9b5787b2c0a45e4f3e50a839274/fonttools-4.57.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:aff40f8ac6763d05c2c8f6d240c6dac4bb92640a86d9b0c3f3fff4404f34095c", size = 4873755, upload-time = "2025-04-03T11:06:45.457Z" }, + { url = "https://files.pythonhosted.org/packages/3b/fa/a731c8f42ae2c6761d1c22bd3c90241d5b2b13cabb70598abc74a828b51f/fonttools-4.57.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d07f1b64008e39fceae7aa99e38df8385d7d24a474a8c9872645c4397b674481", size = 5070072, upload-time = "2025-04-03T11:06:47.853Z" }, + { url = "https://files.pythonhosted.org/packages/1f/1e/6a988230109a2ba472e5de0a4c3936d49718cfc4b700b6bad53eca414bcf/fonttools-4.57.0-cp38-cp38-win32.whl", hash = "sha256:51d8482e96b28fb28aa8e50b5706f3cee06de85cbe2dce80dbd1917ae22ec5a6", size = 1484098, upload-time = "2025-04-03T11:06:50.167Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7a/2b3666e8c13d035adf656a8ae391380656144760353c97f74747c64fd3e5/fonttools-4.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:03290e818782e7edb159474144fca11e36a8ed6663d1fcbd5268eb550594fd8e", size = 1529536, upload-time = "2025-04-03T11:06:52.468Z" }, + { url = "https://files.pythonhosted.org/packages/d2/c7/3bddafbb95447f6fbabdd0b399bf468649321fd4029e356b4f6bd70fbc1b/fonttools-4.57.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7339e6a3283e4b0ade99cade51e97cde3d54cd6d1c3744459e886b66d630c8b3", size = 2758942, upload-time = "2025-04-03T11:06:54.679Z" }, + { url = "https://files.pythonhosted.org/packages/d4/a2/8dd7771022e365c90e428b1607174c3297d5c0a2cc2cf4cdccb2221945b7/fonttools-4.57.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:05efceb2cb5f6ec92a4180fcb7a64aa8d3385fd49cfbbe459350229d1974f0b1", size = 2285959, upload-time = "2025-04-03T11:06:56.792Z" }, + { url = "https://files.pythonhosted.org/packages/58/5a/2fd29c5e38b14afe1fae7d472373e66688e7c7a98554252f3cf44371e033/fonttools-4.57.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a97bb05eb24637714a04dee85bdf0ad1941df64fe3b802ee4ac1c284a5f97b7c", size = 4571677, upload-time = "2025-04-03T11:06:59.002Z" }, + { url = "https://files.pythonhosted.org/packages/bf/30/b77cf81923f1a67ff35d6765a9db4718c0688eb8466c464c96a23a2e28d4/fonttools-4.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:541cb48191a19ceb1a2a4b90c1fcebd22a1ff7491010d3cf840dd3a68aebd654", size = 4616644, upload-time = "2025-04-03T11:07:01.238Z" }, + { url = "https://files.pythonhosted.org/packages/06/33/376605898d8d553134144dff167506a49694cb0e0cf684c14920fbc1e99f/fonttools-4.57.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:cdef9a056c222d0479a1fdb721430f9efd68268014c54e8166133d2643cb05d9", size = 4761314, upload-time = "2025-04-03T11:07:03.162Z" }, + { url = "https://files.pythonhosted.org/packages/48/e4/e0e48f5bae04bc1a1c6b4fcd7d1ca12b29f1fe74221534b7ff83ed0db8fe/fonttools-4.57.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3cf97236b192a50a4bf200dc5ba405aa78d4f537a2c6e4c624bb60466d5b03bd", size = 4945563, upload-time = "2025-04-03T11:07:05.313Z" }, + { url = "https://files.pythonhosted.org/packages/61/98/2dacfc6d70f2d93bde1bbf814286be343cb17f53057130ad3b843144dd00/fonttools-4.57.0-cp39-cp39-win32.whl", hash = "sha256:e952c684274a7714b3160f57ec1d78309f955c6335c04433f07d36c5eb27b1f9", size = 2159997, upload-time = "2025-04-03T11:07:07.467Z" }, + { url = "https://files.pythonhosted.org/packages/93/fa/e61cc236f40d504532d2becf90c297bfed8e40abc0c8b08375fbb83eff29/fonttools-4.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2a722c0e4bfd9966a11ff55c895c817158fcce1b2b6700205a376403b546ad9", size = 2204508, upload-time = "2025-04-03T11:07:09.632Z" }, + { url = "https://files.pythonhosted.org/packages/90/27/45f8957c3132917f91aaa56b700bcfc2396be1253f685bd5c68529b6f610/fonttools-4.57.0-py3-none-any.whl", hash = "sha256:3122c604a675513c68bd24c6a8f9091f1c2376d18e8f5fe5a101746c81b3e98f", size = 1093605, upload-time = "2025-04-03T11:07:11.341Z" }, +] + +[[package]] +name = "fonttools" +version = "4.60.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/3e/c4/db6a7b5eb0656534c3aa2596c2c5e18830d74f1b9aa5aa8a7dff63a0b11d/fonttools-4.60.2.tar.gz", hash = "sha256:d29552e6b155ebfc685b0aecf8d429cb76c14ab734c22ef5d3dea6fdf800c92c", size = 3562254, upload-time = "2025-12-09T13:38:11.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/de/9e10a99fb3070accb8884886a41a4ce54e49bf2fa4fc63f48a6cf2061713/fonttools-4.60.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4e36fadcf7e8ca6e34d490eef86ed638d6fd9c55d2f514b05687622cfc4a7050", size = 2850403, upload-time = "2025-12-09T13:35:53.14Z" }, + { url = "https://files.pythonhosted.org/packages/e4/40/d5b369d1073b134f600a94a287e13b5bdea2191ba6347d813fa3da00e94a/fonttools-4.60.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6e500fc9c04bee749ceabfc20cb4903f6981c2139050d85720ea7ada61b75d5c", size = 2398629, upload-time = "2025-12-09T13:35:56.471Z" }, + { url = "https://files.pythonhosted.org/packages/7c/b5/123819369aaf99d1e4dc49f1de1925d4edc7379114d15a56a7dd2e9d56e6/fonttools-4.60.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22efea5e784e1d1cd8d7b856c198e360a979383ebc6dea4604743b56da1cbc34", size = 4893471, upload-time = "2025-12-09T13:35:58.927Z" }, + { url = "https://files.pythonhosted.org/packages/24/29/f8f8acccb9716b899be4be45e9ce770d6aa76327573863e68448183091b0/fonttools-4.60.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:677aa92d84d335e4d301d8ba04afca6f575316bc647b6782cb0921943fcb6343", size = 4854686, upload-time = "2025-12-09T13:36:01.767Z" }, + { url = "https://files.pythonhosted.org/packages/5a/0d/f3f51d7519f44f2dd5c9a60d7cd41185ebcee4348f073e515a3a93af15ff/fonttools-4.60.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:edd49d3defbf35476e78b61ff737ff5efea811acff68d44233a95a5a48252334", size = 4871233, upload-time = "2025-12-09T13:36:06.094Z" }, + { url = "https://files.pythonhosted.org/packages/cc/3f/4d4fd47d3bc40ab4d76718555185f8adffb5602ea572eac4bbf200c47d22/fonttools-4.60.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:126839492b69cecc5baf2bddcde60caab2ffafd867bbae2a88463fce6078ca3a", size = 4988936, upload-time = "2025-12-09T13:36:08.42Z" }, + { url = "https://files.pythonhosted.org/packages/01/6f/83bbdefa43f2c3ae206fd8c4b9a481f3c913eef871b1ce9a453069239e39/fonttools-4.60.2-cp310-cp310-win32.whl", hash = "sha256:ffcab6f5537136046ca902ed2491ab081ba271b07591b916289b7c27ff845f96", size = 2278044, upload-time = "2025-12-09T13:36:10.641Z" }, + { url = "https://files.pythonhosted.org/packages/d4/04/7d9a137e919d6c9ef26704b7f7b2580d9cfc5139597588227aacebc0e3b7/fonttools-4.60.2-cp310-cp310-win_amd64.whl", hash = "sha256:9c68b287c7ffcd29dd83b5f961004b2a54a862a88825d52ea219c6220309ba45", size = 2326522, upload-time = "2025-12-09T13:36:12.981Z" }, + { url = "https://files.pythonhosted.org/packages/e0/80/b7693d37c02417e162cc83cdd0b19a4f58be82c638b5d4ce4de2dae050c4/fonttools-4.60.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a2aed0a7931401b3875265717a24c726f87ecfedbb7b3426c2ca4d2812e281ae", size = 2847809, upload-time = "2025-12-09T13:36:14.884Z" }, + { url = "https://files.pythonhosted.org/packages/f9/9a/9c2c13bf8a6496ac21607d704e74e9cc68ebf23892cf924c9a8b5c7566b9/fonttools-4.60.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dea6868e9d2b816c9076cfea77754686f3c19149873bdbc5acde437631c15df1", size = 2397302, upload-time = "2025-12-09T13:36:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/56/f6/ce38ff6b2d2d58f6fd981d32f3942365bfa30eadf2b47d93b2d48bf6097f/fonttools-4.60.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2fa27f34950aa1fe0f0b1abe25eed04770a3b3b34ad94e5ace82cc341589678a", size = 5054418, upload-time = "2025-12-09T13:36:19.062Z" }, + { url = "https://files.pythonhosted.org/packages/88/06/5353bea128ff39e857c31de3dd605725b4add956badae0b31bc9a50d4c8e/fonttools-4.60.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:13a53d479d187b09bfaa4a35ffcbc334fc494ff355f0a587386099cb66674f1e", size = 5031652, upload-time = "2025-12-09T13:36:21.206Z" }, + { url = "https://files.pythonhosted.org/packages/71/05/ebca836437f6ebd57edd6428e7eff584e683ff0556ddb17d62e3b731f46c/fonttools-4.60.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fac5e921d3bd0ca3bb8517dced2784f0742bc8ca28579a68b139f04ea323a779", size = 5030321, upload-time = "2025-12-09T13:36:23.515Z" }, + { url = "https://files.pythonhosted.org/packages/57/f9/eb9d2a2ce30c99f840c1cc3940729a970923cf39d770caf88909d98d516b/fonttools-4.60.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:648f4f9186fd7f1f3cd57dbf00d67a583720d5011feca67a5e88b3a491952cfb", size = 5154255, upload-time = "2025-12-09T13:36:25.879Z" }, + { url = "https://files.pythonhosted.org/packages/08/a2/088b6ceba8272a9abb629d3c08f9c1e35e5ce42db0ccfe0c1f9f03e60d1d/fonttools-4.60.2-cp311-cp311-win32.whl", hash = "sha256:3274e15fad871bead5453d5ce02658f6d0c7bc7e7021e2a5b8b04e2f9e40da1a", size = 2276300, upload-time = "2025-12-09T13:36:27.772Z" }, + { url = "https://files.pythonhosted.org/packages/de/2f/8e4c3d908cc5dade7bb1316ce48589f6a24460c1056fd4b8db51f1fa309a/fonttools-4.60.2-cp311-cp311-win_amd64.whl", hash = "sha256:91d058d5a483a1525b367803abb69de0923fbd45e1f82ebd000f5c8aa65bc78e", size = 2327574, upload-time = "2025-12-09T13:36:30.89Z" }, + { url = "https://files.pythonhosted.org/packages/c0/30/530c9eddcd1c39219dc0aaede2b5a4c8ab80e0bb88d1b3ffc12944c4aac3/fonttools-4.60.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e0164b7609d2b5c5dd4e044b8085b7bd7ca7363ef8c269a4ab5b5d4885a426b2", size = 2847196, upload-time = "2025-12-09T13:36:33.262Z" }, + { url = "https://files.pythonhosted.org/packages/19/2f/4077a482836d5bbe3bc9dac1c004d02ee227cf04ed62b0a2dfc41d4f0dfd/fonttools-4.60.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1dd3d9574fc595c1e97faccae0f264dc88784ddf7fbf54c939528378bacc0033", size = 2395842, upload-time = "2025-12-09T13:36:35.47Z" }, + { url = "https://files.pythonhosted.org/packages/dd/05/aae5bb99c5398f8ed4a8b784f023fd9dd3568f0bd5d5b21e35b282550f11/fonttools-4.60.2-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:98d0719f1b11c2817307d2da2e94296a3b2a3503f8d6252a101dca3ee663b917", size = 4949713, upload-time = "2025-12-09T13:36:37.874Z" }, + { url = "https://files.pythonhosted.org/packages/b4/37/49067349fc78ff0efbf09fadefe80ddf41473ca8f8a25400e3770da38328/fonttools-4.60.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9d3ea26957dd07209f207b4fff64c702efe5496de153a54d3b91007ec28904dd", size = 4999907, upload-time = "2025-12-09T13:36:39.853Z" }, + { url = "https://files.pythonhosted.org/packages/16/31/d0f11c758bd0db36b664c92a0f9dfdcc2d7313749aa7d6629805c6946f21/fonttools-4.60.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ee301273b0850f3a515299f212898f37421f42ff9adfc341702582ca5073c13", size = 4939717, upload-time = "2025-12-09T13:36:43.075Z" }, + { url = "https://files.pythonhosted.org/packages/d9/bc/1cff0d69522e561bf1b99bee7c3911c08c25e919584827c3454a64651ce9/fonttools-4.60.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c6eb4694cc3b9c03b7c01d65a9cf35b577f21aa6abdbeeb08d3114b842a58153", size = 5089205, upload-time = "2025-12-09T13:36:45.468Z" }, + { url = "https://files.pythonhosted.org/packages/05/e6/fb174f0069b7122e19828c551298bfd34fdf9480535d2a6ac2ed37afacd3/fonttools-4.60.2-cp312-cp312-win32.whl", hash = "sha256:57f07b616c69c244cc1a5a51072eeef07dddda5ebef9ca5c6e9cf6d59ae65b70", size = 2264674, upload-time = "2025-12-09T13:36:49.238Z" }, + { url = "https://files.pythonhosted.org/packages/75/57/6552ffd6b582d3e6a9f01780c5275e6dfff1e70ca146101733aa1c12a129/fonttools-4.60.2-cp312-cp312-win_amd64.whl", hash = "sha256:310035802392f1fe5a7cf43d76f6ff4a24c919e4c72c0352e7b8176e2584b8a0", size = 2314701, upload-time = "2025-12-09T13:36:51.09Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e4/8381d0ca6b6c6c484660b03517ec5b5b81feeefca3808726dece36c652a9/fonttools-4.60.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2bb5fd231e56ccd7403212636dcccffc96c5ae0d6f9e4721fa0a32cb2e3ca432", size = 2842063, upload-time = "2025-12-09T13:36:53.468Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2c/4367117ee8ff4f4374787a1222da0bd413d80cf3522111f727a7b8f80d1d/fonttools-4.60.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:536b5fab7b6fec78ccf59b5c59489189d9d0a8b0d3a77ed1858be59afb096696", size = 2393792, upload-time = "2025-12-09T13:36:55.742Z" }, + { url = "https://files.pythonhosted.org/packages/49/b7/a76b6dffa193869e54e32ca2f9abb0d0e66784bc8a24e6f86eb093015481/fonttools-4.60.2-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6b9288fc38252ac86a9570f19313ecbc9ff678982e0f27c757a85f1f284d3400", size = 4924020, upload-time = "2025-12-09T13:36:58.229Z" }, + { url = "https://files.pythonhosted.org/packages/bd/4e/0078200e2259f0061c86a74075f507d64c43dd2ab38971956a5c0012d344/fonttools-4.60.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:93fcb420791d839ef592eada2b69997c445d0ce9c969b5190f2e16828ec10607", size = 4980070, upload-time = "2025-12-09T13:37:00.311Z" }, + { url = "https://files.pythonhosted.org/packages/85/1f/d87c85a11cb84852c975251581862681e4a0c1c3bd456c648792203f311b/fonttools-4.60.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7916a381b094db4052ac284255186aebf74c5440248b78860cb41e300036f598", size = 4921411, upload-time = "2025-12-09T13:37:02.345Z" }, + { url = "https://files.pythonhosted.org/packages/75/c0/7efad650f5ed8e317c2633133ef3c64917e7adf2e4e2940c798f5d57ec6e/fonttools-4.60.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58c8c393d5e16b15662cfc2d988491940458aa87894c662154f50c7b49440bef", size = 5063465, upload-time = "2025-12-09T13:37:04.836Z" }, + { url = "https://files.pythonhosted.org/packages/18/a8/750518c4f8cdd79393b386bc81226047ade80239e58c6c9f5dbe1fdd8ea1/fonttools-4.60.2-cp313-cp313-win32.whl", hash = "sha256:19c6e0afd8b02008caa0aa08ab896dfce5d0bcb510c49b2c499541d5cb95a963", size = 2263443, upload-time = "2025-12-09T13:37:06.762Z" }, + { url = "https://files.pythonhosted.org/packages/b8/22/026c60376f165981f80a0e90bd98a79ae3334e9d89a3d046c4d2e265c724/fonttools-4.60.2-cp313-cp313-win_amd64.whl", hash = "sha256:6a500dc59e11b2338c2dba1f8cf11a4ae8be35ec24af8b2628b8759a61457b76", size = 2313800, upload-time = "2025-12-09T13:37:08.713Z" }, + { url = "https://files.pythonhosted.org/packages/7e/ab/7cf1f5204e1366ddf9dc5cdc2789b571feb9eebcee0e3463c3f457df5f52/fonttools-4.60.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9387c532acbe323bbf2a920f132bce3c408a609d5f9dcfc6532fbc7e37f8ccbb", size = 2841690, upload-time = "2025-12-09T13:37:10.696Z" }, + { url = "https://files.pythonhosted.org/packages/00/3c/0bf83c6f863cc8b934952567fa2bf737cfcec8fc4ffb59b3f93820095f89/fonttools-4.60.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e6f1c824185b5b8fb681297f315f26ae55abb0d560c2579242feea8236b1cfef", size = 2392191, upload-time = "2025-12-09T13:37:12.954Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/40090d148b8907fbea12e9bdf1ff149f30cdf1769e3b2c3e0dbf5106b88d/fonttools-4.60.2-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:55a3129d1e4030b1a30260f1b32fe76781b585fb2111d04a988e141c09eb6403", size = 4873503, upload-time = "2025-12-09T13:37:15.142Z" }, + { url = "https://files.pythonhosted.org/packages/dc/e0/d8b13f99e58b8c293781288ba62fe634f1f0697c9c4c0ae104d3215f3a10/fonttools-4.60.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b196e63753abc33b3b97a6fd6de4b7c4fef5552c0a5ba5e562be214d1e9668e0", size = 4968493, upload-time = "2025-12-09T13:37:18.272Z" }, + { url = "https://files.pythonhosted.org/packages/46/c5/960764d12c92bc225f02401d3067048cb7b282293d9e48e39fe2b0ec38a9/fonttools-4.60.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:de76c8d740fb55745f3b154f0470c56db92ae3be27af8ad6c2e88f1458260c9a", size = 4920015, upload-time = "2025-12-09T13:37:20.334Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ab/839d8caf253d1eef3653ef4d34427d0326d17a53efaec9eb04056b670fff/fonttools-4.60.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6ba6303225c95998c9fda2d410aa792c3d2c1390a09df58d194b03e17583fa25", size = 5031165, upload-time = "2025-12-09T13:37:23.57Z" }, + { url = "https://files.pythonhosted.org/packages/de/bf/3bc862796a6841cbe0725bb5512d272239b809dba631a4b0301df885e62d/fonttools-4.60.2-cp314-cp314-win32.whl", hash = "sha256:0a89728ce10d7c816fedaa5380c06d2793e7a8a634d7ce16810e536c22047384", size = 2267526, upload-time = "2025-12-09T13:37:25.821Z" }, + { url = "https://files.pythonhosted.org/packages/fc/a1/c1909cacf00c76dc37b4743451561fbaaf7db4172c22a6d9394081d114c3/fonttools-4.60.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa8446e6ab8bd778b82cb1077058a2addba86f30de27ab9cc18ed32b34bc8667", size = 2319096, upload-time = "2025-12-09T13:37:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/29/b3/f66e71433f08e3a931b2b31a665aeed17fcc5e6911fc73529c70a232e421/fonttools-4.60.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4063bc81ac5a4137642865cb63dd270e37b3cd1f55a07c0d6e41d072699ccca2", size = 2925167, upload-time = "2025-12-09T13:37:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/2e/13/eeb491ff743594bbd0bee6e49422c03a59fe9c49002d3cc60eeb77414285/fonttools-4.60.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:ebfdb66fa69732ed604ab8e2a0431e6deff35e933a11d73418cbc7823d03b8e1", size = 2430923, upload-time = "2025-12-09T13:37:32.817Z" }, + { url = "https://files.pythonhosted.org/packages/b2/e5/db609f785e460796e53c4dbc3874a5f4948477f27beceb5e2d24b2537666/fonttools-4.60.2-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50b10b3b1a72d1d54c61b0e59239e1a94c0958f4a06a1febf97ce75388dd91a4", size = 4877729, upload-time = "2025-12-09T13:37:35.858Z" }, + { url = "https://files.pythonhosted.org/packages/5f/d6/85e4484dd4bfb03fee7bd370d65888cccbd3dee2681ee48c869dd5ccb23f/fonttools-4.60.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:beae16891a13b4a2ddec9b39b4de76092a3025e4d1c82362e3042b62295d5e4d", size = 5096003, upload-time = "2025-12-09T13:37:37.862Z" }, + { url = "https://files.pythonhosted.org/packages/30/49/1a98e44b71030b83d2046f981373b80571868259d98e6dae7bc20099dac6/fonttools-4.60.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:522f017fdb3766fd5d2d321774ef351cc6ce88ad4e6ac9efe643e4a2b9d528db", size = 4974410, upload-time = "2025-12-09T13:37:40.166Z" }, + { url = "https://files.pythonhosted.org/packages/42/07/d6f775d950ee8a841012472c7303f8819423d8cc3b4530915de7265ebfa2/fonttools-4.60.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:82cceceaf9c09a965a75b84a4b240dd3768e596ffb65ef53852681606fe7c9ba", size = 5002036, upload-time = "2025-12-09T13:37:42.639Z" }, + { url = "https://files.pythonhosted.org/packages/73/f6/ba6458f83ce1a9f8c3b17bd8f7b8a2205a126aac1055796b7e7cfebbd38f/fonttools-4.60.2-cp314-cp314t-win32.whl", hash = "sha256:bbfbc918a75437fe7e6d64d1b1e1f713237df1cf00f3a36dedae910b2ba01cee", size = 2330985, upload-time = "2025-12-09T13:37:45.157Z" }, + { url = "https://files.pythonhosted.org/packages/91/24/fea0ba4d3a32d4ed1103a1098bfd99dc78b5fe3bb97202920744a37b73dc/fonttools-4.60.2-cp314-cp314t-win_amd64.whl", hash = "sha256:0e5cd9b0830f6550d58c84f3ab151a9892b50c4f9d538c5603c0ce6fff2eb3f1", size = 2396226, upload-time = "2025-12-09T13:37:47.355Z" }, + { url = "https://files.pythonhosted.org/packages/55/ae/a6d9446cb258d3fe87e311c2d7bacf8e8da3e5809fbdc3a8306db4f6b14e/fonttools-4.60.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a3c75b8b42f7f93906bdba9eb1197bb76aecbe9a0a7cf6feec75f7605b5e8008", size = 2857184, upload-time = "2025-12-09T13:37:49.96Z" }, + { url = "https://files.pythonhosted.org/packages/3a/f3/1b41d0b6a8b908aa07f652111155dd653ebbf0b3385e66562556c5206685/fonttools-4.60.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0f86c8c37bc0ec0b9c141d5e90c717ff614e93c187f06d80f18c7057097f71bc", size = 2401877, upload-time = "2025-12-09T13:37:52.307Z" }, + { url = "https://files.pythonhosted.org/packages/71/57/048fd781680c38b05c5463657d0d95d5f2391a51972176e175c01de29d42/fonttools-4.60.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe905403fe59683b0e9a45f234af2866834376b8821f34633b1c76fb731b6311", size = 4878073, upload-time = "2025-12-09T13:37:56.477Z" }, + { url = "https://files.pythonhosted.org/packages/45/bb/363364f052a893cebd3d449588b21244a9d873620fda03ad92702d2e1bc7/fonttools-4.60.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:38ce703b60a906e421e12d9e3a7f064883f5e61bb23e8961f4be33cfe578500b", size = 4835385, upload-time = "2025-12-09T13:37:58.882Z" }, + { url = "https://files.pythonhosted.org/packages/1c/38/e392bb930b2436287e6021672345db26441bf1f85f1e98f8b9784334e41d/fonttools-4.60.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9e810c06f3e79185cecf120e58b343ea5a89b54dd695fd644446bcf8c026da5e", size = 4853084, upload-time = "2025-12-09T13:38:01.578Z" }, + { url = "https://files.pythonhosted.org/packages/65/60/0d77faeaecf7a3276a8a6dc49e2274357e6b3ed6a1774e2fdb2a7f142db0/fonttools-4.60.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:38faec8cc1d12122599814d15a402183f5123fb7608dac956121e7c6742aebc5", size = 4971144, upload-time = "2025-12-09T13:38:03.748Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c7/6d3ac3afbcd598631bce24c3ecb919e7d0644a82fea8ddc4454312fc0be6/fonttools-4.60.2-cp39-cp39-win32.whl", hash = "sha256:80a45cf7bf659acb7b36578f300231873daba67bd3ca8cce181c73f861f14a37", size = 1499411, upload-time = "2025-12-09T13:38:05.586Z" }, + { url = "https://files.pythonhosted.org/packages/5a/1c/9dedf6420e23f9fa630bb97941839dddd2e1e57d1b2b85a902378dbe0bd2/fonttools-4.60.2-cp39-cp39-win_amd64.whl", hash = "sha256:c355d5972071938e1b1e0f5a1df001f68ecf1a62f34a3407dc8e0beccf052501", size = 1547943, upload-time = "2025-12-09T13:38:07.604Z" }, + { url = "https://files.pythonhosted.org/packages/79/6c/10280af05b44fafd1dff69422805061fa1af29270bc52dce031ac69540bf/fonttools-4.60.2-py3-none-any.whl", hash = "sha256:73cf92eeda67cf6ff10c8af56fc8f4f07c1647d989a979be9e388a49be26552a", size = 1144610, upload-time = "2025-12-09T13:38:09.5Z" }, +] + +[[package]] +name = "fonttools" +version = "4.65.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/77/51/d63c7e52163ac14393a35bd14bd7c0da95f8f74be5d7cc988092f9965129/fonttools-4.65.0.tar.gz", hash = "sha256:762ba5431358d0dbd4a01982484a1d494fb267e91f974cdcf20b80eab8560f6f", size = 3674467, upload-time = "2026-09-10T15:35:54.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/53/d9/1caaa015dd207da7ccd3feba87289997bd88334ea3e74a367cdc7b0e50a3/fonttools-4.65.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:93a73af2075036d36d7fbf856779c56a1b3b86ffcdae6abede7596604c42c156", size = 3095449, upload-time = "2026-09-10T15:33:04.814Z" }, + { url = "https://files.pythonhosted.org/packages/20/d6/988cd9b33ae2d92b15a51d73eb77c991f7a0fe90a7bc74526e9669247789/fonttools-4.65.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c130be2232e3caf8d2b476854ea78421ec1642917ff5ab695284bac31bbb072b", size = 2587697, upload-time = "2026-09-10T15:33:07.653Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6a/36f465a1c277131f9569f6a56fe99cf135391b4860b9c4f4b23e5b1cd5df/fonttools-4.65.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e3944e0bdba42effb71959e43d91b599326b02b59c78310d5675e8a75525e7d8", size = 5313308, upload-time = "2026-09-10T15:33:09.975Z" }, + { url = "https://files.pythonhosted.org/packages/ee/56/151b5e81d20c63834f48ad37a0cbbbe2f9b248e38f8d10387f0cf5219244/fonttools-4.65.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fb53892b570f7f1f0055e75fc4de32673e32f749c4c8a606b63d5c436650e634", size = 5253649, upload-time = "2026-09-10T15:33:12.225Z" }, + { url = "https://files.pythonhosted.org/packages/c8/22/6389215da9d4f98623aacdca9479c1030bbd516cb658e893bc54b61098ce/fonttools-4.65.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a6c8d184e523580a7c55d21cde37176a3c91cb539cf06c2aa36ffc634fd75296", size = 5277745, upload-time = "2026-09-10T15:33:14.783Z" }, + { url = "https://files.pythonhosted.org/packages/89/e3/c1037a1dfb7c8efe6f2a7d1951ebdde40cbbf82e9c5d796fcb03077e4790/fonttools-4.65.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e5ceccaf2e57d83b753a2b5db5d94aa0a8071886d4afebd2d520c9683e6bef0e", size = 5413259, upload-time = "2026-09-10T15:33:17.619Z" }, + { url = "https://files.pythonhosted.org/packages/44/b9/7dd72330168d39635c329f23a98279393b1e825e42a6db362e09897aad7b/fonttools-4.65.0-cp310-cp310-win32.whl", hash = "sha256:aff640a4fcb021fa83f9879d5bfa115b6931522dae991a24faa75888bd6aeff6", size = 1577124, upload-time = "2026-09-10T15:33:19.864Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c2/e959385b4626989b25b82b9f4f99e7c3ac68377d6846b376239b6f126966/fonttools-4.65.0-cp310-cp310-win_amd64.whl", hash = "sha256:5c1700a60e4ff23a0425d5a64abf43d092e6b55071354825781faf255904dcb4", size = 1633354, upload-time = "2026-09-10T15:33:21.963Z" }, + { url = "https://files.pythonhosted.org/packages/62/9e/58250cdc54d96fcfacb544e12997a6390fa4e6b71ae2241cfcfe5b341803/fonttools-4.65.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:06273c71e692caf5989c0437ca50875a5e49e216ddf653228fe9bb35bdc82c0f", size = 3089141, upload-time = "2026-09-10T15:33:24.509Z" }, + { url = "https://files.pythonhosted.org/packages/3e/67/0f0416069e38da0a1327a847a2e8dd1edb425d0043d8a3e63eb940070209/fonttools-4.65.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ca2b02d74e9ad7e21a1d11e4701425800a4b0c63cf90486e60258262feccbcbf", size = 2584298, upload-time = "2026-09-10T15:33:26.598Z" }, + { url = "https://files.pythonhosted.org/packages/99/0d/7e40e9957359afc0bab081131c215370a6d2d203361bb6f945ab595e924c/fonttools-4.65.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7830e9fa3bebc44dbc27ff44d8201def30ea5c48a773696d58e69e6bcd9cd5d4", size = 5498163, upload-time = "2026-09-10T15:33:29.071Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e6/e48cf0a272a5d4d17a09d44f92727e67f975ddfa94acc8464763d19a654d/fonttools-4.65.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a3991732c87b3f054a2a8cf86dd0d602833fa8cb37c911503173771646e1013d", size = 5457456, upload-time = "2026-09-10T15:33:31.918Z" }, + { url = "https://files.pythonhosted.org/packages/e4/8a/a5c67ddeda82ee5e4ec3bc52ac1cbb685f0bb7a0516badc55643b454ab0d/fonttools-4.65.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6031e77b3fb8c765055ba2b8bd8dcb17030f3bf2484c448b472fdedf4460ba80", size = 5464334, upload-time = "2026-09-10T15:33:34.605Z" }, + { url = "https://files.pythonhosted.org/packages/d7/16/294e77383b2d39c9f8f25144a7ba23fe1cbbc05227cc72545097785ff07c/fonttools-4.65.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6813cc1e2e883bd6c15b3e04f72c78dc65fdc4ca861063adf5f341fbaec2ca62", size = 5595597, upload-time = "2026-09-10T15:33:37.591Z" }, + { url = "https://files.pythonhosted.org/packages/80/01/8e74ce8626c734959c782f2d89af8e9f14d078fd3d4ddf8b5a51401ae475/fonttools-4.65.0-cp311-cp311-win32.whl", hash = "sha256:4a5db8442453da4b6f43ad325879381b726bf2238a2253efd9584be21a2cefc2", size = 2441114, upload-time = "2026-09-10T15:33:40.592Z" }, + { url = "https://files.pythonhosted.org/packages/37/3e/835dc6c658426e2670b7f38c38295492fcbaeb06080e9dce89ce8105993c/fonttools-4.65.0-cp311-cp311-win_amd64.whl", hash = "sha256:9f201796c8e24e657be77c16fa664e798a46122144217f90838982937a964f0a", size = 2498823, upload-time = "2026-09-10T15:33:43.402Z" }, + { url = "https://files.pythonhosted.org/packages/58/db/242fa4fce7f632c5f7ab15585343393b25792510c0c32bd218ad24d59f1c/fonttools-4.65.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e844a45c9e5ced6536f184cf1a65b5d65e8f7e711993b413e10500a8223622e5", size = 3097120, upload-time = "2026-09-10T15:33:46Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b6/42fa4d373416675f74446421cf0b2badb82a4245c60745f05f424f75c649/fonttools-4.65.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b30e953de049bf43fc0a63c7d0c44d205c923e4bbf24716aae1518c0e65f977c", size = 2584658, upload-time = "2026-09-10T15:33:48.473Z" }, + { url = "https://files.pythonhosted.org/packages/75/6f/d589b9d62280a846c77a2c383d852c6dcb79ae8aa02bf0fa46c8577af145/fonttools-4.65.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09c34bdeed8915bfb53bee0c8ed2254dbd8ec69c0014b7f3702f347c049bf358", size = 5425737, upload-time = "2026-09-10T15:33:51.473Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/de2c0c20a42c18e565a2617932beb08c06697bbdd0d3f62b108262e11583/fonttools-4.65.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:05595385ae99f4b9626cebb973bf171b8fe38a8f40708e6e42abba0ed7537778", size = 5402463, upload-time = "2026-09-10T15:33:54.907Z" }, + { url = "https://files.pythonhosted.org/packages/79/2e/bc0f5c9dce21821454bb5812d3b23410bca33c8bbd5468386d0327aa0cff/fonttools-4.65.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d95b34dd68fbfc0e4a1740c421597656117f979ed8dc85de66e08f9f9981806e", size = 5362168, upload-time = "2026-09-10T15:33:57.481Z" }, + { url = "https://files.pythonhosted.org/packages/1f/0d/2116763ade7e71e0e5d421babe1785d745be9b3d605bf914792ce1c97f79/fonttools-4.65.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:924d06e6130429168318db71c40174a765ad016fc4b56ca811287e3d7373b3a6", size = 5524117, upload-time = "2026-09-10T15:34:00.021Z" }, + { url = "https://files.pythonhosted.org/packages/e2/5e/f9600553b9f645e3068553831685ff1dab6259536a23b38d2e048de38f17/fonttools-4.65.0-cp312-cp312-win32.whl", hash = "sha256:04f73dd01005752a6e75cf4a8dc6b70dc724d1d4bc34cc89522153f4a2f07680", size = 2432089, upload-time = "2026-09-10T15:34:02.803Z" }, + { url = "https://files.pythonhosted.org/packages/3a/02/e436a6a1863b9862bab9f82d6da33055dd7aa3738017edd902a163525dc2/fonttools-4.65.0-cp312-cp312-win_amd64.whl", hash = "sha256:3b5d9ba89edf778b376e669b879ae33a198bf45cf5a23c3f6514f935cf9d0d9d", size = 2483475, upload-time = "2026-09-10T15:34:05.09Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5c/343a4225e83eb06f82c1d8bf41fc5e5f71eab2f62bc7ca215c764722c0a9/fonttools-4.65.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8b7bb52817a24731d2e4f4df0e71fdde05e6c806c8f8f1517b015d142fdacfa5", size = 3094663, upload-time = "2026-09-10T15:34:07.235Z" }, + { url = "https://files.pythonhosted.org/packages/9b/c9/49b2401be932741d9218181c08948c96db32eab21ecaaf79283b752e13e7/fonttools-4.65.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e2c21772fcf70325189707b19f346812690bb1b0bd7e207e6ac205244806b303", size = 2584521, upload-time = "2026-09-10T15:34:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/51/c9/48b07e6c5cf44fa56f758a04c3772a66c0e9ba82bbe22077e4076746a62b/fonttools-4.65.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:64c9b26816415b5e3d899e9077109d327b22140fe3c4066644d8cdbad5bb1569", size = 5395399, upload-time = "2026-09-10T15:34:12.38Z" }, + { url = "https://files.pythonhosted.org/packages/fa/2d/5cc5a10c8ed56079d6c2e9e3e5920622529a2ae045c9f47a6055ccb1a319/fonttools-4.65.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6dd6243f60e2d6160c2966e1e14020dc261ffd741b69a2e4ca8bfd051592e4b7", size = 5376659, upload-time = "2026-09-10T15:34:15.239Z" }, + { url = "https://files.pythonhosted.org/packages/ab/6f/ccf33739d936bb3afa1655a225be7ee5d63d6d3c8b7d0e570bc5a2a7b899/fonttools-4.65.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:834962fd7cf21c58e81ac50a59e6ed2306f9df5e3dd481dad1cd7d2c4c60b773", size = 5336795, upload-time = "2026-09-10T15:34:17.817Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ffd17483f2094f0f4118974295b514b5b82afd4f6e3c80c23f01684e97a6/fonttools-4.65.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:580eb68ff7bd6954a7a76afddd864bfc66eaaf5f5c20dd6ead9186d0055a4ffe", size = 5496530, upload-time = "2026-09-10T15:34:20.241Z" }, + { url = "https://files.pythonhosted.org/packages/b1/19/9aca7712d0676ba5f8d1530ce20478a9bb09cccd0153d56693337379cdcf/fonttools-4.65.0-cp313-cp313-win32.whl", hash = "sha256:7a18b2ffd44249fe84289253197aa65ad4f2de554c0d381f18b1f5939bc6bc60", size = 2430392, upload-time = "2026-09-10T15:34:22.906Z" }, + { url = "https://files.pythonhosted.org/packages/1f/6f/f015dea0f4354e0798751b657cea2dee482914737f88bf1a078349ce92cf/fonttools-4.65.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ae1846b0f192fd485d26a455af19b8f5cf05aff08f9836f533913d8fcea133c", size = 2481620, upload-time = "2026-09-10T15:34:25.816Z" }, + { url = "https://files.pythonhosted.org/packages/64/29/606365ef601668bfebed14cfe3dc72bb7fcd1e23011bbb2833f17fea3065/fonttools-4.65.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:dc87a9f846bec83c3795804f62b4632716d46e3522869a3dd9cd44a5d245b006", size = 3098393, upload-time = "2026-09-10T15:34:28.472Z" }, + { url = "https://files.pythonhosted.org/packages/c7/61/11412939d6b7abf5ac7ce0d61d7f94a0a4fbabc9f1ab0a04fa622e0fc11c/fonttools-4.65.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:aa50dd7b9baf75e2bbd43401fc0d237f7a94a8ad2e0c57ea97160fc631af5eb0", size = 2585766, upload-time = "2026-09-10T15:34:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/db/17/734921d8aee8309801da42590375d32d4d46f771b73373ec9520d5d4220b/fonttools-4.65.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0d2a9892fdb3b7e2d0f4174e3b907d226ff83698249762eeefce08ec5b2de1dd", size = 5380679, upload-time = "2026-09-10T15:34:33.933Z" }, + { url = "https://files.pythonhosted.org/packages/cf/eb/2a4d78d60d978e694cfa04c98e4d8ddbf7f028fd768ddef470bb9da5d69e/fonttools-4.65.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6d815734e7fede0ad1f233f23f0f191cbe8fc64762ff041e589bc0f78e0b2397", size = 5321833, upload-time = "2026-09-10T15:34:36.295Z" }, + { url = "https://files.pythonhosted.org/packages/d9/ca/1cd48b5c11ef9658732787bf2362e1bf3871dad5945d2f6cc8f675ca769c/fonttools-4.65.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:71e4c67b6196a2f447f46476fd2302604721617f5e0a21b0988bdd87b6bb9687", size = 5320938, upload-time = "2026-09-10T15:34:38.992Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0d/90e6051bded926cccabe9dd0bce3b6ca012f4d5779d61167afbf4989ceb6/fonttools-4.65.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b11d8a4a0c3ca74bbd4c105b7ef82501945c939e6096d9934ec7d288cdf5aaa9", size = 5451747, upload-time = "2026-09-10T15:34:41.387Z" }, + { url = "https://files.pythonhosted.org/packages/18/74/23e0268e48029ff0752083f69312c49b738163d5af919add9dc4ac81e907/fonttools-4.65.0-cp314-cp314-win32.whl", hash = "sha256:8e44a34d91b3c793879767eb115867ced74d2eb94974e64e72fe9e2eea71cf1a", size = 2434246, upload-time = "2026-09-10T15:34:44.385Z" }, + { url = "https://files.pythonhosted.org/packages/a1/2d/ee69affecd4bc81cb932a213438d4199fb48bf8ca6d664438ccc7f623c2a/fonttools-4.65.0-cp314-cp314-win_amd64.whl", hash = "sha256:0aa8901db22875c831d6a91796549590d7e747da37438f38b69d771b668be445", size = 2486706, upload-time = "2026-09-10T15:34:46.842Z" }, + { url = "https://files.pythonhosted.org/packages/8e/9c/edee5f785198ce3327e1ddeace91c773122d47f086a67e0a84b800f4a940/fonttools-4.65.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:2e4a380ca40d3a5372e31b340f0da0d53b4583aadbb8e41f6a516afa69c509a4", size = 3172027, upload-time = "2026-09-10T15:34:49.269Z" }, + { url = "https://files.pythonhosted.org/packages/9c/c6/252ec9884381089bc30da75978b072593920249de60219817f16cbc9145f/fonttools-4.65.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:661bd91c4be13721408b2d4b67a9b3fa7736713adc9a6c9780c9c60fc7959f90", size = 2619020, upload-time = "2026-09-10T15:34:51.453Z" }, + { url = "https://files.pythonhosted.org/packages/42/79/f71b0d202b8473bb45b07876c08a474de9fe560ed2c0cde642812a81e22a/fonttools-4.65.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:62c5e42c79449def957adf8a9a65a43018efa7e2a6bc6baa3afe955e0d5fb2ab", size = 5545942, upload-time = "2026-09-10T15:34:54.804Z" }, + { url = "https://files.pythonhosted.org/packages/4a/bd/52e1bf33e0aebfe22ecc9a85c634db707c1dd9f6b1b438efeed98c55b959/fonttools-4.65.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:36fca8efc46b5adfca327c666e739fc05b7a7a6ef17840230f81b22f53230f61", size = 5351477, upload-time = "2026-09-10T15:34:57.514Z" }, + { url = "https://files.pythonhosted.org/packages/5c/76/8c6b2ad20beec95cd446f3a8bdc753c7e4a4fd69ef3e66704c0f7c8cb0b5/fonttools-4.65.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8aa1291e4c767abf1b0b79ca2d6895f7c0b661d9d95d03b5791c883a9d1e1f08", size = 5412271, upload-time = "2026-09-10T15:35:00.895Z" }, + { url = "https://files.pythonhosted.org/packages/79/49/fadbf11bbbd2d699d88a5498a0634280206e01e3bd5da9a4e0c504953ce9/fonttools-4.65.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fcf39949f56911348514b466714efa9118bec3d2be249e1c487263f7cda6edab", size = 5446450, upload-time = "2026-09-10T15:35:03.369Z" }, + { url = "https://files.pythonhosted.org/packages/df/77/5fda646d3a6d5ee26465865c00319cc0925cf484a3b42dd8232d5b39f973/fonttools-4.65.0-cp314-cp314t-win32.whl", hash = "sha256:ffc918702661f1d74d2fbb2f5551036b64f6d2d743139e105289b694bcd16f54", size = 2467858, upload-time = "2026-09-10T15:35:05.744Z" }, + { url = "https://files.pythonhosted.org/packages/ae/0f/afa0f3de70ebe02bba46b32cccb30b1de52624472b14ac2e7cd403d08db9/fonttools-4.65.0-cp314-cp314t-win_amd64.whl", hash = "sha256:5a977e3645dbffaee924209828aa702a215f7ff68bc08010740c10c723787e62", size = 2518248, upload-time = "2026-09-10T15:35:07.846Z" }, + { url = "https://files.pythonhosted.org/packages/86/54/b273cf5712b36a381c13284fbf244e811e1e1d7081aed20f200f0a191ffa/fonttools-4.65.0-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:7aa0518b45ff5286ad56f063938db3add3816e899aab58d782b3f9a252523caa", size = 3092770, upload-time = "2026-09-10T15:35:10.868Z" }, + { url = "https://files.pythonhosted.org/packages/36/1d/d3e4511475954d4ec4f3c254e81f0fcc1ade504cb7381eeca48b8c44b8a6/fonttools-4.65.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:673e2b3ac4ac8e4f3607d390ecc5a606e5db5c4e88fb4cb2999593efb65afea2", size = 2584364, upload-time = "2026-09-10T15:35:13.54Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3f/7cfaba467bdd1d3d04be21ba7b5bd75c6ca58ba280e0519707ca96a43c4d/fonttools-4.65.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a03cff943b204a90bf3d1c04c97b9509a8aa0ee99e2e544084ca43ad995975b", size = 5377819, upload-time = "2026-09-10T15:35:15.839Z" }, + { url = "https://files.pythonhosted.org/packages/25/17/a68d9b19a97bb2ee37e8098fea50657073df97c7e5392afbe1b9d7c0c581/fonttools-4.65.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:41f684ee6212e411196ab054f8308faf6605f154950e6f4686fb8f2103d624b0", size = 5341296, upload-time = "2026-09-10T15:35:18.527Z" }, + { url = "https://files.pythonhosted.org/packages/ad/8d/d744653ed607a241339015d4af6743ca3d85a74a2045a02cc06ea0383c71/fonttools-4.65.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:52ea9d2a8385075770db74d5e5718fa80b2222bb4fc62856a377dd2865ca8848", size = 5315310, upload-time = "2026-09-10T15:35:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c8/1ca6dc69cbaa0e394ff70d9e266777124d3ce3c6433026a6b4de50b890ae/fonttools-4.65.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:d0d25027ade65ec46b13c0436e51bcb7c5171a4ea255a5e7a8d0d1d3ab4cffd7", size = 5463840, upload-time = "2026-09-10T15:35:24.022Z" }, + { url = "https://files.pythonhosted.org/packages/07/97/d374df38a14f2ac04ba9ed96bca89d4988e7d63aa5ed85c54fd8f2badd7d/fonttools-4.65.0-cp315-cp315-win32.whl", hash = "sha256:22cb846d35d278235ef3b7e947c6040b2057d72e8305a314f21d5342eca49040", size = 2433149, upload-time = "2026-09-10T15:35:26.59Z" }, + { url = "https://files.pythonhosted.org/packages/62/c5/eb8f7506faf6a70c5a8f2eccbeea3cd826c748a6fd78c7b4b3effb5a3a11/fonttools-4.65.0-cp315-cp315-win_amd64.whl", hash = "sha256:aecc899fdbf9ecbf728f8977977e2e1043ee4d70c257124c8fa4cbcf796fcd83", size = 2485725, upload-time = "2026-09-10T15:35:28.945Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/2df0d97514feb8d857d5de854cd8d660d9a7ee1fd081bc98497124f515a8/fonttools-4.65.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:6275863dad195ee34b6e0ca3fc61c74096bc37e5d6fb8e049f4d68d65865a2b7", size = 3164065, upload-time = "2026-09-10T15:35:31.197Z" }, + { url = "https://files.pythonhosted.org/packages/15/33/e09661c09e6c8a3b0bd50da0e72918df7576dede31f39c948cc245011434/fonttools-4.65.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:d8ffd2f62b402180b0edae8f86a071f583970e2177143117db5cf4c52da60079", size = 2615195, upload-time = "2026-09-10T15:35:33.569Z" }, + { url = "https://files.pythonhosted.org/packages/64/d7/114b05f4193679d0935272220083ec43de7f918b5a777018c5ac5c1ae39e/fonttools-4.65.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:830f91327ca83bfc1278e7060068a498938f84d05dc4869675486f84f55d4fe1", size = 5521239, upload-time = "2026-09-10T15:35:36.291Z" }, + { url = "https://files.pythonhosted.org/packages/ba/10/67d615939f859ffe75663a67bca3593966febbcd0109ec72f20f73cbb4cc/fonttools-4.65.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9db2cb95847c18eef74a4ef0fe257a893ae3f4b0395f4866e2f426ab07f3d804", size = 5343802, upload-time = "2026-09-10T15:35:38.82Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/faa793a806da03acce862fbed353f76026b28103d43860d69be9a6a1f0fd/fonttools-4.65.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:be9b9a95ed0af03375e99020e921c4bc6b41fad10e053dea7acad370521a3c46", size = 5388482, upload-time = "2026-09-10T15:35:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/53/d2/eb7258df60e634db60c9a8cd72bc9eaf8dea409d1b1ceec3b9fb49531ad2/fonttools-4.65.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:bbd9faf777a9deb6790df4f2b0be611857c45fe86605e840d7154a028d828af7", size = 5435088, upload-time = "2026-09-10T15:35:44.639Z" }, + { url = "https://files.pythonhosted.org/packages/00/6a/58597f16e1265fe9205de3069e338a339e3eef0b1daf049ee08269458091/fonttools-4.65.0-cp315-cp315t-win32.whl", hash = "sha256:c779d838815b91889c95ed64c9be5950ad5a683279f91aeb23384cb757ddc6a3", size = 2464925, upload-time = "2026-09-10T15:35:47.224Z" }, + { url = "https://files.pythonhosted.org/packages/4b/95/122fc172006db747f4968e08c710f52a94f55eb007173b859b3f80b5b810/fonttools-4.65.0-cp315-cp315t-win_amd64.whl", hash = "sha256:d9484b7ee1b49b6b8a0231c849f3983723dec29e3a7366d9b1b02f4036f71944", size = 2513945, upload-time = "2026-09-10T15:35:49.895Z" }, + { url = "https://files.pythonhosted.org/packages/e6/35/f894ceb867118c0261d0f69a9bd516b045a3754238f76c88a49513ac7a83/fonttools-4.65.0-py3-none-any.whl", hash = "sha256:3060b8c1fc2329fa20265b7c138614143ea7c1624e26c5c180c76aeb74deae6f", size = 1196441, upload-time = "2026-09-10T15:35:52.347Z" }, +] + +[[package]] +name = "fonttools" +version = "4.66.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/87/b6/126c659ab7e0e03e01a5f5d223abf7b2c0691ae92718085a212a3924a2a3/fonttools-4.66.1.tar.gz", hash = "sha256:64967c6ddb0d4c610dfd8cb1485981b2d27972ddfb7d4bbbd9e199d2a089c450", size = 3694174, upload-time = "2026-09-29T16:11:53.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/2e/2c6d3daaa5152bbb2fc2b44037399366af7eb5fb2fbf7d9a236813753f77/fonttools-4.66.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d4f76868aea9cc4ce47fdbeaa904c02ee7d85dd0ad095071ae77f0bda6e62cf5", size = 3089406, upload-time = "2026-09-29T16:09:50.871Z" }, + { url = "https://files.pythonhosted.org/packages/b9/1c/500fbc0fd5b6d9cb701c1107a6f38ec4d3319057681e520014c1b9beb009/fonttools-4.66.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:34378db9a398b59de18cc79d942f0a907c6fc6301945e065ec888202f607aa3f", size = 2586728, upload-time = "2026-09-29T16:09:53.654Z" }, + { url = "https://files.pythonhosted.org/packages/38/f2/f3ac6374058bc93bd8a685c4849815b598bbd5e3ec5f706f3f4944a060e1/fonttools-4.66.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:05c0fff6b4a5d872ed89cab2c4f81060b86ace263903eb4e8d0edcac47a60dfa", size = 5484428, upload-time = "2026-09-29T16:09:55.987Z" }, + { url = "https://files.pythonhosted.org/packages/c3/e0/ed45f50fe7a7320656ac7dde60f26afa3a92a21e14749135b4c03f3385b7/fonttools-4.66.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:72299346b96b9244dabcc051b24e4653da4edfda6105544cfb10ce856a1afaac", size = 5447695, upload-time = "2026-09-29T16:09:58.02Z" }, + { url = "https://files.pythonhosted.org/packages/3c/c0/919293f7b38ff81a6014a7fce45fbcc113aaf473f22180a7f7897c702a67/fonttools-4.66.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c724e56213494c6695335577822b2d1628d102e71614de8b7eb8e30886d6a314", size = 5450236, upload-time = "2026-09-29T16:10:00.105Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2a/00864b96e013a05df55b347b3eb9b1726803267d52345676cd86e928ddf1/fonttools-4.66.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b913b8e9f7ca9bec44d1eb919f591c596c61041aa357c96be55ff93169859e91", size = 5588056, upload-time = "2026-09-29T16:10:02.225Z" }, + { url = "https://files.pythonhosted.org/packages/8c/88/7b0259de6d874686532a781059fd85796dcd3e07a12146361092141169f3/fonttools-4.66.1-cp311-cp311-win32.whl", hash = "sha256:e7ea7a08547a453fa000db96ed5714a3dc7e2b4255b9243f897921f8c10c169a", size = 1577702, upload-time = "2026-09-29T16:10:04.082Z" }, + { url = "https://files.pythonhosted.org/packages/39/ff/ccaddfb8ac343e90f40f86fa460f832cd45460c65ee9288b6da923c72728/fonttools-4.66.1-cp311-cp311-win_amd64.whl", hash = "sha256:36bb24d4b98faacaff04af1d5e0a4285feba6ed1da6728cd34b6b6deb6bbb934", size = 1635298, upload-time = "2026-09-29T16:10:06.026Z" }, + { url = "https://files.pythonhosted.org/packages/06/1b/fcb22638f2f5918c855abfbab203701e4b03739953d26a59f3e6e59b8f30/fonttools-4.66.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8526b2b7ec4db6b81efb83438be52b1264eda9a4994d867163cfe8c65581ce8d", size = 3097433, upload-time = "2026-09-29T16:10:07.869Z" }, + { url = "https://files.pythonhosted.org/packages/7f/0d/f51141407f9a64efc9fb39b94b0194c4a99c1ffff50834e7ca7a3f1cdd53/fonttools-4.66.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6946fe7bfb28590a1fd4061a17609c9a843952deb65dcf30d1fe725070c3e7a4", size = 2587566, upload-time = "2026-09-29T16:10:10.099Z" }, + { url = "https://files.pythonhosted.org/packages/75/c0/5810d73f9102eb1a08f26b8f7a6c22498622b43e05e684cd5ec602be8ffd/fonttools-4.66.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09ae73bd219e1245debd8376077a0fa6e03175e255c4f51bae5f6a271bfe384a", size = 5416460, upload-time = "2026-09-29T16:10:12.182Z" }, + { url = "https://files.pythonhosted.org/packages/a6/6e/babde908b879a3b51ffc230919d06a804912559dd4cf8c94f3fa2af69fec/fonttools-4.66.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7b8ff9e0edbcee2fbf7dff0c41b9041c1901c26acf64e23adb67495012df11de", size = 5397326, upload-time = "2026-09-29T16:10:14.133Z" }, + { url = "https://files.pythonhosted.org/packages/e6/98/8522cc7a5e5ad64a2b2b6e9598489809ed4956c532b887c65b131b8500b7/fonttools-4.66.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:38ce8f5fbd5c17dd2153d47d7c8d4108f3deda3f2b4a79b60ddc470a58faded3", size = 5353857, upload-time = "2026-09-29T16:10:16.375Z" }, + { url = "https://files.pythonhosted.org/packages/15/f9/ab87d67c23178886e57f24397b3113b4ac35297f086467c2c4d4231671a8/fonttools-4.66.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8aed2bbcd6216253ef1b015763593365ee8084f621dfa53bb957c19d5e05f7cd", size = 5517604, upload-time = "2026-09-29T16:10:18.791Z" }, + { url = "https://files.pythonhosted.org/packages/d4/20/e126062610aea31919310b0b3de4d0bbe73ccbdcb3d0409cc52027db93ee/fonttools-4.66.1-cp312-cp312-win32.whl", hash = "sha256:9ea6c93091cbf83161a544388746a0911550bd98cb911faca3591cf5ead166ac", size = 2435084, upload-time = "2026-09-29T16:10:21.145Z" }, + { url = "https://files.pythonhosted.org/packages/f0/af/5c245a0587e5b7b3dd209f640b9f70d8e63404ad8dc93819ba578d685985/fonttools-4.66.1-cp312-cp312-win_amd64.whl", hash = "sha256:261d8dc95845e751f975fe8d6075600593ee253470d46d1b84801688051b09f6", size = 2486987, upload-time = "2026-09-29T16:10:22.924Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f4/e410b8c913da5b3fdbb4d16db0f2d2a0952f59c4db8d52dcf2d421d82044/fonttools-4.66.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:53e5854ea8003efec34adc0863c18ce91da923018354d27366f7fee7db928d7a", size = 3095249, upload-time = "2026-09-29T16:10:25.261Z" }, + { url = "https://files.pythonhosted.org/packages/5c/6a/275108baf41d9f2f4d1d77cf5f1e22200fe47efd5099dafabc3eba0b6197/fonttools-4.66.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:60f5ea17aed4262630afa43f26997ceabd6417fa05dcedf54c665f5a29193e18", size = 2587288, upload-time = "2026-09-29T16:10:27.101Z" }, + { url = "https://files.pythonhosted.org/packages/db/e7/11e5e6beb7e336d80f0ca870ae080033a91ebfe34fd5390dbcf78f8df56f/fonttools-4.66.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1801fdad5600118327171e0e8aa79f7cc48831dd55ab36998c9de03bd5ffe6cd", size = 5389836, upload-time = "2026-09-29T16:10:28.988Z" }, + { url = "https://files.pythonhosted.org/packages/4c/1c/6ec22372362b03350fe3da7bf33491a07cc9a553a36dd2383b76ec1741eb/fonttools-4.66.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:83572afe48733bad7a4a9c11721d3a726c2e976d82b063fc9bdd049d76955abd", size = 5372059, upload-time = "2026-09-29T16:10:31.011Z" }, + { url = "https://files.pythonhosted.org/packages/4b/4a/cb7971f1c0f40f891028ee8c46dadc6897ef61e44aa925a23fba2ef06e2a/fonttools-4.66.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:08d8956e3ec990c75230d92f1630b215e8f3738c83a003421c22b31ebfd0ce15", size = 5332824, upload-time = "2026-09-29T16:10:33.563Z" }, + { url = "https://files.pythonhosted.org/packages/e0/86/563e671f1d43fa8ffb2518d7fe16630fb16c7faf0420cc39f8e80181f486/fonttools-4.66.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fdf4afd75c643e60ef4a96fe64fc8a9def27d2a542112332371a9e5066885f9a", size = 5490659, upload-time = "2026-09-29T16:10:35.788Z" }, + { url = "https://files.pythonhosted.org/packages/79/f7/2573ddfd256be6503458f8523e2893443e66257fc17f6055d7e0f0e721b7/fonttools-4.66.1-cp313-cp313-win32.whl", hash = "sha256:dbb7b950f8c02deaffb6968994691e8589d671b7ef8396bc9d5b5c0dfbb7292f", size = 2433450, upload-time = "2026-09-29T16:10:37.738Z" }, + { url = "https://files.pythonhosted.org/packages/d1/86/68bc2be04b83535607fbb70ebb2ba02380bf4286d79597c4515b7d247187/fonttools-4.66.1-cp313-cp313-win_amd64.whl", hash = "sha256:43d1284c1964666ee833f2badd3017dc138f53d4889043ffca66c5ce4188f188", size = 2485146, upload-time = "2026-09-29T16:10:39.772Z" }, + { url = "https://files.pythonhosted.org/packages/12/83/c745b210ec49379ebfe627e166b527f44671a1f6ec5e1e219d91caa8964d/fonttools-4.66.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b18803cbdef248e7ee1be59cb277fbbe1da1faaa6f726fa5d3557904e6a3d967", size = 3099264, upload-time = "2026-09-29T16:10:41.998Z" }, + { url = "https://files.pythonhosted.org/packages/35/af/dd698f10bf0f743873077259e8a6fce075861dde3bb01eb22b2c4f7aefe8/fonttools-4.66.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:f08ab7f8461c37ecfdd29ad97fb0c0780b50501bd664bb0f46b6e83ed2b9d2a7", size = 2588769, upload-time = "2026-09-29T16:10:43.933Z" }, + { url = "https://files.pythonhosted.org/packages/c5/65/10b5caa2aa779e62411b67949bda9741d4d7532ba0b6dea647b715131260/fonttools-4.66.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7cf4f996f9b1cb549bff9ea4c50813988a26ec922c95cfa85c7e4f1270447e06", size = 5374278, upload-time = "2026-09-29T16:10:45.727Z" }, + { url = "https://files.pythonhosted.org/packages/6a/db/9ac5c6773feec1b40e57eac106d869886f66a1e44082d343ac1e1e1fb773/fonttools-4.66.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9261ef507f2dd74203443a472b65b5a26429eb378f975016dec7dc7305b24898", size = 5317826, upload-time = "2026-09-29T16:10:48.056Z" }, + { url = "https://files.pythonhosted.org/packages/04/0a/69beb11f6b714ac90ee73ad4600ac91d7dd4e1ce361d087c8425bb8472de/fonttools-4.66.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e1cde50b3ec84ca6fe63ca815de183dbecb88e8adf8ada82d8ea130ef12b2b43", size = 5316239, upload-time = "2026-09-29T16:10:50.201Z" }, + { url = "https://files.pythonhosted.org/packages/33/a8/7a77359e469d3a638df91d3e225cef4a3c1184c20e98381238042f7835fa/fonttools-4.66.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d8f0a8f16c4f3a5a87ca971de2631792d8cb4d570951f2000acf712f157d40db", size = 5449423, upload-time = "2026-09-29T16:10:52.337Z" }, + { url = "https://files.pythonhosted.org/packages/93/cf/ea0b2f1ef90431b1879d6e6c680a7fde497129cf511ab995ade0ff8e19a7/fonttools-4.66.1-cp314-cp314-win32.whl", hash = "sha256:b878c78b2af11b879bd4f26bb0d8bda2a4c64543fdd3f28efe2c80f97f043885", size = 2437673, upload-time = "2026-09-29T16:10:54.281Z" }, + { url = "https://files.pythonhosted.org/packages/b2/53/629dbb4a40c4a7b3de61442c6b4430d36ab6e0e8cf941c547f4fd66f3337/fonttools-4.66.1-cp314-cp314-win_amd64.whl", hash = "sha256:05aeb146451f37289f782c3c861f3d0f4b86c2dd2e4620b46683544c7406640e", size = 2489763, upload-time = "2026-09-29T16:10:56.262Z" }, + { url = "https://files.pythonhosted.org/packages/0e/59/342e5fce9438f88882524128d1feb0311d4014cb6f8bdeb4607fcc00713f/fonttools-4.66.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:66fad3b7874062c2a2692f0ae6dea56d24f01b778c7f191950ca3ff997e25a88", size = 3172931, upload-time = "2026-09-29T16:10:58.563Z" }, + { url = "https://files.pythonhosted.org/packages/50/92/96196ebfd02676f28fa9b3776d85e18281bca0c8450d7e214c40e346bf92/fonttools-4.66.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eef76d5796e604f9d6753fa6d323c4eb9f4e0e43f1dcca553f3e6914f1667b64", size = 2621937, upload-time = "2026-09-29T16:11:00.845Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c3/3f4b761037ebc2e5597c52c218a9e95dbc4a2cab572828654f6004f422f5/fonttools-4.66.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c47299bca4b5acaaeb32100f77b944feea151de9ef1773365a410dc3d49b945b", size = 5546932, upload-time = "2026-09-29T16:11:03.126Z" }, + { url = "https://files.pythonhosted.org/packages/b6/d1/3f506cc79608becbc287785db8c44eb3f93079b49752266eb9f57700ecc4/fonttools-4.66.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dfba62cc93199ba62c376f90f2a9147d92730d301e44f88e013e50ff5edf6193", size = 5353546, upload-time = "2026-09-29T16:11:05.394Z" }, + { url = "https://files.pythonhosted.org/packages/6d/27/6534d84430ba1641185f8a0c9e2c7ecd395b15ff98f96967e3fb3c728b09/fonttools-4.66.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2c7340497cf53490293e0c2b61011e0191633022ede0a0a964a68157a98b0fb4", size = 5414313, upload-time = "2026-09-29T16:11:07.618Z" }, + { url = "https://files.pythonhosted.org/packages/27/17/831ceca06d78855b11dc203b0e3ba5e6fd8a63a71ee0343ea8bd367fda55/fonttools-4.66.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c666fefdd5613a0e99aa4516e6ff4ef87aa86cf1c7ba12a73550f4770e46b750", size = 5449661, upload-time = "2026-09-29T16:11:09.997Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e4/21dc18bcbc8d0354814f6ea58af3d76d3bcd9b0d7246df454cb9e00c1740/fonttools-4.66.1-cp314-cp314t-win32.whl", hash = "sha256:2ce4c93160535761f22c80b2afbc96cabc09855363a5d1a5554265b8a4c85901", size = 2471431, upload-time = "2026-09-29T16:11:12.237Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f4/eb0489e7d58ac0d3387584afc7f3e505f60f60fe4b4f5a0274f013d444a2/fonttools-4.66.1-cp314-cp314t-win_amd64.whl", hash = "sha256:b13c8c541ce0b794add3211b3641cc0e113d707f73e06235e6fe9731bd7c45a9", size = 2521288, upload-time = "2026-09-29T16:11:14.52Z" }, + { url = "https://files.pythonhosted.org/packages/eb/95/235679d5fe4265c251418cd02321de069281a700415389e14c4cce442e3d/fonttools-4.66.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:2d637468dac23aac0e223bd52e66f8faa3b0dfcef57435460fa2107e830226cd", size = 3093646, upload-time = "2026-09-29T16:11:16.809Z" }, + { url = "https://files.pythonhosted.org/packages/ad/2b/7bcd4046b3b5644c563059cce6421b488fe57f65c59171ef01ed11b66d3a/fonttools-4.66.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:90de3477394c73481d27d2b86091c1c736053ee13ff52c42f0e151948e8578c6", size = 2587335, upload-time = "2026-09-29T16:11:18.721Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b6/05a093ec04fa2ad449ecc67638aad0f8d60df380df2471b68b549fe2a4b2/fonttools-4.66.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d84ac0bf776b68396185bd919dd29e633d94300660335efc40b55b294b886903", size = 5371509, upload-time = "2026-09-29T16:11:20.742Z" }, + { url = "https://files.pythonhosted.org/packages/65/a9/55effa83e64b9ff4f379d9186236d50d03f6d4770d8346805c1b6620c370/fonttools-4.66.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0dc6fd99cb8c30941036308b148da9432640442a6f26f36d71dad9be24cbd0e9", size = 5334853, upload-time = "2026-09-29T16:11:22.928Z" }, + { url = "https://files.pythonhosted.org/packages/af/a8/44bb4021c585b76f8e480116e1f3fca62eb7d88fe5794e2ec84c10d2da76/fonttools-4.66.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:d3b5403e82d0c7659ff1d9f956e29a3a68d094f043e9f5bc0442796fc3a4fb58", size = 5311704, upload-time = "2026-09-29T16:11:25.393Z" }, + { url = "https://files.pythonhosted.org/packages/63/dd/dd482902fb7fd8b71d3b6508431a57938b5e41b29bf6fb252ed3cfce065f/fonttools-4.66.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:b8b71db96d605784e2c5ebf0788a406018ea8fdd80338491f4c83613d5cd1fec", size = 5459477, upload-time = "2026-09-29T16:11:27.536Z" }, + { url = "https://files.pythonhosted.org/packages/3c/a5/07611ba4d4b298b90908cb15005a6d730c334e25548f5175a09907b2eea6/fonttools-4.66.1-cp315-cp315-win32.whl", hash = "sha256:668f092bc0de8902167df6a0d5c5aedc3b4f9e43cf88eea92e9b46a2bd3968f5", size = 2436532, upload-time = "2026-09-29T16:11:29.653Z" }, + { url = "https://files.pythonhosted.org/packages/42/a5/5c39a05bf7c518743c6072cd75b63cd27285c58a70b1086e923fc071fb84/fonttools-4.66.1-cp315-cp315-win_amd64.whl", hash = "sha256:7f49f2834f5d006fe0f3bb10fec73b261806c50941f0cfbc08294074ffc32210", size = 2488769, upload-time = "2026-09-29T16:11:31.967Z" }, + { url = "https://files.pythonhosted.org/packages/c0/a6/1205f7a7dd746581498457e55bfbcdfbea87105a454a7b3465259816bb79/fonttools-4.66.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:71c7ca1b5f46f5dd549f56b47d47c0b709217675c23d3a7bc6aa1a69b6d9bbae", size = 3164459, upload-time = "2026-09-29T16:11:33.897Z" }, + { url = "https://files.pythonhosted.org/packages/33/42/915ff8f3c5d3bc9877007e708774e52f7ec431f9e59f607a86e50fe1864c/fonttools-4.66.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:2d320483928c7831f0139ecb361954a26b2e2a8995681200155835dd8cd4a7d5", size = 2618183, upload-time = "2026-09-29T16:11:36.067Z" }, + { url = "https://files.pythonhosted.org/packages/0b/c6/cae2f6ebe38f8927a8d0978a349b202047268016344991a14ae978c2aee3/fonttools-4.66.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2aeb745f2664eb811026997c95628071137a777ea2ad296deec9cb393f0b23cf", size = 5524861, upload-time = "2026-09-29T16:11:38.099Z" }, + { url = "https://files.pythonhosted.org/packages/f2/14/1941629956b526d6fb46ee764cf0942221f0238581adb94de0ac229fe67f/fonttools-4.66.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3087a430722aba8de429c2539fd2a58a9cf05238cdfefd8626460001052ca878", size = 5346561, upload-time = "2026-09-29T16:11:40.366Z" }, + { url = "https://files.pythonhosted.org/packages/62/1f/b7e7f4757dcae74285f4ecd8453d870d63c7ba38a3d46bd9175a124c350b/fonttools-4.66.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:058cd823b80bac59e64dfad9e3b6fcd677852f9a3804971bbf6b48cc611e785c", size = 5392826, upload-time = "2026-09-29T16:11:42.653Z" }, + { url = "https://files.pythonhosted.org/packages/d9/71/76db3cbdcfac0e9b3ba26e1e6e8740040cfe5f7b5199dfb9b854bc8da2c3/fonttools-4.66.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:56d41d650cb8fc6cfe1d85ed7c62a0a56cbeed07bc65ca795475b914d401312a", size = 5439233, upload-time = "2026-09-29T16:11:45.088Z" }, + { url = "https://files.pythonhosted.org/packages/10/37/cdc6b213c9fbabdf36e9169f845e8596b419c7e0cceba48e5594b952d2cf/fonttools-4.66.1-cp315-cp315t-win32.whl", hash = "sha256:c258eba62260beb33c110b03a6912cefa3635239c4ab5615b7225fb6f7b85238", size = 2468614, upload-time = "2026-09-29T16:11:47.363Z" }, + { url = "https://files.pythonhosted.org/packages/fb/35/e2247e7e29e8da213e02691a6ada7a30592c7bc0d1db8d2786ebb9bea138/fonttools-4.66.1-cp315-cp315t-win_amd64.whl", hash = "sha256:5de5d80fbc0e50ff794c244e8fb7afd3eadfe0fa232ba8b162b8c551df22fcb4", size = 2516977, upload-time = "2026-09-29T16:11:49.425Z" }, + { url = "https://files.pythonhosted.org/packages/f6/10/d45b74135d5d642cb3a4fb0a957c1613ef93de4c8548671dfc3a5bf38299/fonttools-4.66.1-py3-none-any.whl", hash = "sha256:7234ae9e28db64273fbbfa72caebd0a97e3bdba6b05064114741b9539ef339d0", size = 1202222, upload-time = "2026-09-29T16:11:51.678Z" }, +] + +[[package]] +name = "importlib-resources" +version = "6.4.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372, upload-time = "2024-09-09T17:03:14.677Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115, upload-time = "2024-09-09T17:03:13.39Z" }, +] + +[[package]] +name = "importlib-resources" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "zipp", version = "3.23.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286, upload-time = "2024-09-04T09:39:44.302Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440, upload-time = "2024-09-04T09:03:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758, upload-time = "2024-09-04T09:03:46.582Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311, upload-time = "2024-09-04T09:03:47.973Z" }, + { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109, upload-time = "2024-09-04T09:03:49.281Z" }, + { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814, upload-time = "2024-09-04T09:03:51.444Z" }, + { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881, upload-time = "2024-09-04T09:03:53.357Z" }, + { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972, upload-time = "2024-09-04T09:03:55.082Z" }, + { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787, upload-time = "2024-09-04T09:03:56.588Z" }, + { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212, upload-time = "2024-09-04T09:03:58.557Z" }, + { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399, upload-time = "2024-09-04T09:04:00.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688, upload-time = "2024-09-04T09:04:02.216Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493, upload-time = "2024-09-04T09:04:04.571Z" }, + { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191, upload-time = "2024-09-04T09:04:05.969Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644, upload-time = "2024-09-04T09:04:07.408Z" }, + { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877, upload-time = "2024-09-04T09:04:08.869Z" }, + { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347, upload-time = "2024-09-04T09:04:10.106Z" }, + { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442, upload-time = "2024-09-04T09:04:11.432Z" }, + { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762, upload-time = "2024-09-04T09:04:12.468Z" }, + { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319, upload-time = "2024-09-04T09:04:13.635Z" }, + { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260, upload-time = "2024-09-04T09:04:14.878Z" }, + { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589, upload-time = "2024-09-04T09:04:16.514Z" }, + { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080, upload-time = "2024-09-04T09:04:18.322Z" }, + { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049, upload-time = "2024-09-04T09:04:20.266Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376, upload-time = "2024-09-04T09:04:22.419Z" }, + { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231, upload-time = "2024-09-04T09:04:24.526Z" }, + { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634, upload-time = "2024-09-04T09:04:25.899Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024, upload-time = "2024-09-04T09:04:28.523Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484, upload-time = "2024-09-04T09:04:30.547Z" }, + { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078, upload-time = "2024-09-04T09:04:33.218Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645, upload-time = "2024-09-04T09:04:34.371Z" }, + { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022, upload-time = "2024-09-04T09:04:35.786Z" }, + { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536, upload-time = "2024-09-04T09:04:37.525Z" }, + { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808, upload-time = "2024-09-04T09:04:38.637Z" }, + { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531, upload-time = "2024-09-04T09:04:39.694Z" }, + { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894, upload-time = "2024-09-04T09:04:41.6Z" }, + { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296, upload-time = "2024-09-04T09:04:42.886Z" }, + { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450, upload-time = "2024-09-04T09:04:46.284Z" }, + { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168, upload-time = "2024-09-04T09:04:47.91Z" }, + { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308, upload-time = "2024-09-04T09:04:49.465Z" }, + { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186, upload-time = "2024-09-04T09:04:50.949Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877, upload-time = "2024-09-04T09:04:52.388Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204, upload-time = "2024-09-04T09:04:54.385Z" }, + { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461, upload-time = "2024-09-04T09:04:56.307Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358, upload-time = "2024-09-04T09:04:57.922Z" }, + { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119, upload-time = "2024-09-04T09:04:59.332Z" }, + { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367, upload-time = "2024-09-04T09:05:00.804Z" }, + { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884, upload-time = "2024-09-04T09:05:01.924Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528, upload-time = "2024-09-04T09:05:02.983Z" }, + { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913, upload-time = "2024-09-04T09:05:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627, upload-time = "2024-09-04T09:05:05.119Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888, upload-time = "2024-09-04T09:05:06.191Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145, upload-time = "2024-09-04T09:05:07.919Z" }, + { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448, upload-time = "2024-09-04T09:05:10.01Z" }, + { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750, upload-time = "2024-09-04T09:05:11.598Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175, upload-time = "2024-09-04T09:05:13.22Z" }, + { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963, upload-time = "2024-09-04T09:05:15.925Z" }, + { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220, upload-time = "2024-09-04T09:05:17.434Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463, upload-time = "2024-09-04T09:05:18.997Z" }, + { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842, upload-time = "2024-09-04T09:05:21.299Z" }, + { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635, upload-time = "2024-09-04T09:05:23.588Z" }, + { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556, upload-time = "2024-09-04T09:05:25.907Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364, upload-time = "2024-09-04T09:05:27.184Z" }, + { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887, upload-time = "2024-09-04T09:05:28.372Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530, upload-time = "2024-09-04T09:05:30.225Z" }, + { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325, upload-time = "2024-09-04T09:05:31.648Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679, upload-time = "2024-09-04T09:05:32.934Z" }, + { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267, upload-time = "2024-09-04T09:05:34.11Z" }, + { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236, upload-time = "2024-09-04T09:05:35.97Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555, upload-time = "2024-09-04T09:05:37.552Z" }, + { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684, upload-time = "2024-09-04T09:05:39.75Z" }, + { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811, upload-time = "2024-09-04T09:05:41.31Z" }, + { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987, upload-time = "2024-09-04T09:05:42.893Z" }, + { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817, upload-time = "2024-09-04T09:05:44.474Z" }, + { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538, upload-time = "2024-09-04T09:05:46.206Z" }, + { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890, upload-time = "2024-09-04T09:05:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677, upload-time = "2024-09-04T09:05:49.459Z" }, + { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339, upload-time = "2024-09-04T09:05:51.165Z" }, + { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932, upload-time = "2024-09-04T09:05:52.49Z" }, + { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836, upload-time = "2024-09-04T09:05:54.078Z" }, + { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449, upload-time = "2024-09-04T09:05:55.311Z" }, + { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757, upload-time = "2024-09-04T09:05:56.906Z" }, + { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312, upload-time = "2024-09-04T09:05:58.384Z" }, + { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966, upload-time = "2024-09-04T09:05:59.855Z" }, + { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044, upload-time = "2024-09-04T09:06:02.16Z" }, + { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879, upload-time = "2024-09-04T09:06:03.908Z" }, + { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751, upload-time = "2024-09-04T09:06:05.58Z" }, + { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990, upload-time = "2024-09-04T09:06:08.126Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122, upload-time = "2024-09-04T09:06:10.345Z" }, + { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126, upload-time = "2024-09-04T09:06:12.321Z" }, + { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313, upload-time = "2024-09-04T09:06:14.562Z" }, + { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784, upload-time = "2024-09-04T09:06:16.767Z" }, + { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988, upload-time = "2024-09-04T09:06:18.705Z" }, + { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980, upload-time = "2024-09-04T09:06:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847, upload-time = "2024-09-04T09:06:21.407Z" }, + { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494, upload-time = "2024-09-04T09:06:22.648Z" }, + { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491, upload-time = "2024-09-04T09:06:24.188Z" }, + { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648, upload-time = "2024-09-04T09:06:25.559Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257, upload-time = "2024-09-04T09:06:27.038Z" }, + { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906, upload-time = "2024-09-04T09:06:28.48Z" }, + { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951, upload-time = "2024-09-04T09:06:29.966Z" }, + { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715, upload-time = "2024-09-04T09:06:31.489Z" }, + { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662, upload-time = "2024-09-04T09:06:33.551Z" }, + { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753, upload-time = "2024-09-04T09:06:35.095Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564, upload-time = "2024-09-04T09:06:36.756Z" }, + { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264, upload-time = "2024-09-04T09:06:38.786Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197, upload-time = "2024-09-04T09:06:40.453Z" }, + { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080, upload-time = "2024-09-04T09:06:42.061Z" }, + { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666, upload-time = "2024-09-04T09:06:43.756Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088, upload-time = "2024-09-04T09:06:45.406Z" }, + { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321, upload-time = "2024-09-04T09:06:47.557Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776, upload-time = "2024-09-04T09:06:49.235Z" }, + { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984, upload-time = "2024-09-04T09:06:51.336Z" }, + { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811, upload-time = "2024-09-04T09:06:53.078Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/07/bd78e6a8fae171ea041ef5bba3ed21a003522fa088834b069b1909981f30/kiwisolver-1.5.1.tar.gz", hash = "sha256:f1303ef2eec81262a4b708c3e858afe58d7c75ad91c1c05266eda7673369859a", size = 104395, upload-time = "2026-08-28T10:28:27.153Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/54/1b8d2bc580414cc75b3a5b3d195981a6facacd8a8d986e589d0a3b51a709/kiwisolver-1.5.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1acc7e5b7ef05e9da8bb70cd6c7c4513090213d2e1ad9720f599f0bf6c52aec5", size = 123362, upload-time = "2026-08-28T10:24:43.402Z" }, + { url = "https://files.pythonhosted.org/packages/57/19/92c30f540dcfff86ff625389427c39b53a9aaea16420ddcc09b2ab8d1073/kiwisolver-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bad20d4c69c851c982a1e3606f4c293edfd5a87885786c50082412240c4b1ffd", size = 66551, upload-time = "2026-08-28T10:24:44.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ae/30b94088722e7bce8b821cd5ee935a87f80023e7243125f1accf98e39bf7/kiwisolver-1.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0a4faea5c6db201c6a21391d2ac926ea97acf7dacdbc3c417189e1adb1a00837", size = 64076, upload-time = "2026-08-28T10:24:46.184Z" }, + { url = "https://files.pythonhosted.org/packages/f1/0e/9f394d693be549fa3fab62498c2778294595991047adc3dcf10aa99b91c0/kiwisolver-1.5.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e05c2f7925f1d88778e53cb44f14e0223204a3bdd09a41664750363acfb1f2ef", size = 1628782, upload-time = "2026-08-28T10:24:47.91Z" }, + { url = "https://files.pythonhosted.org/packages/64/96/26efc04348c0f332b6e6c471dff132bb8b18b2df494a1b65826601674e62/kiwisolver-1.5.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3a4e41e3096bf1f0f1b76e2ffd6d828d6547f574f702d59bdbef7acfa59db9c", size = 1228112, upload-time = "2026-08-28T10:24:49.503Z" }, + { url = "https://files.pythonhosted.org/packages/5a/ac/df9ddc19ec972cd97b60b262dd2c4be28c6192b5a779cad429c6657ee680/kiwisolver-1.5.1-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1d56ec54d257d05e0b50f5780d967540cd07beeaf9e5f645b26d50cce79f4d8", size = 1246756, upload-time = "2026-08-28T10:24:51.225Z" }, + { url = "https://files.pythonhosted.org/packages/cf/de/c38a246b8a4f4b293c7291aa650917b05c5549b0d532749bc523296e90c4/kiwisolver-1.5.1-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8de6f2a4ce7e7bd27d23dd94abf0ccafe0e0e5cc9c764b0577191f2c25f08f26", size = 1295555, upload-time = "2026-08-28T10:24:52.953Z" }, + { url = "https://files.pythonhosted.org/packages/b6/48/3c95a5232d8b5783050d8c8089b58bf1f57018f9135232d72c5aa6b0c01b/kiwisolver-1.5.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:16895f553ee6620a827d2da56b871f835fb70b9216cca5d188e885caf6e3bd23", size = 2179476, upload-time = "2026-08-28T10:24:54.568Z" }, + { url = "https://files.pythonhosted.org/packages/e6/e9/b9e999336afc561b154e93682f597832bdc7446f2ee18b467c5b0e924867/kiwisolver-1.5.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:6b92f60017dda7d877fdc546438b5e28f31c523264f49cf5a48c1d0ce1a0dfbc", size = 2275258, upload-time = "2026-08-28T10:24:56.186Z" }, + { url = "https://files.pythonhosted.org/packages/76/cd/c1c550796ada4a59644b8264b425fe332686d2a086c4729fcc640ececdfe/kiwisolver-1.5.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:7824b5e8bdbf0bccb4ccd37bbb115849a1dc45437fb4de8351385ed07c437ee0", size = 2443424, upload-time = "2026-08-28T10:24:58.093Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d4/30f641eb8e10f6ad5bb9af8a15ec8eea386162a6ef491e68995b8680ef4e/kiwisolver-1.5.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:aa7d00b1700966d2917e54d278aba86897890ca9276dd8b76cf6446b6c181b92", size = 2249457, upload-time = "2026-08-28T10:25:00.223Z" }, + { url = "https://files.pythonhosted.org/packages/1c/d9/211e016f8aa5b5bf496dd3bd7ebab4b73b22d91f025f25e20156a44a77fc/kiwisolver-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:96c30002424670b5e1e46495c2b8cbffef39cf77c1d79e76462029d50339785b", size = 70643, upload-time = "2026-08-28T10:25:01.888Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8e/ae7007266dea1fd93fcc48541042c1f6583958055de3b424a59ec16def25/kiwisolver-1.5.1-cp310-cp310-win_arm64.whl", hash = "sha256:f0f4a42db92d6ec7677ab9d12830a2a8ec145a9c6d15db2b593466bc875c78d7", size = 68215, upload-time = "2026-08-28T10:25:03.136Z" }, + { url = "https://files.pythonhosted.org/packages/94/7b/2de6908edc668427c149af5f93112e931f87e1fa4cab80bac32c5844dccc/kiwisolver-1.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b3d78f7bb2b9d9a30345be1474b9aaa8685430b54afb51ba3639b5c6c11e9ed6", size = 123364, upload-time = "2026-08-28T10:25:04.359Z" }, + { url = "https://files.pythonhosted.org/packages/8a/24/e70914415c77c97be7e22c80a0740869cb7428768cc380fdcdf6703e7084/kiwisolver-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5025e36fb4fb275cef0a4e30dbb11cb4ae61d1c83deb90189cb5d7e4cafd6b55", size = 66558, upload-time = "2026-08-28T10:25:05.506Z" }, + { url = "https://files.pythonhosted.org/packages/e8/2b/8b08b11833db4d475b8ef1f36174f8d8a7abd31bedd7e794be78e8814b48/kiwisolver-1.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc1a26b8e53395a01c2c611e58602fa47461f136fba7cd5542e6db6d64be1839", size = 64071, upload-time = "2026-08-28T10:25:06.7Z" }, + { url = "https://files.pythonhosted.org/packages/89/00/05c2d0369ac322d22d5c05f84b5c4a6856fa6207fbae42869108a28f0383/kiwisolver-1.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:95a02752aa032eef4aed01cda6d9b687c669bd0396bf4519eef8bba22a286720", size = 1438206, upload-time = "2026-08-28T10:25:08.254Z" }, + { url = "https://files.pythonhosted.org/packages/c0/05/c941a139f27438c1910d630fdc3ccfdab7c8407c72052299ead12ece086e/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:719a35fa1156db3640555f95ebb94f60a444e64d1c69626b0edef5df78eba225", size = 1248975, upload-time = "2026-08-28T10:25:10.053Z" }, + { url = "https://files.pythonhosted.org/packages/58/a1/2669ee5512e39b9d4de25faacaedf788c957f93730c5f7c63993ec4f5933/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:febcce10f2bcdbb80b4ea919238a6a4ac13dbc4c7cadbe8d5d75c3682f8b5404", size = 1266301, upload-time = "2026-08-28T10:25:11.754Z" }, + { url = "https://files.pythonhosted.org/packages/28/b8/353f52f2c7f861a9e90cd2e8f90f85b3ad03060835f823e08298d094c463/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1d852545c4d0e35a72728d072cbaa59e2fa7dd84bdf01e068d670dd0ceb58eb6", size = 1319708, upload-time = "2026-08-28T10:25:13.559Z" }, + { url = "https://files.pythonhosted.org/packages/21/0e/14b83200eadc2c1d63b76bac01c1813bf072aecf567429f303e00b70258e/kiwisolver-1.5.1-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:2e10ae1bba1899188b33557c10d73affcc12033edd18adddb57d209039976a4c", size = 971720, upload-time = "2026-08-28T10:25:14.934Z" }, + { url = "https://files.pythonhosted.org/packages/86/91/9d43d84d23b1cbff72a142d387ead1ea03db0cba8ff86ed5335addad3cc9/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b69602970994a2ed8bbfa78c2f0394a7435226c6040489702d9f0a0ad0c07052", size = 2200119, upload-time = "2026-08-28T10:25:16.636Z" }, + { url = "https://files.pythonhosted.org/packages/ff/7c/f2bd9616f27ffb5e17cecc0baa5d0bbcee7e55aeddc0ccc871d69e2fc3ee/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d50de98e8d807dc31822fff96f50293163a62418eb65487a21b42713d72ed0b7", size = 2295005, upload-time = "2026-08-28T10:25:18.374Z" }, + { url = "https://files.pythonhosted.org/packages/ba/17/ee671b72bf8f46a08379d4392c65582541759a542428197562f2898294ad/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3221f78211074f561c44ca42eac0619828171bec15a2c4cf6f7747d07df76e8e", size = 1960982, upload-time = "2026-08-28T10:25:19.893Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f7/0e26b4c05bee3bdb0f048dfa305e4fe701999ea17b51e9c616ef91035bbe/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0ba9527afc80ae3d7814ed98b6572d02bf85eaf48065678342c5f0c6dab7a8c7", size = 2464918, upload-time = "2026-08-28T10:25:21.65Z" }, + { url = "https://files.pythonhosted.org/packages/ae/62/6eb431133d30ce656ac1e5ff72fac70dd34d54c3984f4011b9ac8bf77d54/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e12dfea7f5fc2a34a9080efbf79c4c44eb380ec5b9c6fea09407e08f0d1e941d", size = 2270967, upload-time = "2026-08-28T10:25:23.643Z" }, + { url = "https://files.pythonhosted.org/packages/bf/9f/6f9e489c188200e6fb3193935501894811e8c97577c8ffe9033589bf3521/kiwisolver-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:1a7587dc335f2c0f5bd577fd0540bd16c66006bdb60f759a1059f025e6c4f071", size = 70744, upload-time = "2026-08-28T10:25:25.061Z" }, + { url = "https://files.pythonhosted.org/packages/c6/6d/dfc430d1d43957061599adea3f08ea982bb6f4ab601a8c974bedcf2ba850/kiwisolver-1.5.1-cp311-cp311-win_arm64.whl", hash = "sha256:e4e4523d6f336708d732516e6cfca7796cf3d96c9474eb5aecf6165f2f1fefc3", size = 68404, upload-time = "2026-08-28T10:25:26.186Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9b/65b302742389c6f96f2956bef5decf26011309feb2fc5d79613af18adea4/kiwisolver-1.5.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63fb7294b768f444eb4b068965f2662f28c2fd4161e23bd60fcf3ff27b74c046", size = 123876, upload-time = "2026-08-28T10:25:27.44Z" }, + { url = "https://files.pythonhosted.org/packages/71/74/c21f339956f6f691b2ed7e31d5f3ae767304df6c460192739fc830853051/kiwisolver-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ebdef3eae5336568147c39a55be6a2036ffde53faa9ca2d978989ae7c2da12c", size = 66487, upload-time = "2026-08-28T10:25:28.728Z" }, + { url = "https://files.pythonhosted.org/packages/84/e5/bdb34e21523e01dceda064d63713f3bdec91388af24fba1eca7ea5e85864/kiwisolver-1.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1798e83840c3f627246104c4d8a9639c60fa068adf9ce92b61791781fa8a68c1", size = 64660, upload-time = "2026-08-28T10:25:30.071Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f4/dadfec469313c7f428efa7e84b4aba9732f813c13ea7131a24b7b008ef57/kiwisolver-1.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34633ecf50d16187ab8e5528b7a2530f2feb4e23f300db4672538b51cfc5cd38", size = 1477929, upload-time = "2026-08-28T10:25:31.495Z" }, + { url = "https://files.pythonhosted.org/packages/6f/35/09c58daac34e6f6ea5c6dee0094b422118e5a7c265586008a95fd135ac5f/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d27c2123977cb9269c30a49ba45f03a4323017ef693e19db4ec9dbe1299a3002", size = 1278499, upload-time = "2026-08-28T10:25:33.375Z" }, + { url = "https://files.pythonhosted.org/packages/19/32/739765e24fbad29d13f83e546ea4abc215a78cea9d677ca09025b027724d/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6a797a1cefc8b9c93170db580337e1fe3d011ad18b1299943231279406342048", size = 1296677, upload-time = "2026-08-28T10:25:35.059Z" }, + { url = "https://files.pythonhosted.org/packages/df/32/03304d1010e2cc45e5b3b52cef7e43fed3a2a5cd6c87a89b4a88e1d85b5d/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2551cf9917af48ee7c4b29cc82320489508cf96fd26a51f6fc124de661cd44c7", size = 1346037, upload-time = "2026-08-28T10:25:36.705Z" }, + { url = "https://files.pythonhosted.org/packages/3e/57/4c49377bfd274450dd72ecaa13eaac32ea804a03363e4d1db0c5aa999ceb/kiwisolver-1.5.1-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:38f6e0deb4d0a4615efe0c4efc5990b06ae450ab50a0b321c0b078b6d238c083", size = 988248, upload-time = "2026-08-28T10:25:38.299Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c3/38df144a08b6c5d75ca4504e5cc3141bb3bfef64c04f4ef48204f42711b6/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bfd1de989b3330420e29de39352f5c049905c9e3ee67233a50d550e3d652c148", size = 2228722, upload-time = "2026-08-28T10:25:40.038Z" }, + { url = "https://files.pythonhosted.org/packages/e7/11/3221838a89cd64d9b386353e000cd8a296069a20fbe3584507fdfd5bebae/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1209042a623ddfda5497e4066c7b77651dde8e1d3a9dd97599dc7e97f3b9b78c", size = 2325216, upload-time = "2026-08-28T10:25:41.699Z" }, + { url = "https://files.pythonhosted.org/packages/83/d4/075c219230697bb5db910d37262b9bacf880f92b4811a02ab81ed073a253/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:26e8268480be5061d509e29669d59103c067a26377a56491630ece11762e3858", size = 1977689, upload-time = "2026-08-28T10:25:43.559Z" }, + { url = "https://files.pythonhosted.org/packages/bb/08/1d219c3c2dd960983d0d4da623d916e9de6385df2b0bab3d1af0e9b8fccc/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d79308fa689fac89cbcfbd4dbfc80b5f95c54c5a7fd4d194be221f9d33d026e6", size = 2491443, upload-time = "2026-08-28T10:25:45.242Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d3/024208ec1079d273f1047468d1bdffbf38bb75b7b268090fd3a0301b9d9a/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b03af77d77e50edba2030fd5f7c352ff209314b09030a3cba7c14edf9a09a444", size = 2295200, upload-time = "2026-08-28T10:25:46.984Z" }, + { url = "https://files.pythonhosted.org/packages/6e/7c/7b210498f9f92e1cd7855f260fa69ef056881087b199ee20c208f0e4189a/kiwisolver-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:06a6917674de9e0fe3f66f5430787f59a9f2ddb64af9b714eaec547e29ef5c19", size = 70748, upload-time = "2026-08-28T10:25:48.444Z" }, + { url = "https://files.pythonhosted.org/packages/94/61/ef0daa157c8bb23672f7423e0d14c39db1dc6ef8ed47e6bc54c9c1bef3bf/kiwisolver-1.5.1-cp312-cp312-win_arm64.whl", hash = "sha256:ad8b9671348d7c8716715652ae11f85ed0eb99e265a2df2ca490577d69860b2c", size = 68324, upload-time = "2026-08-28T10:25:49.81Z" }, + { url = "https://files.pythonhosted.org/packages/08/c1/88018321d976f53c421e379c43bc6993e70ce0c8a3ec5edc4bfe102257f6/kiwisolver-1.5.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:b6ae6a0328f0bc035741820fdeecdcd67bf4694eee03972e843663107122f450", size = 62272, upload-time = "2026-08-28T10:25:51.02Z" }, + { url = "https://files.pythonhosted.org/packages/85/d2/712bc17ea4f1d216034928069d612defbc6c95a471c55a7203a39faecb1a/kiwisolver-1.5.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:886fc26012f0e8b5f69d1cfe6d711f6b11f194621539bf8e6bb1c25c5dc82724", size = 64481, upload-time = "2026-08-28T10:25:52.22Z" }, + { url = "https://files.pythonhosted.org/packages/1b/e6/6c5380d676f43b6d918033962ea5e72360ca69e5a404154bc496b598ffdb/kiwisolver-1.5.1-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:aefe930d113798330e9462f7874542977869c0613cba3262e2de3a8d5dee8f3a", size = 66260, upload-time = "2026-08-28T10:25:53.387Z" }, + { url = "https://files.pythonhosted.org/packages/92/6a/7087f5822cc8bb272679641404b1966a42504dac9ee74e2b33840475a0aa/kiwisolver-1.5.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5ca5aebae78a0bc13c1943af4af615d4966c5b650b05d5aa83b50e427196fee", size = 123876, upload-time = "2026-08-28T10:25:54.644Z" }, + { url = "https://files.pythonhosted.org/packages/5c/4b/9f385087ca09ee5ab9c09c6832561a7d2f7c78d3e5661d511e669f70e439/kiwisolver-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1ed0f5e49d0ceff8b72190824d9e59c062fbbc02c231b853112c78474b3f5ec2", size = 66487, upload-time = "2026-08-28T10:25:55.899Z" }, + { url = "https://files.pythonhosted.org/packages/47/8b/40d33ffd2f378094ed462e9a9a0907e59d4de9845e65a59561272da350d4/kiwisolver-1.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:77a4c8187a5948d7f8795adb765a3c7b553d07d86d88e43038fc32fc1fb9a3f3", size = 64673, upload-time = "2026-08-28T10:25:57.048Z" }, + { url = "https://files.pythonhosted.org/packages/ab/43/86aacc027959108b4c66eeae8b73cedb057dfa6eb3a335d05ad65197081c/kiwisolver-1.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:74ad5c3dad54a4641b4c28cd15ded70899d04459c6c7aeacafea716be97cce6d", size = 1477992, upload-time = "2026-08-28T10:25:58.479Z" }, + { url = "https://files.pythonhosted.org/packages/ed/40/b1d0369048c79733a32c8abb0f2718532e6630641368e33a81384246e844/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21e46b23a2da695c364124817bc01d970effd5483147f8d66a6a7167e3f6b851", size = 1278821, upload-time = "2026-08-28T10:26:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/61/a1/fa71c1792272ff9461432715ae60ffb7e11a4d7ac3bf68961b9cab6c60cf/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:75d9b1cf8258462dbdc1eeda718c96ea7f079324c09067f6daabfcf37712b7fe", size = 1296805, upload-time = "2026-08-28T10:26:01.868Z" }, + { url = "https://files.pythonhosted.org/packages/a3/49/3f0bd94af8e06ecc47eb834b195a06f05d48711ceb2352c56d6835160f0e/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fca690b00c4c48f6c2a547b0160ed511357093a4e4c9b47e0fadf3128066d89", size = 1346109, upload-time = "2026-08-28T10:26:03.59Z" }, + { url = "https://files.pythonhosted.org/packages/a4/44/3afe6ef9cf06d61220953a8963e94eca978491be1d9547cb01d82a1efa08/kiwisolver-1.5.1-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:876bbfd276473d3daffe30e8c975df4ed9429967b41a6cb362dbb5155b6f13ad", size = 988252, upload-time = "2026-08-28T10:26:05.306Z" }, + { url = "https://files.pythonhosted.org/packages/e4/30/a12bd7a7285a211e1747c3eec77b8c614dbfcc1dad942f7611a1a6921ae5/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f942903fde7363d1d879057ec5de01310efda2597161784d752fa9953a01a71a", size = 2228846, upload-time = "2026-08-28T10:26:07.312Z" }, + { url = "https://files.pythonhosted.org/packages/a1/6b/233e2958abf0dab7b18d07e52f286e02e519d7651bfbbe97af9347564109/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c90d3022d8a94778939cda8638c6c8da8fa757b8958dad7ec868ce29c87681b8", size = 2325583, upload-time = "2026-08-28T10:26:09.093Z" }, + { url = "https://files.pythonhosted.org/packages/42/8e/7673060a27b01405b580058510adef34687069d229800239f5e44682d4d0/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8a34616dc2521cc8dc1d7d081734da63539f021ac0450ce950908340c6e7aa2f", size = 1978221, upload-time = "2026-08-28T10:26:11.127Z" }, + { url = "https://files.pythonhosted.org/packages/3f/7b/1b882fc1a8b4a0bb8084e7d1d85004116d08c92c0705d31f2928dec607f2/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:8bf4df63592c2a66b4f8edc5df2544998c288aa02f96ce0acd880cd1de8c8127", size = 2491819, upload-time = "2026-08-28T10:26:13.348Z" }, + { url = "https://files.pythonhosted.org/packages/39/9c/426deb49e62c5f69464b64bbeca064d3b758a7506b8913d986ef34f4619c/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d09037ca068d784ebc4aec290ef952ca27ac15dd9c0b5801a88c6e1096b83e6b", size = 2295520, upload-time = "2026-08-28T10:26:15.042Z" }, + { url = "https://files.pythonhosted.org/packages/f5/22/deabbb3ad6d918d74b7831b2d8ae7151b09d21c87974e5ee8a456f58c94c/kiwisolver-1.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:dc23390afe9f4ef9ac3bcc72a03a56eebbde03f4c571a32cb38f859cff9a6524", size = 70758, upload-time = "2026-08-28T10:26:16.504Z" }, + { url = "https://files.pythonhosted.org/packages/b9/71/02fa5c2fd92068bb8952847e70ee6c5cb280e7febe11653d17812acc53dd/kiwisolver-1.5.1-cp313-cp313-win_arm64.whl", hash = "sha256:186884a58486651e3c217b6acea0a53eaa9498fdd472057c46f2f0fb5c25aad5", size = 68329, upload-time = "2026-08-28T10:26:17.658Z" }, + { url = "https://files.pythonhosted.org/packages/dd/87/2d5dfad0daf17dcc18d98c48ed2332fc3f051cf599e60be6182a30dd4cf1/kiwisolver-1.5.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0324cd2567259b7a095f6cf18a52b0ffc6f3de9e69528ff1bc0e7a37bd43ff1a", size = 62337, upload-time = "2026-08-28T10:26:18.778Z" }, + { url = "https://files.pythonhosted.org/packages/08/c8/83e1624f15d6262b470dbcc80b09979fd4d5b2ea3ddfc6b6e3327e235726/kiwisolver-1.5.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:74ea337e0ec3f6f342a36a4f1b5cd94dd9affddcd28ba9aae2905af932ee8c6b", size = 64513, upload-time = "2026-08-28T10:26:19.909Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2d/827ec30eb07f528c08d8459ffb318ae91a56d793ee8acbea8b491f0ff906/kiwisolver-1.5.1-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ee9df1f0d77b9c6e94f4ac0fec533fbddd5ea3a327807f18d7b069ae019ded80", size = 66287, upload-time = "2026-08-28T10:26:21.078Z" }, + { url = "https://files.pythonhosted.org/packages/53/11/5c43a562529dad8def4b81e5e1877c612a7e0298105a5939b3b409d2079c/kiwisolver-1.5.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fc271a6f0a2126958f4090e5507b9da5848927dae331f8f763bd4aa642b3d2cd", size = 123940, upload-time = "2026-08-28T10:26:22.475Z" }, + { url = "https://files.pythonhosted.org/packages/64/db/9bd6c505c95128c258a55236bfbb3a7a3fb6023f863316b6d7d9f3c69052/kiwisolver-1.5.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:9b3092d8992a1d69b7a59c3e39f35e1b9be327a17f68a7c35fc17329e337d6f2", size = 66493, upload-time = "2026-08-28T10:26:23.743Z" }, + { url = "https://files.pythonhosted.org/packages/e1/f4/b3007a3ed5c9be73f81161140684cf7d9bdb9c4b632f5f484d2a1c713fb9/kiwisolver-1.5.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c2306e8bb53601979fcb3fa09cc65e031876d9ae01eff2fcbcd7a84ef94d5bc1", size = 64720, upload-time = "2026-08-28T10:26:24.95Z" }, + { url = "https://files.pythonhosted.org/packages/a1/13/08188f0cafa3a800403e4ff62b9aad4e7a17f9c4c7e080dc8f18c64794cf/kiwisolver-1.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:18a0cfb124546a4c2e6087c5f3029c7f44b37c85b142e0ced71f73a7599ac208", size = 1475867, upload-time = "2026-08-28T10:26:26.393Z" }, + { url = "https://files.pythonhosted.org/packages/8a/3e/053bdc3c9abdb8f2606225eda398adca25c0c91ab90add8222a69db65ee0/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34ec467940442c9943016fb2d4c81d1ba84351eeca2f1a78f8bc87f1ba0d414c", size = 1282865, upload-time = "2026-08-28T10:26:28.118Z" }, + { url = "https://files.pythonhosted.org/packages/5e/64/a44c341b36b610588cc2f1e89b3cae072a3119aa8be578e90987cd640751/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a83ee7107df13abe42a54a6654670eef9bb39425cf2e27f65e0007465e1286ab", size = 1300865, upload-time = "2026-08-28T10:26:30.125Z" }, + { url = "https://files.pythonhosted.org/packages/60/5e/7e7d716dca38c714478b741257a5b4a321d9932b8d851551a136dcaf3984/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bebb89489b279b2f5661bbbb2abcc87bcd4a46607bb4a5c966f04f1db6b8df9a", size = 1348071, upload-time = "2026-08-28T10:26:31.829Z" }, + { url = "https://files.pythonhosted.org/packages/10/1a/2b98fdda8bf45b7be317e48ed12393d44334394d315c74b81f4a14c0e31b/kiwisolver-1.5.1-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:509735237ae0d849e8a843551d423d2500d2e0a9ac1611a145658b29c0fb9f85", size = 992191, upload-time = "2026-08-28T10:26:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/b6/55/d893f5ede0e50f9e3fcf01f6015f42ec7d9cd221e26772701fe4a98745f9/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:824c3d763a05ea9e9003610145186b0e9848c7584a5575c79bac5a8e7cd80bad", size = 2233854, upload-time = "2026-08-28T10:26:35.282Z" }, + { url = "https://files.pythonhosted.org/packages/b1/82/f85f6279555a6ee1639fef7bfe83adb037a03e11a6fc9eaa54b8d0380339/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1fff05e239575b1481b6ed1a782f6fad616efbf1f0b1f44e6e85c4dfe426e483", size = 2330621, upload-time = "2026-08-28T10:26:36.9Z" }, + { url = "https://files.pythonhosted.org/packages/56/31/e11aea078f66fc2fffcc179d38ca90d9da97652a241b64519169742ba46a/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0627b9bceb9c3cdcf12b8a18655eedfed2692b038df27423383c120d0b7dc2d6", size = 1982848, upload-time = "2026-08-28T10:26:39.01Z" }, + { url = "https://files.pythonhosted.org/packages/af/ea/2956b63bf5140ca46aa2c2818e6aa03e2d5754dd2fa41db1c6b28922940c/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:8a708a47ade1fe19e8371d5da076bac0dd4b0a5a7985ad6c637f7f7e361b6baa", size = 2494850, upload-time = "2026-08-28T10:26:40.837Z" }, + { url = "https://files.pythonhosted.org/packages/11/d1/3829542258d8b3fc0898d221e7ef0e2c83eca0d348709bb8dbe54f3d4005/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:007a5553dfc4f4e8d184f588a0200e2cd4b63a59cc8796df3c39909e679dc7a0", size = 2298067, upload-time = "2026-08-28T10:26:42.803Z" }, + { url = "https://files.pythonhosted.org/packages/4e/0e/49522e1ab5788cbaf63a26fbd3b851f9028616828c961b8a31b35cb96df8/kiwisolver-1.5.1-cp314-cp314-win_amd64.whl", hash = "sha256:f4167e87b397f273dc2356fcf1eaf50a6bac51e6105f45103ef7129c8efb0255", size = 72282, upload-time = "2026-08-28T10:26:44.268Z" }, + { url = "https://files.pythonhosted.org/packages/f5/b6/22e7ca5315d363e6f81c9f37c9472e12e7b298731e77c0428e6a911a2c39/kiwisolver-1.5.1-cp314-cp314-win_arm64.whl", hash = "sha256:5c490db2168a508088f59140dd392556a54b8bd1048fc6383c8baff13c359673", size = 69855, upload-time = "2026-08-28T10:26:45.725Z" }, + { url = "https://files.pythonhosted.org/packages/30/8c/03a9cfbe871964c8758a816eb03ac96c806da2795a9a7cd9bf9648bfb594/kiwisolver-1.5.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4d4ca09bf13cff792b1884f64b98ee6c2467930d632233be25c56b442d99f10e", size = 126289, upload-time = "2026-08-28T10:26:47.023Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e3/14ce3041ca79dff9c9d884ca00c7bf32374e76028a865a9ecd99b4f5a517/kiwisolver-1.5.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:44b8faef94f1857e77fa0238f3390ff1ac51d2ea20a487e2e452a59fd2b5f5ca", size = 67709, upload-time = "2026-08-28T10:26:48.268Z" }, + { url = "https://files.pythonhosted.org/packages/af/c4/45030471a66ec8ef042e9f96ffe1d522c9ab12da180186a0898966fc1385/kiwisolver-1.5.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2ae70bc59790d2af72a3f76f24b272403e135070340281108b447cb77ea70819", size = 65909, upload-time = "2026-08-28T10:26:49.523Z" }, + { url = "https://files.pythonhosted.org/packages/42/73/17dce073a6ae259bb32cf9d686c4079d2e538868bc45967462bf33df914a/kiwisolver-1.5.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:43844c1a7ad6d723d5b5b4c4fc7f5bd399c40e288120d16257c7c9e8765c6e85", size = 1584907, upload-time = "2026-08-28T10:26:50.933Z" }, + { url = "https://files.pythonhosted.org/packages/8c/84/ae3c75909f507283cbfcc7e916c7e822579ef962020b97e6882b27b4478f/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22d5e5aaad6be121f2515765e3b1c444352cb8eb4c86510801db8f2e50757316", size = 1392474, upload-time = "2026-08-28T10:26:52.638Z" }, + { url = "https://files.pythonhosted.org/packages/34/31/8bcc83caad5bce8fa4577152389848bf6bc110e51e573a2b4e7c2aa34c89/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3fa5855898f6d3d01b72ccd48a2d65cbdee301251603fefe34e2025bddba219c", size = 1405246, upload-time = "2026-08-28T10:26:54.248Z" }, + { url = "https://files.pythonhosted.org/packages/55/72/220345537d790cf4ae54f8acfff4b5cc2468e0702a384d651cf7a771c63e/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d66a64dd5dec136040ec2ae94aa026a912ee60fdd45bc28d3db30037fd809e88", size = 1456099, upload-time = "2026-08-28T10:26:56.042Z" }, + { url = "https://files.pythonhosted.org/packages/cd/10/3725fd2398f66d18c34b4e0f81a8d03764cd4f4f089f58a527f0b4428086/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:9e51c119992ea8820706871c30a4642ec76de20ae82f9b50b9a45517d8e9f810", size = 1073695, upload-time = "2026-08-28T10:26:57.658Z" }, + { url = "https://files.pythonhosted.org/packages/86/cb/28d6e09e66b93e4588b2e6b7d84d020ccefea09e2f4de788510a07efeab7/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:70ed9a45c7484d2b30cdacf60d220f494a1763b9fec1ad03285c6553fa0889f2", size = 2335355, upload-time = "2026-08-28T10:26:59.202Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b3/a0f31d5e4e40af7dc97c36b8a74fdd3a36cf3c8bbd098da9a23466ff6a94/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:98b208a7cc42c803445ef551d6753cc42a5ea13e9cab1ee66cd8b9cb70195330", size = 2426524, upload-time = "2026-08-28T10:27:01.181Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c9/728f63bd58c72cafdc79fc306abeeac7391bec03b757a48dadeb30906521/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:c6834b92dd2428e2dd85ef3d85f723d3c12f20aaf43a2ddd4f944ca25d833408", size = 2063430, upload-time = "2026-08-28T10:27:03.06Z" }, + { url = "https://files.pythonhosted.org/packages/84/df/ce188b96f92f9a2c958231da140768918cba53c9713dc887b82f85462118/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:5d142e352eb13facc7dd047489aebdff6ba78576c239f1ea04931979caaf0567", size = 2597513, upload-time = "2026-08-28T10:27:05.072Z" }, + { url = "https://files.pythonhosted.org/packages/69/d6/76947c8203768968382e5bd74d9cc95654746703a61ea53015f2c74a2e06/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f9b1c4900736e489a812c529100de4b8fb617d4db075e931e213c57424b83d9b", size = 2394488, upload-time = "2026-08-28T10:27:07.423Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d4/14b21e4eb203c4d15425e8b6a2c625a320b4a1f2f7557eead63ffc30ffb7/kiwisolver-1.5.1-cp314-cp314t-win_amd64.whl", hash = "sha256:5978c3340f16a35c30f8ab2fa7bcf559973c55f1a5ef6970e1f621acf3c4db13", size = 75404, upload-time = "2026-08-28T10:27:08.892Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f5/53157899fc7f45f76421b77b99eb1639dd0f83f26ff9d76300c96bb4a3b0/kiwisolver-1.5.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ca307d6c259e5c98d3cb9ade55342b47a6839762caf2536f3d7b46ee660cc82e", size = 72946, upload-time = "2026-08-28T10:27:10.944Z" }, + { url = "https://files.pythonhosted.org/packages/75/62/f786c3a27f181fa339d851a77e266d208e776b9883cabc40a5b041a31b5a/kiwisolver-1.5.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:bb7c99f0673c03017a3ee01e54a5c2617a05468b11eabe513b0080e063ed95b1", size = 62420, upload-time = "2026-08-28T10:27:12.308Z" }, + { url = "https://files.pythonhosted.org/packages/02/cd/58a91ed25fbad0facdf503297b03768efab04bdf3141e5e3b49a34be7443/kiwisolver-1.5.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:0d8924877ce22e17326a99a418c3c82037da078df3c6a260b13eca677444e6e7", size = 64577, upload-time = "2026-08-28T10:27:13.502Z" }, + { url = "https://files.pythonhosted.org/packages/f6/5c/d501ef5a0958b226eac28306d24d5e5f114be0ace50e19cabae7b6b3b197/kiwisolver-1.5.1-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:534f02c1abb31ed6dbd3515545285c330b2f12d00fdb1fdb71658b9ca5a13a6a", size = 66284, upload-time = "2026-08-28T10:27:14.813Z" }, + { url = "https://files.pythonhosted.org/packages/a3/a6/8fbecaf4fc18c02f31f05e47a84c010a80e3ec391ed2f0bdade1d62b5954/kiwisolver-1.5.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:cea20da04494e662b83c872683bf4ff2345206043d036315ed0e924b652e7294", size = 124031, upload-time = "2026-08-28T10:27:16.193Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c6/bf3090d2983b4204347cbdbe952116e7c3b2abf62b4e33e50167a13e75ee/kiwisolver-1.5.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:7fd82debf43c6acd0a94359d232f6bb516ee13f269a7993736a9ac9f988bb5d9", size = 66489, upload-time = "2026-08-28T10:27:17.506Z" }, + { url = "https://files.pythonhosted.org/packages/85/de/562dddef55fdd7c291da8626d6619e72b5fc0870e6ccca0e149a5731e7f3/kiwisolver-1.5.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:18170a77ddfecf40ec60d0928268dc95880c881864e015a8f34094ed18b9b9ad", size = 64806, upload-time = "2026-08-28T10:27:18.673Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/ba7b9c0164ce1cf62bf2872db63b8483289cf0f3110d6f9390eb09e409ed/kiwisolver-1.5.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ca7f6fe0f37ca978a1e5eb7a3a68e6413f417e78e838324947ffd420202b198b", size = 1482211, upload-time = "2026-08-28T10:27:20.039Z" }, + { url = "https://files.pythonhosted.org/packages/13/dc/34da54efb4976616d45c20aae32d70e89d6e7395ed908029154d1609ef22/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5b973887ff782cfd6b67c9904ad8ca542e0bc5e4961503408b423b5a688b4d38", size = 1283739, upload-time = "2026-08-28T10:27:21.82Z" }, + { url = "https://files.pythonhosted.org/packages/5a/3a/30ffb62bee646e266e98a1b5cd276d9c75b6116fbfcb87c1190838c1b6df/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f76fc85bd054c806960f917ec0f329e24e436f1712267d90588e4c39890caa63", size = 1301681, upload-time = "2026-08-28T10:27:23.876Z" }, + { url = "https://files.pythonhosted.org/packages/a9/8d/13c70be22a8506880b35fdc38dca36629613bc493405c79f4037f2cd2bb9/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:828f75af2b0080c8a972e75f649ab46af008e92c6104a57a759157200b835b75", size = 1349159, upload-time = "2026-08-28T10:27:25.899Z" }, + { url = "https://files.pythonhosted.org/packages/82/0e/993972b8ec6767f47cd69818fb3a5ff14510557d29f7d1a839be7574fa1b/kiwisolver-1.5.1-cp315-cp315-manylinux_2_39_riscv64.whl", hash = "sha256:431dc224a1a92a5c8f582d96e505196a3b5997a7271076678da2dfde67b77e9a", size = 997613, upload-time = "2026-08-28T10:27:27.507Z" }, + { url = "https://files.pythonhosted.org/packages/36/82/ca26eddd2eda2420dfc56693449c1f821f78b485da9cbde9904c03af3f93/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:61e9a64c7635095a6bfe483e2ff055d437c59bd45f3617a228b37277f0185d62", size = 2235109, upload-time = "2026-08-28T10:27:30.113Z" }, + { url = "https://files.pythonhosted.org/packages/c7/84/97d920881e10840b8d7c7185620298e3e4c88820b05514e3a15a258b08a6/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:3c24cd69455e1b00ddf770c13b6e2c33e07d6dc3f2d34add0bf9277c5c6bbd46", size = 2331207, upload-time = "2026-08-28T10:27:32.795Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ce/34d74b8f25acc58800f4c09268371e8d6159cf0f1206f1e4dc7835629b48/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:27add358abe374ebaa3b8763ef380bc99051b5a4b18d94878366a9e4f59efef0", size = 1986696, upload-time = "2026-08-28T10:27:34.628Z" }, + { url = "https://files.pythonhosted.org/packages/0e/01/f892644014612527aef7031d3306a2ffc60b3cb044f802c1561f8e5e14f3/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:255605693a483db7bd5c79f60437f7bf658f7f520d61aa42722e32257c941951", size = 2496400, upload-time = "2026-08-28T10:27:36.818Z" }, + { url = "https://files.pythonhosted.org/packages/32/6d/d8284e66e697026536e5f418b9cfe56567bffd3c775e3ecfbae373605854/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:7d38b0c279c3032e8c9cc013b405c6df8e1668dbf15465779aa7f15f61201812", size = 2302967, upload-time = "2026-08-28T10:27:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/46/0a/69a355e27f32ba50d5b6369949b6a1702e122f5277c89bc76d452b81c1c4/kiwisolver-1.5.1-cp315-cp315-win_amd64.whl", hash = "sha256:958254518717542d02d0688d0d20cbf771da5e415e6f49543f92481c850a4540", size = 72283, upload-time = "2026-08-28T10:27:40.491Z" }, + { url = "https://files.pythonhosted.org/packages/ef/d8/7a95be90c33dcdd52204d4aa6384d731443225b887283bbd8b61e7931f6c/kiwisolver-1.5.1-cp315-cp315-win_arm64.whl", hash = "sha256:da3275833be0edbaf4830fae08bae3dc7219f40ce0c37eaa6c25825957e06612", size = 69860, upload-time = "2026-08-28T10:27:41.835Z" }, + { url = "https://files.pythonhosted.org/packages/31/f8/9bc493e7f5707788ba7f621902c68f82dc3a7ba03c78fbd337b026cef1ed/kiwisolver-1.5.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:470d420f98d368d6f010633a20659b544c5fdfa5329e6b70219f2ef08fd4a7ef", size = 126336, upload-time = "2026-08-28T10:27:43.379Z" }, + { url = "https://files.pythonhosted.org/packages/d1/82/3aea86b3f99712db825e9ac5631bf99571e818a8b8961ff98cebd798413e/kiwisolver-1.5.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:83f78128fa28705fa85d01c59771c72fe81c11bd0e6155edbb9f818983a7d761", size = 67698, upload-time = "2026-08-28T10:27:44.613Z" }, + { url = "https://files.pythonhosted.org/packages/84/7d/8daafc5d2e7f9c47a4f78f8865d86d2a9cf399c2a85f86c44a993594410c/kiwisolver-1.5.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:9506e892bcc3b409831d363c6f53e5985e1c8d1f6f6b0256d00358684ff85378", size = 65945, upload-time = "2026-08-28T10:27:45.932Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c9/51dc974d9130da70a8c47a96160123443d387ffe1b6b833d6f91d9429339/kiwisolver-1.5.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cea90547bfd93807e0013a004dc76552be44fad3bc1cc2b38610a9e889ed098f", size = 1588030, upload-time = "2026-08-28T10:27:47.678Z" }, + { url = "https://files.pythonhosted.org/packages/e6/86/f3e1a730e7a995149d8d3ff9e313b6d8a17b2cf1d98a8eff139dc30463fb/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e8e4d953faaded9ec7ede36824e9814082d22d4c7b1eafbfa079ecba8cd0d076", size = 1390760, upload-time = "2026-08-28T10:27:49.676Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3b/8ba25a2b5a0d2375e046f1b72de5179513f0be95aba6e7b094c89303929f/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7e9c01d3dd7ceba4d1d436cc021d40d592466e40b9bc7f5d83dc4e98a5c9cd8c", size = 1403279, upload-time = "2026-08-28T10:27:51.242Z" }, + { url = "https://files.pythonhosted.org/packages/18/d0/278d5cb8be812740027d5ca0a7eda0c375488a88d6dce0fa60fcc2591ad2/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37f801b5d7cc0e5a548921308e059fd2b057bb42972b591cfa3049f95423c4ed", size = 1454429, upload-time = "2026-08-28T10:27:53.213Z" }, + { url = "https://files.pythonhosted.org/packages/94/37/bcbab41063ec284c1d200efe5087cf087798c2f8916960aa8a20dd303290/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_39_riscv64.whl", hash = "sha256:e68e151428b5384f766cd25739bf77c7e4a3dc93b5ded7a12118d9fbfdf78ab6", size = 1073225, upload-time = "2026-08-28T10:27:55.089Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c5/ab79dcdf5ae28909a51210ae0a1c579e97ff997b3466414f0d04c0994583/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:8f8fddb8e323bd6eee4e54e69a39243beab22689070f4c66b472c4cc88bb89d8", size = 2334335, upload-time = "2026-08-28T10:27:56.78Z" }, + { url = "https://files.pythonhosted.org/packages/8d/8e/71d047468a189041d9c93f3b76844b924f9793b188c44bd149fa258912da/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:3cc210010fd2f438a3ed430b45f1b501fd13a8618bf984dc2c5ce5b69b78752e", size = 2424982, upload-time = "2026-08-28T10:27:58.639Z" }, + { url = "https://files.pythonhosted.org/packages/7d/37/1347461bbea6d0e1f0580b94ef603b18e72c2be5f667fa1653867361a00b/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:b5664603a253efd3a75716d793d1d3a6a82723b61dc6db767b2460bbbeec4c0f", size = 2062857, upload-time = "2026-08-28T10:28:00.407Z" }, + { url = "https://files.pythonhosted.org/packages/1f/87/c7f0976c9cd0d127643351bc0c9929e0b8899d7f49d4ec238cd909e39c42/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:a7b85b2cc6ea45e5f7e8c9a30bc9fabd47cda09106cbb4b967335c3e6c43b69d", size = 2596022, upload-time = "2026-08-28T10:28:02.183Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9a/59a6f6ae6f938c15076be2c21b6cedea973d71bb1349ec84fa485fab82cf/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:ab620eb663952455271ac37f9aaad86b73c969c02f11f53cea405b38e96a4300", size = 2395634, upload-time = "2026-08-28T10:28:03.977Z" }, + { url = "https://files.pythonhosted.org/packages/e9/2d/8982c1fb7926da5bb7ed60318c3665b5c3f941447271ac982960a11b8637/kiwisolver-1.5.1-cp315-cp315t-win_amd64.whl", hash = "sha256:cb6fae641357ed2f6e533c0d3c6504a4a5703621a50c89459e46051d56b61140", size = 75379, upload-time = "2026-08-28T10:28:06.307Z" }, + { url = "https://files.pythonhosted.org/packages/07/78/ba7b6dfa1708b82b373ac056928a30c545d5c1a627df9839dcec3c6c1881/kiwisolver-1.5.1-cp315-cp315t-win_arm64.whl", hash = "sha256:b390aec180a7c054919c04898835e1c77bced23ea8383eb2c570213bf25d1a86", size = 73011, upload-time = "2026-08-28T10:28:07.578Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c4/1407df7512a5b36cc79840e01710dc575733c461b13ab866cae77eaf87f3/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:482676e5bd48d70ac99d9fc78863469845421e01184fa83f1f9366dc49f7e974", size = 134002, upload-time = "2026-08-28T10:28:08.881Z" }, + { url = "https://files.pythonhosted.org/packages/16/45/c37a21ad5c0ab581a93c55ad544721aaa1f0ae94edb29c6a678a23d013e6/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:072bdb15a3c19a5b5dbc8f8fb1f4e1884bf4f3507eeb4cc6334401274d37a5c0", size = 194292, upload-time = "2026-08-28T10:28:11.06Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c1/69f00d627949580e43d57af0aa465df46868d7c29801c137a55374101294/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:a5a00665d1a0e26763a7338d7e911d4598fbc1d50dd0d6b7919b7dc6c5d6569f", size = 73362, upload-time = "2026-08-28T10:28:12.449Z" }, + { url = "https://files.pythonhosted.org/packages/ba/f1/8bae9fac0f1837679ed59a5dd7e97e7eb943b738defa7cc0117ea0d107dc/kiwisolver-1.5.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a5716a33bfabb2c6ce27b6cf03253467b3804f83e215f4d202685cf93c6c9874", size = 59543, upload-time = "2026-08-28T10:28:13.794Z" }, + { url = "https://files.pythonhosted.org/packages/c3/3e/42e3639d32ef3ac6ede80c39dc1d1df6224927409960d8f762b6cb504efe/kiwisolver-1.5.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:685929988b208a911f1285e2f8ed54210b0d681a3dc0f03e00d599d291986e7e", size = 57504, upload-time = "2026-08-28T10:28:15.074Z" }, + { url = "https://files.pythonhosted.org/packages/e1/12/f4beaaceb740b96c363a8fa6f34dbdf37a58d9e5f15416427d7bf89c552a/kiwisolver-1.5.1-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e4e49f7e1a4e7191bdf9dc67a974db714501b1fc52c24324103d06a86abd5c08", size = 79885, upload-time = "2026-08-28T10:28:16.345Z" }, + { url = "https://files.pythonhosted.org/packages/02/24/18d8a755acdae79c37ca2f1a925795aab67b9456c30c8569c377ea3abc77/kiwisolver-1.5.1-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f0a887b6565bbfe80efde2b7f6e8890d7d9bbdb11bdb17028a3690c32fe0621f", size = 77582, upload-time = "2026-08-28T10:28:17.719Z" }, + { url = "https://files.pythonhosted.org/packages/df/a9/b86dde4f553ef74db0f9c32398614e24b2e8ec1d29a6ca04ae080d7dd29b/kiwisolver-1.5.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1983f0974a750a6f6556f368ba11105d1d8369c735b944747c9f12ae5aea7aae", size = 98321, upload-time = "2026-08-28T10:28:19.087Z" }, + { url = "https://files.pythonhosted.org/packages/b5/1d/59ba570b1774e95e97fde3a0981b2e22118a7a495f73bf74cedc538566a0/kiwisolver-1.5.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:416ba7ff9f233b7036689bb5a3783537e838ad483f63558d2a800f75afe738b1", size = 59450, upload-time = "2026-08-28T10:28:20.383Z" }, + { url = "https://files.pythonhosted.org/packages/22/98/a6849f04dc18b5400e8b98affa2cd8fd86ed583085f036e57b32e571f4fa/kiwisolver-1.5.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8af9b142ad719ae3a911ebf616bc4b78b32bbab84d6a40d3ad2f129670509957", size = 57400, upload-time = "2026-08-28T10:28:21.632Z" }, + { url = "https://files.pythonhosted.org/packages/f4/ce/a7dc71353dd06a4cbe02222773f52d4a28c81e5a452a75797f8ed113dc99/kiwisolver-1.5.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5daa1f19e097050b9c4d9a78fcc9263cb96c9dfae08037ddc1b7c4ad1889f2a2", size = 79891, upload-time = "2026-08-28T10:28:22.936Z" }, + { url = "https://files.pythonhosted.org/packages/10/b1/d61c61a84ff85d1a36a99df2c152b59ffedb1d356c598902aba44abcdb60/kiwisolver-1.5.1-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cdaeeb6c350106df6bf9d873395973e5f066a9713200b72cd64f55d0a3eafab6", size = 77605, upload-time = "2026-08-28T10:28:24.322Z" }, + { url = "https://files.pythonhosted.org/packages/d3/52/5aef56f21a460a6e43ab3cdfc7697d59d7b87deb0ec97a0f7b91aa4a521b/kiwisolver-1.5.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:17851e5dad4484be0cbccbde3b15331deae036de9aebd45eed964487802b172f", size = 98465, upload-time = "2026-08-28T10:28:25.696Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.7.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "contourpy", version = "1.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "cycler", marker = "python_full_version < '3.9'" }, + { name = "fonttools", version = "4.57.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "packaging", version = "26.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pillow", version = "10.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "python-dateutil", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611, upload-time = "2024-02-16T10:50:56.19Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924, upload-time = "2024-02-16T10:48:06.184Z" }, + { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436, upload-time = "2024-02-16T10:48:10.294Z" }, + { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849, upload-time = "2024-02-16T10:48:13.249Z" }, + { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141, upload-time = "2024-02-16T10:48:16.963Z" }, + { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668, upload-time = "2024-02-16T10:48:21.339Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088, upload-time = "2024-02-16T10:48:25.415Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332, upload-time = "2024-02-16T10:48:29.319Z" }, + { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405, upload-time = "2024-02-16T10:48:32.499Z" }, + { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506, upload-time = "2024-02-16T10:48:36.192Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905, upload-time = "2024-02-16T10:48:38.951Z" }, + { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895, upload-time = "2024-02-16T10:48:41.61Z" }, + { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830, upload-time = "2024-02-16T10:48:44.984Z" }, + { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575, upload-time = "2024-02-16T10:48:48.437Z" }, + { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280, upload-time = "2024-02-16T10:48:53.022Z" }, + { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429, upload-time = "2024-02-16T10:48:56.505Z" }, + { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112, upload-time = "2024-02-16T10:48:59.659Z" }, + { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797, upload-time = "2024-02-16T10:49:02.872Z" }, + { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549, upload-time = "2024-02-16T10:49:05.743Z" }, + { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788, upload-time = "2024-02-16T10:49:09.143Z" }, + { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329, upload-time = "2024-02-16T10:49:12.156Z" }, + { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813, upload-time = "2024-02-16T10:49:15.986Z" }, + { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667, upload-time = "2024-02-16T10:49:19.6Z" }, + { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659, upload-time = "2024-02-16T10:49:23.206Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408, upload-time = "2024-02-16T10:49:27.462Z" }, + { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782, upload-time = "2024-02-16T10:49:32.173Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487, upload-time = "2024-02-16T10:49:37.971Z" }, + { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051, upload-time = "2024-02-16T10:49:43.916Z" }, + { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807, upload-time = "2024-02-16T10:49:47.701Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461, upload-time = "2024-02-16T10:49:51.597Z" }, + { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471, upload-time = "2024-02-16T10:49:54.353Z" }, + { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175, upload-time = "2024-02-16T10:49:57.743Z" }, + { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737, upload-time = "2024-02-16T10:50:00.683Z" }, + { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916, upload-time = "2024-02-16T10:50:05.04Z" }, + { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264, upload-time = "2024-02-16T10:50:08.955Z" }, + { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722, upload-time = "2024-02-16T10:50:13.231Z" }, + { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343, upload-time = "2024-02-16T10:50:17.626Z" }, + { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455, upload-time = "2024-02-16T10:50:21.448Z" }, + { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711, upload-time = "2024-02-16T10:50:24.387Z" }, + { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285, upload-time = "2024-02-16T10:50:27.375Z" }, + { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612, upload-time = "2024-02-16T10:50:30.65Z" }, + { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564, upload-time = "2024-02-16T10:50:33.589Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336, upload-time = "2024-02-16T10:50:36.4Z" }, + { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931, upload-time = "2024-02-16T10:50:39.477Z" }, + { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224, upload-time = "2024-02-16T10:50:42.82Z" }, + { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250, upload-time = "2024-02-16T10:50:46.504Z" }, + { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729, upload-time = "2024-02-16T10:50:50.063Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.9.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "cycler", marker = "python_full_version == '3.9.*'" }, + { name = "fonttools", version = "4.60.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "packaging", version = "26.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pillow", version = "11.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pyparsing", version = "3.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "python-dateutil", marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529, upload-time = "2024-12-13T05:56:34.184Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089, upload-time = "2024-12-13T05:54:24.224Z" }, + { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600, upload-time = "2024-12-13T05:54:27.214Z" }, + { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138, upload-time = "2024-12-13T05:54:29.497Z" }, + { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711, upload-time = "2024-12-13T05:54:34.396Z" }, + { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622, upload-time = "2024-12-13T05:54:36.808Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211, upload-time = "2024-12-13T05:54:40.596Z" }, + { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430, upload-time = "2024-12-13T05:54:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045, upload-time = "2024-12-13T05:54:46.414Z" }, + { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906, upload-time = "2024-12-13T05:54:49.459Z" }, + { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873, upload-time = "2024-12-13T05:54:53.066Z" }, + { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566, upload-time = "2024-12-13T05:54:55.522Z" }, + { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065, upload-time = "2024-12-13T05:54:58.337Z" }, + { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131, upload-time = "2024-12-13T05:55:02.837Z" }, + { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365, upload-time = "2024-12-13T05:55:05.158Z" }, + { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707, upload-time = "2024-12-13T05:55:09.48Z" }, + { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761, upload-time = "2024-12-13T05:55:12.95Z" }, + { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284, upload-time = "2024-12-13T05:55:16.199Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160, upload-time = "2024-12-13T05:55:19.991Z" }, + { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499, upload-time = "2024-12-13T05:55:22.142Z" }, + { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802, upload-time = "2024-12-13T05:55:25.947Z" }, + { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802, upload-time = "2024-12-13T05:55:28.461Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880, upload-time = "2024-12-13T05:55:30.965Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637, upload-time = "2024-12-13T05:55:33.701Z" }, + { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311, upload-time = "2024-12-13T05:55:36.737Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989, upload-time = "2024-12-13T05:55:39.024Z" }, + { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417, upload-time = "2024-12-13T05:55:42.412Z" }, + { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258, upload-time = "2024-12-13T05:55:47.259Z" }, + { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849, upload-time = "2024-12-13T05:55:49.763Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152, upload-time = "2024-12-13T05:55:51.997Z" }, + { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987, upload-time = "2024-12-13T05:55:55.941Z" }, + { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919, upload-time = "2024-12-13T05:55:59.66Z" }, + { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486, upload-time = "2024-12-13T05:56:04.264Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838, upload-time = "2024-12-13T05:56:06.792Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492, upload-time = "2024-12-13T05:56:09.964Z" }, + { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500, upload-time = "2024-12-13T05:56:13.55Z" }, + { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962, upload-time = "2024-12-13T05:56:16.358Z" }, + { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995, upload-time = "2024-12-13T05:56:18.805Z" }, + { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300, upload-time = "2024-12-13T05:56:21.315Z" }, + { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423, upload-time = "2024-12-13T05:56:26.719Z" }, + { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624, upload-time = "2024-12-13T05:56:29.359Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.10.9" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "cycler", marker = "python_full_version == '3.10.*'" }, + { name = "fonttools", version = "4.65.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "kiwisolver", version = "1.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "packaging", version = "26.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "pillow", version = "12.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "pyparsing", version = "3.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "python-dateutil", marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/1b/4be5be87d43d327a0cf4de1a56e86f7f84c89312452406cf122efe2839e6/matplotlib-3.10.9.tar.gz", hash = "sha256:fd66508e8c6877d98e586654b608a0456db8d7e8a546eb1e2600efd957302358", size = 34811233, upload-time = "2026-04-24T00:14:13.539Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/6f/340b04986e67aac6f66c5145ce68bf72c64bed30f92c8913499a6e6b8f99/matplotlib-3.10.9-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:77210dce9cb8153dffc967efaae990543392563d5a376d4dd8539bebcb0ed217", size = 8296625, upload-time = "2026-04-24T00:11:43.376Z" }, + { url = "https://files.pythonhosted.org/packages/bb/2f/127081eb83162053ebb9678ceac64220b93a663e0167432566e9c7c82aab/matplotlib-3.10.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1e7698ac9868428e84d2c967424803b2472ff7167d9d6590d4204ed775343c3b", size = 8188790, upload-time = "2026-04-24T00:11:46.556Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b7/d8bcec2626c35f96972bff656299fef4578113ea6193c8fdad324710410c/matplotlib-3.10.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1aa972116abb4c9d201bf245620b433726cb6856f3bef6a78f776a00f5c92d37", size = 8769389, upload-time = "2026-04-24T00:11:48.959Z" }, + { url = "https://files.pythonhosted.org/packages/12/49/b78e214a527ea732033b7f4d37f7afb504d74ba9d134bd47938230dfb8b1/matplotlib-3.10.9-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae2f11957b27ce53497dd4d7b235c4d4f1faf383dfb39d0c5beb833bff883294", size = 9589657, upload-time = "2026-04-24T00:11:51.915Z" }, + { url = "https://files.pythonhosted.org/packages/5f/15/5246f7b43beae19c74dfee651d58d6cc8112e06f77adb4e88cc04f2e3a23/matplotlib-3.10.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b049278ddce116aaa1c1377ebf58adea909132dfce0281cf7e3a1ea9fc2e2c65", size = 9651983, upload-time = "2026-04-24T00:11:54.766Z" }, + { url = "https://files.pythonhosted.org/packages/75/77/5acecfe672ba0fa1b8c0454f69ce155d1e6fc5852fa7206bf9afaf767121/matplotlib-3.10.9-cp310-cp310-win_amd64.whl", hash = "sha256:82834c3c292d24d3a8aae77cd2d20019de69d692a34a970e4fdb8d33e2ea3dda", size = 8199701, upload-time = "2026-04-24T00:11:58.389Z" }, + { url = "https://files.pythonhosted.org/packages/4c/8c/290f021104741fea63769c31494f5324c0cd249bf536a65a4350767b1f22/matplotlib-3.10.9-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:68cfdcede415f7c8f5577b03303dd94526cdb6d11036cecdc205e08733b2d2bb", size = 8306860, upload-time = "2026-04-24T00:12:01.207Z" }, + { url = "https://files.pythonhosted.org/packages/51/18/325cd32ece1120d1da51cc4e4294c6580190699490183fc2fe8cb6d61ec5/matplotlib-3.10.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfca0129678bd56379db26c52b5d77ed7de314c047492fbdc763aa7501710cfb", size = 8199254, upload-time = "2026-04-24T00:12:04.239Z" }, + { url = "https://files.pythonhosted.org/packages/79/db/e28c1b83e3680740aa78925f5fb2ae4d16207207419ad75ea9fe604f8676/matplotlib-3.10.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8e436d155fa8a3399dc62683f8f5d0e2e50d25d0144a73edd73f82eec8f4abfb", size = 8777092, upload-time = "2026-04-24T00:12:06.793Z" }, + { url = "https://files.pythonhosted.org/packages/55/fa/3ce7adfe9ba101748f465211660d9c6374c876b671bdb8c2bb6d347e8b94/matplotlib-3.10.9-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56fc0bd271b00025c6edfdc7c2dcd247372c8e1544971d62e1dc7c17367e8bf9", size = 9595691, upload-time = "2026-04-24T00:12:09.706Z" }, + { url = "https://files.pythonhosted.org/packages/36/c4/6960a76686ed668f2c60f84e9799ba4c0d56abdb36b1577b60c1d061d1ec/matplotlib-3.10.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a5a6104ed666402ba5106d7f36e0e0cdca4e8d7fa4d39708ca88019e2835a2eb", size = 9659771, upload-time = "2026-04-24T00:12:12.766Z" }, + { url = "https://files.pythonhosted.org/packages/7e/0d/271aace3342157c64700c9ff4c59c7b392f3dbab393692e8db6fbe7ab96c/matplotlib-3.10.9-cp311-cp311-win_amd64.whl", hash = "sha256:d730e984eddf56974c3e72b6129c7ca462ac38dc624338f4b0b23eb23ecba00f", size = 8205112, upload-time = "2026-04-24T00:12:15.773Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ee/cb57ad4754f3e7b9174ce6ce66d9205fb827067e48a9f58ac09d7e7d6b77/matplotlib-3.10.9-cp311-cp311-win_arm64.whl", hash = "sha256:51bf0ddbdc598e060d46c16b5590708f81a1624cefbaaf62f6a81bf9285b8c80", size = 8132310, upload-time = "2026-04-24T00:12:18.645Z" }, + { url = "https://files.pythonhosted.org/packages/35/c6/5581e26c72233ebb2a2a6fed2d24fb7c66b4700120b813f51b0555acf0b6/matplotlib-3.10.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f0c3c28d9fbcc1fe7a03be236d73430cf6409c41fb2383a7ac52fe932b072cb1", size = 8319908, upload-time = "2026-04-24T00:12:21.323Z" }, + { url = "https://files.pythonhosted.org/packages/b7/18/4880dd762e40cd360c1bf06e890c5a97b997e91cb324602b1a19950ad5ce/matplotlib-3.10.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41cb28c2bd769aa3e98322c6ab09854cbcc52ab69d2759d681bba3e327b2b320", size = 8216016, upload-time = "2026-04-24T00:12:23.4Z" }, + { url = "https://files.pythonhosted.org/packages/32/91/d024616abdba99e83120e07a20658976f6a343646710760c4a51df126029/matplotlib-3.10.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ae20801130378b82d647ff5047c07316295b68dc054ca6b3c13519d0ea624285", size = 8789336, upload-time = "2026-04-24T00:12:26.096Z" }, + { url = "https://files.pythonhosted.org/packages/5c/04/030a2f61ef2158f5e4c259487a92ac877732499fb33d871585d89e03c42d/matplotlib-3.10.9-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c63ebcd8b4b169eb2f5c200552ae6b8be8999a005b6b507ed76fb8d7d674fe2", size = 9604602, upload-time = "2026-04-24T00:12:29.052Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c2/541e4d09d87bb6b5830fc28b4c887a9a8cf4e1c6cee698a8c05552ae2003/matplotlib-3.10.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d75d11c949914165976c621b2324f9ef162af7ebf4b057ddf95dd1dba7e5edcf", size = 9670966, upload-time = "2026-04-24T00:12:32.131Z" }, + { url = "https://files.pythonhosted.org/packages/04/a1/4571fc46e7702de8d0c2dc54ad1b2f8e29328dea3ee90831181f7353d93c/matplotlib-3.10.9-cp312-cp312-win_amd64.whl", hash = "sha256:d091f9d758b34aaaaa6331d13574bf01891d903b3dec59bfff458ef7551de5d6", size = 8217462, upload-time = "2026-04-24T00:12:35.226Z" }, + { url = "https://files.pythonhosted.org/packages/4b/d0/2269edb12aa30c13c8bcc9382892e39943ce1d28aab4ec296e0381798e81/matplotlib-3.10.9-cp312-cp312-win_arm64.whl", hash = "sha256:10cc5ce06d10231c36f40e875f3c7e8050362a4ee8f0ee5d29a6b3277d57bb42", size = 8136688, upload-time = "2026-04-24T00:12:37.442Z" }, + { url = "https://files.pythonhosted.org/packages/aa/d3/8d4f6afbecb49fc04e060a57c0fce39ea51cc163a6bd87303ccd698e4fa6/matplotlib-3.10.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b580440f1ff81a0e34122051a3dfabb7e4b7f9e380629929bde0eff9af72165f", size = 8320331, upload-time = "2026-04-24T00:12:39.688Z" }, + { url = "https://files.pythonhosted.org/packages/63/d9/9e14bc7564bf92d5ffa801ae5fac819ce74b925dfb55e3ebde61a3bbad3e/matplotlib-3.10.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b1b745c489cd1a77a0dc1120a05dc87af9798faebc913601feb8c73d89bf2d1e", size = 8216461, upload-time = "2026-04-24T00:12:42.494Z" }, + { url = "https://files.pythonhosted.org/packages/8a/17/4402d0d14ccf1dfc70932600b68097fbbf9c898a4871d2cbbe79c7801a32/matplotlib-3.10.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8f3bcac1ca5ed000a6f4337d47ba67dfddf37ed6a46c15fd7f014997f7bf865f", size = 8790091, upload-time = "2026-04-24T00:12:44.789Z" }, + { url = "https://files.pythonhosted.org/packages/3e/0b/322aeec06dd9b91411f92028b37d447342770a24392aa4813e317064dad5/matplotlib-3.10.9-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a8d66a55def891c33147ba3ba9bfcabf0b526a43764c818acbb4525e5ed0838", size = 9605027, upload-time = "2026-04-24T00:12:47.583Z" }, + { url = "https://files.pythonhosted.org/packages/74/88/5f13482f55e7b00bcfc09838b093c2456e1379978d2a146844aae05350ad/matplotlib-3.10.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d843374407c4017a6403b59c6c81606773d136f3259d5b6da3131bc814542cc2", size = 9671269, upload-time = "2026-04-24T00:12:50.878Z" }, + { url = "https://files.pythonhosted.org/packages/c5/e0/0840fd2f93da988ec660b8ad1984abe9f25d2aed22a5e394ff1c68c88307/matplotlib-3.10.9-cp313-cp313-win_amd64.whl", hash = "sha256:f4399f64b3e94cd500195490972ae1ee81170df1636fa15364d157d5bdd7b921", size = 8217588, upload-time = "2026-04-24T00:12:53.784Z" }, + { url = "https://files.pythonhosted.org/packages/47/b9/d706d06dd605c49b9f83a2aed8c13e3e5db70697d7a80b7e3d7915de6b17/matplotlib-3.10.9-cp313-cp313-win_arm64.whl", hash = "sha256:ba7b3b8ef09eab7df0e86e9ae086faa433efbfbdb46afcb3aa16aabf779469a8", size = 8136913, upload-time = "2026-04-24T00:12:56.501Z" }, + { url = "https://files.pythonhosted.org/packages/9b/45/6e32d96978264c8ca8c4b1010adb955a1a49cfaf314e212bbc8908f04a61/matplotlib-3.10.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:09218df8a93712bd6ea133e83a153c755448cf7868316c531cffcc43f69d1cc9", size = 8368019, upload-time = "2026-04-24T00:12:58.896Z" }, + { url = "https://files.pythonhosted.org/packages/86/0a/c8e3d3bba245f0f7fc424937f8ff7ef77291a36af3edb97ccd78aa93d84f/matplotlib-3.10.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:82368699727bfb7b0182e1aa13082e3c08e092fa1a25d3e1fd92405bff96f6d4", size = 8264645, upload-time = "2026-04-24T00:13:01.406Z" }, + { url = "https://files.pythonhosted.org/packages/3d/aa/5bf5a14fe4fed73a4209a155606f8096ff797aad89c6c35179026571133e/matplotlib-3.10.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3225f4e1edcb8c86c884ddf79ebe20ecd0a67d30188f279897554ccd8fded4dc", size = 8802194, upload-time = "2026-04-24T00:13:03.702Z" }, + { url = "https://files.pythonhosted.org/packages/dd/5e/b4be852d6bba6fd15893fadf91ff26ae49cb91aac789e95dde9d342e664f/matplotlib-3.10.9-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de2445a0c6690d21b7eb6ce071cebad6d40a2e9bdf10d039074a96ba19797b99", size = 9622684, upload-time = "2026-04-24T00:13:06.647Z" }, + { url = "https://files.pythonhosted.org/packages/4c/3d/ed428c971139112ef730f62770654d609467346d09d4b62617e1afd68a5a/matplotlib-3.10.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:b2b9516251cb89ff618d757daec0e2ed1bf21248013844a853d87ef85ab3081d", size = 9680790, upload-time = "2026-04-24T00:13:10.009Z" }, + { url = "https://files.pythonhosted.org/packages/e7/09/052e884aaf2b985c63cb79f715f1d5b6a3eaa7de78f6a52b9dbc077d5b53/matplotlib-3.10.9-cp313-cp313t-win_amd64.whl", hash = "sha256:e9fae004b941b23ff2edcf1567a857ed77bafc8086ffa258190462328434faf8", size = 8287571, upload-time = "2026-04-24T00:13:13.087Z" }, + { url = "https://files.pythonhosted.org/packages/f4/38/ae27288e788c35a4250491422f3db7750366fc8c97d6f36fbdecfc1f5518/matplotlib-3.10.9-cp313-cp313t-win_arm64.whl", hash = "sha256:6b63d9c7c769b88ab81e10dc86e4e0607cf56817b9f9e6cf24b2a5f1693b8e38", size = 8188292, upload-time = "2026-04-24T00:13:15.546Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e6/3bd8afd04949f02eabc1c17115ea5255e19cacd4d06fc5abdde4eeb0052c/matplotlib-3.10.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:172db52c9e683f5d12eaf57f0f54834190e12581fe1cc2a19595a8f5acb4e77d", size = 8321276, upload-time = "2026-04-24T00:13:18.318Z" }, + { url = "https://files.pythonhosted.org/packages/41/86/86231232fff41c9f8e4a1a7d7a597d349a02527109c3af7d618366122139/matplotlib-3.10.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97e35e8d39ccc85859095e01a53847432ba9a53ddf7986f7a54a11b73d0e143f", size = 8218218, upload-time = "2026-04-24T00:13:20.974Z" }, + { url = "https://files.pythonhosted.org/packages/85/8f/becc9722cafc64f5d2eb0b7c1bf5f585271c618a45dbd8fabeb021f898b6/matplotlib-3.10.9-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aba1615dabe83188e19d4f75a253c6a08423e04c1425e64039f800050a69de6b", size = 9608145, upload-time = "2026-04-24T00:13:23.228Z" }, + { url = "https://files.pythonhosted.org/packages/32/5d/f7e914f7d9325abff4057cee62c0fa70263683189f774473cbfb534cd13b/matplotlib-3.10.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34cf8167e023ad956c15f36302911d5406bd99a9862c1a8499ea6f7c0e015dc2", size = 9885085, upload-time = "2026-04-24T00:13:25.849Z" }, + { url = "https://files.pythonhosted.org/packages/a5/fd/fa69f2221534e80cc5772ac2b7d222011a2acafc2ec7216d5dd174c864ae/matplotlib-3.10.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:59476c6d29d612b8e9bb6ce8c5b631be6ba8f9e3a2421f22a02b192c7dd28716", size = 9672358, upload-time = "2026-04-24T00:13:28.906Z" }, + { url = "https://files.pythonhosted.org/packages/ab/1a/5a4f747a8b271cbb024946d2dd3c913ab5032ba430626f8c3528ada96b4b/matplotlib-3.10.9-cp314-cp314-win_amd64.whl", hash = "sha256:336b9acc64d309063126edcdaca00db9373af3c476bb94388fe9c5a53ad13e6f", size = 8349970, upload-time = "2026-04-24T00:13:31.904Z" }, + { url = "https://files.pythonhosted.org/packages/64/dc/95d60ecaefe30680a154b52ea96ab4b0dab547f1fd6aa12f5fb655e89cae/matplotlib-3.10.9-cp314-cp314-win_arm64.whl", hash = "sha256:2dc9477819ffd78ad12a20df1d9d6a6bd4fec6aaa9072681465fddca052f1456", size = 8272785, upload-time = "2026-04-24T00:13:34.511Z" }, + { url = "https://files.pythonhosted.org/packages/70/a0/005d68bc8b8418300ce6591f18586910a8526806e2ab663933d9f20a41e9/matplotlib-3.10.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:da4e09638420548f31c354032a6250e473c68e5a4e96899b4844cf39ddea23fe", size = 8367999, upload-time = "2026-04-24T00:13:36.962Z" }, + { url = "https://files.pythonhosted.org/packages/22/05/1236cc9290be70b2498af20ca348add76e3fffe7f67b477db5133a84f3ea/matplotlib-3.10.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:345f6f68ecc8da0ca56fad2ea08fde1a115eda530079eca185d50a7bc3e146c6", size = 8264543, upload-time = "2026-04-24T00:13:39.851Z" }, + { url = "https://files.pythonhosted.org/packages/cd/c2/071f5a5ff6c5bd63aaaf2f45c811d9bf2ced94bde188d9e1a519e21d0cba/matplotlib-3.10.9-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4edcfbd8565339aa62f1cd4012f7180926fdbe71850f7b0d3c379c175cd6b66c", size = 9622800, upload-time = "2026-04-24T00:13:42.296Z" }, + { url = "https://files.pythonhosted.org/packages/95/57/da7d1f10a85624b9e7db68e069dd94e58dc41dbf9463c5921632ecbe3661/matplotlib-3.10.9-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6be157fe17fc37cb95ac1d7374cf717ce9259616edec911a78d9d26dae8522d4", size = 9888561, upload-time = "2026-04-24T00:13:45.026Z" }, + { url = "https://files.pythonhosted.org/packages/67/b2/ef8d6bb59b0edb6c16c968b70f548aa13b54348972def5aa6ac85df67145/matplotlib-3.10.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:4e42042d54db34fda4e95a7bd3e5789c2a995d2dad3eb8850232ee534092fbbf", size = 9680884, upload-time = "2026-04-24T00:13:48.066Z" }, + { url = "https://files.pythonhosted.org/packages/61/1c/d21bfeb9931881ebe96bcfcff27c7ae4b160ae0ec291a714c42641a56d75/matplotlib-3.10.9-cp314-cp314t-win_amd64.whl", hash = "sha256:c27df8b3848f32a83d1767566595e43cfaa4460380974da06f4279a7ec143c39", size = 8432333, upload-time = "2026-04-24T00:13:51.008Z" }, + { url = "https://files.pythonhosted.org/packages/78/23/92493c3e6e1b635ccfff146f7b99e674808787915420373ac399283764c2/matplotlib-3.10.9-cp314-cp314t-win_arm64.whl", hash = "sha256:a49f1eadc84ca85fd72fa4e89e70e61bf86452df6f971af04b12c60761a0772c", size = 8324785, upload-time = "2026-04-24T00:13:53.633Z" }, + { url = "https://files.pythonhosted.org/packages/2c/2b/0e92ad0ac446633f928a1563db4aa8add407e1924faf0ded5b95b35afb27/matplotlib-3.10.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1872fb212a05b729e649754a72d5da61d03e0554d76e80303b6f83d1d2c0552b", size = 8293058, upload-time = "2026-04-24T00:13:56.339Z" }, + { url = "https://files.pythonhosted.org/packages/4b/23/74682fd369f5299ceda438fea2a0662e6383b85c9383fb9cdfcf04713e07/matplotlib-3.10.9-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:985f2238880e2e69093f588f5fe2e46771747febf0649f3cf7f7b7480875317f", size = 8186627, upload-time = "2026-04-24T00:13:58.623Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e8/368aab88f3c4cd8992800f31abfe0670c3e47540ba20a97e9fdbcde594b3/matplotlib-3.10.9-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6640f75af2c6148293caa0a2b39dd806a492dd66c8a8b04035813e33d0fd2585", size = 8764117, upload-time = "2026-04-24T00:14:01.684Z" }, + { url = "https://files.pythonhosted.org/packages/63/e2/9f66ca6a651a52abfe0d4964ce01439ed34f3f1e119de10ff3a07f403043/matplotlib-3.10.9-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:42fb814efabe95c06c1994d8ab5a8385f43a249e23badd3ba931d4308e5bca20", size = 8304420, upload-time = "2026-04-24T00:14:04.57Z" }, + { url = "https://files.pythonhosted.org/packages/e8/e8/467c03568218792906aa87b5e7bb379b605e056ed0c74fe00c051786d925/matplotlib-3.10.9-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f76e640a5268850bfda54b5131b1b1941cc685e42c5fa98ed9f2d64038308cba", size = 8197981, upload-time = "2026-04-24T00:14:07.233Z" }, + { url = "https://files.pythonhosted.org/packages/6f/87/afead29192170917537934c6aff4b008c805fff7b1ccea0c79120d96beda/matplotlib-3.10.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3fc0364dfbe1d07f6d15c5ebd0c5bf89e126916e5a8667dd4a7a6e84c36653d4", size = 8774002, upload-time = "2026-04-24T00:14:09.816Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.11.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "contourpy", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "cycler", marker = "python_full_version >= '3.11'" }, + { name = "fonttools", version = "4.66.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "kiwisolver", version = "1.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "numpy", version = "2.5.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "packaging", version = "26.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pillow", version = "12.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pyparsing", version = "3.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/c8/9aa712a0afb882649424dd8de8ad9aa6235e796e84c6052e8f6dc1598d0d/matplotlib-3.11.2.tar.gz", hash = "sha256:cec596316640f2b394b8f0daa0ea61a8eae82d017b620b9f202befb972a59ea4", size = 32660610, upload-time = "2026-09-11T19:05:31.214Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/a9/a7fc5a63c427aeb9a4b99d6a0449f891be0952d3aee2b85229099f7b9f54/matplotlib-3.11.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5e1e923a3fc3326b99ec0a6ff1ab1338ac6c6cc62ad9d8a9c944197c7f8c6221", size = 9461046, upload-time = "2026-09-11T19:02:59.277Z" }, + { url = "https://files.pythonhosted.org/packages/0b/d7/59d8ee63e4dee845d953515c50d67e6b8cefa953b453c6b803f197ae556e/matplotlib-3.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c27e577ece613ea12a0790e00b4eb80d901c59a3e16cad474f31d8b1529690b9", size = 9290872, upload-time = "2026-09-11T19:03:02.295Z" }, + { url = "https://files.pythonhosted.org/packages/2e/a4/1ca765c63a60e3096ae2ad132eb25f6f7eab0377418cd0472808befd9665/matplotlib-3.11.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:07d9b9fa60cd4c393692f50d0bb03123242ddf61c99bb0e95e75feb354e7c1a8", size = 9854405, upload-time = "2026-09-11T19:03:04.796Z" }, + { url = "https://files.pythonhosted.org/packages/d7/3d/f28ca971a4ad0ed83ebdd60230b09d99de8b91aba47964fac3a81eb2e2ba/matplotlib-3.11.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:30ec15d7eefee71de16b7c689b42ba49715a4644650b76a6c7c70d79daf24e91", size = 10660507, upload-time = "2026-09-11T19:03:07.402Z" }, + { url = "https://files.pythonhosted.org/packages/f7/0c/a743556bc64a9b57d2246b14d91b713078adfd2df4199f542df1861737a9/matplotlib-3.11.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:116cdb0eb0eb5644fc98eb2975d4b4dd4ad35e5c8e6b851c22e6976f371f7ab5", size = 10801141, upload-time = "2026-09-11T19:03:11.357Z" }, + { url = "https://files.pythonhosted.org/packages/66/54/91fe3fdfa29100b4668cbf9721577a10acde6e009694618230e4e7a97527/matplotlib-3.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:a24d5fd36e4f0e742c3851dcd20810e56a95633a342e4bf6cb591c678e8fe61f", size = 9329982, upload-time = "2026-09-11T19:03:14.25Z" }, + { url = "https://files.pythonhosted.org/packages/49/c1/13b70871c98d7e93f0d2ed71f226b8d6f873f1372124046068a6b4902fb5/matplotlib-3.11.2-cp311-cp311-win_arm64.whl", hash = "sha256:57b9ea60a835937c2012861923cbb91f47db8565775d326d1c42fc926aa10351", size = 9023542, upload-time = "2026-09-11T19:03:16.878Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ce/1bfcc4873b121597791ad74032943b123218c0613af0b97e8dd05e916fb1/matplotlib-3.11.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ef752769cd962f39ea0b6ffc82d1ea43a0012c5a6157c7a075212fa509cfcff2", size = 9476466, upload-time = "2026-09-11T19:03:19.45Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c4/7f5f3601ee69baf072c0c7d3ce60c03e0618621c5a56c34a62a460e29d11/matplotlib-3.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ef31985c4dedb5f1424e1aec6849a47dd37689cb7fa3c20b1b82187f26806261", size = 9305583, upload-time = "2026-09-11T19:03:22.39Z" }, + { url = "https://files.pythonhosted.org/packages/b8/90/2b3fd67ee273163faeda6d514be70b5596eaa0fd77b60ffc294ad0b34f5f/matplotlib-3.11.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:df4f7784aca81a94f254c0a2767d592ee25f407e488f5fa7203e51093fb6ca27", size = 9860353, upload-time = "2026-09-11T19:03:25.049Z" }, + { url = "https://files.pythonhosted.org/packages/f4/84/32549e7a462dc311aed2ab62e5d2538028840b5c53a8be0195c789937c3d/matplotlib-3.11.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b9a7ad579856284135e401ecc918c5f8a017ee30539298862a109f51b971710", size = 10670348, upload-time = "2026-09-11T19:03:28.108Z" }, + { url = "https://files.pythonhosted.org/packages/84/39/02e21b74f7439bd643d717ea846006d46e309e6d29b632b57751265311d6/matplotlib-3.11.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3aa4b8516fd26659e4363abbf317c703d9116496c5db2e9d0609a2866dd39dd2", size = 10810580, upload-time = "2026-09-11T19:03:31.402Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/0d239bde12b308262265c2d98909b2f0ecad2b5deeae96241642e822e9c7/matplotlib-3.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:c5c1c68ee401fc98271263410f0e5ce88285abacf7627132914e8adf3d70ff43", size = 9349409, upload-time = "2026-09-11T19:03:34.195Z" }, + { url = "https://files.pythonhosted.org/packages/49/a8/06baf901c02246c8a222b655cc4540ef9c15e1549a04e07927f9cde716c3/matplotlib-3.11.2-cp312-cp312-win_arm64.whl", hash = "sha256:643ff850d8e0f5b8319337f87ed3cb59506afb3df3cc48de777d85871233be7b", size = 9028084, upload-time = "2026-09-11T19:03:37.032Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ce/fc58855a3d17f6cb8a87b6f9ccd100f65432a3a7ffed57309cbf14c78987/matplotlib-3.11.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7d43ff8cebb50840648cb6429b2228621dbd709010f3117b3740abb20abf21c0", size = 9476987, upload-time = "2026-09-11T19:03:40.17Z" }, + { url = "https://files.pythonhosted.org/packages/a9/29/2a47b700545aca050e0ed73c89ba21e08407e11f5f42a567421b220de6c1/matplotlib-3.11.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2a8285cea8ef4d92aa041d1c33788bcae82248503300f93f1ca2136b9049452f", size = 9306050, upload-time = "2026-09-11T19:03:43.103Z" }, + { url = "https://files.pythonhosted.org/packages/a9/df/e7c10292f348cf55178a5b3c0092a38ea68891a3945f199ae8b7b8ac9dc1/matplotlib-3.11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1944895967f87c84c9b4bad29a707b31f5b36df4a3a2339ea1f8ea3ce5105539", size = 9861060, upload-time = "2026-09-11T19:03:46.044Z" }, + { url = "https://files.pythonhosted.org/packages/e4/b9/b978de6d43d47f1d4d8e653fac32c16d8d2e5f46bbbb822e26d7cb1adece/matplotlib-3.11.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af2661f6ac6bbd1d081996f54fdd9385715c625ace8cec0869055c0cfbf38981", size = 10670885, upload-time = "2026-09-11T19:03:48.942Z" }, + { url = "https://files.pythonhosted.org/packages/a3/80/d72f61bb2631ac15d17fada1f17e0f99fecba69d8376d34f17cf93b7eddd/matplotlib-3.11.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7e5a90f8a707ebb6004a713b1cff091a40cc5df4c7c1cb165e5a505ebc11c292", size = 10811222, upload-time = "2026-09-11T19:03:51.665Z" }, + { url = "https://files.pythonhosted.org/packages/94/2e/6d1d33f242c705b5c6c6fb3f0fc141add51cb1abb62912e59de0835d28c4/matplotlib-3.11.2-cp313-cp313-win_amd64.whl", hash = "sha256:bc067c462a86f0e57bf52fc6e058d90171a5420007dac00c46e90153050c69a7", size = 9349539, upload-time = "2026-09-11T19:03:54.534Z" }, + { url = "https://files.pythonhosted.org/packages/bb/bb/c0aa86a7f4c0e62f1c3c0711e361f6f23f87eb9018732a5e11994bd1b7ec/matplotlib-3.11.2-cp313-cp313-win_arm64.whl", hash = "sha256:3e8576f7c47e02fd4f21f44171302d2d1d58d4471d46da3d71fe8899d19539d9", size = 9028295, upload-time = "2026-09-11T19:03:57.261Z" }, + { url = "https://files.pythonhosted.org/packages/54/b4/4facdb700bc236e4c676495ca3798d8134ab8668cbfe0f6b2e9ebf962a38/matplotlib-3.11.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c9721f81275499da1feeb36a2cf8192ea086283b3bd16b7dc4c9d7aedb7396d6", size = 9478976, upload-time = "2026-09-11T19:04:00.12Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a0/bba05f0a25bfeb0475c2f2a87958b31103aa6b7a5386017afb1a96212825/matplotlib-3.11.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1a3040b209f3968b4e84161df7b174f07a9fad33b0f2d7e48ea3bbd3075e2863", size = 9307932, upload-time = "2026-09-11T19:04:02.976Z" }, + { url = "https://files.pythonhosted.org/packages/d4/42/81d5cba4bb39b41b0998efc880e129f2d7cdb94256ca49678fdcd9c21be5/matplotlib-3.11.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf3fe71fbfb8ec0e310e0bc8537c3405a01f38f25f9394ed2135e6202fed542b", size = 10674370, upload-time = "2026-09-11T19:04:06.912Z" }, + { url = "https://files.pythonhosted.org/packages/29/5e/52f56f93d5b20815ee0ae352f7a38eff25580edb180b4fa7df87cfeba68f/matplotlib-3.11.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8c8255de28f986d935a64c9ca71c0ec2d2f41d355691f5ea684725dc91413f71", size = 10954597, upload-time = "2026-09-11T19:04:09.948Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ae/f8918a1b564db49c53cd603eb3c8748c5767e4ce0fb2cf1d7c38653e4c5d/matplotlib-3.11.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a8756cc73d9af9a7fe0deb54ea2e75ef73b01d9e575877e72acad5458e660943", size = 10812583, upload-time = "2026-09-11T19:04:12.887Z" }, + { url = "https://files.pythonhosted.org/packages/ea/61/4315ef0d63937fe56f451887b4a0be3b8e8b22cf1d92a8d157caac54570d/matplotlib-3.11.2-cp314-cp314-win_amd64.whl", hash = "sha256:ecea603dd2fbf8242fd31a305a8b12a4ece2de28096870c65fdd0d1e35b8d9a6", size = 9505972, upload-time = "2026-09-11T19:04:15.788Z" }, + { url = "https://files.pythonhosted.org/packages/d5/00/02398b0a1a62ef73d9af0a957fe1773363eec9a6ca7e433c72ae2790fbce/matplotlib-3.11.2-cp314-cp314-win_arm64.whl", hash = "sha256:01dc8eaaab5a9fce9ff615eca82345728f289e4715b186ee10c6d85272fc26bb", size = 9184534, upload-time = "2026-09-11T19:04:18.691Z" }, + { url = "https://files.pythonhosted.org/packages/ec/c5/1e6ca10baa7e04f113c37856aadb4adc3dbb1c55fc7da6dc830bba1292d7/matplotlib-3.11.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79a258f58253dfa025af80a9e9bb228d75fced007f0e93ae7423fefbde81a74d", size = 9526415, upload-time = "2026-09-11T19:04:21.39Z" }, + { url = "https://files.pythonhosted.org/packages/e0/93/7561727af07ccc84747953c6a33eee3981cc436d04f465032e707ca0e429/matplotlib-3.11.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c0b83f044ce10a98027b105b3931548719a6e8c7ef986b4362651e0b5367c8dc", size = 9361064, upload-time = "2026-09-11T19:04:24.107Z" }, + { url = "https://files.pythonhosted.org/packages/c1/40/ce270ef2a6794d94a409fe28b8dabedffc07c07f9e5dbb89e0f605bd157d/matplotlib-3.11.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e43b188f0a5b75447bcc197728258166aa64365770ed1caa36595a5e1ca4bbba", size = 10684626, upload-time = "2026-09-11T19:04:27.201Z" }, + { url = "https://files.pythonhosted.org/packages/45/46/396e0307dbf1c1f2d0a3654caa6dbc780dd5379f5f11257369cf8d21d9fe/matplotlib-3.11.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3304eb5a59442a8867f6920d484591c0fa09ffc29e9260be2feec3351e25869", size = 10960602, upload-time = "2026-09-11T19:04:30.254Z" }, + { url = "https://files.pythonhosted.org/packages/1c/97/4defb84695477340aa88b27c9482cc1ca4de11f36f66b6c8c0ddd685def1/matplotlib-3.11.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:02329432ae5c6af87cf208ee575b701d698bdf0b1a3bb28cc6d53c36e967e575", size = 10822603, upload-time = "2026-09-11T19:04:32.964Z" }, + { url = "https://files.pythonhosted.org/packages/7d/e7/eab54551c1ec6b72dcd678a078b6c6da8d4c85ec1ff0016e81fe52866304/matplotlib-3.11.2-cp314-cp314t-win_amd64.whl", hash = "sha256:f2ac30cf5eb5dff1b584627ae0b0e1186551a4f69ae3c75073911da497a29170", size = 9551206, upload-time = "2026-09-11T19:04:35.811Z" }, + { url = "https://files.pythonhosted.org/packages/4e/0e/04698032cb4d8fb1e30d8ffec5ded20f6f582b03c8c58b2385c95245f158/matplotlib-3.11.2-cp314-cp314t-win_arm64.whl", hash = "sha256:cf41ecd1b0c0b6f7177ed965a54c2afbe888715c7cf6054dc12d53bc1494002c", size = 9234977, upload-time = "2026-09-11T19:04:38.972Z" }, + { url = "https://files.pythonhosted.org/packages/44/a9/ca827c184b87364378964e36e7c0ae23651d146fdbc4000635205490cf82/matplotlib-3.11.2-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:894a9cbbecbe30ae6787d464df2e8fc7a8d475cfc68f87c3029f7c11152899b3", size = 9478997, upload-time = "2026-09-11T19:04:41.914Z" }, + { url = "https://files.pythonhosted.org/packages/48/60/01aaafc9c3159f3fae9a65bbcddaa4a6d4d72b0aeffdd636d7f6d00a5c8d/matplotlib-3.11.2-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:bbf1062991d826ed27e2144f3afa4461afbb8ff56e8f703043e191a8163b1ee9", size = 9307947, upload-time = "2026-09-11T19:04:44.834Z" }, + { url = "https://files.pythonhosted.org/packages/1e/a0/6aa72c7cd7cf4dfac652744d7a3310007cec3ce8e5ab9be607bec7096471/matplotlib-3.11.2-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:399fef672f7046ef7d6a57572b2a6f9845f3f5afcff04e7b2df7a363a9f42190", size = 10674370, upload-time = "2026-09-11T19:04:47.745Z" }, + { url = "https://files.pythonhosted.org/packages/a1/97/d7e90225ac145046787a2ee0fa4cdc7e4d5cb6772ea232130b10f8a4095a/matplotlib-3.11.2-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cc82dde2a0d3e3ad472edce04897ad7146b8d8bfd1df8a32992eebb81af18fdc", size = 10954581, upload-time = "2026-09-11T19:04:50.712Z" }, + { url = "https://files.pythonhosted.org/packages/58/18/89cf056a9d2cae01f4b8baf01c7e809d613244fcdfa2a2acf28c1e0d79fa/matplotlib-3.11.2-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:930efb28f59fda124e39265d177bab302625297bb147d2910de725a2fc2aef54", size = 10812605, upload-time = "2026-09-11T19:04:53.552Z" }, + { url = "https://files.pythonhosted.org/packages/9d/4d/c61b9f4c34af802d4d84e58803e009013d626b5f468bafe1416131863b5b/matplotlib-3.11.2-cp315-cp315-win_amd64.whl", hash = "sha256:3da3bc0cbf7245e7db72cc6d29d12c5abef72cb73059c73b945f14e3545f3eb2", size = 9506068, upload-time = "2026-09-11T19:04:56.519Z" }, + { url = "https://files.pythonhosted.org/packages/03/7b/047f2fa8708d47430d8e7fa45e9fffb0aee5d4e300f978e087be2ee11fbc/matplotlib-3.11.2-cp315-cp315-win_arm64.whl", hash = "sha256:f25446b2981717dca9786bac841cb3fd7efb568e3e3c755dd980481c5cb9228d", size = 9184576, upload-time = "2026-09-11T19:04:59.318Z" }, + { url = "https://files.pythonhosted.org/packages/03/6e/ad9c5989950785a98642667df265a47c6637e924cb69b5dcf68c3299ae7c/matplotlib-3.11.2-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:fea03cf56568cc1cba08b470be6a0559e71c3a5b688d54b7179bb35ba23d0821", size = 9525988, upload-time = "2026-09-11T19:05:02.304Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c3/25c61701fb655dd412428b15eee2591ce554cdd593e39a045a153373f428/matplotlib-3.11.2-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:254d4ddb2fa8df3b4c689c0c306063aee10521df82cfb438185e499c75fe37c1", size = 9360774, upload-time = "2026-09-11T19:05:05.092Z" }, + { url = "https://files.pythonhosted.org/packages/58/5a/4552878fce8f9d249a5e264c16f5c267c27eac08fb039fa3e207a06feff5/matplotlib-3.11.2-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e60cf3047a51edecdc4535a9196bbd6a732936b8e9f8184aabf4d16165884aaf", size = 10685892, upload-time = "2026-09-11T19:05:07.686Z" }, + { url = "https://files.pythonhosted.org/packages/af/dd/b3b19ec0124fc4aafd8a4b3bae859c562a7ff0fd8ae3b2099947f78bde19/matplotlib-3.11.2-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb3712dc9b464793de0a4e42a7313d50293c751f94bddaf7332a1bc71bccdda9", size = 10964946, upload-time = "2026-09-11T19:05:10.943Z" }, + { url = "https://files.pythonhosted.org/packages/7b/30/687ccce22f66a57fed85942450e88062773bcbf1a42914e70c7148ec71dc/matplotlib-3.11.2-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:75b6d88402770e181b5d06a67dda4129c31da7d05004d63a21c310ec78d1b83c", size = 10824960, upload-time = "2026-09-11T19:05:13.9Z" }, + { url = "https://files.pythonhosted.org/packages/d3/34/117fe35a8d05054b4b34d2d29287099927c24c3841d36e06d9fa2f20c1cf/matplotlib-3.11.2-cp315-cp315t-win_amd64.whl", hash = "sha256:a6939df7567114b6bac7f4c5e06c84a67f197c1b2f2e4b234d4eecb3bfec9482", size = 9551204, upload-time = "2026-09-11T19:05:16.48Z" }, + { url = "https://files.pythonhosted.org/packages/63/5a/9f440e7bec8b80d0af2a65d1165b2f4e718982dad785531f62255d9ff19b/matplotlib-3.11.2-cp315-cp315t-win_arm64.whl", hash = "sha256:d480038c83691532ed52ff3147db51fa902fc78cb2d8349993a1cdb684435bff", size = 9233946, upload-time = "2026-09-11T19:05:19.063Z" }, + { url = "https://files.pythonhosted.org/packages/0f/d9/a1218a31fa2d8082eb893548990ad09a2005ebda1b2b89dad88a8308e51a/matplotlib-3.11.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:854df8d7dfe9fdffcbaa6f39e44a6c24b409cb4d7561fbc09213b157d833f6a6", size = 9457702, upload-time = "2026-09-11T19:05:22.086Z" }, + { url = "https://files.pythonhosted.org/packages/68/d7/a9fde05d87c3c853f233ec20c5b5c3a1c86035e1ed4bfa397cd54d46ec90/matplotlib-3.11.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:eac4b07d4e3743b172451e122ea964f72f152879d4f9adcf3f3d33e518f12ead", size = 9287753, upload-time = "2026-09-11T19:05:24.677Z" }, + { url = "https://files.pythonhosted.org/packages/ec/79/ea2ae4eab84f011c1dc8145864f78e5a63adda8efb95557ef36cc38e6da2/matplotlib-3.11.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7ef7a53b66780e5d942923724f08577fbc5be1f7322da0f0f3f9dcaa45dd803d", size = 9848259, upload-time = "2026-09-11T19:05:27.455Z" }, +] + +[[package]] +name = "numpy" +version = "1.24.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229, upload-time = "2023-06-26T13:39:33.218Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140, upload-time = "2023-06-26T13:22:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297, upload-time = "2023-06-26T13:22:59.541Z" }, + { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611, upload-time = "2023-06-26T13:23:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357, upload-time = "2023-06-26T13:23:51.446Z" }, + { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222, upload-time = "2023-06-26T13:24:13.849Z" }, + { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514, upload-time = "2023-06-26T13:24:38.129Z" }, + { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508, upload-time = "2023-06-26T13:25:08.882Z" }, + { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033, upload-time = "2023-06-26T13:25:33.417Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951, upload-time = "2023-06-26T13:25:55.725Z" }, + { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923, upload-time = "2023-06-26T13:26:25.658Z" }, + { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446, upload-time = "2023-06-26T13:26:49.302Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466, upload-time = "2023-06-26T13:27:16.029Z" }, + { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722, upload-time = "2023-06-26T13:27:49.573Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102, upload-time = "2023-06-26T13:28:12.288Z" }, + { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616, upload-time = "2023-06-26T13:28:35.659Z" }, + { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263, upload-time = "2023-06-26T13:29:09.272Z" }, + { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660, upload-time = "2023-06-26T13:29:33.434Z" }, + { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112, upload-time = "2023-06-26T13:29:58.385Z" }, + { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549, upload-time = "2023-06-26T13:30:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950, upload-time = "2023-06-26T13:31:01.787Z" }, + { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228, upload-time = "2023-06-26T13:31:26.696Z" }, + { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170, upload-time = "2023-06-26T13:31:56.615Z" }, + { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918, upload-time = "2023-06-26T13:32:16.8Z" }, + { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441, upload-time = "2023-06-26T13:32:40.521Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590, upload-time = "2023-06-26T13:33:10.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744, upload-time = "2023-06-26T13:33:36.703Z" }, + { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290, upload-time = "2023-06-26T13:34:05.409Z" }, +] + +[[package]] +name = "numpy" +version = "2.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload-time = "2024-08-26T20:04:14.625Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload-time = "2024-08-26T20:04:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload-time = "2024-08-26T20:04:46.491Z" }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload-time = "2024-08-26T20:04:58.173Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload-time = "2024-08-26T20:05:19.098Z" }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload-time = "2024-08-26T20:05:47.479Z" }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload-time = "2024-08-26T20:06:17.137Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload-time = "2024-08-26T20:06:39.16Z" }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload-time = "2024-08-26T20:06:50.361Z" }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload-time = "2024-08-26T20:07:13.881Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload-time = "2024-08-26T20:07:45.345Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload-time = "2024-08-26T20:08:06.666Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload-time = "2024-08-26T20:08:15.83Z" }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload-time = "2024-08-26T20:08:27.185Z" }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload-time = "2024-08-26T20:08:48.058Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload-time = "2024-08-26T20:09:16.536Z" }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload-time = "2024-08-26T20:09:46.263Z" }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload-time = "2024-08-26T20:10:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload-time = "2024-08-26T20:10:19.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload-time = "2024-08-26T20:10:43.413Z" }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload-time = "2024-08-26T20:11:13.916Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload-time = "2024-08-26T20:11:34.779Z" }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload-time = "2024-08-26T20:11:43.902Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload-time = "2024-08-26T20:11:55.09Z" }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload-time = "2024-08-26T20:12:14.95Z" }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload-time = "2024-08-26T20:12:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload-time = "2024-08-26T20:13:13.634Z" }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload-time = "2024-08-26T20:13:34.851Z" }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload-time = "2024-08-26T20:13:45.653Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload-time = "2024-08-26T20:14:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload-time = "2024-08-26T20:14:40.108Z" }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload-time = "2024-08-26T20:15:00.985Z" }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload-time = "2024-08-26T20:15:10.876Z" }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload-time = "2024-08-26T20:15:22.055Z" }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload-time = "2024-08-26T20:15:42.452Z" }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload-time = "2024-08-26T20:16:11.048Z" }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload-time = "2024-08-26T20:16:40.171Z" }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload-time = "2024-08-26T20:17:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload-time = "2024-08-26T20:17:13.553Z" }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload-time = "2024-08-26T20:17:36.72Z" }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload-time = "2024-08-26T20:18:07.732Z" }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload-time = "2024-08-26T20:18:19.125Z" }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload-time = "2024-08-26T20:18:47.237Z" }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload-time = "2024-08-26T20:19:11.19Z" }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +] + +[[package]] +name = "numpy" +version = "2.4.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/ad/fed0499ce6a338d2a03ebae59cd15093910c8875328855781952abf6c2fe/numpy-2.4.6.tar.gz", hash = "sha256:f3a3570c4a2a16746ac2c31a7c7c7b0c186b95ce902e33db6f28094ed7387dda", size = 20735807, upload-time = "2026-05-18T23:37:14.07Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/49/ec46835a70be8fa6446c495126ac84fdb28cb2558e1620ffb87a10c8b64c/numpy-2.4.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0280e0356c0829a18d9de1cb7eee50ec22ca639878d7240307ca0943d73cd2c4", size = 16969194, upload-time = "2026-05-18T23:33:13.503Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0d/f5957185c0ee2f3e12f78715aa9e3b353fd83633316c8532b38faa37e3f6/numpy-2.4.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:110f8b71aacb688ec69062bb7f6938a0f8acb01b7c1c4beb453c65b6d234584d", size = 14964111, upload-time = "2026-05-18T23:33:17.795Z" }, + { url = "https://files.pythonhosted.org/packages/ad/40/40a40ee0ddf7ceb782c49af278894b686e586d65d8c1889c8b5da01a3d7d/numpy-2.4.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4cfe66903cc32a9921a6733d96b19bb6abf310397581bbad89c228f5abaf0ee8", size = 5469159, upload-time = "2026-05-18T23:33:20.654Z" }, + { url = "https://files.pythonhosted.org/packages/63/13/f9a8046535cb21deae82f8d03de9617e08882d274fad2539630761888228/numpy-2.4.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8155154c7c691289fe18f510b5d4657c68c67989f293f0535a91360392ff6538", size = 6798936, upload-time = "2026-05-18T23:33:22.987Z" }, + { url = "https://files.pythonhosted.org/packages/33/a8/6fa8c1a345a8c85dbb21932c447bee07c30a2c2a3f31e369c0a84b300147/numpy-2.4.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ab0a9c4ffb1a6d95ef519fe4247dba8eb6b18ad93999f76b7f657039acabd47", size = 15966692, upload-time = "2026-05-18T23:33:26.62Z" }, + { url = "https://files.pythonhosted.org/packages/02/03/74fe2a4cb3817d94d86402f2506554130a2f01414e299b5a843e5a8a957f/numpy-2.4.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:89cd468399cfd2504718f0ba50e410dca55a170b61a02ad92bb18c8a65186e93", size = 16918164, upload-time = "2026-05-18T23:33:29.955Z" }, + { url = "https://files.pythonhosted.org/packages/c5/80/3615be3313f7e7696609bc194b9f0101da809df79e859bdb84e0cd043f46/numpy-2.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2d37ab77531417474168eb79d6d80b14f821a966818505d03013d0833edb7a8", size = 17322877, upload-time = "2026-05-18T23:33:34.724Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ac/a691e0fe2675e370d0e08ff905adc49a1c8830e8cae03efe4477e92cd55d/numpy-2.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f407cb6b8e9d6d8c626bc73c945db1706035af8fd632295547bf1c9e46d092d6", size = 18651487, upload-time = "2026-05-18T23:33:38.217Z" }, + { url = "https://files.pythonhosted.org/packages/15/a7/9bc1cd626d7bf6869bfedf27b91b6ab5dd607758bf8e959d6fa80c6a59cb/numpy-2.4.6-cp311-cp311-win32.whl", hash = "sha256:ddea102b48f9e339f3948bf22040944184627a30fdf7f858667673b9c5f033c8", size = 6233945, upload-time = "2026-05-18T23:33:41.331Z" }, + { url = "https://files.pythonhosted.org/packages/c5/31/7fc6239c12bce7e931463251cca4426c465e1876ba3cc785402ef4dd8f4e/numpy-2.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:1e254a00cdf42b1e4d5b3d68d33af63268d41340d8885df2ab6470f2e1500147", size = 12608406, upload-time = "2026-05-18T23:33:44.131Z" }, + { url = "https://files.pythonhosted.org/packages/27/83/140f85a466595a16382996a1bf06b2b54bcd597488921b0c9daaeeda72af/numpy-2.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:ed9749eef4cbd126da3dc1d6bcb3a57f5eb7ac6a6484146bdbf743f552dfc577", size = 10479528, upload-time = "2026-05-18T23:33:50.725Z" }, + { url = "https://files.pythonhosted.org/packages/95/2a/3d7b5ac8aac24feaf9ad7ed58f45b0bbc06d37e4338ae84c9f2298b570f9/numpy-2.4.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:001fbb8e08d942dd57599e781f2472269ee7f2755fae407b4f67b2f0b17da3f1", size = 16689119, upload-time = "2026-05-18T23:33:54.065Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/92c4c131527599e8288d6918e888d88726f84d805d784b771f32408aeaef/numpy-2.4.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ebfb099f8dcf083deef3ac1ca4c1503f387cf76296fcb3816b66f5ecb5f54fdb", size = 14699246, upload-time = "2026-05-18T23:33:57.621Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fe/c0a6b7b2ca128a8fb228575147073b660656734b8ebe4d76c8fd748dcc79/numpy-2.4.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3213d622a0283a39a93d188f3cf72b26862df52fbb4ca3697f51705016523d41", size = 5204410, upload-time = "2026-05-18T23:34:00.302Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d4/9770d14ba719432bb90a421bfd443872ed0f70f7264b64bec12ea363d5fd/numpy-2.4.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:357cc07a6d7b0b182ff02249616a03742827ebb1277546b5c7cd7f7620a45698", size = 6551240, upload-time = "2026-05-18T23:34:02.852Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c6/50a46a6205feba2343f1d6d17438107c5dc491ed1c736e6ea68689fd906b/numpy-2.4.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f9fb9157b4ce2971008323afe46053787b526ef624fea915b261468a8421a0f", size = 15671012, upload-time = "2026-05-18T23:34:05.485Z" }, + { url = "https://files.pythonhosted.org/packages/99/60/14115e6364fa676c5397c2ad3004e527e9aa487abf5d0706ec81bbd08529/numpy-2.4.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90f9849678c75fe7afa2d348ac842c168b0a4d3d61919687216dfc547976d853", size = 16645538, upload-time = "2026-05-18T23:34:09.265Z" }, + { url = "https://files.pythonhosted.org/packages/ae/c5/693cbe59e57db94d2231fa519ca3978dc9e19da5a8f088588f5c6e947ff2/numpy-2.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c1a2af6c6ef86344a6b0db6b97834208bf598db514f2b155042439b62605601a", size = 17020706, upload-time = "2026-05-18T23:34:13.053Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fc/85b7c4eff9b4966ade25c2273cf7e7012e92366c032058653934b37de044/numpy-2.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5805d5a22fd19c8ccff10a9561f9df94436b0545619ea579db2d3c35294bce2", size = 18368541, upload-time = "2026-05-18T23:34:17.024Z" }, + { url = "https://files.pythonhosted.org/packages/f6/81/e1b27545deedce7f4a0b348618c6b62d74e36a4dc9ccd42f3eb2f85eee32/numpy-2.4.6-cp312-cp312-win32.whl", hash = "sha256:e3eeb0aabd6bd5ce64faae67e9935203a6991b4bc2a485a767fbafb2c5125f45", size = 5962825, upload-time = "2026-05-18T23:34:20.3Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ca/feab00bd44aa5fe1ad2c18f08b4d3bb92e26484b0b1d1443897809ed528c/numpy-2.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:d8e8286dd7cea7895157318d1b91cdacac64c479f3cbc8dce548331728484751", size = 12321687, upload-time = "2026-05-18T23:34:23.095Z" }, + { url = "https://files.pythonhosted.org/packages/63/cf/5a6d34850a39d1093558564f77ee8e8e0bee5061151b8f05a55711001ec7/numpy-2.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:4081eb135ac24158bd51cdfbef16f1c64df7063b1143f24731387137c092bec8", size = 10221482, upload-time = "2026-05-18T23:34:25.876Z" }, + { url = "https://files.pythonhosted.org/packages/fb/82/bdab26d7438c6791ca31b7c024ca37c1eab8b726ba236129005cd4a06e45/numpy-2.4.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:511dbaf848decaaaf4b4ca48032619fb3138710c4bf7da7617765edad1ef96b0", size = 16684648, upload-time = "2026-05-18T23:34:29.41Z" }, + { url = "https://files.pythonhosted.org/packages/1b/30/a80189bcc7f5e4258b3fbc3968d909d1756f54d023299ecc39ad6fdb9ef8/numpy-2.4.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bf162abab1c1a736333192707cef898e735a5ca00f38f27eeedf44b39d9e85eb", size = 14693902, upload-time = "2026-05-18T23:34:33.013Z" }, + { url = "https://files.pythonhosted.org/packages/97/12/70b5d0d7c15e1ebb8a6a84a8caa1d19e181d84fb58bb6d70aca29099dec1/numpy-2.4.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:043191bfa8eab18c776647b62723ac9dddece59743b13f49b2016094129c2b3f", size = 5198992, upload-time = "2026-05-18T23:34:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8c/ebd2a8f8a83541f8d38cc5667e8c2b69cecfd30da6e45693e8158857d44b/numpy-2.4.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:6180d8b35af935aed8ece3a85e0a43f87393ae0ac87c8d2c8bd2c993f7270ef3", size = 6546944, upload-time = "2026-05-18T23:34:38.484Z" }, + { url = "https://files.pythonhosted.org/packages/bb/c5/7b863a97a91671a0338f4253bd3b5a3d3852f0692dae91711c9f4a10e787/numpy-2.4.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72fbe16c6fac95aedf5937fa873445cec2110be35d8a4e9433d7501fd98dae6b", size = 15669392, upload-time = "2026-05-18T23:34:41.257Z" }, + { url = "https://files.pythonhosted.org/packages/a5/9d/3584b9984ca4c047aea75214ce1a4c4c73d849bd71b604264b7f5653f8a8/numpy-2.4.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7830bab239b79cda9c08c2da014761cafb48da6150e1da17ac06283f43b6089", size = 16633220, upload-time = "2026-05-18T23:34:45.075Z" }, + { url = "https://files.pythonhosted.org/packages/05/ae/7c67fba23bd98caec7c99261f3a16072ade14813486b0282cb29846de832/numpy-2.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ef4aea96ce4d3b074422cb4f2f64e216bf9e213004bb58ecfdf50ea02ea8eb9a", size = 17020800, upload-time = "2026-05-18T23:34:49.065Z" }, + { url = "https://files.pythonhosted.org/packages/d9/5d/3b6725cb31d983c5e66916f5d36f6d7e5521129e4c4404d64f918292a5b6/numpy-2.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dfa20cc6ca228e6b155b11da03825975ce66aea520985dbbddf0f2a5a495c605", size = 18357600, upload-time = "2026-05-18T23:34:52.709Z" }, + { url = "https://files.pythonhosted.org/packages/f7/da/2ccc6c2fe8898dee01d90c75c5f5f914a23daf99e3e0f59516a08760c8b5/numpy-2.4.6-cp313-cp313-win32.whl", hash = "sha256:56b39e5e0622a09a25bf5baf62f4bcf0cb8a41ae6e2819cf49bbc5a74c083f91", size = 5961134, upload-time = "2026-05-18T23:34:55.618Z" }, + { url = "https://files.pythonhosted.org/packages/b5/cd/9cc4dc876fb065d5c220aae4d5e14826b2715331bb7618ce1fb07a679d99/numpy-2.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:c4fc99836233ea196540b17ab0983aff60ed07941751930f5f4d05bc3b3b7359", size = 12318598, upload-time = "2026-05-18T23:34:58.928Z" }, + { url = "https://files.pythonhosted.org/packages/39/1e/c0bcba1f8694116485fe28fd1be698c278fcda4141c5b0e53a2aed8b12a8/numpy-2.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a7c711e21628b52034bb5ab8d1bce291f752fcc5e92accc615778acee1ff4778", size = 10222272, upload-time = "2026-05-18T23:35:02.167Z" }, + { url = "https://files.pythonhosted.org/packages/63/6d/cc5619247c8f4204e507f5883528372e4ac4bb189e579fb859a12e480b1f/numpy-2.4.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:112b06a867b235ef466ed3508ddf0238050df9c727cafb5301ac385b899189a1", size = 14821197, upload-time = "2026-05-18T23:35:05.468Z" }, + { url = "https://files.pythonhosted.org/packages/00/58/f1c39161c87d9e9bed660f1ed4bafc0e403d5ec9650b6dd77aead07d489b/numpy-2.4.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:eaf7fa2de5c0be8ae6ff8e9bea2ccd725e980541244521d8d4b5f3354a27babe", size = 5326287, upload-time = "2026-05-18T23:35:08.693Z" }, + { url = "https://files.pythonhosted.org/packages/af/57/3917ab0fd97f271a8694513581b8a36c655f111c446852c302f04ccdb6fc/numpy-2.4.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7265a2f3d436e54ef9f2b52b5c937e6be778781bd97a590319d7348f1c1ca997", size = 6646763, upload-time = "2026-05-18T23:35:11.459Z" }, + { url = "https://files.pythonhosted.org/packages/eb/0f/037e64c494b67581ae18193d770adef354c41f3f2c8ebf865602d949bf8f/numpy-2.4.6-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f74a575920ab21fe304421a3fc28793d82e299cae9eccb37084e9fc7f3617c20", size = 15728070, upload-time = "2026-05-18T23:35:14.79Z" }, + { url = "https://files.pythonhosted.org/packages/21/a6/5d2bae9c9542eb4df16dc9c46dc79c186e9bad53805dfa5399a6023c6db0/numpy-2.4.6-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ede83e07a75dd06bc501566c1eca2afc0d61677c1472ac9ad93fdee6e638a48d", size = 16681752, upload-time = "2026-05-18T23:35:18.836Z" }, + { url = "https://files.pythonhosted.org/packages/92/14/23d1dfb410ae362cd59ce53e936b1513d545eb40db3949ced632e19a459e/numpy-2.4.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:68bb27509ac1b9a3443094260f6326150663b06abe40b73a2f81160623da5b67", size = 17086024, upload-time = "2026-05-18T23:35:22.52Z" }, + { url = "https://files.pythonhosted.org/packages/4b/6e/23595a2c642cdf3bc567877064bdd7f91c8b0038a4453cf2daf7248eafe9/numpy-2.4.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a0df0043bdb289bde1f62da130d20df23d58b45429f752bc7a8fc5325a225ecd", size = 18403398, upload-time = "2026-05-18T23:35:26.398Z" }, + { url = "https://files.pythonhosted.org/packages/8a/90/0ac3bc947217e66dec77e7cbc6a1979d1af70b6461b82f620d3bccd5e4c8/numpy-2.4.6-cp313-cp313t-win32.whl", hash = "sha256:29a287e0cf63ff528da061de6b9f64a4618da591ca1046aafc54062e40ca7eab", size = 6084971, upload-time = "2026-05-18T23:35:29.387Z" }, + { url = "https://files.pythonhosted.org/packages/77/71/5673e351671a1d2bd6063b91b44f70c0affea7d1516fa7a6572941ba4aa1/numpy-2.4.6-cp313-cp313t-win_amd64.whl", hash = "sha256:25c692919ac5a01f170a3bfcd62d745b24fd095c353d50812637d6fcab442e75", size = 12458532, upload-time = "2026-05-18T23:35:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/3f/88/19d3503c5046e688f049274b27a3ef3d771152fa80d3ba3d01a3dff61abe/numpy-2.4.6-cp313-cp313t-win_arm64.whl", hash = "sha256:1e978ec1e8bd0e0e4de6bb75de9d30cbb74db6b6a2bb727618613703ca0167dd", size = 10291881, upload-time = "2026-05-18T23:35:35.465Z" }, + { url = "https://files.pythonhosted.org/packages/f8/91/3ab2044d05fd16d343c5ac2e69b127f1b2854040dd20b193257c78028bd3/numpy-2.4.6-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:06ca2f61ec4385a07a6977c55ba998a4466c123642b4a32694d3128fce18c079", size = 16683458, upload-time = "2026-05-18T23:35:38.353Z" }, + { url = "https://files.pythonhosted.org/packages/8e/62/764ce66fa4147ae6d73071a3abf804ffe606f174618697c571acdf26a7c9/numpy-2.4.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:38efbc8de75c7a0fc1ac190162d892787f3f47b57cc291231aafee36b80982b7", size = 14704559, upload-time = "2026-05-18T23:35:42.14Z" }, + { url = "https://files.pythonhosted.org/packages/60/61/23f27c172f022e04025b7dc2367f4d63c1a398120607ec896228649a6f48/numpy-2.4.6-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:d581b735e177fdcdce6fed8e7e8880a3fb6ee4e3653a3ac6af01c6f4c03effc5", size = 5209716, upload-time = "2026-05-18T23:35:45.377Z" }, + { url = "https://files.pythonhosted.org/packages/03/71/21cf70dc6ea3e3acb95fc53a265b2fc248b981f0194ceb5b475271b8809d/numpy-2.4.6-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:0a041d3d761dc3c35cc56ce0351506a02bcbc25f7b169f652435141a17db9096", size = 6543947, upload-time = "2026-05-18T23:35:47.926Z" }, + { url = "https://files.pythonhosted.org/packages/d5/91/64288395ee1799bd2e0b04a305dce9666da90c961e1f3fe982a05ee1c036/numpy-2.4.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40fdc1ae7125e518ea98e53e69a4ebc27e1fd50510c47b7ea130cf21e5e1d42b", size = 15685197, upload-time = "2026-05-18T23:35:50.863Z" }, + { url = "https://files.pythonhosted.org/packages/f3/eb/ebffaa97dc55502df69584a8f0dcf07f69a3e0b3e2323670a2722db9aa39/numpy-2.4.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a2c306dea656c12c68f51f4cea133cbe78ca7435eb28c735eac1d3ebe73be6e8", size = 16638245, upload-time = "2026-05-18T23:35:54.752Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0b/54f9da33128d7e350fab89c7455902eeae70349ee52bddb448dc4a576f45/numpy-2.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:33111801a01c12a8a1e3721f0a9232f8cfc8ae2c6b7098167e6f623c6073f402", size = 17036587, upload-time = "2026-05-18T23:35:58.355Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f0/fdebc1052db1cc37c64beb22072d67cd6d1c71adca1299f53dec2b5e20d3/numpy-2.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ae506e6902902557576a26ff33eda8695e7ecb3cb36c3b573a0765dee114ebdb", size = 18363226, upload-time = "2026-05-18T23:36:02.845Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b4/298628d98c72b57e57f7165ae6a481a1deaf6f3c28262a6e4c739c275930/numpy-2.4.6-cp314-cp314-win32.whl", hash = "sha256:aaf159caa35993cb1f56fb9b8e4610d35758e7ca005412eb1daa856a78c9c4b1", size = 6010196, upload-time = "2026-05-18T23:36:05.92Z" }, + { url = "https://files.pythonhosted.org/packages/df/ac/46de6dda46478f7942f839e094970be2d4a861e005c4b3bf07c92e291a09/numpy-2.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:b507f5c4c1d508876d1819b6bf9a49d365b96320b5d4993426b33a23ca4b8261", size = 12450334, upload-time = "2026-05-18T23:36:09.107Z" }, + { url = "https://files.pythonhosted.org/packages/78/92/b8b798ac784102c0da830d2257d59358e3d3d90d1e2b3f2575dad976c5cf/numpy-2.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:6f41ae150c4e32db4f3310cdaf64b1593a03dbabe29eec77fc9b50fe64061df6", size = 10495678, upload-time = "2026-05-18T23:36:12.766Z" }, + { url = "https://files.pythonhosted.org/packages/30/34/ec28d1aa8115971537c01469ab2011ee96827930f0a124de1000cc2a7ed7/numpy-2.4.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ece3d2cfe132e7d51f44a832b303895e6f2d499c5e74dfbdb06ee246147a304a", size = 14823672, upload-time = "2026-05-18T23:36:16.473Z" }, + { url = "https://files.pythonhosted.org/packages/16/bd/f6d1fede4e54e8042a7ff97bb495510f3c220f94bcd9e8b228e87c92cc0d/numpy-2.4.6-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:e3e5193ef5a3dc73bceee50f7fdc2c90dbb76c42df8d8fae3d1067a583df579e", size = 5328731, upload-time = "2026-05-18T23:36:19.767Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f0/e105b9e2fd728a9910103884decd6951d9dd73896b914a98d9a231de02ee/numpy-2.4.6-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:17f9ade344e7d9b464a084d69bcf18fc691cb1db67c62ed80820bf4926d78f0e", size = 6649805, upload-time = "2026-05-18T23:36:22.266Z" }, + { url = "https://files.pythonhosted.org/packages/82/dd/1206a7ca6ab15e3f02069707ca96222e202af681bb73756da7527f3cb837/numpy-2.4.6-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cd5ffd25db4e7ba6a375693b3fc0fc1791ec636c17db3720da19bde7180ec43", size = 15730496, upload-time = "2026-05-18T23:36:25.713Z" }, + { url = "https://files.pythonhosted.org/packages/51/e7/38d3ea825dcab85a591734decb2f6c67caa7c8367d374df1a1c3842f9b07/numpy-2.4.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d92c3819208a60205a12a245c91ad70cb0a85336659b19b834205573ac8456e", size = 16679616, upload-time = "2026-05-18T23:36:29.652Z" }, + { url = "https://files.pythonhosted.org/packages/93/b7/caabfdf53edf663e0b4eb74d7d405d83baef09eb5e83bcd32d601d72b93e/numpy-2.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e85b752a1e912b70eaad4fafbd4d1238007ab221de2009b9a2f5ae7461239895", size = 17085145, upload-time = "2026-05-18T23:36:33.449Z" }, + { url = "https://files.pythonhosted.org/packages/f9/45/68d7c33a6bcf3e5aa3bdbd57a367e6f615286dfd6482f97e8ffeb734306e/numpy-2.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:29cb7f67d10b479ff07c17d33e39f78c07f71c40ef30d63c153d340e96cd3fb4", size = 18403813, upload-time = "2026-05-18T23:36:37.369Z" }, + { url = "https://files.pythonhosted.org/packages/9c/50/0753655aa844c99cd9e018aacf76f130f1bd81d881bb74bc0aef5d73a8ba/numpy-2.4.6-cp314-cp314t-win32.whl", hash = "sha256:260a5d70215b61ab4fadf5c7baacd64821842975eea312125ed3c39a6391b063", size = 6156982, upload-time = "2026-05-18T23:36:40.817Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d4/7c67becf668f973cb490cec3e98dfd799d866f9c989a54d355672cfa0db6/numpy-2.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:81a1cca95ed5bb92aa8b10dd2cdc9a0d3853a50fad926c28b5d7e8ea54389627", size = 12638908, upload-time = "2026-05-18T23:36:43.996Z" }, + { url = "https://files.pythonhosted.org/packages/43/bb/e1c71a4295b1b1d1393d50dbb4f2a36283c6859d9d3892e84f00ec5a91d5/numpy-2.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:0c9136e14ed34a9e343a31c533d78a9813a69a3148332bce5e9821cb2f996e66", size = 10565867, upload-time = "2026-05-18T23:36:47.114Z" }, + { url = "https://files.pythonhosted.org/packages/de/12/b422cc84439adc0d00de605bf4a308890ae5c26f2c71fbd73e5d08fbb0dd/numpy-2.4.6-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:55cced7c52e981362f708ad635198e97a752dfba412cc03c23bbf3bd8d5cd662", size = 16847511, upload-time = "2026-05-18T23:36:50.673Z" }, + { url = "https://files.pythonhosted.org/packages/44/53/f481bef68011740f8849418d82db07230e825013f31f4eef5ba5b805316a/numpy-2.4.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d6da64deb6b8ed903e7560180a92f2d804ee1ba5eeb849ac2748b8c1aba1f6d7", size = 14889064, upload-time = "2026-05-18T23:36:53.879Z" }, + { url = "https://files.pythonhosted.org/packages/7f/57/42ed575c10ced8af951d426bc4e1f8aff16fd851db33f067036215a7f860/numpy-2.4.6-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:68a5124b13fa6cc2086764a20005d30bc0548146f7f5322f02fce212ca14317f", size = 5394157, upload-time = "2026-05-18T23:36:57.194Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ef/f66cc724fcc36c1e364c67f51ae9146090b8b584f27d58b97fdae3edd737/numpy-2.4.6-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:948424b06129ce883307e8cff868c31396d8dc7630a59c61d70d98dbe70f222c", size = 6708728, upload-time = "2026-05-18T23:36:59.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/9c/c531f2293b91265d8b48e9b329f54fdd7ffae73cb4134ea10cca4237e9cc/numpy-2.4.6-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbbdb29840ca3d91ee0fece42fc29278886d908280bfec0a5846c6f901a3eb0", size = 15798374, upload-time = "2026-05-18T23:37:02.674Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b0/413077f6b1153ed3cba361401c6783bbad6114804a000cc22eb71c13e190/numpy-2.4.6-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8ad03c0965fb3c692200e74d458ca28c1dbb4ce96f9a479a8aa041ad5fabca02", size = 16747286, upload-time = "2026-05-18T23:37:06.327Z" }, + { url = "https://files.pythonhosted.org/packages/15/ce/e5ec180bc41812edcd8daeb8639d205622c0e8c02259d8ab25a0201b3c2a/numpy-2.4.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2803abfebfc990042cd494d8ce2d5f82e9d847af6d35ec486923aa19dbad5e73", size = 12504263, upload-time = "2026-05-18T23:37:09.715Z" }, +] + +[[package]] +name = "numpy" +version = "2.5.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", +] +sdist = { url = "https://files.pythonhosted.org/packages/95/b0/c7453d0b6e2073c3264468b106ee1563750cecc910965e67357e3698c83e/numpy-2.5.4.tar.gz", hash = "sha256:9a94cf751c9ad8ebaa835bcd3d40dacf8534ad086b88c38029b65123c7999d2a", size = 20866315, upload-time = "2026-10-10T20:05:31.422Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/97/ba2074e92b7befea137e77ea8471e768bbd87c339b7e8c9f5a931949f977/numpy-2.5.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c6342f54c67093cae5c0227eb0eb772fdb79f2a2c37a6eb278b9909ee06aa356", size = 17001609, upload-time = "2026-10-10T20:02:40.843Z" }, + { url = "https://files.pythonhosted.org/packages/ff/a9/bac826765e971d8e16e2064e9ac7525fd69b40ac17c905033a7f5442023f/numpy-2.5.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b11e8fda06a7d69f15ebf542660b74466c2e51094800c1fb794f47ad4faeef17", size = 12015718, upload-time = "2026-10-10T20:02:43.45Z" }, + { url = "https://files.pythonhosted.org/packages/31/2f/5ea3570fcb8ccd0882bea99436a513b2c85dad8f774a2057849130a8fb99/numpy-2.5.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9cb18a327b49c5c337f972b03682f6a49855525faaf3c0d3e9c96cd0fd8880a8", size = 5451717, upload-time = "2026-10-10T20:02:46.169Z" }, + { url = "https://files.pythonhosted.org/packages/34/f2/b4fc1bafca03868220b5eaf729d2f21ebd7d7b151c0f9e144fe212bbca35/numpy-2.5.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:aec3fc4b32ff82421274f5d205c559c51c840c8df66a78efd7f3612dd005a26a", size = 6789926, upload-time = "2026-10-10T20:02:48.139Z" }, + { url = "https://files.pythonhosted.org/packages/dc/96/8319e2457ae4333c62c815c7006b869a4f60985c1e01024c2f8c6c040fe5/numpy-2.5.4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe4d21ab149f15e4e6043dfb0de87e6e5f34ac176cde83060e9802981fca2ac2", size = 15695312, upload-time = "2026-10-10T20:02:50.115Z" }, + { url = "https://files.pythonhosted.org/packages/43/a3/c799c62e19c337e6d3770b08e475887fb30ce8477d3c09efca6b2f0228a6/numpy-2.5.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fbde6962867ee75b48b0ee29b2b9372ec5d617799dbaf38e82dc0596f2f7738a", size = 16727283, upload-time = "2026-10-10T20:02:53.186Z" }, + { url = "https://files.pythonhosted.org/packages/39/6b/3604e53fb00314d0dc1b94ec9125a1484f649c0a17480b1f0f0c7a9d6250/numpy-2.5.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:381a7a3d2e65e64c0ec302795ab9dc12bb1e73f150904699c153716177eebdaf", size = 17047890, upload-time = "2026-10-10T20:02:56.038Z" }, + { url = "https://files.pythonhosted.org/packages/4a/7a/e8b58a5289a0d464c52885de47c35a935cdd70c03a4c3ab94a5126416dd0/numpy-2.5.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b89d0aaae2fe498c648f4c4795c084db535af5bd98ef942b2a3681fb74ce8645", size = 18485839, upload-time = "2026-10-10T20:02:59.018Z" }, + { url = "https://files.pythonhosted.org/packages/6f/c9/47094f597015009f310b8c900def59065ef1ff5a6fe7b51fc65ec58ec2c6/numpy-2.5.4-cp312-cp312-win32.whl", hash = "sha256:9968ab7e49b93ac6e1c3b2239732183152c9150f16308d30b66a372cffe3483c", size = 6138936, upload-time = "2026-10-10T20:03:01.626Z" }, + { url = "https://files.pythonhosted.org/packages/12/33/fefe62073dc8acfd0f2b9ed7c003af2f50aa61555e113e6db02b8f79f145/numpy-2.5.4-cp312-cp312-win_amd64.whl", hash = "sha256:a7b1b6353e36a7e50de2973a38d705c88ee93adcf120673cee7f45a4a3fa223a", size = 12573091, upload-time = "2026-10-10T20:03:04.349Z" }, + { url = "https://files.pythonhosted.org/packages/1a/07/161270b0c2eec56e4c905f6d6d22e1b836887b2cb189d3f5820aa588e9dd/numpy-2.5.4-cp312-cp312-win_arm64.whl", hash = "sha256:aa1cce2ff3f8d953de38b76bf44602caeb69f101430208f64a10067f7cb4b1d3", size = 10521630, upload-time = "2026-10-10T20:03:06.767Z" }, + { url = "https://files.pythonhosted.org/packages/67/14/1c3ee0118a8fce08565a5d8482631608426a33af10a01077fada5dc7c119/numpy-2.5.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2377da2dd3ba2c1200956acbab2a358c83b8e1f8531191672d1cd6ad83250d53", size = 16997729, upload-time = "2026-10-10T20:03:09.291Z" }, + { url = "https://files.pythonhosted.org/packages/83/8c/b0ea9477fb1f0d4484bbc5cba21678cc9969704d8d7f3f158d1db35f8e14/numpy-2.5.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7415db95818b39ec475a5eea54d9e3b6bc83e3912158e46da3438cdce399804d", size = 12009826, upload-time = "2026-10-10T20:03:11.946Z" }, + { url = "https://files.pythonhosted.org/packages/e2/84/6a3d75b3ba3dfe84ac0053450753d1e6d250a8bf80f66474cc46d1fb643f/numpy-2.5.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:6d6a71b9d9a97c03633aa12565ef2825ffa036cc1d99cfd50dacf0f128af4fe2", size = 5445803, upload-time = "2026-10-10T20:03:14.329Z" }, + { url = "https://files.pythonhosted.org/packages/61/18/bb993f267ca20b376e07092a16793a5b31ed3138751e9ba480011a14d742/numpy-2.5.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:d8200f16437b289a5bb927c6e184eccc3e8389bc0070fea4cd5b9e13c1757959", size = 6786220, upload-time = "2026-10-10T20:03:16.602Z" }, + { url = "https://files.pythonhosted.org/packages/db/b6/135bb0953b61dc21c6cafa14b424ae666944e4899cf140e00c2b322a1a45/numpy-2.5.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2e71b04c6cad90026e544501bbe0ab9290fa8a4d845e7e8c0d124fb429c988", size = 15689178, upload-time = "2026-10-10T20:03:18.721Z" }, + { url = "https://files.pythonhosted.org/packages/da/24/3bd070f3269dc609d8f26b2643f62ef91bb415841c0b294805aaf7fe06da/numpy-2.5.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6ffa07666f8da0eef81d149934a626d0d95fbd6838432a33e66245423a9062c0", size = 16718044, upload-time = "2026-10-10T20:03:21.386Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8e/9d15bd356b0a019c965312b1a3c6a727cac4cae5bc40045fbc12ce4cff9c/numpy-2.5.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2fa3328f784fc8277fc48026f6cad516f5c561c5d8e2e39b3c9e0c8f23223b34", size = 17048364, upload-time = "2026-10-10T20:03:24.468Z" }, + { url = "https://files.pythonhosted.org/packages/dc/fe/9d5b560db964f15871885f2250795d15945f8699e17ef90c0c2ff4c875b2/numpy-2.5.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b86966fbe4ad7de710422175572bcdc75fdedadfb54bc6fab7deabccddd7780b", size = 18474904, upload-time = "2026-10-10T20:03:27.895Z" }, + { url = "https://files.pythonhosted.org/packages/e9/98/d27552990f1bd611ef3e7466adadc78312ea2df63b83aad47fdc3d3ca8df/numpy-2.5.4-cp313-cp313-win32.whl", hash = "sha256:5258bc06526964be5face2fc6f756857a3f24f21ec3e72ca131337a75b165d6c", size = 6134537, upload-time = "2026-10-10T20:03:30.511Z" }, + { url = "https://files.pythonhosted.org/packages/90/8c/140a40398a66b4471211be1affdb6ed24c486d581bd28d07b7f2fcb69540/numpy-2.5.4-cp313-cp313-win_amd64.whl", hash = "sha256:8b4d2fd2d34e5f8c9235ee787de5631a37a28402b15cb80814df973d2be54129", size = 12566113, upload-time = "2026-10-10T20:03:32.612Z" }, + { url = "https://files.pythonhosted.org/packages/34/52/01d205e5e8ccb27b2b0b141e801f22b830198c979111b0fa44771438d9a9/numpy-2.5.4-cp313-cp313-win_arm64.whl", hash = "sha256:bc39ac66a7a9a3fbd6134fda43136b60ffde99c8f4501e64e0d2b24da137babf", size = 10519523, upload-time = "2026-10-10T20:03:35.163Z" }, + { url = "https://files.pythonhosted.org/packages/99/ba/005cb5edd580d2f84d7ca3206b92dc17d4388e56e6f87ffe8f2762f83139/numpy-2.5.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c668b2f0d651605b58892644b0e302c7157f7159544227758c896982ef384b18", size = 17005499, upload-time = "2026-10-10T20:03:37.961Z" }, + { url = "https://files.pythonhosted.org/packages/f3/49/fee7587c33ee35f7977f9051d7f2023d4e7246d62710c80f20c2361ea232/numpy-2.5.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ffa6ce09a1c6a08e9667dd9c97aa0b14184e8d18f2a14b78b2a2328c9147f076", size = 12019666, upload-time = "2026-10-10T20:03:40.606Z" }, + { url = "https://files.pythonhosted.org/packages/d5/b2/c6ce165acffceb15a82c07b9cc77d391f86b3f379ba62911908ae5d34b91/numpy-2.5.4-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:956555e0603a4d38019ae6925711cb9dc43195c076a928accf7ea5d50bddfe53", size = 5455617, upload-time = "2026-10-10T20:03:43.138Z" }, + { url = "https://files.pythonhosted.org/packages/77/7f/dd85ce260a669a89be06842cf355d7353a33e6cfbc590fb8ebb947d88dc9/numpy-2.5.4-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:2c2c4afffdeb7920e445028dd71eb932cac3e704792e964bc2a232426d4f1255", size = 6791932, upload-time = "2026-10-10T20:03:44.874Z" }, + { url = "https://files.pythonhosted.org/packages/63/d6/34b0a2b0741386a63025a65a2c09caaaaaad6d0ca95b66cd65c30dd7fcb5/numpy-2.5.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4054173604cd8658796053f1f3bc0befb68ec1c0762c57fdad61e199256a8617", size = 15710899, upload-time = "2026-10-10T20:03:46.839Z" }, + { url = "https://files.pythonhosted.org/packages/16/d5/928078d2b28f26829b138b4a6c3980045022fb409f570657a224ae60ef4e/numpy-2.5.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d549420b8858885cea8838a727842249218b9c1da24dd517e25c9c7a948310a3", size = 16721710, upload-time = "2026-10-10T20:03:49.489Z" }, + { url = "https://files.pythonhosted.org/packages/f9/cf/673fd1b8f4cd78eb6320e87ec4c90ac19c095644259e3749853a405c70f4/numpy-2.5.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:823874a507a84af050493b622affde94b6f7c3a0dc22cb2801381bc03b871c00", size = 17066182, upload-time = "2026-10-10T20:03:52.25Z" }, + { url = "https://files.pythonhosted.org/packages/f3/92/a77b5061b1b3e2643928c37976d79ee173e1b171ed158b7a3c61056b41bc/numpy-2.5.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:4e263278bfb5ee6409db8aedbc4cc32973b1b82bc1e8d3c668551d04d83a7e37", size = 18480315, upload-time = "2026-10-10T20:03:55.39Z" }, + { url = "https://files.pythonhosted.org/packages/bb/1d/1486ef3d3fb2279fd93c4c43c1bbbf1ca389a19816696684409f71babaab/numpy-2.5.4-cp314-cp314-win32.whl", hash = "sha256:cfd73180400042a7c532d30c5e287bdd03c59ff9ee1b4c0316af0539e29dfe23", size = 6185739, upload-time = "2026-10-10T20:03:58.186Z" }, + { url = "https://files.pythonhosted.org/packages/52/9a/e1e512ebc948d5b9dd33b08736760f0ebbed2848fd4eda1f553088a6dcee/numpy-2.5.4-cp314-cp314-win_amd64.whl", hash = "sha256:2ca144f15135b6212a5c47b1e2aeca6e412f102f95a2d5d88d8aec77eb255de3", size = 12703552, upload-time = "2026-10-10T20:04:00.28Z" }, + { url = "https://files.pythonhosted.org/packages/2c/05/de709a982d7bbcd688a3fad71f002e9ff80c2db39e03ee726609b610f1d1/numpy-2.5.4-cp314-cp314-win_arm64.whl", hash = "sha256:468397ba3c64427474706e5c9123fe266395496714dc684294eac75cd4930d1e", size = 10803901, upload-time = "2026-10-10T20:04:02.659Z" }, + { url = "https://files.pythonhosted.org/packages/13/34/083570ada3bb2a30fbe5d77c8c6fef9141144a15d33e6f793a67e9749ab8/numpy-2.5.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1ef3aa6d7e29bb13677323114280b05acc57607fa2300e66432d665d5418a162", size = 12138695, upload-time = "2026-10-10T20:04:05.012Z" }, + { url = "https://files.pythonhosted.org/packages/94/06/1f9c24db48eef0c2d1207e3b11fffb0478e39dfd8c1e1be7476936885eed/numpy-2.5.4-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:98b053943e5a0474ec0da309d2cb9d3f18ea57f8a2067c2ab7b5f763d1068380", size = 5574615, upload-time = "2026-10-10T20:04:07.316Z" }, + { url = "https://files.pythonhosted.org/packages/da/0f/593fba2e1560e949123bc7d2fc48b5893d56e58cd4bd5a273d2fbf60b220/numpy-2.5.4-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:b64a85f40e154983960a4167d4c1d57a50c7f109b3d3264a3a984154e90a8454", size = 6889383, upload-time = "2026-10-10T20:04:09.918Z" }, + { url = "https://files.pythonhosted.org/packages/eb/9f/b799dfdce4e05e80ed4bc815c71ff343a11533b2c0ffc221cae8538cda63/numpy-2.5.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a813ed7719bf45463c51779e6a98d0385fe905e48447526938a4b8337333d551", size = 15753763, upload-time = "2026-10-10T20:04:12.278Z" }, + { url = "https://files.pythonhosted.org/packages/34/88/16c5f12f86f5ad2817c4d103205131fc6c8acb3d1878af05a1a4f23ec859/numpy-2.5.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c9b80cdf5cedba0e90d93fa5f9a333c4d65bd545cd669b71bb97ce2b703c9d73", size = 16757212, upload-time = "2026-10-10T20:04:14.799Z" }, + { url = "https://files.pythonhosted.org/packages/ff/4f/a1fe40e18a898e6a5089f4f0d891f0a493eb0574d5b34458f0fbe5aa3e5c/numpy-2.5.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2199ed071f460487c8db2c0e5c0b564494190edb4772fe80f9aad88b2604def5", size = 17116471, upload-time = "2026-10-10T20:04:17.58Z" }, + { url = "https://files.pythonhosted.org/packages/aa/46/e923a11c78e65c1722e7aaad817c06bd591324174b9d28ce5d31eee4d432/numpy-2.5.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:64f9c9878c1938476365e11ccfb6b770f3b9e5f045ccddc514235041e6959365", size = 18524063, upload-time = "2026-10-10T20:04:20.365Z" }, + { url = "https://files.pythonhosted.org/packages/5a/fa/84ab064514440c1f64a1b21088f2c82756defdd05e07c75ab233899565b2/numpy-2.5.4-cp314-cp314t-win32.whl", hash = "sha256:64d1c8ac28a4077cf987e0a71a7a0ef7e2df70722f07f0baa42dbb7eb6938647", size = 6340926, upload-time = "2026-10-10T20:04:22.865Z" }, + { url = "https://files.pythonhosted.org/packages/7e/7e/6cd886876f435b10685db9b9f7eeb70356f99e052116f4e5f11c5792c714/numpy-2.5.4-cp314-cp314t-win_amd64.whl", hash = "sha256:067374eb538c34c745436365cf7b0112595c1d326f21ce4ff340f61230239fbb", size = 12901584, upload-time = "2026-10-10T20:04:24.99Z" }, + { url = "https://files.pythonhosted.org/packages/38/1b/3c1684f6a06f7307f2335fca6e486cb162847fb97e91d65f8eb5cabad213/numpy-2.5.4-cp314-cp314t-win_arm64.whl", hash = "sha256:e94aef2c639da4a960ad0db8e06471208d8589974953d78b61d345b4eb99e394", size = 10891152, upload-time = "2026-10-10T20:04:27.52Z" }, + { url = "https://files.pythonhosted.org/packages/08/f4/3224deff3af2bef6bc0b175369698d8cb348f3d91d9bb0286cd5c9eae9e0/numpy-2.5.4-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:8dddfbee2e68d26d0d7d7d9cb247b1fd4409241cce32d815a11d97ec2cfde179", size = 17003231, upload-time = "2026-10-10T20:04:30.021Z" }, + { url = "https://files.pythonhosted.org/packages/be/75/fee0b8c6d94b44b2fdfae74f6a4ad5a138739589a8aebaec28ce4e713ed5/numpy-2.5.4-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:81e3420b27048b65eb14c3acf0c174a8cb0e023277716110347d2dcb26026dad", size = 12018300, upload-time = "2026-10-10T20:04:32.519Z" }, + { url = "https://files.pythonhosted.org/packages/47/c0/d0b335a499a04b65f532c3f034346ef390f81299060f928492dabc1e0272/numpy-2.5.4-cp315-cp315-macosx_14_0_arm64.whl", hash = "sha256:0b4724a19de67bea8cfc4970798efa78bcbbe2ac2613cfac16721a42d44de2a5", size = 5454250, upload-time = "2026-10-10T20:04:34.943Z" }, + { url = "https://files.pythonhosted.org/packages/5a/0e/461b3783c03d668052e6a21b01b673db6ffcb7831fd32d9aa5368c1cd426/numpy-2.5.4-cp315-cp315-macosx_14_0_x86_64.whl", hash = "sha256:2132418bf8dd124a427ca9e6a1daf9ee1a87185344c95119ceae868b99466da1", size = 6789644, upload-time = "2026-10-10T20:04:37.258Z" }, + { url = "https://files.pythonhosted.org/packages/b3/02/5dad269b02166965a7b4ca14adaddd75dbee0de42435bfecf561b84ba5a6/numpy-2.5.4-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:325518d4245b9e331387702aa58c2ce1dc4cdcbb41dfb4ccd5dcbc7e08db1266", size = 15704353, upload-time = "2026-10-10T20:04:39.616Z" }, + { url = "https://files.pythonhosted.org/packages/93/3a/01360c8036822ed9f7aa32189a77d1476567ec1e8e1383522389e4faac45/numpy-2.5.4-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:56733449d2544178beaa4545cee357370440cf056c197f9c7bfb19dbfdd0e86d", size = 16718648, upload-time = "2026-10-10T20:04:42.383Z" }, + { url = "https://files.pythonhosted.org/packages/7d/5c/b863a2c093c4d6f21a597fcaf24ead0835c09ab16a8312d5a5a8868af683/numpy-2.5.4-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:5ec3753760c1a6d8bb91200666e545c3a9728e6269dfb5d6ce02340996698aa3", size = 17059053, upload-time = "2026-10-10T20:04:44.976Z" }, + { url = "https://files.pythonhosted.org/packages/0a/60/ced4f57f9a1258a0af74f17cb0b0c2700b5c67cd6678823c803b263e4df3/numpy-2.5.4-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:b1185012870173de7ae33d370bd45b1cf5baee747ea4b97036b65f4e93016877", size = 18477406, upload-time = "2026-10-10T20:04:47.863Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bd/0ef22dafaafcc7d4bb3ca26b8d2afbd55dedad8eaba99a8c864e1997456f/numpy-2.5.4-cp315-cp315-win32.whl", hash = "sha256:298eca75243f2cbbfdb460560b9fb2a1792a33cf2ab4286efd43d92e8d3df508", size = 6185133, upload-time = "2026-10-10T20:04:50.467Z" }, + { url = "https://files.pythonhosted.org/packages/50/bc/d2651b155ecc608a77e6f4d15495c11f14f19bb98f8bf0c5b0d38f86dda1/numpy-2.5.4-cp315-cp315-win_amd64.whl", hash = "sha256:332f3378fe077dd850e677ec01bdcc4f22368fb5d50ef10b2c79230b1bf5a592", size = 12703085, upload-time = "2026-10-10T20:04:52.63Z" }, + { url = "https://files.pythonhosted.org/packages/dc/d2/45e404f8abb26fb9eda12b94012936873e827b1be76f2ee7890be128312e/numpy-2.5.4-cp315-cp315-win_arm64.whl", hash = "sha256:d4cccbbc78717966f764cd3af4fb70276fa01fc7a2688af11c78901fa5c04f05", size = 10801451, upload-time = "2026-10-10T20:04:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/c6/c3/2ae14e09cfdb67dc187a342e15308a21c15bf4d2071f8079e6aee5fe56dc/numpy-2.5.4-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:950ea81d57ef070665581b6e1b5f6a029306423cd1739c5b95fe78aa30db6b9d", size = 17097121, upload-time = "2026-10-10T20:04:58.403Z" }, + { url = "https://files.pythonhosted.org/packages/f5/cf/305ae624ef8a039414317224abe9ec9c2fe7ea3c2e1cf204d43ff6b2ffb9/numpy-2.5.4-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:c05ede731b03fb1b7591faca9389ade3267d2bddf1ad8882bb3f2cc5e101694f", size = 12135439, upload-time = "2026-10-10T20:05:01.65Z" }, + { url = "https://files.pythonhosted.org/packages/a9/a8/f75c63813aef95827bb2c0d13b12803016853056e8792c280058cdbfe783/numpy-2.5.4-cp315-cp315t-macosx_14_0_arm64.whl", hash = "sha256:5fbf7141bbfd63aea22f435c9062a032b9ea0082fe9845dad7f021d3f1234e71", size = 5571451, upload-time = "2026-10-10T20:05:04.135Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0f/f17763f983868b5c49b4101ebd7e00760bd1769478a6bb6a8de6e085bbac/numpy-2.5.4-cp315-cp315t-macosx_14_0_x86_64.whl", hash = "sha256:3573cd22564692a5b899ec344e5d5b9cc4576f2985b96f22af3564ed54f2710f", size = 6883356, upload-time = "2026-10-10T20:05:06.249Z" }, + { url = "https://files.pythonhosted.org/packages/67/a7/8af04c5a79e047996cfa38854dcfbececdd0343a7c933a46fdd03ef6f5da/numpy-2.5.4-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c109eac9cd439193678f69d70733c1108487546ca8eafc107b510ae10c1aecd", size = 15750991, upload-time = "2026-10-10T20:05:08.376Z" }, + { url = "https://files.pythonhosted.org/packages/57/7a/648254290d0c504faa8f2d07aa206660c728802c781a6f3fc68ab7cb5d71/numpy-2.5.4-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:80d6ef6e8620eb2c2b4c4caad50b5935d6db3cde2d51581b55dcc79e14016d1d", size = 16757675, upload-time = "2026-10-10T20:05:11.393Z" }, + { url = "https://files.pythonhosted.org/packages/b8/fe/4a8c3cdb0c70400cfe4c5bec42d3099a5673802a95064614b33e07b82aa1/numpy-2.5.4-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:77045a4b175bbf5316ec08003880804336c78f92281a1b72222b274ea85ec5ac", size = 17113846, upload-time = "2026-10-10T20:05:14.49Z" }, + { url = "https://files.pythonhosted.org/packages/1b/7e/619692bb67778702c0e9eb2d468568a7573f4e269386ea61aed01ee4e557/numpy-2.5.4-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:0f02a46e49cfb6c73bdb7aea1c0d3461dbae9aba613542b65f657cd3d17b9fab", size = 18522915, upload-time = "2026-10-10T20:05:17.33Z" }, + { url = "https://files.pythonhosted.org/packages/b7/b5/4da41c328788f575838f97a098fe8ca691ebc6f6fd73ad4a262ee40b184d/numpy-2.5.4-cp315-cp315t-win32.whl", hash = "sha256:ad62a416ddcf863bf44bba76fbf6b53366ab0692e294f51cae4b5fbe0d246788", size = 6335804, upload-time = "2026-10-10T20:05:19.921Z" }, + { url = "https://files.pythonhosted.org/packages/98/94/6482ddfa3d312490cb9358f375bf2ad56427dbea8769187158e94d653753/numpy-2.5.4-cp315-cp315t-win_amd64.whl", hash = "sha256:38f47be9f74ab870d2633b5456ae519c43758a8d1fd05342f0ce4ecc034396ee", size = 12890095, upload-time = "2026-10-10T20:05:21.875Z" }, + { url = "https://files.pythonhosted.org/packages/48/7f/c2d1b436b6e7cfebac140c2579a298344b85f2991a2ce5c3615cefb29400/numpy-2.5.4-cp315-cp315t-win_arm64.whl", hash = "sha256:7a14a461d9340f1b46b8648578aed9cdb8b3b018a8fac6c1dde2c9192a01a87f", size = 10883718, upload-time = "2026-10-10T20:05:28.547Z" }, +] + +[[package]] +name = "packaging" +version = "26.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, +] + +[[package]] +name = "packaging" +version = "26.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79", size = 313412, upload-time = "2026-08-04T18:15:28.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, +] + +[[package]] +name = "pillow" +version = "10.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059, upload-time = "2024-07-01T09:48:43.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271, upload-time = "2024-07-01T09:45:22.07Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658, upload-time = "2024-07-01T09:45:25.292Z" }, + { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075, upload-time = "2024-07-01T09:45:27.94Z" }, + { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808, upload-time = "2024-07-01T09:45:30.305Z" }, + { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290, upload-time = "2024-07-01T09:45:32.868Z" }, + { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163, upload-time = "2024-07-01T09:45:35.279Z" }, + { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100, upload-time = "2024-07-01T09:45:37.74Z" }, + { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880, upload-time = "2024-07-01T09:45:39.89Z" }, + { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218, upload-time = "2024-07-01T09:45:42.771Z" }, + { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487, upload-time = "2024-07-01T09:45:45.176Z" }, + { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219, upload-time = "2024-07-01T09:45:47.274Z" }, + { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265, upload-time = "2024-07-01T09:45:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655, upload-time = "2024-07-01T09:45:52.462Z" }, + { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304, upload-time = "2024-07-01T09:45:55.006Z" }, + { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804, upload-time = "2024-07-01T09:45:58.437Z" }, + { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126, upload-time = "2024-07-01T09:46:00.713Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541, upload-time = "2024-07-01T09:46:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616, upload-time = "2024-07-01T09:46:05.356Z" }, + { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802, upload-time = "2024-07-01T09:46:08.145Z" }, + { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213, upload-time = "2024-07-01T09:46:10.211Z" }, + { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498, upload-time = "2024-07-01T09:46:12.685Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219, upload-time = "2024-07-01T09:46:14.83Z" }, + { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350, upload-time = "2024-07-01T09:46:17.177Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980, upload-time = "2024-07-01T09:46:19.169Z" }, + { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799, upload-time = "2024-07-01T09:46:21.883Z" }, + { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973, upload-time = "2024-07-01T09:46:24.321Z" }, + { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054, upload-time = "2024-07-01T09:46:26.825Z" }, + { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484, upload-time = "2024-07-01T09:46:29.355Z" }, + { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375, upload-time = "2024-07-01T09:46:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773, upload-time = "2024-07-01T09:46:33.73Z" }, + { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690, upload-time = "2024-07-01T09:46:36.587Z" }, + { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951, upload-time = "2024-07-01T09:46:38.777Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427, upload-time = "2024-07-01T09:46:43.15Z" }, + { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685, upload-time = "2024-07-01T09:46:45.194Z" }, + { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883, upload-time = "2024-07-01T09:46:47.331Z" }, + { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837, upload-time = "2024-07-01T09:46:49.647Z" }, + { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562, upload-time = "2024-07-01T09:46:51.811Z" }, + { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761, upload-time = "2024-07-01T09:46:53.961Z" }, + { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767, upload-time = "2024-07-01T09:46:56.664Z" }, + { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989, upload-time = "2024-07-01T09:46:58.977Z" }, + { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255, upload-time = "2024-07-01T09:47:01.189Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload-time = "2024-07-01T09:47:03.918Z" }, + { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload-time = "2024-07-01T09:47:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload-time = "2024-07-01T09:47:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213, upload-time = "2024-07-01T09:47:11.662Z" }, + { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883, upload-time = "2024-07-01T09:47:14.453Z" }, + { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810, upload-time = "2024-07-01T09:47:16.695Z" }, + { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341, upload-time = "2024-07-01T09:47:19.334Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005, upload-time = "2024-07-01T09:47:21.805Z" }, + { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201, upload-time = "2024-07-01T09:47:24.457Z" }, + { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635, upload-time = "2024-07-01T09:47:26.841Z" }, + { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283, upload-time = "2024-07-01T09:47:29.247Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185, upload-time = "2024-07-01T09:47:32.205Z" }, + { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594, upload-time = "2024-07-01T09:47:34.285Z" }, + { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283, upload-time = "2024-07-01T09:47:36.394Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691, upload-time = "2024-07-01T09:47:38.853Z" }, + { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295, upload-time = "2024-07-01T09:47:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810, upload-time = "2024-07-01T09:47:44.27Z" }, + { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283, upload-time = "2024-07-01T09:47:46.673Z" }, + { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800, upload-time = "2024-07-01T09:47:48.813Z" }, + { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177, upload-time = "2024-07-01T09:47:52.104Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079, upload-time = "2024-07-01T09:47:54.999Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247, upload-time = "2024-07-01T09:47:57.666Z" }, + { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479, upload-time = "2024-07-01T09:47:59.881Z" }, + { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226, upload-time = "2024-07-01T09:48:02.508Z" }, + { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889, upload-time = "2024-07-01T09:48:04.815Z" }, + { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160, upload-time = "2024-07-01T09:48:07.206Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020, upload-time = "2024-07-01T09:48:09.66Z" }, + { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539, upload-time = "2024-07-01T09:48:12.529Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125, upload-time = "2024-07-01T09:48:14.891Z" }, + { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373, upload-time = "2024-07-01T09:48:17.601Z" }, + { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661, upload-time = "2024-07-01T09:48:20.293Z" }, + { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850, upload-time = "2024-07-01T09:48:23.03Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118, upload-time = "2024-07-01T09:48:25.256Z" }, + { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958, upload-time = "2024-07-01T09:48:28.078Z" }, + { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340, upload-time = "2024-07-01T09:48:30.734Z" }, + { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048, upload-time = "2024-07-01T09:48:33.292Z" }, + { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366, upload-time = "2024-07-01T09:48:36.527Z" }, + { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652, upload-time = "2024-07-01T09:48:38.789Z" }, +] + +[[package]] +name = "pillow" +version = "11.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069, upload-time = "2025-07-01T09:16:30.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/5d/45a3553a253ac8763f3561371432a90bdbe6000fbdcf1397ffe502aa206c/pillow-11.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1b9c17fd4ace828b3003dfd1e30bff24863e0eb59b535e8f80194d9cc7ecf860", size = 5316554, upload-time = "2025-07-01T09:13:39.342Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c8/67c12ab069ef586a25a4a79ced553586748fad100c77c0ce59bb4983ac98/pillow-11.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:65dc69160114cdd0ca0f35cb434633c75e8e7fad4cf855177a05bf38678f73ad", size = 4686548, upload-time = "2025-07-01T09:13:41.835Z" }, + { url = "https://files.pythonhosted.org/packages/2f/bd/6741ebd56263390b382ae4c5de02979af7f8bd9807346d068700dd6d5cf9/pillow-11.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7107195ddc914f656c7fc8e4a5e1c25f32e9236ea3ea860f257b0436011fddd0", size = 5859742, upload-time = "2025-07-03T13:09:47.439Z" }, + { url = "https://files.pythonhosted.org/packages/ca/0b/c412a9e27e1e6a829e6ab6c2dca52dd563efbedf4c9c6aa453d9a9b77359/pillow-11.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc3e831b563b3114baac7ec2ee86819eb03caa1a2cef0b481a5675b59c4fe23b", size = 7633087, upload-time = "2025-07-03T13:09:51.796Z" }, + { url = "https://files.pythonhosted.org/packages/59/9d/9b7076aaf30f5dd17e5e5589b2d2f5a5d7e30ff67a171eb686e4eecc2adf/pillow-11.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f182ebd2303acf8c380a54f615ec883322593320a9b00438eb842c1f37ae50", size = 5963350, upload-time = "2025-07-01T09:13:43.865Z" }, + { url = "https://files.pythonhosted.org/packages/f0/16/1a6bf01fb622fb9cf5c91683823f073f053005c849b1f52ed613afcf8dae/pillow-11.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4445fa62e15936a028672fd48c4c11a66d641d2c05726c7ec1f8ba6a572036ae", size = 6631840, upload-time = "2025-07-01T09:13:46.161Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e6/6ff7077077eb47fde78739e7d570bdcd7c10495666b6afcd23ab56b19a43/pillow-11.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:71f511f6b3b91dd543282477be45a033e4845a40278fa8dcdbfdb07109bf18f9", size = 6074005, upload-time = "2025-07-01T09:13:47.829Z" }, + { url = "https://files.pythonhosted.org/packages/c3/3a/b13f36832ea6d279a697231658199e0a03cd87ef12048016bdcc84131601/pillow-11.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:040a5b691b0713e1f6cbe222e0f4f74cd233421e105850ae3b3c0ceda520f42e", size = 6708372, upload-time = "2025-07-01T09:13:52.145Z" }, + { url = "https://files.pythonhosted.org/packages/6c/e4/61b2e1a7528740efbc70b3d581f33937e38e98ef3d50b05007267a55bcb2/pillow-11.3.0-cp310-cp310-win32.whl", hash = "sha256:89bd777bc6624fe4115e9fac3352c79ed60f3bb18651420635f26e643e3dd1f6", size = 6277090, upload-time = "2025-07-01T09:13:53.915Z" }, + { url = "https://files.pythonhosted.org/packages/a9/d3/60c781c83a785d6afbd6a326ed4d759d141de43aa7365725cbcd65ce5e54/pillow-11.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:19d2ff547c75b8e3ff46f4d9ef969a06c30ab2d4263a9e287733aa8b2429ce8f", size = 6985988, upload-time = "2025-07-01T09:13:55.699Z" }, + { url = "https://files.pythonhosted.org/packages/9f/28/4f4a0203165eefb3763939c6789ba31013a2e90adffb456610f30f613850/pillow-11.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:819931d25e57b513242859ce1876c58c59dc31587847bf74cfe06b2e0cb22d2f", size = 2422899, upload-time = "2025-07-01T09:13:57.497Z" }, + { url = "https://files.pythonhosted.org/packages/db/26/77f8ed17ca4ffd60e1dcd220a6ec6d71210ba398cfa33a13a1cd614c5613/pillow-11.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1cd110edf822773368b396281a2293aeb91c90a2db00d78ea43e7e861631b722", size = 5316531, upload-time = "2025-07-01T09:13:59.203Z" }, + { url = "https://files.pythonhosted.org/packages/cb/39/ee475903197ce709322a17a866892efb560f57900d9af2e55f86db51b0a5/pillow-11.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c412fddd1b77a75aa904615ebaa6001f169b26fd467b4be93aded278266b288", size = 4686560, upload-time = "2025-07-01T09:14:01.101Z" }, + { url = "https://files.pythonhosted.org/packages/d5/90/442068a160fd179938ba55ec8c97050a612426fae5ec0a764e345839f76d/pillow-11.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d1aa4de119a0ecac0a34a9c8bde33f34022e2e8f99104e47a3ca392fd60e37d", size = 5870978, upload-time = "2025-07-03T13:09:55.638Z" }, + { url = "https://files.pythonhosted.org/packages/13/92/dcdd147ab02daf405387f0218dcf792dc6dd5b14d2573d40b4caeef01059/pillow-11.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:91da1d88226663594e3f6b4b8c3c8d85bd504117d043740a8e0ec449087cc494", size = 7641168, upload-time = "2025-07-03T13:10:00.37Z" }, + { url = "https://files.pythonhosted.org/packages/6e/db/839d6ba7fd38b51af641aa904e2960e7a5644d60ec754c046b7d2aee00e5/pillow-11.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:643f189248837533073c405ec2f0bb250ba54598cf80e8c1e043381a60632f58", size = 5973053, upload-time = "2025-07-01T09:14:04.491Z" }, + { url = "https://files.pythonhosted.org/packages/f2/2f/d7675ecae6c43e9f12aa8d58b6012683b20b6edfbdac7abcb4e6af7a3784/pillow-11.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:106064daa23a745510dabce1d84f29137a37224831d88eb4ce94bb187b1d7e5f", size = 6640273, upload-time = "2025-07-01T09:14:06.235Z" }, + { url = "https://files.pythonhosted.org/packages/45/ad/931694675ede172e15b2ff03c8144a0ddaea1d87adb72bb07655eaffb654/pillow-11.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd8ff254faf15591e724dc7c4ddb6bf4793efcbe13802a4ae3e863cd300b493e", size = 6082043, upload-time = "2025-07-01T09:14:07.978Z" }, + { url = "https://files.pythonhosted.org/packages/3a/04/ba8f2b11fc80d2dd462d7abec16351b45ec99cbbaea4387648a44190351a/pillow-11.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:932c754c2d51ad2b2271fd01c3d121daaa35e27efae2a616f77bf164bc0b3e94", size = 6715516, upload-time = "2025-07-01T09:14:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/48/59/8cd06d7f3944cc7d892e8533c56b0acb68399f640786313275faec1e3b6f/pillow-11.3.0-cp311-cp311-win32.whl", hash = "sha256:b4b8f3efc8d530a1544e5962bd6b403d5f7fe8b9e08227c6b255f98ad82b4ba0", size = 6274768, upload-time = "2025-07-01T09:14:11.921Z" }, + { url = "https://files.pythonhosted.org/packages/f1/cc/29c0f5d64ab8eae20f3232da8f8571660aa0ab4b8f1331da5c2f5f9a938e/pillow-11.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1a992e86b0dd7aeb1f053cd506508c0999d710a8f07b4c791c63843fc6a807ac", size = 6986055, upload-time = "2025-07-01T09:14:13.623Z" }, + { url = "https://files.pythonhosted.org/packages/c6/df/90bd886fabd544c25addd63e5ca6932c86f2b701d5da6c7839387a076b4a/pillow-11.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:30807c931ff7c095620fe04448e2c2fc673fcbb1ffe2a7da3fb39613489b1ddd", size = 2423079, upload-time = "2025-07-01T09:14:15.268Z" }, + { url = "https://files.pythonhosted.org/packages/40/fe/1bc9b3ee13f68487a99ac9529968035cca2f0a51ec36892060edcc51d06a/pillow-11.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdae223722da47b024b867c1ea0be64e0df702c5e0a60e27daad39bf960dd1e4", size = 5278800, upload-time = "2025-07-01T09:14:17.648Z" }, + { url = "https://files.pythonhosted.org/packages/2c/32/7e2ac19b5713657384cec55f89065fb306b06af008cfd87e572035b27119/pillow-11.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:921bd305b10e82b4d1f5e802b6850677f965d8394203d182f078873851dada69", size = 4686296, upload-time = "2025-07-01T09:14:19.828Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1e/b9e12bbe6e4c2220effebc09ea0923a07a6da1e1f1bfbc8d7d29a01ce32b/pillow-11.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb76541cba2f958032d79d143b98a3a6b3ea87f0959bbe256c0b5e416599fd5d", size = 5871726, upload-time = "2025-07-03T13:10:04.448Z" }, + { url = "https://files.pythonhosted.org/packages/8d/33/e9200d2bd7ba00dc3ddb78df1198a6e80d7669cce6c2bdbeb2530a74ec58/pillow-11.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67172f2944ebba3d4a7b54f2e95c786a3a50c21b88456329314caaa28cda70f6", size = 7644652, upload-time = "2025-07-03T13:10:10.391Z" }, + { url = "https://files.pythonhosted.org/packages/41/f1/6f2427a26fc683e00d985bc391bdd76d8dd4e92fac33d841127eb8fb2313/pillow-11.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f07ed9f56a3b9b5f49d3661dc9607484e85c67e27f3e8be2c7d28ca032fec7", size = 5977787, upload-time = "2025-07-01T09:14:21.63Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c9/06dd4a38974e24f932ff5f98ea3c546ce3f8c995d3f0985f8e5ba48bba19/pillow-11.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:676b2815362456b5b3216b4fd5bd89d362100dc6f4945154ff172e206a22c024", size = 6645236, upload-time = "2025-07-01T09:14:23.321Z" }, + { url = "https://files.pythonhosted.org/packages/40/e7/848f69fb79843b3d91241bad658e9c14f39a32f71a301bcd1d139416d1be/pillow-11.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e184b2f26ff146363dd07bde8b711833d7b0202e27d13540bfe2e35a323a809", size = 6086950, upload-time = "2025-07-01T09:14:25.237Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1a/7cff92e695a2a29ac1958c2a0fe4c0b2393b60aac13b04a4fe2735cad52d/pillow-11.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6be31e3fc9a621e071bc17bb7de63b85cbe0bfae91bb0363c893cbe67247780d", size = 6723358, upload-time = "2025-07-01T09:14:27.053Z" }, + { url = "https://files.pythonhosted.org/packages/26/7d/73699ad77895f69edff76b0f332acc3d497f22f5d75e5360f78cbcaff248/pillow-11.3.0-cp312-cp312-win32.whl", hash = "sha256:7b161756381f0918e05e7cb8a371fff367e807770f8fe92ecb20d905d0e1c149", size = 6275079, upload-time = "2025-07-01T09:14:30.104Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ce/e7dfc873bdd9828f3b6e5c2bbb74e47a98ec23cc5c74fc4e54462f0d9204/pillow-11.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6444696fce635783440b7f7a9fc24b3ad10a9ea3f0ab66c5905be1c19ccf17d", size = 6986324, upload-time = "2025-07-01T09:14:31.899Z" }, + { url = "https://files.pythonhosted.org/packages/16/8f/b13447d1bf0b1f7467ce7d86f6e6edf66c0ad7cf44cf5c87a37f9bed9936/pillow-11.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:2aceea54f957dd4448264f9bf40875da0415c83eb85f55069d89c0ed436e3542", size = 2423067, upload-time = "2025-07-01T09:14:33.709Z" }, + { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328, upload-time = "2025-07-01T09:14:35.276Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652, upload-time = "2025-07-01T09:14:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443, upload-time = "2025-07-01T09:14:39.344Z" }, + { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474, upload-time = "2025-07-01T09:14:41.843Z" }, + { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038, upload-time = "2025-07-01T09:14:44.008Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407, upload-time = "2025-07-03T13:10:15.628Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094, upload-time = "2025-07-03T13:10:21.857Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503, upload-time = "2025-07-01T09:14:45.698Z" }, + { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574, upload-time = "2025-07-01T09:14:47.415Z" }, + { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060, upload-time = "2025-07-01T09:14:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407, upload-time = "2025-07-01T09:14:51.962Z" }, + { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841, upload-time = "2025-07-01T09:14:54.142Z" }, + { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450, upload-time = "2025-07-01T09:14:56.436Z" }, + { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055, upload-time = "2025-07-01T09:14:58.072Z" }, + { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110, upload-time = "2025-07-01T09:14:59.79Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547, upload-time = "2025-07-01T09:15:01.648Z" }, + { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554, upload-time = "2025-07-03T13:10:27.018Z" }, + { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132, upload-time = "2025-07-03T13:10:33.01Z" }, + { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001, upload-time = "2025-07-01T09:15:03.365Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814, upload-time = "2025-07-01T09:15:05.655Z" }, + { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124, upload-time = "2025-07-01T09:15:07.358Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186, upload-time = "2025-07-01T09:15:09.317Z" }, + { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546, upload-time = "2025-07-01T09:15:11.311Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102, upload-time = "2025-07-01T09:15:13.164Z" }, + { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803, upload-time = "2025-07-01T09:15:15.695Z" }, + { url = "https://files.pythonhosted.org/packages/73/f4/04905af42837292ed86cb1b1dabe03dce1edc008ef14c473c5c7e1443c5d/pillow-11.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d9da3df5f9ea2a89b81bb6087177fb1f4d1c7146d583a3fe5c672c0d94e55e12", size = 5278520, upload-time = "2025-07-01T09:15:17.429Z" }, + { url = "https://files.pythonhosted.org/packages/41/b0/33d79e377a336247df6348a54e6d2a2b85d644ca202555e3faa0cf811ecc/pillow-11.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0b275ff9b04df7b640c59ec5a3cb113eefd3795a8df80bac69646ef699c6981a", size = 4686116, upload-time = "2025-07-01T09:15:19.423Z" }, + { url = "https://files.pythonhosted.org/packages/49/2d/ed8bc0ab219ae8768f529597d9509d184fe8a6c4741a6864fea334d25f3f/pillow-11.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0743841cabd3dba6a83f38a92672cccbd69af56e3e91777b0ee7f4dba4385632", size = 5864597, upload-time = "2025-07-03T13:10:38.404Z" }, + { url = "https://files.pythonhosted.org/packages/b5/3d/b932bb4225c80b58dfadaca9d42d08d0b7064d2d1791b6a237f87f661834/pillow-11.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2465a69cf967b8b49ee1b96d76718cd98c4e925414ead59fdf75cf0fd07df673", size = 7638246, upload-time = "2025-07-03T13:10:44.987Z" }, + { url = "https://files.pythonhosted.org/packages/09/b5/0487044b7c096f1b48f0d7ad416472c02e0e4bf6919541b111efd3cae690/pillow-11.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41742638139424703b4d01665b807c6468e23e699e8e90cffefe291c5832b027", size = 5973336, upload-time = "2025-07-01T09:15:21.237Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2d/524f9318f6cbfcc79fbc004801ea6b607ec3f843977652fdee4857a7568b/pillow-11.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93efb0b4de7e340d99057415c749175e24c8864302369e05914682ba642e5d77", size = 6642699, upload-time = "2025-07-01T09:15:23.186Z" }, + { url = "https://files.pythonhosted.org/packages/6f/d2/a9a4f280c6aefedce1e8f615baaa5474e0701d86dd6f1dede66726462bbd/pillow-11.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7966e38dcd0fa11ca390aed7c6f20454443581d758242023cf36fcb319b1a874", size = 6083789, upload-time = "2025-07-01T09:15:25.1Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/86b0cd9dbb683a9d5e960b66c7379e821a19be4ac5810e2e5a715c09a0c0/pillow-11.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:98a9afa7b9007c67ed84c57c9e0ad86a6000da96eaa638e4f8abe5b65ff83f0a", size = 6720386, upload-time = "2025-07-01T09:15:27.378Z" }, + { url = "https://files.pythonhosted.org/packages/e7/95/88efcaf384c3588e24259c4203b909cbe3e3c2d887af9e938c2022c9dd48/pillow-11.3.0-cp314-cp314-win32.whl", hash = "sha256:02a723e6bf909e7cea0dac1b0e0310be9d7650cd66222a5f1c571455c0a45214", size = 6370911, upload-time = "2025-07-01T09:15:29.294Z" }, + { url = "https://files.pythonhosted.org/packages/2e/cc/934e5820850ec5eb107e7b1a72dd278140731c669f396110ebc326f2a503/pillow-11.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:a418486160228f64dd9e9efcd132679b7a02a5f22c982c78b6fc7dab3fefb635", size = 7117383, upload-time = "2025-07-01T09:15:31.128Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e9/9c0a616a71da2a5d163aa37405e8aced9a906d574b4a214bede134e731bc/pillow-11.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:155658efb5e044669c08896c0c44231c5e9abcaadbc5cd3648df2f7c0b96b9a6", size = 2511385, upload-time = "2025-07-01T09:15:33.328Z" }, + { url = "https://files.pythonhosted.org/packages/1a/33/c88376898aff369658b225262cd4f2659b13e8178e7534df9e6e1fa289f6/pillow-11.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:59a03cdf019efbfeeed910bf79c7c93255c3d54bc45898ac2a4140071b02b4ae", size = 5281129, upload-time = "2025-07-01T09:15:35.194Z" }, + { url = "https://files.pythonhosted.org/packages/1f/70/d376247fb36f1844b42910911c83a02d5544ebd2a8bad9efcc0f707ea774/pillow-11.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f8a5827f84d973d8636e9dc5764af4f0cf2318d26744b3d902931701b0d46653", size = 4689580, upload-time = "2025-07-01T09:15:37.114Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1c/537e930496149fbac69efd2fc4329035bbe2e5475b4165439e3be9cb183b/pillow-11.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ee92f2fd10f4adc4b43d07ec5e779932b4eb3dbfbc34790ada5a6669bc095aa6", size = 5902860, upload-time = "2025-07-03T13:10:50.248Z" }, + { url = "https://files.pythonhosted.org/packages/bd/57/80f53264954dcefeebcf9dae6e3eb1daea1b488f0be8b8fef12f79a3eb10/pillow-11.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c96d333dcf42d01f47b37e0979b6bd73ec91eae18614864622d9b87bbd5bbf36", size = 7670694, upload-time = "2025-07-03T13:10:56.432Z" }, + { url = "https://files.pythonhosted.org/packages/70/ff/4727d3b71a8578b4587d9c276e90efad2d6fe0335fd76742a6da08132e8c/pillow-11.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c96f993ab8c98460cd0c001447bff6194403e8b1d7e149ade5f00594918128b", size = 6005888, upload-time = "2025-07-01T09:15:39.436Z" }, + { url = "https://files.pythonhosted.org/packages/05/ae/716592277934f85d3be51d7256f3636672d7b1abfafdc42cf3f8cbd4b4c8/pillow-11.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41342b64afeba938edb034d122b2dda5db2139b9a4af999729ba8818e0056477", size = 6670330, upload-time = "2025-07-01T09:15:41.269Z" }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7fe6cddcc8827b01b1a9766f5fdeb7418680744f9082035bdbabecf1d57f/pillow-11.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:068d9c39a2d1b358eb9f245ce7ab1b5c3246c7c8c7d9ba58cfa5b43146c06e50", size = 6114089, upload-time = "2025-07-01T09:15:43.13Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f5/06bfaa444c8e80f1a8e4bff98da9c83b37b5be3b1deaa43d27a0db37ef84/pillow-11.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a1bc6ba083b145187f648b667e05a2534ecc4b9f2784c2cbe3089e44868f2b9b", size = 6748206, upload-time = "2025-07-01T09:15:44.937Z" }, + { url = "https://files.pythonhosted.org/packages/f0/77/bc6f92a3e8e6e46c0ca78abfffec0037845800ea38c73483760362804c41/pillow-11.3.0-cp314-cp314t-win32.whl", hash = "sha256:118ca10c0d60b06d006be10a501fd6bbdfef559251ed31b794668ed569c87e12", size = 6377370, upload-time = "2025-07-01T09:15:46.673Z" }, + { url = "https://files.pythonhosted.org/packages/4a/82/3a721f7d69dca802befb8af08b7c79ebcab461007ce1c18bd91a5d5896f9/pillow-11.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:8924748b688aa210d79883357d102cd64690e56b923a186f35a82cbc10f997db", size = 7121500, upload-time = "2025-07-01T09:15:48.512Z" }, + { url = "https://files.pythonhosted.org/packages/89/c7/5572fa4a3f45740eaab6ae86fcdf7195b55beac1371ac8c619d880cfe948/pillow-11.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:79ea0d14d3ebad43ec77ad5272e6ff9bba5b679ef73375ea760261207fa8e0aa", size = 2512835, upload-time = "2025-07-01T09:15:50.399Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8e/9c089f01677d1264ab8648352dcb7773f37da6ad002542760c80107da816/pillow-11.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:48d254f8a4c776de343051023eb61ffe818299eeac478da55227d96e241de53f", size = 5316478, upload-time = "2025-07-01T09:15:52.209Z" }, + { url = "https://files.pythonhosted.org/packages/b5/a9/5749930caf674695867eb56a581e78eb5f524b7583ff10b01b6e5048acb3/pillow-11.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7aee118e30a4cf54fdd873bd3a29de51e29105ab11f9aad8c32123f58c8f8081", size = 4686522, upload-time = "2025-07-01T09:15:54.162Z" }, + { url = "https://files.pythonhosted.org/packages/43/46/0b85b763eb292b691030795f9f6bb6fcaf8948c39413c81696a01c3577f7/pillow-11.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:23cff760a9049c502721bdb743a7cb3e03365fafcdfc2ef9784610714166e5a4", size = 5853376, upload-time = "2025-07-03T13:11:01.066Z" }, + { url = "https://files.pythonhosted.org/packages/5e/c6/1a230ec0067243cbd60bc2dad5dc3ab46a8a41e21c15f5c9b52b26873069/pillow-11.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6359a3bc43f57d5b375d1ad54a0074318a0844d11b76abccf478c37c986d3cfc", size = 7626020, upload-time = "2025-07-03T13:11:06.479Z" }, + { url = "https://files.pythonhosted.org/packages/63/dd/f296c27ffba447bfad76c6a0c44c1ea97a90cb9472b9304c94a732e8dbfb/pillow-11.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:092c80c76635f5ecb10f3f83d76716165c96f5229addbd1ec2bdbbda7d496e06", size = 5956732, upload-time = "2025-07-01T09:15:56.111Z" }, + { url = "https://files.pythonhosted.org/packages/a5/a0/98a3630f0b57f77bae67716562513d3032ae70414fcaf02750279c389a9e/pillow-11.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cadc9e0ea0a2431124cde7e1697106471fc4c1da01530e679b2391c37d3fbb3a", size = 6624404, upload-time = "2025-07-01T09:15:58.245Z" }, + { url = "https://files.pythonhosted.org/packages/de/e6/83dfba5646a290edd9a21964da07674409e410579c341fc5b8f7abd81620/pillow-11.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6a418691000f2a418c9135a7cf0d797c1bb7d9a485e61fe8e7722845b95ef978", size = 6067760, upload-time = "2025-07-01T09:16:00.003Z" }, + { url = "https://files.pythonhosted.org/packages/bc/41/15ab268fe6ee9a2bc7391e2bbb20a98d3974304ab1a406a992dcb297a370/pillow-11.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:97afb3a00b65cc0804d1c7abddbf090a81eaac02768af58cbdcaaa0a931e0b6d", size = 6700534, upload-time = "2025-07-01T09:16:02.29Z" }, + { url = "https://files.pythonhosted.org/packages/64/79/6d4f638b288300bed727ff29f2a3cb63db054b33518a95f27724915e3fbc/pillow-11.3.0-cp39-cp39-win32.whl", hash = "sha256:ea944117a7974ae78059fcc1800e5d3295172bb97035c0c1d9345fca1419da71", size = 6277091, upload-time = "2025-07-01T09:16:04.4Z" }, + { url = "https://files.pythonhosted.org/packages/46/05/4106422f45a05716fd34ed21763f8ec182e8ea00af6e9cb05b93a247361a/pillow-11.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:e5c5858ad8ec655450a7c7df532e9842cf8df7cc349df7225c60d5d348c8aada", size = 6986091, upload-time = "2025-07-01T09:16:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/63/c6/287fd55c2c12761d0591549d48885187579b7c257bef0c6660755b0b59ae/pillow-11.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:6abdbfd3aea42be05702a8dd98832329c167ee84400a1d1f61ab11437f1717eb", size = 2422632, upload-time = "2025-07-01T09:16:08.142Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8b/209bd6b62ce8367f47e68a218bffac88888fdf2c9fcf1ecadc6c3ec1ebc7/pillow-11.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3cee80663f29e3843b68199b9d6f4f54bd1d4a6b59bdd91bceefc51238bcb967", size = 5270556, upload-time = "2025-07-01T09:16:09.961Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e6/231a0b76070c2cfd9e260a7a5b504fb72da0a95279410fa7afd99d9751d6/pillow-11.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b5f56c3f344f2ccaf0dd875d3e180f631dc60a51b314295a3e681fe8cf851fbe", size = 4654625, upload-time = "2025-07-01T09:16:11.913Z" }, + { url = "https://files.pythonhosted.org/packages/13/f4/10cf94fda33cb12765f2397fc285fa6d8eb9c29de7f3185165b702fc7386/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e67d793d180c9df62f1f40aee3accca4829d3794c95098887edc18af4b8b780c", size = 4874207, upload-time = "2025-07-03T13:11:10.201Z" }, + { url = "https://files.pythonhosted.org/packages/72/c9/583821097dc691880c92892e8e2d41fe0a5a3d6021f4963371d2f6d57250/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d000f46e2917c705e9fb93a3606ee4a819d1e3aa7a9b442f6444f07e77cf5e25", size = 6583939, upload-time = "2025-07-03T13:11:15.68Z" }, + { url = "https://files.pythonhosted.org/packages/3b/8e/5c9d410f9217b12320efc7c413e72693f48468979a013ad17fd690397b9a/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:527b37216b6ac3a12d7838dc3bd75208ec57c1c6d11ef01902266a5a0c14fc27", size = 4957166, upload-time = "2025-07-01T09:16:13.74Z" }, + { url = "https://files.pythonhosted.org/packages/62/bb/78347dbe13219991877ffb3a91bf09da8317fbfcd4b5f9140aeae020ad71/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:be5463ac478b623b9dd3937afd7fb7ab3d79dd290a28e2b6df292dc75063eb8a", size = 5581482, upload-time = "2025-07-01T09:16:16.107Z" }, + { url = "https://files.pythonhosted.org/packages/d9/28/1000353d5e61498aaeaaf7f1e4b49ddb05f2c6575f9d4f9f914a3538b6e1/pillow-11.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8dc70ca24c110503e16918a658b869019126ecfe03109b754c402daff12b3d9f", size = 6984596, upload-time = "2025-07-01T09:16:18.07Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e3/6fa84033758276fb31da12e5fb66ad747ae83b93c67af17f8c6ff4cc8f34/pillow-11.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7c8ec7a017ad1bd562f93dbd8505763e688d388cde6e4a010ae1486916e713e6", size = 5270566, upload-time = "2025-07-01T09:16:19.801Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ee/e8d2e1ab4892970b561e1ba96cbd59c0d28cf66737fc44abb2aec3795a4e/pillow-11.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9ab6ae226de48019caa8074894544af5b53a117ccb9d3b3dcb2871464c829438", size = 4654618, upload-time = "2025-07-01T09:16:21.818Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6d/17f80f4e1f0761f02160fc433abd4109fa1548dcfdca46cfdadaf9efa565/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fe27fb049cdcca11f11a7bfda64043c37b30e6b91f10cb5bab275806c32f6ab3", size = 4874248, upload-time = "2025-07-03T13:11:20.738Z" }, + { url = "https://files.pythonhosted.org/packages/de/5f/c22340acd61cef960130585bbe2120e2fd8434c214802f07e8c03596b17e/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:465b9e8844e3c3519a983d58b80be3f668e2a7a5db97f2784e7079fbc9f9822c", size = 6583963, upload-time = "2025-07-03T13:11:26.283Z" }, + { url = "https://files.pythonhosted.org/packages/31/5e/03966aedfbfcbb4d5f8aa042452d3361f325b963ebbadddac05b122e47dd/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5418b53c0d59b3824d05e029669efa023bbef0f3e92e75ec8428f3799487f361", size = 4957170, upload-time = "2025-07-01T09:16:23.762Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2d/e082982aacc927fc2cab48e1e731bdb1643a1406acace8bed0900a61464e/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:504b6f59505f08ae014f724b6207ff6222662aab5cc9542577fb084ed0676ac7", size = 5581505, upload-time = "2025-07-01T09:16:25.593Z" }, + { url = "https://files.pythonhosted.org/packages/34/e7/ae39f538fd6844e982063c3a5e4598b8ced43b9633baa3a85ef33af8c05c/pillow-11.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c84d689db21a1c397d001aa08241044aa2069e7587b398c8cc63020390b1c1b8", size = 6984598, upload-time = "2025-07-01T09:16:27.732Z" }, +] + +[[package]] +name = "pillow" +version = "12.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/1c/3d/bb7fca845737cf9d7dbde16ed1843984665ff2e0a518f5db43e77ec540b9/pillow-12.3.0.tar.gz", hash = "sha256:3b8182a766685eaa002637e28b4ec8d6b18819a0c71f579bf0dbaa5830297cce", size = 47025035, upload-time = "2026-07-01T11:56:38.965Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/c2/669d88644cddb1485bd9534e63e8cf476c8e51cb3c3a1297677023505c0e/pillow-12.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6c0016e7b354317c4e9e525b937ac8596c38d2d232b419529b9cd7a1cd46e39a", size = 5392418, upload-time = "2026-07-01T11:53:27.808Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ba/3762f376a2948e3036488d773a146e0ae6ecc2ca03ac20e2615bd0b2ba02/pillow-12.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bcc33feacfaefce60c12fd500a277533bdc02b10a19f7f6d348763d8140bbba7", size = 4785287, upload-time = "2026-07-01T11:53:29.761Z" }, + { url = "https://files.pythonhosted.org/packages/07/50/b5d688cc9c52d4482f3d5bcab6ce20bc2a74a85d2343841c907444a3be2c/pillow-12.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5594fc43d548a7ed94949d139aa1341b270f1863f11cfd37f5a6c8b778a6b67f", size = 6253754, upload-time = "2026-07-01T11:53:32.298Z" }, + { url = "https://files.pythonhosted.org/packages/4e/89/36f4cd76cf4baf05c50ababb976249153f18c959171c7f6ba09a6f217260/pillow-12.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0606c8bf2cdefea14a43530f7657cbbb7ecf1c4222512492ef4a4434a9501ec", size = 6925605, upload-time = "2026-07-01T11:53:34.487Z" }, + { url = "https://files.pythonhosted.org/packages/eb/c0/4de58cf6633b9e3a6061ef4be6fb91fc3c90b812ece886f531e3c523d777/pillow-12.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:85f998ea1848bc6757289e739cfbdda3a04adfd58b02fc018ce54d754a5ce468", size = 6327788, upload-time = "2026-07-01T11:53:36.433Z" }, + { url = "https://files.pythonhosted.org/packages/87/3c/14d53682a19550dbbaf3b598f807d5457646c510805a44c7d7891cd1cd1a/pillow-12.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:25b9b82bb22e6e2b3cd07b39c68b7b862001226cb3dff7130d1cb914121b39ed", size = 7036288, upload-time = "2026-07-01T11:53:38.712Z" }, + { url = "https://files.pythonhosted.org/packages/38/1d/36279e3c77efe034e4cc2b0393ee74ffdb5a62391dacbf9b916154f5f0b8/pillow-12.3.0-cp310-cp310-win32.whl", hash = "sha256:37dc8f7bbb66efe481bb60defacef820c950c24713fb44962ed6aa2a50966de1", size = 6472396, upload-time = "2026-07-01T11:53:40.781Z" }, + { url = "https://files.pythonhosted.org/packages/48/7c/8fa0039574c476d7c6fa57dd7c32a130436877c6ec1e5ce1cc8ec44878c1/pillow-12.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:300557495eb45ebb8aec96c2da9c4be642fbf7cd937278b4013ba894ea8eb0eb", size = 7226887, upload-time = "2026-07-01T11:53:42.764Z" }, + { url = "https://files.pythonhosted.org/packages/fa/17/e324be141d173c1c919428066c3259f21c1b8982e564e01a4a81e96dbdcf/pillow-12.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:514435a37670e3e5e08f3945b68718b6ed329bb84367777e16f9f4dfe1e61a0f", size = 2568039, upload-time = "2026-07-01T11:53:45.372Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c8/0a78b0e02d7ac54bc03e5321c9220da52f0c2ea83b21f7c40e7f3169c502/pillow-12.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:00808c5e14ef63ac5161091d242999076604ff74b883423a11e5d7bbb38bf756", size = 5392415, upload-time = "2026-07-01T11:53:47.162Z" }, + { url = "https://files.pythonhosted.org/packages/b2/5b/a02d30018abd97ced9f5a6c63d28597694a00d066516b9c1c6de45859fc9/pillow-12.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37d6d0a00072fd2948eb22bce7e1475f34569d90c87c59f7a2ec59541b77f7a6", size = 4785266, upload-time = "2026-07-01T11:53:49.079Z" }, + { url = "https://files.pythonhosted.org/packages/c8/98/766667a4be768150a202836acd9fad19c06824ca86c4286d3cf6b274964e/pillow-12.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bcb46e2f9feff8d06323983bd83ed00c201fdcab3d74973e7072a889b3979fcd", size = 6263814, upload-time = "2026-07-01T11:53:51.32Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2d/ede717bc1144f63886c21fd349bb95860b0d1a21149ff16f2bb362b612b6/pillow-12.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23d27a3e0307ec2244cc51e7287b919aa68d097504ebe19df4e76a98a3eea5bd", size = 6934408, upload-time = "2026-07-01T11:53:53.487Z" }, + { url = "https://files.pythonhosted.org/packages/a3/48/9c58b685e69d49c31af6c8eb9012055fab7e665785165c84796e2c73ce72/pillow-12.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4f883547d4b7f0495ebe7056b0cc2aea76094e7a4abc8e933540f3271df27d9c", size = 6337160, upload-time = "2026-07-01T11:53:55.457Z" }, + { url = "https://files.pythonhosted.org/packages/ff/fa/dc2a5c0ba6df93f67c31d34b808b7ce440b40cdbf96f0b81cde1d1e6fa93/pillow-12.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:236ff70b9312fb68943c703aa842ca6a758abfa45ac187a5e7c1452e96ef72b5", size = 7045172, upload-time = "2026-07-01T11:53:57.736Z" }, + { url = "https://files.pythonhosted.org/packages/86/a5/444817a4d4c4c2417df00513086ca196f388d8f9ef40c2e4ccd1ad1af54b/pillow-12.3.0-cp311-cp311-win32.whl", hash = "sha256:10e41f0fbf1eec8cfd234b8fe17a4caac7c9d0db4c204d3c173a8f9f6ef3232b", size = 6472232, upload-time = "2026-07-01T11:53:59.767Z" }, + { url = "https://files.pythonhosted.org/packages/63/c6/4bad1b18d132a50b27e1365e1ab163616f7a5bb56d330f66f9d1d9d4f9d4/pillow-12.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8e95e1385e4998ae9694eeaa4730ba5457ff61185b3a55e2e7bea0880aef452a", size = 7233653, upload-time = "2026-07-01T11:54:02.066Z" }, + { url = "https://files.pythonhosted.org/packages/fd/16/00f91ab7760dc842f5aad55217e80fc4a7067a0604535249bc8a2d6d9870/pillow-12.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:ebaea975e03d3141d9d3a507df75c9b3ec90fa9d2ffd07567b3a978d9d790b26", size = 2568195, upload-time = "2026-07-01T11:54:04.622Z" }, + { url = "https://files.pythonhosted.org/packages/37/bf/fb3ebff8ddcb76aac5a01389251bbbb9519922a9b520d8247c1ca864a25d/pillow-12.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbaeedd44953490b5315d5e965", size = 5345969, upload-time = "2026-07-01T11:54:06.397Z" }, + { url = "https://files.pythonhosted.org/packages/d8/66/9a386a92561f402389a4fc70c18838bf6d35eb5eb5c6850b4b2dc64f5048/pillow-12.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffd0c5368496f41b0944be820fcb7a838aa6e623d250b01acf2643939c3f99d7", size = 4780323, upload-time = "2026-07-01T11:54:09.351Z" }, + { url = "https://files.pythonhosted.org/packages/25/27/ac8f99618ffd3dde21db0f4d4b1d2ab00c0880595bfd17df103f7f39fd0c/pillow-12.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9c7f76c0673154f044e9d78c8655fb4213f6ca31a836df48b40fe5d187717b9", size = 6266838, upload-time = "2026-07-01T11:54:11.71Z" }, + { url = "https://files.pythonhosted.org/packages/84/21/a35af28dcc61f37ed850a2d64c65c701321dfbf25085e469d5559360cbbf/pillow-12.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:78cb2c6865a35ab8ff8b75fd122f6033b92a62c82801110e48ddd6c936a45d91", size = 6940830, upload-time = "2026-07-01T11:54:13.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/51/8b08617af3ad95e33ce6d7dd2c99ed6c8298f7fb131636303956be022e25/pillow-12.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e491916b378fba47242221bb9ead245211b70d504f495d105d17b14a24b4907c", size = 6344383, upload-time = "2026-07-01T11:54:15.756Z" }, + { url = "https://files.pythonhosted.org/packages/1d/72/cf78ac9780bb93c28328f408973845a309d4d145041665f734572ced1b52/pillow-12.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0dd2064cbc55aaec028ef5fbb60fa47bb6c3e7918e07ff17935284b227a9d2df", size = 7052934, upload-time = "2026-07-01T11:54:17.721Z" }, + { url = "https://files.pythonhosted.org/packages/20/20/25e0f4dc178a6bc0696793720055519a0de89e7661dae886992decbd2f81/pillow-12.3.0-cp312-cp312-win32.whl", hash = "sha256:dbce0b29841537a2fa4a214c2bbf14de3587c9680caa9b4e217568472490b28f", size = 6472684, upload-time = "2026-07-01T11:54:19.839Z" }, + { url = "https://files.pythonhosted.org/packages/45/89/da2f7971a317f83d807fdd4065c0af40208e59e692cc43d315a71a0e96d1/pillow-12.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a2b55dd6b2a4c4b7d87ffa56bdb33fdc5fdb9a462173861a7bc097f17d91cb09", size = 7227137, upload-time = "2026-07-01T11:54:22.025Z" }, + { url = "https://files.pythonhosted.org/packages/de/47/4845a0a6c0dbf1db8456bd9fc791f13c5ced7ced20606d08a0aacfd25b49/pillow-12.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:331b624368d4f1d069149002f25f44bc61c8919ce8ddb3c45bdad8f6e2d89510", size = 2568267, upload-time = "2026-07-01T11:54:24.051Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ac/31fb64e1e7efb5a4b50cd3d92049ba89ac6e4d8d3bb6a74e15048ca3353e/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:21900ce7ba264168cd50defae43cd75d25c833ad4ad6e73ffc5596d12e25ac89", size = 4161684, upload-time = "2026-07-01T11:54:25.934Z" }, + { url = "https://files.pythonhosted.org/packages/87/b4/9805e23d2b4d77842b468513841fda254ee42f0289d25088340e4ff46e2d/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4e8c2a84d977f50b9daed6eeaf3baef67d00d5d74d932288f02cb94518ee3ace", size = 4255487, upload-time = "2026-07-01T11:54:27.935Z" }, + { url = "https://files.pythonhosted.org/packages/df/39/ecf519435a200c693fe053a6ee4d835b41cf963a4dfc2551c4e637cb2a71/pillow-12.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ae26d61dfa7a47befdc7572b521024e8745f3d809bd95ca9505a7bba9ef849ec", size = 3696433, upload-time = "2026-07-01T11:54:29.813Z" }, + { url = "https://files.pythonhosted.org/packages/42/92/2fc3ffad878ae8dd5469ec1bc8eb83b71f48e13efdf68f02709003982a32/pillow-12.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a743ff716f746fc19a9557f60dab1600d4613255f8a7aeb3cdde4db7eb15a66", size = 5345889, upload-time = "2026-07-01T11:54:31.97Z" }, + { url = "https://files.pythonhosted.org/packages/10/76/8803c13605b763d33d156c4678fc77f8443389c0c51c8aef707bb02015f4/pillow-12.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d69141514cc30b774ceea5e3ed3a6635c8d8a96edf664689b890f4089111fb35", size = 4780109, upload-time = "2026-07-01T11:54:34.026Z" }, + { url = "https://files.pythonhosted.org/packages/1f/01/e18aff37cb0b4aac47ac90f016d347a49aca667ef97f190b06ac2aabc928/pillow-12.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f7401aebd7f581d7f83a439d87d474999317ee099218e5ad25d125290990ba65", size = 6263736, upload-time = "2026-07-01T11:54:36.131Z" }, + { url = "https://files.pythonhosted.org/packages/f7/62/de5bdd77d935331f4f802edc11e4d82950f642caad6cb2f949837b8560e2/pillow-12.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0847a763afefb695bc912d7c131e7e0632d4edc1d8698f58ddabec8e46b8b6d3", size = 6937129, upload-time = "2026-07-01T11:54:38.216Z" }, + { url = "https://files.pythonhosted.org/packages/70/4d/105627a13300c5e0df1d174230b32fd1273062c96f7745fd552b945d1e1d/pillow-12.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:571b9fcb07b97ef3a492028fb3d2dc0993ca23a06138b0315286566d29ef718a", size = 6339562, upload-time = "2026-07-01T11:54:40.354Z" }, + { url = "https://files.pythonhosted.org/packages/6b/1d/f13de01a553988ab895ba1c722e06cf3144d4f57656fd5b81b6d881f1179/pillow-12.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:756c768d0c9c2955feb7a56c37ea24aea2e369f8d36a88da270b6a9f19e62b5e", size = 7049439, upload-time = "2026-07-01T11:54:42.489Z" }, + { url = "https://files.pythonhosted.org/packages/c9/f9/066794cca041b969964f779ee5fa66a9498bbf34248ac39c5d7954e4198f/pillow-12.3.0-cp313-cp313-win32.whl", hash = "sha256:a876864214e136f0eb367788dbd7df045f4806801518e2cfe9e13229cfe06d8f", size = 6473287, upload-time = "2026-07-01T11:54:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9b/7a58e61d62be561da3a356fe2384d4059a6345fc130e23ef1c36a5b81d24/pillow-12.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1cca606cd25738df4ed873d5ad46bbdb3d83b5cbca291f6b4ff13a4df6b0bbe8", size = 7239691, upload-time = "2026-07-01T11:54:47.141Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b0/c4ed4f0ef8f8fa5ee8351537db6650bb8189f7e118842978dd6589065692/pillow-12.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b629de27fda84b42cde7edef0d85f13b958b47f6e9bbcbba9b673c562a89bd8b", size = 2568185, upload-time = "2026-07-01T11:54:49.137Z" }, + { url = "https://files.pythonhosted.org/packages/dc/01/001f65b68192f0228cc1dbbc8d2530ab5d58b61037ba0587f946fea607cd/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9cf95fe4d0f84c82d282745d9bb08ad9f926efa00be4697e767b814ce40d4330", size = 4161736, upload-time = "2026-07-01T11:54:51.156Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d2/0219746d0fd16fc8a84498e79452375be3797d3ce4044596ce565164b84f/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8728f216dcdb6e6d555cf971cb34076139ad74b31fc2c14da4fafc741c5f6217", size = 4255435, upload-time = "2026-07-01T11:54:53.414Z" }, + { url = "https://files.pythonhosted.org/packages/c8/02/8d0bc62ef0302318c46ff2a512822d2610e81c7aa46c9b3abe6cbaca5ad0/pillow-12.3.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a45650e8ce7fafffd731db8550230db6b0d306d181a90b67d3e6bca2f1990930", size = 3696262, upload-time = "2026-07-01T11:54:55.739Z" }, + { url = "https://files.pythonhosted.org/packages/85/e2/73c77d218410b14f5f2d565e8a998d5317b7b9c75368d29985139f7a46f0/pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ba54cfebe86920a559a7c4d6b9050791c20513650a1952ebe3368c7dc70306f8", size = 5350344, upload-time = "2026-07-01T11:54:57.657Z" }, + { url = "https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e158cb00350dc278f3b91551101aa7d12415a66ebf2c91d8d5ac14e56ddd3ad0", size = 4780131, upload-time = "2026-07-01T11:54:59.713Z" }, + { url = "https://files.pythonhosted.org/packages/b1/9d/8b2c807dbef61a5197c047afe99823787eb66f63daf9fb2432f91d6f0462/pillow-12.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9aeb04d6aef139de265b29683e119b638208f88cf73cdd1658aa07221165321", size = 6263757, upload-time = "2026-07-01T11:55:01.778Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/c85361f65dbe00eea8576ee467c768d25129989efb76e94f205e9ca9bb46/pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:251bf95b67017e27b13d82f5b326234ca62d70f9cf4c2b9032de2358a3b12c7b", size = 6936962, upload-time = "2026-07-01T11:55:03.93Z" }, + { url = "https://files.pythonhosted.org/packages/18/7e/e483414b35800b86b6f08dbbc7803fb5cd52c4d6f897f47d53ea2c7e6f65/pillow-12.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe3cca2e4e8a592be0f269a1ca4835c25199d9f3ce815c8491048f785b0a0198", size = 6339171, upload-time = "2026-07-01T11:55:05.989Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f4/68c491844841ede6bed70189546b3ee9731cf9f2cbad396faff5e1ccba45/pillow-12.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:23aceaa007d6172b02c277f0cd359c79492bbb14f7072b4ede9fbcaf20648130", size = 7048116, upload-time = "2026-07-01T11:55:08.131Z" }, + { url = "https://files.pythonhosted.org/packages/a3/34/77f3f793fed8efc7d243f21b33c5a3f0d1c97ee70346d3db855587e155ff/pillow-12.3.0-cp314-cp314-win32.whl", hash = "sha256:af8d94b0db561cf68b88a267c5c44b49e134f525d0dc2cb7ed413a66bc23559a", size = 6467209, upload-time = "2026-07-01T11:55:10.408Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e0/492879f69d94f91f60fc8cd05ba03650e9520afebb2fb7aa12777d7c7f38/pillow-12.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:fdafc9cce40277e0f7a0feabce0ee50dd2fa1800f3b38015e51296b5e814048d", size = 7237707, upload-time = "2026-07-01T11:55:12.745Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ac/6b11f2875f1c2ac040d84e1bbf9cf22a88038f901ca1037898b280b38365/pillow-12.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:e91206ee562682b51b98ef4b26a6ef48fd84e15fd4c4bc5ec768eb641d206838", size = 2565995, upload-time = "2026-07-01T11:55:14.736Z" }, + { url = "https://files.pythonhosted.org/packages/52/69/c2208e56af9bfc1913afb24020297a691eb1d4ef688474c8a04913f65e04/pillow-12.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:164b31cd1a0490ab6efae01aa5df49da7061be0af1b30e035b6e9a1bfe34ee6e", size = 5352503, upload-time = "2026-07-01T11:55:17.076Z" }, + { url = "https://files.pythonhosted.org/packages/07/70/e5686d753e898a45d778ff1718dba8516ead6ab6b95d85fc8c4b70650cf2/pillow-12.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5afb51d599ea772b8365ae807ae557f18bccfe46ab261fd1c2a9ed700fc6eb17", size = 4782956, upload-time = "2026-07-01T11:55:19.448Z" }, + { url = "https://files.pythonhosted.org/packages/d5/37/25c6692f06927ee973ff18c8d9ee98ad0b4d84ee67a09610c2dd1447958e/pillow-12.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3edce1d53195db527e0191f84b71d02022de0540bf43a16ed734ed7537b07385", size = 6322855, upload-time = "2026-07-01T11:55:21.613Z" }, + { url = "https://files.pythonhosted.org/packages/cc/91/420637fcb8f1bc11029e403b4538e6694744428d8246118e45719f944556/pillow-12.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf16ba1b4d0b6b7c8e534936632270cf70eb00dbe09005bc345b2677b726855c", size = 6989642, upload-time = "2026-07-01T11:55:24.006Z" }, + { url = "https://files.pythonhosted.org/packages/10/08/b94d7811281ccf0d143a1cf768d1c49e1e54af63e7b708ab2ee3eb87face/pillow-12.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:24870b09b224f7ae3c39ed07d10e819d06f8720bc551847b1d623832b5b0e28d", size = 6391281, upload-time = "2026-07-01T11:55:26.252Z" }, + { url = "https://files.pythonhosted.org/packages/d2/87/24233f785f55474dc02ce3e739c5528a77e3a862e9333d1dd7a25cc31f70/pillow-12.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:30f2aa603c41533cc25c05acd0da21636e84a315768feb631c937177db558931", size = 7096716, upload-time = "2026-07-01T11:55:28.318Z" }, + { url = "https://files.pythonhosted.org/packages/23/26/fcb2f6e37175b04f53570b59937867e2b80ee1685e744023153028fc14f9/pillow-12.3.0-cp314-cp314t-win32.whl", hash = "sha256:4b0a7fe987b14c31ebda6083f74f22b561fd3739bc0ac51e019622e3d72668c7", size = 6474125, upload-time = "2026-07-01T11:55:30.956Z" }, + { url = "https://files.pythonhosted.org/packages/90/de/3634abee5f1c9e13c56787b7d5517b0ba8d6de51700b95578cf338349c9f/pillow-12.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:962864dc93511324d51ddbb5b9f8731bf71675b93ca612a07441896f4688fb8c", size = 7242939, upload-time = "2026-07-01T11:55:34.044Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2a/fd13f8eb24de5714a6eb444a3d67e2842c6c576e159a43793adf23051351/pillow-12.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0740a512dc522224c77d9aa5a8d70d8b7d73fb91f2c21125d8d025d3b8990e45", size = 2567506, upload-time = "2026-07-01T11:55:35.988Z" }, + { url = "https://files.pythonhosted.org/packages/5d/dc/8fdce34ec725a33c81c6ba122b904d6b9024e50ea9ac7bede62fab54506c/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0feb2e9d6ad6c9e3c06effe9d00f3f1e618a6643273576b016f591e9315a7139", size = 4162063, upload-time = "2026-07-01T11:55:37.941Z" }, + { url = "https://files.pythonhosted.org/packages/76/66/2044b9a63d3b84ff048228dfcb7cd9bf0df983e8470971bf7d4c57b693de/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:9e881fca225083806662a5c43d627d215f258ff43c890f831966c7d7ba9c7402", size = 4255549, upload-time = "2026-07-01T11:55:40.022Z" }, + { url = "https://files.pythonhosted.org/packages/52/7e/1f67e6f4ece6b582ee4b539decbcc9f848dc245a93ed8cd7338bafef72f1/pillow-12.3.0-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:4998562bf62a445225f22e07c896bb04b35b1b1f2eb6d760584c9c51d7a5f78c", size = 3696331, upload-time = "2026-07-01T11:55:41.98Z" }, + { url = "https://files.pythonhosted.org/packages/12/40/d306fc2c8e4d45d7f175c77edca7063be7b86fe7fe6e68f4353bf71d808c/pillow-12.3.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:dc624f6bc473dacdf7ef7eb8678d0d08edf15cd94fad6ae5c7d6cc67a4e4902f", size = 5350370, upload-time = "2026-07-01T11:55:44.028Z" }, + { url = "https://files.pythonhosted.org/packages/dd/44/668fb1437e8ce420f62d6106eb66e44a5971602a4d794615bdf79315d82d/pillow-12.3.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:71d6097b330eea8fd15097780c8e89cb1a8ce7838669f48c5bacd6f663dd4701", size = 4780147, upload-time = "2026-07-01T11:55:46.073Z" }, + { url = "https://files.pythonhosted.org/packages/0c/08/93fa2e70e30a2d81547e481b6ee2bb9522117221fb1e0ce4b5df70967677/pillow-12.3.0-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:28ce87c5ab450a9dd970b52e5aca5fe63ed432d18a2eaddd1979a00a1ba24ace", size = 6273659, upload-time = "2026-07-01T11:55:48.264Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6d/043e96ff814fc31a33077e4cba86082167db520c93632afdf2042febbb0c/pillow-12.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b02afb9b97f65fbca5f31db6a2a3ba21aa93030225f150fa3f249717e938fb4", size = 6947439, upload-time = "2026-07-01T11:55:50.503Z" }, + { url = "https://files.pythonhosted.org/packages/af/92/ba71d2ee2ac0edf3fa33bd9d5ee9ee080da70b1766f3ca3934f9938ddac9/pillow-12.3.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:1182d52bc2d5e5d7d0949503aa7e36d12f42205dc287e4883f407b1988820d39", size = 6353577, upload-time = "2026-07-01T11:55:52.697Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ce/e63064e2122923ff687c8ad792d0d736a7b3920a56a46982e81a7fdd25d6/pillow-12.3.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:e795b7eb908249c4e43c7c99fac7c2c75dab0c43566e37db472a355f63693d71", size = 7060394, upload-time = "2026-07-01T11:55:55.149Z" }, + { url = "https://files.pythonhosted.org/packages/54/76/a09cc3ccc8d773a7283d34c38bec1708f9e3cc932093cbc4c5e71ac4060b/pillow-12.3.0-cp315-cp315-win32.whl", hash = "sha256:57b3d78c95ba9059768b10e28b813002261d3f3dfc55cc48b0c988f625175827", size = 6467375, upload-time = "2026-07-01T11:55:57.769Z" }, + { url = "https://files.pythonhosted.org/packages/3e/03/1846c49ba3b1d5550392a4bbd06d6fb4578e1cd91a803198b5c90f5f7d53/pillow-12.3.0-cp315-cp315-win_amd64.whl", hash = "sha256:fa4ecea169a355be7a3ade2c783e2ed12f0e40d2c5621cda8b3297faf7fbb9f5", size = 7237048, upload-time = "2026-07-01T11:55:59.975Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/89f35dcc79610423f9f195504d7def7f0d1416a711541b42867e25fe3412/pillow-12.3.0-cp315-cp315-win_arm64.whl", hash = "sha256:877c3f311ff35410f690861c4409e7ccbf0cd2f878e50628a28e5a0bb689e658", size = 2566006, upload-time = "2026-07-01T11:56:02.143Z" }, + { url = "https://files.pythonhosted.org/packages/30/88/707027ba09942dfa2c28759b5c222d769290a41c6d20ea60ec250801941f/pillow-12.3.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:e9871b1ffbfa9656b60aeee92ed5136a5742696006fa322b29ea3d8da0ecc9cf", size = 5352509, upload-time = "2026-07-01T11:56:04.2Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6d/00352fa25332c2569cd387851f568cc5a4b75a9adbfb37ac4fbce4c02eec/pillow-12.3.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:53aa02d20d10c3d814d536aa4e5ac9b84ca0ff5a88377963b085ad6822f93e64", size = 4783167, upload-time = "2026-07-01T11:56:06.631Z" }, + { url = "https://files.pythonhosted.org/packages/13/4f/9e049dfa21af7c22427275720e2490267ba8138120add5c4c574deb69782/pillow-12.3.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:446c34dcc4324b084a53b705127dc15717b22c5e140ae0a3c38349d4efec071e", size = 6329237, upload-time = "2026-07-01T11:56:08.868Z" }, + { url = "https://files.pythonhosted.org/packages/36/16/cf6eeaae8d0fce8dd390a33437cf68c5d5bd73834a2bc6e2f14efda0ab45/pillow-12.3.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf1845d02ad822a369a49f2bb9345b1614744267682e7a03527dc3bf6eea1777", size = 6997047, upload-time = "2026-07-01T11:56:11.379Z" }, + { url = "https://files.pythonhosted.org/packages/1e/69/dbf769bdd55f48bf5733cac28edc6364ffaa072ec9ba336266e4fe66be55/pillow-12.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:186941b6aef820ad110fb01fb06eb925374dc3a21b17e37ec9a53b250c6fe2d1", size = 6400440, upload-time = "2026-07-01T11:56:13.908Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e1/ffc9cfc2eea0d178da8018e18e959301ad9d6bc9f3edb7181e748a474b97/pillow-12.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:f13c32a3abd6079a66d9526e18dad9b6d280384d49d7c54040cd57b6424041d9", size = 7105895, upload-time = "2026-07-01T11:56:16.575Z" }, + { url = "https://files.pythonhosted.org/packages/18/f0/a5595c1e8c3ae44b9828cb2f0fa8155e5095ef04d6327b8f61cf44a3df85/pillow-12.3.0-cp315-cp315t-win32.whl", hash = "sha256:1657923d2d45afb66526e5b933e5b3052e6bdea196c90d3abb2424e18c77dae8", size = 6474384, upload-time = "2026-07-01T11:56:18.855Z" }, + { url = "https://files.pythonhosted.org/packages/e4/04/62bcd9f844984c5938d3b05264a61d797a29d3e0812341a8204af70bbdee/pillow-12.3.0-cp315-cp315t-win_amd64.whl", hash = "sha256:8cd2f7bdda092d99c9fc2fb7391354f306d01443d22785d0cbfafa2e2c8bb418", size = 7243537, upload-time = "2026-07-01T11:56:21.214Z" }, + { url = "https://files.pythonhosted.org/packages/3d/68/1f3066acedf37673694a7141381d8f811ae97f30d34413d236abe7d489f1/pillow-12.3.0-cp315-cp315t-win_arm64.whl", hash = "sha256:06ff022112bc9cbf83b60f8e028d94ad87b60621706487e65f673de61610ab59", size = 2567491, upload-time = "2026-07-01T11:56:23.506Z" }, + { url = "https://files.pythonhosted.org/packages/75/18/2e8b40223153ccbc60df07f9e8928dc0c76202aa4e55ae9f53962b6510d6/pillow-12.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b3c777e849237620b022f7f297dd67705f9f5cf1685f09f02e46f93e92725468", size = 5302510, upload-time = "2026-07-01T11:56:25.736Z" }, + { url = "https://files.pythonhosted.org/packages/46/3e/51fabf59d5ab801ceab709453d3ab6b180083496579549de4c45ced6528a/pillow-12.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:b343699e8308bdc51978310e1c959c584e7869cc8c40780058c87da7781a1e94", size = 4736058, upload-time = "2026-07-01T11:56:28.041Z" }, + { url = "https://files.pythonhosted.org/packages/bf/20/22fe9384b7949e25fb1293bcfc84fb82590ff4ea6b37c95b24d26d793d86/pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbd139c8447d25dd750ab79ee274cc5e1fe80fc56340ab10b18a195e1b6eca3e", size = 5237776, upload-time = "2026-07-01T11:56:30.263Z" }, + { url = "https://files.pythonhosted.org/packages/08/14/f6ba68107680ffa74b39985f3f30884e41318fbc4250caa423c79b4788bb/pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e7e480451b9fa137494bccd3a7d69adbe8ac65a87d97be61e11f1b1050a5bac3", size = 5860358, upload-time = "2026-07-01T11:56:32.68Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0169bc772ec491108b62f644f8ecf1fe5d8ae5ebafde2ee2142210166903/pillow-12.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:04f01d28a6aaff387bf842a13be313df23ba0597a44f1a976c9feb3c6ff4711a", size = 7231786, upload-time = "2026-07-01T11:56:35.046Z" }, +] + +[[package]] +name = "poseguard-nerf" +version = "0.1.0" +source = { virtual = "." } + +[package.optional-dependencies] +analysis = [ + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.9", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "matplotlib", version = "3.11.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "numpy", version = "2.5.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pillow", version = "10.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pillow", version = "11.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pillow", version = "12.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] + +[package.metadata] +requires-dist = [ + { name = "matplotlib", marker = "extra == 'analysis'", specifier = ">=3.7" }, + { name = "numpy", marker = "extra == 'analysis'", specifier = ">=1.24" }, + { name = "pillow", marker = "extra == 'analysis'", specifier = ">=10" }, +] +provides-extras = ["analysis"] + +[[package]] +name = "pyparsing" +version = "3.1.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231, upload-time = "2024-08-25T15:00:47.416Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100, upload-time = "2024-08-25T15:00:45.361Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/e4/11/b213bebff182584360cb8d17c72c1677fec5c5c228de439e63bcf8ab1c8f/pyparsing-3.3.3.tar.gz", hash = "sha256:928ae7e20211f3b6f3915a72f06a0cfd29ab9d24279dd6346b6b1a7146397d36", size = 1050487, upload-time = "2026-09-20T20:59:05.609Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/bb/d215ee7c73b61497b28a5503f9f53523f294fcc936762b7caf90e0c1c2b5/pyparsing-3.3.3-py3-none-any.whl", hash = "sha256:ece8c00a69cf01b45d0b1dedabb469c90d8caf996d4fda40f147627a122849a4", size = 126420, upload-time = "2026-09-20T20:59:04.025Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "zipp" +version = "3.20.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199, upload-time = "2024-09-13T13:44:16.101Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200, upload-time = "2024-09-13T13:44:14.38Z" }, +] + +[[package]] +name = "zipp" +version = "3.23.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/30/21/093488dfc7cc8964ded15ab726fad40f25fd3d788fd741cc1c5a17d78ee8/zipp-3.23.1.tar.gz", hash = "sha256:32120e378d32cd9714ad503c1d024619063ec28aad2248dc6672ad13edfa5110", size = 25965, upload-time = "2026-04-13T23:21:46.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/8a/0861bec20485572fbddf3dfba2910e38fe249796cb73ecdeb74e07eeb8d3/zipp-3.23.1-py3-none-any.whl", hash = "sha256:0b3596c50a5c700c9cb40ba8d86d9f2cc4807e9bedb06bcdf7fac85633e444dc", size = 10378, upload-time = "2026-04-13T23:21:45.386Z" }, +] From 350d013302043360bf640004d9e8d715b9acb5a6 Mon Sep 17 00:00:00 2001 From: chu-jiaming Date: Wed, 14 Oct 2026 18:10:44 +0800 Subject: [PATCH 4/6] feat: import showcase renders and build README figures Renders and videos were produced on the training server from the existing step-29,999 checkpoints (no new training, inference near=0 as in the historical evaluation). import_delivery.py keeps only per-image metrics, slimmed TensorBoard scalars (333 MB -> 2 MB), pose diagnostics and provenance; make_figures.py builds docs/assets/. Co-Authored-By: Claude Opus 5.5 --- .../analysis/showcase_renders/error_map.json | 7 + .../analysis/showcase_renders/metrics.csv | 97 + .../diagnostics/camp_SV100-GT.jsonl | 31 + .../diagnostics/camp_SV100-R0.5.jsonl | 31 + .../diagnostics/camp_SV100-R1.jsonl | 31 + .../diagnostics/camp_SV100-R2.jsonl | 31 + .../diagnostics/camp_SV100-R5.jsonl | 31 + .../diagnostics/camp_SV100-T0.5.jsonl | 31 + .../diagnostics/camp_SV100-T1.jsonl | 31 + .../diagnostics/camp_SV100-T2.jsonl | 31 + .../diagnostics/camp_SV100-T5.jsonl | 31 + .../diagnostics/camp_warmup_SV100-GT.jsonl | 31 + .../diagnostics/camp_warmup_SV100-R0.5.jsonl | 31 + .../diagnostics/camp_warmup_SV100-R1.jsonl | 31 + .../diagnostics/camp_warmup_SV100-R2.jsonl | 31 + .../diagnostics/camp_warmup_SV100-R5.jsonl | 31 + .../diagnostics/camp_warmup_SV100-T0.5.jsonl | 31 + .../diagnostics/camp_warmup_SV100-T1.jsonl | 31 + .../diagnostics/camp_warmup_SV100-T2.jsonl | 31 + .../diagnostics/camp_warmup_SV100-T5.jsonl | 31 + .../diagnostics/naive_SV100-GT.jsonl | 31 + .../diagnostics/naive_SV100-R0.5.jsonl | 31 + .../diagnostics/naive_SV100-R1.jsonl | 31 + .../diagnostics/naive_SV100-R2.jsonl | 31 + .../diagnostics/naive_SV100-R5.jsonl | 31 + .../diagnostics/naive_SV100-T0.5.jsonl | 31 + .../diagnostics/naive_SV100-T1.jsonl | 31 + .../diagnostics/naive_SV100-T2.jsonl | 31 + .../diagnostics/naive_SV100-T5.jsonl | 31 + .../diagnostics/naive_warmup_SV100-GT.jsonl | 31 + .../diagnostics/naive_warmup_SV100-R0.5.jsonl | 31 + .../diagnostics/naive_warmup_SV100-R1.jsonl | 31 + .../diagnostics/naive_warmup_SV100-R2.jsonl | 31 + .../diagnostics/naive_warmup_SV100-R5.jsonl | 31 + .../diagnostics/naive_warmup_SV100-T0.5.jsonl | 31 + .../diagnostics/naive_warmup_SV100-T1.jsonl | 31 + .../diagnostics/naive_warmup_SV100-T2.jsonl | 31 + .../diagnostics/naive_warmup_SV100-T5.jsonl | 31 + .../analysis/training_curves/tb_scalars.csv | 14977 ++++++++++++++++ artifacts/records/showcase/DELIVERY_REPORT.md | 145 + .../records/showcase/checkpoints_index.json | 34 + artifacts/records/showcase/inventory.json | 1044 ++ .../server_scripts/complete_delivery.py | 1 + .../showcase/server_scripts/encode_videos.py | 38 + .../showcase/server_scripts/export_curves.py | 34 + .../showcase/server_scripts/finalize.py | 1 + .../records/showcase/server_scripts/gates.py | 128 + .../showcase/server_scripts/inventory.py | 56 + .../records/showcase/server_scripts/render.py | 139 + .../showcase/server_scripts/resume_io.py | 29 + .../showcase/server_scripts/run_gate.sh | 5 + .../showcase/server_scripts/run_stages.py | 28 + .../showcase/server_scripts/save_report.py | 1 + .../records/showcase/server_scripts/status.py | 11 + .../records/showcase/server_scripts/watch.py | 15 + docs/assets/drift_over_training.png | Bin 0 -> 89658 bytes docs/assets/hero_drift.png | Bin 0 -> 757757 bytes docs/assets/perturbation_grid.png | Bin 0 -> 819167 bytes docs/assets/psnr_matrix.png | Bin 0 -> 107223 bytes docs/assets/t5_side_by_side.gif | Bin 0 -> 2986610 bytes scripts/showcase/import_delivery.py | 91 + scripts/showcase/make_figures.py | 209 + 62 files changed, 18206 insertions(+) create mode 100644 artifacts/analysis/showcase_renders/error_map.json create mode 100644 artifacts/analysis/showcase_renders/metrics.csv create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-GT.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-R0.5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-R1.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-R2.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-R5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-T0.5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-T1.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-T2.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_SV100-T5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-GT.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R0.5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R1.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R2.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T0.5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T1.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T2.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-GT.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-R0.5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-R1.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-R2.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-R5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-T0.5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-T1.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-T2.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_SV100-T5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-GT.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R0.5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R1.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R2.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T0.5.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T1.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T2.jsonl create mode 100644 artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T5.jsonl create mode 100644 artifacts/analysis/training_curves/tb_scalars.csv create mode 100644 artifacts/records/showcase/DELIVERY_REPORT.md create mode 100644 artifacts/records/showcase/checkpoints_index.json create mode 100644 artifacts/records/showcase/inventory.json create mode 100644 artifacts/records/showcase/server_scripts/complete_delivery.py create mode 100644 artifacts/records/showcase/server_scripts/encode_videos.py create mode 100644 artifacts/records/showcase/server_scripts/export_curves.py create mode 100644 artifacts/records/showcase/server_scripts/finalize.py create mode 100644 artifacts/records/showcase/server_scripts/gates.py create mode 100644 artifacts/records/showcase/server_scripts/inventory.py create mode 100644 artifacts/records/showcase/server_scripts/render.py create mode 100644 artifacts/records/showcase/server_scripts/resume_io.py create mode 100644 artifacts/records/showcase/server_scripts/run_gate.sh create mode 100644 artifacts/records/showcase/server_scripts/run_stages.py create mode 100644 artifacts/records/showcase/server_scripts/save_report.py create mode 100644 artifacts/records/showcase/server_scripts/status.py create mode 100644 artifacts/records/showcase/server_scripts/watch.py create mode 100644 docs/assets/drift_over_training.png create mode 100644 docs/assets/hero_drift.png create mode 100644 docs/assets/perturbation_grid.png create mode 100644 docs/assets/psnr_matrix.png create mode 100644 docs/assets/t5_side_by_side.gif create mode 100644 scripts/showcase/import_delivery.py create mode 100644 scripts/showcase/make_figures.py diff --git a/artifacts/analysis/showcase_renders/error_map.json b/artifacts/analysis/showcase_renders/error_map.json new file mode 100644 index 0000000..7b94f5b --- /dev/null +++ b/artifacts/analysis/showcase_renders/error_map.json @@ -0,0 +1,7 @@ +{ + "range": [ + 0, + 0.3 + ], + "colormap": "turbo" +} diff --git a/artifacts/analysis/showcase_renders/metrics.csv b/artifacts/analysis/showcase_renders/metrics.csv new file mode 100644 index 0000000..cc42118 --- /dev/null +++ b/artifacts/analysis/showcase_renders/metrics.csv @@ -0,0 +1,97 @@ +condition,method,mode,view,psnr,ssim,lpips,near_effective,far_effective,check_type,check_passed,file +SV100-GT,camp,aligned,0,25.65079116821289,0.873401403427124,0.09664696455001831,0.0,6.061696212532236,per_view,True,stills/SV100-GT/camp/view_000_aligned.png +SV100-GT,camp,raw,0,20.480253219604492,0.7930014133453369,0.12144644558429718,0.0,6.0,,,stills/SV100-GT/camp/view_000_raw.png +SV100-GT,camp,aligned,50,27.302213668823242,0.8825002908706665,0.0908835232257843,0.0,6.061696212532236,per_view,True,stills/SV100-GT/camp/view_050_aligned.png +SV100-GT,camp,raw,50,21.083436965942383,0.7939741611480713,0.12447699159383774,0.0,6.0,,,stills/SV100-GT/camp/view_050_raw.png +SV100-GT,camp,aligned,100,27.523164749145508,0.9148101806640625,0.08571013808250427,0.0,6.061696212532236,per_view,True,stills/SV100-GT/camp/view_100_aligned.png +SV100-GT,camp,raw,100,21.441932678222656,0.8623412251472473,0.10873284935951233,0.0,6.0,,,stills/SV100-GT/camp/view_100_raw.png +SV100-GT,camp,aligned,175,25.491483688354492,0.8583532571792603,0.10342660546302795,0.0,6.061696212532236,per_view,True,stills/SV100-GT/camp/view_175_aligned.png +SV100-GT,camp,raw,175,17.739980697631836,0.7079042792320251,0.15109430253505707,0.0,6.0,,,stills/SV100-GT/camp/view_175_raw.png +SV100-GT,camp_warmup,aligned,0,26.323505401611328,0.8807103633880615,0.09219220280647278,0.0,6.049962017011957,per_view,True,stills/SV100-GT/camp_warmup/view_000_aligned.png +SV100-GT,camp_warmup,raw,0,24.31893539428711,0.8551210165023804,0.09970083087682724,0.0,6.0,,,stills/SV100-GT/camp_warmup/view_000_raw.png +SV100-GT,camp_warmup,aligned,50,28.027498245239258,0.8887835741043091,0.0909544825553894,0.0,6.049962017011957,per_view,True,stills/SV100-GT/camp_warmup/view_050_aligned.png +SV100-GT,camp_warmup,raw,50,23.411909103393555,0.8269548416137695,0.1112903505563736,0.0,6.0,,,stills/SV100-GT/camp_warmup/view_050_raw.png +SV100-GT,camp_warmup,aligned,100,27.821537017822266,0.9173023104667664,0.07916460931301117,0.0,6.049962017011957,per_view,True,stills/SV100-GT/camp_warmup/view_100_aligned.png +SV100-GT,camp_warmup,raw,100,23.329647064208984,0.8828743100166321,0.0911136120557785,0.0,6.0,,,stills/SV100-GT/camp_warmup/view_100_raw.png +SV100-GT,camp_warmup,aligned,175,24.99116325378418,0.8541496992111206,0.09792157262563705,0.0,6.049962017011957,per_view,True,stills/SV100-GT/camp_warmup/view_175_aligned.png +SV100-GT,camp_warmup,raw,175,19.43463134765625,0.7356473207473755,0.1258997917175293,0.0,6.0,,,stills/SV100-GT/camp_warmup/view_175_raw.png +SV100-GT,fixed,raw,0,27.22379493713379,0.8972558379173279,0.0783131867647171,0.0,6.0,per_view,True,stills/SV100-GT/fixed/view_000_raw.png +SV100-GT,fixed,raw,50,28.454309463500977,0.9057709574699402,0.08113984018564224,0.0,6.0,per_view,True,stills/SV100-GT/fixed/view_050_raw.png +SV100-GT,fixed,raw,100,28.45231056213379,0.9264034032821655,0.07629965245723724,0.0,6.0,per_view,True,stills/SV100-GT/fixed/view_100_raw.png +SV100-GT,fixed,raw,175,26.635461807250977,0.8854926228523254,0.07984019815921783,0.0,6.0,per_view,True,stills/SV100-GT/fixed/view_175_raw.png +SV100-GT,naive,aligned,0,24.34419822692871,0.8533268570899963,0.10196542739868164,0.0,6.064882940480473,per_view,True,stills/SV100-GT/naive/view_000_aligned.png +SV100-GT,naive,raw,0,17.73516845703125,0.7314701080322266,0.1525222510099411,0.0,6.0,,,stills/SV100-GT/naive/view_000_raw.png +SV100-GT,naive,aligned,50,25.70092010498047,0.8630386590957642,0.10780330002307892,0.0,6.064882940480473,per_view,True,stills/SV100-GT/naive/view_050_aligned.png +SV100-GT,naive,raw,50,20.25910758972168,0.784730076789856,0.1401532143354416,0.0,6.0,,,stills/SV100-GT/naive/view_050_raw.png +SV100-GT,naive,aligned,100,24.643089294433594,0.8892928957939148,0.09439779072999954,0.0,6.064882940480473,per_view,True,stills/SV100-GT/naive/view_100_aligned.png +SV100-GT,naive,raw,100,18.84187889099121,0.8422484397888184,0.13570065796375275,0.0,6.0,,,stills/SV100-GT/naive/view_100_raw.png +SV100-GT,naive,aligned,175,22.571731567382812,0.8042908906936646,0.10786189138889313,0.0,6.064882940480473,per_view,True,stills/SV100-GT/naive/view_175_aligned.png +SV100-GT,naive,raw,175,16.385822296142578,0.7051962018013,0.16495539247989655,0.0,6.0,,,stills/SV100-GT/naive/view_175_raw.png +SV100-GT,naive_warmup,aligned,0,26.497203826904297,0.8830121159553528,0.09434494376182556,0.0,6.022220793366234,per_view,True,stills/SV100-GT/naive_warmup/view_000_aligned.png +SV100-GT,naive_warmup,raw,0,22.12428855895996,0.8160664439201355,0.11098814010620117,0.0,6.0,,,stills/SV100-GT/naive_warmup/view_000_raw.png +SV100-GT,naive_warmup,aligned,50,28.12966537475586,0.891017735004425,0.09563355147838593,0.0,6.022220793366234,per_view,True,stills/SV100-GT/naive_warmup/view_050_aligned.png +SV100-GT,naive_warmup,raw,50,28.044696807861328,0.8899368643760681,0.10107309371232986,0.0,6.0,,,stills/SV100-GT/naive_warmup/view_050_raw.png +SV100-GT,naive_warmup,aligned,100,27.91525650024414,0.9170374870300293,0.0728142261505127,0.0,6.022220793366234,per_view,True,stills/SV100-GT/naive_warmup/view_100_aligned.png +SV100-GT,naive_warmup,raw,100,25.289804458618164,0.8975749015808105,0.08616136014461517,0.0,6.0,,,stills/SV100-GT/naive_warmup/view_100_raw.png +SV100-GT,naive_warmup,aligned,175,25.803512573242188,0.8626154065132141,0.09920035302639008,0.0,6.022220793366234,per_view,True,stills/SV100-GT/naive_warmup/view_175_aligned.png +SV100-GT,naive_warmup,raw,175,21.4999942779541,0.7775481939315796,0.11406771838665009,0.0,6.0,,,stills/SV100-GT/naive_warmup/view_175_raw.png +SV100-R5,camp,raw,0,15.722896575927734,0.7191580533981323,0.19638444483280182,0.0,6.0,,,stills/SV100-R5/camp/view_000_raw.png +SV100-R5,camp,raw,50,17.24636459350586,0.7700355648994446,0.21440613269805908,0.0,6.0,,,stills/SV100-R5/camp/view_050_raw.png +SV100-R5,camp,raw,100,15.959489822387695,0.8201878666877747,0.190358966588974,0.0,6.0,,,stills/SV100-R5/camp/view_100_raw.png +SV100-R5,camp,raw,175,13.488348960876465,0.661732017993927,0.25718796253204346,0.0,6.0,,,stills/SV100-R5/camp/view_175_raw.png +SV100-R5,camp_warmup,raw,0,14.963828086853027,0.7181365489959717,0.22519397735595703,0.0,6.0,,,stills/SV100-R5/camp_warmup/view_000_raw.png +SV100-R5,camp_warmup,raw,50,17.226337432861328,0.7777325510978699,0.19764766097068787,0.0,6.0,,,stills/SV100-R5/camp_warmup/view_050_raw.png +SV100-R5,camp_warmup,raw,100,17.96103858947754,0.8458706140518188,0.13592970371246338,0.0,6.0,,,stills/SV100-R5/camp_warmup/view_100_raw.png +SV100-R5,camp_warmup,raw,175,14.719578742980957,0.6805704832077026,0.22961260378360748,0.0,6.0,,,stills/SV100-R5/camp_warmup/view_175_raw.png +SV100-R5,fixed,raw,0,12.795828819274902,0.7173767685890198,0.42644914984703064,0.0,6.0,,,stills/SV100-R5/fixed/view_000_raw.png +SV100-R5,fixed,raw,50,13.024707794189453,0.7555676698684692,0.41104671359062195,0.0,6.0,,,stills/SV100-R5/fixed/view_050_raw.png +SV100-R5,fixed,raw,100,12.2211332321167,0.776053249835968,0.3609067499637604,0.0,6.0,,,stills/SV100-R5/fixed/view_100_raw.png +SV100-R5,fixed,raw,175,13.117497444152832,0.6635301113128662,0.5089767575263977,0.0,6.0,,,stills/SV100-R5/fixed/view_175_raw.png +SV100-R5,naive,raw,0,17.253751754760742,0.750419020652771,0.17704683542251587,0.0,6.0,,,stills/SV100-R5/naive/view_000_raw.png +SV100-R5,naive,raw,50,22.198116302490234,0.8151614665985107,0.11919298768043518,0.0,6.0,,,stills/SV100-R5/naive/view_050_raw.png +SV100-R5,naive,raw,100,18.87702751159668,0.8447089791297913,0.12347900122404099,0.0,6.0,,,stills/SV100-R5/naive/view_100_raw.png +SV100-R5,naive,raw,175,15.778337478637695,0.6784833073616028,0.1958605796098709,0.0,6.0,,,stills/SV100-R5/naive/view_175_raw.png +SV100-R5,naive_warmup,raw,0,16.682283401489258,0.732753574848175,0.16809046268463135,0.0,6.0,,,stills/SV100-R5/naive_warmup/view_000_raw.png +SV100-R5,naive_warmup,raw,50,18.99312400817871,0.7800300717353821,0.152652308344841,0.0,6.0,,,stills/SV100-R5/naive_warmup/view_050_raw.png +SV100-R5,naive_warmup,raw,100,19.988967895507812,0.8601757884025574,0.10771510750055313,0.0,6.0,,,stills/SV100-R5/naive_warmup/view_100_raw.png +SV100-R5,naive_warmup,raw,175,16.819360733032227,0.6883928775787354,0.16594740748405457,0.0,6.0,,,stills/SV100-R5/naive_warmup/view_175_raw.png +SV100-T1,camp,raw,0,17.207782745361328,0.7382924556732178,0.1604468822479248,0.0,6.0,,,stills/SV100-T1/camp/view_000_raw.png +SV100-T1,camp,raw,50,18.507387161254883,0.7696988582611084,0.17619632184505463,0.0,6.0,,,stills/SV100-T1/camp/view_050_raw.png +SV100-T1,camp,raw,100,17.70653533935547,0.8313307762145996,0.14241671562194824,0.0,6.0,,,stills/SV100-T1/camp/view_100_raw.png +SV100-T1,camp,raw,175,14.67322063446045,0.6652001738548279,0.21119579672813416,0.0,6.0,,,stills/SV100-T1/camp/view_175_raw.png +SV100-T1,camp_warmup,raw,0,20.87027359008789,0.8032044172286987,0.1210518628358841,0.0,6.0,,,stills/SV100-T1/camp_warmup/view_000_raw.png +SV100-T1,camp_warmup,raw,50,22.538005828857422,0.8115555047988892,0.11367930471897125,0.0,6.0,,,stills/SV100-T1/camp_warmup/view_050_raw.png +SV100-T1,camp_warmup,raw,100,23.000192642211914,0.880852460861206,0.08854202181100845,0.0,6.0,,,stills/SV100-T1/camp_warmup/view_100_raw.png +SV100-T1,camp_warmup,raw,175,19.509479522705078,0.7372257709503174,0.12900352478027344,0.0,6.0,,,stills/SV100-T1/camp_warmup/view_175_raw.png +SV100-T1,fixed,raw,0,20.045074462890625,0.7751691937446594,0.2474742829799652,0.0,6.0,,,stills/SV100-T1/fixed/view_000_raw.png +SV100-T1,fixed,raw,50,22.31166648864746,0.8195466995239258,0.22791096568107605,0.0,6.0,,,stills/SV100-T1/fixed/view_050_raw.png +SV100-T1,fixed,raw,100,21.249513626098633,0.8553795218467712,0.20133578777313232,0.0,6.0,,,stills/SV100-T1/fixed/view_100_raw.png +SV100-T1,fixed,raw,175,20.195430755615234,0.7458741068840027,0.2732083201408386,0.0,6.0,,,stills/SV100-T1/fixed/view_175_raw.png +SV100-T1,naive,raw,0,22.063764572143555,0.8137632012367249,0.10952693223953247,0.0,6.0,,,stills/SV100-T1/naive/view_000_raw.png +SV100-T1,naive,raw,50,18.89725112915039,0.8047357201576233,0.18331576883792877,0.0,6.0,,,stills/SV100-T1/naive/view_050_raw.png +SV100-T1,naive,raw,100,17.592247009277344,0.8397309184074402,0.14592309296131134,0.0,6.0,,,stills/SV100-T1/naive/view_100_raw.png +SV100-T1,naive,raw,175,14.78303337097168,0.6668221354484558,0.215048149228096,0.0,6.0,,,stills/SV100-T1/naive/view_175_raw.png +SV100-T1,naive_warmup,raw,0,22.56147575378418,0.8275745511054993,0.10999028384685516,0.0,6.0,,,stills/SV100-T1/naive_warmup/view_000_raw.png +SV100-T1,naive_warmup,raw,50,25.099746704101562,0.856235146522522,0.1063799038529396,0.0,6.0,,,stills/SV100-T1/naive_warmup/view_050_raw.png +SV100-T1,naive_warmup,raw,100,24.968843460083008,0.8946409225463867,0.08808355033397675,0.0,6.0,,,stills/SV100-T1/naive_warmup/view_100_raw.png +SV100-T1,naive_warmup,raw,175,23.785057067871094,0.8343307971954346,0.10565941780805588,0.0,6.0,,,stills/SV100-T1/naive_warmup/view_175_raw.png +SV100-T5,camp,raw,0,17.767852783203125,0.7326176762580872,0.15174934267997742,0.0,6.0,,,stills/SV100-T5/camp/view_000_raw.png +SV100-T5,camp,raw,50,22.05205535888672,0.8169184923171997,0.12779833376407623,0.0,6.0,,,stills/SV100-T5/camp/view_050_raw.png +SV100-T5,camp,raw,100,20.516822814941406,0.8492530584335327,0.11895158886909485,0.0,6.0,,,stills/SV100-T5/camp/view_100_raw.png +SV100-T5,camp,raw,175,20.106082916259766,0.7558345794677734,0.13151511549949646,0.0,6.0,,,stills/SV100-T5/camp/view_175_raw.png +SV100-T5,camp_warmup,raw,0,22.36882781982422,0.8280563950538635,0.11166117340326309,0.0,6.0,,,stills/SV100-T5/camp_warmup/view_000_raw.png +SV100-T5,camp_warmup,raw,50,21.705991744995117,0.8368338942527771,0.13668298721313477,0.0,6.0,,,stills/SV100-T5/camp_warmup/view_050_raw.png +SV100-T5,camp_warmup,raw,100,21.44326400756836,0.8682078719139099,0.10586069524288177,0.0,6.0,,,stills/SV100-T5/camp_warmup/view_100_raw.png +SV100-T5,camp_warmup,raw,175,17.54079246520996,0.6957412958145142,0.15968970954418182,0.0,6.0,,,stills/SV100-T5/camp_warmup/view_175_raw.png +SV100-T5,fixed,raw,0,14.531160354614258,0.7195847630500793,0.38483142852783203,0.0,6.0,,,stills/SV100-T5/fixed/view_000_raw.png +SV100-T5,fixed,raw,50,15.424973487854004,0.7850387692451477,0.34501516819000244,0.0,6.0,,,stills/SV100-T5/fixed/view_050_raw.png +SV100-T5,fixed,raw,100,13.503273963928223,0.7954527139663696,0.3126942813396454,0.0,6.0,,,stills/SV100-T5/fixed/view_100_raw.png +SV100-T5,fixed,raw,175,13.722331047058105,0.6930683851242065,0.4246155619621277,0.0,6.0,,,stills/SV100-T5/fixed/view_175_raw.png +SV100-T5,naive,raw,0,19.53904151916504,0.757936954498291,0.13124118745326996,0.0,6.0,,,stills/SV100-T5/naive/view_000_raw.png +SV100-T5,naive,raw,50,20.405630111694336,0.8060758113861084,0.15044601261615753,0.0,6.0,,,stills/SV100-T5/naive/view_050_raw.png +SV100-T5,naive,raw,100,18.84447479248047,0.8422574400901794,0.125176802277565,0.0,6.0,,,stills/SV100-T5/naive/view_100_raw.png +SV100-T5,naive,raw,175,17.436981201171875,0.7085519433021545,0.15382833778858185,0.0,6.0,,,stills/SV100-T5/naive/view_175_raw.png +SV100-T5,naive_warmup,raw,0,25.462739944458008,0.8702846169471741,0.10614989697933197,0.0,6.0,,,stills/SV100-T5/naive_warmup/view_000_raw.png +SV100-T5,naive_warmup,raw,50,25.09270477294922,0.8455556631088257,0.11090199649333954,0.0,6.0,,,stills/SV100-T5/naive_warmup/view_050_raw.png +SV100-T5,naive_warmup,raw,100,25.244630813598633,0.8942729830741882,0.08730500936508179,0.0,6.0,,,stills/SV100-T5/naive_warmup/view_100_raw.png +SV100-T5,naive_warmup,raw,175,22.168624877929688,0.7950371503829956,0.1236947625875473,0.0,6.0,,,stills/SV100-T5/naive_warmup/view_175_raw.png diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-GT.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-GT.jsonl new file mode 100644 index 0000000..84b9c93 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-GT.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421427607536316, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.00765072088688612, "translation_update_mean": 0.010226272977888584, "rotation_update_deg_mean": 0.18295931816101074, "pose_errors": {"raw": {"rotation_deg_mean": 0.18396597705097098, "rotation_deg_max": 0.21624158486921125, "translation_mean": 0.010226270832453938, "translation_radius_pct_mean": 0.25368255761856434}, "aligned": {"rotation_deg_mean": 0.1840703009909647, "rotation_deg_max": 0.23182379966162925, "translation_mean": 0.01011891212137538, "translation_radius_pct_mean": 0.25101931577261116}, "sim3": {"scale": 0.9999822308570175, "rotation": [[0.9999999180094201, 0.00023668661040404134, -0.0003285735851668364], [-0.00023672118453986544, 0.9999999664490681, -0.00010519003857168133], [0.0003285486770692797, 0.00010526781027528836, 0.9999999404872252]], "translation": [0.001248832073145023, -0.0001324821966023626, -0.00022683580189886143]}}} +{"step": 1000, "train_loss": 0.061939433217048645, "val_psnr": 17.02435302734375, "pose_gradient_norm": 2.147542953491211, "translation_update_mean": 0.36345767974853516, "rotation_update_deg_mean": 4.863272190093994, "pose_errors": {"raw": {"rotation_deg_mean": 4.869650496783835, "rotation_deg_max": 12.293842668354449, "translation_mean": 0.36350131886081827, "translation_radius_pct_mean": 9.017357918361098}, "aligned": {"rotation_deg_mean": 4.847727872378217, "rotation_deg_max": 12.487211080005208, "translation_mean": 0.3578909189431213, "translation_radius_pct_mean": 8.878181025464079}, "sim3": {"scale": 0.9845554886664701, "rotation": [[0.9998818810119634, 0.006537624769832502, 0.013909834159552863], [-0.006489804881936128, 0.9999728849066435, -0.003480213223283197], [-0.013932209321273953, 0.0033895300343835394, 0.9998971970305625]], "translation": [-0.05840573583410186, 0.01059581246655409, 0.00574393281279173]}}} +{"step": 2000, "train_loss": 0.03898593783378601, "val_psnr": 16.668590545654297, "pose_gradient_norm": 1.2803678512573242, "translation_update_mean": 0.18894897401332855, "rotation_update_deg_mean": 2.8513600826263428, "pose_errors": {"raw": {"rotation_deg_mean": 3.500676171749765, "rotation_deg_max": 8.17683105562751, "translation_mean": 0.32212164717914826, "translation_radius_pct_mean": 7.990854599838724}, "aligned": {"rotation_deg_mean": 3.45496833104686, "rotation_deg_max": 7.82785546970509, "translation_mean": 0.319775382915339, "translation_radius_pct_mean": 7.932650946811735}, "sim3": {"scale": 0.9907144873582918, "rotation": [[0.9998175757988761, 0.011623517095592764, 0.015156153007509856], [-0.011591467628361628, 0.9999303948560606, -0.0022007546938923868], [-0.015180678571105843, 0.002024671166018491, 0.9998827169747406]], "translation": [-0.08616179261489598, 0.000717841287884699, 0.017323207557294662]}}} +{"step": 3000, "train_loss": 0.03594566881656647, "val_psnr": 19.024816513061523, "pose_gradient_norm": 1.2861919403076172, "translation_update_mean": 0.17532405257225037, "rotation_update_deg_mean": 2.031329870223999, "pose_errors": {"raw": {"rotation_deg_mean": 2.6160698607854074, "rotation_deg_max": 5.6629317906080505, "translation_mean": 0.2501980590511663, "translation_radius_pct_mean": 6.206649967637297}, "aligned": {"rotation_deg_mean": 2.5268247864448, "rotation_deg_max": 5.510110701911531, "translation_mean": 0.2425504202661368, "translation_radius_pct_mean": 6.016935398317243}, "sim3": {"scale": 1.0022460611866721, "rotation": [[0.999875187011601, 0.010650963833198319, 0.01166907742453195], [-0.01066956432632842, 0.9999419036136152, 0.0015329039975001308], [-0.01165207258826392, -0.0016572166433812905, 0.9999307390201554]], "translation": [-0.0689204714010549, -0.016828206988262998, 0.008412765078293027]}}} +{"step": 4000, "train_loss": 0.03440499305725098, "val_psnr": 19.40236473083496, "pose_gradient_norm": 1.0369797945022583, "translation_update_mean": 0.17382515966892242, "rotation_update_deg_mean": 1.6181801557540894, "pose_errors": {"raw": {"rotation_deg_mean": 1.9569400068656757, "rotation_deg_max": 5.096145105260279, "translation_mean": 0.17725025392193497, "translation_radius_pct_mean": 4.397037638662497}, "aligned": {"rotation_deg_mean": 1.8751178022972408, "rotation_deg_max": 4.8591231726135655, "translation_mean": 0.1709478171982082, "translation_radius_pct_mean": 4.240693425459167}, "sim3": {"scale": 1.0067207853180506, "rotation": [[0.9999657581707985, 0.008177520328455826, -0.0012691127522825036], [-0.008181196963516145, 0.9999622719165311, -0.0029193766072425336], [0.0012451916095384287, 0.0029296595038426406, 0.9999949332836884]], "translation": [-0.010027433679814568, -0.0034470753063230025, 0.0006617652843470267]}}} +{"step": 5000, "train_loss": 0.0213485024869442, "val_psnr": 20.386516571044922, "pose_gradient_norm": 0.9826853275299072, "translation_update_mean": 0.14316432178020477, "rotation_update_deg_mean": 1.260785698890686, "pose_errors": {"raw": {"rotation_deg_mean": 1.4808490770893488, "rotation_deg_max": 4.471252728697926, "translation_mean": 0.12439019734457232, "translation_radius_pct_mean": 3.085741021536865}, "aligned": {"rotation_deg_mean": 1.3866035020399283, "rotation_deg_max": 4.102902827333318, "translation_mean": 0.121768278269784, "translation_radius_pct_mean": 3.020699214248685}, "sim3": {"scale": 1.0008679850837334, "rotation": [[0.9999532571122635, 0.009668075930164366, 0.00010907971428706632], [-0.009667702855269151, 0.9999487141360716, -0.0030173861400049342], [-0.00013824643835177474, 0.0030161905483980372, 0.9999954417308592]], "translation": [-0.005297477562048791, 0.0012096034311151888, -0.00623892277682625]}}} +{"step": 6000, "train_loss": 0.018349282443523407, "val_psnr": 20.589208602905273, "pose_gradient_norm": 1.1041582822799683, "translation_update_mean": 0.1062140241265297, "rotation_update_deg_mean": 0.9627400040626526, "pose_errors": {"raw": {"rotation_deg_mean": 1.16216330666025, "rotation_deg_max": 4.031737966125848, "translation_mean": 0.09870536129028991, "translation_radius_pct_mean": 2.4485786571698416}, "aligned": {"rotation_deg_mean": 1.1539006376605692, "rotation_deg_max": 4.31115703750638, "translation_mean": 0.09714847799621996, "translation_radius_pct_mean": 2.4099571359502137}, "sim3": {"scale": 1.0001439775610337, "rotation": [[0.9999762798647697, 0.006316182492711521, -0.002746915822302672], [-0.0063145439582734456, 0.9999798801951232, 0.0006047640419696356], [0.002750680354946372, -0.0005874041761751599, 0.9999960443491364]], "translation": [0.0055106066190028224, -0.015369497895190196, 0.001109823651936015]}}} +{"step": 7000, "train_loss": 0.01968194916844368, "val_psnr": 19.828048706054688, "pose_gradient_norm": 1.1994835138320923, "translation_update_mean": 0.09782467037439346, "rotation_update_deg_mean": 0.8314946293830872, "pose_errors": {"raw": {"rotation_deg_mean": 0.9156148668934404, "rotation_deg_max": 3.197254836246227, "translation_mean": 0.08399116753163777, "translation_radius_pct_mean": 2.083564433789032}, "aligned": {"rotation_deg_mean": 0.889178751463726, "rotation_deg_max": 3.604656671143649, "translation_mean": 0.08034729691964766, "translation_radius_pct_mean": 1.9931711289738352}, "sim3": {"scale": 1.0020504229590297, "rotation": [[0.9999747511243928, 0.007056283474224112, -0.0008402245176121519], [-0.0070543695300079685, 0.9999725649365786, 0.002259478854640316], [0.0008561449893016466, -0.002253494551104485, 0.9999970943848113]], "translation": [-0.0065398144112639445, -0.01734999395359932, 0.002556867220420145]}}} +{"step": 8000, "train_loss": 0.015110276639461517, "val_psnr": 19.845552444458008, "pose_gradient_norm": 1.3013767004013062, "translation_update_mean": 0.08056165277957916, "rotation_update_deg_mean": 0.7138059735298157, "pose_errors": {"raw": {"rotation_deg_mean": 0.7608761977244363, "rotation_deg_max": 2.618337370361508, "translation_mean": 0.06311461322887778, "translation_radius_pct_mean": 1.5656808595559273}, "aligned": {"rotation_deg_mean": 0.6807710757512198, "rotation_deg_max": 2.8560931238825273, "translation_mean": 0.058783656071477584, "translation_radius_pct_mean": 1.458243035286798}, "sim3": {"scale": 1.0005752074891021, "rotation": [[0.9999837426351084, 0.005702145569657417, 1.1765132762519774e-06], [-0.005702131472691254, 0.9999816886473786, -0.0020268366005713545], [-1.2733809075090622e-05, 0.002026796940915842, 0.9999979459638958]], "translation": [-0.008917272616081384, 0.002898609198650426, 0.009966864619309401]}}} +{"step": 9000, "train_loss": 0.015279030427336693, "val_psnr": 20.93987464904785, "pose_gradient_norm": 1.0377343893051147, "translation_update_mean": 0.05359698086977005, "rotation_update_deg_mean": 0.5882253050804138, "pose_errors": {"raw": {"rotation_deg_mean": 0.6040255960002682, "rotation_deg_max": 1.7615161739384104, "translation_mean": 0.05039595914081736, "translation_radius_pct_mean": 1.2501698828384515}, "aligned": {"rotation_deg_mean": 0.5513743028170559, "rotation_deg_max": 1.6293618680685922, "translation_mean": 0.046645824769320034, "translation_radius_pct_mean": 1.157140498582799}, "sim3": {"scale": 0.9998735807003836, "rotation": [[0.9999863103903953, 0.004876241704721726, -0.0018977087873904798], [-0.004879113682184122, 0.9999869543962511, -0.0015117165692829523], [0.001890312535252817, 0.0015209550113825926, 0.9999970567028544]], "translation": [-0.001716296276588647, 0.004919188147094675, 0.007543330715799268]}}} +{"step": 10000, "train_loss": 0.013014272786676884, "val_psnr": 20.798336029052734, "pose_gradient_norm": 1.055166482925415, "translation_update_mean": 0.05649640038609505, "rotation_update_deg_mean": 0.5565995573997498, "pose_errors": {"raw": {"rotation_deg_mean": 0.5400503514400873, "rotation_deg_max": 1.9180964827063687, "translation_mean": 0.04798207860831593, "translation_radius_pct_mean": 1.1902888766238253}, "aligned": {"rotation_deg_mean": 0.4958860500049152, "rotation_deg_max": 1.9011855246083154, "translation_mean": 0.042964864661436536, "translation_radius_pct_mean": 1.0658271166120894}, "sim3": {"scale": 1.000495603338027, "rotation": [[0.9999920813056365, 0.003958176984467181, 0.00041250573545717966], [-0.003958072762335056, 0.9999921347522972, -0.0002531670450733296], [-0.00041350457096847083, 0.00025153231260496823, 0.9999998828727266]], "translation": [-0.012735378537519937, 0.0019390973231810937, 0.01253352274309183]}}} +{"step": 11000, "train_loss": 0.010327844880521297, "val_psnr": 19.91703224182129, "pose_gradient_norm": 1.1360716819763184, "translation_update_mean": 0.05177899822592735, "rotation_update_deg_mean": 0.5299803018569946, "pose_errors": {"raw": {"rotation_deg_mean": 0.4751054668574695, "rotation_deg_max": 1.5010189251429542, "translation_mean": 0.046060136359769285, "translation_radius_pct_mean": 1.1426113573018097}, "aligned": {"rotation_deg_mean": 0.4526075208036019, "rotation_deg_max": 1.3621168427232455, "translation_mean": 0.04343098077291309, "translation_radius_pct_mean": 1.0773900342429554}, "sim3": {"scale": 0.998490792642767, "rotation": [[0.999992527308265, 0.003838398058275345, -0.0004604649556242886], [-0.0038386208853398605, 0.9999925153321858, -0.00048401374771410964], [0.00045860367176750396, 0.00048577768122417604, 0.9999997768513345]], "translation": [-0.008486827278202214, 0.0023141498726468868, 0.009960176860908554]}}} +{"step": 12000, "train_loss": 0.01094946637749672, "val_psnr": 21.20049476623535, "pose_gradient_norm": 0.8401146531105042, "translation_update_mean": 0.04857887327671051, "rotation_update_deg_mean": 0.45365503430366516, "pose_errors": {"raw": {"rotation_deg_mean": 0.39887362815347155, "rotation_deg_max": 1.091650017892264, "translation_mean": 0.0360773003992715, "translation_radius_pct_mean": 0.8949676756276804}, "aligned": {"rotation_deg_mean": 0.37527448937563646, "rotation_deg_max": 1.2121806533641144, "translation_mean": 0.032508757066084575, "translation_radius_pct_mean": 0.8064430106185588}, "sim3": {"scale": 0.9980557695438226, "rotation": [[0.9999959033127016, 0.002258583249106378, -0.0017584537302335432], [-0.0022630452669350483, 0.9999942144473998, -0.002539625533243223], [0.0017527076009184281, 0.002543594589582962, 0.9999952290599352]], "translation": [-0.0038488216971498956, 0.009467428471955183, 0.012049856523631775]}}} +{"step": 13000, "train_loss": 0.012326295487582684, "val_psnr": 21.02031707763672, "pose_gradient_norm": 0.9840638637542725, "translation_update_mean": 0.04674569144845009, "rotation_update_deg_mean": 0.4182574450969696, "pose_errors": {"raw": {"rotation_deg_mean": 0.4109336947885882, "rotation_deg_max": 1.0119746434949768, "translation_mean": 0.04592761640251279, "translation_radius_pct_mean": 1.1393239417577543}, "aligned": {"rotation_deg_mean": 0.3683089009760149, "rotation_deg_max": 1.0500551664907618, "translation_mean": 0.038498358088001935, "translation_radius_pct_mean": 0.9550267251758379}, "sim3": {"scale": 0.9927168214167842, "rotation": [[0.9999925100690465, 0.0030252873461454337, -0.002414009585807332], [-0.003032713556317405, 0.9999906624244489, -0.0030785893518179104], [0.0024046734274004162, 0.0030858872929921963, 0.9999923473933798]], "translation": [-0.0005648647668905493, 0.013998658767694953, 0.012740258340835808]}}} +{"step": 14000, "train_loss": 0.012039359658956528, "val_psnr": 21.171676635742188, "pose_gradient_norm": 0.7920234203338623, "translation_update_mean": 0.04459719732403755, "rotation_update_deg_mean": 0.39353781938552856, "pose_errors": {"raw": {"rotation_deg_mean": 0.3803200440926711, "rotation_deg_max": 0.8253456162009651, "translation_mean": 0.037790554245051455, "translation_radius_pct_mean": 0.937468272821722}, "aligned": {"rotation_deg_mean": 0.3471610114531815, "rotation_deg_max": 0.788913797027862, "translation_mean": 0.03183694897018502, "translation_radius_pct_mean": 0.7897775028504882}, "sim3": {"scale": 0.994197969454578, "rotation": [[0.999997989914354, 0.00198806866530816, -0.00026028875031051523], [-0.00198863429010233, 0.9999956220935402, -0.002191147510751543], [0.00025593145908359366, 0.002191660725491494, 0.9999975655582126]], "translation": [-0.009024692967351589, 0.010678151098417327, 0.010005330312095495]}}} +{"step": 15000, "train_loss": 0.008502719923853874, "val_psnr": 19.648767471313477, "pose_gradient_norm": 0.7333498597145081, "translation_update_mean": 0.03716601803898811, "rotation_update_deg_mean": 0.4043375253677368, "pose_errors": {"raw": {"rotation_deg_mean": 0.3676988201767115, "rotation_deg_max": 0.9812736930747061, "translation_mean": 0.03399762884083575, "translation_radius_pct_mean": 0.84337737368924}, "aligned": {"rotation_deg_mean": 0.31768669019701723, "rotation_deg_max": 0.9259199776695956, "translation_mean": 0.026898888752120712, "translation_radius_pct_mean": 0.6672793051871239}, "sim3": {"scale": 0.9942662750467229, "rotation": [[0.999998176626811, 0.0018420986178966554, -0.0005034041463349566], [-0.0018435684341546904, 0.9999939933312925, -0.0029350565177985156], [0.0004979944589982022, 0.0029359792260889345, 0.9999955660039205]], "translation": [-0.009547980011640644, 0.013076358392424763, 0.011872140083708516]}}} +{"step": 16000, "train_loss": 0.011673144064843655, "val_psnr": 20.019943237304688, "pose_gradient_norm": 1.0574314594268799, "translation_update_mean": 0.03362910822033882, "rotation_update_deg_mean": 0.33435574173927307, "pose_errors": {"raw": {"rotation_deg_mean": 0.3244586798391792, "rotation_deg_max": 0.7818788917902127, "translation_mean": 0.03238336954483801, "translation_radius_pct_mean": 0.8033325290359342}, "aligned": {"rotation_deg_mean": 0.28391038437762534, "rotation_deg_max": 0.8114753968505222, "translation_mean": 0.025294370216472815, "translation_radius_pct_mean": 0.6274760990586707}, "sim3": {"scale": 0.9942678724535703, "rotation": [[0.9999992216918029, 0.001183538571719516, 0.0003947812528033215], [-0.0011827417519924075, 0.9999972753858106, -0.00201254637323023], [-0.0003971621034368751, 0.002012077882578215, 0.9999978969002178]], "translation": [-0.011987072589431103, 0.009592645808067554, 0.010624907250142535]}}} +{"step": 17000, "train_loss": 0.00792151503264904, "val_psnr": 20.35379409790039, "pose_gradient_norm": 0.7318459153175354, "translation_update_mean": 0.032193373888731, "rotation_update_deg_mean": 0.3271908462047577, "pose_errors": {"raw": {"rotation_deg_mean": 0.3093586652056559, "rotation_deg_max": 0.8047316355192173, "translation_mean": 0.0325451404722297, "translation_radius_pct_mean": 0.8073455718431726}, "aligned": {"rotation_deg_mean": 0.2944940316293508, "rotation_deg_max": 0.7290399593670159, "translation_mean": 0.025094267541421193, "translation_radius_pct_mean": 0.6225121626223001}, "sim3": {"scale": 0.9937184311950782, "rotation": [[0.9999982130924419, 0.0015653679051248742, -0.001059922283012165], [-0.0015661849487873106, 0.9999984767255804, -0.0007704616963674748], [0.0010587146124478647, 0.0007721203539502622, 0.9999991414763975]], "translation": [-0.0050346456758132985, 0.004040459677947417, 0.012343252151608919]}}} +{"step": 18000, "train_loss": 0.009057549759745598, "val_psnr": 21.442726135253906, "pose_gradient_norm": 0.7458916902542114, "translation_update_mean": 0.029550403356552124, "rotation_update_deg_mean": 0.2874903678894043, "pose_errors": {"raw": {"rotation_deg_mean": 0.29795988480624563, "rotation_deg_max": 0.8049126161154345, "translation_mean": 0.03248564193900582, "translation_radius_pct_mean": 0.8058695948883196}, "aligned": {"rotation_deg_mean": 0.28436515879765545, "rotation_deg_max": 0.8210459696754614, "translation_mean": 0.023249485945679483, "translation_radius_pct_mean": 0.5767487635178865}, "sim3": {"scale": 0.9936233059194146, "rotation": [[0.9999989308921996, 0.0014544827399076783, 0.00015064666292378818], [-0.0014544380430208173, 0.9999988983820667, -0.00029638594908076073], [-0.0001510775852157737, 0.0002961665259746464, 0.9999999447304728]], "translation": [-0.0107808899314763, 0.004747519586199317, 0.012076368430036233]}}} +{"step": 19000, "train_loss": 0.006999388802796602, "val_psnr": 20.382993698120117, "pose_gradient_norm": 0.7874825596809387, "translation_update_mean": 0.029119519516825676, "rotation_update_deg_mean": 0.29399895668029785, "pose_errors": {"raw": {"rotation_deg_mean": 0.2522385483387451, "rotation_deg_max": 0.6824758604206476, "translation_mean": 0.03222366630288207, "translation_radius_pct_mean": 0.7993707791915251}, "aligned": {"rotation_deg_mean": 0.24072706993069823, "rotation_deg_max": 0.6001986547116661, "translation_mean": 0.020636266247011602, "translation_radius_pct_mean": 0.5119227611912689}, "sim3": {"scale": 0.9929940504374419, "rotation": [[0.9999990966085369, 0.0010044054143259877, 0.0008932815196639111], [-0.0010035925250835322, 0.9999990823628085, -0.0009099865847548075], [-0.0008941946954082447, 0.0009090892720246809, 0.99999918698594]], "translation": [-0.016816605782456973, 0.0075429809486201455, 0.01352886625495131]}}} +{"step": 20000, "train_loss": 0.007427418604493141, "val_psnr": 20.57309913635254, "pose_gradient_norm": 0.9433501362800598, "translation_update_mean": 0.024013781920075417, "rotation_update_deg_mean": 0.2364552766084671, "pose_errors": {"raw": {"rotation_deg_mean": 0.25208155784378206, "rotation_deg_max": 0.6328388870435758, "translation_mean": 0.03208236405529185, "translation_radius_pct_mean": 0.7958655018374208}, "aligned": {"rotation_deg_mean": 0.2097131346982138, "rotation_deg_max": 0.5979294703114997, "translation_mean": 0.017729738058295225, "translation_radius_pct_mean": 0.43982067072403547}, "sim3": {"scale": 0.992014610821138, "rotation": [[0.9999995084960664, 0.0008528674361174339, -0.0005055934746509793], [-0.0008539027966583826, 0.9999975318226563, -0.002051145682037106], [0.0005038428713977387, 0.002051576401572947, 0.9999977685858243]], "translation": [-0.009397789965007841, 0.011315974357725953, 0.01303130069647418]}}} +{"step": 21000, "train_loss": 0.00763327581807971, "val_psnr": 19.741302490234375, "pose_gradient_norm": 0.6552660465240479, "translation_update_mean": 0.024981176480650902, "rotation_update_deg_mean": 0.24148090183734894, "pose_errors": {"raw": {"rotation_deg_mean": 0.2541795820197827, "rotation_deg_max": 0.6748038181090616, "translation_mean": 0.035162706796257444, "translation_radius_pct_mean": 0.8722794006743262}, "aligned": {"rotation_deg_mean": 0.21047118235479542, "rotation_deg_max": 0.7515485505716548, "translation_mean": 0.018839716918040858, "translation_radius_pct_mean": 0.4673558573679472}, "sim3": {"scale": 0.9912763893395496, "rotation": [[0.999999546890436, 0.000940956817440126, 0.00014428856501565634], [-0.0009406765841104165, 0.9999976949284578, -0.0019300946437896826], [-0.00014610436813346998, 0.0019299580403708974, 0.9999981269559831]], "translation": [-0.011301810784480004, 0.009639867140196656, 0.012012284497117776]}}} +{"step": 22000, "train_loss": 0.00925443135201931, "val_psnr": 19.717437744140625, "pose_gradient_norm": 1.0553500652313232, "translation_update_mean": 0.02377190999686718, "rotation_update_deg_mean": 0.235101118683815, "pose_errors": {"raw": {"rotation_deg_mean": 0.24831958275344487, "rotation_deg_max": 0.5061971237514619, "translation_mean": 0.03181911596263304, "translation_radius_pct_mean": 0.789335120378917}, "aligned": {"rotation_deg_mean": 0.21586541931452313, "rotation_deg_max": 0.45928014191221717, "translation_mean": 0.016002548160567807, "translation_radius_pct_mean": 0.39697436262921104}, "sim3": {"scale": 0.9916884724720728, "rotation": [[0.999999180960083, 0.0012797256637072578, 1.952919014566778e-05], [-0.001279706834773173, 0.999998743609962, -0.000935483251686964], [-2.0726327534597427e-05, 0.0009354574938507444, 0.9999995622447527]], "translation": [-0.011183729814303212, 0.0065323604486739045, 0.01286123256576488]}}} +{"step": 23000, "train_loss": 0.00734816025942564, "val_psnr": 19.75319480895996, "pose_gradient_norm": 0.7206981778144836, "translation_update_mean": 0.01732010580599308, "rotation_update_deg_mean": 0.18612149357795715, "pose_errors": {"raw": {"rotation_deg_mean": 0.22156377010394698, "rotation_deg_max": 0.5643420942153428, "translation_mean": 0.03076708041469004, "translation_radius_pct_mean": 0.7632373303946295}, "aligned": {"rotation_deg_mean": 0.18763242924935614, "rotation_deg_max": 0.48545573286108107, "translation_mean": 0.015254660241629936, "translation_radius_pct_mean": 0.3784215467301765}, "sim3": {"scale": 0.9917315847228796, "rotation": [[0.999999646115971, 0.0007544168452849686, -0.0003723213071316374], [-0.0007548714070107723, 0.9999989681255687, -0.0012222589566609201], [0.00037139883019656075, 0.0012225395788318834, 0.9999991837296103]], "translation": [-0.009370114925635498, 0.007179144902041593, 0.013003939320284541]}}} +{"step": 24000, "train_loss": 0.00554309319704771, "val_psnr": 19.862863540649414, "pose_gradient_norm": 0.6682483553886414, "translation_update_mean": 0.017908785492181778, "rotation_update_deg_mean": 0.1706387996673584, "pose_errors": {"raw": {"rotation_deg_mean": 0.210026173324309, "rotation_deg_max": 0.5074738557293971, "translation_mean": 0.033739719472124306, "translation_radius_pct_mean": 0.8369794296722607}, "aligned": {"rotation_deg_mean": 0.17819073960864087, "rotation_deg_max": 0.40956447650722666, "translation_mean": 0.01377135128147289, "translation_radius_pct_mean": 0.3416251801057971}, "sim3": {"scale": 0.99079828740943, "rotation": [[0.9999994515787077, 0.0010464357975855207, 4.259584065332208e-05], [-0.001046376896996202, 0.9999985276390064, -0.0013600791186225006], [-4.40190134141934e-05, 0.0013600338014226018, 0.9999990741847646]], "translation": [-0.010392907559042486, 0.007776160949210478, 0.012791915899533546]}}} +{"step": 25000, "train_loss": 0.007101843133568764, "val_psnr": 20.69399642944336, "pose_gradient_norm": 0.7957319617271423, "translation_update_mean": 0.016874706372618675, "rotation_update_deg_mean": 0.16048087179660797, "pose_errors": {"raw": {"rotation_deg_mean": 0.20311958693513507, "rotation_deg_max": 0.449068217095217, "translation_mean": 0.03040365405938594, "translation_radius_pct_mean": 0.7542218320932399}, "aligned": {"rotation_deg_mean": 0.16643065975473192, "rotation_deg_max": 0.3565986878959553, "translation_mean": 0.014248161840255852, "translation_radius_pct_mean": 0.35345339432321504}, "sim3": {"scale": 0.9918036391452295, "rotation": [[0.9999994418834908, 0.0010163921995003785, 0.00028840874611922183], [-0.0010160348369678343, 0.9999987193245793, -0.0012365364581874664], [-0.00028966518277196926, 0.0012362427347227367, 0.9999991938986684]], "translation": [-0.011167461709128468, 0.007384453309602426, 0.012564429233961949]}}} +{"step": 26000, "train_loss": 0.005964387208223343, "val_psnr": 19.635700225830078, "pose_gradient_norm": 0.6867684721946716, "translation_update_mean": 0.016991013661026955, "rotation_update_deg_mean": 0.15288850665092468, "pose_errors": {"raw": {"rotation_deg_mean": 0.19699458291828895, "rotation_deg_max": 0.4661611663975931, "translation_mean": 0.03512495741737899, "translation_radius_pct_mean": 0.8713429538366375}, "aligned": {"rotation_deg_mean": 0.144748171393494, "rotation_deg_max": 0.3684206425458613, "translation_mean": 0.01312679458642393, "translation_radius_pct_mean": 0.32563569639182505}, "sim3": {"scale": 0.9904364466106071, "rotation": [[0.999999186008741, 0.0012743006656796925, 6.43402561477695e-05], [-0.0012741785838869485, 0.9999974526449168, -0.0018631083205779783], [-6.671425242351849e-05, 0.0018630248230476541, 0.9999982623423496]], "translation": [-0.010191013282908279, 0.011288220136419655, 0.012583615066268372]}}} +{"step": 27000, "train_loss": 0.00669725751504302, "val_psnr": 19.217567443847656, "pose_gradient_norm": 0.7663331031799316, "translation_update_mean": 0.015522830188274384, "rotation_update_deg_mean": 0.1524035632610321, "pose_errors": {"raw": {"rotation_deg_mean": 0.18467319570240767, "rotation_deg_max": 0.3906947614130462, "translation_mean": 0.0355093895116877, "translation_radius_pct_mean": 0.8808795403903005}, "aligned": {"rotation_deg_mean": 0.14441808366796166, "rotation_deg_max": 0.36378252847152015, "translation_mean": 0.011783384512186038, "translation_radius_pct_mean": 0.29230979400308166}, "sim3": {"scale": 0.9900983243769704, "rotation": [[0.999999566010317, 0.000931126459679914, 3.134795370720265e-05], [-0.0009310824416487518, 0.9999986197594675, -0.0013760685472398839], [-3.26292042741003e-05, 0.0013760387625110072, 0.9999990527258806]], "translation": [-0.010161372940984403, 0.009349919764845921, 0.01302824865665908]}}} +{"step": 28000, "train_loss": 0.005885007791221142, "val_psnr": 19.758316040039062, "pose_gradient_norm": 0.661187469959259, "translation_update_mean": 0.015343232080340385, "rotation_update_deg_mean": 0.14413002133369446, "pose_errors": {"raw": {"rotation_deg_mean": 0.18968918824691372, "rotation_deg_max": 0.40512117168779666, "translation_mean": 0.03859077600411217, "translation_radius_pct_mean": 0.9573193315142322}, "aligned": {"rotation_deg_mean": 0.1364803568739866, "rotation_deg_max": 0.30312159163959823, "translation_mean": 0.011678083208612794, "translation_radius_pct_mean": 0.28969759015588326}, "sim3": {"scale": 0.9891658756818564, "rotation": [[0.9999991042587557, 0.0012292728379523774, 0.0005294997411635972], [-0.001228197067774319, 0.9999971909333857, -0.0020272289708919344], [-0.0005319902712738521, 0.0020265768249898893, 0.9999978049839532]], "translation": [-0.011882129388524287, 0.011898004618314542, 0.013459279241958999]}}} +{"step": 29000, "train_loss": 0.007622789591550827, "val_psnr": 19.021236419677734, "pose_gradient_norm": 0.7257353663444519, "translation_update_mean": 0.01311006024479866, "rotation_update_deg_mean": 0.12366043031215668, "pose_errors": {"raw": {"rotation_deg_mean": 0.20006271181009552, "rotation_deg_max": 0.4150422763846887, "translation_mean": 0.03738528069361238, "translation_radius_pct_mean": 0.9274146733475184}, "aligned": {"rotation_deg_mean": 0.1350176822201658, "rotation_deg_max": 0.2977632428825872, "translation_mean": 0.010667091880385395, "translation_radius_pct_mean": 0.2646179819510053}, "sim3": {"scale": 0.9895517549991969, "rotation": [[0.9999994811038182, 0.000849666595743577, 0.000562013141035387], [-0.000848582521472637, 0.9999977845454566, -0.0019263467712015505], [-0.0005636486484240953, 0.0019258688570991589, 0.9999979866626463]], "translation": [-0.013015070820305674, 0.010010044241397259, 0.012941803413555775]}}} +{"step": 29999, "train_loss": 0.005276825278997421, "val_psnr": 21.39276885986328, "pose_gradient_norm": 0.8717426061630249, "translation_update_mean": 0.01212203036993742, "rotation_update_deg_mean": 0.11991740763187408, "pose_errors": {"raw": {"rotation_deg_mean": 0.179176459151136, "rotation_deg_max": 0.38097140925301964, "translation_mean": 0.03649900084008508, "translation_radius_pct_mean": 0.9054287760744789}, "aligned": {"rotation_deg_mean": 0.12297168531717992, "rotation_deg_max": 0.42142170971725407, "translation_mean": 0.009458545331784106, "translation_radius_pct_mean": 0.23463763188270048}, "sim3": {"scale": 0.9898114678777244, "rotation": [[0.9999993042377863, 0.0008463209706195789, 0.0008217449473881689], [-0.0008444682017729032, 0.9999971067537303, -0.0022524115131957916], [-0.0008236488329758191, 0.0022517160085749263, 0.9999971256846781]], "translation": [-0.014289762336193113, 0.01316518260295206, 0.013870279729299106]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-R0.5.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-R0.5.jsonl new file mode 100644 index 0000000..c6e4fac --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-R0.5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421495854854584, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.007788654416799545, "translation_update_mean": 0.010182361118495464, "rotation_update_deg_mean": 0.17533957958221436, "pose_errors": {"raw": {"rotation_deg_mean": 0.5288995316255165, "rotation_deg_max": 0.6932388974879982, "translation_mean": 0.01018235662479928, "translation_radius_pct_mean": 0.2525931802007209}, "aligned": {"rotation_deg_mean": 0.5282869860341065, "rotation_deg_max": 0.6932774879649152, "translation_mean": 0.010077398484195352, "translation_radius_pct_mean": 0.24998948917908345}, "sim3": {"scale": 0.9999927969146359, "rotation": [[0.9999999681460786, 0.0002424770276277044, -7.009088214588801e-05], [-0.00024248316843639495, 0.9999999667625971, -8.761686872557982e-05], [7.006963473858566e-05, 8.763386179384593e-05, 0.9999999937052741]], "translation": [0.0008956376918177189, -0.00037466736768498876, -0.0002259962942523508]}}} +{"step": 1000, "train_loss": 0.05850335955619812, "val_psnr": 16.925878524780273, "pose_gradient_norm": 1.9622573852539062, "translation_update_mean": 0.3374553620815277, "rotation_update_deg_mean": 4.164056777954102, "pose_errors": {"raw": {"rotation_deg_mean": 4.197862311481798, "rotation_deg_max": 12.98662950103471, "translation_mean": 0.33850141706852227, "translation_radius_pct_mean": 8.397186681867382}, "aligned": {"rotation_deg_mean": 4.264229149375842, "rotation_deg_max": 13.725903092316512, "translation_mean": 0.3347628071128183, "translation_radius_pct_mean": 8.304443183182475}, "sim3": {"scale": 0.9851054073910882, "rotation": [[0.9999721645500546, 0.007379434752957715, 0.0011018474511354794], [-0.007366925486874516, 0.9999128497292404, -0.01095542583470787], [-0.0011825962749698227, 0.01094700365743003, 0.9999393804511224]], "translation": [-0.01155520831525464, 0.03952901654113503, 0.05184183887422433]}}} +{"step": 2000, "train_loss": 0.042562276124954224, "val_psnr": 16.910722732543945, "pose_gradient_norm": 1.5551992654800415, "translation_update_mean": 0.2043043076992035, "rotation_update_deg_mean": 2.8744893074035645, "pose_errors": {"raw": {"rotation_deg_mean": 2.8426814264965845, "rotation_deg_max": 9.669432853756629, "translation_mean": 0.30324808004524434, "translation_radius_pct_mean": 7.522659021963001}, "aligned": {"rotation_deg_mean": 2.8737871657396408, "rotation_deg_max": 10.355309610138026, "translation_mean": 0.2970271616630021, "translation_radius_pct_mean": 7.368337029928995}, "sim3": {"scale": 0.9998621809674981, "rotation": [[0.9999460683502763, 0.007117749697537505, 0.00756293792571485], [-0.0070662293749977996, 0.9999517957066311, -0.006817232980010256], [-0.007611096717617885, 0.0067634238612571465, 0.9999481623086416]], "translation": [-0.04042825462714683, 0.017079230948690745, 0.03621996273419681]}}} +{"step": 3000, "train_loss": 0.034643061459064484, "val_psnr": 18.763526916503906, "pose_gradient_norm": 1.474603533744812, "translation_update_mean": 0.1863337904214859, "rotation_update_deg_mean": 1.719361662864685, "pose_errors": {"raw": {"rotation_deg_mean": 2.3621671456213496, "rotation_deg_max": 8.371928917526917, "translation_mean": 0.23944451642400108, "translation_radius_pct_mean": 5.939887406600673}, "aligned": {"rotation_deg_mean": 2.424052045779102, "rotation_deg_max": 8.003962703376232, "translation_mean": 0.2240379858135512, "translation_radius_pct_mean": 5.557698419694118}, "sim3": {"scale": 1.0047123824508166, "rotation": [[0.9998411272779254, 0.006486507652818871, 0.016602572754777032], [-0.006367500366963665, 0.9999537281751077, -0.007210856244595949], [-0.01664857779765177, 0.007103993748127222, 0.9998361656442236]], "translation": [-0.08134353703418107, 0.019692804639411164, 0.026040907267963487]}}} +{"step": 4000, "train_loss": 0.03388919308781624, "val_psnr": 18.722808837890625, "pose_gradient_norm": 1.3781495094299316, "translation_update_mean": 0.1421055942773819, "rotation_update_deg_mean": 1.4677518606185913, "pose_errors": {"raw": {"rotation_deg_mean": 1.990190908180793, "rotation_deg_max": 4.3828563317545095, "translation_mean": 0.19168131577948436, "translation_radius_pct_mean": 4.755028224004382}, "aligned": {"rotation_deg_mean": 1.9488742459886894, "rotation_deg_max": 5.015258142388121, "translation_mean": 0.18142339714717123, "translation_radius_pct_mean": 4.5005605810949225}, "sim3": {"scale": 1.0059874102629227, "rotation": [[0.9998890349331668, 0.003751397659684166, 0.014416824755091283], [-0.003730065572240533, 0.9999919088469098, -0.0015062707395704662], [-0.014422358726882559, 0.0014523278944572786, 0.9998949376371712]], "translation": [-0.05721272101503244, 0.005943543643422214, 0.01423457584129384]}}} +{"step": 5000, "train_loss": 0.024813586845993996, "val_psnr": 18.932270050048828, "pose_gradient_norm": 1.1949131488800049, "translation_update_mean": 0.14012391865253448, "rotation_update_deg_mean": 1.2669817209243774, "pose_errors": {"raw": {"rotation_deg_mean": 1.4750309760030627, "rotation_deg_max": 4.091044190419041, "translation_mean": 0.15108912736755742, "translation_radius_pct_mean": 3.7480599611463137}, "aligned": {"rotation_deg_mean": 1.4539393079263367, "rotation_deg_max": 4.178202894898768, "translation_mean": 0.12959751210088474, "translation_radius_pct_mean": 3.2149186022355787}, "sim3": {"scale": 1.0118514246360402, "rotation": [[0.9999386961772064, 0.003996446732198623, 0.010326291732585775], [-0.0039211107255005114, 0.9999656264845633, -0.007305528044843518], [-0.010355132935319372, 0.00726458965477959, 0.9999199952791432]], "translation": [-0.04759007265950049, 0.023740493723212235, 0.009950379515756058]}}} +{"step": 6000, "train_loss": 0.018795138224959373, "val_psnr": 18.961894989013672, "pose_gradient_norm": 1.1306766271591187, "translation_update_mean": 0.10900701582431793, "rotation_update_deg_mean": 1.00918710231781, "pose_errors": {"raw": {"rotation_deg_mean": 1.114116768716099, "rotation_deg_max": 3.861212952450017, "translation_mean": 0.12666759071662637, "translation_radius_pct_mean": 3.142236198008501}, "aligned": {"rotation_deg_mean": 1.1407220766488584, "rotation_deg_max": 4.247905554879727, "translation_mean": 0.10416820189664262, "translation_radius_pct_mean": 2.5840950540644028}, "sim3": {"scale": 1.0113706812913845, "rotation": [[0.9999776372969078, 0.0017443941514650437, 0.006456159472803559], [-0.0016827220303792833, 0.9999530240416177, -0.009545583093366259], [-0.006472507447845189, 0.00953450570654922, 0.9999335977195029]], "translation": [-0.03235168130018551, 0.04216372444907254, 0.01571030866987]}}} +{"step": 7000, "train_loss": 0.020111404359340668, "val_psnr": 17.69680404663086, "pose_gradient_norm": 1.5046594142913818, "translation_update_mean": 0.08622480928897858, "rotation_update_deg_mean": 0.8093690872192383, "pose_errors": {"raw": {"rotation_deg_mean": 0.90250131206592, "rotation_deg_max": 3.1016409574527333, "translation_mean": 0.1234248157863232, "translation_radius_pct_mean": 3.061792852474373}, "aligned": {"rotation_deg_mean": 0.8739113435253512, "rotation_deg_max": 3.4428229823300827, "translation_mean": 0.08534877810651736, "translation_radius_pct_mean": 2.117242607243277}, "sim3": {"scale": 1.0159875640041878, "rotation": [[0.9999721985525648, 0.0013957742232072216, 0.007324884727269291], [-0.00136387292809518, 0.9999895721169569, -0.004358383643125024], [-0.00733089166377197, 0.004348272261770325, 0.9999636746181088]], "translation": [-0.03397918814325984, 0.023057547637289996, 0.016866852064439275]}}} +{"step": 8000, "train_loss": 0.013782769441604614, "val_psnr": 17.775379180908203, "pose_gradient_norm": 1.1493322849273682, "translation_update_mean": 0.08411725610494614, "rotation_update_deg_mean": 0.696575939655304, "pose_errors": {"raw": {"rotation_deg_mean": 0.7331147017617721, "rotation_deg_max": 2.9677273838432647, "translation_mean": 0.09162958067877446, "translation_radius_pct_mean": 2.2730501431996757}, "aligned": {"rotation_deg_mean": 0.6869658959114033, "rotation_deg_max": 3.1632208366648182, "translation_mean": 0.0673923681080365, "translation_radius_pct_mean": 1.6717988977332783}, "sim3": {"scale": 1.010586757124117, "rotation": [[0.9999580164161491, 0.0031385490774969503, 0.00860900196118789], [-0.0031188122331637837, 0.9999924798488544, -0.0023050501061750014], [-0.0086161717330762, 0.0022781034712787496, 0.9999602851259841]], "translation": [-0.040901400258870346, 0.017369621967226377, 0.017187416697441282]}}} +{"step": 9000, "train_loss": 0.015976926311850548, "val_psnr": 18.349197387695312, "pose_gradient_norm": 0.9551118016242981, "translation_update_mean": 0.07206554710865021, "rotation_update_deg_mean": 0.6826295852661133, "pose_errors": {"raw": {"rotation_deg_mean": 0.6645938438537893, "rotation_deg_max": 1.5149204227997586, "translation_mean": 0.09029004417426498, "translation_radius_pct_mean": 2.2398203322495336}, "aligned": {"rotation_deg_mean": 0.6023277688782482, "rotation_deg_max": 1.5676944519349783, "translation_mean": 0.05469181326599075, "translation_radius_pct_mean": 1.3567369080507827}, "sim3": {"scale": 1.0144905463103275, "rotation": [[0.9999725203772273, 0.0016696060617879612, 0.007222943029975311], [-0.0016447243691252833, 0.9999926982921066, -0.0034493831653966767], [-0.007228649401197475, 0.003437408627230285, 0.9999679649117583]], "translation": [-0.03042460539645342, 0.020890688865867278, 0.017090609216195318]}}} +{"step": 10000, "train_loss": 0.016112618148326874, "val_psnr": 18.745296478271484, "pose_gradient_norm": 0.8158302307128906, "translation_update_mean": 0.060951489955186844, "rotation_update_deg_mean": 0.5979055166244507, "pose_errors": {"raw": {"rotation_deg_mean": 0.5941785256647452, "rotation_deg_max": 1.2600158649925752, "translation_mean": 0.08255375362860393, "translation_radius_pct_mean": 2.047906583410098}, "aligned": {"rotation_deg_mean": 0.5192424275874784, "rotation_deg_max": 1.0456452407601875, "translation_mean": 0.048680807850528335, "translation_radius_pct_mean": 1.2076222158392105}, "sim3": {"scale": 1.0123075345562482, "rotation": [[0.9999907067235575, 0.0015397604896619955, 0.004026860334451072], [-0.0015199392443788807, 0.9999867381860282, -0.0049206947436492565], [-0.004034383622326328, 0.004914528431218811, 0.9999797853752268]], "translation": [-0.0185339520583081, 0.027346110141097987, 0.0187081262380131]}}} +{"step": 11000, "train_loss": 0.011096148751676083, "val_psnr": 17.881580352783203, "pose_gradient_norm": 1.0634535551071167, "translation_update_mean": 0.04802833870053291, "rotation_update_deg_mean": 0.5008991360664368, "pose_errors": {"raw": {"rotation_deg_mean": 0.5223106846816455, "rotation_deg_max": 1.1211918457349253, "translation_mean": 0.07667637685261185, "translation_radius_pct_mean": 1.9021068097633989}, "aligned": {"rotation_deg_mean": 0.46664996489506194, "rotation_deg_max": 1.167293821801844, "translation_mean": 0.04169429348044902, "translation_radius_pct_mean": 1.0343081247811243}, "sim3": {"scale": 1.0122154341189276, "rotation": [[0.9999861780389192, 0.0014852350973556963, 0.005043590766570389], [-0.0014780393585868462, 0.99999788505133, -0.0014301372392926785], [-0.0050457041896568074, 0.0014226628463297804, 0.9999862583554131]], "translation": [-0.023447671297320505, 0.010536622755428465, 0.020464278192928287]}}} +{"step": 12000, "train_loss": 0.011529671959578991, "val_psnr": 18.869123458862305, "pose_gradient_norm": 1.1881879568099976, "translation_update_mean": 0.04779982939362526, "rotation_update_deg_mean": 0.4211495816707611, "pose_errors": {"raw": {"rotation_deg_mean": 0.5235291463876388, "rotation_deg_max": 1.2313054787395479, "translation_mean": 0.07387183829873592, "translation_radius_pct_mean": 1.8325347707529291}, "aligned": {"rotation_deg_mean": 0.4511130419296561, "rotation_deg_max": 1.114027809681839, "translation_mean": 0.03876617861348136, "translation_radius_pct_mean": 0.961670534732568}, "sim3": {"scale": 1.0107754257869441, "rotation": [[0.9999884595112084, 0.0014478511082904508, 0.004580892005768826], [-0.0014415214776614725, 0.9999980022445242, -0.0013847464710224752], [-0.004582887760979422, 0.0013781270361581208, 0.9999885488872566]], "translation": [-0.02109881272234404, 0.011111554667000485, 0.024985738362763854]}}} +{"step": 13000, "train_loss": 0.01287514716386795, "val_psnr": 19.48443603515625, "pose_gradient_norm": 0.9972507357597351, "translation_update_mean": 0.04753531888127327, "rotation_update_deg_mean": 0.4581143856048584, "pose_errors": {"raw": {"rotation_deg_mean": 0.47203140865591964, "rotation_deg_max": 1.0869014827865995, "translation_mean": 0.0663946192878965, "translation_radius_pct_mean": 1.6470477957234675}, "aligned": {"rotation_deg_mean": 0.40358098877185933, "rotation_deg_max": 1.0060971103842407, "translation_mean": 0.03700144253579268, "translation_radius_pct_mean": 0.9178928205448057}, "sim3": {"scale": 1.007981404660025, "rotation": [[0.9999878707234551, 0.0022606285193159338, 0.004375838738800889], [-0.0022569427690637437, 0.9999970943531031, -0.0008470505812087159], [-0.00437774089085975, 0.0008371642894979307, 0.999990067220992]], "translation": [-0.02054527286064084, 0.009596816170448677, 0.02607555773907766]}}} +{"step": 14000, "train_loss": 0.011625456623733044, "val_psnr": 18.90146255493164, "pose_gradient_norm": 0.8079482913017273, "translation_update_mean": 0.04213522747159004, "rotation_update_deg_mean": 0.4063092768192291, "pose_errors": {"raw": {"rotation_deg_mean": 0.44701696012712483, "rotation_deg_max": 0.966585726404052, "translation_mean": 0.058080265876112494, "translation_radius_pct_mean": 1.4407940720540084}, "aligned": {"rotation_deg_mean": 0.38569276672712194, "rotation_deg_max": 0.8571244821437318, "translation_mean": 0.029828931161394914, "translation_radius_pct_mean": 0.7399647116753437}, "sim3": {"scale": 1.0076070629174558, "rotation": [[0.9999794954004694, 0.0011623809049918497, 0.006297431957031757], [-0.0011612722011233349, 0.9999993095753203, -0.00017971019956780754], [-0.0062976365008335505, 0.0001723934820119766, 0.9999801548305783]], "translation": [-0.027214780576321485, 0.003263140606330997, 0.021861808166417696]}}} +{"step": 15000, "train_loss": 0.00885726697742939, "val_psnr": 17.287094116210938, "pose_gradient_norm": 1.1270684003829956, "translation_update_mean": 0.03676183149218559, "rotation_update_deg_mean": 0.3699757754802704, "pose_errors": {"raw": {"rotation_deg_mean": 0.4099905613789174, "rotation_deg_max": 0.9435509852225388, "translation_mean": 0.05483973136497031, "translation_radius_pct_mean": 1.3604063044790606}, "aligned": {"rotation_deg_mean": 0.32770622760214607, "rotation_deg_max": 0.8258431408159417, "translation_mean": 0.026600285211473597, "translation_radius_pct_mean": 0.6598718630074274}, "sim3": {"scale": 1.0077618758351514, "rotation": [[0.9999942847522625, 0.0016461810621548041, 0.002953057859486834], [-0.0016412630206098554, 0.9999972635838172, -0.001667057459691363], [-0.0029557940571111586, 0.0016622011873824749, 0.9999942501678217]], "translation": [-0.01281407082197894, 0.008281004230156944, 0.02191460297955672]}}} +{"step": 16000, "train_loss": 0.011644791811704636, "val_psnr": 18.788650512695312, "pose_gradient_norm": 0.8468996286392212, "translation_update_mean": 0.03343711793422699, "rotation_update_deg_mean": 0.33248329162597656, "pose_errors": {"raw": {"rotation_deg_mean": 0.4021830313903959, "rotation_deg_max": 1.0417822916685542, "translation_mean": 0.05063095494116709, "translation_radius_pct_mean": 1.2559994111815842}, "aligned": {"rotation_deg_mean": 0.3210848846970428, "rotation_deg_max": 1.052011243586178, "translation_mean": 0.028153651830553638, "translation_radius_pct_mean": 0.698406146257284}, "sim3": {"scale": 1.0061642873159287, "rotation": [[0.9999923017570782, 0.0011385652183264346, 0.003755009430510574], [-0.0011337605553035648, 0.9999985362805572, -0.0012814147437892117], [-0.0037564629084877706, 0.0012771475975701097, 0.9999921289092378]], "translation": [-0.018179984018316164, 0.008986292341925564, 0.021151323570902658]}}} +{"step": 17000, "train_loss": 0.007659492082893848, "val_psnr": 19.06987190246582, "pose_gradient_norm": 0.6097712516784668, "translation_update_mean": 0.03394868224859238, "rotation_update_deg_mean": 0.3073218762874603, "pose_errors": {"raw": {"rotation_deg_mean": 0.3981996664622964, "rotation_deg_max": 0.916846305301356, "translation_mean": 0.043326938703851965, "translation_radius_pct_mean": 1.0748090681594453}, "aligned": {"rotation_deg_mean": 0.28999887220222487, "rotation_deg_max": 0.9167566745661749, "translation_mean": 0.024307860112100146, "translation_radius_pct_mean": 0.6030037952742264}, "sim3": {"scale": 1.0040945974631852, "rotation": [[0.9999944285644261, 0.001071477319491508, 0.0031614516382154926], [-0.001066915389157163, 0.9999983878146494, -0.0014443197894369224], [-0.003162994097266009, 0.0014409387410973715, 0.9999939595636994]], "translation": [-0.012894155172736232, 0.007905977789336882, 0.022375751242552422]}}} +{"step": 18000, "train_loss": 0.008682001382112503, "val_psnr": 18.820087432861328, "pose_gradient_norm": 0.6924216747283936, "translation_update_mean": 0.028265198692679405, "rotation_update_deg_mean": 0.3000022768974304, "pose_errors": {"raw": {"rotation_deg_mean": 0.35724342719992025, "rotation_deg_max": 0.7799401391621757, "translation_mean": 0.04069655726425975, "translation_radius_pct_mean": 1.0095573354368501}, "aligned": {"rotation_deg_mean": 0.2571468923808629, "rotation_deg_max": 0.6435804121229537, "translation_mean": 0.021376207451428847, "translation_radius_pct_mean": 0.5302784433650886}, "sim3": {"scale": 1.0036686860960147, "rotation": [[0.9999942918251243, 0.001534583313186476, 0.003010211159361078], [-0.0015297218365589388, 0.9999975232208052, -0.001616633340826577], [-0.003012684562281155, 0.0016120193270576125, 0.9999941625456716]], "translation": [-0.013668553063043765, 0.010565054755522989, 0.021909701155745864]}}} +{"step": 19000, "train_loss": 0.007511613890528679, "val_psnr": 18.81094741821289, "pose_gradient_norm": 0.7541090250015259, "translation_update_mean": 0.026205090805888176, "rotation_update_deg_mean": 0.2729455530643463, "pose_errors": {"raw": {"rotation_deg_mean": 0.3235662388028643, "rotation_deg_max": 0.6706547603455388, "translation_mean": 0.04249809949524553, "translation_radius_pct_mean": 1.054248097915381}, "aligned": {"rotation_deg_mean": 0.2380325723972504, "rotation_deg_max": 0.5128595231560467, "translation_mean": 0.020153187505745875, "translation_radius_pct_mean": 0.49993905250378445}, "sim3": {"scale": 1.0040775488087614, "rotation": [[0.9999936651666471, 0.0014964220511967262, 0.00322960487068456], [-0.0014913843859992984, 0.9999976684543375, -0.0015616845077100923], [-0.003231934279847641, 0.0015568580324219505, 0.9999935653762365]], "translation": [-0.015660998934949266, 0.01141777809720343, 0.02220824920555753]}}} +{"step": 20000, "train_loss": 0.008249863982200623, "val_psnr": 19.076927185058594, "pose_gradient_norm": 0.8467602729797363, "translation_update_mean": 0.024418549612164497, "rotation_update_deg_mean": 0.25459977984428406, "pose_errors": {"raw": {"rotation_deg_mean": 0.3381590994130964, "rotation_deg_max": 0.7312563795516399, "translation_mean": 0.0467168433704279, "translation_radius_pct_mean": 1.158902253250039}, "aligned": {"rotation_deg_mean": 0.2466517426201758, "rotation_deg_max": 0.6538262921892268, "translation_mean": 0.020672262939471442, "translation_radius_pct_mean": 0.5128157292300226}, "sim3": {"scale": 1.0053140585899827, "rotation": [[0.9999917318210123, 0.000677463384272247, 0.004009654969708617], [-0.0006704305817852338, 0.9999982351573523, -0.0017550512858356716], [-0.004010836876282298, 0.001752348579443485, 0.9999904211851282]], "translation": [-0.019336895346711624, 0.011811502549511674, 0.022863651275788044]}}} +{"step": 21000, "train_loss": 0.008172770962119102, "val_psnr": 18.94217300415039, "pose_gradient_norm": 0.8188900351524353, "translation_update_mean": 0.02172776125371456, "rotation_update_deg_mean": 0.22616389393806458, "pose_errors": {"raw": {"rotation_deg_mean": 0.31275259104558173, "rotation_deg_max": 0.7046783548966701, "translation_mean": 0.04183756658575364, "translation_radius_pct_mean": 1.0378622930979151}, "aligned": {"rotation_deg_mean": 0.21186919701799542, "rotation_deg_max": 0.5953161612029074, "translation_mean": 0.01847428020729639, "translation_radius_pct_mean": 0.4582904882858802}, "sim3": {"scale": 1.0040167144587897, "rotation": [[0.9999948511820436, 0.0005846464855447434, 0.003155280952369585], [-0.000578311837675829, 0.9999978163966644, -0.002008172632192654], [-0.0031564481335592622, 0.002006337556151316, 0.9999930056979345]], "translation": [-0.014917963797325462, 0.0136032915848203, 0.022278926653774622]}}} +{"step": 22000, "train_loss": 0.0087976586073637, "val_psnr": 18.14829444885254, "pose_gradient_norm": 0.8714274764060974, "translation_update_mean": 0.023290246725082397, "rotation_update_deg_mean": 0.19711604714393616, "pose_errors": {"raw": {"rotation_deg_mean": 0.30871344517748184, "rotation_deg_max": 0.5786134389854442, "translation_mean": 0.042036477524465814, "translation_radius_pct_mean": 1.0427966661941834}, "aligned": {"rotation_deg_mean": 0.211109880767216, "rotation_deg_max": 0.4868389330240508, "translation_mean": 0.02005809868894675, "translation_radius_pct_mean": 0.49758018927380127}, "sim3": {"scale": 1.003010995404436, "rotation": [[0.9999908630326539, 0.0010038549594601576, 0.004155252871748972], [-0.0009948307711542775, 0.9999971436401546, -0.0021732517731435554], [-0.004157422632422197, 0.002169098142794288, 0.9999890053647108]], "translation": [-0.02053042254186549, 0.014407077516797616, 0.022418088591267704]}}} +{"step": 23000, "train_loss": 0.0083715058863163, "val_psnr": 17.547077178955078, "pose_gradient_norm": 1.1317040920257568, "translation_update_mean": 0.022938665002584457, "rotation_update_deg_mean": 0.19749286770820618, "pose_errors": {"raw": {"rotation_deg_mean": 0.30409183182008226, "rotation_deg_max": 0.6627873947212319, "translation_mean": 0.04017927193617434, "translation_radius_pct_mean": 0.9967250657661891}, "aligned": {"rotation_deg_mean": 0.21620005936662143, "rotation_deg_max": 0.49230568784054435, "translation_mean": 0.017638874328441564, "translation_radius_pct_mean": 0.43756661900159466}, "sim3": {"scale": 1.0030773595754816, "rotation": [[0.9999895443615273, 0.0010022379857711422, 0.004461691007345346], [-0.000995555045518326, 0.9999983797064055, -0.0014998182271820243], [-0.004463186952894859, 0.0014953606866309345, 0.9999889218679567]], "translation": [-0.021538514375535667, 0.011231776065813444, 0.022274663721451038]}}} +{"step": 24000, "train_loss": 0.006122747901827097, "val_psnr": 18.639997482299805, "pose_gradient_norm": 0.6315045356750488, "translation_update_mean": 0.021259881556034088, "rotation_update_deg_mean": 0.190133199095726, "pose_errors": {"raw": {"rotation_deg_mean": 0.28175847852349706, "rotation_deg_max": 0.5710054272156835, "translation_mean": 0.03636838030910925, "translation_radius_pct_mean": 0.9021884794973255}, "aligned": {"rotation_deg_mean": 0.17873768471412144, "rotation_deg_max": 0.5081644986828294, "translation_mean": 0.014387060923379968, "translation_radius_pct_mean": 0.356899056503995}, "sim3": {"scale": 1.0026467443123954, "rotation": [[0.9999937598395132, 0.0010331299427344006, 0.003378302022622599], [-0.0010272148526988753, 0.9999979373578683, -0.0017521728383141423], [-0.003380105276618589, 0.0017486916624599334, 0.9999927584566745]], "translation": [-0.01679453187024449, 0.012584339752619016, 0.022127524985874114]}}} +{"step": 25000, "train_loss": 0.0071752360090613365, "val_psnr": 18.896635055541992, "pose_gradient_norm": 0.5845295190811157, "translation_update_mean": 0.01691504754126072, "rotation_update_deg_mean": 0.16302859783172607, "pose_errors": {"raw": {"rotation_deg_mean": 0.27308742406420194, "rotation_deg_max": 0.6086830694875315, "translation_mean": 0.0372117126734349, "translation_radius_pct_mean": 0.9231089806858613}, "aligned": {"rotation_deg_mean": 0.17483448958520945, "rotation_deg_max": 0.4172981153342836, "translation_mean": 0.014475705810972527, "translation_radius_pct_mean": 0.35909806552426504}, "sim3": {"scale": 1.0027487753938424, "rotation": [[0.9999945478866916, 0.0012297896144907402, 0.0030646067276535243], [-0.0012245427208059621, 0.9999977824056882, -0.0017133822779804985], [-0.003066707031330086, 0.0017096201945657177, 0.9999938362343905]], "translation": [-0.015758428643153466, 0.011975096175692819, 0.022646735062594292]}}} +{"step": 26000, "train_loss": 0.007194338366389275, "val_psnr": 18.074447631835938, "pose_gradient_norm": 0.9017078280448914, "translation_update_mean": 0.017418991774320602, "rotation_update_deg_mean": 0.1663530468940735, "pose_errors": {"raw": {"rotation_deg_mean": 0.2659242407457707, "rotation_deg_max": 0.5549303829396358, "translation_mean": 0.03545404664691861, "translation_radius_pct_mean": 0.8795066528821771}, "aligned": {"rotation_deg_mean": 0.16830655071261233, "rotation_deg_max": 0.4382845053095884, "translation_mean": 0.014089776692080856, "translation_radius_pct_mean": 0.3495243423612511}, "sim3": {"scale": 1.001927894993177, "rotation": [[0.9999946706391395, 0.0013317442270954097, 0.0029807969792737914], [-0.0013273286346633612, 0.999998019698115, -0.0014828346313539562], [-0.0029827658328559206, 0.001478870231608394, 0.9999944580100552]], "translation": [-0.015359766265864938, 0.013201330837009168, 0.023012577000323553]}}} +{"step": 27000, "train_loss": 0.007142993621528149, "val_psnr": 17.764089584350586, "pose_gradient_norm": 0.9035454988479614, "translation_update_mean": 0.015588709153234959, "rotation_update_deg_mean": 0.15493974089622498, "pose_errors": {"raw": {"rotation_deg_mean": 0.24520331386610011, "rotation_deg_max": 0.5106765034749835, "translation_mean": 0.03589425742755567, "translation_radius_pct_mean": 0.8904269383462456}, "aligned": {"rotation_deg_mean": 0.15461677321808093, "rotation_deg_max": 0.3829658053797006, "translation_mean": 0.012717870049580979, "translation_radius_pct_mean": 0.31549152711654166}, "sim3": {"scale": 1.0020004113106509, "rotation": [[0.999994552200936, 0.0010189849271850363, 0.003139623889643454], [-0.0010144815948010604, 0.9999984549201053, -0.0014356129336379959], [-0.0031410819066143452, 0.0014324200220566436, 0.9999940408709128]], "translation": [-0.017239584774942474, 0.013378127997762196, 0.023034950242910135]}}} +{"step": 28000, "train_loss": 0.006942868232727051, "val_psnr": 17.89598274230957, "pose_gradient_norm": 0.6005604863166809, "translation_update_mean": 0.013804465532302856, "rotation_update_deg_mean": 0.14157257974147797, "pose_errors": {"raw": {"rotation_deg_mean": 0.24639069785895362, "rotation_deg_max": 0.46910176978877344, "translation_mean": 0.035233669220314456, "translation_radius_pct_mean": 0.8740397617604481}, "aligned": {"rotation_deg_mean": 0.13993767164678922, "rotation_deg_max": 0.36176914043047603, "translation_mean": 0.011810558818386512, "translation_radius_pct_mean": 0.29298390557428794}, "sim3": {"scale": 1.0016543181165831, "rotation": [[0.9999950044602888, 0.001160564125837407, 0.002940092749807194], [-0.0011541287505679996, 0.9999969368454052, -0.002189585950379019], [-0.002942624898753066, 0.002186181766643615, 0.9999932807614206]], "translation": [-0.016763943165855832, 0.0156483077171704, 0.023842760919717154]}}} +{"step": 29000, "train_loss": 0.009510391391813755, "val_psnr": 17.785213470458984, "pose_gradient_norm": 0.8781922459602356, "translation_update_mean": 0.012848642654716969, "rotation_update_deg_mean": 0.13801226019859314, "pose_errors": {"raw": {"rotation_deg_mean": 0.23125419440702863, "rotation_deg_max": 0.43881706221142336, "translation_mean": 0.03481185526366675, "translation_radius_pct_mean": 0.8635758453323792}, "aligned": {"rotation_deg_mean": 0.1373580096115967, "rotation_deg_max": 0.3232280711033215, "translation_mean": 0.010888551594416842, "translation_radius_pct_mean": 0.2701117213194835}, "sim3": {"scale": 1.0014868148099605, "rotation": [[0.9999946690724469, 0.0008553982196486956, 0.003151209382583558], [-0.0008503014433283684, 0.9999983289023121, -0.0016183880988231423], [-0.003152588482903264, 0.0016156999934272857, 0.9999937253300082]], "translation": [-0.018489776882009035, 0.01297419307179734, 0.024343330991668743]}}} +{"step": 29999, "train_loss": 0.006252150982618332, "val_psnr": 18.412349700927734, "pose_gradient_norm": 1.2936619520187378, "translation_update_mean": 0.01359992939978838, "rotation_update_deg_mean": 0.12558259069919586, "pose_errors": {"raw": {"rotation_deg_mean": 0.2220425716671775, "rotation_deg_max": 0.4450600238678113, "translation_mean": 0.033843435882815256, "translation_radius_pct_mean": 0.8395523171658714}, "aligned": {"rotation_deg_mean": 0.14080875617020408, "rotation_deg_max": 0.30401219804878393, "translation_mean": 0.011522863264916144, "translation_radius_pct_mean": 0.28584705725336995}, "sim3": {"scale": 1.001384985914913, "rotation": [[0.9999957275167338, 0.0008409404946306208, 0.0027996012861861226], [-0.0008375742534831504, 0.9999989252017821, -0.0012033555794285237], [-0.002800610227615765, 0.001201005564154536, 0.9999953570732147]], "translation": [-0.016728229327588662, 0.012167826306896272, 0.02389323659608822]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-R1.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-R1.jsonl new file mode 100644 index 0000000..897de46 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-R1.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34218087792396545, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.0077688065357506275, "translation_update_mean": 0.010240469127893448, "rotation_update_deg_mean": 0.18308480083942413, "pose_errors": {"raw": {"rotation_deg_mean": 1.0122000561632347, "rotation_deg_max": 1.1852027130339449, "translation_mean": 0.01024047215954809, "translation_radius_pct_mean": 0.25403484918582747}, "aligned": {"rotation_deg_mean": 1.0093703714633366, "rotation_deg_max": 1.203443425387977, "translation_mean": 0.009975902593806023, "translation_radius_pct_mean": 0.24747168601470548}, "sim3": {"scale": 1.0001784097018183, "rotation": [[0.9999998617518588, 0.0005029726812345732, 0.0001533451866037994], [-0.0005030149990329021, 0.9999998353859336, 0.0002760507511680952], [-0.0001532063153746536, -0.00027612784793341606, 0.9999999501406183]], "translation": [-0.0006199756822880542, -0.001597578281446202, -0.0006660178150950102]}}} +{"step": 1000, "train_loss": 0.0592832937836647, "val_psnr": 16.765897750854492, "pose_gradient_norm": 1.977785587310791, "translation_update_mean": 0.3413260579109192, "rotation_update_deg_mean": 4.248817443847656, "pose_errors": {"raw": {"rotation_deg_mean": 4.267952794038616, "rotation_deg_max": 15.985951523114778, "translation_mean": 0.34171010074644637, "translation_radius_pct_mean": 8.476784327513679}, "aligned": {"rotation_deg_mean": 4.296072025647704, "rotation_deg_max": 15.844762181849445, "translation_mean": 0.3409297179029939, "translation_radius_pct_mean": 8.457425411747398}, "sim3": {"scale": 0.9858892668453544, "rotation": [[0.999969698559408, -0.0014257949418549133, 0.007653043302511275], [0.001372585905236212, 0.9999748826714656, 0.006953418880011141], [-0.0076627652279761425, -0.006942703722032825, 0.9999465390180061]], "translation": [-0.01916522162647727, -0.031183863047111085, 0.03729216135936353]}}} +{"step": 2000, "train_loss": 0.0464937761425972, "val_psnr": 16.70429801940918, "pose_gradient_norm": 1.4370639324188232, "translation_update_mean": 0.19513538479804993, "rotation_update_deg_mean": 2.763767719268799, "pose_errors": {"raw": {"rotation_deg_mean": 3.1966384307062072, "rotation_deg_max": 9.426203434638886, "translation_mean": 0.31270611587454944, "translation_radius_pct_mean": 7.757284014644755}, "aligned": {"rotation_deg_mean": 3.2819848320518217, "rotation_deg_max": 9.58036785891841, "translation_mean": 0.3109981412063666, "translation_radius_pct_mean": 7.714914377729088}, "sim3": {"scale": 0.9888345221201962, "rotation": [[0.9999313679496143, -0.0036923111272932773, 0.011118733244042858], [0.003592814598214696, 0.99995344635781, 0.008955266629223893], [-0.011151281257136648, -0.00891470446380051, 0.999898083291815]], "translation": [-0.04112987232087484, -0.04503497720497919, 0.03331812367937603]}}} +{"step": 3000, "train_loss": 0.03555683791637421, "val_psnr": 17.98609733581543, "pose_gradient_norm": 1.2944800853729248, "translation_update_mean": 0.1527923196554184, "rotation_update_deg_mean": 1.783859372138977, "pose_errors": {"raw": {"rotation_deg_mean": 2.6510865319590993, "rotation_deg_max": 8.836848844863834, "translation_mean": 0.2600626639962463, "translation_radius_pct_mean": 6.451360698788949}, "aligned": {"rotation_deg_mean": 2.738351696689886, "rotation_deg_max": 8.85484645755016, "translation_mean": 0.2579189058778058, "translation_radius_pct_mean": 6.398180604958886}, "sim3": {"scale": 0.9969957944021082, "rotation": [[0.9999541095023109, -0.003929045602092504, 0.008737361735456996], [0.0038237312555215596, 0.999920235066258, 0.012037548933414296], [-0.008783960879073868, -0.012003587201144118, 0.9998893718434946]], "translation": [-0.02334089746054524, -0.05549986223489364, 0.02417192839626292]}}} +{"step": 4000, "train_loss": 0.0336029976606369, "val_psnr": 17.766454696655273, "pose_gradient_norm": 1.1895272731781006, "translation_update_mean": 0.16374076902866364, "rotation_update_deg_mean": 1.5557317733764648, "pose_errors": {"raw": {"rotation_deg_mean": 2.1996431569893558, "rotation_deg_max": 7.925864457602599, "translation_mean": 0.21448307348669288, "translation_radius_pct_mean": 5.320670216880824}, "aligned": {"rotation_deg_mean": 2.197280840205058, "rotation_deg_max": 7.980860233931409, "translation_mean": 0.21195128691061627, "translation_radius_pct_mean": 5.257864321702968}, "sim3": {"scale": 0.9986031214635035, "rotation": [[0.9999323220016916, -0.004426116549484004, 0.010759224349125828], [0.004396734397104552, 0.9999865447643353, 0.002753001439475582], [-0.010771264686458473, -0.002705509670066812, 0.9999383281355291]], "translation": [-0.031375628361303975, -0.013277163915072665, 0.019753960921178315]}}} +{"step": 5000, "train_loss": 0.022048022598028183, "val_psnr": 18.636014938354492, "pose_gradient_norm": 1.2773839235305786, "translation_update_mean": 0.1452854871749878, "rotation_update_deg_mean": 1.220158338546753, "pose_errors": {"raw": {"rotation_deg_mean": 1.7490121933559193, "rotation_deg_max": 6.531634829812252, "translation_mean": 0.14191267348991407, "translation_radius_pct_mean": 3.5204201569899882}, "aligned": {"rotation_deg_mean": 1.7106217125035341, "rotation_deg_max": 6.650842664021053, "translation_mean": 0.13069857526331727, "translation_radius_pct_mean": 3.242232617649587}, "sim3": {"scale": 1.0048827182895106, "rotation": [[0.999938908403545, -0.003524415517243267, 0.010476543131665862], [0.003472736540649218, 0.9999817338119812, 0.004946932716799333], [-0.010493786811589275, -0.004910248226629143, 0.9999328826979885]], "translation": [-0.025873667325185645, -0.020606667935155268, 0.020835292534087113]}}} +{"step": 6000, "train_loss": 0.01583050563931465, "val_psnr": 18.163402557373047, "pose_gradient_norm": 0.8539607524871826, "translation_update_mean": 0.09808046370744705, "rotation_update_deg_mean": 1.0924973487854004, "pose_errors": {"raw": {"rotation_deg_mean": 1.2165543050461978, "rotation_deg_max": 3.997394462967095, "translation_mean": 0.10451241282326848, "translation_radius_pct_mean": 2.592633876246736}, "aligned": {"rotation_deg_mean": 1.2288057830642167, "rotation_deg_max": 4.058391389332045, "translation_mean": 0.09827354030575128, "translation_radius_pct_mean": 2.437866496932165}, "sim3": {"scale": 1.001505212080196, "rotation": [[0.999971942644489, -0.002720600010914294, 0.006979416837187113], [0.0026805664941815894, 0.9999799396145674, 0.005738896384791658], [-0.006994890068962288, -0.005720026575612893, 0.9999591755711309]], "translation": [-0.021907601539310984, -0.020639266232979722, 0.019047469411183293]}}} +{"step": 7000, "train_loss": 0.01847570762038231, "val_psnr": 17.727779388427734, "pose_gradient_norm": 1.1113659143447876, "translation_update_mean": 0.0888691321015358, "rotation_update_deg_mean": 0.8700776696205139, "pose_errors": {"raw": {"rotation_deg_mean": 0.8570725229326436, "rotation_deg_max": 2.552956817999394, "translation_mean": 0.07853242255699083, "translation_radius_pct_mean": 1.9481496370127556}, "aligned": {"rotation_deg_mean": 0.8272260035003505, "rotation_deg_max": 2.5195356893531042, "translation_mean": 0.07241430405781463, "translation_radius_pct_mean": 1.7963777962202276}, "sim3": {"scale": 0.9974562940744921, "rotation": [[0.999988777683903, -0.0025834708918802077, 0.003971169148301133], [0.0025767823788231045, 0.9999952546318731, 0.0016884627052279257], [-0.003975512397892621, -0.0016782109180810462, 0.9999906894113008]], "translation": [-0.006821803101125068, -0.007720813707388363, 0.02844421105706063]}}} +{"step": 8000, "train_loss": 0.015307577326893806, "val_psnr": 17.559757232666016, "pose_gradient_norm": 1.4234347343444824, "translation_update_mean": 0.07456627488136292, "rotation_update_deg_mean": 0.735554039478302, "pose_errors": {"raw": {"rotation_deg_mean": 0.7254581221316468, "rotation_deg_max": 1.9367815530856352, "translation_mean": 0.0662398530409295, "translation_radius_pct_mean": 1.6432085176516393}, "aligned": {"rotation_deg_mean": 0.6711661226531092, "rotation_deg_max": 1.8747861715277876, "translation_mean": 0.059696107923521716, "translation_radius_pct_mean": 1.4808781799375492}, "sim3": {"scale": 0.9977223158503868, "rotation": [[0.999987687740077, -0.0012585263883373094, 0.00480004995648541], [0.001248050557643775, 0.9999968344752538, 0.0021848133279781727], [-0.004802784407035375, -0.0021787957229637382, 0.999986092958866]], "translation": [-0.012436227046282888, -0.007594309482617467, 0.02791396858892936]}}} +{"step": 9000, "train_loss": 0.015324852429330349, "val_psnr": 18.266109466552734, "pose_gradient_norm": 0.7017290592193604, "translation_update_mean": 0.06637198477983475, "rotation_update_deg_mean": 0.6183106303215027, "pose_errors": {"raw": {"rotation_deg_mean": 0.6231083225918944, "rotation_deg_max": 1.7293627405388854, "translation_mean": 0.0628417486139344, "translation_radius_pct_mean": 1.5589119215396603}, "aligned": {"rotation_deg_mean": 0.5747042957499828, "rotation_deg_max": 1.5276118595876902, "translation_mean": 0.05206801901056882, "translation_radius_pct_mean": 1.2916485832561801}, "sim3": {"scale": 0.9982559663885164, "rotation": [[0.9999847780904839, 0.0001139824759617851, 0.005516393325459354], [-0.00013165136439565793, 0.9999948626091215, 0.003202721230963801], [-0.005515999931495014, -0.0032033987201387725, 0.9999796557837553]], "translation": [-0.009576784730863264, -0.012475064212124395, 0.032826177347654806]}}} +{"step": 10000, "train_loss": 0.013227672316133976, "val_psnr": 18.389211654663086, "pose_gradient_norm": 0.6656579375267029, "translation_update_mean": 0.05936678126454353, "rotation_update_deg_mean": 0.5740875601768494, "pose_errors": {"raw": {"rotation_deg_mean": 0.5645450132833544, "rotation_deg_max": 1.3903801032403764, "translation_mean": 0.055670368068423015, "translation_radius_pct_mean": 1.3810118650823457}, "aligned": {"rotation_deg_mean": 0.5021662822561035, "rotation_deg_max": 1.2739465602584008, "translation_mean": 0.043263548595354126, "translation_radius_pct_mean": 1.0732365531033785}, "sim3": {"scale": 0.9974510879473295, "rotation": [[0.9999805740742611, -0.0005711238739039246, 0.006206874546160752], [0.0005517875277038164, 0.9999949912255642, 0.0031165773384391614], [-0.006208623409049033, -0.0031130919200785755, 0.9999758805361563]], "translation": [-0.015643705960422083, -0.011557370099756437, 0.03714154240807943]}}} +{"step": 11000, "train_loss": 0.011664541438221931, "val_psnr": 17.536226272583008, "pose_gradient_norm": 0.6807234883308411, "translation_update_mean": 0.05392063409090042, "rotation_update_deg_mean": 0.544683575630188, "pose_errors": {"raw": {"rotation_deg_mean": 0.48679229178929645, "rotation_deg_max": 1.3785150592522255, "translation_mean": 0.05639276905405232, "translation_radius_pct_mean": 1.3989324279799196}, "aligned": {"rotation_deg_mean": 0.4511801008095674, "rotation_deg_max": 1.2491634964299638, "translation_mean": 0.04272997157667479, "translation_radius_pct_mean": 1.0600001363290947}, "sim3": {"scale": 0.9935451510700778, "rotation": [[0.9999818564323385, -0.0007163400540117714, 0.005981108848699385], [0.000706279275695904, 0.99999833259599, 0.0016840352796674291], [-0.005982305217697458, -0.0016797803920338516, 0.9999806949947153]], "translation": [-0.018734735142938996, -0.012581710071466051, 0.039988508447008186]}}} +{"step": 12000, "train_loss": 0.01053583063185215, "val_psnr": 18.2950382232666, "pose_gradient_norm": 1.134634256362915, "translation_update_mean": 0.05271051451563835, "rotation_update_deg_mean": 0.4863003194332123, "pose_errors": {"raw": {"rotation_deg_mean": 0.4911568592328972, "rotation_deg_max": 1.0685743598965485, "translation_mean": 0.053908362325797515, "translation_radius_pct_mean": 1.33730188217154}, "aligned": {"rotation_deg_mean": 0.41266210107692053, "rotation_deg_max": 1.0804857537523052, "translation_mean": 0.03796951874910918, "translation_radius_pct_mean": 0.9419078357724919}, "sim3": {"scale": 0.9934753757448063, "rotation": [[0.9999827978676266, -0.00023917896047704687, 0.005860611082310524], [0.00023372271698094186, 0.9999995386825371, 0.0009316696862596934], [-0.0058608312144954565, -0.0009302839016090335, 0.9999823924596563]], "translation": [-0.015349565580100921, -0.007884417770472968, 0.041294917072858706]}}} +{"step": 13000, "train_loss": 0.013360634446144104, "val_psnr": 17.878063201904297, "pose_gradient_norm": 0.8788467645645142, "translation_update_mean": 0.04582320898771286, "rotation_update_deg_mean": 0.4391826093196869, "pose_errors": {"raw": {"rotation_deg_mean": 0.4239659826344695, "rotation_deg_max": 0.9983299822923537, "translation_mean": 0.051441404297060796, "translation_radius_pct_mean": 1.276104185325738}, "aligned": {"rotation_deg_mean": 0.3616293771235305, "rotation_deg_max": 0.9167513291693624, "translation_mean": 0.03257692455867059, "translation_radius_pct_mean": 0.8081340379880653}, "sim3": {"scale": 0.9943892602819886, "rotation": [[0.999988036103301, 0.0003821099719163145, 0.004876642516411745], [-0.000392387274504512, 0.999997703980367, 0.0021066718351272218], [-0.0048758263392289485, -0.0021085601635888016, 0.9999858900462274]], "translation": [-0.012197264920291495, -0.014028722000854338, 0.04279747100439657]}}} +{"step": 14000, "train_loss": 0.011241177096962929, "val_psnr": 18.322324752807617, "pose_gradient_norm": 0.9881389141082764, "translation_update_mean": 0.04407711699604988, "rotation_update_deg_mean": 0.39598867297172546, "pose_errors": {"raw": {"rotation_deg_mean": 0.42447401259805756, "rotation_deg_max": 0.940700433876361, "translation_mean": 0.04836420839128919, "translation_radius_pct_mean": 1.1997683498624214}, "aligned": {"rotation_deg_mean": 0.3292894091272586, "rotation_deg_max": 0.8276741091960073, "translation_mean": 0.030040426267050054, "translation_radius_pct_mean": 0.745211259532861}, "sim3": {"scale": 0.9961200055242978, "rotation": [[0.9999831371345944, -0.0008626182413558654, 0.005742937943786983], [0.0008543121723057068, 0.9999985858444426, 0.001448606167566915], [-0.005744179416484157, -0.001443675478125928, 0.999982459948147]], "translation": [-0.01489428092003603, -0.01040596363830229, 0.03978868916836875]}}} +{"step": 15000, "train_loss": 0.009723241440951824, "val_psnr": 16.806690216064453, "pose_gradient_norm": 0.6028748154640198, "translation_update_mean": 0.03820568695664406, "rotation_update_deg_mean": 0.3960095942020416, "pose_errors": {"raw": {"rotation_deg_mean": 0.4002580181928703, "rotation_deg_max": 0.8855073912868804, "translation_mean": 0.04800073100521949, "translation_radius_pct_mean": 1.1907515856435391}, "aligned": {"rotation_deg_mean": 0.3327542021861996, "rotation_deg_max": 0.806782560700102, "translation_mean": 0.03050764052081178, "translation_radius_pct_mean": 0.756801418721094}, "sim3": {"scale": 0.9952483706935981, "rotation": [[0.9999943282760374, -0.000190894745231559, 0.00336258456425607], [0.0001876388720829982, 0.9999995133473533, 0.0009685539273185013], [-0.003362767819700634, -0.0009679174823729723, 0.999993877445426]], "translation": [-0.005191225262205168, -0.008535120740733287, 0.04233441623169609]}}} +{"step": 16000, "train_loss": 0.011861500330269337, "val_psnr": 17.268022537231445, "pose_gradient_norm": 0.7265828251838684, "translation_update_mean": 0.03384057804942131, "rotation_update_deg_mean": 0.33742162585258484, "pose_errors": {"raw": {"rotation_deg_mean": 0.3343851971060211, "rotation_deg_max": 0.8083076745432796, "translation_mean": 0.042965886456393286, "translation_radius_pct_mean": 1.0658524642253335}, "aligned": {"rotation_deg_mean": 0.26629597141273903, "rotation_deg_max": 0.7294411643526698, "translation_mean": 0.025686422022809696, "translation_radius_pct_mean": 0.6372017074040789}, "sim3": {"scale": 0.9940252478169834, "rotation": [[0.9999965905622092, -0.00025944876432339696, 0.0025983745488092212], [0.00025851730188932625, 0.9999999022126842, 0.00035880834144456306], [-0.0025984673871019648, -0.00035813539333209637, 0.9999965598472215]], "translation": [-0.003935875683516332, -0.0071010398792433205, 0.040512842673098515]}}} +{"step": 17000, "train_loss": 0.0078096832148730755, "val_psnr": 17.351165771484375, "pose_gradient_norm": 0.6459617018699646, "translation_update_mean": 0.034336384385824203, "rotation_update_deg_mean": 0.3091300427913666, "pose_errors": {"raw": {"rotation_deg_mean": 0.33658585372782956, "rotation_deg_max": 0.7117690448245437, "translation_mean": 0.043050871269233196, "translation_radius_pct_mean": 1.0679606779655313}, "aligned": {"rotation_deg_mean": 0.2536440134558611, "rotation_deg_max": 0.647846205494081, "translation_mean": 0.023738032095016775, "translation_radius_pct_mean": 0.5888681019071326}, "sim3": {"scale": 0.9928319464363151, "rotation": [[0.9999935849393136, -0.00046902557301914594, 0.003551069589793193], [0.000469208739851895, 0.9999998886339023, -5.074782656055872e-05], [-0.0035510453922960156, 5.241369389753375e-05, 0.9999936936448284]], "translation": [-0.008723678118288947, -0.0037303147909565487, 0.04219153559909028]}}} +{"step": 18000, "train_loss": 0.007679313886910677, "val_psnr": 17.771831512451172, "pose_gradient_norm": 1.092347502708435, "translation_update_mean": 0.031762171536684036, "rotation_update_deg_mean": 0.2743723392486572, "pose_errors": {"raw": {"rotation_deg_mean": 0.322470376764559, "rotation_deg_max": 0.721823179753012, "translation_mean": 0.04214896657237028, "translation_radius_pct_mean": 1.0455871760334026}, "aligned": {"rotation_deg_mean": 0.2526548832806994, "rotation_deg_max": 0.6393512238583999, "translation_mean": 0.023163760133171486, "translation_radius_pct_mean": 0.5746221678382629}, "sim3": {"scale": 0.9924982946744804, "rotation": [[0.9999942094306921, 0.00020935031180351995, 0.0033966568168086347], [-0.00021240563544935612, 0.9999995731855382, 0.0008991732796482944], [-0.003396467124859769, -0.0008998895419727218, 0.9999938270858872]], "translation": [-0.008912529248457368, -0.00717200959761799, 0.041157798098323095]}}} +{"step": 19000, "train_loss": 0.008073225617408752, "val_psnr": 17.73860740661621, "pose_gradient_norm": 0.7789424657821655, "translation_update_mean": 0.02939881756901741, "rotation_update_deg_mean": 0.2723331153392792, "pose_errors": {"raw": {"rotation_deg_mean": 0.3090562277552838, "rotation_deg_max": 0.65746262135015, "translation_mean": 0.04131817376687057, "translation_radius_pct_mean": 1.024977743014925}, "aligned": {"rotation_deg_mean": 0.23610839990620247, "rotation_deg_max": 0.5889892590368492, "translation_mean": 0.021276480568409237, "translation_radius_pct_mean": 0.527804523872613}, "sim3": {"scale": 0.9924715981726794, "rotation": [[0.9999878343429687, -0.000149084441555933, 0.004930409708035884], [0.0001445901416669607, 0.9999995737743154, 0.0009118908255971635], [-0.004930543555303034, -0.0009111668432079217, 0.9999874296786097]], "translation": [-0.015320425345138, -0.004032117727656659, 0.0404972580850127]}}} +{"step": 20000, "train_loss": 0.00725738238543272, "val_psnr": 18.47791290283203, "pose_gradient_norm": 0.736621081829071, "translation_update_mean": 0.026802552863955498, "rotation_update_deg_mean": 0.24081489443778992, "pose_errors": {"raw": {"rotation_deg_mean": 0.29436065397681016, "rotation_deg_max": 0.6246059121241089, "translation_mean": 0.04066493002043784, "translation_radius_pct_mean": 1.0087727600784795}, "aligned": {"rotation_deg_mean": 0.2132845209830409, "rotation_deg_max": 0.5555316129044716, "translation_mean": 0.018519076321552398, "translation_radius_pct_mean": 0.45940174311396204}, "sim3": {"scale": 0.9912439384362548, "rotation": [[0.9999898859634715, -0.00013658357228657687, 0.004495477248518598], [0.0001339972032835397, 0.9999998253514024, 0.000575623066987081], [-0.0044955550840446185, -0.0005750148637357482, 0.9999897296184564]], "translation": [-0.01370541125281749, -0.0047589698127970675, 0.04069991272126394]}}} +{"step": 21000, "train_loss": 0.007452287711203098, "val_psnr": 17.328975677490234, "pose_gradient_norm": 0.8511802554130554, "translation_update_mean": 0.023406481370329857, "rotation_update_deg_mean": 0.23552563786506653, "pose_errors": {"raw": {"rotation_deg_mean": 0.2720383711570732, "rotation_deg_max": 0.6032641358341114, "translation_mean": 0.03936838862088545, "translation_radius_pct_mean": 0.9766095264143584}, "aligned": {"rotation_deg_mean": 0.2019366690563422, "rotation_deg_max": 0.48844006925123595, "translation_mean": 0.017004021291694208, "translation_radius_pct_mean": 0.4218178534239344}, "sim3": {"scale": 0.9918423603873966, "rotation": [[0.9999916581467971, -0.0002003352821544135, 0.004079644910320975], [0.00019635263044805526, 0.999999503846757, 0.000976602214509143], [-0.004079838534072185, -0.000975793018827313, 0.999991201334053]], "translation": [-0.01282624697949214, -0.005851201035317749, 0.040702921427044014]}}} +{"step": 22000, "train_loss": 0.008339745923876762, "val_psnr": 16.60354995727539, "pose_gradient_norm": 0.9925237894058228, "translation_update_mean": 0.019721847027540207, "rotation_update_deg_mean": 0.21143555641174316, "pose_errors": {"raw": {"rotation_deg_mean": 0.24991566989957514, "rotation_deg_max": 0.5980266729287746, "translation_mean": 0.04025494620559217, "translation_radius_pct_mean": 0.9986023133500205}, "aligned": {"rotation_deg_mean": 0.18903824842068456, "rotation_deg_max": 0.5978481689010362, "translation_mean": 0.015241113303401086, "translation_radius_pct_mean": 0.3780854885527528}, "sim3": {"scale": 0.9907121748195691, "rotation": [[0.9999927939233006, -0.00032558347977034504, 0.0037823401312722534], [0.00032102441733123207, 0.9999992213744974, 0.0012058995489093143], [-0.003782729807217008, -0.0012046766355679288, 0.9999921198236549]], "translation": [-0.013568206183614429, -0.007356381306214771, 0.042197489226069695]}}} +{"step": 23000, "train_loss": 0.006723345257341862, "val_psnr": 17.229671478271484, "pose_gradient_norm": 0.8214613795280457, "translation_update_mean": 0.018219593912363052, "rotation_update_deg_mean": 0.188960000872612, "pose_errors": {"raw": {"rotation_deg_mean": 0.2671463091512958, "rotation_deg_max": 0.7085355509647039, "translation_mean": 0.039624312682210644, "translation_radius_pct_mean": 0.9829582210164087}, "aligned": {"rotation_deg_mean": 0.20589528734936002, "rotation_deg_max": 0.518835054204849, "translation_mean": 0.015782959344198287, "translation_radius_pct_mean": 0.3915270345197045}, "sim3": {"scale": 0.9908000541737616, "rotation": [[0.9999943744961938, -0.0005984894747578086, 0.003300422141967483], [0.0005929144830745463, 0.9999983963521197, 0.0016898951466966352], [-0.0033014282337113865, -0.0016879287720968684, 0.9999931257104124]], "translation": [-0.009623848904337151, -0.010182820949341989, 0.04203524871208142]}}} +{"step": 24000, "train_loss": 0.007158513180911541, "val_psnr": 17.04344940185547, "pose_gradient_norm": 0.8790948987007141, "translation_update_mean": 0.01844101771712303, "rotation_update_deg_mean": 0.18861988186836243, "pose_errors": {"raw": {"rotation_deg_mean": 0.25127437427358584, "rotation_deg_max": 0.545073563627865, "translation_mean": 0.03917100632348421, "translation_radius_pct_mean": 0.9717130742419334}, "aligned": {"rotation_deg_mean": 0.17612956316755107, "rotation_deg_max": 0.4426805111834162, "translation_mean": 0.01447481524286352, "translation_radius_pct_mean": 0.35907597324846596}, "sim3": {"scale": 0.9908485060865767, "rotation": [[0.9999959381060469, -0.0008374206092378387, 0.002724426202050131], [0.0008355942950072114, 0.9999994254902441, 0.0006714174229795521], [-0.002724986895628143, -0.000669138180761554, 0.9999960633425085]], "translation": [-0.007743730921020209, -0.0055683523123304934, 0.042577690094684595]}}} +{"step": 25000, "train_loss": 0.009254724718630314, "val_psnr": 17.08637809753418, "pose_gradient_norm": 1.2799309492111206, "translation_update_mean": 0.019464971497654915, "rotation_update_deg_mean": 0.18951007723808289, "pose_errors": {"raw": {"rotation_deg_mean": 0.233917715589551, "rotation_deg_max": 0.5782318479595608, "translation_mean": 0.039932805887936344, "translation_radius_pct_mean": 0.9906109955926581}, "aligned": {"rotation_deg_mean": 0.1637362353675379, "rotation_deg_max": 0.39292499672508024, "translation_mean": 0.013730714190363718, "translation_radius_pct_mean": 0.3406170979441124}, "sim3": {"scale": 0.9896926614637291, "rotation": [[0.9999945554063732, -0.0007063093857596481, 0.003223396448051095], [0.0007055175441511788, 0.9999997206710647, 0.0002467849006816864], [-0.0032235698541548197, -0.00024450939429238505, 0.9999947743926217]], "translation": [-0.009932829160528567, -0.0064628952008275314, 0.041210432715332423]}}} +{"step": 26000, "train_loss": 0.006230051163583994, "val_psnr": 17.277761459350586, "pose_gradient_norm": 0.7656090259552002, "translation_update_mean": 0.01651444099843502, "rotation_update_deg_mean": 0.16045069694519043, "pose_errors": {"raw": {"rotation_deg_mean": 0.22462828950798094, "rotation_deg_max": 0.5323278478028682, "translation_mean": 0.03995757538780389, "translation_radius_pct_mean": 0.9912254512608368}, "aligned": {"rotation_deg_mean": 0.14976728840551645, "rotation_deg_max": 0.3373130258037895, "translation_mean": 0.01301782693432747, "translation_radius_pct_mean": 0.32293254163146107}, "sim3": {"scale": 0.9898629464438028, "rotation": [[0.9999917811689235, -0.0006733511036957897, 0.003998023623664372], [0.0006727250338867012, 0.9999997612483508, 0.0001579375506682232], [-0.003998129016553608, -0.00015524668202847517, 0.99999199539938]], "translation": [-0.013531473882066436, -0.0040415149147288165, 0.041173057465256235]}}} +{"step": 27000, "train_loss": 0.006287896074354649, "val_psnr": 16.50989532470703, "pose_gradient_norm": 0.67230224609375, "translation_update_mean": 0.015506221912801266, "rotation_update_deg_mean": 0.15509554743766785, "pose_errors": {"raw": {"rotation_deg_mean": 0.21132269451573624, "rotation_deg_max": 0.42658682610602117, "translation_mean": 0.03908013893796243, "translation_radius_pct_mean": 0.9694589318335276}, "aligned": {"rotation_deg_mean": 0.1374016089647885, "rotation_deg_max": 0.3521377682554961, "translation_mean": 0.011752753669069122, "translation_radius_pct_mean": 0.2915499363041}, "sim3": {"scale": 0.9894112793343942, "rotation": [[0.9999968544905712, -0.000523732427285399, 0.0024528989600725456], [0.0005230754506547676, 0.9999998271577694, 0.00026847067780566303], [-0.0024530391429078324, -0.0002671867820996436, 0.9999969556004599]], "translation": [-0.008325583144144166, -0.004667644054302325, 0.04173479542448133]}}} +{"step": 28000, "train_loss": 0.0066715325228869915, "val_psnr": 16.45140838623047, "pose_gradient_norm": 0.7221307158470154, "translation_update_mean": 0.0150831900537014, "rotation_update_deg_mean": 0.13077333569526672, "pose_errors": {"raw": {"rotation_deg_mean": 0.19937315346749135, "rotation_deg_max": 0.3823110985615864, "translation_mean": 0.041459207154114185, "translation_radius_pct_mean": 1.0284763507646852}, "aligned": {"rotation_deg_mean": 0.13272154749909262, "rotation_deg_max": 0.3378713045411879, "translation_mean": 0.01173277977583679, "translation_radius_pct_mean": 0.29105444499511784}, "sim3": {"scale": 0.9885320474750887, "rotation": [[0.9999942229683442, -0.00023521590503070098, 0.00339097381537861], [0.00023344033716002536, 0.9999998354636354, 0.000524002206504013], [-0.003391096511093434, -0.0005232075892558794, 0.9999941133418103]], "translation": [-0.012451643065914064, -0.005035068285825631, 0.0413662697354753]}}} +{"step": 29000, "train_loss": 0.007554555777460337, "val_psnr": 16.120899200439453, "pose_gradient_norm": 0.7188828587532043, "translation_update_mean": 0.013839032500982285, "rotation_update_deg_mean": 0.12363293021917343, "pose_errors": {"raw": {"rotation_deg_mean": 0.18713574361515065, "rotation_deg_max": 0.3825309543675209, "translation_mean": 0.042557633922956646, "translation_radius_pct_mean": 1.055724965302873}, "aligned": {"rotation_deg_mean": 0.12760099703906128, "rotation_deg_max": 0.26387975939203906, "translation_mean": 0.010313062363285035, "translation_radius_pct_mean": 0.2558355905160492}, "sim3": {"scale": 0.9878550646383165, "rotation": [[0.999995897417283, -0.00039823330931575504, 0.0028366457012709697], [0.00039515386713793695, 0.9999993321518629, 0.0010860705545648656], [-0.002837076316293572, -0.0010849451873519928, 0.9999953869353182]], "translation": [-0.010990290081007714, -0.007433606116799954, 0.041916909362403665]}}} +{"step": 29999, "train_loss": 0.005095362197607756, "val_psnr": 17.734481811523438, "pose_gradient_norm": 0.6130103468894958, "translation_update_mean": 0.013666831888258457, "rotation_update_deg_mean": 0.1282908171415329, "pose_errors": {"raw": {"rotation_deg_mean": 0.1793806701179328, "rotation_deg_max": 0.39091137138568327, "translation_mean": 0.04092063698178019, "translation_radius_pct_mean": 1.0151160690927814}, "aligned": {"rotation_deg_mean": 0.12620268885861477, "rotation_deg_max": 0.2844219415191586, "translation_mean": 0.010811498759904305, "translation_radius_pct_mean": 0.26820027574453686}, "sim3": {"scale": 0.9884898064166177, "rotation": [[0.9999962742321504, -0.00025575868200806545, 0.0027177397437559182], [0.0002551423355566812, 0.9999999416570149, 0.00022713069996412928], [-0.002717797675843226, -0.00022643644326225578, 0.9999962811442495]], "translation": [-0.011186563460292953, -0.0040042506887275064, 0.04293008396102582]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-R2.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-R2.jsonl new file mode 100644 index 0000000..0ee7ff1 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-R2.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.342212051153183, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.007360697258263826, "translation_update_mean": 0.01007862575352192, "rotation_update_deg_mean": 0.18077927827835083, "pose_errors": {"raw": {"rotation_deg_mean": 2.0185171423909734, "rotation_deg_max": 2.185752563195841, "translation_mean": 0.010078622393708296, "translation_radius_pct_mean": 0.25001985063739257}, "aligned": {"rotation_deg_mean": 2.017653146013277, "rotation_deg_max": 2.1856929095998128, "translation_mean": 0.009978367890141464, "translation_radius_pct_mean": 0.24753284249001392}, "sim3": {"scale": 1.0001374424076581, "rotation": [[0.9999999691032488, 0.0002463092977321404, -3.354447164620446e-05], [-0.0002463039142410759, 0.9999999568034572, 0.00016039783664072412], [3.358397767561901e-05, -0.00016038956955019258, 0.9999999865736521]], "translation": [0.0003359067549661976, -0.0008483895766033395, 0.0002824679818167475]}}} +{"step": 1000, "train_loss": 0.06177443265914917, "val_psnr": 16.409408569335938, "pose_gradient_norm": 1.928696632385254, "translation_update_mean": 0.3898361921310425, "rotation_update_deg_mean": 4.965612888336182, "pose_errors": {"raw": {"rotation_deg_mean": 4.983327237178184, "rotation_deg_max": 14.290310687538174, "translation_mean": 0.3904511067147069, "translation_radius_pct_mean": 9.685899874863498}, "aligned": {"rotation_deg_mean": 4.925881997766201, "rotation_deg_max": 13.737265680875627, "translation_mean": 0.39208074957596506, "translation_radius_pct_mean": 9.726326338803492}, "sim3": {"scale": 0.9801635810470334, "rotation": [[0.9999104050426875, 0.007907934570743815, 0.01080029898632605], [-0.007947125013897837, 0.9999619748185103, 0.0035905599950757186], [-0.010771494389483563, -0.003676069625237966, 0.9999352286126975]], "translation": [-0.06463584383064003, -0.027704061481053976, 0.024802639377802915]}}} +{"step": 2000, "train_loss": 0.04608170688152313, "val_psnr": 16.761579513549805, "pose_gradient_norm": 1.2754169702529907, "translation_update_mean": 0.2079579085111618, "rotation_update_deg_mean": 2.9471771717071533, "pose_errors": {"raw": {"rotation_deg_mean": 3.8350802228403875, "rotation_deg_max": 12.384641389420892, "translation_mean": 0.355101233672725, "translation_radius_pct_mean": 8.808977451068314}, "aligned": {"rotation_deg_mean": 3.7798654330452206, "rotation_deg_max": 12.761114311338433, "translation_mean": 0.3539715763149002, "translation_radius_pct_mean": 8.780954100967303}, "sim3": {"scale": 0.9807280370704436, "rotation": [[0.9999333342354886, 0.005109161549325427, 0.010354880634889181], [-0.005158661400276014, 0.9999753684228565, 0.0047592814720929105], [-0.010330309639948389, -0.004812381513990701, 0.9999350607348996]], "translation": [-0.04881175099896573, -0.02718277985024531, 0.022078179618747473]}}} +{"step": 3000, "train_loss": 0.03688737377524376, "val_psnr": 18.68087387084961, "pose_gradient_norm": 1.1141738891601562, "translation_update_mean": 0.17908801138401031, "rotation_update_deg_mean": 2.199903964996338, "pose_errors": {"raw": {"rotation_deg_mean": 2.9332289120075092, "rotation_deg_max": 9.796787332731881, "translation_mean": 0.2824915679748639, "translation_radius_pct_mean": 7.007753329015384}, "aligned": {"rotation_deg_mean": 2.900889798585061, "rotation_deg_max": 10.036865601997555, "translation_mean": 0.2845869409191777, "translation_radius_pct_mean": 7.0597331343997}, "sim3": {"scale": 0.9897604662235703, "rotation": [[0.9999648328208091, 0.00523010804008983, 0.006555844075389822], [-0.0052642748899027585, 0.9999725958254779, 0.00520528653755549], [-0.00652844020692352, -0.0052396152476592425, 0.9999649623364415]], "translation": [-0.02291609881140827, -0.036361935114810506, 0.012938179621652779]}}} +{"step": 4000, "train_loss": 0.03497578203678131, "val_psnr": 19.065982818603516, "pose_gradient_norm": 1.0991853475570679, "translation_update_mean": 0.1768292337656021, "rotation_update_deg_mean": 1.5986419916152954, "pose_errors": {"raw": {"rotation_deg_mean": 2.19432150769351, "rotation_deg_max": 6.5469607186276795, "translation_mean": 0.20733335680604756, "translation_radius_pct_mean": 5.1433075747690875}, "aligned": {"rotation_deg_mean": 2.1385963082749044, "rotation_deg_max": 6.748215865400346, "translation_mean": 0.2075648914606803, "translation_radius_pct_mean": 5.149051242654174}, "sim3": {"scale": 0.9919134073830829, "rotation": [[0.999959943438491, 0.004837890385484464, 0.007530360888346635], [-0.004857183121822467, 0.9999849631809095, 0.00254581700004639], [-0.007517931272084751, -0.0025822913651791534, 0.9999684057412501]], "translation": [-0.0251259248501286, -0.026378817969255383, -0.009478618199125322]}}} +{"step": 5000, "train_loss": 0.023645855486392975, "val_psnr": 18.949914932250977, "pose_gradient_norm": 1.2212899923324585, "translation_update_mean": 0.143229141831398, "rotation_update_deg_mean": 1.2302424907684326, "pose_errors": {"raw": {"rotation_deg_mean": 1.787149376285137, "rotation_deg_max": 5.799016000961636, "translation_mean": 0.15526549680969265, "translation_radius_pct_mean": 3.851662936170069}, "aligned": {"rotation_deg_mean": 1.6913745999079395, "rotation_deg_max": 5.8942109950355075, "translation_mean": 0.1493728981761706, "translation_radius_pct_mean": 3.7054855547117667}, "sim3": {"scale": 0.9922529091188139, "rotation": [[0.9999596923884735, 0.00448016526592636, 0.00778085583597318], [-0.004471124742886334, 0.999989309562394, -0.0011788996821530616], [-0.007786054320627325, 0.0011440629864735922, 0.9999690337595456]], "translation": [-0.023146963294067346, -0.0018421835243646462, -0.022821658012201596]}}} +{"step": 6000, "train_loss": 0.018261516466736794, "val_psnr": 19.523481369018555, "pose_gradient_norm": 0.9374239444732666, "translation_update_mean": 0.11331011354923248, "rotation_update_deg_mean": 0.9986671209335327, "pose_errors": {"raw": {"rotation_deg_mean": 1.4326761052038228, "rotation_deg_max": 5.306092906331258, "translation_mean": 0.11058478713479282, "translation_radius_pct_mean": 2.7432709434047853}, "aligned": {"rotation_deg_mean": 1.3354691823236937, "rotation_deg_max": 5.3044659265597485, "translation_mean": 0.10550456267066127, "translation_radius_pct_mean": 2.6172460848368617}, "sim3": {"scale": 0.9963981516902023, "rotation": [[0.9999798514399308, 0.0021639122948817007, 0.005967763211997968], [-0.002144669124900613, 0.999992486831183, -0.003229036316130044], [-0.005974705726570573, 0.003216172378192419, 0.9999769792983811]], "translation": [-0.018970475044210677, -0.0007808419498524094, -0.020828369838982397]}}} +{"step": 7000, "train_loss": 0.01928965002298355, "val_psnr": 18.20903968811035, "pose_gradient_norm": 1.074869990348816, "translation_update_mean": 0.08629670739173889, "rotation_update_deg_mean": 0.9003090262413025, "pose_errors": {"raw": {"rotation_deg_mean": 1.0872004392962051, "rotation_deg_max": 3.8378480837984306, "translation_mean": 0.08869249820741822, "translation_radius_pct_mean": 2.20019009426515}, "aligned": {"rotation_deg_mean": 1.0137224317008486, "rotation_deg_max": 3.8478615549785933, "translation_mean": 0.0849917425768127, "translation_radius_pct_mean": 2.108385645813238}, "sim3": {"scale": 0.9981767373540837, "rotation": [[0.999975970882767, 0.0032746487383393356, 0.006110182706451388], [-0.0032633940531929546, 0.9999929619721365, -0.001851017408053102], [-0.006116201134634994, 0.0018310329958306562, 0.9999796194932403]], "translation": [-0.018440501889538552, -0.0015047303476907609, -0.017649831936191518]}}} +{"step": 8000, "train_loss": 0.0155040817335248, "val_psnr": 18.392059326171875, "pose_gradient_norm": 1.2848799228668213, "translation_update_mean": 0.07667683809995651, "rotation_update_deg_mean": 0.7301896214485168, "pose_errors": {"raw": {"rotation_deg_mean": 0.9130028585859127, "rotation_deg_max": 2.9145735321050688, "translation_mean": 0.07791224913671937, "translation_radius_pct_mean": 1.9327650279016586}, "aligned": {"rotation_deg_mean": 0.7743744942033546, "rotation_deg_max": 2.8319907835465217, "translation_mean": 0.07130880086368584, "translation_radius_pct_mean": 1.7689536371756556}, "sim3": {"scale": 0.9973367146222561, "rotation": [[0.999977210157794, 0.0025944024853918023, 0.006232835693216451], [-0.002566185412390365, 0.9999864427068134, -0.004530904435264472], [-0.006244506182563461, 0.004514806564633578, 0.9999703108913877]], "translation": [-0.014784622347924326, 0.006256456620606726, -0.020323514314517066]}}} +{"step": 9000, "train_loss": 0.01686767116189003, "val_psnr": 19.20709228515625, "pose_gradient_norm": 0.8530274033546448, "translation_update_mean": 0.06875137984752655, "rotation_update_deg_mean": 0.6508350372314453, "pose_errors": {"raw": {"rotation_deg_mean": 0.7907708029928351, "rotation_deg_max": 3.7279011902304804, "translation_mean": 0.06531959255656178, "translation_radius_pct_mean": 1.6203796646734046}, "aligned": {"rotation_deg_mean": 0.6521125295047537, "rotation_deg_max": 3.6536704332614343, "translation_mean": 0.05824202596747421, "translation_radius_pct_mean": 1.4448068460524266}, "sim3": {"scale": 0.999851474330237, "rotation": [[0.9999808260173766, 0.00146465222764364, 0.006016842316099927], [-0.0014377103602075327, 0.9999889328927897, -0.004479629544862423], [-0.006023336826452804, 0.004470893175989777, 0.9999718648680487]], "translation": [-0.020108659573618404, 0.009672508666830323, -0.021848090917566676]}}} +{"step": 10000, "train_loss": 0.013953699730336666, "val_psnr": 20.366233825683594, "pose_gradient_norm": 1.2311303615570068, "translation_update_mean": 0.05984502658247948, "rotation_update_deg_mean": 0.5854089260101318, "pose_errors": {"raw": {"rotation_deg_mean": 0.6496870298085794, "rotation_deg_max": 1.549218552021058, "translation_mean": 0.05161724829257677, "translation_radius_pct_mean": 1.2804663379867833}, "aligned": {"rotation_deg_mean": 0.5218084101325686, "rotation_deg_max": 1.4292291817355023, "translation_mean": 0.04397749879006896, "translation_radius_pct_mean": 1.090947477679397}, "sim3": {"scale": 0.9986456324926559, "rotation": [[0.9999818932680401, 0.0021430992704728614, 0.00562318962714824], [-0.0021305691394077884, 0.9999952364202377, -0.0022333409893728205], [-0.005627949112080992, 0.002221319956581527, 0.9999816957956993]], "translation": [-0.01841763508035882, 0.004315249573838165, -0.021878951658082624]}}} +{"step": 11000, "train_loss": 0.011524230241775513, "val_psnr": 18.763938903808594, "pose_gradient_norm": 1.239078164100647, "translation_update_mean": 0.05289541184902191, "rotation_update_deg_mean": 0.5031431913375854, "pose_errors": {"raw": {"rotation_deg_mean": 0.5708519731611873, "rotation_deg_max": 1.4827013151979211, "translation_mean": 0.0476000683769167, "translation_radius_pct_mean": 1.1808123690947792}, "aligned": {"rotation_deg_mean": 0.4574895002359905, "rotation_deg_max": 1.411000848955888, "translation_mean": 0.04051716759648085, "translation_radius_pct_mean": 1.0051072254722213}, "sim3": {"scale": 0.9994766904671537, "rotation": [[0.9999780960199375, 0.0023411696839675967, 0.006190832323003629], [-0.00233613653572429, 0.9999969349408407, -0.00082010670664898], [-0.006192733356695484, 0.0008056261134716203, 0.9999805003199499]], "translation": [-0.019577233696376983, -5.592948746332982e-05, -0.019293936151174584]}}} +{"step": 12000, "train_loss": 0.009438307955861092, "val_psnr": 19.741918563842773, "pose_gradient_norm": 0.7789545059204102, "translation_update_mean": 0.050074346363544464, "rotation_update_deg_mean": 0.45799270272254944, "pose_errors": {"raw": {"rotation_deg_mean": 0.5209610637732511, "rotation_deg_max": 0.9020916778350375, "translation_mean": 0.04545895385089849, "translation_radius_pct_mean": 1.127697854721584}, "aligned": {"rotation_deg_mean": 0.45369092013127116, "rotation_deg_max": 0.9403361029115516, "translation_mean": 0.038894873313155005, "translation_radius_pct_mean": 0.9648630573148522}, "sim3": {"scale": 1.000690197659559, "rotation": [[0.999980620935157, 0.002696611772812075, 0.005611242205173908], [-0.0027060883960127974, 0.9999949240397816, 0.0016819572720367171], [-0.0056066781369505676, -0.00169710919469632, 0.9999828423431331]], "translation": [-0.01847035548502901, -0.0060809985518690685, -0.019242285883445565]}}} +{"step": 13000, "train_loss": 0.012337032705545425, "val_psnr": 19.747146606445312, "pose_gradient_norm": 0.7411633133888245, "translation_update_mean": 0.047216299921274185, "rotation_update_deg_mean": 0.4383399784564972, "pose_errors": {"raw": {"rotation_deg_mean": 0.4587980673515849, "rotation_deg_max": 0.9280373396564261, "translation_mean": 0.04349394787184057, "translation_radius_pct_mean": 1.0789520557230683}, "aligned": {"rotation_deg_mean": 0.43085305337304214, "rotation_deg_max": 0.9265628867503578, "translation_mean": 0.035248520215216114, "translation_radius_pct_mean": 0.8744081696025204}, "sim3": {"scale": 0.9998540170680098, "rotation": [[0.9999783528385768, 0.002787790323612527, 0.0059600402145147955], [-0.002795177869424164, 0.999995335130995, 0.0012315424992456099], [-0.0059565791294453364, -0.0012481752123548987, 0.9999814804403695]], "translation": [-0.022941201779471676, -0.002720031923298144, -0.017518244440975828]}}} +{"step": 14000, "train_loss": 0.011225206777453423, "val_psnr": 18.88521957397461, "pose_gradient_norm": 0.8335902690887451, "translation_update_mean": 0.046746015548706055, "rotation_update_deg_mean": 0.4192555546760559, "pose_errors": {"raw": {"rotation_deg_mean": 0.40469823808316285, "rotation_deg_max": 1.3071863475031222, "translation_mean": 0.04055065313544153, "translation_radius_pct_mean": 1.005937899459441}, "aligned": {"rotation_deg_mean": 0.3199386126696633, "rotation_deg_max": 1.1506994628105867, "translation_mean": 0.028625198326722712, "translation_radius_pct_mean": 0.7101037751529132}, "sim3": {"scale": 0.9968058742521494, "rotation": [[0.99998689285682, 0.0013434771760768391, 0.004940565113390044], [-0.0013397241104998808, 0.999998811580539, -0.0007628740501737437], [-0.004941584145800825, 0.0007562450568724626, 0.9999875043417003]], "translation": [-0.01922787677957355, 0.007279218833489837, -0.017403948555730242]}}} +{"step": 15000, "train_loss": 0.010358434170484543, "val_psnr": 19.198612213134766, "pose_gradient_norm": 1.2568254470825195, "translation_update_mean": 0.035500556230545044, "rotation_update_deg_mean": 0.3658246397972107, "pose_errors": {"raw": {"rotation_deg_mean": 0.4290753133533442, "rotation_deg_max": 0.9872417502937326, "translation_mean": 0.039958456826321515, "translation_radius_pct_mean": 0.9912473170593472}, "aligned": {"rotation_deg_mean": 0.3291834462370688, "rotation_deg_max": 0.9455232938374319, "translation_mean": 0.027601944327709186, "translation_radius_pct_mean": 0.6847199675248802}, "sim3": {"scale": 0.9964550820831398, "rotation": [[0.9999937120565752, 0.0014747389679157638, 0.0032250569435137806], [-0.0014707365318667148, 0.9999981458622554, -0.0012430631948605424], [-0.00322688415754721, 0.0012383121694853518, 0.999994026882965]], "translation": [-0.011459596261860938, 0.009642818661368416, -0.01871177161134563]}}} +{"step": 16000, "train_loss": 0.01157840620726347, "val_psnr": 19.686817169189453, "pose_gradient_norm": 1.0051189661026, "translation_update_mean": 0.03346807882189751, "rotation_update_deg_mean": 0.34907612204551697, "pose_errors": {"raw": {"rotation_deg_mean": 0.3957372215156772, "rotation_deg_max": 0.8413300614890526, "translation_mean": 0.04143659872115854, "translation_radius_pct_mean": 1.027915504568657}, "aligned": {"rotation_deg_mean": 0.29812636001087167, "rotation_deg_max": 0.8407738467533299, "translation_mean": 0.025555501838200913, "translation_radius_pct_mean": 0.6339539773351618}, "sim3": {"scale": 0.9957457185946503, "rotation": [[0.9999940469742225, 0.0010184898016730166, 0.0032967703349029414], [-0.001013808358869692, 0.9999984759508099, -0.0014213685898149687], [-0.003298212959875911, 0.0014180178350483503, 0.9999935554875796]], "translation": [-0.015258497373599134, 0.007300434722196006, -0.01957245726949486]}}} +{"step": 17000, "train_loss": 0.0077784983441233635, "val_psnr": 19.735614776611328, "pose_gradient_norm": 0.6791625022888184, "translation_update_mean": 0.02915402315557003, "rotation_update_deg_mean": 0.31695398688316345, "pose_errors": {"raw": {"rotation_deg_mean": 0.36355551174154627, "rotation_deg_max": 0.840163116339384, "translation_mean": 0.039140410641923584, "translation_radius_pct_mean": 0.9709540887938117}, "aligned": {"rotation_deg_mean": 0.26949769718294336, "rotation_deg_max": 0.7786512173543506, "translation_mean": 0.022320579143379437, "translation_radius_pct_mean": 0.5537054217897455}, "sim3": {"scale": 0.9951102291256974, "rotation": [[0.999993177082694, 0.0009832090803703545, 0.0035607706980858296], [-0.0009755542659024432, 0.9999972110381219, -0.0021508625831695265], [-0.0035628755148544152, 0.002147374182967564, 0.999991347313657]], "translation": [-0.017054084102514244, 0.012845615928379975, -0.01706510438237263]}}} +{"step": 18000, "train_loss": 0.008053310215473175, "val_psnr": 18.869285583496094, "pose_gradient_norm": 0.8751628398895264, "translation_update_mean": 0.02785751037299633, "rotation_update_deg_mean": 0.2755264937877655, "pose_errors": {"raw": {"rotation_deg_mean": 0.3312265884803968, "rotation_deg_max": 0.6945019531741183, "translation_mean": 0.03723039064414536, "translation_radius_pct_mean": 0.9235723241136451}, "aligned": {"rotation_deg_mean": 0.2350605849781083, "rotation_deg_max": 0.6065507702543935, "translation_mean": 0.02056606453668387, "translation_radius_pct_mean": 0.510181271090242}, "sim3": {"scale": 0.9948146450899839, "rotation": [[0.9999958770292444, 0.0011462951358242415, 0.0026328562388971796], [-0.0011423407867591643, 0.9999982181177727, -0.001502936727518865], [-0.0026345743565176286, 0.0014999229118873086, 0.9999954046140507]], "translation": [-0.013569931272290892, 0.009266366609512383, -0.015880257996459868]}}} +{"step": 19000, "train_loss": 0.007459403946995735, "val_psnr": 19.428470611572266, "pose_gradient_norm": 0.8845069408416748, "translation_update_mean": 0.023995118215680122, "rotation_update_deg_mean": 0.23624290525913239, "pose_errors": {"raw": {"rotation_deg_mean": 0.3137417371055906, "rotation_deg_max": 0.6620250131457213, "translation_mean": 0.03770322305835818, "translation_radius_pct_mean": 0.935301852709915}, "aligned": {"rotation_deg_mean": 0.22110298185871383, "rotation_deg_max": 0.7180529644172614, "translation_mean": 0.019160473526957055, "translation_radius_pct_mean": 0.47531284953606806}, "sim3": {"scale": 0.9949988024633557, "rotation": [[0.9999918586340713, 0.0007510344160837438, 0.003964670589161529], [-0.0007434725416749908, 0.9999979025427286, -0.0019084440582188798], [-0.003966095580603216, 0.0019054808971575386, 0.9999903195673422]], "translation": [-0.01961998530122494, 0.011440189104265829, -0.01781324524544825]}}} +{"step": 20000, "train_loss": 0.008852474391460419, "val_psnr": 18.61897850036621, "pose_gradient_norm": 0.8983896374702454, "translation_update_mean": 0.024175705388188362, "rotation_update_deg_mean": 0.24075011909008026, "pose_errors": {"raw": {"rotation_deg_mean": 0.31957470696991197, "rotation_deg_max": 0.572335056497473, "translation_mean": 0.03829109488776619, "translation_radius_pct_mean": 0.9498851579713835}, "aligned": {"rotation_deg_mean": 0.20779217741811337, "rotation_deg_max": 0.5701727164386182, "translation_mean": 0.018476946182289063, "translation_radius_pct_mean": 0.4583566229859843}, "sim3": {"scale": 0.9942898328865417, "rotation": [[0.9999945161722222, 0.0008329886108445323, 0.0032052699508464035], [-0.0008248930709881595, 0.999996468950568, -0.002526190376487125], [-0.003207362920692375, 0.002523532518321101, 0.9999916722686877]], "translation": [-0.016427364287015467, 0.012434127715366755, -0.015995901446169025]}}} +{"step": 21000, "train_loss": 0.007152441889047623, "val_psnr": 19.07967185974121, "pose_gradient_norm": 0.7625994682312012, "translation_update_mean": 0.024211937561631203, "rotation_update_deg_mean": 0.22497275471687317, "pose_errors": {"raw": {"rotation_deg_mean": 0.33321048438697354, "rotation_deg_max": 0.7528591330205384, "translation_mean": 0.03878562845248781, "translation_radius_pct_mean": 0.9621530258561911}, "aligned": {"rotation_deg_mean": 0.2389111584560837, "rotation_deg_max": 0.6352047676471025, "translation_mean": 0.019829706940867168, "translation_radius_pct_mean": 0.491914487304719}, "sim3": {"scale": 0.9951290948957833, "rotation": [[0.9999929182532225, 0.0007935801757261998, 0.003678814198548628], [-0.0007839987506479086, 0.9999962991372294, -0.002605198227130304], [-0.0036808680174288417, 0.0026022955920406016, 0.9999898395825265]], "translation": [-0.020014378394757393, 0.01404403641839836, -0.017065650608510285]}}} +{"step": 22000, "train_loss": 0.010540129616856575, "val_psnr": 18.962038040161133, "pose_gradient_norm": 0.884566068649292, "translation_update_mean": 0.023659173399209976, "rotation_update_deg_mean": 0.2226724624633789, "pose_errors": {"raw": {"rotation_deg_mean": 0.3135224281039649, "rotation_deg_max": 0.708494226846125, "translation_mean": 0.041171011476954004, "translation_radius_pct_mean": 1.0213270959019463}, "aligned": {"rotation_deg_mean": 0.21512435299680097, "rotation_deg_max": 0.7441336069802017, "translation_mean": 0.018889477157001934, "translation_radius_pct_mean": 0.4685902569740378}, "sim3": {"scale": 0.9939610437747785, "rotation": [[0.9999944462036839, 0.0014881850352473807, 0.0029820910597528408], [-0.001482071767022275, 0.9999967981057903, -0.0020511561237863385], [-0.002985134011261055, 0.0020467250591166327, 0.9999934499242814]], "translation": [-0.016257764079698367, 0.01319938460588807, -0.016381633614996005]}}} +{"step": 23000, "train_loss": 0.0071230302564799786, "val_psnr": 18.023630142211914, "pose_gradient_norm": 1.0514748096466064, "translation_update_mean": 0.01938014291226864, "rotation_update_deg_mean": 0.2046998143196106, "pose_errors": {"raw": {"rotation_deg_mean": 0.2720132797470419, "rotation_deg_max": 0.5562872392708867, "translation_mean": 0.04150068308987391, "translation_radius_pct_mean": 1.0295052421010813}, "aligned": {"rotation_deg_mean": 0.18743728523236108, "rotation_deg_max": 0.5003346895737427, "translation_mean": 0.013818850892841959, "translation_radius_pct_mean": 0.34280350044323155}, "sim3": {"scale": 0.9931668164225284, "rotation": [[0.9999973565465411, 0.001179756422796173, 0.0019735943640520792], [-0.0011770811761503133, 0.9999983876905526, -0.0013561328109428477], [-0.001975191088401214, 0.0013538061452935744, 0.9999971329104335]], "translation": [-0.012774018831007705, 0.010080192086355647, -0.01696201256648644]}}} +{"step": 24000, "train_loss": 0.006373823620378971, "val_psnr": 19.074466705322266, "pose_gradient_norm": 0.9411696791648865, "translation_update_mean": 0.01820194721221924, "rotation_update_deg_mean": 0.1796041876077652, "pose_errors": {"raw": {"rotation_deg_mean": 0.26032286383509445, "rotation_deg_max": 0.5827138545613124, "translation_mean": 0.04072233978035622, "translation_radius_pct_mean": 1.0101969209448378}, "aligned": {"rotation_deg_mean": 0.1802187941606061, "rotation_deg_max": 0.4659647612098572, "translation_mean": 0.016168763083143346, "translation_radius_pct_mean": 0.40109764738903936}, "sim3": {"scale": 0.9937260443849262, "rotation": [[0.9999960345324331, 0.0006373143504586283, 0.002743127745472716], [-0.0006344770933537976, 0.9999992630439225, -0.001035060592787722], [-0.0027437853828775546, 0.0010333160365698735, 0.9999957019406351]], "translation": [-0.015283552144303936, 0.009726433147284441, -0.018177892660477202]}}} +{"step": 25000, "train_loss": 0.007144986651837826, "val_psnr": 19.414913177490234, "pose_gradient_norm": 0.6910176873207092, "translation_update_mean": 0.016333311796188354, "rotation_update_deg_mean": 0.16708384454250336, "pose_errors": {"raw": {"rotation_deg_mean": 0.25244294817953117, "rotation_deg_max": 0.4672826214239474, "translation_mean": 0.04253854743246917, "translation_radius_pct_mean": 1.0552514877466697}, "aligned": {"rotation_deg_mean": 0.17832299682444233, "rotation_deg_max": 0.35191462903398235, "translation_mean": 0.013100846299951454, "translation_radius_pct_mean": 0.3249919986269208}, "sim3": {"scale": 0.992742750800537, "rotation": [[0.9999978694198566, 0.0007188629095409917, 0.00193504311718799], [-0.0007167208461164382, 0.9999991299316298, -0.0011074507728524362], [-0.0019358375388530693, 0.0011060615275995378, 0.9999975145773728]], "translation": [-0.012152330010872514, 0.00905209126936847, -0.017060116503640366]}}} +{"step": 26000, "train_loss": 0.0070441169664263725, "val_psnr": 19.219078063964844, "pose_gradient_norm": 0.8060919642448425, "translation_update_mean": 0.016646116971969604, "rotation_update_deg_mean": 0.16544266045093536, "pose_errors": {"raw": {"rotation_deg_mean": 0.2443048495137386, "rotation_deg_max": 0.4915406428153158, "translation_mean": 0.04268421940254873, "translation_radius_pct_mean": 1.0588651645745746}, "aligned": {"rotation_deg_mean": 0.17259286993523879, "rotation_deg_max": 0.38049933789240153, "translation_mean": 0.013448203968248562, "translation_radius_pct_mean": 0.33360888186282917}, "sim3": {"scale": 0.9926597883987559, "rotation": [[0.9999969855098659, 0.0006411536399853562, 0.002370209524607365], [-0.0006391218886483754, 0.9999994277984117, -0.0008578613296502505], [-0.00237075818928391, 0.0008563438908478608, 0.999996823085328]], "translation": [-0.014274343717552762, 0.00946140487775285, -0.016981212921966637]}}} +{"step": 27000, "train_loss": 0.006377410609275103, "val_psnr": 17.886316299438477, "pose_gradient_norm": 0.7157342433929443, "translation_update_mean": 0.015611780807375908, "rotation_update_deg_mean": 0.15616513788700104, "pose_errors": {"raw": {"rotation_deg_mean": 0.23529768974402854, "rotation_deg_max": 0.49139875535891026, "translation_mean": 0.0449936587814822, "translation_radius_pct_mean": 1.1161553046375172}, "aligned": {"rotation_deg_mean": 0.1583965144281445, "rotation_deg_max": 0.34135761213509636, "translation_mean": 0.013172677951653246, "translation_radius_pct_mean": 0.3267739225970787}, "sim3": {"scale": 0.991805634718869, "rotation": [[0.9999979775715352, 0.0007577173098867081, 0.0018629861292098436], [-0.0007544786857891287, 0.999998204199527, -0.0017384934954891656], [-0.0018643000702730991, 0.0017370843961839525, 0.9999967534562537]], "translation": [-0.013387427310043498, 0.012914301789931817, -0.01599693057308338]}}} +{"step": 28000, "train_loss": 0.00574879627674818, "val_psnr": 19.464658737182617, "pose_gradient_norm": 0.6413233876228333, "translation_update_mean": 0.015498976223170757, "rotation_update_deg_mean": 0.14977912604808807, "pose_errors": {"raw": {"rotation_deg_mean": 0.21423409694081352, "rotation_deg_max": 0.49096732712071334, "translation_mean": 0.04421442494686398, "translation_radius_pct_mean": 1.0968248922723836}, "aligned": {"rotation_deg_mean": 0.13703192449922955, "rotation_deg_max": 0.4080171173753165, "translation_mean": 0.011952667293234793, "translation_radius_pct_mean": 0.29650918296517964}, "sim3": {"scale": 0.9919639190106652, "rotation": [[0.9999957852568723, 0.0008792561660684937, 0.002767015917099894], [-0.0008750196303812818, 0.9999984437750595, -0.0015319230089792487], [-0.0027683585637522466, 0.0015294953590721952, 0.9999949984048961]], "translation": [-0.01806717769919175, 0.013249432136467065, -0.015818012009970683]}}} +{"step": 29000, "train_loss": 0.0085664764046669, "val_psnr": 18.415109634399414, "pose_gradient_norm": 0.8174150586128235, "translation_update_mean": 0.013702121563255787, "rotation_update_deg_mean": 0.13560591638088226, "pose_errors": {"raw": {"rotation_deg_mean": 0.2058731629703325, "rotation_deg_max": 0.41051633267139265, "translation_mean": 0.044509479794883615, "translation_radius_pct_mean": 1.1041443022224737}, "aligned": {"rotation_deg_mean": 0.12408202242164695, "rotation_deg_max": 0.31259966888832474, "translation_mean": 0.01175226987002094, "translation_radius_pct_mean": 0.291537934726797}, "sim3": {"scale": 0.9920264962905146, "rotation": [[0.9999974314894681, 0.000605951230913299, 0.0021839957810671083], [-0.0006022951143227525, 0.9999984169479783, -0.001674318408328803], [-0.0021850068789886217, 0.001672998697835674, 0.9999962134029783]], "translation": [-0.01628294922741358, 0.013029026517927922, -0.017048037234007385]}}} +{"step": 29999, "train_loss": 0.005044643767178059, "val_psnr": 20.11922836303711, "pose_gradient_norm": 0.9205238819122314, "translation_update_mean": 0.012920367531478405, "rotation_update_deg_mean": 0.12348657101392746, "pose_errors": {"raw": {"rotation_deg_mean": 0.2058375743406228, "rotation_deg_max": 0.4544734168731224, "translation_mean": 0.045871071602584454, "translation_radius_pct_mean": 1.1379212379079473}, "aligned": {"rotation_deg_mean": 0.1255037679640463, "rotation_deg_max": 0.304167360432125, "translation_mean": 0.010547436284434752, "translation_radius_pct_mean": 0.2616496919348833}, "sim3": {"scale": 0.9914911974525991, "rotation": [[0.9999971910904584, 0.0008237684166070972, 0.002222434878434842], [-0.0008198096994921094, 0.9999980769483817, -0.001781575593391274], [-0.0022238982102834007, 0.001779748615436752, 0.9999959433775792]], "translation": [-0.01624342669164408, 0.013958279338226715, -0.016076437121220977]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-R5.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-R5.jsonl new file mode 100644 index 0000000..c0d63de --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-R5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34217119216918945, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.0071450513787567616, "translation_update_mean": 0.010206414386630058, "rotation_update_deg_mean": 0.1781807690858841, "pose_errors": {"raw": {"rotation_deg_mean": 5.002136201593094, "rotation_deg_max": 5.199199811247714, "translation_mean": 0.010206414813986249, "translation_radius_pct_mean": 0.25318999042261064}, "aligned": {"rotation_deg_mean": 5.001682817289922, "rotation_deg_max": 5.207174974693798, "translation_mean": 0.010128085002692038, "translation_radius_pct_mean": 0.25124686695243686}, "sim3": {"scale": 0.999883758429247, "rotation": [[0.9999999726964289, -0.00010072033421238864, 0.00021086146029825485], [0.00010071827458721347, 0.9999999948801073, 9.77826652326924e-06], [-0.00021086244408884342, -9.757028653861014e-06, 0.9999999777209141]], "translation": [-0.0005277403125891755, -0.0008478019966636496, 0.00034891573794926245]}}} +{"step": 1000, "train_loss": 0.07259290665388107, "val_psnr": 15.637502670288086, "pose_gradient_norm": 2.120759963989258, "translation_update_mean": 0.35731807351112366, "rotation_update_deg_mean": 5.43842887878418, "pose_errors": {"raw": {"rotation_deg_mean": 5.464801136684917, "rotation_deg_max": 12.586464475132612, "translation_mean": 0.357319053864357, "translation_radius_pct_mean": 8.863994798816016}, "aligned": {"rotation_deg_mean": 5.461472967893325, "rotation_deg_max": 13.208302882032966, "translation_mean": 0.3518246731739951, "translation_radius_pct_mean": 8.72769598873193}, "sim3": {"scale": 0.9933443115653826, "rotation": [[0.9997610694969604, 0.006397486533901483, 0.020901580905353413], [-0.006212314555941808, 0.9999409883089824, -0.008912185338803596], [-0.02095736305341195, 0.008780208750577063, 0.9997418151043526]], "translation": [-0.09619700986196716, 0.04407279879041971, 0.01946789134309279]}}} +{"step": 2000, "train_loss": 0.04463452473282814, "val_psnr": 15.830188751220703, "pose_gradient_norm": 1.1524500846862793, "translation_update_mean": 0.19810689985752106, "rotation_update_deg_mean": 3.160069465637207, "pose_errors": {"raw": {"rotation_deg_mean": 3.950410103627267, "rotation_deg_max": 12.472820156617361, "translation_mean": 0.3234659544638068, "translation_radius_pct_mean": 8.02420275927874}, "aligned": {"rotation_deg_mean": 3.8757741911074453, "rotation_deg_max": 11.89577492433071, "translation_mean": 0.31382102379927507, "translation_radius_pct_mean": 7.7849414763419365}, "sim3": {"scale": 0.9920478248971566, "rotation": [[0.9996198114160407, 0.003157106207927936, 0.027390971230519468], [-0.003009707845922746, 0.9999807779191637, -0.005420834886403697], [-0.027407558870528193, 0.005336335125844373, 0.9996100986105441]], "translation": [-0.09722948879018145, 0.02331700481189223, 0.004764801521065731]}}} +{"step": 3000, "train_loss": 0.03833726793527603, "val_psnr": 16.533477783203125, "pose_gradient_norm": 1.3040999174118042, "translation_update_mean": 0.2008374035358429, "rotation_update_deg_mean": 2.565936326980591, "pose_errors": {"raw": {"rotation_deg_mean": 2.916271503012697, "rotation_deg_max": 10.197760203477154, "translation_mean": 0.24098630068409022, "translation_radius_pct_mean": 5.978134366885961}, "aligned": {"rotation_deg_mean": 2.8241423458510373, "rotation_deg_max": 9.417863792243791, "translation_mean": 0.23698773597621084, "translation_radius_pct_mean": 5.878942184465074}, "sim3": {"scale": 0.9920382128948179, "rotation": [[0.9998103559973011, 0.00253168221676306, 0.019309133219890855], [-0.0025447831331562075, 0.9999965482134039, 0.0006539419567380838], [-0.019307410995660905, -0.0007029554971016902, 0.999813347447519]], "translation": [-0.04978377169887249, -0.017269433822126173, 0.010480136777803573]}}} +{"step": 4000, "train_loss": 0.036768343299627304, "val_psnr": 16.562957763671875, "pose_gradient_norm": 1.1788005828857422, "translation_update_mean": 0.14938443899154663, "rotation_update_deg_mean": 1.5647900104522705, "pose_errors": {"raw": {"rotation_deg_mean": 2.3509042036251655, "rotation_deg_max": 10.807343645234692, "translation_mean": 0.1975244031887429, "translation_radius_pct_mean": 4.899977383150976}, "aligned": {"rotation_deg_mean": 2.2530681504722243, "rotation_deg_max": 9.939881923510185, "translation_mean": 0.19445984058181867, "translation_radius_pct_mean": 4.823954941261453}, "sim3": {"scale": 0.9898355465615728, "rotation": [[0.9998243425662545, -0.0006378938639182614, 0.018731713839787206], [0.0006579558894087215, 0.9999992165663893, -0.001064875887237537], [-0.018731019886938753, 0.0010770134753116155, 0.9998239789762847]], "translation": [-0.04589340316949997, -0.006973638968755094, 0.022752938745297602]}}} +{"step": 5000, "train_loss": 0.025640971958637238, "val_psnr": 16.404577255249023, "pose_gradient_norm": 1.276841640472412, "translation_update_mean": 0.12646879255771637, "rotation_update_deg_mean": 1.2572956085205078, "pose_errors": {"raw": {"rotation_deg_mean": 1.8546744119887406, "rotation_deg_max": 9.446293709329819, "translation_mean": 0.15855113897851272, "translation_radius_pct_mean": 3.933169687014225}, "aligned": {"rotation_deg_mean": 1.7061477384690245, "rotation_deg_max": 8.75610829037186, "translation_mean": 0.15373588326314683, "translation_radius_pct_mean": 3.8137178941294967}, "sim3": {"scale": 0.9902869300634197, "rotation": [[0.9999062248729601, -0.0013309892245015982, 0.013629744237878404], [0.00133018096385702, 0.9999991129719191, 6.836649992673363e-05], [-0.01362982314298721, -5.023006252205116e-05, 0.9999071083845897]], "translation": [-0.02450335356050848, -0.014431828082018872, 0.034427428471084376]}}} +{"step": 6000, "train_loss": 0.018269848078489304, "val_psnr": 16.23105239868164, "pose_gradient_norm": 1.00027334690094, "translation_update_mean": 0.121500164270401, "rotation_update_deg_mean": 1.1035900115966797, "pose_errors": {"raw": {"rotation_deg_mean": 1.5033715877458251, "rotation_deg_max": 8.2436317180946, "translation_mean": 0.1298375378054342, "translation_radius_pct_mean": 3.220872907145152}, "aligned": {"rotation_deg_mean": 1.3563331043845208, "rotation_deg_max": 7.390523210239094, "translation_mean": 0.1197801440405869, "translation_radius_pct_mean": 2.9713796739768665}, "sim3": {"scale": 0.995230890479491, "rotation": [[0.9998843758279651, -0.0039913891606853345, 0.014673233716167905], [0.004092514143197154, 0.9999680387610768, -0.00686824463128497], [-0.014645350904265324, 0.006927500912696111, 0.9998687531011256]], "translation": [-0.032038290175387674, 0.011855837245249155, 0.03684689356132598]}}} +{"step": 7000, "train_loss": 0.019390737637877464, "val_psnr": 15.546483039855957, "pose_gradient_norm": 1.0741606950759888, "translation_update_mean": 0.09855301678180695, "rotation_update_deg_mean": 0.9830149412155151, "pose_errors": {"raw": {"rotation_deg_mean": 1.3114203261898603, "rotation_deg_max": 6.951577034244684, "translation_mean": 0.10913881102369363, "translation_radius_pct_mean": 2.7074006907849486}, "aligned": {"rotation_deg_mean": 1.1068878831015674, "rotation_deg_max": 6.377645922722406, "translation_mean": 0.09523839491743917, "translation_radius_pct_mean": 2.3625738064229655}, "sim3": {"scale": 0.9928886566354336, "rotation": [[0.999943334866864, -0.004621816674180606, 0.009589883521957443], [0.00465737661794218, 0.9999823497017476, -0.003689055165010257], [-0.009572664120979405, 0.003733509823492102, 0.9999472111096789]], "translation": [-0.019547775915964738, -0.0032630896663429637, 0.045061576448055085]}}} +{"step": 8000, "train_loss": 0.017712924629449844, "val_psnr": 15.80863094329834, "pose_gradient_norm": 1.0003390312194824, "translation_update_mean": 0.07652927935123444, "rotation_update_deg_mean": 0.775204062461853, "pose_errors": {"raw": {"rotation_deg_mean": 1.1361256422847075, "rotation_deg_max": 6.457820329008755, "translation_mean": 0.0927000289402957, "translation_radius_pct_mean": 2.299604696392151}, "aligned": {"rotation_deg_mean": 0.893140716601669, "rotation_deg_max": 5.84916969322254, "translation_mean": 0.07893272393679038, "translation_radius_pct_mean": 1.9580798920890745}, "sim3": {"scale": 0.9916403281547983, "rotation": [[0.9999526998290066, -0.0035633525059771483, 0.009049896330826687], [0.0036134102241323204, 0.9999782307385745, -0.005520988634488735], [-0.009030026092581396, 0.005553428478711369, 0.9999438074516481]], "translation": [-0.018306835650448605, 0.004009804178479251, 0.048296364552909754]}}} +{"step": 9000, "train_loss": 0.014255323447287083, "val_psnr": 16.375158309936523, "pose_gradient_norm": 0.9910944700241089, "translation_update_mean": 0.06510566920042038, "rotation_update_deg_mean": 0.6826319694519043, "pose_errors": {"raw": {"rotation_deg_mean": 1.014895112227226, "rotation_deg_max": 5.302672331840409, "translation_mean": 0.0863285307698464, "translation_radius_pct_mean": 2.141547279546511}, "aligned": {"rotation_deg_mean": 0.8110732932884954, "rotation_deg_max": 4.8189853274098, "translation_mean": 0.07083608863346101, "translation_radius_pct_mean": 1.7572270899771953}, "sim3": {"scale": 0.9882592664208213, "rotation": [[0.9999482090032386, -0.0035973808502339968, 0.009520407671672082], [0.0036124158590675626, 0.9999922544689354, -0.001562515215057093], [-0.009514712968745865, 0.001596825962494687, 0.9999534591089572]], "translation": [-0.024070354747700917, -0.011125069728297257, 0.04937725101303414]}}} +{"step": 10000, "train_loss": 0.016134053468704224, "val_psnr": 15.893487930297852, "pose_gradient_norm": 0.9805148243904114, "translation_update_mean": 0.060153450816869736, "rotation_update_deg_mean": 0.583177387714386, "pose_errors": {"raw": {"rotation_deg_mean": 0.9044060916426419, "rotation_deg_max": 5.5750621878772, "translation_mean": 0.08147246942839124, "translation_radius_pct_mean": 2.0210832236617944}, "aligned": {"rotation_deg_mean": 0.6746617822214251, "rotation_deg_max": 5.099949132942221, "translation_mean": 0.06358240281875446, "translation_radius_pct_mean": 1.5772852910766186}, "sim3": {"scale": 0.9854528518908573, "rotation": [[0.9999656290054928, -0.002346989759352219, 0.00795188321837113], [0.0023807341686633626, 0.9999881908743997, -0.004236769590550388], [-0.007941845658741713, 0.004255555288649298, 0.9999594078444978]], "translation": [-0.023209760183045436, -0.0010926409222516281, 0.053863875454797316]}}} +{"step": 11000, "train_loss": 0.013966547325253487, "val_psnr": 15.305932998657227, "pose_gradient_norm": 0.9381850361824036, "translation_update_mean": 0.0538613386452198, "rotation_update_deg_mean": 0.5085746049880981, "pose_errors": {"raw": {"rotation_deg_mean": 0.8193167413259944, "rotation_deg_max": 4.764221438527256, "translation_mean": 0.07454350683710242, "translation_radius_pct_mean": 1.8491968165246866}, "aligned": {"rotation_deg_mean": 0.5721771412031605, "rotation_deg_max": 4.332812537644229, "translation_mean": 0.04959088719680785, "translation_radius_pct_mean": 1.2301985058654172}, "sim3": {"scale": 0.985998686951718, "rotation": [[0.9999560468723742, -0.0017616529906904993, 0.00920874052813288], [0.00179811644411687, 0.9999905707202712, -0.003952878419442345], [-0.009201690096252935, 0.003969263065845862, 0.9999497856643027]], "translation": [-0.02729850497066577, -0.002354632066183665, 0.055062145007750196]}}} +{"step": 12000, "train_loss": 0.01018986850976944, "val_psnr": 15.862082481384277, "pose_gradient_norm": 1.0215692520141602, "translation_update_mean": 0.049651455134153366, "rotation_update_deg_mean": 0.5166058540344238, "pose_errors": {"raw": {"rotation_deg_mean": 0.7357570762661646, "rotation_deg_max": 2.0230951629851868, "translation_mean": 0.06838325753943003, "translation_radius_pct_mean": 1.6963798392506266}, "aligned": {"rotation_deg_mean": 0.45950243751309416, "rotation_deg_max": 1.595372174240314, "translation_mean": 0.03776301296654703, "translation_radius_pct_mean": 0.9367850577880545}, "sim3": {"scale": 0.9859890695732597, "rotation": [[0.999963851877923, -0.0013845716553623022, 0.008389153640149699], [0.0014181936963962765, 0.9999909816116601, -0.004003176487233867], [-0.008383535298808614, 0.004014929224732005, 0.9999567974063742]], "translation": [-0.028929756702318066, -0.0028862186898990505, 0.05690333172913231]}}} +{"step": 13000, "train_loss": 0.01158730685710907, "val_psnr": 16.359146118164062, "pose_gradient_norm": 0.9764128923416138, "translation_update_mean": 0.04479292780160904, "rotation_update_deg_mean": 0.4334140717983246, "pose_errors": {"raw": {"rotation_deg_mean": 0.6931713584367775, "rotation_deg_max": 1.7363737089417104, "translation_mean": 0.07081799125293115, "translation_radius_pct_mean": 1.7567781492191974}, "aligned": {"rotation_deg_mean": 0.4043475613127632, "rotation_deg_max": 1.2740218033891084, "translation_mean": 0.03460808614241334, "translation_radius_pct_mean": 0.858520955559736}, "sim3": {"scale": 0.98295400419247, "rotation": [[0.9999746697403806, -0.001769848235820296, 0.006894020223332094], [0.0018084247260220458, 0.9999827213859994, -0.005593436283854728], [-0.006884001570878611, 0.005605761917295091, 0.999960592201363]], "translation": [-0.027263618794870825, 0.00973983572128119, 0.06036817949779394]}}} +{"step": 14000, "train_loss": 0.011753485538065434, "val_psnr": 16.34109878540039, "pose_gradient_norm": 1.1401593685150146, "translation_update_mean": 0.03938312083482742, "rotation_update_deg_mean": 0.39938583970069885, "pose_errors": {"raw": {"rotation_deg_mean": 0.6629672155614508, "rotation_deg_max": 1.3120926283899883, "translation_mean": 0.06623536159603179, "translation_radius_pct_mean": 1.6430970986165168}, "aligned": {"rotation_deg_mean": 0.3688443579724576, "rotation_deg_max": 0.981099196036343, "translation_mean": 0.03084499661089056, "translation_radius_pct_mean": 0.7651701933371332}, "sim3": {"scale": 0.9849893867840673, "rotation": [[0.9999706103699635, -0.0015871705024703858, 0.007500619049031532], [0.0016301180895010768, 0.9999822935094598, -0.005723231829482375], [-0.007491402494652752, 0.005735290520610651, 0.9999554916751581]], "translation": [-0.030566203960265215, 0.008268628253342292, 0.05972606298303962]}}} +{"step": 15000, "train_loss": 0.010686744004487991, "val_psnr": 15.145200729370117, "pose_gradient_norm": 1.138095498085022, "translation_update_mean": 0.03638819605112076, "rotation_update_deg_mean": 0.365822970867157, "pose_errors": {"raw": {"rotation_deg_mean": 0.6304745055325902, "rotation_deg_max": 1.4194770698188273, "translation_mean": 0.06322261497735865, "translation_radius_pct_mean": 1.5683600531965802}, "aligned": {"rotation_deg_mean": 0.34522575701027514, "rotation_deg_max": 1.1364702122986388, "translation_mean": 0.025863765741783836, "translation_radius_pct_mean": 0.6416010636253293}, "sim3": {"scale": 0.985905529625228, "rotation": [[0.9999706871119594, -0.0011907683581178254, 0.007563530098724595], [0.0012229683453405646, 0.9999902035607211, -0.004254072286110286], [-0.0075583903883899356, 0.004263197544855455, 0.9999623472318513]], "translation": [-0.02998542377848945, 0.002019811906778371, 0.06091763324720656]}}} +{"step": 16000, "train_loss": 0.011859050020575523, "val_psnr": 16.029300689697266, "pose_gradient_norm": 1.1567596197128296, "translation_update_mean": 0.037276145070791245, "rotation_update_deg_mean": 0.33315786719322205, "pose_errors": {"raw": {"rotation_deg_mean": 0.6093836319356712, "rotation_deg_max": 1.079823347798758, "translation_mean": 0.06755760835655361, "translation_radius_pct_mean": 1.6758980038054856}, "aligned": {"rotation_deg_mean": 0.3326582276744832, "rotation_deg_max": 0.8817209417146301, "translation_mean": 0.028999433697074677, "translation_radius_pct_mean": 0.7193874121167345}, "sim3": {"scale": 0.9836362146438363, "rotation": [[0.9999801904978186, -0.0015834367148132463, 0.0060919077566762665], [0.0016136164056039415, 0.9999864351880937, -0.004952341052918273], [-0.006083983402445979, 0.004962072951805039, 0.999969181014085]], "translation": [-0.027269461371437598, 0.004292517581862804, 0.06228536735711421]}}} +{"step": 17000, "train_loss": 0.00827307440340519, "val_psnr": 15.743428230285645, "pose_gradient_norm": 0.7464480400085449, "translation_update_mean": 0.032603781670331955, "rotation_update_deg_mean": 0.32058611512184143, "pose_errors": {"raw": {"rotation_deg_mean": 0.5953773816436132, "rotation_deg_max": 0.994750008064484, "translation_mean": 0.06704097338178139, "translation_radius_pct_mean": 1.6630818674149368}, "aligned": {"rotation_deg_mean": 0.31359135864562615, "rotation_deg_max": 0.7908854753394389, "translation_mean": 0.026255624535674094, "translation_radius_pct_mean": 0.6513218839212213}, "sim3": {"scale": 0.9825094918073051, "rotation": [[0.9999770629679272, -0.0012948105644224896, 0.006648082704100885], [0.0013237513230913525, 0.9999896595112947, -0.004350695682259011], [-0.006642380632944889, 0.004359396298488258, 0.9999684367236004]], "translation": [-0.028781664880257685, 0.0050028886408649, 0.06289829974143846]}}} +{"step": 18000, "train_loss": 0.007444116752594709, "val_psnr": 15.937785148620605, "pose_gradient_norm": 1.0916646718978882, "translation_update_mean": 0.026461690664291382, "rotation_update_deg_mean": 0.29424241185188293, "pose_errors": {"raw": {"rotation_deg_mean": 0.5492870807537943, "rotation_deg_max": 1.0565178898887049, "translation_mean": 0.06809701223242855, "translation_radius_pct_mean": 1.6892789671168673}, "aligned": {"rotation_deg_mean": 0.2929359466155207, "rotation_deg_max": 0.8181192895451185, "translation_mean": 0.02284266351267856, "translation_radius_pct_mean": 0.5666567410210096}, "sim3": {"scale": 0.9822822397812686, "rotation": [[0.9999751643034949, -0.0014955031327287566, 0.00688725246951313], [0.001521083347231369, 0.9999919595861931, -0.003710400034729048], [-0.006881648178277799, 0.003720783969399377, 0.9999693988742885]], "translation": [-0.029437039917355468, 0.0025521134578466304, 0.06152688342898882]}}} +{"step": 19000, "train_loss": 0.007692469283938408, "val_psnr": 15.861433982849121, "pose_gradient_norm": 0.8220776319503784, "translation_update_mean": 0.026250336319208145, "rotation_update_deg_mean": 0.24910616874694824, "pose_errors": {"raw": {"rotation_deg_mean": 0.5181035775170013, "rotation_deg_max": 1.0655175301002053, "translation_mean": 0.06559010680100369, "translation_radius_pct_mean": 1.6270902971734251}, "aligned": {"rotation_deg_mean": 0.2620531463176514, "rotation_deg_max": 0.833922874334558, "translation_mean": 0.019603374572099694, "translation_radius_pct_mean": 0.4862998722488978}, "sim3": {"scale": 0.982314850551672, "rotation": [[0.9999768343019695, -0.0014652616780875503, 0.0066470946755536045], [0.001487594560478526, 0.9999932618150088, -0.0033560969893806436], [-0.006642132325893548, 0.003365907424933607, 0.9999722759883755]], "translation": [-0.030492695837065542, 0.0033394968457513413, 0.0631374240206557]}}} +{"step": 20000, "train_loss": 0.007776004262268543, "val_psnr": 15.52765941619873, "pose_gradient_norm": 0.760231077671051, "translation_update_mean": 0.023838337510824203, "rotation_update_deg_mean": 0.24930056929588318, "pose_errors": {"raw": {"rotation_deg_mean": 0.49451278334035814, "rotation_deg_max": 1.041305013270059, "translation_mean": 0.06852754624736228, "translation_radius_pct_mean": 1.6999592015678817}, "aligned": {"rotation_deg_mean": 0.25468858628674335, "rotation_deg_max": 0.8044158226205109, "translation_mean": 0.021065496559681353, "translation_radius_pct_mean": 0.5225706547694353}, "sim3": {"scale": 0.9811430251015208, "rotation": [[0.9999854984328763, -0.0012917541537656575, 0.005228221031831219], [0.0013109003630971312, 0.9999924417698913, -0.003660320112799655], [-0.005223453282023678, 0.00366712070927083, 0.9999796336733626]], "translation": [-0.025514182464536073, 0.006223056351419398, 0.06358919277727892]}}} +{"step": 21000, "train_loss": 0.007672432344406843, "val_psnr": 15.072467803955078, "pose_gradient_norm": 0.7753114104270935, "translation_update_mean": 0.02428172528743744, "rotation_update_deg_mean": 0.2279362827539444, "pose_errors": {"raw": {"rotation_deg_mean": 0.4932485267081734, "rotation_deg_max": 0.9996411396141589, "translation_mean": 0.06502067818820827, "translation_radius_pct_mean": 1.6129645118072975}, "aligned": {"rotation_deg_mean": 0.22601986037391059, "rotation_deg_max": 0.7271021469275926, "translation_mean": 0.0190803957330235, "translation_radius_pct_mean": 0.473326363953362}, "sim3": {"scale": 0.9826709535628433, "rotation": [[0.9999815734017811, -0.0015390944306597723, 0.005872311745119272], [0.0015650758188391874, 0.9999889965683628, -0.004422361346568024], [-0.005865440697819553, 0.004431470470605315, 0.9999729789723765]], "translation": [-0.028900380360785904, 0.008814576836763566, 0.062370418765429925]}}} +{"step": 22000, "train_loss": 0.010149583220481873, "val_psnr": 14.842355728149414, "pose_gradient_norm": 0.8584388494491577, "translation_update_mean": 0.022266501560807228, "rotation_update_deg_mean": 0.21831651031970978, "pose_errors": {"raw": {"rotation_deg_mean": 0.48174415043901453, "rotation_deg_max": 0.9468015382800851, "translation_mean": 0.06542187537191797, "translation_radius_pct_mean": 1.6229169890436568}, "aligned": {"rotation_deg_mean": 0.2215532464204707, "rotation_deg_max": 0.7120817737746863, "translation_mean": 0.017550382089808685, "translation_radius_pct_mean": 0.43537139673596315}, "sim3": {"scale": 0.9818105271484284, "rotation": [[0.999984417735527, -0.0010534518610580295, 0.00548220077303632], [0.0010757841323637922, 0.9999911297242464, -0.004072242788232313], [-0.005477862232659872, 0.0040780769980702574, 0.9999766808847892]], "translation": [-0.029038606027822766, 0.0074137082863925535, 0.06285405420620682]}}} +{"step": 23000, "train_loss": 0.007116579916328192, "val_psnr": 15.071962356567383, "pose_gradient_norm": 0.6330119371414185, "translation_update_mean": 0.019206136465072632, "rotation_update_deg_mean": 0.19400882720947266, "pose_errors": {"raw": {"rotation_deg_mean": 0.4348444163641695, "rotation_deg_max": 0.8300342497638913, "translation_mean": 0.06895010878545653, "translation_radius_pct_mean": 1.7104416880161522}, "aligned": {"rotation_deg_mean": 0.18532646820127716, "rotation_deg_max": 0.5805294170701255, "translation_mean": 0.01520579408676692, "translation_radius_pct_mean": 0.3772093266208387}, "sim3": {"scale": 0.9801245707234595, "rotation": [[0.9999872277151665, -0.0008468406211306268, 0.004982696809747674], [0.0008662592881215795, 0.9999920339798681, -0.0038963536355694924], [-0.0049793575269517915, 0.003900620177622359, 0.9999799953803327]], "translation": [-0.027870728828174984, 0.006868617422483028, 0.06341002717021826]}}} +{"step": 24000, "train_loss": 0.006379317957907915, "val_psnr": 15.648290634155273, "pose_gradient_norm": 0.7803533673286438, "translation_update_mean": 0.017646009102463722, "rotation_update_deg_mean": 0.18313336372375488, "pose_errors": {"raw": {"rotation_deg_mean": 0.4226527862345693, "rotation_deg_max": 0.7071708221821571, "translation_mean": 0.0678294529126977, "translation_radius_pct_mean": 1.6826416372772741}, "aligned": {"rotation_deg_mean": 0.1850642718588877, "rotation_deg_max": 0.4055111855197334, "translation_mean": 0.015315690964913524, "translation_radius_pct_mean": 0.37993553264249524}, "sim3": {"scale": 0.9808565698753976, "rotation": [[0.9999847762898102, -0.0007216614426039798, 0.005470502114114651], [0.0007430072178471176, 0.9999921152344379, -0.003900949785399456], [-0.005467643815438188, 0.0039049550210265398, 0.9999774278439436]], "translation": [-0.0304436586883573, 0.009342222420116675, 0.06278449967901567]}}} +{"step": 25000, "train_loss": 0.008061569184064865, "val_psnr": 15.442329406738281, "pose_gradient_norm": 0.9471845030784607, "translation_update_mean": 0.01779993437230587, "rotation_update_deg_mean": 0.17907248437404633, "pose_errors": {"raw": {"rotation_deg_mean": 0.39804422792911615, "rotation_deg_max": 0.7576262929893599, "translation_mean": 0.06785259423667953, "translation_radius_pct_mean": 1.6832157028726973}, "aligned": {"rotation_deg_mean": 0.1636282705455716, "rotation_deg_max": 0.4662892137324533, "translation_mean": 0.01251101997153602, "translation_radius_pct_mean": 0.3103602082123411}, "sim3": {"scale": 0.9803957784060436, "rotation": [[0.9999884076865584, -0.0006620647040081022, 0.004769293745351047], [0.0006780002782495988, 0.9999941908564768, -0.003340444419924014], [-0.004767054449493043, 0.003343639278931602, 0.99998304749043]], "translation": [-0.0285460602784256, 0.006663777178357075, 0.06360978908816461]}}} +{"step": 26000, "train_loss": 0.0063021304085850716, "val_psnr": 15.678218841552734, "pose_gradient_norm": 0.7572234869003296, "translation_update_mean": 0.016405565664172173, "rotation_update_deg_mean": 0.16590434312820435, "pose_errors": {"raw": {"rotation_deg_mean": 0.3994916810474444, "rotation_deg_max": 0.6968242272930577, "translation_mean": 0.06860614555504001, "translation_radius_pct_mean": 1.7019090104205337}, "aligned": {"rotation_deg_mean": 0.15466870967946625, "rotation_deg_max": 0.42690027046185186, "translation_mean": 0.012577902071495485, "translation_radius_pct_mean": 0.31201934891520344}, "sim3": {"scale": 0.9799624529400814, "rotation": [[0.9999892796278558, -0.0003442272278430908, 0.004617589953553186], [0.0003616221272163342, 0.9999928402392473, -0.0037667890412374947], [-0.004616260261364499, 0.0037684184825588786, 0.9999822444240412]], "translation": [-0.02777934499205681, 0.00906599951085453, 0.06367406422770427]}}} +{"step": 27000, "train_loss": 0.006968233268707991, "val_psnr": 14.479732513427734, "pose_gradient_norm": 0.87285315990448, "translation_update_mean": 0.015138035640120506, "rotation_update_deg_mean": 0.15317930281162262, "pose_errors": {"raw": {"rotation_deg_mean": 0.4024017656670502, "rotation_deg_max": 0.6060224685094652, "translation_mean": 0.06977288704429534, "translation_radius_pct_mean": 1.7308523046011124}, "aligned": {"rotation_deg_mean": 0.1478862299864244, "rotation_deg_max": 0.4103548297890828, "translation_mean": 0.012847140151489298, "translation_radius_pct_mean": 0.31869832367151274}, "sim3": {"scale": 0.9795704743380249, "rotation": [[0.9999889654902456, -0.0007529865751744364, 0.004637015092297752], [0.0007704731213305432, 0.9999925950224158, -0.003770447122591103], [-0.004634141659239197, 0.0037739782130473036, 0.9999821407502886]], "translation": [-0.028508544425473015, 0.008877292187006211, 0.06380648279808376]}}} +{"step": 28000, "train_loss": 0.006373709067702293, "val_psnr": 14.54904556274414, "pose_gradient_norm": 0.7155977487564087, "translation_update_mean": 0.015476145781576633, "rotation_update_deg_mean": 0.14000219106674194, "pose_errors": {"raw": {"rotation_deg_mean": 0.3847659203735686, "rotation_deg_max": 0.6363526335213885, "translation_mean": 0.07053006860606924, "translation_radius_pct_mean": 1.749635667404572}, "aligned": {"rotation_deg_mean": 0.14041481693284755, "rotation_deg_max": 0.402177061556486, "translation_mean": 0.01176630276964479, "translation_radius_pct_mean": 0.2918860481227463}, "sim3": {"scale": 0.9795372400809765, "rotation": [[0.9999863730313238, -0.000408232171994804, 0.005204526698149456], [0.00042482993666014793, 0.9999948268147493, -0.0031883950922545947], [-0.005203198168714958, 0.0031905626828419974, 0.9999813733458153]], "translation": [-0.03083810463504638, 0.0077830243443125224, 0.06426681571026416]}}} +{"step": 29000, "train_loss": 0.00885150395333767, "val_psnr": 15.034576416015625, "pose_gradient_norm": 0.9248685836791992, "translation_update_mean": 0.013445045799016953, "rotation_update_deg_mean": 0.12577301263809204, "pose_errors": {"raw": {"rotation_deg_mean": 0.38841763189019646, "rotation_deg_max": 0.6137249799065332, "translation_mean": 0.07020674245251224, "translation_radius_pct_mean": 1.7416149326789663}, "aligned": {"rotation_deg_mean": 0.13787788768459786, "rotation_deg_max": 0.3601227329031981, "translation_mean": 0.010287099881044362, "translation_radius_pct_mean": 0.25519154059747684}, "sim3": {"scale": 0.9794822297138053, "rotation": [[0.9999896192627677, -0.0005143546535096568, 0.004527339836618246], [0.0005312965160498764, 0.9999928586167062, -0.0037417161304347337], [-0.004525382936045454, 0.0037440826485449323, 0.9999827512284424]], "translation": [-0.02823052127200626, 0.00903076211567859, 0.06398520544590669]}}} +{"step": 29999, "train_loss": 0.005174998193979263, "val_psnr": 15.309236526489258, "pose_gradient_norm": 0.9009592533111572, "translation_update_mean": 0.012214009650051594, "rotation_update_deg_mean": 0.12229848653078079, "pose_errors": {"raw": {"rotation_deg_mean": 0.38123366847465284, "rotation_deg_max": 0.5834400596760599, "translation_mean": 0.07195583153842602, "translation_radius_pct_mean": 1.785004492772482}, "aligned": {"rotation_deg_mean": 0.13798784586962257, "rotation_deg_max": 0.35722089790297773, "translation_mean": 0.010684651962567189, "translation_radius_pct_mean": 0.26505359397740813}, "sim3": {"scale": 0.9785701716194084, "rotation": [[0.9999885217926968, -0.0005815691559560347, 0.004755844843448659], [0.0005968403531260613, 0.9999946690268011, -0.003210249144858055], [-0.004753952508281811, 0.003213050777068732, 0.999983537984629]], "translation": [-0.029399585027533315, 0.007445645347635685, 0.06408719959802767]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-T0.5.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-T0.5.jsonl new file mode 100644 index 0000000..62a7bc3 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-T0.5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421424925327301, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.007552941329777241, "translation_update_mean": 0.010275189764797688, "rotation_update_deg_mean": 0.1786719411611557, "pose_errors": {"raw": {"rotation_deg_mean": 0.17954763643050542, "rotation_deg_max": 0.21510009781721445, "translation_mean": 0.01766364591507823, "translation_radius_pct_mean": 0.4381811264361441}, "aligned": {"rotation_deg_mean": 0.18150784057188996, "rotation_deg_max": 0.2272899635102638, "translation_mean": 0.017604206362335728, "translation_radius_pct_mean": 0.43670661260696136}, "sim3": {"scale": 1.0000840943690088, "rotation": [[0.9999999429653768, 7.479732952243708e-05, 0.00032935482881107995], [-7.483134611639934e-05, 0.999999991867644, 0.00010327140042012302], [-0.000329347101707679, -0.00010329604059522562, 0.9999999404302059]], "translation": [-0.00020152003007373187, 2.1133032550912922e-05, 8.641435360035032e-05]}}} +{"step": 1000, "train_loss": 0.05818716436624527, "val_psnr": 16.91606330871582, "pose_gradient_norm": 1.851319670677185, "translation_update_mean": 0.3406970202922821, "rotation_update_deg_mean": 4.094325542449951, "pose_errors": {"raw": {"rotation_deg_mean": 4.105610593436043, "rotation_deg_max": 12.66999386751057, "translation_mean": 0.34093230560097587, "translation_radius_pct_mean": 8.457489604633851}, "aligned": {"rotation_deg_mean": 4.1786533475495675, "rotation_deg_max": 12.830251417579356, "translation_mean": 0.3383392825987413, "translation_radius_pct_mean": 8.393164620683393}, "sim3": {"scale": 0.9863825463469106, "rotation": [[0.999935476552953, -0.001233480263118331, -0.011292531038697068], [0.001249029073646971, 0.9999982815637555, 0.0013699620104371307], [0.01129082181210132, -0.0013839783153483283, 0.9999352988802982]], "translation": [0.04243158564894883, -0.03309230201708918, 0.03333607143986761]}}} +{"step": 2000, "train_loss": 0.04232748597860336, "val_psnr": 16.75819206237793, "pose_gradient_norm": 1.713457465171814, "translation_update_mean": 0.19377966225147247, "rotation_update_deg_mean": 2.4970030784606934, "pose_errors": {"raw": {"rotation_deg_mean": 3.15255320852175, "rotation_deg_max": 7.27948522754736, "translation_mean": 0.3016654364856413, "translation_radius_pct_mean": 7.483398467203931}, "aligned": {"rotation_deg_mean": 3.1849277710744057, "rotation_deg_max": 7.816926772749675, "translation_mean": 0.29579383082813615, "translation_radius_pct_mean": 7.337741857387142}, "sim3": {"scale": 0.9822386829675135, "rotation": [[0.9999637132436349, 0.006529008844176789, -0.0054721329949417846], [-0.0064853055395950755, 0.9999472358845151, 0.00796657134382771], [0.005523858077446064, -0.007930793808368813, 0.9999532936600138]], "translation": [0.014890609403654831, -0.047952755734200256, 0.028302862268953177]}}} +{"step": 3000, "train_loss": 0.034837640821933746, "val_psnr": 17.538345336914062, "pose_gradient_norm": 1.437799096107483, "translation_update_mean": 0.18832875788211823, "rotation_update_deg_mean": 2.071659564971924, "pose_errors": {"raw": {"rotation_deg_mean": 2.384249999965908, "rotation_deg_max": 6.297895513959319, "translation_mean": 0.2197532753156503, "translation_radius_pct_mean": 5.451407833851911}, "aligned": {"rotation_deg_mean": 2.4110099068629616, "rotation_deg_max": 5.778295986249564, "translation_mean": 0.2146722464422603, "translation_radius_pct_mean": 5.325363020346218}, "sim3": {"scale": 0.9810517135405735, "rotation": [[0.9999813772951387, 0.005065601547196262, -0.0034036368612297917], [-0.005039859029150816, 0.9999589507218564, 0.007529720593205589], [0.0034416397086803998, -0.007512426519474328, 0.9999658586991392]], "translation": [0.015211016158813928, -0.016176501028828755, 0.021342732293771594]}}} +{"step": 4000, "train_loss": 0.032123863697052, "val_psnr": 18.100372314453125, "pose_gradient_norm": 1.3391623497009277, "translation_update_mean": 0.1505891978740692, "rotation_update_deg_mean": 1.489194631576538, "pose_errors": {"raw": {"rotation_deg_mean": 1.8546333961556007, "rotation_deg_max": 6.26501129782105, "translation_mean": 0.18530042655559353, "translation_radius_pct_mean": 4.596737843794598}, "aligned": {"rotation_deg_mean": 1.9051621433952532, "rotation_deg_max": 5.895561248803219, "translation_mean": 0.17729957943310656, "translation_radius_pct_mean": 4.398261253999394}, "sim3": {"scale": 0.9773935901275375, "rotation": [[0.9999845581605786, 0.003424361784098847, 0.004376892363774207], [-0.003453565203746831, 0.9999717106135324, 0.006682129902190939], [-0.0043538865139011885, -0.006697142600982069, 0.9999680954676536]], "translation": [-0.021457255492039362, -0.009984169588445696, 0.02049800483360542]}}} +{"step": 5000, "train_loss": 0.022575564682483673, "val_psnr": 18.203737258911133, "pose_gradient_norm": 1.0733193159103394, "translation_update_mean": 0.13130012154579163, "rotation_update_deg_mean": 1.1793574094772339, "pose_errors": {"raw": {"rotation_deg_mean": 1.453979159133609, "rotation_deg_max": 5.266221216048889, "translation_mean": 0.14319180413982718, "translation_radius_pct_mean": 3.552151483112161}, "aligned": {"rotation_deg_mean": 1.5062410733548743, "rotation_deg_max": 4.929223302491798, "translation_mean": 0.12990973265903458, "translation_radius_pct_mean": 3.222663841045525}, "sim3": {"scale": 0.9803200502656184, "rotation": [[0.9999743068207267, 0.005108101099058295, 0.005029214806291222], [-0.005138679011677139, 0.9999682766323484, 0.006086025545884429], [-0.004997967228881023, -0.006111712697109298, 0.9999688331600568]], "translation": [-0.02276429040842004, -0.00210068417293148, 0.010845216013548153]}}} +{"step": 6000, "train_loss": 0.015177201479673386, "val_psnr": 18.389814376831055, "pose_gradient_norm": 0.8559387922286987, "translation_update_mean": 0.10423260182142258, "rotation_update_deg_mean": 0.9533124566078186, "pose_errors": {"raw": {"rotation_deg_mean": 1.0677240508021846, "rotation_deg_max": 3.867595427874813, "translation_mean": 0.11927944228325892, "translation_radius_pct_mean": 2.958958792065548}, "aligned": {"rotation_deg_mean": 1.0938776214134558, "rotation_deg_max": 3.6226390944240765, "translation_mean": 0.09677770280261426, "translation_radius_pct_mean": 2.400759335407233}, "sim3": {"scale": 0.9762001237296547, "rotation": [[0.9999949157429449, 0.0030182462384288934, 0.0010289207480214696], [-0.0030231887687742053, 0.9999837347444732, 0.004836380481716018], [-0.0010143066251660892, -0.004839466513963761, 0.9999877752982445]], "translation": [-0.008306450150677103, 0.00046787129023884155, 0.01740146505267548]}}} +{"step": 7000, "train_loss": 0.016222992911934853, "val_psnr": 17.49687385559082, "pose_gradient_norm": 1.0184965133666992, "translation_update_mean": 0.07945135235786438, "rotation_update_deg_mean": 0.7792494893074036, "pose_errors": {"raw": {"rotation_deg_mean": 0.8865223499766836, "rotation_deg_max": 3.378631838720569, "translation_mean": 0.11318145344746096, "translation_radius_pct_mean": 2.807686306763742}, "aligned": {"rotation_deg_mean": 0.9021319564537348, "rotation_deg_max": 3.3140875942227157, "translation_mean": 0.08865046586404873, "translation_radius_pct_mean": 2.199147400154719}, "sim3": {"scale": 0.9754150336793789, "rotation": [[0.999993537516211, 0.002362182964197343, 0.0027101692674244525], [-0.0023649486516307047, 0.9999966856115311, 0.0010177346545373134], [-0.002707756209407665, -0.001024137488598273, 0.9999958095905778]], "translation": [-0.019456399043220163, 0.013318449991161545, 0.02718521114553729]}}} +{"step": 8000, "train_loss": 0.014543981291353703, "val_psnr": 17.286733627319336, "pose_gradient_norm": 0.8270273804664612, "translation_update_mean": 0.07997025549411774, "rotation_update_deg_mean": 0.7295125126838684, "pose_errors": {"raw": {"rotation_deg_mean": 0.7398092455653252, "rotation_deg_max": 3.3853702658933793, "translation_mean": 0.09442176172939208, "translation_radius_pct_mean": 2.342315630282888}, "aligned": {"rotation_deg_mean": 0.7546142985738885, "rotation_deg_max": 3.49943977915224, "translation_mean": 0.0670920586856278, "translation_radius_pct_mean": 1.6643491378352888}, "sim3": {"scale": 0.977562804946777, "rotation": [[0.9999963451073955, 0.0024894831157580895, 0.0010546305831972676], [-0.002492931744288379, 0.9999915088448693, 0.0032813913939096153], [-0.00104645265969398, -0.0032840085228358165, 0.999994060094785]], "translation": [-0.004361594912515143, -0.0011247074286975384, 0.028046296821991668]}}} +{"step": 9000, "train_loss": 0.016256161034107208, "val_psnr": 17.990713119506836, "pose_gradient_norm": 1.0189298391342163, "translation_update_mean": 0.06750296801328659, "rotation_update_deg_mean": 0.6317484378814697, "pose_errors": {"raw": {"rotation_deg_mean": 0.6114358244210533, "rotation_deg_max": 4.293232301516925, "translation_mean": 0.10847025006466149, "translation_radius_pct_mean": 2.6908157345687544}, "aligned": {"rotation_deg_mean": 0.62310028017349, "rotation_deg_max": 4.425985142213762, "translation_mean": 0.05399315869333848, "translation_radius_pct_mean": 1.3394054211592115}, "sim3": {"scale": 0.9722013341254969, "rotation": [[0.9999974372615918, 0.001909015617996038, 0.0012170166879913195], [-0.0019121599444226485, 0.9999948236414183, 0.0025877277127313], [-0.001212070375657797, -0.002590048211624545, 0.9999959112594741]], "translation": [-0.004564262661848839, 0.004278098156806465, 0.032200752505961994]}}} +{"step": 10000, "train_loss": 0.012536981143057346, "val_psnr": 18.233646392822266, "pose_gradient_norm": 0.8186372518539429, "translation_update_mean": 0.056302353739738464, "rotation_update_deg_mean": 0.6125206351280212, "pose_errors": {"raw": {"rotation_deg_mean": 0.5980139499566706, "rotation_deg_max": 5.645061720456895, "translation_mean": 0.09948865631345968, "translation_radius_pct_mean": 2.4680098152237613}, "aligned": {"rotation_deg_mean": 0.6004696410460012, "rotation_deg_max": 5.688615891942324, "translation_mean": 0.05038349418927331, "translation_radius_pct_mean": 1.2498606654472741}, "sim3": {"scale": 0.973682334936923, "rotation": [[0.9999980535515527, 0.0016818926674529245, 0.0010315668476884186], [-0.0016825784886272898, 0.9999983637980828, 0.000664327318679175], [-0.0010304478325905983, -0.0006660617177878154, 0.9999992472692423]], "translation": [-0.00833885438167059, 0.011692088086060835, 0.03550610040648383]}}} +{"step": 11000, "train_loss": 0.011390618979930878, "val_psnr": 17.46394920349121, "pose_gradient_norm": 1.154601812362671, "translation_update_mean": 0.0585981160402298, "rotation_update_deg_mean": 0.5437862873077393, "pose_errors": {"raw": {"rotation_deg_mean": 0.4946124553609663, "rotation_deg_max": 4.532034923426945, "translation_mean": 0.1046240796463935, "translation_radius_pct_mean": 2.595403989199504}, "aligned": {"rotation_deg_mean": 0.5168267490778808, "rotation_deg_max": 4.605111768535945, "translation_mean": 0.046213872756145497, "translation_radius_pct_mean": 1.1464250879247078}, "sim3": {"scale": 0.9718960617687428, "rotation": [[0.9999977992767506, 0.0019048621819138317, 0.0008791710427815566], [-0.0019069767911308736, 0.9999952759893287, 0.0024106925443940046], [-0.0008745748525080001, -0.0024123637979008607, 0.9999967078044467]], "translation": [-0.004410946254191417, 0.0029410893523780096, 0.03717852203696559]}}} +{"step": 12000, "train_loss": 0.011285712011158466, "val_psnr": 17.72541046142578, "pose_gradient_norm": 0.8818714618682861, "translation_update_mean": 0.05229863151907921, "rotation_update_deg_mean": 0.5065487623214722, "pose_errors": {"raw": {"rotation_deg_mean": 0.4396365728624258, "rotation_deg_max": 2.8799489435071877, "translation_mean": 0.10004977890604672, "translation_radius_pct_mean": 2.481929553587553}, "aligned": {"rotation_deg_mean": 0.4513635635387903, "rotation_deg_max": 2.905961391074989, "translation_mean": 0.038849264388617154, "translation_radius_pct_mean": 0.9637316391452615}, "sim3": {"scale": 0.9732926644021824, "rotation": [[0.9999981355060976, 0.0016271633907902138, 0.0010398671201982384], [-0.0016295481488225333, 0.9999960350651269, 0.0022966120385250325], [-0.0010361260341607676, -0.0022983022700466876, 0.9999968221197079]], "translation": [-0.0031382042645347608, 0.007545285745123878, 0.03590424264008529]}}} +{"step": 13000, "train_loss": 0.012166003696620464, "val_psnr": 17.312623977661133, "pose_gradient_norm": 1.5551329851150513, "translation_update_mean": 0.04692893102765083, "rotation_update_deg_mean": 0.44776710867881775, "pose_errors": {"raw": {"rotation_deg_mean": 0.37836948602850035, "rotation_deg_max": 1.577802170080047, "translation_mean": 0.1037030208589203, "translation_radius_pct_mean": 2.572555332758514}, "aligned": {"rotation_deg_mean": 0.3937998927928011, "rotation_deg_max": 1.6015984164884758, "translation_mean": 0.03554598957636356, "translation_radius_pct_mean": 0.8817874762515833}, "sim3": {"scale": 0.9716194898179686, "rotation": [[0.9999987121130741, 0.0015646482245081034, 0.00035727878033660045], [-0.0015654947792298412, 0.9999959386085374, 0.0023815945343999174], [-0.00035355097162785505, -0.0023821507852407795, 0.9999971001754688]], "translation": [-0.002676562387534276, 0.009659007785294951, 0.038339298585426285]}}} +{"step": 14000, "train_loss": 0.011835159733891487, "val_psnr": 17.547897338867188, "pose_gradient_norm": 0.9051912426948547, "translation_update_mean": 0.04769809544086456, "rotation_update_deg_mean": 0.3955020010471344, "pose_errors": {"raw": {"rotation_deg_mean": 0.3555592302030067, "rotation_deg_max": 1.2517347875589442, "translation_mean": 0.10216936402685332, "translation_radius_pct_mean": 2.53450998914868}, "aligned": {"rotation_deg_mean": 0.35781496737181556, "rotation_deg_max": 1.1366005897764764, "translation_mean": 0.03312292836690431, "translation_radius_pct_mean": 0.8216787254710751}, "sim3": {"scale": 0.9716688811946212, "rotation": [[0.9999990397431516, 0.0013805072911394379, -0.0001212946588043611], [-0.0013802618364101627, 0.9999970455834049, 0.0020009252172257736], [0.00012405659230076236, -0.0020007558774351062, 0.9999979907909224]], "translation": [-0.0005757372352515056, 0.00793332474065582, 0.040533014796844125]}}} +{"step": 15000, "train_loss": 0.00929197296500206, "val_psnr": 16.526687622070312, "pose_gradient_norm": 1.1454576253890991, "translation_update_mean": 0.039441365748643875, "rotation_update_deg_mean": 0.365842342376709, "pose_errors": {"raw": {"rotation_deg_mean": 0.3126828779798408, "rotation_deg_max": 0.8707273163705049, "translation_mean": 0.1074197245074979, "translation_radius_pct_mean": 2.664755402845565}, "aligned": {"rotation_deg_mean": 0.2994288832190166, "rotation_deg_max": 0.7673744019235368, "translation_mean": 0.027986289479187753, "translation_radius_pct_mean": 0.6942543972923716}, "sim3": {"scale": 0.9701027287064361, "rotation": [[0.9999985895818999, 0.0016100110625819417, -0.00047822441298658874], [-0.0016095709740966246, 0.9999982821574918, 0.0009192188776449212], [0.0004797035440343035, -0.000918447845027794, 0.9999994631688887]], "translation": [-0.0009526429532537017, 0.01681606810622381, 0.040379331611617886]}}} +{"step": 16000, "train_loss": 0.012648538686335087, "val_psnr": 17.851179122924805, "pose_gradient_norm": 1.3246517181396484, "translation_update_mean": 0.03694724291563034, "rotation_update_deg_mean": 0.3290824294090271, "pose_errors": {"raw": {"rotation_deg_mean": 0.3146623074425195, "rotation_deg_max": 0.7192561210572932, "translation_mean": 0.10166348273436229, "translation_radius_pct_mean": 2.5219606187835577}, "aligned": {"rotation_deg_mean": 0.3060843753039517, "rotation_deg_max": 0.7097967626282884, "translation_mean": 0.028874101518721506, "translation_radius_pct_mean": 0.716278303422328}, "sim3": {"scale": 0.971752779992519, "rotation": [[0.9999973060250236, 0.001622033517447038, -0.0016604065656765621], [-0.0016190911157568455, 0.999997119435189, 0.0017719100663814988], [0.0016632758802853107, -0.0017692169433810587, 0.9999970516880309]], "translation": [0.0036113138671613476, 0.010738713109089928, 0.04019059652767476]}}} +{"step": 17000, "train_loss": 0.007662254385650158, "val_psnr": 16.856504440307617, "pose_gradient_norm": 0.5722629427909851, "translation_update_mean": 0.03594737499952316, "rotation_update_deg_mean": 0.3181594908237457, "pose_errors": {"raw": {"rotation_deg_mean": 0.29169958979999766, "rotation_deg_max": 0.9438961715877142, "translation_mean": 0.11070171569925603, "translation_radius_pct_mean": 2.7461715840955794}, "aligned": {"rotation_deg_mean": 0.2825187351543455, "rotation_deg_max": 0.8634601985208495, "translation_mean": 0.026655257585801184, "translation_radius_pct_mean": 0.661235559778838}, "sim3": {"scale": 0.9693343013278293, "rotation": [[0.9999983728616044, 0.001149724633956675, -0.0013901105744110252], [-0.0011479233511186013, 0.9999985014718621, 0.001295888116277712], [0.001391598405781493, -0.0012942902672993843, 0.9999981941316589]], "translation": [0.004559834350936265, 0.012990014969027797, 0.041016043163924376]}}} +{"step": 18000, "train_loss": 0.00865316390991211, "val_psnr": 17.073150634765625, "pose_gradient_norm": 1.140679955482483, "translation_update_mean": 0.03260591998696327, "rotation_update_deg_mean": 0.30739015340805054, "pose_errors": {"raw": {"rotation_deg_mean": 0.2743400179790087, "rotation_deg_max": 0.6143713713343694, "translation_mean": 0.11331136033224197, "translation_radius_pct_mean": 2.8109088999576284}, "aligned": {"rotation_deg_mean": 0.2703786244849147, "rotation_deg_max": 0.595810689869732, "translation_mean": 0.022615883074455043, "translation_radius_pct_mean": 0.5610310107299809}, "sim3": {"scale": 0.9685584597214247, "rotation": [[0.9999990666374623, 0.0007231347069273306, -0.0011592240502183043], [-0.0007215192133311267, 0.9999987689056508, 0.0013934120742588227], [0.0011602302477360328, -0.0013925743712754487, 0.9999983572998473]], "translation": [0.0035352120146492916, 0.012537607504867501, 0.04206098891890475]}}} +{"step": 19000, "train_loss": 0.007530520670115948, "val_psnr": 16.558208465576172, "pose_gradient_norm": 0.5369450449943542, "translation_update_mean": 0.027735434472560883, "rotation_update_deg_mean": 0.2692147493362427, "pose_errors": {"raw": {"rotation_deg_mean": 0.24819936565703254, "rotation_deg_max": 0.7209894388797361, "translation_mean": 0.11877404398465613, "translation_radius_pct_mean": 2.9464214033041687}, "aligned": {"rotation_deg_mean": 0.25904537315948006, "rotation_deg_max": 0.6937335865963675, "translation_mean": 0.021826149271428473, "translation_radius_pct_mean": 0.5414401262059945}, "sim3": {"scale": 0.9667245241460459, "rotation": [[0.9999986687993395, 0.0011325895097093332, -0.0011745810112879479], [-0.001129595109923729, 0.9999961187211639, 0.002546872100674108], [0.0011774610130351438, -0.0025455419093098016, 0.999996066893242]], "translation": [0.0030703007222495637, 0.007756557611464196, 0.044866216140007076]}}} +{"step": 20000, "train_loss": 0.008453788235783577, "val_psnr": 17.54245376586914, "pose_gradient_norm": 0.859194278717041, "translation_update_mean": 0.02628476172685623, "rotation_update_deg_mean": 0.22792552411556244, "pose_errors": {"raw": {"rotation_deg_mean": 0.23437550474449156, "rotation_deg_max": 0.7683735211114651, "translation_mean": 0.11591782386115504, "translation_radius_pct_mean": 2.87556730233983}, "aligned": {"rotation_deg_mean": 0.23697015837341603, "rotation_deg_max": 0.7811391009804425, "translation_mean": 0.01940099977910324, "translation_radius_pct_mean": 0.48127957150329853}, "sim3": {"scale": 0.9674650624200252, "rotation": [[0.9999992838030402, 0.0006564580227904385, -0.00100072787024321], [-0.0006548549446355555, 0.9999985033419122, 0.0016013990561616006], [0.001001777623753861, -0.0016007425776504898, 0.9999982170308065]], "translation": [0.0022879741162714073, 0.01055175890716737, 0.044284197362914224]}}} +{"step": 21000, "train_loss": 0.007382585201412439, "val_psnr": 16.41057586669922, "pose_gradient_norm": 0.8358810544013977, "translation_update_mean": 0.0239391028881073, "rotation_update_deg_mean": 0.23683691024780273, "pose_errors": {"raw": {"rotation_deg_mean": 0.23340700181465276, "rotation_deg_max": 0.6998010003985159, "translation_mean": 0.12072390279237517, "translation_radius_pct_mean": 2.9947914472274584}, "aligned": {"rotation_deg_mean": 0.23187557588278712, "rotation_deg_max": 0.5957957410987437, "translation_mean": 0.01866087313112512, "translation_radius_pct_mean": 0.46291928904090957}, "sim3": {"scale": 0.9664173488745945, "rotation": [[0.9999994848419897, 0.0008313893454182327, -0.0005823293830778054], [-0.0008300373350445423, 0.9999969686410299, 0.0023181343302147036], [0.0005842548900119187, -0.0023176497808800266, 0.9999971435687773]], "translation": [-0.0001571909636357005, 0.0090893965686554, 0.04297566184423829]}}} +{"step": 22000, "train_loss": 0.008532123640179634, "val_psnr": 15.412817001342773, "pose_gradient_norm": 0.9876551628112793, "translation_update_mean": 0.021548409014940262, "rotation_update_deg_mean": 0.21619471907615662, "pose_errors": {"raw": {"rotation_deg_mean": 0.22192104021818398, "rotation_deg_max": 0.658075006048139, "translation_mean": 0.11745828524436469, "translation_radius_pct_mean": 2.9137814460886005}, "aligned": {"rotation_deg_mean": 0.22760561350505118, "rotation_deg_max": 0.5297098401550893, "translation_mean": 0.01724389135356302, "translation_radius_pct_mean": 0.42776829731379185}, "sim3": {"scale": 0.9671173239005254, "rotation": [[0.9999995038900212, 0.0006229276556609841, -0.0007772907095272162], [-0.0006207800253562103, 0.9999959980712786, 0.002760158254115417], [0.0007790069777756381, -0.002759674358226977, 0.9999958886643315]], "translation": [0.0009807809329136497, 0.009405232266721589, 0.04417795618280307]}}} +{"step": 23000, "train_loss": 0.00812501274049282, "val_psnr": 17.08243179321289, "pose_gradient_norm": 0.7506124377250671, "translation_update_mean": 0.019555848091840744, "rotation_update_deg_mean": 0.21293394267559052, "pose_errors": {"raw": {"rotation_deg_mean": 0.20486230548996093, "rotation_deg_max": 0.5366753454725183, "translation_mean": 0.117487683746563, "translation_radius_pct_mean": 2.9145107331718405}, "aligned": {"rotation_deg_mean": 0.20149728952505977, "rotation_deg_max": 0.48451176059841844, "translation_mean": 0.015299114413257583, "translation_radius_pct_mean": 0.3795243190056307}, "sim3": {"scale": 0.9672009302960263, "rotation": [[0.9999984004878998, 0.0007008393660644324, -0.0016455533492716326], [-0.0006992815496287932, 0.9999993070344587, 0.0009470670080232987], [0.0016462159508012636, -0.0009459147880820303, 0.9999981976075053]], "translation": [0.005279403352333734, 0.012355117843267704, 0.04408967521309659]}}} +{"step": 24000, "train_loss": 0.006053101271390915, "val_psnr": 15.911249160766602, "pose_gradient_norm": 0.7635090351104736, "translation_update_mean": 0.020331740379333496, "rotation_update_deg_mean": 0.19672100245952606, "pose_errors": {"raw": {"rotation_deg_mean": 0.1786376855092697, "rotation_deg_max": 0.4765692352002633, "translation_mean": 0.12310432558248588, "translation_radius_pct_mean": 3.0538424690029}, "aligned": {"rotation_deg_mean": 0.18403729921625694, "rotation_deg_max": 0.3962121883207943, "translation_mean": 0.013367345699345296, "translation_radius_pct_mean": 0.3316030350789857}, "sim3": {"scale": 0.9656744084965236, "rotation": [[0.9999997672905709, 0.0006817934531988918, -2.401023235976705e-05], [-0.0006817489519562638, 0.9999981348508131, 0.0018070731201952146], [2.5242238199878028e-05, -0.0018070563307215081, 0.9999983669537903]], "translation": [-0.0013504030521038213, 0.010720670971144264, 0.044389860493755595]}}} +{"step": 25000, "train_loss": 0.006988925859332085, "val_psnr": 16.761316299438477, "pose_gradient_norm": 1.0394840240478516, "translation_update_mean": 0.016436483711004257, "rotation_update_deg_mean": 0.17256438732147217, "pose_errors": {"raw": {"rotation_deg_mean": 0.16741387457396997, "rotation_deg_max": 0.3990850779608176, "translation_mean": 0.12114784506886336, "translation_radius_pct_mean": 3.0053081607728154}, "aligned": {"rotation_deg_mean": 0.17093787247540304, "rotation_deg_max": 0.41996378160935777, "translation_mean": 0.013608663112707406, "translation_radius_pct_mean": 0.3375893833404962}, "sim3": {"scale": 0.9660760368229068, "rotation": [[0.9999997491008346, 0.0007070111393939456, -4.397178745751756e-05], [-0.0007069455458842101, 0.9999986633906112, 0.0014742608274612664], [4.501404751168397e-05, -0.001474229371911112, 0.9999989123101571]], "translation": [-0.0010164788199588104, 0.011518828300798714, 0.044741624892177256]}}} +{"step": 26000, "train_loss": 0.006972969509661198, "val_psnr": 16.100067138671875, "pose_gradient_norm": 1.4217529296875, "translation_update_mean": 0.017099639400839806, "rotation_update_deg_mean": 0.15774774551391602, "pose_errors": {"raw": {"rotation_deg_mean": 0.1564234347270846, "rotation_deg_max": 0.3739813511569816, "translation_mean": 0.12228273790831193, "translation_radius_pct_mean": 3.033461387188512}, "aligned": {"rotation_deg_mean": 0.1595074627773022, "rotation_deg_max": 0.37221060048745247, "translation_mean": 0.013199555897442795, "translation_radius_pct_mean": 0.3274406823713052}, "sim3": {"scale": 0.9659473285741755, "rotation": [[0.999999754657684, 0.0006990249510855135, -4.5262452534594854e-05], [-0.0006989679969875992, 0.9999989790530945, 0.001246329212952878], [4.613362154122493e-05, -0.0012462972701697403, 0.9999992223070986]], "translation": [4.991478633170621e-05, 0.012709180689520393, 0.043762513787852786]}}} +{"step": 27000, "train_loss": 0.006349820178002119, "val_psnr": 15.982375144958496, "pose_gradient_norm": 0.6870672106742859, "translation_update_mean": 0.015964074060320854, "rotation_update_deg_mean": 0.14878083765506744, "pose_errors": {"raw": {"rotation_deg_mean": 0.14373797687903075, "rotation_deg_max": 0.33419789402291195, "translation_mean": 0.123735380970632, "translation_radius_pct_mean": 3.0694970265133303}, "aligned": {"rotation_deg_mean": 0.13783607938020848, "rotation_deg_max": 0.3347921289289638, "translation_mean": 0.01181314210053625, "translation_radius_pct_mean": 0.2930479889174276}, "sim3": {"scale": 0.9656068312624472, "rotation": [[0.9999998554242648, 0.00038027767940816817, -0.0003801846082446496], [-0.0003799134043328324, 0.9999994691742793, 0.00095776665472463], [0.0003805486237137275, -0.0009576220790260429, 0.9999994690712085]], "translation": [0.0009095016953690749, 0.014618548891869115, 0.04321072553053451]}}} +{"step": 28000, "train_loss": 0.005900676362216473, "val_psnr": 15.531417846679688, "pose_gradient_norm": 0.7251935601234436, "translation_update_mean": 0.014218711294233799, "rotation_update_deg_mean": 0.13630641996860504, "pose_errors": {"raw": {"rotation_deg_mean": 0.134712367868923, "rotation_deg_max": 0.2553351384291538, "translation_mean": 0.12262616904811173, "translation_radius_pct_mean": 3.0419808652404505}, "aligned": {"rotation_deg_mean": 0.1275143169188936, "rotation_deg_max": 0.2678368466441186, "translation_mean": 0.011371348084128772, "translation_radius_pct_mean": 0.2820884282076579}, "sim3": {"scale": 0.9659051733737042, "rotation": [[0.9999997611472478, 0.0004940074888931381, -0.0004833860253827082], [-0.0004937995760893353, 0.99999978556973, 0.0004301423873733282], [0.00048359841529065653, -0.0004299035888182309, 0.9999997906577177]], "translation": [0.0013535095277616427, 0.017228296722479913, 0.04355760517597407]}}} +{"step": 29000, "train_loss": 0.00886392593383789, "val_psnr": 15.527640342712402, "pose_gradient_norm": 1.069632887840271, "translation_update_mean": 0.014227981679141521, "rotation_update_deg_mean": 0.13553215563297272, "pose_errors": {"raw": {"rotation_deg_mean": 0.13779393329798195, "rotation_deg_max": 0.30026844016197995, "translation_mean": 0.12301941991857696, "translation_radius_pct_mean": 3.0517362187060315}, "aligned": {"rotation_deg_mean": 0.12803708037169056, "rotation_deg_max": 0.2771009364486759, "translation_mean": 0.01003094225720324, "translation_radius_pct_mean": 0.24883705202249395}, "sim3": {"scale": 0.9656668044530622, "rotation": [[0.9999998157473908, 0.0003694899746234096, -0.00048164545388944095], [-0.0003690557891657977, 0.9999995257818627, 0.0009012401862590117], [0.0004819782246980548, -0.0009010622661601286, 0.9999994778917548]], "translation": [0.000431930935509528, 0.014268186715507537, 0.04377078956243041]}}} +{"step": 29999, "train_loss": 0.004690241534262896, "val_psnr": 17.306825637817383, "pose_gradient_norm": 0.8322950601577759, "translation_update_mean": 0.012192046269774437, "rotation_update_deg_mean": 0.12092898786067963, "pose_errors": {"raw": {"rotation_deg_mean": 0.1242628895735921, "rotation_deg_max": 0.32898255416572214, "translation_mean": 0.12585092268145548, "translation_radius_pct_mean": 3.121977157417674}, "aligned": {"rotation_deg_mean": 0.11853224280988138, "rotation_deg_max": 0.35764801288078607, "translation_mean": 0.010404209382414526, "translation_radius_pct_mean": 0.25809666978051543}, "sim3": {"scale": 0.9649052419853628, "rotation": [[0.9999997099785433, 0.0004758465075949668, -0.0005946536219926549], [-0.00047537678520978707, 0.999999575115489, 0.0007898010836613036], [0.000595029193421022, -0.000789518170074888, 0.9999995113005385]], "translation": [0.0019568079516950054, 0.01367804446543893, 0.04495968390356886]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-T1.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-T1.jsonl new file mode 100644 index 0000000..6733314 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-T1.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421427607536316, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.007205404806882143, "translation_update_mean": 0.01017533615231514, "rotation_update_deg_mean": 0.17854996025562286, "pose_errors": {"raw": {"rotation_deg_mean": 0.17948191899970398, "rotation_deg_max": 0.21595354059745986, "translation_mean": 0.0336116643679087, "translation_radius_pct_mean": 0.8338027735005474}, "aligned": {"rotation_deg_mean": 0.18903313549918987, "rotation_deg_max": 0.2642250780351027, "translation_mean": 0.03328847947005851, "translation_radius_pct_mean": 0.825785542897761}, "sim3": {"scale": 1.0001479642309223, "rotation": [[0.9999995399345848, -0.00036062782916962573, 0.0008888634239592409], [0.00036047485320060956, 0.999999920192684, 0.00017225709392513795], [-0.0008889254737233258, -0.00017193660176332903, 0.9999995901245697]], "translation": [0.0006503612676868054, 0.0005635998408996673, 0.0003184220824552497]}}} +{"step": 1000, "train_loss": 0.06503649055957794, "val_psnr": 16.517433166503906, "pose_gradient_norm": 1.9402211904525757, "translation_update_mean": 0.3645729124546051, "rotation_update_deg_mean": 4.43945837020874, "pose_errors": {"raw": {"rotation_deg_mean": 4.45208066746008, "rotation_deg_max": 9.013449259380195, "translation_mean": 0.3678340197446212, "translation_radius_pct_mean": 9.124838999158525}, "aligned": {"rotation_deg_mean": 4.388808135232778, "rotation_deg_max": 8.820245283748273, "translation_mean": 0.36747842902121486, "translation_radius_pct_mean": 9.116017878961621}, "sim3": {"scale": 0.9712278757387752, "rotation": [[0.999996447778812, 0.0008625119080039181, -0.0025220037600518046], [-0.0009013538995079684, 0.9998803761814548, -0.01544088366574636], [0.0025083841222999824, 0.01544310203423591, 0.9998776018136684]], "translation": [-0.011296234563566654, 0.04281819761841536, 0.048647816131477395]}}} +{"step": 2000, "train_loss": 0.039233699440956116, "val_psnr": 17.01657485961914, "pose_gradient_norm": 1.2442710399627686, "translation_update_mean": 0.19244255125522614, "rotation_update_deg_mean": 2.8018884658813477, "pose_errors": {"raw": {"rotation_deg_mean": 3.183006934488749, "rotation_deg_max": 9.315778096853148, "translation_mean": 0.3180199826110689, "translation_radius_pct_mean": 7.889104824659523}, "aligned": {"rotation_deg_mean": 3.178116349094185, "rotation_deg_max": 9.298273729509825, "translation_mean": 0.31889946092673055, "translation_radius_pct_mean": 7.910921996543828}, "sim3": {"scale": 0.9758167364820314, "rotation": [[0.9999834944035499, 0.0004612397593192919, -0.005726969386189997], [-0.0005395132570733503, 0.9999063676256701, -0.013673511146862478], [0.0057201263894581965, 0.013676375233312162, 0.9998901124196433]], "translation": [0.014498984653470048, 0.02650963398415874, 0.052068976671643785]}}} +{"step": 3000, "train_loss": 0.03500789403915405, "val_psnr": 17.756013870239258, "pose_gradient_norm": 1.1277687549591064, "translation_update_mean": 0.1723860651254654, "rotation_update_deg_mean": 1.924990177154541, "pose_errors": {"raw": {"rotation_deg_mean": 2.483284049389967, "rotation_deg_max": 8.496050739770498, "translation_mean": 0.24331403649234964, "translation_radius_pct_mean": 6.035878385499818}, "aligned": {"rotation_deg_mean": 2.6851702397810304, "rotation_deg_max": 7.968488172164234, "translation_mean": 0.24620488526437206, "translation_radius_pct_mean": 6.107591517509559}, "sim3": {"scale": 0.9782736775024485, "rotation": [[0.999948395371148, 2.7987301974490662e-05, -0.01015902610374462], [-0.0002563756007984043, 0.9997472439812579, -0.02248071225360219], [0.010155829174269973, 0.02248215667121092, 0.9996956595710479]], "translation": [0.03301820093564389, 0.060520855407087966, 0.04332584914675364]}}} +{"step": 4000, "train_loss": 0.031011229380965233, "val_psnr": 18.03369903564453, "pose_gradient_norm": 1.2075468301773071, "translation_update_mean": 0.1382579207420349, "rotation_update_deg_mean": 1.4851747751235962, "pose_errors": {"raw": {"rotation_deg_mean": 2.0228263899536323, "rotation_deg_max": 7.968926645454162, "translation_mean": 0.2059508784175708, "translation_radius_pct_mean": 5.109012506783192}, "aligned": {"rotation_deg_mean": 2.193413414591974, "rotation_deg_max": 7.645286074755549, "translation_mean": 0.20718353243722615, "translation_radius_pct_mean": 5.139590889606048}, "sim3": {"scale": 0.9781774387090381, "rotation": [[0.9999661988279671, -0.00029383376579810404, -0.008216742862267474], [0.00013306384638992152, 0.9998086791155294, -0.019559843027797823], [0.008220918170091008, 0.019558088530768656, 0.9997749235090174]], "translation": [0.030719703551023214, 0.046680156494607744, 0.03893094219780169]}}} +{"step": 5000, "train_loss": 0.025360003113746643, "val_psnr": 18.12302017211914, "pose_gradient_norm": 1.2730687856674194, "translation_update_mean": 0.12391216307878494, "rotation_update_deg_mean": 1.1415373086929321, "pose_errors": {"raw": {"rotation_deg_mean": 1.7122873722657772, "rotation_deg_max": 8.149509163336191, "translation_mean": 0.17661381440125154, "translation_radius_pct_mean": 4.381249517262062}, "aligned": {"rotation_deg_mean": 1.7909728299304577, "rotation_deg_max": 7.791333090535317, "translation_mean": 0.1797843306896304, "translation_radius_pct_mean": 4.459900346502251}, "sim3": {"scale": 0.9823339521956631, "rotation": [[0.9999751455794395, -0.0010806275871176089, -0.006967098922554566], [0.0009738801355418732, 0.9998823685859097, -0.015306879123869967], [0.006982820408710056, 0.015299713561015775, 0.9998585694907512]], "translation": [0.01941286626281158, 0.030639447915847905, 0.037749498751880495]}}} +{"step": 6000, "train_loss": 0.018427368253469467, "val_psnr": 18.16452980041504, "pose_gradient_norm": 0.9198956489562988, "translation_update_mean": 0.12968716025352478, "rotation_update_deg_mean": 1.019527554512024, "pose_errors": {"raw": {"rotation_deg_mean": 1.4132263646363146, "rotation_deg_max": 6.321541997397679, "translation_mean": 0.1287394539517401, "translation_radius_pct_mean": 3.1936327992848437}, "aligned": {"rotation_deg_mean": 1.359447958342752, "rotation_deg_max": 6.303826411083846, "translation_mean": 0.12650147387539232, "translation_radius_pct_mean": 3.138115346347304}, "sim3": {"scale": 0.9883866450246565, "rotation": [[0.9999920792632173, -0.0006786223280505654, -0.003921846830821218], [0.0006397394180615413, 0.9999507178154218, -0.00990720313208187], [0.0039283768028957455, 0.009904615699724378, 0.9999432316104435]], "translation": [0.010351526762792274, 0.010572738629935768, 0.02791416781390721]}}} +{"step": 7000, "train_loss": 0.01858609728515148, "val_psnr": 17.089006423950195, "pose_gradient_norm": 1.2279068231582642, "translation_update_mean": 0.09957373142242432, "rotation_update_deg_mean": 0.8616913557052612, "pose_errors": {"raw": {"rotation_deg_mean": 1.229664151560154, "rotation_deg_max": 5.663544847797357, "translation_mean": 0.10557696164265867, "translation_radius_pct_mean": 2.6190420822914726}, "aligned": {"rotation_deg_mean": 1.076675722346275, "rotation_deg_max": 5.312237746905072, "translation_mean": 0.09995075053373906, "translation_radius_pct_mean": 2.4794729620132245}, "sim3": {"scale": 0.992417682385255, "rotation": [[0.9999995030220075, -0.00026759450979050166, -0.0009603899816658192], [0.0002585655957955965, 0.9999558876018235, -0.009389142361334386], [0.0009628600995080706, 0.00938888937132945, 0.9999554598364878]], "translation": [-0.00040418665088759465, 0.005945520026270509, 0.02787616396404946]}}} +{"step": 8000, "train_loss": 0.015434132888913155, "val_psnr": 17.137605667114258, "pose_gradient_norm": 1.4442493915557861, "translation_update_mean": 0.08517742156982422, "rotation_update_deg_mean": 0.7659032344818115, "pose_errors": {"raw": {"rotation_deg_mean": 1.065935739982562, "rotation_deg_max": 4.556375890208865, "translation_mean": 0.08735713641729902, "translation_radius_pct_mean": 2.1670638452332485}, "aligned": {"rotation_deg_mean": 0.8607162588845791, "rotation_deg_max": 4.06585215345885, "translation_mean": 0.07969096722127039, "translation_radius_pct_mean": 1.9768895929913373}, "sim3": {"scale": 0.9947079363829938, "rotation": [[0.999997603585782, -0.0014617012280290305, 0.0016298012800289878], [0.0014775783284414917, 0.9999510490448377, -0.00978346954875987], [-0.0016154209902458463, 0.009785854262565454, 0.9999508125259842]], "translation": [-0.01563762811249092, 0.011749143718119304, 0.02360496962924108]}}} +{"step": 9000, "train_loss": 0.015775367617607117, "val_psnr": 18.062135696411133, "pose_gradient_norm": 1.4673067331314087, "translation_update_mean": 0.0768083930015564, "rotation_update_deg_mean": 0.633495569229126, "pose_errors": {"raw": {"rotation_deg_mean": 0.9329669149984364, "rotation_deg_max": 2.5980712151046825, "translation_mean": 0.07192375952060664, "translation_radius_pct_mean": 1.7842088839291694}, "aligned": {"rotation_deg_mean": 0.7721879567287203, "rotation_deg_max": 2.406631488964385, "translation_mean": 0.06024647163947492, "translation_radius_pct_mean": 1.4945310234198845}, "sim3": {"scale": 0.9899675560224039, "rotation": [[0.9999994889456406, -0.0010109025979969264, -1.357925121969475e-05], [0.0010108099163063586, 0.999983579365727, -0.005640856514990082], [1.9281384745557026e-05, 0.005640839906163968, 0.9999840901501302]], "translation": [-0.010120668460141147, -0.0024523840335334973, 0.02531026795066138]}}} +{"step": 10000, "train_loss": 0.013681227341294289, "val_psnr": 17.631153106689453, "pose_gradient_norm": 0.6746004223823547, "translation_update_mean": 0.06394536048173904, "rotation_update_deg_mean": 0.6195502877235413, "pose_errors": {"raw": {"rotation_deg_mean": 0.8605253509519863, "rotation_deg_max": 2.4383551164821524, "translation_mean": 0.07229289700094016, "translation_radius_pct_mean": 1.793366057805955}, "aligned": {"rotation_deg_mean": 0.7346167546266347, "rotation_deg_max": 2.680899219977226, "translation_mean": 0.06009825561623017, "translation_radius_pct_mean": 1.490854236400177}, "sim3": {"scale": 0.9878267186345195, "rotation": [[0.9999981718528894, -0.0015388409908327443, -0.0011350151025624204], [0.001533725579464, 0.999988725335887, -0.004494094675664647], [0.0011419180027521583, 0.004492345658102623, 0.9999892573691782]], "translation": [-0.004858497098068515, -0.00435813944455106, 0.028795542716481215]}}} +{"step": 11000, "train_loss": 0.012842548079788685, "val_psnr": 17.359844207763672, "pose_gradient_norm": 1.0014972686767578, "translation_update_mean": 0.05871148779988289, "rotation_update_deg_mean": 0.4970357120037079, "pose_errors": {"raw": {"rotation_deg_mean": 0.8122592140018603, "rotation_deg_max": 2.008194594147233, "translation_mean": 0.06465383957241316, "translation_radius_pct_mean": 1.6038643657410678}, "aligned": {"rotation_deg_mean": 0.6096431367216439, "rotation_deg_max": 1.7755276221181493, "translation_mean": 0.04992223380610557, "translation_radius_pct_mean": 1.2384182036107696}, "sim3": {"scale": 0.9888361980226649, "rotation": [[0.9999968309376825, -0.002481809661802419, 0.0004227710899948125], [0.0024843358468261702, 0.9999784097953619, -0.006083421614388789], [-0.00040766406774102635, 0.006084452641020483, 0.999981406450173]], "translation": [-0.011817508560178214, 0.0016143663923161022, 0.030404017166887343]}}} +{"step": 12000, "train_loss": 0.009393898770213127, "val_psnr": 18.05111312866211, "pose_gradient_norm": 0.8190398812294006, "translation_update_mean": 0.047920871526002884, "rotation_update_deg_mean": 0.4914332926273346, "pose_errors": {"raw": {"rotation_deg_mean": 0.7814878062015027, "rotation_deg_max": 1.8416973635108491, "translation_mean": 0.06299757389596468, "translation_radius_pct_mean": 1.5627774710380777}, "aligned": {"rotation_deg_mean": 0.5158738286860179, "rotation_deg_max": 1.4907109639267944, "translation_mean": 0.04139418454502386, "translation_radius_pct_mean": 1.0268633383530916}, "sim3": {"scale": 0.9864877752627406, "rotation": [[0.9999952094508193, -0.0019427255410839766, 0.002409749547614225], [0.0019616694919635195, 0.9999669959806994, -0.007884085371144739], [-0.0023943534021748417, 0.00788877473421683, 0.9999660165750508]], "translation": [-0.020098560932598153, 0.010655929648138475, 0.02875960180631587]}}} +{"step": 13000, "train_loss": 0.012219564989209175, "val_psnr": 18.47870635986328, "pose_gradient_norm": 0.8952432870864868, "translation_update_mean": 0.0437336340546608, "rotation_update_deg_mean": 0.4284800589084625, "pose_errors": {"raw": {"rotation_deg_mean": 0.7349659813979517, "rotation_deg_max": 1.4118127784181183, "translation_mean": 0.05973771066740128, "translation_radius_pct_mean": 1.4819102169962415}, "aligned": {"rotation_deg_mean": 0.44669034251136713, "rotation_deg_max": 1.1307941942816129, "translation_mean": 0.0355592526354139, "translation_radius_pct_mean": 0.8821164922532971}, "sim3": {"scale": 0.9866018886365358, "rotation": [[0.99999614369616, -0.0011484963737504873, 0.002528546793847417], [0.0011680047699956103, 0.9999694614489137, -0.007727349767326535], [-0.002519594742505525, 0.007730273323034397, 0.9999669467120827]], "translation": [-0.02147978153596858, 0.007540196504937424, 0.030506316743172057]}}} +{"step": 14000, "train_loss": 0.01353895477950573, "val_psnr": 17.936546325683594, "pose_gradient_norm": 0.8425279259681702, "translation_update_mean": 0.04131075739860535, "rotation_update_deg_mean": 0.39124128222465515, "pose_errors": {"raw": {"rotation_deg_mean": 0.665371681834007, "rotation_deg_max": 1.5100372368565986, "translation_mean": 0.06445208452417345, "translation_radius_pct_mean": 1.5988594389707462}, "aligned": {"rotation_deg_mean": 0.37759418243093307, "rotation_deg_max": 1.1405816722367839, "translation_mean": 0.03343469417554711, "translation_radius_pct_mean": 0.8294126833341436}, "sim3": {"scale": 0.9845032457084862, "rotation": [[0.9999926892877624, -0.0014679522057277298, 0.003530791320667935], [0.0014957350619752663, 0.9999678414978681, -0.007879006708850646], [-0.0035191117704304635, 0.007884230236074789, 0.9999627266883155]], "translation": [-0.026788450955965437, 0.01082612310075741, 0.029582239437589752]}}} +{"step": 15000, "train_loss": 0.009011786431074142, "val_psnr": 16.37860107421875, "pose_gradient_norm": 0.9161092638969421, "translation_update_mean": 0.035928063094615936, "rotation_update_deg_mean": 0.3661854863166809, "pose_errors": {"raw": {"rotation_deg_mean": 0.6470380560401895, "rotation_deg_max": 1.2419436892322047, "translation_mean": 0.06653244440831302, "translation_radius_pct_mean": 1.6504668161683778}, "aligned": {"rotation_deg_mean": 0.3174576694589699, "rotation_deg_max": 0.7924785689575305, "translation_mean": 0.025670954132877958, "translation_radius_pct_mean": 0.6368179962797468}, "sim3": {"scale": 0.9827556677493319, "rotation": [[0.9999944596569186, -0.0011900741563003739, 0.0031087584290216447], [0.0012175211802208136, 0.9999601674316736, -0.008842012904093529], [-0.003098111948142378, 0.008845748895540068, 0.9999560762497702]], "translation": [-0.025204230571126862, 0.016483585116102636, 0.030790363811145305]}}} +{"step": 16000, "train_loss": 0.009690795093774796, "val_psnr": 17.600709915161133, "pose_gradient_norm": 0.76885986328125, "translation_update_mean": 0.03049120306968689, "rotation_update_deg_mean": 0.3258531093597412, "pose_errors": {"raw": {"rotation_deg_mean": 0.6222674373022699, "rotation_deg_max": 1.0314608063322706, "translation_mean": 0.06864218747235512, "translation_radius_pct_mean": 1.7028031003498711}, "aligned": {"rotation_deg_mean": 0.30123726604934586, "rotation_deg_max": 0.6355176347120303, "translation_mean": 0.02696798688032961, "translation_radius_pct_mean": 0.6689934187851189}, "sim3": {"scale": 0.9820301067844853, "rotation": [[0.99999614445286, -0.0011268869826119114, 0.002537952943481773], [0.0011519763673709473, 0.9999502707400951, -0.009906008139513697], [-0.002526663781338178, 0.009908893608244778, 0.9999477135318614]], "translation": [-0.025621106737482913, 0.021948485875547194, 0.03149354553756378]}}} +{"step": 17000, "train_loss": 0.0077240499667823315, "val_psnr": 17.315053939819336, "pose_gradient_norm": 0.7218828797340393, "translation_update_mean": 0.0339084230363369, "rotation_update_deg_mean": 0.3067236542701721, "pose_errors": {"raw": {"rotation_deg_mean": 0.6218394559673941, "rotation_deg_max": 1.1934750081936856, "translation_mean": 0.0775806999276919, "translation_radius_pct_mean": 1.9245403042755664}, "aligned": {"rotation_deg_mean": 0.3019829990248057, "rotation_deg_max": 0.7445852816847947, "translation_mean": 0.026549596642916454, "translation_radius_pct_mean": 0.6586144343783331}, "sim3": {"scale": 0.979543719136335, "rotation": [[0.9999961726679202, -0.0009602080304605929, 0.002594735063372705], [0.0009872663155860613, 0.9999449405161454, -0.010447068554614226], [-0.002584560839478436, 0.010449590264739553, 0.9999420613758407]], "translation": [-0.025323185995848152, 0.023501355389802366, 0.032192932977929356]}}} +{"step": 18000, "train_loss": 0.0093768872320652, "val_psnr": 17.33830451965332, "pose_gradient_norm": 1.7846733331680298, "translation_update_mean": 0.03378353640437126, "rotation_update_deg_mean": 0.31034937500953674, "pose_errors": {"raw": {"rotation_deg_mean": 0.6277291408173575, "rotation_deg_max": 1.0893786786343995, "translation_mean": 0.07600368668502033, "translation_radius_pct_mean": 1.885419420489696}, "aligned": {"rotation_deg_mean": 0.2643764957074319, "rotation_deg_max": 0.7170460677599034, "translation_mean": 0.023631534123620367, "translation_radius_pct_mean": 0.586226212384777}, "sim3": {"scale": 0.9798332413645583, "rotation": [[0.999996485308731, -0.0017438530410332634, 0.001997084563916957], [0.001763538876200542, 0.9999494553320785, -0.009898318630475765], [-0.0019797224088958375, 0.00990180577720918, 0.9999490161710903]], "translation": [-0.02410614793944127, 0.02001742608786828, 0.03229686331043835]}}} +{"step": 19000, "train_loss": 0.008032577112317085, "val_psnr": 16.98145866394043, "pose_gradient_norm": 0.7643362879753113, "translation_update_mean": 0.03011714480817318, "rotation_update_deg_mean": 0.2853441834449768, "pose_errors": {"raw": {"rotation_deg_mean": 0.6092357665025961, "rotation_deg_max": 0.9866823611538728, "translation_mean": 0.07681854244960415, "translation_radius_pct_mean": 1.9056335041802848}, "aligned": {"rotation_deg_mean": 0.254529313302516, "rotation_deg_max": 0.5622577501856384, "translation_mean": 0.021091738082587463, "translation_radius_pct_mean": 0.5232216268349807}, "sim3": {"scale": 0.9790808314316837, "rotation": [[0.9999983172965244, -0.0007404111724225358, 0.001678450301672699], [0.0007544291477494296, 0.9999647152527824, -0.008366545648191162], [-0.0016721963941056933, 0.008367797841606312, 0.9999635911964511]], "translation": [-0.021676687964084562, 0.013219243090080324, 0.033840438456976596]}}} +{"step": 20000, "train_loss": 0.007953236810863018, "val_psnr": 17.018781661987305, "pose_gradient_norm": 0.9528205990791321, "translation_update_mean": 0.025544418022036552, "rotation_update_deg_mean": 0.2652108371257782, "pose_errors": {"raw": {"rotation_deg_mean": 0.5773239784029935, "rotation_deg_max": 1.2073421662616795, "translation_mean": 0.07501982832743902, "translation_radius_pct_mean": 1.8610128984471206}, "aligned": {"rotation_deg_mean": 0.2362231748798718, "rotation_deg_max": 0.7546467031983163, "translation_mean": 0.01992566986402826, "translation_radius_pct_mean": 0.4942950344448163}, "sim3": {"scale": 0.9793093750088616, "rotation": [[0.9999986121655424, -0.001148506540851568, 0.0012068967290196214], [0.0011590678744549678, 0.9999607230386847, -0.008786861875211532], [-0.0011967575574463043, 0.00878824855572825, 0.9999606664557722]], "translation": [-0.022177568374630863, 0.018571035077279065, 0.0345114997234508]}}} +{"step": 21000, "train_loss": 0.00963606871664524, "val_psnr": 17.15476417541504, "pose_gradient_norm": 0.9309894442558289, "translation_update_mean": 0.026501450687646866, "rotation_update_deg_mean": 0.26310935616493225, "pose_errors": {"raw": {"rotation_deg_mean": 0.5508074289989072, "rotation_deg_max": 0.8944121200095073, "translation_mean": 0.07197025951182737, "translation_radius_pct_mean": 1.7853624067426548}, "aligned": {"rotation_deg_mean": 0.22123207215625698, "rotation_deg_max": 0.48875120360900004, "translation_mean": 0.018804256100259292, "translation_radius_pct_mean": 0.4664761827438873}, "sim3": {"scale": 0.979977002640515, "rotation": [[0.9999999057635406, -0.0001537241206012502, 0.0004060071501826005], [0.00015708704137007098, 0.9999655760287421, -0.008295907495155637], [-0.00040471789271989044, 0.008295970491840644, 0.9999655059435937]], "translation": [-0.01948864639305803, 0.01757059007609304, 0.03474088677416409]}}} +{"step": 22000, "train_loss": 0.010668049566447735, "val_psnr": 16.26295280456543, "pose_gradient_norm": 0.7513595819473267, "translation_update_mean": 0.02254287153482437, "rotation_update_deg_mean": 0.20974604785442352, "pose_errors": {"raw": {"rotation_deg_mean": 0.5419291195210891, "rotation_deg_max": 0.8874854611956027, "translation_mean": 0.0738658348010147, "translation_radius_pct_mean": 1.83238584230369}, "aligned": {"rotation_deg_mean": 0.1993344715693244, "rotation_deg_max": 0.5666871098590632, "translation_mean": 0.017653121067611865, "translation_radius_pct_mean": 0.4379200371038198}, "sim3": {"scale": 0.9794501410790959, "rotation": [[0.9999983905588523, -4.1468546251503886e-05, 0.0017936443526258964], [5.777922155715159e-05, 0.9999586425166036, -0.009094499321710954], [-0.0017931930363435692, 0.009094588320023913, 0.9999570355380388]], "translation": [-0.02634099352359376, 0.023324013924430592, 0.03405169250147555]}}} +{"step": 23000, "train_loss": 0.0070754061453044415, "val_psnr": 16.566076278686523, "pose_gradient_norm": 0.7746976017951965, "translation_update_mean": 0.01954256184399128, "rotation_update_deg_mean": 0.20467506349086761, "pose_errors": {"raw": {"rotation_deg_mean": 0.5358915773880086, "rotation_deg_max": 0.8297974472351526, "translation_mean": 0.07299738225143018, "translation_radius_pct_mean": 1.8108421860130912}, "aligned": {"rotation_deg_mean": 0.19362045912292017, "rotation_deg_max": 0.5317189310028986, "translation_mean": 0.014844251810318666, "translation_radius_pct_mean": 0.36824056656359877}, "sim3": {"scale": 0.9796744306898038, "rotation": [[0.9999998319072607, 5.624910800661235e-05, 0.0005770801397328932], [-5.117482096237759e-05, 0.9999613721631352, -0.008789286817330369], [-0.0005775522379188274, 0.008789255807942266, 0.9999612069554268]], "translation": [-0.02149529498670133, 0.021529175528539432, 0.0335142764288161]}}} +{"step": 24000, "train_loss": 0.00683231744915247, "val_psnr": 16.495201110839844, "pose_gradient_norm": 0.4793543517589569, "translation_update_mean": 0.018576035276055336, "rotation_update_deg_mean": 0.18323440849781036, "pose_errors": {"raw": {"rotation_deg_mean": 0.522070237158156, "rotation_deg_max": 0.8587707958222264, "translation_mean": 0.07586709946742876, "translation_radius_pct_mean": 1.8820311086344423}, "aligned": {"rotation_deg_mean": 0.17366580939428755, "rotation_deg_max": 0.5356553330199911, "translation_mean": 0.014820962748699604, "translation_radius_pct_mean": 0.3676628360484524}, "sim3": {"scale": 0.9786551475433737, "rotation": [[0.9999992110956284, -5.630843643751413e-05, 0.001254845600213182], [6.739016936959249e-05, 0.9999609872533157, -0.008832860801538186], [-0.0012542992806586657, 0.008832938397513194, 0.9999602021743565]], "translation": [-0.023165738909571187, 0.02235244456065027, 0.03427005741436373]}}} +{"step": 25000, "train_loss": 0.007575987838208675, "val_psnr": 17.330385208129883, "pose_gradient_norm": 0.6165017485618591, "translation_update_mean": 0.01709453947842121, "rotation_update_deg_mean": 0.1841718703508377, "pose_errors": {"raw": {"rotation_deg_mean": 0.5230324067470755, "rotation_deg_max": 0.7560848659682837, "translation_mean": 0.07368484635771638, "translation_radius_pct_mean": 1.8278960715996315}, "aligned": {"rotation_deg_mean": 0.16623767375556864, "rotation_deg_max": 0.41284839946808727, "translation_mean": 0.013016196352194288, "translation_radius_pct_mean": 0.3228920918670523}, "sim3": {"scale": 0.9792072438083242, "rotation": [[0.9999987987798418, 0.00011077251974353616, 0.0015460169213329892], [-9.862907639753348e-05, 0.9999691635382039, -0.007852531121164847], [-0.0015468390922997832, 0.007852369206325137, 0.9999679732804783]], "translation": [-0.025355957119306105, 0.017504819936460463, 0.03375604963555645]}}} +{"step": 26000, "train_loss": 0.006341222673654556, "val_psnr": 16.729814529418945, "pose_gradient_norm": 0.8132979273796082, "translation_update_mean": 0.015575912781059742, "rotation_update_deg_mean": 0.1606730818748474, "pose_errors": {"raw": {"rotation_deg_mean": 0.5081639042318625, "rotation_deg_max": 0.7935441859979867, "translation_mean": 0.0726382197853044, "translation_radius_pct_mean": 1.8019324617841743}, "aligned": {"rotation_deg_mean": 0.1567232198563413, "rotation_deg_max": 0.4889398665290325, "translation_mean": 0.01340148154632577, "translation_radius_pct_mean": 0.33244984122272675}, "sim3": {"scale": 0.9794573169376402, "rotation": [[0.9999992343187687, 0.0002724181168739026, 0.0012071247851697996], [-0.000262632380829467, 0.9999671647943037, -0.008099404760605037], [-0.001209291573572084, 0.008099081528986555, 0.999966470684033]], "translation": [-0.022671732655933197, 0.019972958204466117, 0.03386223842917957]}}} +{"step": 27000, "train_loss": 0.007301389705389738, "val_psnr": 16.323421478271484, "pose_gradient_norm": 0.6619847416877747, "translation_update_mean": 0.01623024046421051, "rotation_update_deg_mean": 0.16461287438869476, "pose_errors": {"raw": {"rotation_deg_mean": 0.5168163505210316, "rotation_deg_max": 0.7896333627557024, "translation_mean": 0.07600332851277206, "translation_radius_pct_mean": 1.8854105353297486}, "aligned": {"rotation_deg_mean": 0.1675577146416871, "rotation_deg_max": 0.45074447207006113, "translation_mean": 0.013971656412280422, "translation_radius_pct_mean": 0.346594138851356}, "sim3": {"scale": 0.97862638462446, "rotation": [[0.9999990833688469, -5.390542467340255e-05, 0.001352906379284461], [6.529059065761552e-05, 0.9999645767687244, -0.00841670629666649], [-0.0013524047488415747, 0.008416786913707874, 0.9999636636895581]], "translation": [-0.024271380396831577, 0.02146056893467127, 0.03372454912141176]}}} +{"step": 28000, "train_loss": 0.007209761068224907, "val_psnr": 16.575237274169922, "pose_gradient_norm": 0.7192800641059875, "translation_update_mean": 0.0170731358230114, "rotation_update_deg_mean": 0.15419062972068787, "pose_errors": {"raw": {"rotation_deg_mean": 0.5145716036349332, "rotation_deg_max": 0.7610491332164099, "translation_mean": 0.07596405265134008, "translation_radius_pct_mean": 1.8844362211203969}, "aligned": {"rotation_deg_mean": 0.14887953063532883, "rotation_deg_max": 0.4344157837279661, "translation_mean": 0.01401140802626193, "translation_radius_pct_mean": 0.3475802550289455}, "sim3": {"scale": 0.9785257601588367, "rotation": [[0.9999985908319837, -5.4312688413995e-05, 0.0016779106587595863], [6.8612089764458e-05, 0.9999636739610446, -0.008523265261136748], [-0.001677386785461264, 0.008523368375380713, 0.9999622685707248]], "translation": [-0.025605761217325884, 0.02153933738834074, 0.0344884358755686]}}} +{"step": 29000, "train_loss": 0.00856229942291975, "val_psnr": 16.154367446899414, "pose_gradient_norm": 0.7692005038261414, "translation_update_mean": 0.014500422403216362, "rotation_update_deg_mean": 0.13908825814723969, "pose_errors": {"raw": {"rotation_deg_mean": 0.5188181043614839, "rotation_deg_max": 0.7663595860621332, "translation_mean": 0.07740984033437023, "translation_radius_pct_mean": 1.9203017994151286}, "aligned": {"rotation_deg_mean": 0.1457766369537155, "rotation_deg_max": 0.41814463396497226, "translation_mean": 0.011936621103608101, "translation_radius_pct_mean": 0.29611112599101724}, "sim3": {"scale": 0.9780350261285408, "rotation": [[0.9999990816783514, -0.00010142599168147522, 0.0013514271060854973], [0.00011267501293011972, 0.9999653291270053, -0.008326334623474685], [-0.0013505357441817717, 0.008326479249288067, 0.9999644222653707]], "translation": [-0.02422110431841551, 0.020586172306481743, 0.034069960551334155]}}} +{"step": 29999, "train_loss": 0.005288694519549608, "val_psnr": 17.302873611450195, "pose_gradient_norm": 0.799654483795166, "translation_update_mean": 0.012289087288081646, "rotation_update_deg_mean": 0.12567128241062164, "pose_errors": {"raw": {"rotation_deg_mean": 0.49968487667531386, "rotation_deg_max": 0.716587819713345, "translation_mean": 0.07764574275107872, "translation_radius_pct_mean": 1.9261538181421398}, "aligned": {"rotation_deg_mean": 0.1411148348250654, "rotation_deg_max": 0.40039430157216666, "translation_mean": 0.010652756401885986, "translation_radius_pct_mean": 0.2642623624969542}, "sim3": {"scale": 0.9778926079280034, "rotation": [[0.9999997046164926, -1.3910920194254795e-05, 0.0007684877453841322], [1.9895382042983873e-05, 0.9999696739315537, -0.007787863724835352], [-0.0007683561038214795, 0.007787876713786249, 0.9999693788337676]], "translation": [-0.021889400996748576, 0.019146500998005758, 0.03453764748230892]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-T2.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-T2.jsonl new file mode 100644 index 0000000..db6ee11 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-T2.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421420454978943, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.007315389811992645, "translation_update_mean": 0.010224787518382072, "rotation_update_deg_mean": 0.17987672984600067, "pose_errors": {"raw": {"rotation_deg_mean": 0.1807882338382488, "rotation_deg_max": 0.21914729211599784, "translation_mean": 0.06436512206988816, "translation_radius_pct_mean": 1.5967021659842078}, "aligned": {"rotation_deg_mean": 0.22727079824158022, "rotation_deg_max": 0.3470237763091267, "translation_mean": 0.06376727401045117, "translation_radius_pct_mean": 1.5818713809140574}, "sim3": {"scale": 0.9998873918350186, "rotation": [[0.9999967608477112, -0.0008968967286328128, 0.00238198873686495], [0.0008962120550857998, 0.9999995567887502, 0.0002884896091529372], [-0.0023822464265273297, -0.00028635390767011245, 0.9999971214475575]], "translation": [-0.002499303395281871, 0.0007741562132530938, 0.0015949144872418053]}}} +{"step": 1000, "train_loss": 0.058818649500608444, "val_psnr": 16.90704345703125, "pose_gradient_norm": 1.9712554216384888, "translation_update_mean": 0.35702091455459595, "rotation_update_deg_mean": 4.594473361968994, "pose_errors": {"raw": {"rotation_deg_mean": 4.607440505243753, "rotation_deg_max": 10.543907034479309, "translation_mean": 0.36849964016742826, "translation_radius_pct_mean": 9.141351009648698}, "aligned": {"rotation_deg_mean": 4.61787678017217, "rotation_deg_max": 11.060314042025444, "translation_mean": 0.3674326694236909, "translation_radius_pct_mean": 9.114882723055263}, "sim3": {"scale": 0.9838839075487206, "rotation": [[0.9999315837465417, 0.006657631975752643, 0.009617887637545234], [-0.006568181617956921, 0.9999351614061762, -0.009302256384157869], [-0.009679195026784946, 0.009238447925842825, 0.9999104781246934]], "translation": [-0.05730060322897207, 0.03987765719042944, 0.017036595748970207]}}} +{"step": 2000, "train_loss": 0.04375776648521423, "val_psnr": 16.738842010498047, "pose_gradient_norm": 1.3627474308013916, "translation_update_mean": 0.19392211735248566, "rotation_update_deg_mean": 2.8595306873321533, "pose_errors": {"raw": {"rotation_deg_mean": 3.1919032788001265, "rotation_deg_max": 8.161123577019115, "translation_mean": 0.3054529160431829, "translation_radius_pct_mean": 7.577354271507094}, "aligned": {"rotation_deg_mean": 3.2149743369596666, "rotation_deg_max": 8.510575538616402, "translation_mean": 0.3050834640065583, "translation_radius_pct_mean": 7.568189294449094}, "sim3": {"scale": 0.9839510001656827, "rotation": [[0.999956066470283, 0.002386901694814603, 0.009064647239535564], [-0.0023601630720300323, 0.999992835995046, -0.002959322364614266], [-0.009071645911925325, 0.0029377983054615486, 0.9999545362573056]], "translation": [-0.05415264375046819, 0.022625139149080334, 0.00448575600654344]}}} +{"step": 3000, "train_loss": 0.037335243076086044, "val_psnr": 18.40286636352539, "pose_gradient_norm": 1.2729010581970215, "translation_update_mean": 0.1501084864139557, "rotation_update_deg_mean": 1.9200124740600586, "pose_errors": {"raw": {"rotation_deg_mean": 2.524047075690675, "rotation_deg_max": 6.949158966537273, "translation_mean": 0.24090754908013065, "translation_radius_pct_mean": 5.976180780027531}, "aligned": {"rotation_deg_mean": 2.5701509891009433, "rotation_deg_max": 7.263063479008848, "translation_mean": 0.24254967456492676, "translation_radius_pct_mean": 6.016916899746915}, "sim3": {"scale": 0.9850028906415507, "rotation": [[0.999976756301787, 0.003138354173072696, 0.006052899242616586], [-0.0031024538776963195, 0.9999775964535974, -0.005931388608283152], [-0.0060713784343983754, 0.005912471900149822, 0.9999640898751994]], "translation": [-0.04067809718705728, 0.03666727524762235, 0.0070935241684289]}}} +{"step": 4000, "train_loss": 0.035300735384225845, "val_psnr": 19.145187377929688, "pose_gradient_norm": 1.4200189113616943, "translation_update_mean": 0.167795792222023, "rotation_update_deg_mean": 1.4229016304016113, "pose_errors": {"raw": {"rotation_deg_mean": 2.196737058976025, "rotation_deg_max": 6.578289833490389, "translation_mean": 0.18927321114022727, "translation_radius_pct_mean": 4.695290500066822}, "aligned": {"rotation_deg_mean": 2.2449396681307388, "rotation_deg_max": 6.623983090159266, "translation_mean": 0.18561817634303804, "translation_radius_pct_mean": 4.6046202459021055}, "sim3": {"scale": 0.9903957214024646, "rotation": [[0.999993212882214, 0.0034019403074316184, 0.0014145641205822314], [-0.003390802725794171, 0.9999638091955237, -0.007802740291225869], [-0.0014410573830738206, 0.007797890825232586, 0.9999685576318362]], "translation": [-0.01848478093174233, 0.0428235659442576, 0.005105126212267663]}}} +{"step": 5000, "train_loss": 0.020379384979605675, "val_psnr": 20.259506225585938, "pose_gradient_norm": 1.136294960975647, "translation_update_mean": 0.1383012980222702, "rotation_update_deg_mean": 1.3109171390533447, "pose_errors": {"raw": {"rotation_deg_mean": 1.58304400639613, "rotation_deg_max": 5.132635769663452, "translation_mean": 0.13680014330312124, "translation_radius_pct_mean": 3.393593892075147}, "aligned": {"rotation_deg_mean": 1.5758281523763842, "rotation_deg_max": 5.027111594990098, "translation_mean": 0.13418560874681693, "translation_radius_pct_mean": 3.328735272144949}, "sim3": {"scale": 0.9908174561586339, "rotation": [[0.9999967900242419, 0.0024195412650248266, 0.0007521710438215405], [-0.002414896515177378, 0.9999783818466423, -0.006115890302485308], [-0.0007669524322317432, 0.006114054255393134, 0.9999810148820468]], "translation": [-0.015644204739794776, 0.024025146401719627, 0.0042576035639996235]}}} +{"step": 6000, "train_loss": 0.015177671797573566, "val_psnr": 21.30647850036621, "pose_gradient_norm": 0.8268149495124817, "translation_update_mean": 0.10988080501556396, "rotation_update_deg_mean": 1.0047023296356201, "pose_errors": {"raw": {"rotation_deg_mean": 1.202078788599818, "rotation_deg_max": 3.1618494984654264, "translation_mean": 0.09605436040706423, "translation_radius_pct_mean": 2.3828154190037365}, "aligned": {"rotation_deg_mean": 1.1936340100717024, "rotation_deg_max": 3.1494421159156527, "translation_mean": 0.09402015738812299, "translation_radius_pct_mean": 2.332353052710569}, "sim3": {"scale": 0.9941862682250497, "rotation": [[0.9999955927712703, 0.002239197267711756, 0.0019494700901986617], [-0.0022328113756592636, 0.9999921550928558, -0.003271743588348675], [-0.001956780876090625, 0.003267376370032435, 0.9999927476038324]], "translation": [-0.02026739098707736, 0.01109050604804973, 0.004360380181148038]}}} +{"step": 7000, "train_loss": 0.019672688096761703, "val_psnr": 19.774341583251953, "pose_gradient_norm": 1.2514432668685913, "translation_update_mean": 0.09192878752946854, "rotation_update_deg_mean": 0.840943455696106, "pose_errors": {"raw": {"rotation_deg_mean": 0.9557996777049348, "rotation_deg_max": 2.538413392294163, "translation_mean": 0.08398322405954078, "translation_radius_pct_mean": 2.0833673804984487}, "aligned": {"rotation_deg_mean": 0.9261209921919518, "rotation_deg_max": 2.4222407991174038, "translation_mean": 0.07808068519620502, "translation_radius_pct_mean": 1.9369434122868936}, "sim3": {"scale": 0.9906435703601374, "rotation": [[0.9999948229112354, 0.003179127547148514, -0.0004972914291339111], [-0.003180774025888007, 0.9999893437460883, -0.0033459035944880186], [0.0004866490755828365, 0.003347468044109183, 0.9999942787988192]], "translation": [-0.003966652211572996, 0.006563319899124578, 0.00838913025615362]}}} +{"step": 8000, "train_loss": 0.013127364218235016, "val_psnr": 20.01539421081543, "pose_gradient_norm": 1.091381311416626, "translation_update_mean": 0.0728093832731247, "rotation_update_deg_mean": 0.6850943565368652, "pose_errors": {"raw": {"rotation_deg_mean": 0.7544487048156141, "rotation_deg_max": 2.245567998735201, "translation_mean": 0.06241030366986184, "translation_radius_pct_mean": 1.5482090897178609}, "aligned": {"rotation_deg_mean": 0.7536256871097451, "rotation_deg_max": 2.4629737593394796, "translation_mean": 0.06073600377889117, "translation_radius_pct_mean": 1.5066748212126722}, "sim3": {"scale": 0.9966369351396908, "rotation": [[0.9999928978642352, 0.003717186602479895, -0.0006218881331830445], [-0.0037166109978738373, 0.9999926663153136, 0.0009241851975298844], [0.0006253189412861286, -0.0009218673175658628, 0.9999993795682411]], "translation": [0.001878188995862451, -0.00964576707279724, 0.01054938139386552]}}} +{"step": 9000, "train_loss": 0.014514900743961334, "val_psnr": 21.598241806030273, "pose_gradient_norm": 0.899438738822937, "translation_update_mean": 0.06069795414805412, "rotation_update_deg_mean": 0.5700399875640869, "pose_errors": {"raw": {"rotation_deg_mean": 0.6746622491855478, "rotation_deg_max": 2.065282711556342, "translation_mean": 0.05580340155118276, "translation_radius_pct_mean": 1.3843120196262968}, "aligned": {"rotation_deg_mean": 0.6437788299187414, "rotation_deg_max": 2.2558269593032367, "translation_mean": 0.05110268535921707, "translation_radius_pct_mean": 1.2677016026175483}, "sim3": {"scale": 0.9937363270901637, "rotation": [[0.9999902311530795, 0.0034357988863554954, -0.00278080643407682], [-0.0034370985908639727, 0.9999939860943646, -0.0004627400789016403], [0.002779199828721571, 0.00047229346434066703, 0.9999960264857035]], "translation": [0.00986508132343522, -0.004526309339061008, 0.011444239726396077]}}} +{"step": 10000, "train_loss": 0.013144888915121555, "val_psnr": 21.215770721435547, "pose_gradient_norm": 0.8193524479866028, "translation_update_mean": 0.059867843985557556, "rotation_update_deg_mean": 0.5820962190628052, "pose_errors": {"raw": {"rotation_deg_mean": 0.6265294873925081, "rotation_deg_max": 1.7654299850524768, "translation_mean": 0.05736043805925999, "translation_radius_pct_mean": 1.422937341617669}, "aligned": {"rotation_deg_mean": 0.591721639893081, "rotation_deg_max": 2.0466510067152566, "translation_mean": 0.050737764003023315, "translation_radius_pct_mean": 1.2586490179084602}, "sim3": {"scale": 0.992286891645505, "rotation": [[0.999989412166391, 0.001889764945499653, -0.004195753039229245], [-0.0019030379741947795, 0.9999931910004822, -0.0031617082632554635], [0.004189749584904919, 0.0031696594649784776, 0.9999861995334199]], "translation": [0.017730965300145785, 0.00552067922951556, 0.011941512196514292]}}} +{"step": 11000, "train_loss": 0.009773286059498787, "val_psnr": 20.991241455078125, "pose_gradient_norm": 0.620681643486023, "translation_update_mean": 0.052302286028862, "rotation_update_deg_mean": 0.5116665959358215, "pose_errors": {"raw": {"rotation_deg_mean": 0.507829606939227, "rotation_deg_max": 1.5383568764106157, "translation_mean": 0.05229282290458282, "translation_radius_pct_mean": 1.29722528151994}, "aligned": {"rotation_deg_mean": 0.47888484046743995, "rotation_deg_max": 1.6870815955108887, "translation_mean": 0.041338654429073814, "translation_radius_pct_mean": 1.0254858057148637}, "sim3": {"scale": 0.9903262338093565, "rotation": [[0.9999927494778547, 0.002432917628509685, -0.0029294886129342455], [-0.002434511685429715, 0.9999968903940183, -0.0005406987578861855], [0.0029281640278392986, 0.0005478267117984235, 0.9999955628608148]], "translation": [0.013772168219045589, 0.00015021440368409578, 0.011419128548502577]}}} +{"step": 12000, "train_loss": 0.009727605618536472, "val_psnr": 21.07241439819336, "pose_gradient_norm": 0.9311031699180603, "translation_update_mean": 0.04703661799430847, "rotation_update_deg_mean": 0.48463699221611023, "pose_errors": {"raw": {"rotation_deg_mean": 0.50363802428909, "rotation_deg_max": 1.1642972503814337, "translation_mean": 0.05659061515734832, "translation_radius_pct_mean": 1.403840385760552}, "aligned": {"rotation_deg_mean": 0.45369247730811657, "rotation_deg_max": 1.2735754615438974, "translation_mean": 0.03715843660171301, "translation_radius_pct_mean": 0.921787364003132}, "sim3": {"scale": 0.9873851217529184, "rotation": [[0.9999927512114185, 0.002317293134987122, -0.003021204585061535], [-0.002326968430984969, 0.9999921633237256, -0.0032028907343660444], [0.003013758872148374, 0.003209897764981316, 0.999990306859921]], "translation": [0.01326244125194087, 0.010842264706328299, 0.015105598056260217]}}} +{"step": 13000, "train_loss": 0.012883361428976059, "val_psnr": 19.60486602783203, "pose_gradient_norm": 1.1570719480514526, "translation_update_mean": 0.044510237872600555, "rotation_update_deg_mean": 0.43268463015556335, "pose_errors": {"raw": {"rotation_deg_mean": 0.4354894882824233, "rotation_deg_max": 0.9644759423828831, "translation_mean": 0.06142720930603609, "translation_radius_pct_mean": 1.5238215200278191}, "aligned": {"rotation_deg_mean": 0.3915865893883002, "rotation_deg_max": 1.0679272489044567, "translation_mean": 0.03629688274403933, "translation_radius_pct_mean": 0.9004148431965076}, "sim3": {"scale": 0.9854323549901991, "rotation": [[0.999990448002846, 0.0027358581159421616, -0.003408662998369718], [-0.0027425110288179498, 0.9999943407346753, -0.0019486230726747152], [0.0034033125515930745, 0.001957952755299253, 0.9999922919126352]], "translation": [0.015387917441826493, 0.006332208961922436, 0.01705660701409606]}}} +{"step": 14000, "train_loss": 0.010966246947646141, "val_psnr": 19.91986656188965, "pose_gradient_norm": 0.7476890087127686, "translation_update_mean": 0.044755056500434875, "rotation_update_deg_mean": 0.40733298659324646, "pose_errors": {"raw": {"rotation_deg_mean": 0.40434032882187637, "rotation_deg_max": 1.1051086068752762, "translation_mean": 0.06751457169532941, "translation_radius_pct_mean": 1.6748303956353527}, "aligned": {"rotation_deg_mean": 0.3910092825264168, "rotation_deg_max": 1.1939097911707395, "translation_mean": 0.030576435194360527, "translation_radius_pct_mean": 0.7585080045354452}, "sim3": {"scale": 0.9829028421074412, "rotation": [[0.9999974634538963, 0.0015354447533195228, -0.0016478759612127934], [-0.0015339603117431556, 0.9999984169435694, 0.0009017073349762596], [0.0016492578743284997, -0.0008991772714307786, 0.9999982357127944]], "translation": [0.008546704570707608, -0.003272043645036915, 0.01581509156455585]}}} +{"step": 15000, "train_loss": 0.010194184258580208, "val_psnr": 19.67127799987793, "pose_gradient_norm": 0.846569299697876, "translation_update_mean": 0.03678678721189499, "rotation_update_deg_mean": 0.3762495219707489, "pose_errors": {"raw": {"rotation_deg_mean": 0.37676218624619606, "rotation_deg_max": 1.0414271755352682, "translation_mean": 0.07277063735478084, "translation_radius_pct_mean": 1.805217337400006}, "aligned": {"rotation_deg_mean": 0.32891635475109793, "rotation_deg_max": 1.1330609213526008, "translation_mean": 0.0274236318381625, "translation_radius_pct_mean": 0.6802965790634697}, "sim3": {"scale": 0.981602944977526, "rotation": [[0.9999959648834712, 0.0017107016488237079, -0.002267976332050582], [-0.001711944194182037, 0.9999983855439535, -0.0005460371428125546], [0.0022670385638620455, 0.0005499175884032597, 0.9999972790596948]], "translation": [0.009986294669396711, 0.0051051471586746194, 0.014645876561865556]}}} +{"step": 16000, "train_loss": 0.010363933630287647, "val_psnr": 20.696041107177734, "pose_gradient_norm": 0.9244236946105957, "translation_update_mean": 0.036176007241010666, "rotation_update_deg_mean": 0.3637642562389374, "pose_errors": {"raw": {"rotation_deg_mean": 0.3814325713909879, "rotation_deg_max": 1.051035186684684, "translation_mean": 0.06851061075097191, "translation_radius_pct_mean": 1.699539083608047}, "aligned": {"rotation_deg_mean": 0.3344037165246997, "rotation_deg_max": 0.9345501904380438, "translation_mean": 0.029956523357171597, "translation_radius_pct_mean": 0.7431298845019888}, "sim3": {"scale": 0.9831291987504316, "rotation": [[0.9999956663652149, 0.002019573699349526, -0.0021420954373760374], [-0.0020206378359815583, 0.9999978361321866, -0.0004947258641418722], [0.002141091666820944, 0.0004990521192696457, 0.9999975833338086]], "translation": [0.007898484625208924, 0.003715162034268124, 0.01652403423983584]}}} +{"step": 17000, "train_loss": 0.007227683439850807, "val_psnr": 19.794466018676758, "pose_gradient_norm": 0.8934476375579834, "translation_update_mean": 0.03259627893567085, "rotation_update_deg_mean": 0.2883283793926239, "pose_errors": {"raw": {"rotation_deg_mean": 0.33527326649423067, "rotation_deg_max": 0.9834846353999772, "translation_mean": 0.0671468739582248, "translation_radius_pct_mean": 1.6657089373924097}, "aligned": {"rotation_deg_mean": 0.289856040424102, "rotation_deg_max": 0.9273586165956805, "translation_mean": 0.0271655176481612, "translation_radius_pct_mean": 0.673893554055627}, "sim3": {"scale": 0.9826244550375297, "rotation": [[0.9999958532008636, 0.0022034191514519468, -0.0018543260555869221], [-0.002204117319412644, 0.9999975007870692, -0.0003745483380062646], [0.0018534961342502405, 0.00037863393700444915, 0.9999982105926096]], "translation": [0.00912531061773536, 0.003263444297502735, 0.01858461040713255]}}} +{"step": 18000, "train_loss": 0.008725091814994812, "val_psnr": 21.07590675354004, "pose_gradient_norm": 1.1623343229293823, "translation_update_mean": 0.0323011577129364, "rotation_update_deg_mean": 0.29451414942741394, "pose_errors": {"raw": {"rotation_deg_mean": 0.33246942072974534, "rotation_deg_max": 0.7696884103409726, "translation_mean": 0.06509205188225868, "translation_radius_pct_mean": 1.6147350752463112}, "aligned": {"rotation_deg_mean": 0.27845960147938115, "rotation_deg_max": 0.6175252010511143, "translation_mean": 0.022477340927630988, "translation_radius_pct_mean": 0.5575942030490465}, "sim3": {"scale": 0.982828291228875, "rotation": [[0.9999951213085926, 0.0021017294870375627, -0.002310863945889177], [-0.002103733708913209, 0.999997412849741, -0.0008652157570057093], [0.002309039517867756, 0.0008700729782646807, 0.9999969556501245]], "translation": [0.009761988201179295, 0.004011287123454221, 0.01881920811272053]}}} +{"step": 19000, "train_loss": 0.007991626858711243, "val_psnr": 19.552465438842773, "pose_gradient_norm": 0.9379283785820007, "translation_update_mean": 0.02640819549560547, "rotation_update_deg_mean": 0.2673793435096741, "pose_errors": {"raw": {"rotation_deg_mean": 0.25720359649308877, "rotation_deg_max": 0.6145314367701195, "translation_mean": 0.06644104871119093, "translation_radius_pct_mean": 1.6481995679621515}, "aligned": {"rotation_deg_mean": 0.20857852128540252, "rotation_deg_max": 0.5606774632062017, "translation_mean": 0.018186301743652714, "translation_radius_pct_mean": 0.4511466218273129}, "sim3": {"scale": 0.9823320021156151, "rotation": [[0.9999972725667141, 0.0014310646998879132, -0.0018457824784478634], [-0.001433158372242864, 0.9999983306417944, -0.0011334772624238616], [0.0018441573178773346, 0.0011361194695526185, 0.9999976541554179]], "translation": [0.008898470236760991, 0.006977348734940561, 0.01745268043717685]}}} +{"step": 20000, "train_loss": 0.007420756854116917, "val_psnr": 20.048480987548828, "pose_gradient_norm": 0.923403263092041, "translation_update_mean": 0.02236965112388134, "rotation_update_deg_mean": 0.23651936650276184, "pose_errors": {"raw": {"rotation_deg_mean": 0.2770369786274437, "rotation_deg_max": 0.6213248123332107, "translation_mean": 0.06493256908030894, "translation_radius_pct_mean": 1.6107787938454325}, "aligned": {"rotation_deg_mean": 0.22317293028299134, "rotation_deg_max": 0.7197944300355991, "translation_mean": 0.019274324478017534, "translation_radius_pct_mean": 0.4781371440345737}, "sim3": {"scale": 0.9825524433773757, "rotation": [[0.9999977809323932, 0.0013563947180343368, -0.0016119316546897523], [-0.0013595380093639287, 0.9999971735561203, -0.0019505220255492245], [0.001609281420882437, 0.0019527091795621511, 0.999996798564961]], "translation": [0.007656533814612065, 0.010687584514839803, 0.01893837485066374]}}} +{"step": 21000, "train_loss": 0.008383436128497124, "val_psnr": 18.967296600341797, "pose_gradient_norm": 0.8299360275268555, "translation_update_mean": 0.021962178871035576, "rotation_update_deg_mean": 0.20692658424377441, "pose_errors": {"raw": {"rotation_deg_mean": 0.26065016625291393, "rotation_deg_max": 0.5645621791048276, "translation_mean": 0.06852609771070949, "translation_radius_pct_mean": 1.69992326779604}, "aligned": {"rotation_deg_mean": 0.21280320515195772, "rotation_deg_max": 0.5767212159596964, "translation_mean": 0.016285584911301543, "translation_radius_pct_mean": 0.4039956402779815}, "sim3": {"scale": 0.9816216326913322, "rotation": [[0.9999967445035035, 0.0012397463438784102, -0.0022302491782598076], [-0.001242569499531135, 0.9999984280135515, -0.001264907690036339], [0.002228677507654373, 0.0012676748117390144, 0.999996712993166]], "translation": [0.010682807603444255, 0.007226175512947533, 0.018729746781057433]}}} +{"step": 22000, "train_loss": 0.009920023381710052, "val_psnr": 19.07282066345215, "pose_gradient_norm": 1.1710574626922607, "translation_update_mean": 0.021879257634282112, "rotation_update_deg_mean": 0.20735308527946472, "pose_errors": {"raw": {"rotation_deg_mean": 0.236097225391491, "rotation_deg_max": 0.5135541324708184, "translation_mean": 0.06759387369817331, "translation_radius_pct_mean": 1.676797636209685}, "aligned": {"rotation_deg_mean": 0.20973887990720577, "rotation_deg_max": 0.5528864304610404, "translation_mean": 0.017796377529609927, "translation_radius_pct_mean": 0.4414737925509885}, "sim3": {"scale": 0.9816394600809158, "rotation": [[0.9999978539148022, 0.0010933577291984803, -0.0017597541493624984], [-0.0010936787584041488, 0.9999993854663425, -0.00018147647684467092], [0.0017595546492256715, 0.00018340069311384102, 0.9999984351645872]], "translation": [0.008395486390809226, 0.0036155887499646627, 0.020066624179720716]}}} +{"step": 23000, "train_loss": 0.007159557193517685, "val_psnr": 20.702533721923828, "pose_gradient_norm": 0.8497782945632935, "translation_update_mean": 0.020366868004202843, "rotation_update_deg_mean": 0.19875112175941467, "pose_errors": {"raw": {"rotation_deg_mean": 0.21658922386641788, "rotation_deg_max": 0.5992465176207251, "translation_mean": 0.06736499060676258, "translation_radius_pct_mean": 1.6711197455126727}, "aligned": {"rotation_deg_mean": 0.1812172104541243, "rotation_deg_max": 0.4987671322713003, "translation_mean": 0.015240900788142673, "translation_radius_pct_mean": 0.37808021669802}, "sim3": {"scale": 0.9817232672392282, "rotation": [[0.9999987567493526, 0.0008277261219666983, -0.0013421509663344331], [-0.0008289216839201925, 0.999999259976558, -0.0008904690774232974], [0.0013414129085951145, 0.0008915805083860966, 0.999998702846961]], "translation": [0.007625878436695599, 0.005818859460184525, 0.019356177036810696]}}} +{"step": 24000, "train_loss": 0.006579548120498657, "val_psnr": 18.388669967651367, "pose_gradient_norm": 0.7748955488204956, "translation_update_mean": 0.020116586238145828, "rotation_update_deg_mean": 0.19606338441371918, "pose_errors": {"raw": {"rotation_deg_mean": 0.20908669379678244, "rotation_deg_max": 0.4445494440841507, "translation_mean": 0.06483958799222254, "translation_radius_pct_mean": 1.6084722169297248}, "aligned": {"rotation_deg_mean": 0.18051249973825403, "rotation_deg_max": 0.43704839629428444, "translation_mean": 0.016587491860631055, "translation_radius_pct_mean": 0.41148502994148123}, "sim3": {"scale": 0.9825241318544264, "rotation": [[0.9999993360577116, 0.0007874518661659226, -0.0008413106999033364], [-0.0007883663568139069, 0.9999990982313286, -0.0010872051401329948], [0.0008404538195192654, 0.0010878676793429486, 0.9999990550901978]], "translation": [0.006307817214554534, 0.00684878480644259, 0.018826350423972293]}}} +{"step": 25000, "train_loss": 0.007360619958490133, "val_psnr": 19.450368881225586, "pose_gradient_norm": 0.9197928309440613, "translation_update_mean": 0.019363028928637505, "rotation_update_deg_mean": 0.18668802082538605, "pose_errors": {"raw": {"rotation_deg_mean": 0.2111657063694087, "rotation_deg_max": 0.5113697261397094, "translation_mean": 0.0672793170916183, "translation_radius_pct_mean": 1.6689944471709746}, "aligned": {"rotation_deg_mean": 0.17909515769180723, "rotation_deg_max": 0.45066182615223066, "translation_mean": 0.015021312213898302, "translation_radius_pct_mean": 0.3726328945948992}, "sim3": {"scale": 0.9818035013222838, "rotation": [[0.9999987870043758, 0.0006535548203259808, -0.0014138089946107387], [-0.0006543990487547208, 0.9999996078254005, -0.0005967503083455547], [0.001413418431110125, 0.0005976747797512211, 0.9999988225159053]], "translation": [0.008053559014971234, 0.0061242879956061175, 0.019352766880706973]}}} +{"step": 26000, "train_loss": 0.007062799297273159, "val_psnr": 18.86589813232422, "pose_gradient_norm": 0.7395929098129272, "translation_update_mean": 0.018046323210000992, "rotation_update_deg_mean": 0.16326430439949036, "pose_errors": {"raw": {"rotation_deg_mean": 0.19829305961770052, "rotation_deg_max": 0.43064617444918113, "translation_mean": 0.07141967779411713, "translation_radius_pct_mean": 1.7717041553023065}, "aligned": {"rotation_deg_mean": 0.16552885434043943, "rotation_deg_max": 0.42676022185615947, "translation_mean": 0.01411588608821901, "translation_radius_pct_mean": 0.35017203676507846}, "sim3": {"scale": 0.9807098959678907, "rotation": [[0.9999989814078069, 0.000946634878986555, -0.0010682067941850276], [-0.0009473842765198177, 0.9999993053488619, -0.0007012594567433996], [0.001067542215493081, 0.0007022707447669546, 0.999999183584376]], "translation": [0.007265367240877563, 0.007239574079944092, 0.018758500669141753]}}} +{"step": 27000, "train_loss": 0.007369766011834145, "val_psnr": 18.552030563354492, "pose_gradient_norm": 0.835211455821991, "translation_update_mean": 0.01617947593331337, "rotation_update_deg_mean": 0.15538300573825836, "pose_errors": {"raw": {"rotation_deg_mean": 0.1930549561995803, "rotation_deg_max": 0.45983946367679285, "translation_mean": 0.069648317757615, "translation_radius_pct_mean": 1.727762120919931}, "aligned": {"rotation_deg_mean": 0.16666072439408905, "rotation_deg_max": 0.41480192213439965, "translation_mean": 0.014042623581596645, "translation_radius_pct_mean": 0.3483546176528713}, "sim3": {"scale": 0.9811760250275547, "rotation": [[0.9999987938573592, 0.000998182716149582, -0.00118992230452985], [-0.0009987029717231837, 0.9999994059407655, -0.0004367041218621513], [0.0011894856871391092, 0.00043789197407629433, 0.9999991966868859]], "translation": [0.007133187006052588, 0.006141126770243727, 0.018624036827296298]}}} +{"step": 28000, "train_loss": 0.008344464004039764, "val_psnr": 18.3360652923584, "pose_gradient_norm": 0.9578006267547607, "translation_update_mean": 0.01549332495778799, "rotation_update_deg_mean": 0.14806805551052094, "pose_errors": {"raw": {"rotation_deg_mean": 0.18805941079911787, "rotation_deg_max": 0.4140167539677771, "translation_mean": 0.06959058491299364, "translation_radius_pct_mean": 1.7263299453084986}, "aligned": {"rotation_deg_mean": 0.16275182268444474, "rotation_deg_max": 0.3889376170815103, "translation_mean": 0.013119453572426278, "translation_radius_pct_mean": 0.3254535882473265}, "sim3": {"scale": 0.9811167794439538, "rotation": [[0.9999989483854967, 0.0011974603611537764, -0.0008181177072352167], [-0.0011978898198550007, 0.999999144902433, -0.0005246469109937924], [0.0008174887637854209, 0.0005256263741403675, 0.9999995277144047]], "translation": [0.006197808627865342, 0.006506621895399883, 0.018852259436408225]}}} +{"step": 29000, "train_loss": 0.008617490530014038, "val_psnr": 18.367782592773438, "pose_gradient_norm": 0.8613128662109375, "translation_update_mean": 0.014675085432827473, "rotation_update_deg_mean": 0.13379377126693726, "pose_errors": {"raw": {"rotation_deg_mean": 0.17944634509323115, "rotation_deg_max": 0.38359351402884884, "translation_mean": 0.06843719322966012, "translation_radius_pct_mean": 1.697717819054669}, "aligned": {"rotation_deg_mean": 0.13760447340354381, "rotation_deg_max": 0.3971195685162729, "translation_mean": 0.011475077117503476, "translation_radius_pct_mean": 0.2846616288315144}, "sim3": {"scale": 0.9813437923923324, "rotation": [[0.9999993060128839, 0.0007094581841295634, -0.000940554535923231], [-0.0007105100685918912, 0.9999991220614659, -0.0011185042417921189], [0.0009397601781859119, 0.0011191717390323975, 0.9999989321521419]], "translation": [0.006215856612354909, 0.008510467702539229, 0.018836097490881887]}}} +{"step": 29999, "train_loss": 0.004682180937379599, "val_psnr": 20.897350311279297, "pose_gradient_norm": 0.8610110282897949, "translation_update_mean": 0.013521756045520306, "rotation_update_deg_mean": 0.12465907633304596, "pose_errors": {"raw": {"rotation_deg_mean": 0.17372837416469378, "rotation_deg_max": 0.40465293728212276, "translation_mean": 0.06841056761978315, "translation_radius_pct_mean": 1.6970573189640292}, "aligned": {"rotation_deg_mean": 0.14094812948916072, "rotation_deg_max": 0.33459584615140214, "translation_mean": 0.011468739024361891, "translation_radius_pct_mean": 0.2845044000914463}, "sim3": {"scale": 0.9814688395956044, "rotation": [[0.9999985752741747, 0.0009556146247559204, -0.00139149211631727], [-0.0009564027269726535, 0.9999993825723914, -0.0005658168080513961], [0.0013909505543549675, 0.0005671468287721166, 0.9999988717998783]], "translation": [0.00828848297800322, 0.005892377198535567, 0.018652796142563766]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_SV100-T5.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_SV100-T5.jsonl new file mode 100644 index 0000000..5730d81 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_SV100-T5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34214335680007935, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.007516815792769194, "translation_update_mean": 0.0102730393409729, "rotation_update_deg_mean": 0.1766962707042694, "pose_errors": {"raw": {"rotation_deg_mean": 0.17768517174627793, "rotation_deg_max": 0.21604793368570407, "translation_mean": 0.1598228383463925, "translation_radius_pct_mean": 3.96471666571753}, "aligned": {"rotation_deg_mean": 0.4133433557455446, "rotation_deg_max": 0.5738583342652596, "translation_mean": 0.15813202105492427, "translation_radius_pct_mean": 3.9227726509351224}, "sim3": {"scale": 0.9982578157100137, "rotation": [[0.999978584596097, -0.0022488049723644564, 0.006145992627911876], [0.0022439618091549735, 0.999997166458673, 0.0007948018768728559], [-0.006147762567400368, -0.0007809934831332677, 0.9999807973479251]], "translation": [-0.0064139538447176014, 0.0036577931798275204, 0.006126904164140523]}}} +{"step": 1000, "train_loss": 0.05811770260334015, "val_psnr": 16.78379249572754, "pose_gradient_norm": 2.0117716789245605, "translation_update_mean": 0.38939324021339417, "rotation_update_deg_mean": 4.264963150024414, "pose_errors": {"raw": {"rotation_deg_mean": 4.274580738621682, "rotation_deg_max": 10.816128928049356, "translation_mean": 0.4032625479523125, "translation_radius_pct_mean": 10.003712617473587}, "aligned": {"rotation_deg_mean": 4.2667822937421125, "rotation_deg_max": 11.633878320159269, "translation_mean": 0.39991377527148814, "translation_radius_pct_mean": 9.920639791369798}, "sim3": {"scale": 0.9860944570951536, "rotation": [[0.9998964004907726, 0.005735080761690133, 0.013202163998895046], [-0.005826209011229874, 0.9999593978419833, 0.006874442236046887], [-0.013162202481131084, -0.006950648614063058, 0.9998892163183344]], "translation": [-0.018227057513779343, -0.042419953058812465, 0.04418609074863822]}}} +{"step": 2000, "train_loss": 0.04110828787088394, "val_psnr": 17.25477409362793, "pose_gradient_norm": 1.6160045862197876, "translation_update_mean": 0.20938719809055328, "rotation_update_deg_mean": 2.7993621826171875, "pose_errors": {"raw": {"rotation_deg_mean": 3.3911304121118913, "rotation_deg_max": 9.1224711036254, "translation_mean": 0.3454595045020136, "translation_radius_pct_mean": 8.569795587418742}, "aligned": {"rotation_deg_mean": 3.377301673245357, "rotation_deg_max": 9.40514745138936, "translation_mean": 0.3446108512379889, "translation_radius_pct_mean": 8.548743090953863}, "sim3": {"scale": 0.9893970449858496, "rotation": [[0.9999862406124963, 0.0045159881282043285, 0.002669164084691628], [-0.004515725128327382, 0.9999897985957812, -0.00010455111007087137], [-0.0026696090070417663, 9.249646018272209e-05, 0.9999964323097125]], "translation": [0.013720903533393558, -0.007965439906025315, 0.045745290849449116]}}} +{"step": 3000, "train_loss": 0.033763304352760315, "val_psnr": 18.810150146484375, "pose_gradient_norm": 1.1553945541381836, "translation_update_mean": 0.18071028590202332, "rotation_update_deg_mean": 1.9008113145828247, "pose_errors": {"raw": {"rotation_deg_mean": 2.859907705386311, "rotation_deg_max": 6.958380479085198, "translation_mean": 0.277883713982242, "translation_radius_pct_mean": 6.893446539655616}, "aligned": {"rotation_deg_mean": 2.8377064329127895, "rotation_deg_max": 6.735280054023578, "translation_mean": 0.2729349016966408, "translation_radius_pct_mean": 6.770681616023702}, "sim3": {"scale": 1.003308579972211, "rotation": [[0.9999788517300268, 0.005184077741636044, 0.003927012944365929], [-0.005191362337125677, 0.99998481891103, 0.0018470800085795699], [-0.003917377921673468, -0.001867427493129631, 0.9999905833880514]], "translation": [0.015952153833164118, -0.013030445893705458, 0.021694204485071644]}}} +{"step": 4000, "train_loss": 0.031757332384586334, "val_psnr": 19.309175491333008, "pose_gradient_norm": 0.9722071886062622, "translation_update_mean": 0.14955799281597137, "rotation_update_deg_mean": 1.4098796844482422, "pose_errors": {"raw": {"rotation_deg_mean": 2.3297262528258584, "rotation_deg_max": 6.088121952753071, "translation_mean": 0.20800767678579304, "translation_radius_pct_mean": 5.160035394706366}, "aligned": {"rotation_deg_mean": 2.320188171907327, "rotation_deg_max": 6.077873615246546, "translation_mean": 0.20416618066462774, "translation_radius_pct_mean": 5.064739604377179}, "sim3": {"scale": 1.004680576728655, "rotation": [[0.9999960881397102, 0.0014741741599117715, 0.0023770813666556456], [-0.001473329169612096, 0.9999988508590685, -0.00035718580590939753], [-0.0023776051891395127, 0.00035368218533243366, 0.9999971109470649]], "translation": [0.0173492425272731, 0.011212895116981779, 0.009121760016525204]}}} +{"step": 5000, "train_loss": 0.02415451779961586, "val_psnr": 19.85812759399414, "pose_gradient_norm": 1.0825575590133667, "translation_update_mean": 0.1367049664258957, "rotation_update_deg_mean": 1.2258766889572144, "pose_errors": {"raw": {"rotation_deg_mean": 1.8679931188965788, "rotation_deg_max": 6.301489754588972, "translation_mean": 0.16437288885308055, "translation_radius_pct_mean": 4.077589527070575}, "aligned": {"rotation_deg_mean": 1.8638134073118198, "rotation_deg_max": 6.1164431237500345, "translation_mean": 0.158163654327438, "translation_radius_pct_mean": 3.923557375846931}, "sim3": {"scale": 1.0084084499066905, "rotation": [[0.9999907242257942, 0.00370538791523674, -0.0021958057220487722], [-0.003705001685244174, 0.9999931202690935, 0.00017993608252572273], [0.0021964573484821205, -0.00017179894957854502, 0.9999975730271725]], "translation": [0.03355338728136681, 0.0047345215624521875, 0.0008064680117390033]}}} +{"step": 6000, "train_loss": 0.016435764729976654, "val_psnr": 19.8966064453125, "pose_gradient_norm": 0.8805944919586182, "translation_update_mean": 0.11300297826528549, "rotation_update_deg_mean": 1.1354154348373413, "pose_errors": {"raw": {"rotation_deg_mean": 1.4375289632431905, "rotation_deg_max": 5.2772228678366115, "translation_mean": 0.13127242684100532, "translation_radius_pct_mean": 3.2564681232709862}, "aligned": {"rotation_deg_mean": 1.4291925789454991, "rotation_deg_max": 4.970907070161687, "translation_mean": 0.12282571586817656, "translation_radius_pct_mean": 3.046931012611675}, "sim3": {"scale": 1.0118175826899398, "rotation": [[0.9999849706263165, 0.005449338548461978, -0.0006026863758164773], [-0.005448423566537185, 0.9999840178644651, 0.0015095351205741494], [0.0006109027115239164, -0.0015062287425534387, 0.9999986790355532]], "translation": [0.027423961889192383, -0.007573128412023927, -0.004385989905542065]}}} +{"step": 7000, "train_loss": 0.021133843809366226, "val_psnr": 19.592588424682617, "pose_gradient_norm": 0.9880462288856506, "translation_update_mean": 0.0945051908493042, "rotation_update_deg_mean": 0.9075149297714233, "pose_errors": {"raw": {"rotation_deg_mean": 1.1412559589150277, "rotation_deg_max": 4.241971312592373, "translation_mean": 0.11310044105606712, "translation_radius_pct_mean": 2.8056766366714574}, "aligned": {"rotation_deg_mean": 1.1532707410118592, "rotation_deg_max": 3.8913959024093128, "translation_mean": 0.1026313731981656, "translation_radius_pct_mean": 2.545971026132932}, "sim3": {"scale": 1.0095468876618385, "rotation": [[0.9999733487442943, 0.006104244552137583, 0.004004996825226998], [-0.00612301255582901, 0.9999702523887231, 0.004690741399294668], [-0.00397624425350611, -0.0047151390309930884, 0.9999809782918648]], "translation": [0.007302771131219632, -0.023158163660529335, -0.0031259728380894636]}}} +{"step": 8000, "train_loss": 0.016692493110895157, "val_psnr": 20.04680824279785, "pose_gradient_norm": 0.909806489944458, "translation_update_mean": 0.09404105693101883, "rotation_update_deg_mean": 0.7513825297355652, "pose_errors": {"raw": {"rotation_deg_mean": 0.9514740657180275, "rotation_deg_max": 3.0879143319953677, "translation_mean": 0.08627123280076736, "translation_radius_pct_mean": 2.140125891869569}, "aligned": {"rotation_deg_mean": 0.9442631057928278, "rotation_deg_max": 2.798055832967201, "translation_mean": 0.07812491587319323, "translation_radius_pct_mean": 1.9380406403426929}, "sim3": {"scale": 1.0075776193684864, "rotation": [[0.9999772588647979, 0.005415417473331385, 0.004019329152312181], [-0.005430918318478914, 0.9999778189792622, 0.003855732834971216], [-0.003998359596521871, -0.0038774737995507726, 0.99998448903844]], "translation": [0.0014790605644197097, -0.01411753234088231, 0.0003715928421268444]}}} +{"step": 9000, "train_loss": 0.015239746309816837, "val_psnr": 20.36822509765625, "pose_gradient_norm": 1.1542900800704956, "translation_update_mean": 0.07132354378700256, "rotation_update_deg_mean": 0.7013590931892395, "pose_errors": {"raw": {"rotation_deg_mean": 0.7679924836259334, "rotation_deg_max": 2.1199801958565145, "translation_mean": 0.06935663352319553, "translation_radius_pct_mean": 1.7205263256024714}, "aligned": {"rotation_deg_mean": 0.6977272330016526, "rotation_deg_max": 1.7827732834528416, "translation_mean": 0.05780127467059899, "translation_radius_pct_mean": 1.4338731520307346}, "sim3": {"scale": 1.0081441173883108, "rotation": [[0.9999788371265355, 0.005911305100868453, 0.0027169414911736825], [-0.005924761550835852, 0.9999700891442312, 0.004971721778636879], [-0.0026874708608184902, -0.004987713793200735, 0.9999839499769434]], "translation": [0.004460239460126247, -0.015899952925489597, 0.0035545735613466967]}}} +{"step": 10000, "train_loss": 0.014130132272839546, "val_psnr": 19.873180389404297, "pose_gradient_norm": 1.0513720512390137, "translation_update_mean": 0.059840187430381775, "rotation_update_deg_mean": 0.6106554865837097, "pose_errors": {"raw": {"rotation_deg_mean": 0.5996647419093754, "rotation_deg_max": 2.168603270630813, "translation_mean": 0.05815805851846435, "translation_radius_pct_mean": 1.442723870002748}, "aligned": {"rotation_deg_mean": 0.5310658744252186, "rotation_deg_max": 1.7124115986086221, "translation_mean": 0.04563591303035355, "translation_radius_pct_mean": 1.1320876716914003}, "sim3": {"scale": 1.0061834177581344, "rotation": [[0.9999834958826693, 0.0056746693167836525, 0.0008978253847051293], [-0.005679863814696786, 0.9999665056753521, 0.005892934283737876], [-0.000864354859284488, -0.0058979365519735505, 0.9999822334597286]], "translation": [0.0160339787087862, -0.02241839666169307, 0.004666400900739998]}}} +{"step": 11000, "train_loss": 0.01166589930653572, "val_psnr": 19.558441162109375, "pose_gradient_norm": 0.7769424915313721, "translation_update_mean": 0.05451301112771034, "rotation_update_deg_mean": 0.4887691140174866, "pose_errors": {"raw": {"rotation_deg_mean": 0.5349507335615794, "rotation_deg_max": 1.5143039936145373, "translation_mean": 0.05351624863489175, "translation_radius_pct_mean": 1.327574738658917}, "aligned": {"rotation_deg_mean": 0.47644442595012315, "rotation_deg_max": 1.1677499847390351, "translation_mean": 0.043296069527491786, "translation_radius_pct_mean": 1.0740432981403512}, "sim3": {"scale": 1.0046074545582069, "rotation": [[0.9999856490236334, 0.005108199521464232, 0.0016149440955579198], [-0.005114255002619706, 0.9999798229761323, 0.0037680281834845722], [-0.0015956636710287215, -0.0037762333445208202, 0.9999915969242831]], "translation": [0.005829177557332199, -0.015391056288130131, 0.009324335306061471]}}} +{"step": 12000, "train_loss": 0.00980654451996088, "val_psnr": 19.8756046295166, "pose_gradient_norm": 1.1920709609985352, "translation_update_mean": 0.049977052956819534, "rotation_update_deg_mean": 0.43090906739234924, "pose_errors": {"raw": {"rotation_deg_mean": 0.5078540306302073, "rotation_deg_max": 1.173409757904095, "translation_mean": 0.05073555068313652, "translation_radius_pct_mean": 1.2585941121995357}, "aligned": {"rotation_deg_mean": 0.44548022218397365, "rotation_deg_max": 1.1036544137089985, "translation_mean": 0.03682482976443394, "translation_radius_pct_mean": 0.913511596902244}, "sim3": {"scale": 1.004965628693565, "rotation": [[0.9999862529452972, 0.005155549746070669, 0.0009561523103118421], [-0.005161064528871078, 0.9999695243115149, 0.005857803439045839], [-0.0009259229738790757, -0.005862657675274531, 0.9999823858006841]], "translation": [0.012640747570291655, -0.02582479192414587, 0.009142746239628963]}}} +{"step": 13000, "train_loss": 0.012022984214127064, "val_psnr": 19.477060317993164, "pose_gradient_norm": 0.969437837600708, "translation_update_mean": 0.03718205541372299, "rotation_update_deg_mean": 0.392831027507782, "pose_errors": {"raw": {"rotation_deg_mean": 0.4216230277763425, "rotation_deg_max": 1.1935539857855968, "translation_mean": 0.04491002774433703, "translation_radius_pct_mean": 1.1140806739391056}, "aligned": {"rotation_deg_mean": 0.39740285642390416, "rotation_deg_max": 0.9374849854773067, "translation_mean": 0.03230127720503299, "translation_radius_pct_mean": 0.8012960687207488}, "sim3": {"scale": 1.0027141866959848, "rotation": [[0.9999894697613024, 0.004352946881913879, 0.0014533478430130463], [-0.0043621714265032465, 0.9999699704731749, 0.006405436154038477], [-0.0014254216763309815, -0.0064117084557004204, 0.9999784288512048]], "translation": [0.009819636328040449, -0.0312890375981022, 0.00883565675640785]}}} +{"step": 14000, "train_loss": 0.012926396913826466, "val_psnr": 19.36943817138672, "pose_gradient_norm": 0.9909980893135071, "translation_update_mean": 0.04308215156197548, "rotation_update_deg_mean": 0.390788197517395, "pose_errors": {"raw": {"rotation_deg_mean": 0.3928581854557609, "rotation_deg_max": 1.0078911378234479, "translation_mean": 0.03766043305144488, "translation_radius_pct_mean": 0.9342403632801776}, "aligned": {"rotation_deg_mean": 0.33844304640858636, "rotation_deg_max": 0.9569687667990319, "translation_mean": 0.02993188564142027, "translation_radius_pct_mean": 0.7425186979953846}, "sim3": {"scale": 1.0005146586727725, "rotation": [[0.999995759076812, 0.002601774390043383, 0.001308662834444095], [-0.0026068269315605557, 0.9999890979598827, 0.0038740695308673466], [-0.0012985691124587674, -0.0038774645587572256, 0.9999916394584792]], "translation": [0.010533901865953932, -0.020398578738566264, 0.008284829043824438]}}} +{"step": 15000, "train_loss": 0.009251807816326618, "val_psnr": 19.771259307861328, "pose_gradient_norm": 0.9601683020591736, "translation_update_mean": 0.03867575153708458, "rotation_update_deg_mean": 0.39445555210113525, "pose_errors": {"raw": {"rotation_deg_mean": 0.37367849103241774, "rotation_deg_max": 1.0184514163054244, "translation_mean": 0.03897379822788107, "translation_radius_pct_mean": 0.9668209434842655}, "aligned": {"rotation_deg_mean": 0.33188744971854706, "rotation_deg_max": 0.8808090268029691, "translation_mean": 0.030489103139058747, "translation_radius_pct_mean": 0.7563415628761131}, "sim3": {"scale": 1.001109018734364, "rotation": [[0.9999968505988914, 0.0024413071777120827, -0.0005820752207965421], [-0.0024398245020684365, 0.9999938118389068, 0.002534470416433534], [0.0005882590396405329, -0.0025330422729838552, 0.9999966188183572]], "translation": [0.015101138430421102, -0.01786767511940454, 0.011965997393527328]}}} +{"step": 16000, "train_loss": 0.013024574145674706, "val_psnr": 20.817174911499023, "pose_gradient_norm": 1.0013304948806763, "translation_update_mean": 0.037946730852127075, "rotation_update_deg_mean": 0.37593042850494385, "pose_errors": {"raw": {"rotation_deg_mean": 0.36626226462746375, "rotation_deg_max": 0.8857000543901188, "translation_mean": 0.03799461971731279, "translation_radius_pct_mean": 0.9425305141580855}, "aligned": {"rotation_deg_mean": 0.3129301821673682, "rotation_deg_max": 0.6864586424898753, "translation_mean": 0.02576746930057915, "translation_radius_pct_mean": 0.6392122429208313}, "sim3": {"scale": 1.0016611922929517, "rotation": [[0.9999975806025084, 0.00209733119997658, 0.0006633181493554621], [-0.002100540252399068, 0.9999859121195187, 0.004874760829216913], [-0.0006530848166290313, -0.004876142361705727, 0.999987898284719]], "translation": [0.012283141631447614, -0.026963770042490454, 0.010962146806643425]}}} +{"step": 17000, "train_loss": 0.007797423284500837, "val_psnr": 19.40059471130371, "pose_gradient_norm": 0.6641966104507446, "translation_update_mean": 0.030246490612626076, "rotation_update_deg_mean": 0.3110329806804657, "pose_errors": {"raw": {"rotation_deg_mean": 0.3219844572777658, "rotation_deg_max": 0.7982008319877169, "translation_mean": 0.033053435833841835, "translation_radius_pct_mean": 0.8199548278928167}, "aligned": {"rotation_deg_mean": 0.27719872839460624, "rotation_deg_max": 0.6390067096560221, "translation_mean": 0.023126073311172227, "translation_radius_pct_mean": 0.5736872728457553}, "sim3": {"scale": 1.0001534251537945, "rotation": [[0.9999981422451895, 0.001924347116176644, 0.00011132989723247944], [-0.0019246541125668714, 0.9999941533381989, 0.002826481198708085], [-0.00010589011538064112, -0.0028266902193436238, 0.9999959992968415]], "translation": [0.01644507793211719, -0.019449533640752206, 0.009119714666689926]}}} +{"step": 18000, "train_loss": 0.010108515620231628, "val_psnr": 21.468896865844727, "pose_gradient_norm": 0.9186616539955139, "translation_update_mean": 0.02788488380610943, "rotation_update_deg_mean": 0.28617534041404724, "pose_errors": {"raw": {"rotation_deg_mean": 0.28112590219831746, "rotation_deg_max": 0.5813528688332513, "translation_mean": 0.032858164929065674, "translation_radius_pct_mean": 0.8151107529251463}, "aligned": {"rotation_deg_mean": 0.26071550512710046, "rotation_deg_max": 0.5346112201514486, "translation_mean": 0.02334951669822118, "translation_radius_pct_mean": 0.5792302210854638}, "sim3": {"scale": 0.9996890308840348, "rotation": [[0.9999984889774738, 0.0015367638277920905, 0.0008126498058793194], [-0.0015396567922835813, 0.9999924374160405, 0.003571353761188208], [-0.000807155332870436, -0.003572599566585608, 0.9999932924938069]], "translation": [0.013345345031751388, -0.023035247229316977, 0.009741624212424416]}}} +{"step": 19000, "train_loss": 0.008113191463053226, "val_psnr": 19.321842193603516, "pose_gradient_norm": 0.8099400997161865, "translation_update_mean": 0.027955295518040657, "rotation_update_deg_mean": 0.26155659556388855, "pose_errors": {"raw": {"rotation_deg_mean": 0.2730650607464038, "rotation_deg_max": 0.9558742980663051, "translation_mean": 0.031520116026458635, "translation_radius_pct_mean": 0.7819178448364199}, "aligned": {"rotation_deg_mean": 0.2530379116203467, "rotation_deg_max": 0.6836097594457016, "translation_mean": 0.019693486816939665, "translation_radius_pct_mean": 0.488535281922501}, "sim3": {"scale": 0.9980705866362937, "rotation": [[0.9999973939175638, 0.002215200578003375, 0.0005523083194919388], [-0.002217503782135382, 0.9999887002634061, 0.004204999700493219], [-0.0005429871607865468, -0.004206213487704685, 0.9999910064260786]], "translation": [0.01405594412020511, -0.025648716915015954, 0.009573448564026421]}}} +{"step": 20000, "train_loss": 0.008704018779098988, "val_psnr": 20.139179229736328, "pose_gradient_norm": 0.9848318696022034, "translation_update_mean": 0.025770792737603188, "rotation_update_deg_mean": 0.2644536793231964, "pose_errors": {"raw": {"rotation_deg_mean": 0.2755963769843601, "rotation_deg_max": 0.8686303997288707, "translation_mean": 0.03162846780575592, "translation_radius_pct_mean": 0.7846057216729522}, "aligned": {"rotation_deg_mean": 0.23528924213776073, "rotation_deg_max": 0.6932520303554768, "translation_mean": 0.020964214248927443, "translation_radius_pct_mean": 0.5200581498637342}, "sim3": {"scale": 0.9988934227654036, "rotation": [[0.9999981839959659, 0.0018833343465971396, 0.0002916444912569982], [-0.0018843342060162476, 0.9999922149495414, 0.0034668898036157936], [-0.0002851129081468523, -0.00346743306342087, 0.9999939477909755]], "translation": [0.015181434593588394, -0.02231234835726692, 0.010816493634162594]}}} +{"step": 21000, "train_loss": 0.0074762096628546715, "val_psnr": 19.982149124145508, "pose_gradient_norm": 0.7575321793556213, "translation_update_mean": 0.02541043609380722, "rotation_update_deg_mean": 0.23862770199775696, "pose_errors": {"raw": {"rotation_deg_mean": 0.24824289797219654, "rotation_deg_max": 0.5200231910756655, "translation_mean": 0.03221873176072208, "translation_radius_pct_mean": 0.7992483682661418}, "aligned": {"rotation_deg_mean": 0.21700469540675307, "rotation_deg_max": 0.43268945307855117, "translation_mean": 0.01886554842139525, "translation_radius_pct_mean": 0.4679966581002414}, "sim3": {"scale": 0.998365872574972, "rotation": [[0.9999989149965569, 0.001375123546023722, -0.0005282432599045833], [-0.0013734032974559282, 0.9999937976209605, 0.003243221082989883], [0.0005326998132157344, -0.003242492073048876, 0.9999946012234598]], "translation": [0.019869403789822104, -0.022857637954484727, 0.010137032546202907]}}} +{"step": 22000, "train_loss": 0.009590119123458862, "val_psnr": 18.49359130859375, "pose_gradient_norm": 1.4783694744110107, "translation_update_mean": 0.021211709827184677, "rotation_update_deg_mean": 0.2032080441713333, "pose_errors": {"raw": {"rotation_deg_mean": 0.24657887060342315, "rotation_deg_max": 0.5698465062729332, "translation_mean": 0.02997831359610486, "translation_radius_pct_mean": 0.7436704338023424}, "aligned": {"rotation_deg_mean": 0.21209655328272448, "rotation_deg_max": 0.4970992740609132, "translation_mean": 0.018250801511275682, "translation_radius_pct_mean": 0.4527466641383839}, "sim3": {"scale": 0.9987932735332756, "rotation": [[0.9999984194848098, 0.0017761508850778576, 7.947272484396312e-05], [-0.001776326361161311, 0.9999958565787137, 0.002265279245821902], [-7.544891781742959e-05, -0.002265416835009789, 0.9999974310937109]], "translation": [0.015656260217857265, -0.019450572308596453, 0.010667186508538151]}}} +{"step": 23000, "train_loss": 0.007714340463280678, "val_psnr": 20.456972122192383, "pose_gradient_norm": 0.8880601525306702, "translation_update_mean": 0.020586935803294182, "rotation_update_deg_mean": 0.21204283833503723, "pose_errors": {"raw": {"rotation_deg_mean": 0.2147993120205989, "rotation_deg_max": 0.4377805147425887, "translation_mean": 0.027560514569318708, "translation_radius_pct_mean": 0.6836922217080317}, "aligned": {"rotation_deg_mean": 0.17849518589268473, "rotation_deg_max": 0.4056177071498098, "translation_mean": 0.014924003672878088, "translation_radius_pct_mean": 0.3702189667840106}, "sim3": {"scale": 0.9983583190534062, "rotation": [[0.9999987470307705, 0.001569028532492892, 0.0002099675030050405], [-0.0015693673731861978, 0.9999974507257636, 0.001623461739953471], [-0.0002074197099487633, -0.0016237892219545702, 0.9999986601419144]], "translation": [0.014758059901101517, -0.01772418342114465, 0.010798707211348013]}}} +{"step": 24000, "train_loss": 0.006448408588767052, "val_psnr": 19.140546798706055, "pose_gradient_norm": 0.7007802724838257, "translation_update_mean": 0.019460933282971382, "rotation_update_deg_mean": 0.18794475495815277, "pose_errors": {"raw": {"rotation_deg_mean": 0.20113137983145493, "rotation_deg_max": 0.43644950187968407, "translation_mean": 0.029183064674719265, "translation_radius_pct_mean": 0.7239427360300263}, "aligned": {"rotation_deg_mean": 0.17503298180341292, "rotation_deg_max": 0.40469965711636535, "translation_mean": 0.015062035672112116, "translation_radius_pct_mean": 0.37364311926076343}, "sim3": {"scale": 0.9974826511098032, "rotation": [[0.9999993432042712, 0.0011437060528449877, -7.434709637099811e-05], [-0.001143583579151826, 0.9999980225325089, 0.0016270057372302518], [7.620776566178218e-05, -0.0016269196465013096, 0.9999986736615397]], "translation": [0.016232153105070868, -0.018549563836337088, 0.012584163654699054]}}} +{"step": 25000, "train_loss": 0.007204757072031498, "val_psnr": 19.5839900970459, "pose_gradient_norm": 0.6925159692764282, "translation_update_mean": 0.016829567030072212, "rotation_update_deg_mean": 0.1756754219532013, "pose_errors": {"raw": {"rotation_deg_mean": 0.18485343505424395, "rotation_deg_max": 0.42479797572049216, "translation_mean": 0.0285291082462315, "translation_radius_pct_mean": 0.7077200736276785}, "aligned": {"rotation_deg_mean": 0.15863253735096428, "rotation_deg_max": 0.44153168443412505, "translation_mean": 0.0129127581349571, "translation_radius_pct_mean": 0.3203261055036794}, "sim3": {"scale": 0.9968058049861543, "rotation": [[0.9999996632618439, 0.0008113164942967419, 0.0001234574640248654], [-0.0008115481370994022, 0.9999978884981415, 0.00188795891899623], [-0.00012192547113276737, -0.0018880584749233216, 0.9999982101830862]], "translation": [0.014634689427156455, -0.02011465408347181, 0.012044848580995637]}}} +{"step": 26000, "train_loss": 0.006757386960089207, "val_psnr": 18.542633056640625, "pose_gradient_norm": 0.8504551649093628, "translation_update_mean": 0.019281944260001183, "rotation_update_deg_mean": 0.1548173874616623, "pose_errors": {"raw": {"rotation_deg_mean": 0.1838029784660815, "rotation_deg_max": 0.5494689776586353, "translation_mean": 0.029012809401979665, "translation_radius_pct_mean": 0.7197192225181841}, "aligned": {"rotation_deg_mean": 0.15189422217851334, "rotation_deg_max": 0.4306122963621916, "translation_mean": 0.014693694663257, "translation_radius_pct_mean": 0.3645057034096574}, "sim3": {"scale": 0.9965089797687409, "rotation": [[0.9999994941436846, 0.001001191767593302, -9.65785676763277e-05], [-0.001000995741333104, 0.999997481281316, 0.0020088401006133055], [9.858955859320105e-05, -0.002008742409693916, 0.9999979776149704]], "translation": [0.015352619975047388, -0.019157560444484592, 0.01157432366419231]}}} +{"step": 27000, "train_loss": 0.0066906665451824665, "val_psnr": 18.17082405090332, "pose_gradient_norm": 0.9205455183982849, "translation_update_mean": 0.01684965007007122, "rotation_update_deg_mean": 0.15847468376159668, "pose_errors": {"raw": {"rotation_deg_mean": 0.17981983676446817, "rotation_deg_max": 0.4944270859141689, "translation_mean": 0.02830023731299347, "translation_radius_pct_mean": 0.7020424845378109}, "aligned": {"rotation_deg_mean": 0.1538213903064946, "rotation_deg_max": 0.3874914661782319, "translation_mean": 0.012499087487016496, "translation_radius_pct_mean": 0.3100641997023719}, "sim3": {"scale": 0.9961542980376401, "rotation": [[0.9999997327539284, 0.0006747224842349802, -0.0002814989180834418], [-0.0006741926689947188, 0.9999980093062762, 0.0018779903434174474], [0.00028276548001520064, -0.001877800057024994, 0.999998196953689]], "translation": [0.016190822522023307, -0.018618817561954992, 0.011595324335501811]}}} +{"step": 28000, "train_loss": 0.006065209861844778, "val_psnr": 18.45296859741211, "pose_gradient_norm": 0.834255039691925, "translation_update_mean": 0.015534419566392899, "rotation_update_deg_mean": 0.15064960718154907, "pose_errors": {"raw": {"rotation_deg_mean": 0.16207486124978374, "rotation_deg_max": 0.3346531325654518, "translation_mean": 0.02831959591378397, "translation_radius_pct_mean": 0.702522712319855}, "aligned": {"rotation_deg_mean": 0.1361758357840045, "rotation_deg_max": 0.31220710549883646, "translation_mean": 0.01135181019923543, "translation_radius_pct_mean": 0.281603752934393}, "sim3": {"scale": 0.9961801461563476, "rotation": [[0.9999994257397771, 0.0010630079110543163, -0.0001361407285171455], [-0.0010627746636114209, 0.9999979867739976, 0.0017020452304877841], [0.00013794974198006932, -0.0017018995661541281, 0.9999985422528054]], "translation": [0.01563998376411946, -0.019630071630097876, 0.012313621802791719]}}} +{"step": 29000, "train_loss": 0.010216737166047096, "val_psnr": 18.340024948120117, "pose_gradient_norm": 1.027329683303833, "translation_update_mean": 0.013631150126457214, "rotation_update_deg_mean": 0.1295139342546463, "pose_errors": {"raw": {"rotation_deg_mean": 0.15486832834822642, "rotation_deg_max": 0.37433111202620956, "translation_mean": 0.029596326546504046, "translation_radius_pct_mean": 0.7341945013429387}, "aligned": {"rotation_deg_mean": 0.13046339602166615, "rotation_deg_max": 0.35907185534521047, "translation_mean": 0.011523771108076602, "translation_radius_pct_mean": 0.2858695780704532}, "sim3": {"scale": 0.9955525515554527, "rotation": [[0.9999994513372997, 0.0009982940367300175, -0.0003173863836971626], [-0.0009978024017314369, 0.9999983080414264, 0.0015454140712680543], [0.0003189286243441265, -0.0015450965344609624, 0.9999987554798422]], "translation": [0.015754418118839597, -0.019290293615604984, 0.012294800988704502]}}} +{"step": 29999, "train_loss": 0.005328536033630371, "val_psnr": 20.879959106445312, "pose_gradient_norm": 1.2726666927337646, "translation_update_mean": 0.014034075662493706, "rotation_update_deg_mean": 0.13050709664821625, "pose_errors": {"raw": {"rotation_deg_mean": 0.15153271372571678, "rotation_deg_max": 0.47167189873707477, "translation_mean": 0.029861371091653034, "translation_radius_pct_mean": 0.7407694473029911}, "aligned": {"rotation_deg_mean": 0.12746115740062552, "rotation_deg_max": 0.37180943395610533, "translation_mean": 0.011273932855969141, "translation_radius_pct_mean": 0.27967185381456594}, "sim3": {"scale": 0.9951242410371492, "rotation": [[0.9999994757186905, 0.000912662742294356, -0.0004643372307633438], [-0.0009118928865684436, 0.9999982139073899, 0.0016554858480724722], [0.0004658473016679919, -0.0016550615543144624, 0.9999985218776793]], "translation": [0.016984502903222676, -0.01918207592571962, 0.01227354537308667]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-GT.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-GT.jsonl new file mode 100644 index 0000000..8e6a3b6 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-GT.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421427607536316, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.00765072088688612, "translation_update_mean": 1.022627387214925e-07, "rotation_update_deg_mean": 1.8295930885869893e-06, "pose_errors": {"raw": {"rotation_deg_mean": 0.01709617398411683, "rotation_deg_max": 0.04476778346844528, "translation_mean": 5.850683025978178e-08, "translation_radius_pct_mean": 1.451375832072997e-06}, "aligned": {"rotation_deg_mean": 0.017099767973209907, "rotation_deg_max": 0.04476778346844528, "translation_mean": 4.752235256444071e-07, "translation_radius_pct_mean": 1.1788844770606911e-05}, "sim3": {"scale": 0.9999999721844202, "rotation": [[1.0000000000000002, 1.344059817012404e-10, 1.0102553113724165e-09], [-1.344055468374259e-10, 1.0000000000000004, -4.648055113429024e-09], [-1.0102554950058609e-09, 4.648055122802512e-09, 1.000000000000001]], "translation": [-1.821854433980974e-08, -2.900369899805355e-08, -4.5881587418250547e-07]}}} +{"step": 1000, "train_loss": 0.03634880483150482, "val_psnr": 17.97702407836914, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 2.508875846862793, "translation_update_mean": 0.10679982602596283, "rotation_update_deg_mean": 1.2061495780944824, "pose_errors": {"raw": {"rotation_deg_mean": 1.2063239062701883, "rotation_deg_max": 2.539767539990092, "translation_mean": 0.1067998295990877, "translation_radius_pct_mean": 2.6493777027634238}, "aligned": {"rotation_deg_mean": 1.2169586369754695, "rotation_deg_max": 2.544091346302009, "translation_mean": 0.10658861728092188, "translation_radius_pct_mean": 2.64413817000014}, "sim3": {"scale": 0.997959174326423, "rotation": [[0.9999968263008437, 0.00026492272308914966, 0.002505434930527336], [-0.0002627089641387396, 0.999999574878358, -0.0008838705241761106], [-0.002505668022798858, 0.0008832095188216355, 0.9999964707781253]], "translation": [-0.007792399400556871, 0.012078766126863025, 0.003018992070691784]}}} +{"step": 2000, "train_loss": 0.034218207001686096, "val_psnr": 18.087356567382812, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 2.2655084133148193, "translation_update_mean": 0.1394776552915573, "rotation_update_deg_mean": 1.4463460445404053, "pose_errors": {"raw": {"rotation_deg_mean": 1.246557378890153, "rotation_deg_max": 4.256874944722711, "translation_mean": 0.1401129392584448, "translation_radius_pct_mean": 3.4757742454594753}, "aligned": {"rotation_deg_mean": 1.2615812081107194, "rotation_deg_max": 4.166029029640662, "translation_mean": 0.13622131462279685, "translation_radius_pct_mean": 3.379234919732887}, "sim3": {"scale": 1.0013668727888299, "rotation": [[0.9999969285061308, 0.002328043857999579, 0.0008504058439799406], [-0.002324986944222926, 0.9999908956816954, -0.003578126525030302], [-0.000858728137094181, 0.0035761383523520737, 0.9999932368873656]], "translation": [-0.012745640039562522, 0.026440290520191256, 0.004221891394986965]}}} +{"step": 3000, "train_loss": 0.032533884048461914, "val_psnr": 19.793964385986328, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.3888150453567505, "translation_update_mean": 0.14475223422050476, "rotation_update_deg_mean": 1.3328437805175781, "pose_errors": {"raw": {"rotation_deg_mean": 1.3297578830280283, "rotation_deg_max": 4.701669557008707, "translation_mean": 0.13605611819281582, "translation_radius_pct_mean": 3.375136900664778}, "aligned": {"rotation_deg_mean": 1.3491616218885987, "rotation_deg_max": 4.724695850906998, "translation_mean": 0.1318260000785137, "translation_radius_pct_mean": 3.2702005851841447}, "sim3": {"scale": 1.0071687066993256, "rotation": [[0.9999748753324402, 0.0032061117114920443, -0.00632214770191975], [-0.003209305481545579, 0.9999947276074979, -0.0004950914384394489], [0.006320527050616515, 0.000515368702706558, 0.9999798924642955]], "translation": [0.020636281238239906, 0.008369621110608932, 0.005126781714063]}}} +{"step": 4000, "train_loss": 0.028920549899339676, "val_psnr": 20.221927642822266, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.4191399812698364, "translation_update_mean": 0.14072580635547638, "rotation_update_deg_mean": 1.317765474319458, "pose_errors": {"raw": {"rotation_deg_mean": 1.314315147095774, "rotation_deg_max": 4.330151496026924, "translation_mean": 0.13360850676579195, "translation_radius_pct_mean": 3.314419133940537}, "aligned": {"rotation_deg_mean": 1.343003483925493, "rotation_deg_max": 4.421216768586995, "translation_mean": 0.1333557003599742, "translation_radius_pct_mean": 3.308147778853141}, "sim3": {"scale": 1.0006471893634286, "rotation": [[0.9999910219799014, 0.0005727193513718052, -0.004198565485661926], [-0.0005794296651580528, 0.9999985566096574, -0.0015971975037599867], [0.004197644679574532, 0.0015996159374822277, 0.9999899104531002]], "translation": [0.015092299787845431, 0.007196225396396208, 0.011047994676321782]}}} +{"step": 5000, "train_loss": 0.024275070056319237, "val_psnr": 21.193946838378906, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 1.2240785360336304, "translation_update_mean": 0.14031632244586945, "rotation_update_deg_mean": 1.25553560256958, "pose_errors": {"raw": {"rotation_deg_mean": 1.0810003807718658, "rotation_deg_max": 3.8456683881268034, "translation_mean": 0.11294175833021133, "translation_radius_pct_mean": 2.8017402027157647}, "aligned": {"rotation_deg_mean": 1.1410010354752822, "rotation_deg_max": 3.960045858674245, "translation_mean": 0.11266423333159388, "translation_radius_pct_mean": 2.7948556548091186}, "sim3": {"scale": 0.9982107868112076, "rotation": [[0.9999772819222914, 0.002391251928121518, -0.006302186408032633], [-0.0023846168511083244, 0.9999965948624241, 0.0010601254785890912], [0.006304699975315598, -0.0010450730946687465, 0.9999795790817165]], "translation": [0.019976800196475353, -0.006909891663292048, 0.010810592658185403]}}} +{"step": 6000, "train_loss": 0.01486450806260109, "val_psnr": 21.617122650146484, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 1.2766058444976807, "translation_update_mean": 0.11081775277853012, "rotation_update_deg_mean": 0.9942519664764404, "pose_errors": {"raw": {"rotation_deg_mean": 0.8985388228329342, "rotation_deg_max": 2.919191975503548, "translation_mean": 0.0938462629796558, "translation_radius_pct_mean": 2.328039263351938}, "aligned": {"rotation_deg_mean": 0.9028826439787071, "rotation_deg_max": 2.8025500273548407, "translation_mean": 0.09331766971687587, "translation_radius_pct_mean": 2.3149264783456585}, "sim3": {"scale": 0.99404635372979, "rotation": [[0.9999950691136873, 0.003127207497388557, -0.0002869173729855736], [-0.0031277170476888983, 0.9999935011965481, -0.001793028371000276], [0.0002813083366011124, 0.0017939169261399915, 0.9999983513624817]], "translation": [-0.0052833833344247405, 0.009183992261784943, 0.004583888409193992]}}} +{"step": 7000, "train_loss": 0.019016053527593613, "val_psnr": 20.702377319335938, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.108475923538208, "translation_update_mean": 0.09845635294914246, "rotation_update_deg_mean": 0.8052414655685425, "pose_errors": {"raw": {"rotation_deg_mean": 0.6944290173194456, "rotation_deg_max": 2.167057230077496, "translation_mean": 0.0646789655195394, "translation_radius_pct_mean": 1.6044876637774688}, "aligned": {"rotation_deg_mean": 0.6974200140416777, "rotation_deg_max": 2.016069029772031, "translation_mean": 0.06344542755215658, "translation_radius_pct_mean": 1.5738873529102682}, "sim3": {"scale": 0.9976627380485555, "rotation": [[0.9999993834098891, 0.0010506041818285638, -0.0003597369800916547], [-0.0010515349749796656, 0.9999960746953995, -0.0025970883677851955], [0.00035700705611451473, 0.0025974650424624712, 0.9999965628547515]], "translation": [-0.0031095970290629937, 0.012237973138979563, 0.00035652340611536104]}}} +{"step": 8000, "train_loss": 0.018065012991428375, "val_psnr": 21.259258270263672, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 1.8715204000473022, "translation_update_mean": 0.07789723575115204, "rotation_update_deg_mean": 0.7029062509536743, "pose_errors": {"raw": {"rotation_deg_mean": 0.6217894239725258, "rotation_deg_max": 1.8137189717580278, "translation_mean": 0.061019209825281744, "translation_radius_pct_mean": 1.5137002985698136}, "aligned": {"rotation_deg_mean": 0.6333008891256519, "rotation_deg_max": 1.8581907332009737, "translation_mean": 0.06102728164267487, "translation_radius_pct_mean": 1.5139005357153448}, "sim3": {"scale": 0.9988653583566209, "rotation": [[0.9999996712380588, 0.0001145383530797181, -0.0008027482413407933], [-0.00011359214009065551, 0.999999298924371, 0.001178663477284922], [0.0008028826807270546, -0.0011785719038945488, 0.9999989831733173]], "translation": [0.003266534445831082, -0.0030783339558193984, 0.004677781319255558]}}} +{"step": 9000, "train_loss": 0.016862235963344574, "val_psnr": 22.222190856933594, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 1.4881001710891724, "translation_update_mean": 0.06631778925657272, "rotation_update_deg_mean": 0.6432242393493652, "pose_errors": {"raw": {"rotation_deg_mean": 0.6441027721116247, "rotation_deg_max": 1.6807809275523287, "translation_mean": 0.05503280608266915, "translation_radius_pct_mean": 1.3651958987505017}, "aligned": {"rotation_deg_mean": 0.6457358061228924, "rotation_deg_max": 1.7815711484171026, "translation_mean": 0.053194665411316795, "translation_radius_pct_mean": 1.319597240704842}, "sim3": {"scale": 0.9955825109588088, "rotation": [[0.9999994595059841, 0.0007715701440554663, 0.0006968983089103611], [-0.0007728493620556058, 0.99999801372108, 0.0018371874587006965], [-0.0006954794056837541, -0.0018377250631252755, 0.9999980695356311]], "translation": [0.0010194666501220917, -0.0009778120996001005, 0.003957385075481934]}}} +{"step": 10000, "train_loss": 0.01605980470776558, "val_psnr": 22.66291618347168, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.2438675165176392, "translation_update_mean": 0.0635661706328392, "rotation_update_deg_mean": 0.6619843244552612, "pose_errors": {"raw": {"rotation_deg_mean": 0.5265502473270725, "rotation_deg_max": 1.3948755816909224, "translation_mean": 0.05039053224657859, "translation_radius_pct_mean": 1.2500352581611893}, "aligned": {"rotation_deg_mean": 0.5310892319208658, "rotation_deg_max": 1.3830000642867133, "translation_mean": 0.048078208784009514, "translation_radius_pct_mean": 1.1926735727886166}, "sim3": {"scale": 0.9959658792830802, "rotation": [[0.9999994419392786, 2.5095271037463966e-05, -0.0010561682436177123], [-2.51561784458074e-05, 0.9999999980215316, -5.765503663316861e-05], [0.0010561667946594369, 5.768157361488748e-05, 0.999999440592112]], "translation": [0.005499339984534168, 0.0031031181380580947, 0.005154561882815045]}}} +{"step": 11000, "train_loss": 0.009862912818789482, "val_psnr": 22.093198776245117, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.7126818299293518, "translation_update_mean": 0.060401029884815216, "rotation_update_deg_mean": 0.5952179431915283, "pose_errors": {"raw": {"rotation_deg_mean": 0.4772446165751919, "rotation_deg_max": 2.6205604374616382, "translation_mean": 0.04582785527426554, "translation_radius_pct_mean": 1.1368491727457348}, "aligned": {"rotation_deg_mean": 0.5099771438157975, "rotation_deg_max": 2.474477587690061, "translation_mean": 0.043866593523724004, "translation_radius_pct_mean": 1.0881962566252403}, "sim3": {"scale": 0.995682571577784, "rotation": [[0.9999993717052211, 0.0008612167036287546, -0.0007175618114703632], [-0.0008592823013924117, 0.9999960080231218, 0.0026917599723602337], [0.0007198771356303547, -0.0026911416929767374, 0.9999961197591226]], "translation": [0.005793831513113468, -0.006413814902856904, 0.006095929478464601]}}} +{"step": 12000, "train_loss": 0.009434831328690052, "val_psnr": 23.01540756225586, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 1.242426872253418, "translation_update_mean": 0.05374297872185707, "rotation_update_deg_mean": 0.4877089560031891, "pose_errors": {"raw": {"rotation_deg_mean": 0.43501661001412295, "rotation_deg_max": 1.3899547563301733, "translation_mean": 0.04281630422826765, "translation_radius_pct_mean": 1.0621417858336788}, "aligned": {"rotation_deg_mean": 0.4629441722209109, "rotation_deg_max": 1.366630038334641, "translation_mean": 0.04090142599544886, "translation_radius_pct_mean": 1.014639503174789}, "sim3": {"scale": 0.9949796735848326, "rotation": [[0.9999981312096295, 0.0007112188170620537, 0.0017977054937789768], [-0.0007148184807591437, 0.9999977394778087, 0.0020025168692567557], [-0.001796277202346912, -0.0020037981600824193, 0.9999963790840171]], "translation": [-0.009328314857551478, 0.0007318822904782696, 0.005954519196798458]}}} +{"step": 13000, "train_loss": 0.013345377519726753, "val_psnr": 21.866683959960938, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 1.2469675540924072, "translation_update_mean": 0.04817023128271103, "rotation_update_deg_mean": 0.507533609867096, "pose_errors": {"raw": {"rotation_deg_mean": 0.41522581852102314, "rotation_deg_max": 1.1802486422909626, "translation_mean": 0.04258638000582732, "translation_radius_pct_mean": 1.0564380678544898}, "aligned": {"rotation_deg_mean": 0.447412861052794, "rotation_deg_max": 1.0917248308617764, "translation_mean": 0.03791031843443972, "translation_radius_pct_mean": 0.9404392567094858}, "sim3": {"scale": 0.9949666937079152, "rotation": [[0.999998443743271, 0.0012956750066396591, 0.0011973877034713739], [-0.0012985435771676738, 0.9999962816197685, 0.00239802652494085], [-0.0011942761880950367, -0.002399577653107532, 0.9999964078592849]], "translation": [-0.00577170991409659, 0.001169391887764784, 0.0037843186712724908]}}} +{"step": 14000, "train_loss": 0.013177658431231976, "val_psnr": 22.24109649658203, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.0357143878936768, "translation_update_mean": 0.04376848414540291, "rotation_update_deg_mean": 0.46556413173675537, "pose_errors": {"raw": {"rotation_deg_mean": 0.3946989363903781, "rotation_deg_max": 1.0129382967477465, "translation_mean": 0.03503616163638243, "translation_radius_pct_mean": 0.8691402016117055}, "aligned": {"rotation_deg_mean": 0.40253267660461556, "rotation_deg_max": 0.946388351720174, "translation_mean": 0.033790445148357835, "translation_radius_pct_mean": 0.8382377788295131}, "sim3": {"scale": 0.9973738251888616, "rotation": [[0.9999996668878288, 0.0007131039793725122, -0.0003971233385207041], [-0.0007123848694528793, 0.999998111812134, 0.0018080044149032554], [0.0003984118838202339, -0.0018077209079773373, 0.9999982867050768]], "translation": [-0.0003357411210620498, 2.7011548306365984e-05, 0.007748248156693727]}}} +{"step": 15000, "train_loss": 0.010106319561600685, "val_psnr": 21.191516876220703, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 1.0688310861587524, "translation_update_mean": 0.040748391300439835, "rotation_update_deg_mean": 0.42232462763786316, "pose_errors": {"raw": {"rotation_deg_mean": 0.35246604679851906, "rotation_deg_max": 1.5999453941401236, "translation_mean": 0.034840044615083415, "translation_radius_pct_mean": 0.8642751370763738}, "aligned": {"rotation_deg_mean": 0.37466004520446716, "rotation_deg_max": 1.6091590198294135, "translation_mean": 0.032503163149568616, "translation_radius_pct_mean": 0.8063042426285337}, "sim3": {"scale": 0.9968434587260255, "rotation": [[0.9999986512996818, 0.0004991344970002947, -0.0015646928042831283], [-0.0004966798376218031, 0.9999986461236163, 0.0015687766170387014], [0.0015654737164100688, -0.0015679973498612613, 0.999997545335165]], "translation": [0.0046554808437827, 0.0018287664730097797, 0.00818010383008616]}}} +{"step": 16000, "train_loss": 0.011340510100126266, "val_psnr": 22.880481719970703, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 1.0899312496185303, "translation_update_mean": 0.039342641830444336, "rotation_update_deg_mean": 0.36810651421546936, "pose_errors": {"raw": {"rotation_deg_mean": 0.3040941925066091, "rotation_deg_max": 0.9229239320920386, "translation_mean": 0.031058032387104726, "translation_radius_pct_mean": 0.7704549605274128}, "aligned": {"rotation_deg_mean": 0.3176321926198398, "rotation_deg_max": 1.0281656839165476, "translation_mean": 0.028269252298674753, "translation_radius_pct_mean": 0.7012738409326295}, "sim3": {"scale": 0.9966592064224522, "rotation": [[0.9999991433332085, 0.0008162774904001332, -0.0010232418623087728], [-0.0008145367921319673, 0.9999982225422122, 0.001700424132573771], [0.0010246280614830954, -0.0016995892077327557, 0.9999980307649917]], "translation": [0.0007482703764647991, 0.00032676361573026613, 0.007803514028427383]}}} +{"step": 17000, "train_loss": 0.00838377047330141, "val_psnr": 21.746070861816406, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.6894778609275818, "translation_update_mean": 0.033484820276498795, "rotation_update_deg_mean": 0.31767624616622925, "pose_errors": {"raw": {"rotation_deg_mean": 0.28776977318547564, "rotation_deg_max": 0.7942405325331682, "translation_mean": 0.027952507602097113, "translation_radius_pct_mean": 0.693416372060895}, "aligned": {"rotation_deg_mean": 0.29242428035650186, "rotation_deg_max": 0.8129028501413358, "translation_mean": 0.024544645819722287, "translation_radius_pct_mean": 0.6088777257520379}, "sim3": {"scale": 0.9960590047077053, "rotation": [[0.9999997995350101, 0.0003975762290667363, -0.0004928114065874678], [-0.00039738838638820657, 0.9999998483826835, 0.0003812047747046138], [0.0004929628898255287, -0.0003810088607567104, 0.9999998059099005]], "translation": [0.0009189741685527997, 0.004697952788292492, 0.0061067596390858014]}}} +{"step": 18000, "train_loss": 0.009583692997694016, "val_psnr": 23.220794677734375, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.0134567022323608, "translation_update_mean": 0.03298448398709297, "rotation_update_deg_mean": 0.3258476257324219, "pose_errors": {"raw": {"rotation_deg_mean": 0.28147051034087567, "rotation_deg_max": 0.6125346488320697, "translation_mean": 0.03010258704540424, "translation_radius_pct_mean": 0.7467532786613206}, "aligned": {"rotation_deg_mean": 0.2880502547924623, "rotation_deg_max": 0.590746872659801, "translation_mean": 0.02704216662980606, "translation_radius_pct_mean": 0.6708335918921101}, "sim3": {"scale": 0.9966217174230659, "rotation": [[0.9999996888118924, 0.0003714933340179342, -0.0006959661061183931], [-0.0003710475552687595, 0.9999997260176353, 0.0006405375603343446], [0.0006962038708697856, -0.0006402791244844165, 0.9999995526713064]], "translation": [0.00038967659540561916, 0.004576740827010664, 0.006714135763552509]}}} +{"step": 19000, "train_loss": 0.006681968457996845, "val_psnr": 21.988140106201172, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.661241888999939, "translation_update_mean": 0.0317714624106884, "rotation_update_deg_mean": 0.3051230311393738, "pose_errors": {"raw": {"rotation_deg_mean": 0.26695931776763343, "rotation_deg_max": 0.8359376858337395, "translation_mean": 0.028955086292882046, "translation_radius_pct_mean": 0.7182872884153724}, "aligned": {"rotation_deg_mean": 0.27882693371197387, "rotation_deg_max": 0.8366195488520217, "translation_mean": 0.024867022802397526, "translation_radius_pct_mean": 0.6168749144459721}, "sim3": {"scale": 0.9957931931163015, "rotation": [[0.9999993874480343, 0.0011053784050461936, 5.693978224826e-05], [-0.0011054466863940693, 0.999998652766097, 0.0012134469974766219], [-5.559838743055864e-05, -0.001213509198070964, 0.9999992621518521]], "translation": [-0.0020855217736966414, 0.002706269417330112, 0.008451952344965985]}}} +{"step": 20000, "train_loss": 0.008126642554998398, "val_psnr": 22.526214599609375, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 1.0761929750442505, "translation_update_mean": 0.028209928423166275, "rotation_update_deg_mean": 0.27619823813438416, "pose_errors": {"raw": {"rotation_deg_mean": 0.2281415736140357, "rotation_deg_max": 0.4985465015063217, "translation_mean": 0.027981940440501712, "translation_radius_pct_mean": 0.6941465109205814}, "aligned": {"rotation_deg_mean": 0.22818948663477115, "rotation_deg_max": 0.5311986686733725, "translation_mean": 0.021055590347047487, "translation_radius_pct_mean": 0.522324911878557}, "sim3": {"scale": 0.9942754481293882, "rotation": [[0.9999997320888998, 0.0007229830022836845, 0.00011453256210625151], [-0.0007229672309026069, 0.9999997291807459, -0.00013768376473573499], [-0.00011463207411037662, 0.00013760092455943927, 0.9999999839627376]], "translation": [-0.002690578233314589, 0.00828310602596398, 0.00851187332220249]}}} +{"step": 21000, "train_loss": 0.008823897689580917, "val_psnr": 20.649995803833008, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 1.0795776844024658, "translation_update_mean": 0.025549033656716347, "rotation_update_deg_mean": 0.23778414726257324, "pose_errors": {"raw": {"rotation_deg_mean": 0.23912331406264606, "rotation_deg_max": 0.7985765114906492, "translation_mean": 0.0276023621027335, "translation_radius_pct_mean": 0.6847303312477284}, "aligned": {"rotation_deg_mean": 0.24495850210595024, "rotation_deg_max": 0.7658650046548945, "translation_mean": 0.020835759337187846, "translation_radius_pct_mean": 0.5168715756879994}, "sim3": {"scale": 0.9941333620506876, "rotation": [[0.9999997837892819, 0.0004825754043924755, 0.0004467016549821629], [-0.00048268785618262977, 0.9999998518387074, 0.00025166445186563396], [-0.00044658014172365334, -0.0002518800149171621, 0.9999998685613095]], "translation": [-0.005606250933503809, 0.005958156464100223, 0.008616359589991962]}}} +{"step": 22000, "train_loss": 0.010076597332954407, "val_psnr": 21.760150909423828, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.1457868814468384, "translation_update_mean": 0.02446925826370716, "rotation_update_deg_mean": 0.2205018252134323, "pose_errors": {"raw": {"rotation_deg_mean": 0.21818223916116752, "rotation_deg_max": 0.558419115148419, "translation_mean": 0.028672440600261487, "translation_radius_pct_mean": 0.7112757117244539}, "aligned": {"rotation_deg_mean": 0.23333658864832746, "rotation_deg_max": 0.5086522685707169, "translation_mean": 0.018128706349714283, "translation_radius_pct_mean": 0.4497178559476746}, "sim3": {"scale": 0.9934059839447835, "rotation": [[0.9999995793180831, 0.0006563348161477776, -0.0006407716177563311], [-0.000655649137224435, 0.9999992129248055, 0.0010697074261658188], [0.0006414731996477665, -0.0010692868548007799, 0.9999992225685762]], "translation": [-0.0004894409616612028, 0.0018730316488371618, 0.007565148546168299]}}} +{"step": 23000, "train_loss": 0.008204510435461998, "val_psnr": 22.243776321411133, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.8867958188056946, "translation_update_mean": 0.021644730120897293, "rotation_update_deg_mean": 0.20362547039985657, "pose_errors": {"raw": {"rotation_deg_mean": 0.20523598746477337, "rotation_deg_max": 0.5620297193593955, "translation_mean": 0.030250192946755093, "translation_radius_pct_mean": 0.7504149304195981}, "aligned": {"rotation_deg_mean": 0.21012723358709903, "rotation_deg_max": 0.5218176891464564, "translation_mean": 0.018457928084252204, "translation_radius_pct_mean": 0.45788484203767227}, "sim3": {"scale": 0.99253349905515, "rotation": [[0.9999998606585587, 0.0003279093916269811, -0.0004137128156518917], [-0.000327649715211108, 0.9999997493914312, 0.0006275848464755256], [0.00041391850293706113, -0.0006274492061407726, 0.9999997174894436]], "translation": [-0.0013530359844077244, 0.004343019256121697, 0.009357519110222423]}}} +{"step": 24000, "train_loss": 0.007285802625119686, "val_psnr": 21.040325164794922, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.8895125389099121, "translation_update_mean": 0.020287461578845978, "rotation_update_deg_mean": 0.19995027780532837, "pose_errors": {"raw": {"rotation_deg_mean": 0.1898743985999056, "rotation_deg_max": 0.4650765280412909, "translation_mean": 0.03242258470231054, "translation_radius_pct_mean": 0.8043053373653866}, "aligned": {"rotation_deg_mean": 0.19548527623790754, "rotation_deg_max": 0.4516665787167224, "translation_mean": 0.016115085505692035, "translation_radius_pct_mean": 0.39976607057499663}, "sim3": {"scale": 0.9916175736010534, "rotation": [[0.9999998562127501, 0.00022516256208240893, -0.000486699394081325], [-0.00022486129232253925, 0.9999997831555463, 0.000618971937560978], [0.0004868386578505659, -0.0006188624087059526, 0.9999996899986725]], "translation": [-0.0010197739471629608, 0.005122129331299186, 0.010012122016912262]}}} +{"step": 25000, "train_loss": 0.008679395541548729, "val_psnr": 23.32010269165039, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.8004377484321594, "translation_update_mean": 0.019289197400212288, "rotation_update_deg_mean": 0.18804319202899933, "pose_errors": {"raw": {"rotation_deg_mean": 0.1726037515702345, "rotation_deg_max": 0.4367294702321573, "translation_mean": 0.031369118717513855, "translation_radius_pct_mean": 0.7781720626100127}, "aligned": {"rotation_deg_mean": 0.16919761224660537, "rotation_deg_max": 0.4279291661778852, "translation_mean": 0.015097933570309302, "translation_radius_pct_mean": 0.37453363651548865}, "sim3": {"scale": 0.9919969669308869, "rotation": [[0.99999938679348, 0.00022980689463556392, -0.0010833288764822105], [-0.00023031437804001473, 0.999999863803332, -0.0004683466711892948], [0.0010832210996423023, 0.00046859589021246113, 0.9999993035247278]], "translation": [0.0007276146408554673, 0.008008812659809156, 0.009907449307073435]}}} +{"step": 26000, "train_loss": 0.00644594244658947, "val_psnr": 20.588058471679688, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.7827557325363159, "translation_update_mean": 0.017477765679359436, "rotation_update_deg_mean": 0.15710094571113586, "pose_errors": {"raw": {"rotation_deg_mean": 0.15991797654179543, "rotation_deg_max": 0.42795764821140353, "translation_mean": 0.028084726038690944, "translation_radius_pct_mean": 0.6966963077978798}, "aligned": {"rotation_deg_mean": 0.15652819127031956, "rotation_deg_max": 0.45481380175156766, "translation_mean": 0.013640706531662921, "translation_radius_pct_mean": 0.33838428273331106}, "sim3": {"scale": 0.9927168149656187, "rotation": [[0.999999976233115, 0.00021789506870192115, -7.450431789930329e-06], [-0.00021789959834988472, 0.9999997880848278, -0.0006134737691137432], [7.316757301886095e-06, 0.0006134753779795022, 0.9999998117971962]], "translation": [-0.004247119046875747, 0.010994583064897277, 0.010175290483185773]}}} +{"step": 27000, "train_loss": 0.006549971178174019, "val_psnr": 20.921051025390625, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.7938197255134583, "translation_update_mean": 0.016231093555688858, "rotation_update_deg_mean": 0.14842422306537628, "pose_errors": {"raw": {"rotation_deg_mean": 0.14424502259565464, "rotation_deg_max": 0.3237108316295964, "translation_mean": 0.026620663081715307, "translation_radius_pct_mean": 0.6603773757526337}, "aligned": {"rotation_deg_mean": 0.14145990741106976, "rotation_deg_max": 0.329981946791809, "translation_mean": 0.012224447039363167, "translation_radius_pct_mean": 0.30325120869834965}, "sim3": {"scale": 0.9929632567916081, "rotation": [[0.9999999666241352, 0.00011413161535077184, -0.0002317880579906447], [-0.00011435743974955653, 0.9999995186441138, -0.0009744916200237238], [0.00023167672611523922, 0.0009745180941880513, 0.9999994983200644]], "translation": [-0.003262473443121361, 0.011508380193727318, 0.01005365853192508]}}} +{"step": 28000, "train_loss": 0.00631727697327733, "val_psnr": 22.01358413696289, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.6310529112815857, "translation_update_mean": 0.014415374957025051, "rotation_update_deg_mean": 0.14350490272045135, "pose_errors": {"raw": {"rotation_deg_mean": 0.1418600176837974, "rotation_deg_max": 0.34814268691142036, "translation_mean": 0.027654803471377463, "translation_radius_pct_mean": 0.6860312414955186}, "aligned": {"rotation_deg_mean": 0.13970886914258576, "rotation_deg_max": 0.37261600894796987, "translation_mean": 0.012696215913032532, "translation_radius_pct_mean": 0.3149543541008223}, "sim3": {"scale": 0.992586472727503, "rotation": [[0.9999999211240107, 0.0003736273781800781, -0.00013473883645273308], [-0.00037365560654308635, 0.9999999082372338, -0.00020953999920522864], [0.00013466053420816958, 0.00020959032859924076, 0.9999999689692165]], "translation": [-0.0032933845885240176, 0.007139117200000225, 0.010009830505566253]}}} +{"step": 29000, "train_loss": 0.008358469232916832, "val_psnr": 20.609233856201172, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.8731960654258728, "translation_update_mean": 0.013678590767085552, "rotation_update_deg_mean": 0.13390570878982544, "pose_errors": {"raw": {"rotation_deg_mean": 0.1456561505237184, "rotation_deg_max": 0.2806980247445419, "translation_mean": 0.029763224680656303, "translation_radius_pct_mean": 0.7383347344960784}, "aligned": {"rotation_deg_mean": 0.14800365417572178, "rotation_deg_max": 0.3001863771861768, "translation_mean": 0.010793995015944302, "translation_radius_pct_mean": 0.26776606129741093}, "sim3": {"scale": 0.9917460212579987, "rotation": [[0.999999821032414, 0.0001860002594640892, -0.000568629091288302], [-0.00018595073127450652, 0.9999999789133679, 8.715267589618338e-05], [0.0005686452897182071, -8.704692330337151e-05, 0.9999998345326697]], "translation": [-0.0010924190864357586, 0.00500612844471722, 0.010273004189964574]}}} +{"step": 29999, "train_loss": 0.004931018687784672, "val_psnr": 22.875547409057617, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 1.1867717504501343, "translation_update_mean": 0.012592820450663567, "rotation_update_deg_mean": 0.12633070349693298, "pose_errors": {"raw": {"rotation_deg_mean": 0.14455342161250204, "rotation_deg_max": 0.3111928841892141, "translation_mean": 0.030355329867381337, "translation_radius_pct_mean": 0.7530230564277576}, "aligned": {"rotation_deg_mean": 0.14545947958707095, "rotation_deg_max": 0.33064216186272233, "translation_mean": 0.01123745929690843, "translation_radius_pct_mean": 0.27876705617136166}, "sim3": {"scale": 0.9917272687868547, "rotation": [[0.9999998475952587, 0.0003589802338305185, -0.00041945518413543634], [-0.0003589922968073748, 0.9999999351508848, -2.8683741971040736e-05], [0.0004194448600376716, 2.8834318779452974e-05, 0.9999999116172922]], "translation": [-0.0019057997198173027, 0.0073847206114467795, 0.010333045634018045]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R0.5.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R0.5.jsonl new file mode 100644 index 0000000..2bb74fd --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R0.5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421495854854584, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.007788654416799545, "translation_update_mean": 1.0182362331079275e-07, "rotation_update_deg_mean": 1.7533957361592911e-06, "pose_errors": {"raw": {"rotation_deg_mean": 0.500345891769154, "rotation_deg_max": 0.5021413982517706, "translation_mean": 6.344364094341079e-08, "translation_radius_pct_mean": 1.573843032601964e-06}, "aligned": {"rotation_deg_mean": 0.5003458130943145, "rotation_deg_max": 0.5021413982517706, "translation_mean": 4.765150823180956e-07, "translation_radius_pct_mean": 1.182088434844117e-05}, "sim3": {"scale": 0.9999999730512691, "rotation": [[1.0, 5.282564525679287e-09, 1.5545069169681024e-09], [-5.282564412306076e-09, 1.0, 4.155097939609085e-09], [-1.5545068635801526e-09, -4.155097947465436e-09, 1.0]], "translation": [-1.949204792017767e-08, -1.3928782849337296e-08, -4.6036916057090593e-07]}}} +{"step": 1000, "train_loss": 0.03333026170730591, "val_psnr": 18.166492462158203, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 2.383059024810791, "translation_update_mean": 0.11150214821100235, "rotation_update_deg_mean": 1.2821274995803833, "pose_errors": {"raw": {"rotation_deg_mean": 1.2289831709933607, "rotation_deg_max": 4.134005820804259, "translation_mean": 0.11150216959750799, "translation_radius_pct_mean": 2.7660284014526817}, "aligned": {"rotation_deg_mean": 1.2290555571609807, "rotation_deg_max": 4.119741619781375, "translation_mean": 0.11144495763414264, "translation_radius_pct_mean": 2.7646091473149137}, "sim3": {"scale": 0.9971057310924617, "rotation": [[0.9999983774164034, 0.0015236390725763861, 0.0009610871641026371], [-0.001522578274899679, 0.9999982320031188, -0.0011035153074930289], [-0.0009627668239433352, 0.0011020501865109283, 0.9999989292821423]], "translation": [-0.01204518081992878, 0.00017064276810120627, 0.0045761716909962225]}}} +{"step": 2000, "train_loss": 0.032337598502635956, "val_psnr": 17.96668243408203, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.387291669845581, "translation_update_mean": 0.1321944147348404, "rotation_update_deg_mean": 1.5820449590682983, "pose_errors": {"raw": {"rotation_deg_mean": 1.386455382866304, "rotation_deg_max": 4.018764890841951, "translation_mean": 0.15041277339336992, "translation_radius_pct_mean": 3.7312816840168987}, "aligned": {"rotation_deg_mean": 1.4679972674322386, "rotation_deg_max": 3.6191003913739213, "translation_mean": 0.15116953032056768, "translation_radius_pct_mean": 3.750054512932973}, "sim3": {"scale": 0.9955412292560345, "rotation": [[0.9999966549862278, 0.0019725168401125287, -0.0016730790991292632], [-0.001985538034749964, 0.9999674743730916, -0.007817150031458409], [0.0016576052211037938, 0.00782044584517038, 0.9999680459753288]], "translation": [0.0011927494909100833, 0.02894673947048551, 0.001392625154486904]}}} +{"step": 3000, "train_loss": 0.03028809279203415, "val_psnr": 20.056442260742188, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.3335464000701904, "translation_update_mean": 0.15652689337730408, "rotation_update_deg_mean": 1.4594542980194092, "pose_errors": {"raw": {"rotation_deg_mean": 1.4279031359862762, "rotation_deg_max": 4.201707316896202, "translation_mean": 0.1564558655797275, "translation_radius_pct_mean": 3.881192351050551}, "aligned": {"rotation_deg_mean": 1.4671701944099156, "rotation_deg_max": 3.9707945915901695, "translation_mean": 0.15688893975617094, "translation_radius_pct_mean": 3.8919355991532774}, "sim3": {"scale": 0.999197366677837, "rotation": [[0.999990981888787, -0.0005392425166322341, -0.004212524018556604], [0.0005324952467792522, 0.999998573941321, -0.0016026740579663185], [0.004213382241242565, 0.0016004164558566067, 0.9999898429870454]], "translation": [0.02091450074986284, -0.0018338452608326061, 0.001793580844028142]}}} +{"step": 4000, "train_loss": 0.029076602309942245, "val_psnr": 20.693641662597656, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.317225694656372, "translation_update_mean": 0.1473795622587204, "rotation_update_deg_mean": 1.3925830125808716, "pose_errors": {"raw": {"rotation_deg_mean": 1.2274728312774457, "rotation_deg_max": 3.5898294819425196, "translation_mean": 0.13067975454903663, "translation_radius_pct_mean": 3.241765733189636}, "aligned": {"rotation_deg_mean": 1.2906993643326126, "rotation_deg_max": 3.3179876068725225, "translation_mean": 0.12867710703223784, "translation_radius_pct_mean": 3.1920861625628065}, "sim3": {"scale": 0.9958685748049749, "rotation": [[0.9999887234849164, 0.0001653203380469131, -0.004746111270573479], [-0.0001443871165320278, 0.9999902627939629, 0.004410608758730599], [0.0047467942200410595, -0.004409873745113338, 0.9999790102588083]], "translation": [0.03444148380085421, -0.02526567905313215, -0.0003401675288978723]}}} +{"step": 5000, "train_loss": 0.01871735230088234, "val_psnr": 21.176990509033203, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.9922887682914734, "translation_update_mean": 0.13888554275035858, "rotation_update_deg_mean": 1.1544289588928223, "pose_errors": {"raw": {"rotation_deg_mean": 1.1322593420756135, "rotation_deg_max": 4.52355098478789, "translation_mean": 0.11982304860393364, "translation_radius_pct_mean": 2.9724440052019667}, "aligned": {"rotation_deg_mean": 1.1596089443498208, "rotation_deg_max": 4.65038871997143, "translation_mean": 0.10415225944960194, "translation_radius_pct_mean": 2.5836995706270636}, "sim3": {"scale": 0.9831433674426474, "rotation": [[0.9999997706784891, 0.00035859295745440853, -0.0005745033170851209], [-0.0003564476324462421, 0.9999929800493773, 0.0037299861999321657], [0.0005758368308827885, -0.0037297805642188277, 0.9999928785490875]], "translation": [0.007637030638307174, -0.022054978887782017, -0.001506992125176243]}}} +{"step": 6000, "train_loss": 0.01726565882563591, "val_psnr": 21.36907196044922, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.9357463717460632, "translation_update_mean": 0.1088397204875946, "rotation_update_deg_mean": 1.0444036722183228, "pose_errors": {"raw": {"rotation_deg_mean": 0.9220051287650141, "rotation_deg_max": 3.4871406646051137, "translation_mean": 0.09812875943301239, "translation_radius_pct_mean": 2.4342749255086806}, "aligned": {"rotation_deg_mean": 0.9261401709763217, "rotation_deg_max": 3.4533371692701507, "translation_mean": 0.08764480254388271, "translation_radius_pct_mean": 2.174199963562951}, "sim3": {"scale": 0.9877517318357545, "rotation": [[0.9999923832443739, -0.0005500440651036854, 0.003864052893541623], [0.0005498420211827687, 0.9999998474137423, 5.33502025142861e-05], [-0.003864081648902556, -5.12251775058659e-05, 0.9999925330966187]], "translation": [-0.014173012533780116, -0.008173491880493017, -0.009789362537229174]}}} +{"step": 7000, "train_loss": 0.0189222302287817, "val_psnr": 20.468914031982422, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.382633090019226, "translation_update_mean": 0.09819148480892181, "rotation_update_deg_mean": 0.8775085806846619, "pose_errors": {"raw": {"rotation_deg_mean": 0.7823339708541788, "rotation_deg_max": 3.043945710661159, "translation_mean": 0.08060829405682929, "translation_radius_pct_mean": 1.9996456710993216}, "aligned": {"rotation_deg_mean": 0.7734009028486984, "rotation_deg_max": 2.961293422691609, "translation_mean": 0.07442450253377608, "translation_radius_pct_mean": 1.846244683090118}, "sim3": {"scale": 0.9910871750721542, "rotation": [[0.999997915186114, -0.0016591794274388278, 0.001190271839552679], [0.0016598270047949919, 0.9999984749110411, -0.0005432770065344635], [-0.0011893686302496087, 0.0005452515192453772, 0.9999991440511546]], "translation": [-0.005364978178675539, -0.006194381698870488, -0.00786712440391435]}}} +{"step": 8000, "train_loss": 0.011370069347321987, "val_psnr": 21.17483901977539, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 1.012474536895752, "translation_update_mean": 0.0806790143251419, "rotation_update_deg_mean": 0.7875325679779053, "pose_errors": {"raw": {"rotation_deg_mean": 0.7000891731952172, "rotation_deg_max": 2.4826814238427093, "translation_mean": 0.07016510029735865, "translation_radius_pct_mean": 1.7405819179468915}, "aligned": {"rotation_deg_mean": 0.6939828705966125, "rotation_deg_max": 2.3908650093666455, "translation_mean": 0.06047262583150539, "translation_radius_pct_mean": 1.5001412184548504}, "sim3": {"scale": 0.9906487975546515, "rotation": [[0.9999986394857303, -0.0009561600902979967, 0.0013441668684851722], [0.0009563543491978197, 0.9999995323416806, -0.00014388460770190003], [-0.0013440286631548402, 0.0001451699117755309, 0.9999990862559075]], "translation": [-0.004316524311719694, -0.009335723504005827, -0.002226768559919101]}}} +{"step": 9000, "train_loss": 0.01734636165201664, "val_psnr": 21.614551544189453, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 1.1742117404937744, "translation_update_mean": 0.07309900969266891, "rotation_update_deg_mean": 0.6902269124984741, "pose_errors": {"raw": {"rotation_deg_mean": 0.5874448155207114, "rotation_deg_max": 1.6728966382251564, "translation_mean": 0.0683587678346268, "translation_radius_pct_mean": 1.695772324443754}, "aligned": {"rotation_deg_mean": 0.5799277114103453, "rotation_deg_max": 1.6686883771258079, "translation_mean": 0.05362733609786481, "translation_radius_pct_mean": 1.330330479455154}, "sim3": {"scale": 0.9893797343823397, "rotation": [[0.9999986395457257, -0.0011158551919968399, 0.0012148143429090027], [0.0011158698292138742, 0.999999377352416, -1.1371212309275905e-05], [-0.0012148008978814945, 1.2726771512631613e-05, 0.9999992620481316]], "translation": [-0.0022166799015293503, -0.012697283124919911, -0.0026445131073375983]}}} +{"step": 10000, "train_loss": 0.013322833925485611, "val_psnr": 22.258901596069336, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.7388080358505249, "translation_update_mean": 0.06701577454805374, "rotation_update_deg_mean": 0.6194989085197449, "pose_errors": {"raw": {"rotation_deg_mean": 0.5228480064014049, "rotation_deg_max": 1.4654660758612543, "translation_mean": 0.07838789388055085, "translation_radius_pct_mean": 1.9445643218094693}, "aligned": {"rotation_deg_mean": 0.5220051777353533, "rotation_deg_max": 1.5823620632213775, "translation_mean": 0.04395522673934531, "translation_radius_pct_mean": 1.0903949760995393}, "sim3": {"scale": 0.9831275525382199, "rotation": [[0.9999967279442961, -0.0006333885239602775, 0.0024784914120209523], [0.0006336845267944647, 0.9999997921836018, -0.00011864516046704811], [-0.0024784157484668235, 0.00012021535391106479, 0.9999969214970852]], "translation": [-0.01486220765014723, -0.009001129195081878, 0.0012157467017930301]}}} +{"step": 11000, "train_loss": 0.010549938306212425, "val_psnr": 20.29106330871582, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 1.0532320737838745, "translation_update_mean": 0.0631241574883461, "rotation_update_deg_mean": 0.5695657730102539, "pose_errors": {"raw": {"rotation_deg_mean": 0.47310881855506864, "rotation_deg_max": 1.9242295226602537, "translation_mean": 0.060856810019558685, "translation_radius_pct_mean": 1.5096716552111968}, "aligned": {"rotation_deg_mean": 0.4731128395189711, "rotation_deg_max": 1.8893058538879237, "translation_mean": 0.039914668410434395, "translation_radius_pct_mean": 0.9901610601512026}, "sim3": {"scale": 0.9887353839044948, "rotation": [[0.9999989857124216, -0.00019041121344672902, 0.0014114948453712607], [0.00018970145027583554, 0.9999998555213534, 0.0005029618595939293], [-0.0014115904110183642, -0.0005026935868267712, 0.9999988773552045]], "translation": [-0.006899486704780855, -0.013306669798700071, -0.000538815537800108]}}} +{"step": 12000, "train_loss": 0.011983077973127365, "val_psnr": 21.98638153076172, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.7562627792358398, "translation_update_mean": 0.05865342170000076, "rotation_update_deg_mean": 0.5328108668327332, "pose_errors": {"raw": {"rotation_deg_mean": 0.4361272993170324, "rotation_deg_max": 1.2268533820974326, "translation_mean": 0.07002955248289779, "translation_radius_pct_mean": 1.7372193905099191}, "aligned": {"rotation_deg_mean": 0.4257926849183805, "rotation_deg_max": 1.1445168931503642, "translation_mean": 0.04039711573151849, "translation_radius_pct_mean": 1.002129105231764}, "sim3": {"scale": 0.9852579898934687, "rotation": [[0.9999992911984329, -0.0007057819837320668, 0.0009588922893987257], [0.0007069762895454219, 0.9999989741599417, -0.0012457381709617488], [-0.000958012086171087, 0.0012464152020934005, 0.9999987643302299]], "translation": [-0.007569417347434548, -0.006069122314327116, 0.000562979043652323]}}} +{"step": 13000, "train_loss": 0.012177491560578346, "val_psnr": 21.27255630493164, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.9575080871582031, "translation_update_mean": 0.053315166383981705, "rotation_update_deg_mean": 0.5118730664253235, "pose_errors": {"raw": {"rotation_deg_mean": 0.4254495650462056, "rotation_deg_max": 1.2418026383140182, "translation_mean": 0.0688717533077207, "translation_radius_pct_mean": 1.708497927839924}, "aligned": {"rotation_deg_mean": 0.4254052474304646, "rotation_deg_max": 1.2128875593903374, "translation_mean": 0.04072607227155381, "translation_radius_pct_mean": 1.0102895126558151}, "sim3": {"scale": 0.9848461166787152, "rotation": [[0.9999993681867305, -0.0006801168744450709, 0.0008950235617891334], [0.0006806496055301735, 0.9999995913188992, -0.0005950446614089432], [-0.0008946184960946292, 0.0005956534828861405, 0.99999942242717]], "translation": [-0.010206709510572676, -0.005475724617187677, 0.005266886518116021]}}} +{"step": 14000, "train_loss": 0.012228182516992092, "val_psnr": 21.12615394592285, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.0189354419708252, "translation_update_mean": 0.0484699010848999, "rotation_update_deg_mean": 0.4449121057987213, "pose_errors": {"raw": {"rotation_deg_mean": 0.3967255897802761, "rotation_deg_max": 0.9750823417676548, "translation_mean": 0.06969786753036536, "translation_radius_pct_mean": 1.7289912995019063}, "aligned": {"rotation_deg_mean": 0.41168742838876676, "rotation_deg_max": 1.044557176044541, "translation_mean": 0.03380739721433437, "translation_radius_pct_mean": 0.8386583078301922}, "sim3": {"scale": 0.9841868679257849, "rotation": [[0.9999997974008416, 0.0001033883934980986, 0.0006280996067012593], [-0.00010443677010411676, 0.9999986012286689, 0.0016693213193511053], [-0.0006279261396841392, -0.0016693865778421352, 0.9999984094273437]], "translation": [-0.008776583955262929, -0.014256143011375441, 0.004720321339846567]}}} +{"step": 15000, "train_loss": 0.01049206405878067, "val_psnr": 21.294679641723633, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.6448334455490112, "translation_update_mean": 0.04241625592112541, "rotation_update_deg_mean": 0.42783960700035095, "pose_errors": {"raw": {"rotation_deg_mean": 0.3211903486996932, "rotation_deg_max": 0.7263339599664426, "translation_mean": 0.06089576381674567, "translation_radius_pct_mean": 1.5106379799899212}, "aligned": {"rotation_deg_mean": 0.33186192436972806, "rotation_deg_max": 0.6752436293735955, "translation_mean": 0.029984293330864085, "translation_radius_pct_mean": 0.7438187727650449}, "sim3": {"scale": 0.9857262234621462, "rotation": [[0.9999996038209418, 0.0007876826996197731, -0.00041462504076191203], [-0.0007872594046159467, 0.9999991698237749, 0.0010200854815204383], [0.0004154282002361462, -0.0010197586599212094, 0.999999393755658]], "translation": [-0.004429893197710033, -0.011018680702754677, 0.005885935178491675]}}} +{"step": 16000, "train_loss": 0.010814966633915901, "val_psnr": 22.13494873046875, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.8531786203384399, "translation_update_mean": 0.036102160811424255, "rotation_update_deg_mean": 0.3695220947265625, "pose_errors": {"raw": {"rotation_deg_mean": 0.29690813688109247, "rotation_deg_max": 0.7490327607619877, "translation_mean": 0.06656429653711556, "translation_radius_pct_mean": 1.6512569702365234}, "aligned": {"rotation_deg_mean": 0.2983977607314134, "rotation_deg_max": 0.7667334223784372, "translation_mean": 0.02617309778297118, "translation_radius_pct_mean": 0.6492746471483413}, "sim3": {"scale": 0.9839565703541158, "rotation": [[0.9999998404507813, 0.000317649051366936, -0.00046711614413534467], [-0.0003175766343438258, 0.9999999375451504, 0.00015509601762960702], [0.0004671653810647299, -0.0001549476477111988, 0.9999998788738582]], "translation": [-0.004210733175984527, -0.008916415746001244, 0.005239649464758855]}}} +{"step": 17000, "train_loss": 0.007006593514233828, "val_psnr": 21.550329208374023, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.6617603898048401, "translation_update_mean": 0.03359835594892502, "rotation_update_deg_mean": 0.33689185976982117, "pose_errors": {"raw": {"rotation_deg_mean": 0.2635256292717524, "rotation_deg_max": 0.9976569194762865, "translation_mean": 0.05978707965412958, "translation_radius_pct_mean": 1.4831349108289655}, "aligned": {"rotation_deg_mean": 0.28144261779209406, "rotation_deg_max": 0.9890249451998695, "translation_mean": 0.025237180419710743, "translation_radius_pct_mean": 0.6260573948066529}, "sim3": {"scale": 0.9856009146517488, "rotation": [[0.9999995008787054, 0.0009910810149735664, 0.00012649411803943928], [-0.0009912814429316804, 0.9999982376536398, 0.0015943809814699679], [-0.0001249137343914707, -0.0015945055769523166, 0.9999987209734429]], "translation": [-0.005687046651659533, -0.01360801212173525, 0.004953298707637721]}}} +{"step": 18000, "train_loss": 0.008197473362088203, "val_psnr": 21.341249465942383, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.9147294163703918, "translation_update_mean": 0.03595489636063576, "rotation_update_deg_mean": 0.3207472860813141, "pose_errors": {"raw": {"rotation_deg_mean": 0.28038317379162064, "rotation_deg_max": 0.7706556371197669, "translation_mean": 0.06853002107633706, "translation_radius_pct_mean": 1.700020594518868}, "aligned": {"rotation_deg_mean": 0.2745763352729738, "rotation_deg_max": 0.7705638548877706, "translation_mean": 0.024720464946379632, "translation_radius_pct_mean": 0.6132392614926276}, "sim3": {"scale": 0.9832651605200531, "rotation": [[0.9999997179040235, 0.0006197045925827229, -0.000424450340034393], [-0.0006198592412461114, 0.9999997415242118, -0.00036431583982952703], [0.00042422446212510317, 0.0003645788365232565, 0.9999998435579275]], "translation": [-0.004844417393907174, -0.006720069752619878, 0.00503282238830538]}}} +{"step": 19000, "train_loss": 0.008113661780953407, "val_psnr": 22.30206298828125, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 1.0120458602905273, "translation_update_mean": 0.02969389408826828, "rotation_update_deg_mean": 0.2903239130973816, "pose_errors": {"raw": {"rotation_deg_mean": 0.2523663694760215, "rotation_deg_max": 0.5859493128058275, "translation_mean": 0.05888943262617809, "translation_radius_pct_mean": 1.4608670286634788}, "aligned": {"rotation_deg_mean": 0.25032799665168215, "rotation_deg_max": 0.5739806413377301, "translation_mean": 0.022699978886223025, "translation_radius_pct_mean": 0.5631171710677852}, "sim3": {"scale": 0.9854120024227583, "rotation": [[0.999999993948769, 0.00010546552569459913, 3.129672358926148e-05], [-0.00010545971990578265, 0.9999999772429788, -0.00018545158265430124], [-3.131628162572396e-05, 0.00018544828098841757, 0.9999999823141132]], "translation": [-0.006299029642085507, -0.006741130919570043, 0.00701878201757733]}}} +{"step": 20000, "train_loss": 0.007616265676915646, "val_psnr": 21.173383712768555, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.852064311504364, "translation_update_mean": 0.029169917106628418, "rotation_update_deg_mean": 0.2758881151676178, "pose_errors": {"raw": {"rotation_deg_mean": 0.23596024064869156, "rotation_deg_max": 0.5629237998864945, "translation_mean": 0.060806106384989206, "translation_radius_pct_mean": 1.5084138528403341}, "aligned": {"rotation_deg_mean": 0.22545563382285652, "rotation_deg_max": 0.569072235132781, "translation_mean": 0.019105698837106767, "translation_radius_pct_mean": 0.47395405671299057}, "sim3": {"scale": 0.9847976204045911, "rotation": [[0.9999999101778261, 0.00033714021672373806, -0.00025686730602263804], [-0.0003373580443212522, 0.9999995831650788, -0.0008484451768286491], [0.0002565811539606561, 0.0008485317568714339, 0.9999996070799061]], "translation": [-0.005861218314539229, -0.006681545173262235, 0.0068779102992686525]}}} +{"step": 21000, "train_loss": 0.008305316790938377, "val_psnr": 20.00026512145996, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.8453245759010315, "translation_update_mean": 0.025034980848431587, "rotation_update_deg_mean": 0.24300715327262878, "pose_errors": {"raw": {"rotation_deg_mean": 0.23675134649659038, "rotation_deg_max": 0.6403396733352735, "translation_mean": 0.06531348057977439, "translation_radius_pct_mean": 1.6202280451897304}, "aligned": {"rotation_deg_mean": 0.24571394256505452, "rotation_deg_max": 0.6382481291622829, "translation_mean": 0.01808552202596118, "translation_radius_pct_mean": 0.44864658472102686}, "sim3": {"scale": 0.983994918322809, "rotation": [[0.9999999453145881, 0.0002471666965461688, 0.0002197258434046955], [-0.0002472745691602698, 0.999999848862419, 0.0004910503304809421], [-0.00021960443890790788, -0.0004911046362409154, 0.9999998552950536]], "translation": [-0.006584598922727225, -0.012741317209392145, 0.004561645490465782]}}} +{"step": 22000, "train_loss": 0.009371252730488777, "val_psnr": 20.643077850341797, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 0.958185613155365, "translation_update_mean": 0.020320434123277664, "rotation_update_deg_mean": 0.21463271975517273, "pose_errors": {"raw": {"rotation_deg_mean": 0.22683504572630878, "rotation_deg_max": 0.5580323200129382, "translation_mean": 0.06156324050881806, "translation_radius_pct_mean": 1.52719603885321}, "aligned": {"rotation_deg_mean": 0.24056545538937485, "rotation_deg_max": 0.5627171065562199, "translation_mean": 0.017415981511912735, "translation_radius_pct_mean": 0.4320373287355485}, "sim3": {"scale": 0.9847849189139716, "rotation": [[0.9999997191890582, 0.00023428113148149418, 0.0007118526227577498], [-0.00023473889109880622, 0.9999997656995886, 0.0006430384291497609], [-0.0007117018041996595, -0.000643205348072767, 0.9999995398836058]], "translation": [-0.008118215979529997, -0.011394911711728975, 0.005156257455892099]}}} +{"step": 23000, "train_loss": 0.0072589837945997715, "val_psnr": 20.972007751464844, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.5226182341575623, "translation_update_mean": 0.021741775795817375, "rotation_update_deg_mean": 0.21442335844039917, "pose_errors": {"raw": {"rotation_deg_mean": 0.2016477072959342, "rotation_deg_max": 0.4806298482581992, "translation_mean": 0.06491356553000266, "translation_radius_pct_mean": 1.6103073737819005}, "aligned": {"rotation_deg_mean": 0.20733943944090774, "rotation_deg_max": 0.4640984625323174, "translation_mean": 0.016349423934788672, "translation_radius_pct_mean": 0.40557929154435424}, "sim3": {"scale": 0.9837897281545889, "rotation": [[0.9999999370022721, 0.0001135782403463937, 0.00033629664712222357], [-0.0001136822512229168, 0.9999999457110628, 0.00030928015898261255], [-0.00033626150136871637, -0.000309318370458634, 0.9999998956251682]], "translation": [-0.006242676970457273, -0.010619950229912162, 0.005512391475919198]}}} +{"step": 24000, "train_loss": 0.006389827001839876, "val_psnr": 20.417757034301758, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.9364093542098999, "translation_update_mean": 0.020513972267508507, "rotation_update_deg_mean": 0.18740005791187286, "pose_errors": {"raw": {"rotation_deg_mean": 0.17991716463361015, "rotation_deg_max": 0.5178333821361402, "translation_mean": 0.06836051564481721, "translation_radius_pct_mean": 1.6958156822783546}, "aligned": {"rotation_deg_mean": 0.18820829601156483, "rotation_deg_max": 0.49117894851734506, "translation_mean": 0.014526924436729156, "translation_radius_pct_mean": 0.3603686432541658}, "sim3": {"scale": 0.982551527402627, "rotation": [[0.9999998725456594, 0.00021412858984226973, 0.00045722818325932157], [-0.00021431752751150066, 0.9999998916606673, 0.00041321501770087915], [-0.00045713965257442897, -0.00041331295704855265, 0.9999998100978504]], "translation": [-0.008318784537815871, -0.009655604995644176, 0.007743840262032453]}}} +{"step": 25000, "train_loss": 0.008148644119501114, "val_psnr": 21.291210174560547, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.9159010052680969, "translation_update_mean": 0.019532185047864914, "rotation_update_deg_mean": 0.17430782318115234, "pose_errors": {"raw": {"rotation_deg_mean": 0.18355121479427275, "rotation_deg_max": 0.38443665828192514, "translation_mean": 0.0656521048483731, "translation_radius_pct_mean": 1.6286282794429845}, "aligned": {"rotation_deg_mean": 0.18555575600452937, "rotation_deg_max": 0.41096100189444035, "translation_mean": 0.015826206694385392, "translation_radius_pct_mean": 0.39259986923975443}, "sim3": {"scale": 0.9832865860893667, "rotation": [[0.999999740383188, 0.00012177757525252298, 0.0007102138964134264], [-0.0001217280312076228, 0.9999999901549739, -6.980213776546725e-05], [-0.0007102223897564753, 6.971566670437196e-05, 0.9999997453619093]], "translation": [-0.009963800129839995, -0.008092349798327195, 0.007156176315558316]}}} +{"step": 26000, "train_loss": 0.008903305977582932, "val_psnr": 20.04593276977539, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 1.6562668085098267, "translation_update_mean": 0.017866522073745728, "rotation_update_deg_mean": 0.15758444368839264, "pose_errors": {"raw": {"rotation_deg_mean": 0.16640817695969926, "rotation_deg_max": 0.35623098751550675, "translation_mean": 0.06667084449462041, "translation_radius_pct_mean": 1.6539000997616173}, "aligned": {"rotation_deg_mean": 0.1605439580075949, "rotation_deg_max": 0.334117690569962, "translation_mean": 0.013360339371565366, "translation_radius_pct_mean": 0.33142922947772135}, "sim3": {"scale": 0.9830419467364325, "rotation": [[0.9999996364704447, 0.00017669718731408814, 0.0008341684976607811], [-0.000176211639803248, 0.9999998150479429, -0.0005821112757319137], [-0.0008342712008047034, 0.000581964073918469, 0.9999994826545563]], "translation": [-0.00981570708994195, -0.006300854989665913, 0.006521396635253307]}}} +{"step": 27000, "train_loss": 0.007296107243746519, "val_psnr": 19.795814514160156, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.7548349499702454, "translation_update_mean": 0.015713220462203026, "rotation_update_deg_mean": 0.15476760268211365, "pose_errors": {"raw": {"rotation_deg_mean": 0.15815253223595246, "rotation_deg_max": 0.3949462911971721, "translation_mean": 0.06617731016477987, "translation_radius_pct_mean": 1.6416570198434544}, "aligned": {"rotation_deg_mean": 0.14424607966010847, "rotation_deg_max": 0.35240684382475607, "translation_mean": 0.012015541609669384, "translation_radius_pct_mean": 0.2980689027949173}, "sim3": {"scale": 0.9832086623492917, "rotation": [[0.9999997651290174, 0.00015648007628673986, 0.0006672749768459552], [-0.00015593943107934286, 0.9999996596264721, -0.0008102035746399578], [-0.0006674015304402865, 0.0008100993298664128, 0.9999994491569836]], "translation": [-0.008899619323064933, -0.006100737358886998, 0.005726319947688019]}}} +{"step": 28000, "train_loss": 0.007290266454219818, "val_psnr": 20.50189208984375, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 1.0576597452163696, "translation_update_mean": 0.015219547785818577, "rotation_update_deg_mean": 0.14844650030136108, "pose_errors": {"raw": {"rotation_deg_mean": 0.13806545672314663, "rotation_deg_max": 0.37470818633191405, "translation_mean": 0.07163831048360375, "translation_radius_pct_mean": 1.7771277648229906}, "aligned": {"rotation_deg_mean": 0.12490628722874458, "rotation_deg_max": 0.30745427047870566, "translation_mean": 0.010677286542488952, "translation_radius_pct_mean": 0.26487088039256423}, "sim3": {"scale": 0.981670249731041, "rotation": [[0.9999998300102335, 0.0005381093913014623, 0.0002245390531380765], [-0.0005378799083720165, 0.9999993342957072, -0.001020829734277455], [-0.00022508822172834505, 0.001020708785701469, 0.999999453744284]], "translation": [-0.00798055242382878, -0.004496837004245927, 0.007202855640957129]}}} +{"step": 29000, "train_loss": 0.008898906409740448, "val_psnr": 19.18825912475586, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 1.0378689765930176, "translation_update_mean": 0.014506670646369457, "rotation_update_deg_mean": 0.13155047595500946, "pose_errors": {"raw": {"rotation_deg_mean": 0.14679549053753563, "rotation_deg_max": 0.33336707820347694, "translation_mean": 0.07583523503291467, "translation_radius_pct_mean": 1.8812406492991636}, "aligned": {"rotation_deg_mean": 0.13216142792720356, "rotation_deg_max": 0.3213905446602806, "translation_mean": 0.011640093363126014, "translation_radius_pct_mean": 0.2887551780758085}, "sim3": {"scale": 0.9806025805434552, "rotation": [[0.9999998839898637, 0.0001411726583869269, 0.0004605328861547396], [-0.0001407810206933563, 0.9999996285658965, -0.0008503227465388618], [-0.00046065275741973694, 0.0008502578136031179, 0.9999995324302344]], "translation": [-0.008921966208367438, -0.005210208367694882, 0.007484868514423759]}}} +{"step": 29999, "train_loss": 0.004969269037246704, "val_psnr": 22.666278839111328, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.8938112258911133, "translation_update_mean": 0.012560930103063583, "rotation_update_deg_mean": 0.1307837814092636, "pose_errors": {"raw": {"rotation_deg_mean": 0.1359222650581109, "rotation_deg_max": 0.3054025664044377, "translation_mean": 0.07476083899116126, "translation_radius_pct_mean": 1.8545881637320605}, "aligned": {"rotation_deg_mean": 0.13306399508844105, "rotation_deg_max": 0.31953021617644994, "translation_mean": 0.01027314156407274, "translation_radius_pct_mean": 0.2548452773694217}, "sim3": {"scale": 0.9808869323077632, "rotation": [[0.9999999689853099, 6.96434562791931e-05, 0.00023912166001054008], [-6.9612292577439e-05, 0.9999999890839064, -0.0001303315642476083], [-0.00023913073414102642, 0.00013031491439854725, 0.999999962917258]], "translation": [-0.007713857217494902, -0.007344252733617815, 0.007480660241618864]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R1.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R1.jsonl new file mode 100644 index 0000000..129fe24 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R1.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34218087792396545, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.0077688065357506275, "translation_update_mean": 1.0240468384381529e-07, "rotation_update_deg_mean": 1.830848191275436e-06, "pose_errors": {"raw": {"rotation_deg_mean": 1.0001628933553315, "rotation_deg_max": 1.0010016334925933, "translation_mean": 6.246866886918524e-08, "translation_radius_pct_mean": 1.5496569521188145e-06}, "aligned": {"rotation_deg_mean": 1.0001629565464127, "rotation_deg_max": 1.0010016334925933, "translation_mean": 4.76556325912715e-07, "translation_radius_pct_mean": 1.1821907476103234e-05}, "sim3": {"scale": 0.9999999728361119, "rotation": [[1.0000000000000002, 4.297865687424514e-09, 2.0154991717228834e-09], [-4.297865233789373e-09, 1.0, -3.205135428262906e-09], [-2.0154992286708014e-09, 3.205135446098265e-09, 1.0000000000000002]], "translation": [-2.0557178903590767e-08, -3.398538758747627e-08, -4.6059448299828887e-07]}}} +{"step": 1000, "train_loss": 0.03548991680145264, "val_psnr": 17.860124588012695, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 2.008525848388672, "translation_update_mean": 0.10094879567623138, "rotation_update_deg_mean": 1.4032690525054932, "pose_errors": {"raw": {"rotation_deg_mean": 1.4651137103554084, "rotation_deg_max": 3.6991009990391053, "translation_mean": 0.10094880092457399, "translation_radius_pct_mean": 2.5042315450712542}, "aligned": {"rotation_deg_mean": 1.4744861955696604, "rotation_deg_max": 3.4499618633442637, "translation_mean": 0.09881599604608922, "translation_radius_pct_mean": 2.4513231676832543}, "sim3": {"scale": 0.994235309558756, "rotation": [[0.9999986311832091, -0.0015591295024962137, 0.0005538473637237049], [0.0015621302659753916, 0.9999838763352263, -0.005459562125898079], [-0.000545326269293161, 0.005460419834487354, 0.9999849431038897]], "translation": [-0.007043072695755881, 0.02332434642330055, -0.00038727874008870344]}}} +{"step": 2000, "train_loss": 0.03181244432926178, "val_psnr": 18.547304153442383, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.6182358264923096, "translation_update_mean": 0.14535707235336304, "rotation_update_deg_mean": 1.5567822456359863, "pose_errors": {"raw": {"rotation_deg_mean": 1.4418240472623487, "rotation_deg_max": 5.538948524337014, "translation_mean": 0.1444182242779426, "translation_radius_pct_mean": 3.5825752223666174}, "aligned": {"rotation_deg_mean": 1.4000554468644475, "rotation_deg_max": 5.21884627417625, "translation_mean": 0.1436595260271695, "translation_radius_pct_mean": 3.563754235139677}, "sim3": {"scale": 0.9877614656607756, "rotation": [[0.9999913666704646, 0.0022515726688788545, 0.0034924210876853367], [-0.0022341506623219445, 0.9999850819355093, -0.004984423462283048], [-0.0035035917791601686, 0.004976577835226549, 0.9999814790873357]], "translation": [-0.012635487645774879, 0.020471220874286024, -0.006962745039341023]}}} +{"step": 3000, "train_loss": 0.027064604684710503, "val_psnr": 19.761131286621094, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.4585046768188477, "translation_update_mean": 0.17703986167907715, "rotation_update_deg_mean": 1.5645707845687866, "pose_errors": {"raw": {"rotation_deg_mean": 1.370634592234643, "rotation_deg_max": 4.258174271430121, "translation_mean": 0.16328778612890063, "translation_radius_pct_mean": 4.0506714414009455}, "aligned": {"rotation_deg_mean": 1.3472606728161833, "rotation_deg_max": 3.937727806727244, "translation_mean": 0.15186083950615178, "translation_radius_pct_mean": 3.7672037831975174}, "sim3": {"scale": 0.9766147476470649, "rotation": [[0.9999917845594622, 0.0018313857058977676, 0.003616191363778854], [-0.0018129681330125058, 0.9999854033722894, -0.005089812266623081], [-0.0036254599890107476, 0.005083214411867706, 0.9999805082955939]], "translation": [-0.013343040621748181, 0.010510550525883358, -0.002480390436110813]}}} +{"step": 4000, "train_loss": 0.029329465702176094, "val_psnr": 19.9348087310791, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.2797785997390747, "translation_update_mean": 0.15027889609336853, "rotation_update_deg_mean": 1.2725379467010498, "pose_errors": {"raw": {"rotation_deg_mean": 1.3662651643551353, "rotation_deg_max": 5.765668042383023, "translation_mean": 0.15621914993758418, "translation_radius_pct_mean": 3.875320158683353}, "aligned": {"rotation_deg_mean": 1.3420553389485934, "rotation_deg_max": 5.628274800351965, "translation_mean": 0.136211483563101, "translation_radius_pct_mean": 3.378991041156952}, "sim3": {"scale": 0.9775232298609737, "rotation": [[0.9999921619474327, 0.0008305515005238248, 0.003871204967974113], [-0.0008220801787800168, 0.9999972654212329, -0.002189368455844934], [-0.003873012765115306, 0.0021861688545877123, 0.999990110170025]], "translation": [-0.010888364306647413, 0.0019649139690197798, -0.001196117539202568]}}} +{"step": 5000, "train_loss": 0.024636059999465942, "val_psnr": 20.66039276123047, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 1.1407945156097412, "translation_update_mean": 0.13344641029834747, "rotation_update_deg_mean": 1.1463567018508911, "pose_errors": {"raw": {"rotation_deg_mean": 1.0826702735260152, "rotation_deg_max": 4.1132302801156975, "translation_mean": 0.13554753460546684, "translation_radius_pct_mean": 3.3625204946145812}, "aligned": {"rotation_deg_mean": 1.0804932792730129, "rotation_deg_max": 3.968775067504671, "translation_mean": 0.10842370093425849, "translation_radius_pct_mean": 2.6896609927621835}, "sim3": {"scale": 0.9741857030848866, "rotation": [[0.9999994560520185, 0.0009199461534360799, 0.0004915228802566297], [-0.0009187784094626891, 0.9999967677269788, -0.002370734449029593], [-0.0004937022395574478, 0.002370281558863116, 0.999997069007418]], "translation": [-0.0038136276073794106, 0.005585102335218847, -0.0016365824681749963]}}} +{"step": 6000, "train_loss": 0.015681296586990356, "val_psnr": 20.25957489013672, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 1.3510363101959229, "translation_update_mean": 0.0990886464715004, "rotation_update_deg_mean": 1.042164921760559, "pose_errors": {"raw": {"rotation_deg_mean": 0.8808722335629591, "rotation_deg_max": 3.655934307846685, "translation_mean": 0.11737519039692143, "translation_radius_pct_mean": 2.9117201166196574}, "aligned": {"rotation_deg_mean": 0.8561729883077318, "rotation_deg_max": 3.6802748540488506, "translation_mean": 0.0839608579463178, "translation_radius_pct_mean": 2.082812545515164}, "sim3": {"scale": 0.97663434551428, "rotation": [[0.9999876238319152, -0.0001386093615847274, 0.0049732253563341475], [0.00013859090757532215, 0.9999999903880571, 4.0552960225507105e-06], [-0.004973225870633761, -3.366002017881668e-06, 0.9999876334300887]], "translation": [-0.019269562171431887, -0.005565837110537, -0.0024743099567245963]}}} +{"step": 7000, "train_loss": 0.01938510313630104, "val_psnr": 19.354928970336914, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.2183165550231934, "translation_update_mean": 0.0902174562215805, "rotation_update_deg_mean": 0.8474196195602417, "pose_errors": {"raw": {"rotation_deg_mean": 0.7184365620732711, "rotation_deg_max": 2.233332030473264, "translation_mean": 0.10807426465621918, "translation_radius_pct_mean": 2.6809925455647554}, "aligned": {"rotation_deg_mean": 0.7153805104983022, "rotation_deg_max": 2.209142739252613, "translation_mean": 0.06561875637402553, "translation_radius_pct_mean": 1.6278010056103458}, "sim3": {"scale": 0.9783169260530018, "rotation": [[0.9999989168911377, 0.0014657119133024994, 0.0001338100850044129], [-0.0014656050774773269, 0.9999986099470101, -0.0007950508196438585], [-0.00013497521445938437, 0.0007948538457772159, 0.9999996749944753]], "translation": [0.0018932608186397748, -0.003753532498028622, -0.004453432528141565]}}} +{"step": 8000, "train_loss": 0.015290545299649239, "val_psnr": 19.29358673095703, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.8057175278663635, "translation_update_mean": 0.08130645751953125, "rotation_update_deg_mean": 0.7736817002296448, "pose_errors": {"raw": {"rotation_deg_mean": 0.6715635899646424, "rotation_deg_max": 2.6522792355969256, "translation_mean": 0.11323468448489575, "translation_radius_pct_mean": 2.8090068062833016}, "aligned": {"rotation_deg_mean": 0.6571528461808442, "rotation_deg_max": 2.6008452160834867, "translation_mean": 0.06576634859022595, "translation_radius_pct_mean": 1.6314623178818233}, "sim3": {"scale": 0.9751019972915652, "rotation": [[0.9999989801118553, 0.000314903821637376, 0.0013930580866058058], [-0.00031263082158784495, 0.9999986201049662, -0.0016315790309559307], [-0.0013935699548042228, 0.001631141854033749, 0.99999769866687]], "translation": [-0.0021205313363003575, 0.0017943728622841354, 0.0005157462938005786]}}} +{"step": 9000, "train_loss": 0.01327882893383503, "val_psnr": 20.589920043945312, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.9252099394798279, "translation_update_mean": 0.07713527232408524, "rotation_update_deg_mean": 0.687265932559967, "pose_errors": {"raw": {"rotation_deg_mean": 0.5834725706301872, "rotation_deg_max": 1.9998881531900299, "translation_mean": 0.11693041360308895, "translation_radius_pct_mean": 2.900686562308664}, "aligned": {"rotation_deg_mean": 0.5848373012218282, "rotation_deg_max": 2.041064925514292, "translation_mean": 0.051485522051693745, "translation_radius_pct_mean": 1.2771986121226653}, "sim3": {"scale": 0.9731286328520143, "rotation": [[0.9999910156093242, 0.0002801730274562932, 0.0042296812772494195], [-0.00028497934374747047, 0.999999314405625, 0.0011357706870768636], [-0.00422936016509188, -0.001136965854663959, 0.9999904098646346]], "translation": [-0.015198855059690375, -0.010736250802517444, -0.0009559632520477201]}}} +{"step": 10000, "train_loss": 0.013937294483184814, "val_psnr": 20.948070526123047, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.8825050592422485, "translation_update_mean": 0.0605512373149395, "rotation_update_deg_mean": 0.5899041891098022, "pose_errors": {"raw": {"rotation_deg_mean": 0.5743619803861787, "rotation_deg_max": 1.816583573228141, "translation_mean": 0.1065214030609639, "translation_radius_pct_mean": 2.6424707904141074}, "aligned": {"rotation_deg_mean": 0.5503562013211224, "rotation_deg_max": 1.9157300816508211, "translation_mean": 0.04934862365224644, "translation_radius_pct_mean": 1.2241886869774767}, "sim3": {"scale": 0.9763167208815191, "rotation": [[0.9999944775510793, 0.0014166950965470368, 0.003006300441971433], [-0.0014209871156598093, 0.9999979736301954, 0.0014260193267978242], [-0.0030042741155072066, -0.0014302833658727213, 0.9999944642979445]], "translation": [-0.012545616405470805, -0.012026625305051108, -0.0013748762016025928]}}} +{"step": 11000, "train_loss": 0.011522850953042507, "val_psnr": 19.240375518798828, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 1.1584686040878296, "translation_update_mean": 0.06251325458288193, "rotation_update_deg_mean": 0.6020070314407349, "pose_errors": {"raw": {"rotation_deg_mean": 0.5479969266413162, "rotation_deg_max": 1.98922046500588, "translation_mean": 0.1266339658881868, "translation_radius_pct_mean": 3.141402068674574}, "aligned": {"rotation_deg_mean": 0.5457142407382102, "rotation_deg_max": 2.0504402989802353, "translation_mean": 0.04452422007584158, "translation_radius_pct_mean": 1.1045099635896227}, "sim3": {"scale": 0.9710771178673128, "rotation": [[0.9999967952029871, 0.0015486284275564716, 0.0020028314328543063], [-0.0015505169971097561, 0.9999983545089992, 0.0009417411193184764], [-0.0020013697301445037, -0.0009448435254082878, 0.9999975508919594]], "translation": [-0.006470727679310062, -0.01646515447345409, -0.002829345484281376]}}} +{"step": 12000, "train_loss": 0.01208803616464138, "val_psnr": 20.00704002380371, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.8152865767478943, "translation_update_mean": 0.0544254370033741, "rotation_update_deg_mean": 0.544364333152771, "pose_errors": {"raw": {"rotation_deg_mean": 0.46796901014731934, "rotation_deg_max": 1.2450286114849058, "translation_mean": 0.12305506310934704, "translation_radius_pct_mean": 3.0526204174471347}, "aligned": {"rotation_deg_mean": 0.4376618492778426, "rotation_deg_max": 1.292624931875236, "translation_mean": 0.04077516495758334, "translation_radius_pct_mean": 1.0115073523117737}, "sim3": {"scale": 0.9710062230452841, "rotation": [[0.999998177544611, 0.0009471383695332591, 0.0016576599065970287], [-0.0009450997740184105, 0.9999987967520813, -0.001230154790267159], [-0.0016588230388234787, 0.0012285858943617426, 0.9999978694391431]], "translation": [-0.009015374918867447, -0.0007614150766832029, -5.962712794804759e-05]}}} +{"step": 13000, "train_loss": 0.012897109612822533, "val_psnr": 18.9217529296875, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.9437210559844971, "translation_update_mean": 0.05242723971605301, "rotation_update_deg_mean": 0.4459458887577057, "pose_errors": {"raw": {"rotation_deg_mean": 0.4169139523541005, "rotation_deg_max": 0.957021529789052, "translation_mean": 0.11350710905566831, "translation_radius_pct_mean": 2.815764828147186}, "aligned": {"rotation_deg_mean": 0.40198426090103134, "rotation_deg_max": 0.9465112591251122, "translation_mean": 0.03879477988433045, "translation_radius_pct_mean": 0.9623800449400537}, "sim3": {"scale": 0.9731894630460977, "rotation": [[0.9999985844243451, 0.0016825508938186212, 1.3107076354424594e-05], [-0.0016825383039808439, 0.9999981725982098, -0.0009076701469414502], [-1.4634253619382907e-05, 0.0009076468089075851, 0.9999995879814683]], "translation": [-0.0016124668992714697, -0.0030100407218263403, 0.0012814297929653051]}}} +{"step": 14000, "train_loss": 0.01128001231700182, "val_psnr": 18.6918888092041, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.2701457738876343, "translation_update_mean": 0.04968621954321861, "rotation_update_deg_mean": 0.43433597683906555, "pose_errors": {"raw": {"rotation_deg_mean": 0.4107043944217966, "rotation_deg_max": 0.9262743903689221, "translation_mean": 0.12741759237797334, "translation_radius_pct_mean": 3.1608414494032577}, "aligned": {"rotation_deg_mean": 0.3795133966771144, "rotation_deg_max": 0.8767823356789827, "translation_mean": 0.030371267809991928, "translation_radius_pct_mean": 0.7534184281239384}, "sim3": {"scale": 0.9693233315324502, "rotation": [[0.9999941986998646, 0.0015844936739206577, 0.003015285461204436], [-0.0015816538343988208, 0.9999983036481195, -0.000943966118081181], [-0.0030167760545617654, 0.0009391915040388531, 0.99999500847832]], "translation": [-0.015940694433715652, -0.004634281055371739, 0.00222609998575507]}}} +{"step": 15000, "train_loss": 0.010452119633555412, "val_psnr": 18.58112144470215, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.7400354743003845, "translation_update_mean": 0.03844493255019188, "rotation_update_deg_mean": 0.4115024507045746, "pose_errors": {"raw": {"rotation_deg_mean": 0.3494418936890506, "rotation_deg_max": 0.8318171309115339, "translation_mean": 0.12326391091436811, "translation_radius_pct_mean": 3.057801293858371}, "aligned": {"rotation_deg_mean": 0.32474564610331397, "rotation_deg_max": 0.8548571857655534, "translation_mean": 0.028543386285218998, "translation_radius_pct_mean": 0.708074268182807}, "sim3": {"scale": 0.969748803521464, "rotation": [[0.9999962276932358, 0.0009039171504694587, 0.0025937488474665877], [-0.0009011617578003955, 0.9999990286576296, -0.0010632926612819732], [-0.0025947074565208783, 0.0010609512629452089, 0.9999960709300973]], "translation": [-0.013768719285499553, -0.0032965581203248245, 0.00514642592502268]}}} +{"step": 16000, "train_loss": 0.010662859305739403, "val_psnr": 19.936233520507812, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 1.413447618484497, "translation_update_mean": 0.03623140603303909, "rotation_update_deg_mean": 0.35453924536705017, "pose_errors": {"raw": {"rotation_deg_mean": 0.341750825756301, "rotation_deg_max": 0.7396102403504112, "translation_mean": 0.11638890735368689, "translation_radius_pct_mean": 2.8872534455288115}, "aligned": {"rotation_deg_mean": 0.31609920230037636, "rotation_deg_max": 0.7735046677070861, "translation_mean": 0.02683055831896721, "translation_radius_pct_mean": 0.6655842357596106}, "sim3": {"scale": 0.9722517157891579, "rotation": [[0.9999979731726619, 0.001058338413067841, 0.0017127668758969896], [-0.0010576372750856573, 0.9999993565637976, -0.0004102138283145283], [-0.0017131999188928384, 0.0004084015107903713, 0.9999984490759188]], "translation": [-0.008474854742069604, -0.007076241324540905, -4.791246996882492e-05]}}} +{"step": 17000, "train_loss": 0.008259119465947151, "val_psnr": 19.41596221923828, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.8720141053199768, "translation_update_mean": 0.03658592700958252, "rotation_update_deg_mean": 0.3459935188293457, "pose_errors": {"raw": {"rotation_deg_mean": 0.3425796863653469, "rotation_deg_max": 0.8573195018878155, "translation_mean": 0.11722001355822778, "translation_radius_pct_mean": 2.907870653020665}, "aligned": {"rotation_deg_mean": 0.2922600133509125, "rotation_deg_max": 0.7697699513207296, "translation_mean": 0.02566052995813974, "translation_radius_pct_mean": 0.6365594043304448}, "sim3": {"scale": 0.9714704606887831, "rotation": [[0.9999972313439571, 0.0007410405157970394, 0.0022334196592495386], [-0.0007348232911476157, 0.9999958567391759, -0.0027832605361382975], [-0.0022354729144327245, 0.0027816116614626774, 0.9999936326284357]], "translation": [-0.010286847050020809, 0.0029554090607916833, 0.0030922484951121376]}}} +{"step": 18000, "train_loss": 0.008582279086112976, "val_psnr": 18.945730209350586, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.9026771783828735, "translation_update_mean": 0.03279256820678711, "rotation_update_deg_mean": 0.30689695477485657, "pose_errors": {"raw": {"rotation_deg_mean": 0.3046051859329748, "rotation_deg_max": 0.6674134993911361, "translation_mean": 0.11470548831748079, "translation_radius_pct_mean": 2.8454929588719113}, "aligned": {"rotation_deg_mean": 0.2690653870782361, "rotation_deg_max": 0.6899137188199244, "translation_mean": 0.022604538821700416, "translation_radius_pct_mean": 0.5607495944541736}, "sim3": {"scale": 0.9721265333337914, "rotation": [[0.9999941714064772, 0.0012968735382020292, 0.003158365415801576], [-0.001295245316974271, 0.9999990272571655, -0.0005175174327911756], [-0.0031590334981885415, 0.0005134235583783138, 0.9999948784386896]], "translation": [-0.014503899241975982, -0.005662183899918738, 0.001872290295641843]}}} +{"step": 19000, "train_loss": 0.007168788928538561, "val_psnr": 20.03369140625, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.7191352844238281, "translation_update_mean": 0.028466150164604187, "rotation_update_deg_mean": 0.28062522411346436, "pose_errors": {"raw": {"rotation_deg_mean": 0.2902624640535137, "rotation_deg_max": 0.6741220536730904, "translation_mean": 0.11799892859210294, "translation_radius_pct_mean": 2.9271931569126908}, "aligned": {"rotation_deg_mean": 0.23386543312792832, "rotation_deg_max": 0.6316430129918835, "translation_mean": 0.020275553806418947, "translation_radius_pct_mean": 0.502974586828042}, "sim3": {"scale": 0.9713522690302815, "rotation": [[0.9999956252087016, 0.0015198715619630996, 0.0025376276112103087], [-0.0015152434425764196, 0.9999971872035838, -0.0018247252477849956], [-0.002540393821392861, 0.0018208721413953215, 0.9999951154000082]], "translation": [-0.012726133789607907, -0.0017178849164944249, 0.0016604363679704193]}}} +{"step": 20000, "train_loss": 0.007420832756906748, "val_psnr": 18.62363624572754, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.5358718037605286, "translation_update_mean": 0.02522582933306694, "rotation_update_deg_mean": 0.2458287626504898, "pose_errors": {"raw": {"rotation_deg_mean": 0.2655327409429529, "rotation_deg_max": 0.6583269986232625, "translation_mean": 0.12017122443510071, "translation_radius_pct_mean": 2.981081184560753}, "aligned": {"rotation_deg_mean": 0.22226784611254352, "rotation_deg_max": 0.5750647105241319, "translation_mean": 0.018144682960745978, "translation_radius_pct_mean": 0.4501141868893249}, "sim3": {"scale": 0.9707063974523924, "rotation": [[0.9999970471052024, 0.0010017944541212023, 0.0022140886944082812], [-0.001000204012733112, 0.9999992410862395, -0.000719318342610267], [-0.0022148076232321803, 0.000717101678142177, 0.9999972901925155]], "translation": [-0.011182788396686627, -0.00463073520370598, 0.002582948543917496]}}} +{"step": 21000, "train_loss": 0.008439688943326473, "val_psnr": 18.7701473236084, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.9855391383171082, "translation_update_mean": 0.02279139868915081, "rotation_update_deg_mean": 0.252402126789093, "pose_errors": {"raw": {"rotation_deg_mean": 0.24384788311002892, "rotation_deg_max": 0.5902670588585494, "translation_mean": 0.1257635299092509, "translation_radius_pct_mean": 3.1198092095573577}, "aligned": {"rotation_deg_mean": 0.20800307209501845, "rotation_deg_max": 0.49697358725063057, "translation_mean": 0.0168045445912966, "translation_radius_pct_mean": 0.4168694455075723}, "sim3": {"scale": 0.9695818253683391, "rotation": [[0.9999980005218035, 0.0010092947615901679, 0.0017263477281187127], [-0.0010085294905410695, 0.9999993928205838, -0.00044410216196620947], [-0.0017267949099015177, 0.0004423602013988636, 0.9999984112471325]], "translation": [-0.00866668924423053, -0.00601936215359733, 0.0013796282806359805]}}} +{"step": 22000, "train_loss": 0.009023593738675117, "val_psnr": 18.2744140625, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 0.8122392892837524, "translation_update_mean": 0.020607750862836838, "rotation_update_deg_mean": 0.2230730801820755, "pose_errors": {"raw": {"rotation_deg_mean": 0.24443377414333436, "rotation_deg_max": 0.5779685170179807, "translation_mean": 0.12555017315063416, "translation_radius_pct_mean": 3.1145164797736586}, "aligned": {"rotation_deg_mean": 0.21098037761291225, "rotation_deg_max": 0.5378888894702758, "translation_mean": 0.01739762178036021, "translation_radius_pct_mean": 0.43158187984966007}, "sim3": {"scale": 0.9695744121353725, "rotation": [[0.9999972931253868, 0.0011202728067225974, 0.0020392966283061804], [-0.0011193512196027758, 0.9999992709218973, -0.00045299947229635295], [-0.002039802624490115, 0.0004507155569155267, 0.9999978180279905]], "translation": [-0.008830870134777846, -0.004986049269967777, 0.0018650015821437549]}}} +{"step": 23000, "train_loss": 0.007755187340080738, "val_psnr": 18.089046478271484, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.9641193747520447, "translation_update_mean": 0.022243181243538857, "rotation_update_deg_mean": 0.20668400824069977, "pose_errors": {"raw": {"rotation_deg_mean": 0.228175392505321, "rotation_deg_max": 0.6200048544763693, "translation_mean": 0.12987394517622722, "translation_radius_pct_mean": 3.2217760628595133}, "aligned": {"rotation_deg_mean": 0.19221196204918187, "rotation_deg_max": 0.6055628991643754, "translation_mean": 0.015523240896406987, "translation_radius_pct_mean": 0.3850842127740369}, "sim3": {"scale": 0.9686156936129292, "rotation": [[0.9999984463731312, 0.0008142987616624256, 0.001563383782610276], [-0.0008133772375961114, 0.9999994951660673, -0.0005899873565627759], [-0.0015638634193351013, 0.0005887148191602355, 0.9999986038720606]], "translation": [-0.007877631017029096, -0.005309307225576168, 0.0013500905304977273]}}} +{"step": 24000, "train_loss": 0.006199635099619627, "val_psnr": 18.03299331665039, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.5951231122016907, "translation_update_mean": 0.01940174773335457, "rotation_update_deg_mean": 0.19037577509880066, "pose_errors": {"raw": {"rotation_deg_mean": 0.20133243411260263, "rotation_deg_max": 0.5162242324166527, "translation_mean": 0.12809728131857828, "translation_radius_pct_mean": 3.1777024568675336}, "aligned": {"rotation_deg_mean": 0.1771415138185916, "rotation_deg_max": 0.4321681928344021, "translation_mean": 0.01477716266352852, "translation_radius_pct_mean": 0.3665762896610001}, "sim3": {"scale": 0.9688400945259313, "rotation": [[0.9999976107908412, 0.00045734228102931675, 0.0021375805593437554], [-0.00045755461909234845, 0.9999998904364426, 9.884772596964629e-05], [-0.002137535117898344, -9.982554966031687e-05, 0.9999977104866186]], "translation": [-0.011053700025661417, -0.007734248418323583, 0.0021741988369305965]}}} +{"step": 25000, "train_loss": 0.0075718071311712265, "val_psnr": 19.48281478881836, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.7272046208381653, "translation_update_mean": 0.017439978197216988, "rotation_update_deg_mean": 0.17400050163269043, "pose_errors": {"raw": {"rotation_deg_mean": 0.18973790033752957, "rotation_deg_max": 0.4945381340680118, "translation_mean": 0.13046609440881946, "translation_radius_pct_mean": 3.236465477434682}, "aligned": {"rotation_deg_mean": 0.16141815452812608, "rotation_deg_max": 0.4324684640072183, "translation_mean": 0.015150282278175482, "translation_radius_pct_mean": 0.3758322481322839}, "sim3": {"scale": 0.9683431429091061, "rotation": [[0.9999984475268936, 0.00045406499035679636, 0.0017025771017211229], [-0.000452767624063646, 0.9999996069427619, -0.0007623095176183597], [-0.0017029225705747792, 0.0007615374623643114, 0.9999982600561934]], "translation": [-0.01059322959415937, -0.00391983098622882, 0.0017130606983011276]}}} +{"step": 26000, "train_loss": 0.006838776171207428, "val_psnr": 18.3177547454834, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 1.294629693031311, "translation_update_mean": 0.01679091341793537, "rotation_update_deg_mean": 0.16359785199165344, "pose_errors": {"raw": {"rotation_deg_mean": 0.17900759148790105, "rotation_deg_max": 0.4041923843120793, "translation_mean": 0.13202794658351322, "translation_radius_pct_mean": 3.275210261412142}, "aligned": {"rotation_deg_mean": 0.1465029626527078, "rotation_deg_max": 0.3586435603076379, "translation_mean": 0.012559258280374875, "translation_radius_pct_mean": 0.31155685337869043}, "sim3": {"scale": 0.9679564318428449, "rotation": [[0.99999884068462, 0.0005237719414541365, 0.0014297875262845098], [-0.0005226505217629801, 0.9999995556296536, -0.000784587107259784], [-0.0014301978356418324, 0.0007838389184792762, 0.9999986700644673]], "translation": [-0.008462531613869673, -0.002953876231141045, 0.0019676834062285486]}}} +{"step": 27000, "train_loss": 0.007250129710882902, "val_psnr": 17.601848602294922, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.9317461252212524, "translation_update_mean": 0.01589982770383358, "rotation_update_deg_mean": 0.15838278830051422, "pose_errors": {"raw": {"rotation_deg_mean": 0.1736968377772845, "rotation_deg_max": 0.3402981821666363, "translation_mean": 0.13261998153596843, "translation_radius_pct_mean": 3.2898968410460188}, "aligned": {"rotation_deg_mean": 0.13164632935315673, "rotation_deg_max": 0.2897693123887314, "translation_mean": 0.011401137507762074, "translation_radius_pct_mean": 0.2828274128581813}, "sim3": {"scale": 0.9677316958890418, "rotation": [[0.9999986722395477, 0.00021925502238971138, 0.001614758922254756], [-0.0002176967480677544, 0.9999995105637235, -0.0009651323419981674], [-0.0016149697420462692, 0.0009647795327672731, 0.9999982305350261]], "translation": [-0.009822140979550475, -0.0015927118928773243, 0.0021221557155435278]}}} +{"step": 28000, "train_loss": 0.005995036102831364, "val_psnr": 18.46038055419922, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.6214408874511719, "translation_update_mean": 0.015302726998925209, "rotation_update_deg_mean": 0.1531943827867508, "pose_errors": {"raw": {"rotation_deg_mean": 0.16827543915426205, "rotation_deg_max": 0.38636429394054417, "translation_mean": 0.13053141017614245, "translation_radius_pct_mean": 3.238085762206989}, "aligned": {"rotation_deg_mean": 0.1364545292176056, "rotation_deg_max": 0.32799536584391853, "translation_mean": 0.011938929673871708, "translation_radius_pct_mean": 0.29616839457098243}, "sim3": {"scale": 0.9682984707687324, "rotation": [[0.9999982885103712, 0.0005355951472135594, 0.001770907723875319], [-0.00053407589877948, 0.9999994890812677, -0.0008582541222148887], [-0.0017713664958282538, 0.0008573068541875422, 0.9999980636409724]], "translation": [-0.010528964334325153, -0.002928295681080592, 0.0015856833628928868]}}} +{"step": 29000, "train_loss": 0.0076954662799835205, "val_psnr": 17.280696868896484, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.9574546813964844, "translation_update_mean": 0.014965236186981201, "rotation_update_deg_mean": 0.14565293490886688, "pose_errors": {"raw": {"rotation_deg_mean": 0.16592008202984007, "rotation_deg_max": 0.41665332062804, "translation_mean": 0.131293758151575, "translation_radius_pct_mean": 3.25699728795979}, "aligned": {"rotation_deg_mean": 0.13360142101227926, "rotation_deg_max": 0.3350581727090059, "translation_mean": 0.011370969050175204, "translation_radius_pct_mean": 0.282079025532495}, "sim3": {"scale": 0.9682365041341707, "rotation": [[0.9999988630381782, 0.00056367737450131, 0.0013986386842184046], [-0.0005629695097420109, 0.9999997132858606, -0.0005064519009013703], [-0.0013989237586867092, 0.0005056639341504749, 0.9999988936575399]], "translation": [-0.009908994771590074, -0.0046068298736414715, 0.0008003120818673715]}}} +{"step": 29999, "train_loss": 0.005494596436619759, "val_psnr": 19.763912200927734, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 1.2719764709472656, "translation_update_mean": 0.013407940976321697, "rotation_update_deg_mean": 0.1309177428483963, "pose_errors": {"raw": {"rotation_deg_mean": 0.1557625125700529, "rotation_deg_max": 0.39519983919577334, "translation_mean": 0.13099553758869983, "translation_radius_pct_mean": 3.2495993462893495}, "aligned": {"rotation_deg_mean": 0.12437619550120269, "rotation_deg_max": 0.40878292956343276, "translation_mean": 0.010353325017966987, "translation_radius_pct_mean": 0.25683438405316306}, "sim3": {"scale": 0.9681875591210032, "rotation": [[0.9999986564818716, 0.0006547544734704778, 0.0015027744443257163], [-0.0006535819843914043, 0.9999994817666508, -0.0007805748008967522], [-0.0015032847503806096, 0.0007795915658768924, 0.9999985661849464]], "translation": [-0.010390049634495024, -0.0034855277561925274, 0.0015617966249807935]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R2.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R2.jsonl new file mode 100644 index 0000000..0af9fea --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R2.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.342212051153183, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.007360697258263826, "translation_update_mean": 1.0078627354914715e-07, "rotation_update_deg_mean": 1.8077928416460054e-06, "pose_errors": {"raw": {"rotation_deg_mean": 2.000083165947041, "rotation_deg_max": 2.0004965782920214, "translation_mean": 6.719487945294061e-08, "translation_radius_pct_mean": 1.6668998071511686e-06}, "aligned": {"rotation_deg_mean": 2.0000831706602145, "rotation_deg_max": 2.0004965782920214, "translation_mean": 4.792043353598632e-07, "translation_radius_pct_mean": 1.1887596505873382e-05}, "sim3": {"scale": 0.9999999721143424, "rotation": [[1.0000000000000004, 1.2099056266082381e-09, -1.7122495684153086e-09], [-1.20990552213548e-09, 1.0000000000000007, -3.7014701110422984e-09], [1.7122493812351865e-09, 3.7014701332518525e-09, 1.0000000000000016]], "translation": [-1.2112923886142823e-08, -3.1582485723880005e-08, -4.5751331212429136e-07]}}} +{"step": 1000, "train_loss": 0.03926810622215271, "val_psnr": 17.59723472595215, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 2.0342559814453125, "translation_update_mean": 0.10736759006977081, "rotation_update_deg_mean": 1.650249719619751, "pose_errors": {"raw": {"rotation_deg_mean": 1.6794174887462825, "rotation_deg_max": 5.107831817232126, "translation_mean": 0.1073675999775981, "translation_radius_pct_mean": 2.6634623523996797}, "aligned": {"rotation_deg_mean": 1.6805597035370052, "rotation_deg_max": 5.064155293197573, "translation_mean": 0.10696347972770175, "translation_radius_pct_mean": 2.6534373628156165}, "sim3": {"scale": 1.000251583884547, "rotation": [[0.9999992681255853, -0.0010524308252879105, 0.0005967726965796961], [0.0010547580049908656, 0.9999917887245492, -0.003912795551404192], [-0.0005926498496632516, 0.00391342213850805, 0.9999921669159815]], "translation": [0.007280378011612132, 0.01989376746078835, -0.0077515923858206826]}}} +{"step": 2000, "train_loss": 0.031764693558216095, "val_psnr": 17.860431671142578, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.6570391654968262, "translation_update_mean": 0.14100982248783112, "rotation_update_deg_mean": 1.7286667823791504, "pose_errors": {"raw": {"rotation_deg_mean": 1.519291566383145, "rotation_deg_max": 3.9185511433916638, "translation_mean": 0.14335925964470436, "translation_radius_pct_mean": 3.556305542931282}, "aligned": {"rotation_deg_mean": 1.5041010645142523, "rotation_deg_max": 3.7597344216216815, "translation_mean": 0.14238074775285325, "translation_radius_pct_mean": 3.532031650380228}, "sim3": {"scale": 1.0016029297365847, "rotation": [[0.9999995707963651, -0.0006497618787020917, 0.0006604669454311401], [0.0006525888635829917, 0.9999905887582602, -0.004289116771970871], [-0.0006576738250452819, 0.004289545944439629, 0.9999905835860302]], "translation": [0.01787693696399456, 0.018626486931010176, -0.0029244489903215154]}}} +{"step": 3000, "train_loss": 0.02935408428311348, "val_psnr": 19.413894653320312, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.293286919593811, "translation_update_mean": 0.15111127495765686, "rotation_update_deg_mean": 1.5530952215194702, "pose_errors": {"raw": {"rotation_deg_mean": 1.4966091420193235, "rotation_deg_max": 3.7226031508158393, "translation_mean": 0.1525112972623479, "translation_radius_pct_mean": 3.783339654222074}, "aligned": {"rotation_deg_mean": 1.4411724312358904, "rotation_deg_max": 3.326924415030393, "translation_mean": 0.15163194048693648, "translation_radius_pct_mean": 3.761525497380303}, "sim3": {"scale": 0.9962895691939482, "rotation": [[0.9999977083780096, 0.0017407387084902117, 0.001246221279649666], [-0.001731257457635873, 0.9999698554582932, -0.007569076716165934], [-0.0012593594977076317, 0.007566901840819149, 0.9999705775722535]], "translation": [0.014367338925339979, 0.030012318452458712, -0.0018976302328646]}}} +{"step": 4000, "train_loss": 0.02824346534907818, "val_psnr": 19.606740951538086, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.0888559818267822, "translation_update_mean": 0.1426774114370346, "rotation_update_deg_mean": 1.3799957036972046, "pose_errors": {"raw": {"rotation_deg_mean": 1.4224714076513758, "rotation_deg_max": 3.8575626260980798, "translation_mean": 0.13724147641223916, "translation_radius_pct_mean": 3.4045420190822546}, "aligned": {"rotation_deg_mean": 1.4793927618540508, "rotation_deg_max": 3.6636722554322003, "translation_mean": 0.13359429769159384, "translation_radius_pct_mean": 3.3140666501912777}, "sim3": {"scale": 0.9955713815011759, "rotation": [[0.9999883966086666, 0.00015914622789110097, -0.0048146983816138526], [-0.0002075648777966556, 0.9999493995530084, -0.010057596651220175], [0.004812854127154973, 0.01005847931127162, 0.9999378297819792]], "translation": [0.03499367110522217, 0.03202895098223661, -0.003078656028459914]}}} +{"step": 5000, "train_loss": 0.0230550579726696, "val_psnr": 20.32150650024414, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 1.0968937873840332, "translation_update_mean": 0.12251230329275131, "rotation_update_deg_mean": 1.153589129447937, "pose_errors": {"raw": {"rotation_deg_mean": 1.1850751460881341, "rotation_deg_max": 3.3541903030916087, "translation_mean": 0.10850298766963937, "translation_radius_pct_mean": 2.691627854597371}, "aligned": {"rotation_deg_mean": 1.2246947430037587, "rotation_deg_max": 3.360431040820048, "translation_mean": 0.09881300112583818, "translation_radius_pct_mean": 2.4512488728555897}, "sim3": {"scale": 0.9921151726788202, "rotation": [[0.9999836205870852, 0.0016009488338272588, -0.00549504507498719], [-0.0016480996716195975, 0.9999617742934275, -0.008586834073931847], [0.005481087941009601, 0.008595749808614508, 0.9999480340298745]], "translation": [0.03362136946806271, 0.031204879813974386, -0.01056475516461619]}}} +{"step": 6000, "train_loss": 0.01635066419839859, "val_psnr": 20.24359703063965, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.9850283265113831, "translation_update_mean": 0.0993788093328476, "rotation_update_deg_mean": 0.955720067024231, "pose_errors": {"raw": {"rotation_deg_mean": 1.0439668878841892, "rotation_deg_max": 3.2927269551236056, "translation_mean": 0.09370571831264929, "translation_radius_pct_mean": 2.324552779259153}, "aligned": {"rotation_deg_mean": 1.0217237515006072, "rotation_deg_max": 2.8917941386684283, "translation_mean": 0.08905255664339246, "translation_radius_pct_mean": 2.2091220447705298}, "sim3": {"scale": 0.9966337742947665, "rotation": [[0.999999739802325, 0.00044046235984394227, -0.000571303940447804], [-0.00044515244068367183, 0.999965989015228, -0.008235450935017104], [0.000567657103684869, 0.008235703109515317, 0.9999659248992968]], "translation": [0.009685179474731909, 0.028102452101947263, -0.011351271892495518]}}} +{"step": 7000, "train_loss": 0.021529607474803925, "val_psnr": 18.897401809692383, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.1952277421951294, "translation_update_mean": 0.09849507361650467, "rotation_update_deg_mean": 0.8532754182815552, "pose_errors": {"raw": {"rotation_deg_mean": 0.8185733860691004, "rotation_deg_max": 3.1615410902001138, "translation_mean": 0.07671642840319173, "translation_radius_pct_mean": 1.9031003664522606}, "aligned": {"rotation_deg_mean": 0.7703585321924976, "rotation_deg_max": 3.0657941913797737, "translation_mean": 0.07297807551460206, "translation_radius_pct_mean": 1.8103632448176084}, "sim3": {"scale": 0.9978695292954932, "rotation": [[0.9999982357571946, 0.0012046034437173142, 0.0014413233644359259], [-0.0011995135733781376, 0.9999930604999326, -0.0035270553106237306], [-0.001445562065345594, 0.0035253202011024994, 0.9999927412075515]], "translation": [0.0024349824129797915, 0.013049590559785523, -0.014422421808950592]}}} +{"step": 8000, "train_loss": 0.012863379903137684, "val_psnr": 19.565288543701172, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 1.0885417461395264, "translation_update_mean": 0.0788617804646492, "rotation_update_deg_mean": 0.716823160648346, "pose_errors": {"raw": {"rotation_deg_mean": 0.6881995064947535, "rotation_deg_max": 2.097411482796194, "translation_mean": 0.06917489845308683, "translation_radius_pct_mean": 1.716018033366767}, "aligned": {"rotation_deg_mean": 0.6316179654754819, "rotation_deg_max": 1.888133375380238, "translation_mean": 0.06167914133218173, "translation_radius_pct_mean": 1.5300711844251111}, "sim3": {"scale": 0.9958311078609832, "rotation": [[0.9999924518610308, -0.00025829667531128533, 0.00387679039818897], [0.0002779413334711714, 0.9999871211845917, -0.005067564855783022], [-0.0038754315345668152, 0.0050686041253920865, 0.9999796449341555]], "translation": [-0.011366040696761615, 0.022622072030851842, -0.015490853651874303]}}} +{"step": 9000, "train_loss": 0.01594780758023262, "val_psnr": 20.343406677246094, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 1.2648974657058716, "translation_update_mean": 0.07100170105695724, "rotation_update_deg_mean": 0.6421661376953125, "pose_errors": {"raw": {"rotation_deg_mean": 0.6712353300720975, "rotation_deg_max": 1.4563104218201703, "translation_mean": 0.06877161226295364, "translation_radius_pct_mean": 1.7060137342589674}, "aligned": {"rotation_deg_mean": 0.5841509624246409, "rotation_deg_max": 1.3355541868088128, "translation_mean": 0.05457586159197867, "translation_radius_pct_mean": 1.3538605010295461}, "sim3": {"scale": 0.9939066199260509, "rotation": [[0.9999962542395593, -8.416125352928021e-05, 0.0027357674852683217], [9.898690509542877e-05, 0.9999853094526988, -0.005419509238153], [-0.0027352711826556467, 0.005419759743126101, 0.9999815720781476]], "translation": [-0.0035984521007880743, 0.026383771731327464, -0.018008748064764823]}}} +{"step": 10000, "train_loss": 0.015511566773056984, "val_psnr": 21.426057815551758, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.0541248321533203, "translation_update_mean": 0.060492370277643204, "rotation_update_deg_mean": 0.5909489393234253, "pose_errors": {"raw": {"rotation_deg_mean": 0.5790882115739694, "rotation_deg_max": 1.438122136062093, "translation_mean": 0.05992402526363274, "translation_radius_pct_mean": 1.4865321132933422}, "aligned": {"rotation_deg_mean": 0.5099393947278476, "rotation_deg_max": 1.2061454449848934, "translation_mean": 0.04369241535378642, "translation_radius_pct_mean": 1.083875428010878}, "sim3": {"scale": 0.9921728903819166, "rotation": [[0.99998736864316, 0.0001381213548508007, 0.005024288668118567], [-0.00012300449244726034, 0.9999954655607111, -0.0030089413274776286], [-0.005024681484839435, 0.0030082853103884566, 0.9999828512506942]], "translation": [-0.013007072877805503, 0.013242882504503749, -0.015923468080876635]}}} +{"step": 11000, "train_loss": 0.011533119715750217, "val_psnr": 20.52095603942871, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.8652105331420898, "translation_update_mean": 0.05737181007862091, "rotation_update_deg_mean": 0.5437726974487305, "pose_errors": {"raw": {"rotation_deg_mean": 0.5826085670293347, "rotation_deg_max": 1.3716628826046158, "translation_mean": 0.056073009679611936, "translation_radius_pct_mean": 1.391000174154496}, "aligned": {"rotation_deg_mean": 0.4667721094573848, "rotation_deg_max": 1.2514641813165577, "translation_mean": 0.04284351511661832, "translation_radius_pct_mean": 1.062816804896343}, "sim3": {"scale": 0.9948670521238323, "rotation": [[0.9999949442728099, 0.001690152608226053, 0.0026934760032469867], [-0.0016765490329244954, 0.9999858692623697, -0.0050448447867732565], [-0.0027019645000187164, 0.005040303536825743, 0.9999836472303414]], "translation": [-0.005123481547093078, 0.01764491270364124, -0.0198852742098099]}}} +{"step": 12000, "train_loss": 0.009493337012827396, "val_psnr": 20.422666549682617, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.7571859955787659, "translation_update_mean": 0.05140058323740959, "rotation_update_deg_mean": 0.490761399269104, "pose_errors": {"raw": {"rotation_deg_mean": 0.49189688363110873, "rotation_deg_max": 1.4949149759412592, "translation_mean": 0.05195130344970865, "translation_radius_pct_mean": 1.2887532265344583}, "aligned": {"rotation_deg_mean": 0.42171807998598204, "rotation_deg_max": 1.5950509861037974, "translation_mean": 0.03752680359749876, "translation_radius_pct_mean": 0.9309254245106467}, "sim3": {"scale": 0.9944326213524288, "rotation": [[0.9999884243571335, 0.001542044100824951, 0.004557768283600026], [-0.0015348224700551293, 0.9999975620159565, -0.0015875396459563752], [-0.004560205227979518, 0.0015805259039894644, 0.9999883531652474]], "translation": [-0.01041906137250731, 0.012327833077931727, -0.018426716644247776]}}} +{"step": 13000, "train_loss": 0.012698564678430557, "val_psnr": 20.699161529541016, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 1.110144019126892, "translation_update_mean": 0.04307704046368599, "rotation_update_deg_mean": 0.4471769630908966, "pose_errors": {"raw": {"rotation_deg_mean": 0.4615564631330973, "rotation_deg_max": 1.457689482805132, "translation_mean": 0.0485755634340693, "translation_radius_pct_mean": 1.205011423187634}, "aligned": {"rotation_deg_mean": 0.37664064418715626, "rotation_deg_max": 1.2526206903844712, "translation_mean": 0.03370828599921041, "translation_radius_pct_mean": 0.8361996611785177}, "sim3": {"scale": 0.9954161035049963, "rotation": [[0.9999958230960397, 0.0010258191519459793, 0.0027021261149882615], [-0.0010168919589625507, 0.9999940278089542, -0.003303070869372644], [-0.0027054983307327842, 0.003300309302444377, 0.9999908940771856]], "translation": [-0.006070545471256017, 0.020271781873610138, -0.01791586784367727]}}} +{"step": 14000, "train_loss": 0.012355608865618706, "val_psnr": 19.615001678466797, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 0.7510484457015991, "translation_update_mean": 0.04659838601946831, "rotation_update_deg_mean": 0.4638482630252838, "pose_errors": {"raw": {"rotation_deg_mean": 0.4239656100476246, "rotation_deg_max": 1.1024551858924974, "translation_mean": 0.04899446099365403, "translation_radius_pct_mean": 1.215402992708596}, "aligned": {"rotation_deg_mean": 0.3657651219356592, "rotation_deg_max": 1.1421879017931718, "translation_mean": 0.031178894807007588, "translation_radius_pct_mean": 0.7734531881612461}, "sim3": {"scale": 0.9948680291197486, "rotation": [[0.9999912783773595, 0.001533868053234533, 0.0038846387231673595], [-0.0015224479879927233, 0.9999945161619223, -0.0029410539277282804], [-0.0038891286091001535, 0.0029351141165576346, 0.9999881298214415]], "translation": [-0.010247920045667103, 0.023697090783766098, -0.017863380597756162]}}} +{"step": 15000, "train_loss": 0.009966352954506874, "val_psnr": 19.767833709716797, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.5813300013542175, "translation_update_mean": 0.03687286004424095, "rotation_update_deg_mean": 0.3943329453468323, "pose_errors": {"raw": {"rotation_deg_mean": 0.39609693967010995, "rotation_deg_max": 1.0364427683151538, "translation_mean": 0.04474964318189749, "translation_radius_pct_mean": 1.1101020226136318}, "aligned": {"rotation_deg_mean": 0.352007551732767, "rotation_deg_max": 0.8417390460766798, "translation_mean": 0.028494609406042253, "translation_radius_pct_mean": 0.7068642627306789}, "sim3": {"scale": 0.9946450639947132, "rotation": [[0.9999900342001298, 0.00200842469217606, 0.003987195841475561], [-0.0020047007150332573, 0.9999975508866831, -0.0009377609924209636], [-0.003989069498713697, 0.0009297585125282482, 0.9999916114016373]], "translation": [-0.011859083027436212, 0.014837886340977935, -0.016111071782289876]}}} +{"step": 16000, "train_loss": 0.011371281929314137, "val_psnr": 20.72422981262207, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.8883429169654846, "translation_update_mean": 0.03832641988992691, "rotation_update_deg_mean": 0.3570323884487152, "pose_errors": {"raw": {"rotation_deg_mean": 0.32290153662651444, "rotation_deg_max": 0.8291818256294212, "translation_mean": 0.055040235956405184, "translation_radius_pct_mean": 1.3653802112338127}, "aligned": {"rotation_deg_mean": 0.27181121165523, "rotation_deg_max": 0.7834094380645014, "translation_mean": 0.024322733390054137, "translation_radius_pct_mean": 0.6033727558907951}, "sim3": {"scale": 0.9903291705192282, "rotation": [[0.9999954942248175, 0.001016514059632672, 0.0028245759379744335], [-0.001011995131015162, 0.999998206603242, -0.0016008298331188478], [-0.0028261981384214243, 0.0015979641630430497, 0.9999947295434186]], "translation": [-0.007820557813193352, 0.019628087870486505, -0.016652345900654897]}}} +{"step": 17000, "train_loss": 0.00731579028069973, "val_psnr": 19.922502517700195, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.672653317451477, "translation_update_mean": 0.0315527617931366, "rotation_update_deg_mean": 0.3049420714378357, "pose_errors": {"raw": {"rotation_deg_mean": 0.33692679704332773, "rotation_deg_max": 0.8584791867318359, "translation_mean": 0.052917761740841535, "translation_radius_pct_mean": 1.3127281060524327}, "aligned": {"rotation_deg_mean": 0.27811825638587434, "rotation_deg_max": 0.7371624693061181, "translation_mean": 0.024943940417993162, "translation_radius_pct_mean": 0.6187830056524262}, "sim3": {"scale": 0.9913889384815091, "rotation": [[0.9999972172029566, 0.0008947795098210183, 0.0021828779103616213], [-0.0008893353017396226, 0.9999964951463312, -0.002493747737087684], [-0.0021851016140720116, 0.002491799487108839, 0.9999945081180472]], "translation": [-0.003616340825183917, 0.022774311914717578, -0.01623878147694402]}}} +{"step": 18000, "train_loss": 0.007663602940738201, "val_psnr": 19.263107299804688, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.1257797479629517, "translation_update_mean": 0.030732925981283188, "rotation_update_deg_mean": 0.3054419457912445, "pose_errors": {"raw": {"rotation_deg_mean": 0.31364650338864797, "rotation_deg_max": 0.7375653536159362, "translation_mean": 0.05644054109348863, "translation_radius_pct_mean": 1.4001175064259546}, "aligned": {"rotation_deg_mean": 0.27092246080271976, "rotation_deg_max": 0.7545890661275302, "translation_mean": 0.021828174261928755, "translation_radius_pct_mean": 0.5414903600378264}, "sim3": {"scale": 0.989692547913828, "rotation": [[0.999994895142541, 0.0007545406048189854, 0.0031048924835759646], [-0.0007468724590632141, 0.9999966703475236, -0.002470116474489871], [-0.003106745948541727, 0.0024677849062129157, 0.9999921290526588]], "translation": [-0.009744490345103718, 0.02413037710843305, -0.015509977529500674]}}} +{"step": 19000, "train_loss": 0.008850226178765297, "val_psnr": 20.684587478637695, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.7555639147758484, "translation_update_mean": 0.027708446606993675, "rotation_update_deg_mean": 0.29193365573883057, "pose_errors": {"raw": {"rotation_deg_mean": 0.30307607578753826, "rotation_deg_max": 0.8061577870940192, "translation_mean": 0.05560614362335797, "translation_radius_pct_mean": 1.379418652683352}, "aligned": {"rotation_deg_mean": 0.26310274648504783, "rotation_deg_max": 0.7887024931747053, "translation_mean": 0.02163109977534876, "translation_radius_pct_mean": 0.536601543712102}, "sim3": {"scale": 0.9898677205909882, "rotation": [[0.9999924874439126, 0.0007340247283168502, 0.0038060824261716164], [-0.0007304867211555394, 0.999999299931631, -0.0009308734598460463], [-0.0038067630457920623, 0.0009280861739349738, 0.9999923235761191]], "translation": [-0.011610479978930055, 0.018436064696568735, -0.016352779054622957]}}} +{"step": 20000, "train_loss": 0.0076440926641225815, "val_psnr": 19.42936134338379, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.7119355201721191, "translation_update_mean": 0.026647400110960007, "rotation_update_deg_mean": 0.2883291244506836, "pose_errors": {"raw": {"rotation_deg_mean": 0.2837895660962168, "rotation_deg_max": 0.8882085080855707, "translation_mean": 0.052303752209152794, "translation_radius_pct_mean": 1.2974964041981607}, "aligned": {"rotation_deg_mean": 0.23614625657289146, "rotation_deg_max": 0.9118398076535975, "translation_mean": 0.021045531260148787, "translation_radius_pct_mean": 0.5220753766439071}, "sim3": {"scale": 0.9904982595937887, "rotation": [[0.9999990114837229, 0.00032109748883847605, 0.0013689148908202775], [-0.0003185235575265612, 0.9999981819290782, -0.001880074807495404], [-0.0013695160893354647, 0.001879636917369833, 0.999997295691713]], "translation": [-0.0018943078284926473, 0.01890989104249151, -0.014941430613733875]}}} +{"step": 21000, "train_loss": 0.008416961878538132, "val_psnr": 19.742023468017578, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.6959319114685059, "translation_update_mean": 0.026285924017429352, "rotation_update_deg_mean": 0.25109970569610596, "pose_errors": {"raw": {"rotation_deg_mean": 0.26732590628893205, "rotation_deg_max": 0.6523034865163706, "translation_mean": 0.047323999756155116, "translation_radius_pct_mean": 1.1739639494762835}, "aligned": {"rotation_deg_mean": 0.19783394241099256, "rotation_deg_max": 0.5094216855384589, "translation_mean": 0.0188248812216882, "translation_radius_pct_mean": 0.4669878290361676}, "sim3": {"scale": 0.991788023451356, "rotation": [[0.9999976879501931, 8.645851987499169e-05, 0.002148631935072442], [-8.24052408135586e-05, 0.9999982172310672, -0.0018864633743984273], [-0.002148791205389327, 0.0018862819542692034, 0.9999959123100173]], "translation": [-0.00507850454229225, 0.018848033752311637, -0.015579711505562699]}}} +{"step": 22000, "train_loss": 0.00828295573592186, "val_psnr": 20.325828552246094, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 0.7979094386100769, "translation_update_mean": 0.024256419390439987, "rotation_update_deg_mean": 0.2242545634508133, "pose_errors": {"raw": {"rotation_deg_mean": 0.2624631216746564, "rotation_deg_max": 0.6304122282130691, "translation_mean": 0.05000607432253935, "translation_radius_pct_mean": 1.2404980308507723}, "aligned": {"rotation_deg_mean": 0.19536625508964328, "rotation_deg_max": 0.4648477026579164, "translation_mean": 0.017766129688487967, "translation_radius_pct_mean": 0.4407234359621617}, "sim3": {"scale": 0.9907574089944733, "rotation": [[0.9999959213049747, 0.0002022074749786246, 0.0028489446382805226], [-0.000196259860012834, 0.9999978013250547, -0.002087780429838611], [-0.0028493605391863084, 0.0020872127809429953, 0.9999937623242078]], "translation": [-0.007850619124949332, 0.019299307486776093, -0.015060690748834205]}}} +{"step": 23000, "train_loss": 0.008045455440878868, "val_psnr": 19.724760055541992, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.9245139956474304, "translation_update_mean": 0.02261754497885704, "rotation_update_deg_mean": 0.195046529173851, "pose_errors": {"raw": {"rotation_deg_mean": 0.2502395414210137, "rotation_deg_max": 0.659083603262161, "translation_mean": 0.05443298963714963, "translation_radius_pct_mean": 1.3503162840313057}, "aligned": {"rotation_deg_mean": 0.18350695061638791, "rotation_deg_max": 0.5859824807852251, "translation_mean": 0.01577743584724718, "translation_radius_pct_mean": 0.39139001342408597}, "sim3": {"scale": 0.9892086267663646, "rotation": [[0.9999977687371261, -1.9879207748238392e-05, 0.0021123743953504405], [2.4068191582280907e-05, 0.9999980334411372, -0.001983061920331276], [-0.0021123308195419546, 0.0019831083366304908, 0.9999958026611077]], "translation": [-0.004940016240857992, 0.018291393226982276, -0.0134160742368854]}}} +{"step": 24000, "train_loss": 0.00703977607190609, "val_psnr": 20.250890731811523, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 1.027014970779419, "translation_update_mean": 0.018484698608517647, "rotation_update_deg_mean": 0.18193653225898743, "pose_errors": {"raw": {"rotation_deg_mean": 0.2512373190047679, "rotation_deg_max": 0.4900658859545336, "translation_mean": 0.0560950571371081, "translation_radius_pct_mean": 1.3915471042620835}, "aligned": {"rotation_deg_mean": 0.17714043430411752, "rotation_deg_max": 0.3958441003427888, "translation_mean": 0.014210363795937266, "translation_radius_pct_mean": 0.35251574024453686}, "sim3": {"scale": 0.9887104922232471, "rotation": [[0.999997726254192, 0.00023047118334145275, 0.0021199928017894753], [-0.00022646270941293866, 0.9999981867143812, -0.0018908417678185402], [-0.0021204247421768097, 0.001890357369211244, 0.9999959651658252]], "translation": [-0.005379342881622007, 0.01820238851472457, -0.013283615617039501]}}} +{"step": 25000, "train_loss": 0.007830537855625153, "val_psnr": 20.239818572998047, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.7929943799972534, "translation_update_mean": 0.020126666873693466, "rotation_update_deg_mean": 0.18422603607177734, "pose_errors": {"raw": {"rotation_deg_mean": 0.2492625078856925, "rotation_deg_max": 0.5891906523810863, "translation_mean": 0.0628451807194226, "translation_radius_pct_mean": 1.5589970615982924}, "aligned": {"rotation_deg_mean": 0.16922585283206795, "rotation_deg_max": 0.4254076155135381, "translation_mean": 0.01487776265816968, "translation_radius_pct_mean": 0.36907186838711714}, "sim3": {"scale": 0.9869810772719879, "rotation": [[0.999998051588398, 0.00023268066719138534, 0.0019602752647486558], [-0.00022785332691458755, 0.9999969422156533, -0.0024624463861422966], [-0.0019608422343176317, 0.002461994933042428, 0.9999950468270731]], "translation": [-0.0061157839754233945, 0.01974575277071676, -0.013742251131157346]}}} +{"step": 26000, "train_loss": 0.008030536584556103, "val_psnr": 19.541812896728516, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 1.7384346723556519, "translation_update_mean": 0.019444391131401062, "rotation_update_deg_mean": 0.16711997985839844, "pose_errors": {"raw": {"rotation_deg_mean": 0.22959107688290384, "rotation_deg_max": 0.4787226860251306, "translation_mean": 0.06487529669737131, "translation_radius_pct_mean": 1.6093580408825423}, "aligned": {"rotation_deg_mean": 0.15696597967306963, "rotation_deg_max": 0.3887063402540973, "translation_mean": 0.013962187689218173, "translation_radius_pct_mean": 0.346359248741054}, "sim3": {"scale": 0.9862907733105732, "rotation": [[0.9999970026057515, 0.0005635378964886826, 0.002382688513129964], [-0.000557789606947586, 0.9999969343547693, -0.0024124990812848506], [-0.002384040743309643, 0.002411162811184739, 0.999994251305291]], "translation": [-0.0076753092955254565, 0.02049429260359234, -0.013202029303030383]}}} +{"step": 27000, "train_loss": 0.00628270348533988, "val_psnr": 18.116432189941406, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.7167698740959167, "translation_update_mean": 0.016425687819719315, "rotation_update_deg_mean": 0.15823592245578766, "pose_errors": {"raw": {"rotation_deg_mean": 0.2204532043779533, "rotation_deg_max": 0.5335742234942709, "translation_mean": 0.06431252406874277, "translation_radius_pct_mean": 1.5953973701622703}, "aligned": {"rotation_deg_mean": 0.1417626907723306, "rotation_deg_max": 0.4398433414806127, "translation_mean": 0.012798480805822158, "translation_radius_pct_mean": 0.3174912338669174}, "sim3": {"scale": 0.9862931660979145, "rotation": [[0.9999984460562286, 0.0002478060794147384, 0.0017454160748782066], [-0.0002436706803983758, 0.999997163977761, -0.002369105534634835], [-0.0017459982035937184, 0.0023686765464555584, 0.9999956704214733]], "translation": [-0.005474185528880016, 0.021071846709587935, -0.012296335254105895]}}} +{"step": 28000, "train_loss": 0.006875280756503344, "val_psnr": 20.642372131347656, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.66998291015625, "translation_update_mean": 0.014505126513540745, "rotation_update_deg_mean": 0.13775381445884705, "pose_errors": {"raw": {"rotation_deg_mean": 0.22167793507623731, "rotation_deg_max": 0.46935614266013836, "translation_mean": 0.0662902639311188, "translation_radius_pct_mean": 1.6444590579282048}, "aligned": {"rotation_deg_mean": 0.13898071332999268, "rotation_deg_max": 0.34230939550600026, "translation_mean": 0.011052762683912452, "translation_radius_pct_mean": 0.27418529709848344}, "sim3": {"scale": 0.9858751224674476, "rotation": [[0.9999985732317802, 0.0004490802269063224, 0.0016284536692584056], [-0.0004456194443677438, 0.9999976430323224, -0.0021249360248781863], [-0.0016294040977979205, 0.002124207322467683, 0.9999964163863467]], "translation": [-0.003942079422206479, 0.01847084842750736, -0.012693569020384654]}}} +{"step": 29000, "train_loss": 0.008462585508823395, "val_psnr": 18.846284866333008, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.9034823775291443, "translation_update_mean": 0.013695670291781425, "rotation_update_deg_mean": 0.12746773660182953, "pose_errors": {"raw": {"rotation_deg_mean": 0.21566016410279154, "rotation_deg_max": 0.374418940197085, "translation_mean": 0.06874340752924751, "translation_radius_pct_mean": 1.7053140609273347}, "aligned": {"rotation_deg_mean": 0.13464414993400597, "rotation_deg_max": 0.324132394124673, "translation_mean": 0.011045050570128986, "translation_radius_pct_mean": 0.27399398310130024}, "sim3": {"scale": 0.9852819831892201, "rotation": [[0.9999992014028198, 0.0004066723915961753, 0.0011965831722231016], [-0.0004044709515649564, 0.9999982264320947, -0.0018394390215484449], [-0.0011973290990677009, 0.0018389535694433555, 0.9999975923235005]], "translation": [-0.0024180958886317883, 0.017608683892246714, -0.012411323965514143]}}} +{"step": 29999, "train_loss": 0.0055624572560191154, "val_psnr": 19.683944702148438, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.8363881707191467, "translation_update_mean": 0.01188000850379467, "rotation_update_deg_mean": 0.11649534106254578, "pose_errors": {"raw": {"rotation_deg_mean": 0.20496591217017215, "rotation_deg_max": 0.38729008234662504, "translation_mean": 0.0700786270680587, "translation_radius_pct_mean": 1.738436781138591}, "aligned": {"rotation_deg_mean": 0.13006359281034938, "rotation_deg_max": 0.2817226826891873, "translation_mean": 0.010398389217836403, "translation_radius_pct_mean": 0.25795228926682384}, "sim3": {"scale": 0.984887932266441, "rotation": [[0.9999986491358158, 0.0005731732101703637, 0.001540519073182717], [-0.0005706485480059019, 0.9999984943809481, -0.001638778835459816], [-0.0015414560578736977, 0.0016378975267198235, 0.9999974705992576]], "translation": [-0.00389127191225086, 0.017250980682806442, -0.012133138836245116]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R5.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R5.jsonl new file mode 100644 index 0000000..5c7452d --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-R5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34217119216918945, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.0071450513787567616, "translation_update_mean": 1.020641491322749e-07, "rotation_update_deg_mean": 1.7818077822084888e-06, "pose_errors": {"raw": {"rotation_deg_mean": 5.000034241197221, "rotation_deg_max": 5.00021855846307, "translation_mean": 6.476120781125225e-08, "translation_radius_pct_mean": 1.6065278439416708e-06}, "aligned": {"rotation_deg_mean": 5.000034246685928, "rotation_deg_max": 5.00021855846307, "translation_mean": 4.793120151558211e-07, "translation_radius_pct_mean": 1.1890267712854892e-05}, "sim3": {"scale": 0.999999972284878, "rotation": [[1.0000000000000007, -2.333557940781999e-09, 4.7173039924654396e-09], [2.333557543889264e-09, 1.0000000000000004, -2.36038478264132e-09], [-4.717304082091763e-09, 2.360384755746675e-09, 1.000000000000001]], "translation": [-2.6457306567806427e-08, -3.325672008613889e-08, -4.6034132150651885e-07]}}} +{"step": 1000, "train_loss": 0.0723501443862915, "val_psnr": 15.58697509765625, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.797419548034668, "translation_update_mean": 0.1283690333366394, "rotation_update_deg_mean": 2.0594606399536133, "pose_errors": {"raw": {"rotation_deg_mean": 4.281756191736131, "rotation_deg_max": 8.467538380955205, "translation_mean": 0.12836903276998896, "translation_radius_pct_mean": 3.1844437806951444}, "aligned": {"rotation_deg_mean": 4.253312437032998, "rotation_deg_max": 8.604016918964598, "translation_mean": 0.12340944517500388, "translation_radius_pct_mean": 3.0614115545354146}, "sim3": {"scale": 0.9909180202350529, "rotation": [[0.9999814451022281, 0.0006600131496647578, 0.0060558924942764525], [-0.0006305411876931919, 0.9999879559387699, -0.004867278008600496], [-0.00605903202422532, 0.004863369207108857, 0.9999698174299498]], "translation": [-0.016011731463195233, 0.020781886146143035, 0.004336008222477261]}}} +{"step": 2000, "train_loss": 0.03890397399663925, "val_psnr": 16.63060760498047, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.385780692100525, "translation_update_mean": 0.1778024286031723, "rotation_update_deg_mean": 3.200307607650757, "pose_errors": {"raw": {"rotation_deg_mean": 2.6526098642543814, "rotation_deg_max": 7.54608336747651, "translation_mean": 0.2147025756767136, "translation_radius_pct_mean": 5.326115396055095}, "aligned": {"rotation_deg_mean": 2.5513801842849118, "rotation_deg_max": 7.64643576782218, "translation_mean": 0.20687552177699012, "translation_radius_pct_mean": 5.131950085510142}, "sim3": {"scale": 0.9843474412502459, "rotation": [[0.9999663028072524, 0.00027739279828532207, 0.00820465131672753], [-0.00026439672390002735, 0.9999987088849132, -0.0015850308763097967], [-0.00820508039972864, 0.001582808182290005, 0.9999650850774204]], "translation": [-0.01590080892322432, 0.003133167359565231, 0.009549242825599435]}}} +{"step": 3000, "train_loss": 0.03340946510434151, "val_psnr": 17.55410385131836, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.2510889768600464, "translation_update_mean": 0.20481853187084198, "rotation_update_deg_mean": 2.2961244583129883, "pose_errors": {"raw": {"rotation_deg_mean": 1.8857857681996584, "rotation_deg_max": 5.611705219219691, "translation_mean": 0.17561873408573636, "translation_radius_pct_mean": 4.356564612704806}, "aligned": {"rotation_deg_mean": 1.8497069466880571, "rotation_deg_max": 5.006579106129828, "translation_mean": 0.16652672759567796, "translation_radius_pct_mean": 4.131019690408911}, "sim3": {"scale": 0.9854514879988396, "rotation": [[0.9999797643674277, 0.00012627587510884684, 0.006360417444553344], [-6.762979630982935e-05, 0.9999574940143506, -0.009219847653335661], [-0.006361311333071569, 0.009219230930149924, 0.9999372677819257]], "translation": [-0.02004013326084464, 0.05202551422101732, 0.006346662771868239]}}} +{"step": 4000, "train_loss": 0.03126026690006256, "val_psnr": 17.320823669433594, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.1140371561050415, "translation_update_mean": 0.15332794189453125, "rotation_update_deg_mean": 1.4157366752624512, "pose_errors": {"raw": {"rotation_deg_mean": 1.6285071038967547, "rotation_deg_max": 4.8446821328090435, "translation_mean": 0.16889855769434045, "translation_radius_pct_mean": 4.189857553743791}, "aligned": {"rotation_deg_mean": 1.5271372008313073, "rotation_deg_max": 4.4278343157339615, "translation_mean": 0.1533597086084531, "translation_radius_pct_mean": 3.8043861494419677}, "sim3": {"scale": 0.9840892302062695, "rotation": [[0.9999111442981644, -0.0004616272301951765, 0.013322552632128351], [0.0005561659497125767, 0.9999746875012342, -0.007093309259108711], [-0.013318940940325135, 0.007100088528273432, 0.9998860907899055]], "translation": [-0.05927693414840379, 0.058167191854216205, -0.0004981869989078014]}}} +{"step": 5000, "train_loss": 0.023105524480342865, "val_psnr": 16.092445373535156, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.9019891023635864, "translation_update_mean": 0.13679133355617523, "rotation_update_deg_mean": 1.3163632154464722, "pose_errors": {"raw": {"rotation_deg_mean": 1.315431774953423, "rotation_deg_max": 5.962483936781732, "translation_mean": 0.13164260833679317, "translation_radius_pct_mean": 3.2656511959837196}, "aligned": {"rotation_deg_mean": 1.2214201033629852, "rotation_deg_max": 5.226167591122559, "translation_mean": 0.11222317452847162, "translation_radius_pct_mean": 2.7839143324962823}, "sim3": {"scale": 0.9812831669707769, "rotation": [[0.9999373852443283, 4.927823860231682e-05, 0.011190315562636825], [4.6231990710120723e-05, 0.9999635780565423, -0.00853466009639616], [-0.011190328562612812, 0.008534643051304528, 0.9999009633031907]], "translation": [-0.06084287931959548, 0.05805897092075476, 9.464973222828021e-05]}}} +{"step": 6000, "train_loss": 0.015403837896883488, "val_psnr": 16.6324405670166, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 1.1200979948043823, "translation_update_mean": 0.11208000034093857, "rotation_update_deg_mean": 1.0319424867630005, "pose_errors": {"raw": {"rotation_deg_mean": 1.0531090694379925, "rotation_deg_max": 4.291543154838428, "translation_mean": 0.1291182817049331, "translation_radius_pct_mean": 3.203030359245989}, "aligned": {"rotation_deg_mean": 0.9459160068136544, "rotation_deg_max": 3.8330686049994864, "translation_mean": 0.09181879717646298, "translation_radius_pct_mean": 2.277744026812157}, "sim3": {"scale": 0.9787558142641188, "rotation": [[0.9999694641546811, -0.0011693456676692532, 0.007726796807772219], [0.001219545993561215, 0.9999781610153589, -0.006495398364260085], [-0.007719032696438313, 0.006504623205870328, 0.9999490519077358]], "translation": [-0.04752317054731403, 0.05346771846321096, -0.001353802406794724]}}} +{"step": 7000, "train_loss": 0.017183922231197357, "val_psnr": 15.574668884277344, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.1524436473846436, "translation_update_mean": 0.09638650715351105, "rotation_update_deg_mean": 0.8598149418830872, "pose_errors": {"raw": {"rotation_deg_mean": 0.9067954598903093, "rotation_deg_max": 3.005781057782181, "translation_mean": 0.11177664664514277, "translation_radius_pct_mean": 2.772837339001119}, "aligned": {"rotation_deg_mean": 0.816013674888182, "rotation_deg_max": 3.012400280048643, "translation_mean": 0.06653228805829357, "translation_radius_pct_mean": 1.6504629376017461}, "sim3": {"scale": 0.9791702043865803, "rotation": [[0.9999507370381129, -0.00039544315412736104, 0.009918020046680522], [0.00040511142532161624, 0.9999994447444484, -0.0009728286222380602], [-0.009917629841226063, 0.000976798601056107, 0.9999503420084545]], "translation": [-0.05977409314150167, 0.03477164445268347, -0.004850998279728902]}}} +{"step": 8000, "train_loss": 0.013849303126335144, "val_psnr": 15.678872108459473, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.7545245289802551, "translation_update_mean": 0.0747561901807785, "rotation_update_deg_mean": 0.789829671382904, "pose_errors": {"raw": {"rotation_deg_mean": 0.8335308252676862, "rotation_deg_max": 1.7760373725958014, "translation_mean": 0.10340071415979159, "translation_radius_pct_mean": 2.565056026522969}, "aligned": {"rotation_deg_mean": 0.7202370974278348, "rotation_deg_max": 1.7186164664527535, "translation_mean": 0.06361184216257135, "translation_radius_pct_mean": 1.5780155913157223}, "sim3": {"scale": 0.9806827153914806, "rotation": [[0.9999895801048264, -0.0005688631557718646, 0.0045294675716561605], [0.0005916327863439562, 0.9999871882952053, -0.005027247367704294], [-0.004526549725652406, 0.005029874765833842, 0.9999771050916227]], "translation": [-0.03986212605649658, 0.04358695160563478, -0.0030949121936130197]}}} +{"step": 9000, "train_loss": 0.015571189112961292, "val_psnr": 16.538217544555664, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.9712427854537964, "translation_update_mean": 0.07030148059129715, "rotation_update_deg_mean": 0.7017220854759216, "pose_errors": {"raw": {"rotation_deg_mean": 0.7084573593663518, "rotation_deg_max": 2.131756399964939, "translation_mean": 0.09906603210374883, "translation_radius_pct_mean": 2.4575257988909716}, "aligned": {"rotation_deg_mean": 0.6142657873394103, "rotation_deg_max": 2.1614777793173205, "translation_mean": 0.05219651794708345, "translation_radius_pct_mean": 1.2948362495521721}, "sim3": {"scale": 0.9802431882043129, "rotation": [[0.9999768683812402, -0.00014389987700417524, 0.006800146709669252], [0.00013758437978646001, 0.9999995588397889, 0.000929188229870206], [-0.006800277419787079, -0.000928231142274904, 0.9999764470296089]], "translation": [-0.04544479387356959, 0.01955773507510339, -0.008557432984661606]}}} +{"step": 10000, "train_loss": 0.013296605087816715, "val_psnr": 16.167356491088867, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.8290356993675232, "translation_update_mean": 0.06617668271064758, "rotation_update_deg_mean": 0.5959914922714233, "pose_errors": {"raw": {"rotation_deg_mean": 0.6467898940388694, "rotation_deg_max": 1.4266438719227728, "translation_mean": 0.08601524568368898, "translation_radius_pct_mean": 2.133775633046797}, "aligned": {"rotation_deg_mean": 0.5368376162279236, "rotation_deg_max": 1.471574254698379, "translation_mean": 0.048216089635255636, "translation_radius_pct_mean": 1.196093975745258}, "sim3": {"scale": 0.9838597344003315, "rotation": [[0.9999854352248219, 0.0012113118066775092, 0.005259473541303239], [-0.0011986793087259376, 0.9999963911417974, -0.0024043442550132827], [-0.005262366971192531, 0.002398004814171116, 0.9999832783935809]], "translation": [-0.04525520563637636, 0.03513890736808388, -0.007266950872183209]}}} +{"step": 11000, "train_loss": 0.010777898132801056, "val_psnr": 15.551547050476074, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.8510448336601257, "translation_update_mean": 0.05096067488193512, "rotation_update_deg_mean": 0.5252290368080139, "pose_errors": {"raw": {"rotation_deg_mean": 0.6079429641688724, "rotation_deg_max": 1.3022023113655516, "translation_mean": 0.081282707335771, "translation_radius_pct_mean": 2.0163758055048078}, "aligned": {"rotation_deg_mean": 0.4812115705145535, "rotation_deg_max": 1.1417479959898928, "translation_mean": 0.03788328465572576, "translation_radius_pct_mean": 0.9397686311961767}, "sim3": {"scale": 0.984515008242792, "rotation": [[0.9999722570595554, 0.0007060195402732138, 0.007415298215643981], [-0.0006892531432300552, 0.9999972010455704, -0.0022633672102533807], [-0.007416875442039372, 0.002258193400188587, 0.9999699448089644]], "translation": [-0.05174315707625987, 0.0380154216989746, -0.005843245872770186]}}} +{"step": 12000, "train_loss": 0.010037831962108612, "val_psnr": 16.51055908203125, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.779849112033844, "translation_update_mean": 0.04606940969824791, "rotation_update_deg_mean": 0.48750555515289307, "pose_errors": {"raw": {"rotation_deg_mean": 0.5990782941635975, "rotation_deg_max": 1.6393930226848337, "translation_mean": 0.0822120129793408, "translation_radius_pct_mean": 2.0394290412671525}, "aligned": {"rotation_deg_mean": 0.45995128902552035, "rotation_deg_max": 1.5466311131294874, "translation_mean": 0.03918779994396183, "translation_radius_pct_mean": 0.9721296726935329}, "sim3": {"scale": 0.9834342118541035, "rotation": [[0.9999877838287683, -0.0005272541861610794, 0.004914691877567147], [0.0005363243213887784, 0.999998155308888, -0.0018443793111067202], [-0.004913710354766041, 0.0018469926486392803, 0.9999862219394349]], "translation": [-0.04255105229280576, 0.037633962343017004, -0.0036680648317508613]}}} +{"step": 13000, "train_loss": 0.012254323810338974, "val_psnr": 16.420204162597656, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 1.0166350603103638, "translation_update_mean": 0.046239741146564484, "rotation_update_deg_mean": 0.4557376801967621, "pose_errors": {"raw": {"rotation_deg_mean": 0.5450260041335011, "rotation_deg_max": 1.1285507762897324, "translation_mean": 0.08108102279741768, "translation_radius_pct_mean": 2.0113726278694943}, "aligned": {"rotation_deg_mean": 0.41919934410556636, "rotation_deg_max": 0.9087648287693755, "translation_mean": 0.03567053622906474, "translation_radius_pct_mean": 0.8848770984528453}, "sim3": {"scale": 0.9829394383517078, "rotation": [[0.9999921293933751, -0.00023142780969566732, 0.003960756553009988], [0.00023969250311348483, 0.999997794952319, -0.0020862976785621613], [-0.0039602649920508475, 0.0020872306217861983, 0.9999899798345604]], "translation": [-0.03880572052709025, 0.03504198337625009, -0.0020389422126192436]}}} +{"step": 14000, "train_loss": 0.01287781074643135, "val_psnr": 15.860857963562012, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 0.8544701933860779, "translation_update_mean": 0.04665204882621765, "rotation_update_deg_mean": 0.4719499945640564, "pose_errors": {"raw": {"rotation_deg_mean": 0.4741258538033173, "rotation_deg_max": 1.0241163015078234, "translation_mean": 0.0856893109379837, "translation_radius_pct_mean": 2.125690187114261}, "aligned": {"rotation_deg_mean": 0.37059710769663196, "rotation_deg_max": 1.0190750192449458, "translation_mean": 0.03409730516429132, "translation_radius_pct_mean": 0.8458500389532946}, "sim3": {"scale": 0.9828302536294041, "rotation": [[0.999985557009848, 0.00016642301904526026, 0.005371971247420516], [-0.0001630504889861194, 0.9999997893688571, -0.0006282330613226893], [-0.005372074668358743, 0.0006273480852200854, 0.9999853735171016]], "translation": [-0.046796666609297766, 0.03384422227829363, -0.004234938569835478]}}} +{"step": 15000, "train_loss": 0.009322917088866234, "val_psnr": 16.10845947265625, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.6761296391487122, "translation_update_mean": 0.042863957583904266, "rotation_update_deg_mean": 0.36975356936454773, "pose_errors": {"raw": {"rotation_deg_mean": 0.4140665456765712, "rotation_deg_max": 0.7947685929812058, "translation_mean": 0.08348332005329816, "translation_radius_pct_mean": 2.0709662883559514}, "aligned": {"rotation_deg_mean": 0.33004604612589866, "rotation_deg_max": 0.7135452068106797, "translation_mean": 0.030534715951340975, "translation_radius_pct_mean": 0.7574730774887722}, "sim3": {"scale": 0.9824354414477854, "rotation": [[0.9999899829116106, 0.0003929553936812816, 0.00445866151376084], [-0.0003919697419747981, 0.9999998985520242, -0.00022193616508487226], [-0.0044587482724516205, 0.0002201862815275841, 0.9999900354912749]], "translation": [-0.044406527153989406, 0.032945105615812584, -0.0031952318706984784]}}} +{"step": 16000, "train_loss": 0.009850841015577316, "val_psnr": 16.554569244384766, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.8040004372596741, "translation_update_mean": 0.037222422659397125, "rotation_update_deg_mean": 0.3647080957889557, "pose_errors": {"raw": {"rotation_deg_mean": 0.4241059351737785, "rotation_deg_max": 0.9640381024631101, "translation_mean": 0.09303146784610147, "translation_radius_pct_mean": 2.3078266837320784}, "aligned": {"rotation_deg_mean": 0.3272276429805075, "rotation_deg_max": 0.906309514277339, "translation_mean": 0.025396213794445063, "translation_radius_pct_mean": 0.6300025272904591}, "sim3": {"scale": 0.9795888456378647, "rotation": [[0.9999854455471172, 5.7855402323915415e-05, 0.005394937134624322], [-5.117363662291879e-05, 0.9999992315571867, -0.001238655035264007], [-0.005395004651809078, 0.0012383609287650499, 0.999984680076159]], "translation": [-0.0502748593891138, 0.03807064477192924, -0.0029981835148080727]}}} +{"step": 17000, "train_loss": 0.0072933342307806015, "val_psnr": 16.02659034729004, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.7392149567604065, "translation_update_mean": 0.03153631463646889, "rotation_update_deg_mean": 0.3637067973613739, "pose_errors": {"raw": {"rotation_deg_mean": 0.40498996128563386, "rotation_deg_max": 0.8947485012254134, "translation_mean": 0.09299435696823936, "translation_radius_pct_mean": 2.3069060761552036}, "aligned": {"rotation_deg_mean": 0.3000748438006193, "rotation_deg_max": 0.6963860509537179, "translation_mean": 0.025529575946813713, "translation_radius_pct_mean": 0.6333108351239489}, "sim3": {"scale": 0.9796383574748104, "rotation": [[0.9999874118656404, 0.0008917299224391976, 0.004937704730360849], [-0.0008830850245485148, 0.9999980741063715, -0.001752696319319202], [-0.004939258152619726, 0.0017483138430393775, 0.9999862734695959]], "translation": [-0.05010166502525171, 0.0398995929647311, -0.0026164115103304297]}}} +{"step": 18000, "train_loss": 0.009034823626279831, "val_psnr": 15.996444702148438, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.9963551759719849, "translation_update_mean": 0.03120058961212635, "rotation_update_deg_mean": 0.3226950764656067, "pose_errors": {"raw": {"rotation_deg_mean": 0.32840428694902263, "rotation_deg_max": 0.6359686884851288, "translation_mean": 0.09328399430520283, "translation_radius_pct_mean": 2.314091094196144}, "aligned": {"rotation_deg_mean": 0.24090807659154087, "rotation_deg_max": 0.7751285409100921, "translation_mean": 0.020870328726517264, "translation_radius_pct_mean": 0.5177291366937735}, "sim3": {"scale": 0.9797154031662247, "rotation": [[0.9999890593454406, 0.0005726614961368516, 0.004642547601414365], [-0.0005703352106557491, 0.999999711162012, -0.0005023879378103642], [-0.004642833958698333, 0.0004997346329931534, 0.9999890971196275]], "translation": [-0.0489614304506622, 0.038977890244590946, -0.004377477584553535]}}} +{"step": 19000, "train_loss": 0.00947592779994011, "val_psnr": 15.596624374389648, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 1.1983528137207031, "translation_update_mean": 0.029743999242782593, "rotation_update_deg_mean": 0.29193198680877686, "pose_errors": {"raw": {"rotation_deg_mean": 0.33386490799549806, "rotation_deg_max": 0.6030663532969321, "translation_mean": 0.09930535530754847, "translation_radius_pct_mean": 2.4634626769017407}, "aligned": {"rotation_deg_mean": 0.24874825829860484, "rotation_deg_max": 0.5942807399345152, "translation_mean": 0.020896192989804285, "translation_radius_pct_mean": 0.5183707500999771}, "sim3": {"scale": 0.9776677696127732, "rotation": [[0.9999902482263233, 0.0002993471583114371, 0.004406114335239276], [-0.0002954213938825032, 0.9999995588833269, -0.000891604930253019], [-0.004406379291030974, 0.0008902945750849498, 0.9999898955475065]], "translation": [-0.04860506886890614, 0.038318649426455124, -0.0038403784145284448]}}} +{"step": 20000, "train_loss": 0.009612742811441422, "val_psnr": 15.772672653198242, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.7376607656478882, "translation_update_mean": 0.027295120060443878, "rotation_update_deg_mean": 0.25938481092453003, "pose_errors": {"raw": {"rotation_deg_mean": 0.30996161825260327, "rotation_deg_max": 0.6826934851222622, "translation_mean": 0.09683498697581179, "translation_radius_pct_mean": 2.4021803808504747}, "aligned": {"rotation_deg_mean": 0.23898955691673748, "rotation_deg_max": 0.7186853811680977, "translation_mean": 0.020830611993452184, "translation_radius_pct_mean": 0.516743885805226}, "sim3": {"scale": 0.9785318053440184, "rotation": [[0.9999963567130384, 0.0007294292581947175, 0.0025989408626742455], [-0.0007287968299729496, 0.9999997045913109, -0.0002442794937681972], [-0.0025991182795344456, 0.00024238450392593137, 0.9999965929111567]], "translation": [-0.04233226439707383, 0.03689547531976801, -0.002889121908803194]}}} +{"step": 21000, "train_loss": 0.008437467738986015, "val_psnr": 15.957101821899414, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 1.1936460733413696, "translation_update_mean": 0.026351382955908775, "rotation_update_deg_mean": 0.24028298258781433, "pose_errors": {"raw": {"rotation_deg_mean": 0.309545009861311, "rotation_deg_max": 0.6199169896737258, "translation_mean": 0.0966808131200106, "translation_radius_pct_mean": 2.3983557981948462}, "aligned": {"rotation_deg_mean": 0.22360240423627287, "rotation_deg_max": 0.505945487372169, "translation_mean": 0.020119747398383542, "translation_radius_pct_mean": 0.49910950553581307}, "sim3": {"scale": 0.9785479534122133, "rotation": [[0.9999921693358016, 0.0003984515996326608, 0.0039373218564614735], [-0.00039354936880881577, 0.9999991465955196, -0.0012457636725915642], [-0.003937814872861675, 0.001244204386903203, 0.9999914727483801]], "translation": [-0.047159997261273234, 0.04071604533449402, -0.0037288260839685172]}}} +{"step": 22000, "train_loss": 0.01152753084897995, "val_psnr": 15.608047485351562, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.288451075553894, "translation_update_mean": 0.022000059485435486, "rotation_update_deg_mean": 0.22579309344291687, "pose_errors": {"raw": {"rotation_deg_mean": 0.29214320900296054, "rotation_deg_max": 0.6394013033018409, "translation_mean": 0.0962242800220055, "translation_radius_pct_mean": 2.387030605870396}, "aligned": {"rotation_deg_mean": 0.21540369311367746, "rotation_deg_max": 0.5678910820779087, "translation_mean": 0.015987644341053465, "translation_radius_pct_mean": 0.39660464436977627}, "sim3": {"scale": 0.9783103279814077, "rotation": [[0.9999947756546027, 0.0004095041044553146, 0.00320639515509679], [-0.0004080397082656073, 0.9999998121663866, -0.0004573519297379067], [-0.003206581840320376, 0.00045604120382976434, 0.9999947549159056]], "translation": [-0.044666899213772204, 0.036511362071098695, -0.0031747563410498003]}}} +{"step": 23000, "train_loss": 0.008116592653095722, "val_psnr": 15.404938697814941, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 1.2529183626174927, "translation_update_mean": 0.019053999334573746, "rotation_update_deg_mean": 0.20508182048797607, "pose_errors": {"raw": {"rotation_deg_mean": 0.2681817320946513, "rotation_deg_max": 0.5728732610904891, "translation_mean": 0.09793118503958699, "translation_radius_pct_mean": 2.4293737080203828}, "aligned": {"rotation_deg_mean": 0.194823031201652, "rotation_deg_max": 0.45597261087599356, "translation_mean": 0.016362277673002815, "translation_radius_pct_mean": 0.4058981535458157}, "sim3": {"scale": 0.9780313930757698, "rotation": [[0.999994633460855, 0.0004464835793873263, 0.0032455664994943214], [-0.0004444205292567063, 0.999999698777549, -0.0006363451928250338], [-0.003245849639536143, 0.0006348993814722055, 0.999994530666489]], "translation": [-0.04539621710615932, 0.03767951524054187, -0.0034926288885159806]}}} +{"step": 24000, "train_loss": 0.007009998895227909, "val_psnr": 16.306095123291016, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 1.003289818763733, "translation_update_mean": 0.018781671300530434, "rotation_update_deg_mean": 0.1941644251346588, "pose_errors": {"raw": {"rotation_deg_mean": 0.2733379612851425, "rotation_deg_max": 0.5864064506758848, "translation_mean": 0.0991958412727147, "translation_radius_pct_mean": 2.46074596805382}, "aligned": {"rotation_deg_mean": 0.1866952546722545, "rotation_deg_max": 0.4397437880191918, "translation_mean": 0.017028411489845068, "translation_radius_pct_mean": 0.4224228997745647}, "sim3": {"scale": 0.9777632267674757, "rotation": [[0.9999927903057254, 0.00024822518201446337, 0.0037891583271357633], [-0.00024487585095451896, 0.9999995789687217, -0.0008843631592711257], [-0.0037893762529878226, 0.0008834289099133467, 0.9999924300618351]], "translation": [-0.047564191084126406, 0.03964744637718443, -0.004182390557736504]}}} +{"step": 25000, "train_loss": 0.007566886022686958, "val_psnr": 16.15595817565918, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.6988224387168884, "translation_update_mean": 0.017309723421931267, "rotation_update_deg_mean": 0.17954567074775696, "pose_errors": {"raw": {"rotation_deg_mean": 0.25620061036266645, "rotation_deg_max": 0.5861201125846821, "translation_mean": 0.09760714831645484, "translation_radius_pct_mean": 2.421335346233051}, "aligned": {"rotation_deg_mean": 0.16689779899338364, "rotation_deg_max": 0.4633192637062535, "translation_mean": 0.013831990052793166, "translation_radius_pct_mean": 0.34312944288657105}, "sim3": {"scale": 0.9778861109620678, "rotation": [[0.9999951411921388, 0.00027287952343747773, 0.0031053387704944495], [-0.0002691793372254137, 0.9999992534439183, -0.0011919119478203252], [-0.003105661700549233, 0.0011910702635170643, 0.9999944680932137]], "translation": [-0.04555814248380147, 0.039180105075986536, -0.002518293495217705]}}} +{"step": 26000, "train_loss": 0.006380648817867041, "val_psnr": 15.912035942077637, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.9031658172607422, "translation_update_mean": 0.016716279089450836, "rotation_update_deg_mean": 0.15240274369716644, "pose_errors": {"raw": {"rotation_deg_mean": 0.22780864151674168, "rotation_deg_max": 0.45156774664433136, "translation_mean": 0.09694565347827991, "translation_radius_pct_mean": 2.404925678901815}, "aligned": {"rotation_deg_mean": 0.14049475135124453, "rotation_deg_max": 0.4256658455217469, "translation_mean": 0.01279086302519514, "translation_radius_pct_mean": 0.31730225998733796}, "sim3": {"scale": 0.9781691689658952, "rotation": [[0.999995492616239, 2.011997808964929e-05, 0.0030023894472830646], [-1.7590670886494744e-05, 0.9999996449796308, -0.0008424554482866325], [-0.0030024053315590676, 0.0008423988369719771, 0.9999951379513945]], "translation": [-0.04555396852887894, 0.03934065850493143, -0.002471474456903877]}}} +{"step": 27000, "train_loss": 0.0077676838263869286, "val_psnr": 15.226754188537598, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.9672392010688782, "translation_update_mean": 0.016152067109942436, "rotation_update_deg_mean": 0.14910489320755005, "pose_errors": {"raw": {"rotation_deg_mean": 0.22133290978105508, "rotation_deg_max": 0.4891415387388417, "translation_mean": 0.09698868419274811, "translation_radius_pct_mean": 2.4059931395510876}, "aligned": {"rotation_deg_mean": 0.1404152608554189, "rotation_deg_max": 0.3650380849136681, "translation_mean": 0.01106743964753173, "translation_radius_pct_mean": 0.27454938775577337}, "sim3": {"scale": 0.9781857961041385, "rotation": [[0.999996414347888, 9.302702496651397e-05, 0.0026763103965665442], [-9.068497826986972e-05, 0.9999996128910411, -0.0008752108325114267], [-0.002676390778802629, 0.0008749649931597334, 0.9999960356764709]], "translation": [-0.04522659066359902, 0.03922746579394976, -0.002728853713783508]}}} +{"step": 28000, "train_loss": 0.00644606864079833, "val_psnr": 15.58342170715332, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.6176148056983948, "translation_update_mean": 0.013072960078716278, "rotation_update_deg_mean": 0.12888950109481812, "pose_errors": {"raw": {"rotation_deg_mean": 0.2197132493195847, "rotation_deg_max": 0.47880109286597944, "translation_mean": 0.09729916636932191, "translation_radius_pct_mean": 2.4136952544215697}, "aligned": {"rotation_deg_mean": 0.13970958463320843, "rotation_deg_max": 0.33300599883083687, "translation_mean": 0.01079021196653201, "translation_radius_pct_mean": 0.2676722153914858}, "sim3": {"scale": 0.977966094088374, "rotation": [[0.9999958802152374, -0.00014211332069117284, 0.002866941987072314], [0.00014410996493684677, 0.9999997472394131, -0.0006962423631284092], [-0.0028668423171081974, 0.000696652649668948, 0.9999956479356376]], "translation": [-0.04553973005790807, 0.03805594440956941, -0.0021324126379780317]}}} +{"step": 29000, "train_loss": 0.008489493280649185, "val_psnr": 15.715686798095703, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.9569805860519409, "translation_update_mean": 0.014094727113842964, "rotation_update_deg_mean": 0.14110173285007477, "pose_errors": {"raw": {"rotation_deg_mean": 0.2195645107465919, "rotation_deg_max": 0.41590499403855735, "translation_mean": 0.10011631034240719, "translation_radius_pct_mean": 2.483579995397132}, "aligned": {"rotation_deg_mean": 0.14054200066701028, "rotation_deg_max": 0.3944939686747267, "translation_mean": 0.012172629617984735, "translation_radius_pct_mean": 0.30196577667724944}, "sim3": {"scale": 0.9772918519885097, "rotation": [[0.9999963341966196, -5.8363920878446004e-05, 0.0027070624253733595], [6.193021620590124e-05, 0.9999991303908524, -0.0013173390549628108], [-0.0027069831862147472, 0.0013175018748181665, 0.9999954682051507]], "translation": [-0.046138760184803396, 0.04166834525987691, -0.001894548192027834]}}} +{"step": 29999, "train_loss": 0.0048513151705265045, "val_psnr": 16.22119140625, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 1.2626558542251587, "translation_update_mean": 0.013750753365457058, "rotation_update_deg_mean": 0.140354722738266, "pose_errors": {"raw": {"rotation_deg_mean": 0.20726826463518383, "rotation_deg_max": 0.3750853912215163, "translation_mean": 0.10130424014283369, "translation_radius_pct_mean": 2.5130489068880273}, "aligned": {"rotation_deg_mean": 0.12977956209425134, "rotation_deg_max": 0.3484865741284912, "translation_mean": 0.010781690576380135, "translation_radius_pct_mean": 0.26746082571839663}, "sim3": {"scale": 0.976890726200957, "rotation": [[0.9999962980997918, 6.853800856282569e-05, 0.0027201266981670426], [-6.669572620341774e-05, 0.999999768365446, -0.0006773630748385978], [-0.0027201724932079405, 0.0006771791464825327, 0.9999960710372874]], "translation": [-0.04540188853828475, 0.03935010660638136, -0.001765477339382926]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T0.5.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T0.5.jsonl new file mode 100644 index 0000000..c403803 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T0.5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421424925327301, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.007552941329777241, "translation_update_mean": 1.0275189055164446e-07, "rotation_update_deg_mean": 1.7867195083454135e-06, "pose_errors": {"raw": {"rotation_deg_mean": 0.017192092460004985, "rotation_deg_max": 0.045325398653729525, "translation_mean": 0.015998578703587812, "translation_radius_pct_mean": 0.3968758925206504}, "aligned": {"rotation_deg_mean": 0.04278740003060489, "rotation_deg_max": 0.06032960266092224, "translation_mean": 0.015838334196316823, "translation_radius_pct_mean": 0.39290071553630723}, "sim3": {"scale": 1.0000292134258644, "rotation": [[0.999999770745097, -0.0002585875822879875, 0.0006258132427214147], [0.0002585267411213256, 0.9999999618484806, 9.729830761650138e-05], [-0.0006258383789796315, -9.713649585218073e-05, 0.9999997994453907]], "translation": [-0.0006395492365269817, 0.0003080787996928014, 0.00010493666968436344]}}} +{"step": 1000, "train_loss": 0.034698884934186935, "val_psnr": 18.203689575195312, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 2.15376615524292, "translation_update_mean": 0.09789525717496872, "rotation_update_deg_mean": 1.1654586791992188, "pose_errors": {"raw": {"rotation_deg_mean": 1.1656824780478758, "rotation_deg_max": 3.3014109053372866, "translation_mean": 0.09983902791182436, "translation_radius_pct_mean": 2.476701464862843}, "aligned": {"rotation_deg_mean": 1.170817416582113, "rotation_deg_max": 3.2346015625319593, "translation_mean": 0.09922991264345925, "translation_radius_pct_mean": 2.4615911747389996}, "sim3": {"scale": 0.9969357505294051, "rotation": [[0.9999997533092927, -0.0001044370526873082, -0.0006946036679120104], [0.00010352256464122413, 0.9999991280990111, -0.00131646659463189], [0.0006947405501775323, 0.0013163943627187463, 0.999998892220111]], "translation": [0.0047562456904962636, 0.00518086424617048, 0.0006260904409423063]}}} +{"step": 2000, "train_loss": 0.02900981716811657, "val_psnr": 18.56516456604004, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.5287593603134155, "translation_update_mean": 0.14158503711223602, "rotation_update_deg_mean": 1.617470622062683, "pose_errors": {"raw": {"rotation_deg_mean": 1.3677064641943515, "rotation_deg_max": 4.363564729009449, "translation_mean": 0.14485008347009676, "translation_radius_pct_mean": 3.593288330418584}, "aligned": {"rotation_deg_mean": 1.416463325704288, "rotation_deg_max": 4.175271929630347, "translation_mean": 0.1428990521370128, "translation_radius_pct_mean": 3.544889199720817}, "sim3": {"scale": 0.9926287235221427, "rotation": [[0.9999890503950378, -0.0015633331258367658, -0.004410791263348604], [0.0015778111354782136, 0.9999933732840143, 0.003280838319746734], [0.004405632991061685, -0.0032877617914347304, 0.9999848903960269]], "translation": [0.019647735638924246, -0.0005545876234556713, 0.004467935863057271]}}} +{"step": 3000, "train_loss": 0.028618477284908295, "val_psnr": 19.91046714782715, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.672927975654602, "translation_update_mean": 0.15220795571804047, "rotation_update_deg_mean": 1.511846899986267, "pose_errors": {"raw": {"rotation_deg_mean": 1.4048599996455022, "rotation_deg_max": 3.8929453197171844, "translation_mean": 0.14204182792353795, "translation_radius_pct_mean": 3.5236240841679685}, "aligned": {"rotation_deg_mean": 1.4070428869223415, "rotation_deg_max": 3.519150502861587, "translation_mean": 0.13942036391441415, "translation_radius_pct_mean": 3.4585935656695685}, "sim3": {"scale": 0.9900485558002785, "rotation": [[0.9999913844794518, -0.0038035974744857854, -0.0016624118386494753], [0.0038119522260500606, 0.9999799742494364, 0.00505174428513907], [0.0016431637457998962, -0.005058037796241308, 0.9999858580332807]], "translation": [0.0035928877211130472, -0.017476401114557935, 0.005905050375884624]}}} +{"step": 4000, "train_loss": 0.028503481298685074, "val_psnr": 20.506784439086914, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.4409029483795166, "translation_update_mean": 0.15089493989944458, "rotation_update_deg_mean": 1.2894762754440308, "pose_errors": {"raw": {"rotation_deg_mean": 1.2151523432380371, "rotation_deg_max": 3.5233421493076365, "translation_mean": 0.12478292508852869, "translation_radius_pct_mean": 3.0954833978309133}, "aligned": {"rotation_deg_mean": 1.2479126112129333, "rotation_deg_max": 3.9263982157206136, "translation_mean": 0.12341287798037998, "translation_radius_pct_mean": 3.0614967119561287}, "sim3": {"scale": 0.994651544612214, "rotation": [[0.9999500885056037, -0.003373310281056031, 0.009404322164983757], [0.0033609089874898105, 0.9999934621159962, 0.0013341724182955666], [-0.009408761258151578, -0.0013024987568708958, 0.9999548883367564]], "translation": [-0.03961887654421803, 0.0021164482889867303, 0.002591313827818187]}}} +{"step": 5000, "train_loss": 0.026873614639043808, "val_psnr": 21.359434127807617, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 1.1347609758377075, "translation_update_mean": 0.14786286652088165, "rotation_update_deg_mean": 1.1437255144119263, "pose_errors": {"raw": {"rotation_deg_mean": 1.1083507740106555, "rotation_deg_max": 3.5317901036903976, "translation_mean": 0.11162627823532963, "translation_radius_pct_mean": 2.7691071578420816}, "aligned": {"rotation_deg_mean": 1.125726993802606, "rotation_deg_max": 3.53084127375349, "translation_mean": 0.10707925415351899, "translation_radius_pct_mean": 2.656309372850294}, "sim3": {"scale": 1.0040774026601, "rotation": [[0.9999939165186588, -0.002361589737464794, 0.002567064390594937], [0.002368291859630021, 0.9999937871389537, -0.002610915004605402], [-0.0025608825317002906, 0.0026169786788519944, 0.9999932966291589]], "translation": [-0.010771990787032448, 0.02191923254891842, 0.003063136271181044]}}} +{"step": 6000, "train_loss": 0.015560993924736977, "val_psnr": 21.945938110351562, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 1.1566987037658691, "translation_update_mean": 0.1136610135436058, "rotation_update_deg_mean": 0.9564631581306458, "pose_errors": {"raw": {"rotation_deg_mean": 0.8858075191590535, "rotation_deg_max": 3.8997122573894987, "translation_mean": 0.08245801721715607, "translation_radius_pct_mean": 2.045531655334045}, "aligned": {"rotation_deg_mean": 0.9060543188494431, "rotation_deg_max": 3.8378216720328453, "translation_mean": 0.07986438041310986, "translation_radius_pct_mean": 1.981191444834633}, "sim3": {"scale": 0.9944355035308116, "rotation": [[0.9999937096352826, -0.0005070989277795146, 0.003510490071631827], [0.0005004513352730005, 0.9999980806692998, 0.0018942561014309112], [-0.003511443909078469, -0.0018924873564254276, 0.9999920440949914]], "translation": [-0.011696188231628768, -0.009388064528596765, -0.0004050560966502026]}}} +{"step": 7000, "train_loss": 0.018695995211601257, "val_psnr": 20.367115020751953, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.2658931016921997, "translation_update_mean": 0.09344670921564102, "rotation_update_deg_mean": 0.9004073739051819, "pose_errors": {"raw": {"rotation_deg_mean": 0.7967536948542354, "rotation_deg_max": 2.9589529698823784, "translation_mean": 0.07373525550093628, "translation_radius_pct_mean": 1.8291465685392196}, "aligned": {"rotation_deg_mean": 0.8510931732937614, "rotation_deg_max": 2.9959116751530375, "translation_mean": 0.07362972365613797, "translation_radius_pct_mean": 1.8265286456680907}, "sim3": {"scale": 0.9988280641549654, "rotation": [[0.9999874261931636, 0.0008853640640091162, 0.004935948343082135], [-0.000908490735849892, 0.9999886122529752, 0.0046850836654282225], [-0.0049317441290368195, -0.00468950901943365, 0.9999768429343758]], "translation": [-0.02175317356107964, -0.02480186259465196, -0.0022227437584390053]}}} +{"step": 8000, "train_loss": 0.01670534536242485, "val_psnr": 21.09134864807129, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 1.075397253036499, "translation_update_mean": 0.08364171534776688, "rotation_update_deg_mean": 0.7306193113327026, "pose_errors": {"raw": {"rotation_deg_mean": 0.6430136469336627, "rotation_deg_max": 2.1105400116610316, "translation_mean": 0.06733693923296241, "translation_radius_pct_mean": 1.6704238765720851}, "aligned": {"rotation_deg_mean": 0.6419727151044391, "rotation_deg_max": 2.1467179452406397, "translation_mean": 0.06194739435976809, "translation_radius_pct_mean": 1.5367257230386464}, "sim3": {"scale": 0.9928096361411223, "rotation": [[0.9999992963348285, 0.0011845669475250879, -6.427281731783732e-05], [-0.0011844973505956262, 0.9999987235904987, 0.0010722795346691013], [6.554292217459431e-05, -0.001072202649161521, 0.9999994230426366]], "translation": [-0.0060724485753951285, -0.009240798615998552, 0.0014327706457812894]}}} +{"step": 9000, "train_loss": 0.015540207736194134, "val_psnr": 22.141931533813477, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 1.0511280298233032, "translation_update_mean": 0.06840797513723373, "rotation_update_deg_mean": 0.6671391725540161, "pose_errors": {"raw": {"rotation_deg_mean": 0.586755880096661, "rotation_deg_max": 1.4508653043573054, "translation_mean": 0.060934723213717096, "translation_radius_pct_mean": 1.5116044436822014}, "aligned": {"rotation_deg_mean": 0.6059774785261155, "rotation_deg_max": 1.483641519366724, "translation_mean": 0.05550995725077198, "translation_radius_pct_mean": 1.3770325624452342}, "sim3": {"scale": 0.9947740271149685, "rotation": [[0.999999518604894, 0.0007182729417052758, 0.000668486320581294], [-0.0007198861146343089, 0.9999968221828016, 0.0024160687654376156], [-0.0006667487994344193, -0.00241654883637398, 0.9999968578639428]], "translation": [-0.006720661218840185, -0.016072024870133567, -0.004043283878430781]}}} +{"step": 10000, "train_loss": 0.01563476026058197, "val_psnr": 22.62210464477539, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.3810557126998901, "translation_update_mean": 0.06506440788507462, "rotation_update_deg_mean": 0.6597358584403992, "pose_errors": {"raw": {"rotation_deg_mean": 0.5197035664574046, "rotation_deg_max": 2.1391454573598994, "translation_mean": 0.05112909302655832, "translation_radius_pct_mean": 1.2683566962192756}, "aligned": {"rotation_deg_mean": 0.5350704913602244, "rotation_deg_max": 2.1396479738100536, "translation_mean": 0.046375467760879766, "translation_radius_pct_mean": 1.1504337666279234}, "sim3": {"scale": 0.9950295787417315, "rotation": [[0.9999993136312958, -0.0009672344812638549, -0.0006612067719602512], [0.0009681849518833543, 0.9999984964176579, 0.0014386731116564845], [0.0006598142435405012, -0.0014393122946429193, 0.9999987465118558]], "translation": [-0.003023097582999734, -0.01582673379089715, 0.0016408795941917909]}}} +{"step": 11000, "train_loss": 0.012640167027711868, "val_psnr": 21.10907554626465, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 1.154342532157898, "translation_update_mean": 0.056351497769355774, "rotation_update_deg_mean": 0.5557228922843933, "pose_errors": {"raw": {"rotation_deg_mean": 0.45963426311190053, "rotation_deg_max": 1.4028547181000268, "translation_mean": 0.05101955652366485, "translation_radius_pct_mean": 1.2656394300073908}, "aligned": {"rotation_deg_mean": 0.4707349629900868, "rotation_deg_max": 1.4250204098121912, "translation_mean": 0.04351853193185702, "translation_radius_pct_mean": 1.0795619111947061}, "sim3": {"scale": 0.9930703135909889, "rotation": [[0.9999992816450136, 0.0002585360644137961, 0.0011704138415827435], [-0.00025997756411668576, 0.999999207748267, 0.001231630831001355], [-0.0011700944933324168, -0.0012319342275927056, 0.9999985566074256]], "translation": [-0.011391599031430888, -0.012544029312302307, -0.0012594657217483984]}}} +{"step": 12000, "train_loss": 0.011011410504579544, "val_psnr": 22.716796875, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.8033624291419983, "translation_update_mean": 0.051260050386190414, "rotation_update_deg_mean": 0.4893251657485962, "pose_errors": {"raw": {"rotation_deg_mean": 0.4333771045500594, "rotation_deg_max": 1.482853293316415, "translation_mean": 0.05376246154101784, "translation_radius_pct_mean": 1.3336825291495173}, "aligned": {"rotation_deg_mean": 0.4614782896909494, "rotation_deg_max": 1.4719434135039557, "translation_mean": 0.03781401775029106, "translation_radius_pct_mean": 0.9380503307505017}, "sim3": {"scale": 0.9909487402156449, "rotation": [[0.999999664538977, 0.0002170882649079114, 0.0007898066963948366], [-0.00021930562013847585, 0.9999960322119487, 0.0028084631748543213], [-0.0007891938782114687, -0.002808635441771873, 0.9999957443609325]], "translation": [-0.006378344142846826, -0.018846906718588158, -0.0033986140727089165]}}} +{"step": 13000, "train_loss": 0.011898061260581017, "val_psnr": 21.939125061035156, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.9084250926971436, "translation_update_mean": 0.054946091026067734, "rotation_update_deg_mean": 0.5297589898109436, "pose_errors": {"raw": {"rotation_deg_mean": 0.4031318430396312, "rotation_deg_max": 1.2492269784697878, "translation_mean": 0.05656333984862418, "translation_radius_pct_mean": 1.4031637686251033}, "aligned": {"rotation_deg_mean": 0.419604428926077, "rotation_deg_max": 1.315841768804454, "translation_mean": 0.038421163151620454, "translation_radius_pct_mean": 0.9531117544873725}, "sim3": {"scale": 0.9888738996668862, "rotation": [[0.9999992550737211, 8.225972594403754e-05, -0.0012178199134282464], [-8.121137065141667e-05, 0.9999996261534203, 0.000860870334955474], [0.001217890273108213, -0.0008607707928461685, 0.9999988879078449]], "translation": [-0.0012694119904618772, -0.009607789602979158, -0.00012935386532975102]}}} +{"step": 14000, "train_loss": 0.011417809873819351, "val_psnr": 21.9566707611084, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 0.8613135814666748, "translation_update_mean": 0.04979424551129341, "rotation_update_deg_mean": 0.45937034487724304, "pose_errors": {"raw": {"rotation_deg_mean": 0.37437936972925745, "rotation_deg_max": 1.01409969968654, "translation_mean": 0.05095218007125063, "translation_radius_pct_mean": 1.2639680259294293}, "aligned": {"rotation_deg_mean": 0.3889703111635721, "rotation_deg_max": 1.0500326378991627, "translation_mean": 0.032141880902181647, "translation_radius_pct_mean": 0.7973419330984118}, "sim3": {"scale": 0.9906407781411917, "rotation": [[0.999998475822679, 2.5429234444757197e-05, 0.0017457679320627053], [-2.672283950388085e-05, 0.9999997251205386, 0.0007409755299356582], [-0.001745748609746485, -0.0007410210524337679, 0.9999982016231783]], "translation": [-0.012654012973976891, -0.01056466269157011, -0.0048185163151441834]}}} +{"step": 15000, "train_loss": 0.008758059702813625, "val_psnr": 22.034456253051758, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.6550799608230591, "translation_update_mean": 0.04482545331120491, "rotation_update_deg_mean": 0.42104238271713257, "pose_errors": {"raw": {"rotation_deg_mean": 0.31147800722387753, "rotation_deg_max": 0.9705330226307203, "translation_mean": 0.0615265376623782, "translation_radius_pct_mean": 1.526285553290164}, "aligned": {"rotation_deg_mean": 0.3183227562587265, "rotation_deg_max": 0.9773395660945475, "translation_mean": 0.027869442407706627, "translation_radius_pct_mean": 0.6913557781936578}, "sim3": {"scale": 0.9860807863933366, "rotation": [[0.9999998256888227, -0.00018521577024365016, 0.0005606402074632171], [0.0001846555973370596, 0.9999994838971772, 0.0009990533969218569], [-0.0005608249585597136, -0.0009989496974233524, 0.9999993437872187]], "translation": [-0.006689364954216959, -0.0070295074815291125, -0.0005018607992357538]}}} +{"step": 16000, "train_loss": 0.01084041316062212, "val_psnr": 22.91537094116211, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.9610713124275208, "translation_update_mean": 0.03843054547905922, "rotation_update_deg_mean": 0.3937029242515564, "pose_errors": {"raw": {"rotation_deg_mean": 0.3171113933679955, "rotation_deg_max": 0.9579309335206411, "translation_mean": 0.060591939447323835, "translation_radius_pct_mean": 1.503101024987989}, "aligned": {"rotation_deg_mean": 0.334298806453793, "rotation_deg_max": 0.9703634944304073, "translation_mean": 0.027275837526604056, "translation_radius_pct_mean": 0.6766302534231752}, "sim3": {"scale": 0.9865845907306946, "rotation": [[0.9999987843170695, 0.0010301415178848301, -0.0011705438208660097], [-0.0010284751234090155, 0.9999984582007042, 0.0014233183535267448], [0.0011720082354514838, -0.0014221127480223666, 0.9999983019945724]], "translation": [0.002336795669950986, -0.009048785682611318, -0.0017625574603830074]}}} +{"step": 17000, "train_loss": 0.00886303186416626, "val_psnr": 21.656877517700195, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.5938018560409546, "translation_update_mean": 0.03260974958539009, "rotation_update_deg_mean": 0.31880325078964233, "pose_errors": {"raw": {"rotation_deg_mean": 0.2783926832880691, "rotation_deg_max": 0.7687693036961681, "translation_mean": 0.06434392536147308, "translation_radius_pct_mean": 1.5961763403639078}, "aligned": {"rotation_deg_mean": 0.28239672512652214, "rotation_deg_max": 0.7510260848048144, "translation_mean": 0.02667508801313304, "translation_radius_pct_mean": 0.6617274921368437}, "sim3": {"scale": 0.984949707588508, "rotation": [[0.9999998182238474, 0.00041823024183630224, -0.000434322157986334], [-0.00041811270185844744, 0.9999998759559351, 0.000270684099204224], [0.00043443531238765724, -0.00027050245438933236, 0.9999998690471812]], "translation": [-0.0007237969452977278, -0.004672374893251646, 0.0010574795157940464]}}} +{"step": 18000, "train_loss": 0.008362459018826485, "val_psnr": 21.630077362060547, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.8256032466888428, "translation_update_mean": 0.028668832033872604, "rotation_update_deg_mean": 0.2679673433303833, "pose_errors": {"raw": {"rotation_deg_mean": 0.26815108966585305, "rotation_deg_max": 0.7732117905020117, "translation_mean": 0.06738682391541462, "translation_radius_pct_mean": 1.6716613632412534}, "aligned": {"rotation_deg_mean": 0.2665473452642815, "rotation_deg_max": 0.7817806668442977, "translation_mean": 0.023294661142156947, "translation_radius_pct_mean": 0.5778694222185103}, "sim3": {"scale": 0.9841813450280243, "rotation": [[0.9999994282192499, 0.0007449182776780525, 0.0007672404666675399], [-0.0007452242308018373, 0.9999996428944538, 0.0003985621806757085], [-0.0007669432964286676, -0.0003991337189721958, 0.9999996262450587]], "translation": [-0.005258210291984811, -0.004611754315127906, -0.00016919157720129974]}}} +{"step": 19000, "train_loss": 0.009294973686337471, "val_psnr": 22.78231430053711, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.7683733701705933, "translation_update_mean": 0.028843166306614876, "rotation_update_deg_mean": 0.28788039088249207, "pose_errors": {"raw": {"rotation_deg_mean": 0.2399529934268292, "rotation_deg_max": 0.6426260990032098, "translation_mean": 0.06952903885070491, "translation_radius_pct_mean": 1.7248031754088393}, "aligned": {"rotation_deg_mean": 0.2498267807492921, "rotation_deg_max": 0.6992279088279157, "translation_mean": 0.020902161780922017, "translation_radius_pct_mean": 0.5185188175843461}, "sim3": {"scale": 0.9833294671795908, "rotation": [[0.999999512122905, 0.0007425684372221394, -0.0006514185042867384], [-0.0007422776504837633, 0.9999996248225779, 0.0004465183009489314], [0.0006517498302861333, -0.0004460345497060426, 0.9999996881376211]], "translation": [0.0005633801406389471, -0.00837115745356859, 0.0018172143889070291]}}} +{"step": 20000, "train_loss": 0.007163756527006626, "val_psnr": 20.392288208007812, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.7246735692024231, "translation_update_mean": 0.026193294674158096, "rotation_update_deg_mean": 0.2705618143081665, "pose_errors": {"raw": {"rotation_deg_mean": 0.22762043641914062, "rotation_deg_max": 0.5218041335968291, "translation_mean": 0.06847062200401344, "translation_radius_pct_mean": 1.6985470848852875}, "aligned": {"rotation_deg_mean": 0.22259759962495365, "rotation_deg_max": 0.5009172280745573, "translation_mean": 0.020483274645984744, "translation_radius_pct_mean": 0.5081275066670603}, "sim3": {"scale": 0.9835008741763501, "rotation": [[0.9999999534706863, 0.00030466786737045167, 1.5366074516609905e-05], [-0.0003046633769101302, 0.9999999111352639, -0.0002913926756351897], [-1.5454851136296237e-05, 0.000291387980596758, 0.9999999574270959]], "translation": [-0.002208540016355065, -0.003891367833565626, 0.0011454926094542905]}}} +{"step": 21000, "train_loss": 0.007790267467498779, "val_psnr": 20.10857582092285, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.8065630793571472, "translation_update_mean": 0.027106037363409996, "rotation_update_deg_mean": 0.268360435962677, "pose_errors": {"raw": {"rotation_deg_mean": 0.23013824228832347, "rotation_deg_max": 0.6282087006780498, "translation_mean": 0.07140444358814833, "translation_radius_pct_mean": 1.7713262411636366}, "aligned": {"rotation_deg_mean": 0.22648754572531435, "rotation_deg_max": 0.6245179684420435, "translation_mean": 0.018656578350102683, "translation_radius_pct_mean": 0.46281274863609984}, "sim3": {"scale": 0.9828743094386145, "rotation": [[0.9999999130419863, 0.0004170087033860542, -4.445333740565341e-06], [-0.00041700958932745563, 0.9999998928118399, -0.00020119470971315925], [4.361433318959775e-06, 0.00020119654596446318, 0.9999999797504637]], "translation": [-0.0032555089051882757, -0.004925303525962335, 0.0006344701557030596]}}} +{"step": 22000, "train_loss": 0.008669478818774223, "val_psnr": 20.705360412597656, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.1052501201629639, "translation_update_mean": 0.02200532704591751, "rotation_update_deg_mean": 0.2277834713459015, "pose_errors": {"raw": {"rotation_deg_mean": 0.20522061246620546, "rotation_deg_max": 0.5829872447120292, "translation_mean": 0.06844193197578972, "translation_radius_pct_mean": 1.6978353728783218}, "aligned": {"rotation_deg_mean": 0.19781487090963293, "rotation_deg_max": 0.5651693617650934, "translation_mean": 0.017631097207154695, "translation_radius_pct_mean": 0.4373736923667258}, "sim3": {"scale": 0.9833912925469278, "rotation": [[0.999999228997588, 0.0002498454550992774, 0.001216380482739788], [-0.00024901312882762, 0.9999997348163435, -0.0006843681057874214], [-0.0012165511464363836, 0.000684064683428127, 0.9999990260289344]], "translation": [-0.009670792299672937, -0.001881768067619638, 0.000727354477421116]}}} +{"step": 23000, "train_loss": 0.008381344377994537, "val_psnr": 21.237545013427734, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.7186728119850159, "translation_update_mean": 0.01989087462425232, "rotation_update_deg_mean": 0.1991102397441864, "pose_errors": {"raw": {"rotation_deg_mean": 0.19254789119578272, "rotation_deg_max": 0.5488394817476006, "translation_mean": 0.07127334482179903, "translation_radius_pct_mean": 1.7680740810269635}, "aligned": {"rotation_deg_mean": 0.1838949412066113, "rotation_deg_max": 0.5309468736597646, "translation_mean": 0.014092495176585647, "translation_radius_pct_mean": 0.3495917796620346}, "sim3": {"scale": 0.9825088873596265, "rotation": [[0.9999996579835339, 4.005942940038503e-05, 0.0008260920394262675], [-3.9415664885142245e-05, 0.9999996955761988, -0.000779290648405386], [-0.0008261230058828632, 0.0007792578209081007, 0.9999993551388053]], "translation": [-0.007998984685285648, -0.0025690390480665043, 0.0015513471213117747]}}} +{"step": 24000, "train_loss": 0.006717135198414326, "val_psnr": 20.16726303100586, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.9614576697349548, "translation_update_mean": 0.01953667774796486, "rotation_update_deg_mean": 0.19734542071819305, "pose_errors": {"raw": {"rotation_deg_mean": 0.18741072334692743, "rotation_deg_max": 0.4835482621553948, "translation_mean": 0.07359423230533048, "translation_radius_pct_mean": 1.8256482136128778}, "aligned": {"rotation_deg_mean": 0.19634622875688945, "rotation_deg_max": 0.4811354811878918, "translation_mean": 0.015433798174674383, "translation_radius_pct_mean": 0.38286541192461254}, "sim3": {"scale": 0.9819547175192177, "rotation": [[0.9999994313579842, 2.3020374943789726e-08, 0.0010664350462583141], [-6.771508379298201e-07, 0.9999998118821521, 0.0006133801441787099], [-0.0010664348315226318, -0.0006133805175223309, 0.9999992432402591]], "translation": [-0.008027573496423024, -0.007697059456702737, 0.0014693569408588125]}}} +{"step": 25000, "train_loss": 0.006923857145011425, "val_psnr": 21.68280029296875, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.7984163761138916, "translation_update_mean": 0.01850803755223751, "rotation_update_deg_mean": 0.18600738048553467, "pose_errors": {"raw": {"rotation_deg_mean": 0.17508612998771728, "rotation_deg_max": 0.4542008470675495, "translation_mean": 0.07359972749306384, "translation_radius_pct_mean": 1.8257845324432347}, "aligned": {"rotation_deg_mean": 0.17451194051476146, "rotation_deg_max": 0.46119233952458527, "translation_mean": 0.014421082208996256, "translation_radius_pct_mean": 0.3577430207300569}, "sim3": {"scale": 0.9818592422177446, "rotation": [[0.9999995028251979, 0.0004964426959717235, 0.0008648086529926913], [-0.0004964330255448578, 0.9999998767121746, -1.139678131495899e-05], [-0.0008648142042212135, 1.0967456072615246e-05, 0.9999996259879835]], "translation": [-0.008526089649957325, -0.003716128912542055, 0.0018622013156148753]}}} +{"step": 26000, "train_loss": 0.006958224810659885, "val_psnr": 20.195144653320312, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 1.0928318500518799, "translation_update_mean": 0.015774615108966827, "rotation_update_deg_mean": 0.16355851292610168, "pose_errors": {"raw": {"rotation_deg_mean": 0.16571867559657313, "rotation_deg_max": 0.40502048417555553, "translation_mean": 0.0778533785680098, "translation_radius_pct_mean": 1.9313046288291729}, "aligned": {"rotation_deg_mean": 0.16325855345058987, "rotation_deg_max": 0.3991144237686594, "translation_mean": 0.013054069172062848, "translation_radius_pct_mean": 0.32383160089882884}, "sim3": {"scale": 0.9808933454781563, "rotation": [[0.9999994037081323, 0.0003632250449325038, 0.00102987909268739], [-0.0003628293289123985, 0.9999998602972022, -0.0003843962186632406], [-0.001030018571144167, 0.0003840223191107917, 0.9999993957941175]], "translation": [-0.009131868187954362, -0.0026910972059723537, 0.0010698132728461651]}}} +{"step": 27000, "train_loss": 0.0070608798414468765, "val_psnr": 19.671485900878906, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.7887337803840637, "translation_update_mean": 0.01661972515285015, "rotation_update_deg_mean": 0.1472972333431244, "pose_errors": {"raw": {"rotation_deg_mean": 0.1656319599262604, "rotation_deg_max": 0.40518123180001453, "translation_mean": 0.07264671297294682, "translation_radius_pct_mean": 1.802143151839109}, "aligned": {"rotation_deg_mean": 0.16198527392405468, "rotation_deg_max": 0.42544447338808766, "translation_mean": 0.013351392217143498, "translation_radius_pct_mean": 0.3312072778929907}, "sim3": {"scale": 0.9822484779141358, "rotation": [[0.9999999435752494, 0.0003075211219237132, 0.00013520450399545097], [-0.0003074833383817443, 0.9999999136985054, -0.0002793867897445173], [-0.00013529040966604668, 0.0002793452008478251, 0.9999999518313804]], "translation": [-0.005986755279290268, -0.002665438311033108, 0.0010860396096155078]}}} +{"step": 28000, "train_loss": 0.00703313248232007, "val_psnr": 20.953556060791016, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.924738883972168, "translation_update_mean": 0.013628036715090275, "rotation_update_deg_mean": 0.14899198710918427, "pose_errors": {"raw": {"rotation_deg_mean": 0.140572043766314, "rotation_deg_max": 0.3462823004149736, "translation_mean": 0.07692055957152306, "translation_radius_pct_mean": 1.9081642375075445}, "aligned": {"rotation_deg_mean": 0.13884539200422005, "rotation_deg_max": 0.3553622543240179, "translation_mean": 0.01191705316151827, "translation_radius_pct_mean": 0.29562570509047487}, "sim3": {"scale": 0.9811540725653792, "rotation": [[0.9999998096877912, 0.0005616695123750469, 0.0002552483889901843], [-0.0005616436448464689, 0.9999998371369152, -0.00010140295563629026], [-0.0002553053023683069, 0.00010125957770250385, 0.9999999622828496]], "translation": [-0.006412553577639646, -0.002485091966794903, 0.0010045621311154385]}}} +{"step": 29000, "train_loss": 0.009370822459459305, "val_psnr": 19.502395629882812, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 1.041264295578003, "translation_update_mean": 0.014316307380795479, "rotation_update_deg_mean": 0.14452281594276428, "pose_errors": {"raw": {"rotation_deg_mean": 0.14131595424474516, "rotation_deg_max": 0.37448973719097195, "translation_mean": 0.07627330607184471, "translation_radius_pct_mean": 1.892107854304307}, "aligned": {"rotation_deg_mean": 0.1422284489268628, "rotation_deg_max": 0.3992208247099608, "translation_mean": 0.011432049896839767, "translation_radius_pct_mean": 0.2835942548528645}, "sim3": {"scale": 0.9813308032489538, "rotation": [[0.999999669023066, 0.0005375022381629653, 0.000610774182827769], [-0.000537532339466441, 0.9999998543230566, 4.912076315402977e-05], [-0.0006107476913318797, -4.944905777161141e-05, 0.9999998122710064]], "translation": [-0.007708912981822025, -0.0032176529702047513, 0.0006012265791786042]}}} +{"step": 29999, "train_loss": 0.00541488453745842, "val_psnr": 22.71841049194336, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.955317497253418, "translation_update_mean": 0.013030490837991238, "rotation_update_deg_mean": 0.13311447203159332, "pose_errors": {"raw": {"rotation_deg_mean": 0.13567128394240285, "rotation_deg_max": 0.31737012746196924, "translation_mean": 0.07704451186283355, "translation_radius_pct_mean": 1.9112391154173425}, "aligned": {"rotation_deg_mean": 0.13035650783722674, "rotation_deg_max": 0.3322429178911913, "translation_mean": 0.011166045899093676, "translation_radius_pct_mean": 0.276995507803174}, "sim3": {"scale": 0.9810470674911924, "rotation": [[0.9999999624988982, 0.00021076536374114614, 0.0001748718479185419], [-0.00021062537324213442, 0.9999996576867801, -0.0008001645297061481], [-0.00017504043502564195, 0.0008001276672508186, 0.9999996645782241]], "translation": [-0.0058668377476247535, 1.5892819559298887e-05, 0.0014781052761949631]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T1.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T1.jsonl new file mode 100644 index 0000000..f844d41 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T1.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421427607536316, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.007205404806882143, "translation_update_mean": 1.017533648450808e-07, "rotation_update_deg_mean": 1.7854995348898228e-06, "pose_errors": {"raw": {"rotation_deg_mean": 0.017162085494611325, "rotation_deg_max": 0.04476778346844528, "translation_mean": 0.03199718489513374, "translation_radius_pct_mean": 0.7937524669336185}, "aligned": {"rotation_deg_mean": 0.08043565153663812, "rotation_deg_max": 0.0898313321251582, "translation_mean": 0.0316781102590255, "translation_radius_pct_mean": 0.7858371993756471}, "sim3": {"scale": 1.0000117244103277, "rotation": [[0.9999990835301965, -0.0005171577318562533, 0.0012511940885189502], [0.0005169147699834721, 0.9999998474845042, 0.00019449958825272975], [-0.00125129448465836, -0.00019385264929529372, 0.99999919834131]], "translation": [-0.0012963092748350946, 0.0006201406026943163, 0.00031574981242155076]}}} +{"step": 1000, "train_loss": 0.037816859781742096, "val_psnr": 17.77726173400879, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 2.0332448482513428, "translation_update_mean": 0.1176278293132782, "rotation_update_deg_mean": 1.200136661529541, "pose_errors": {"raw": {"rotation_deg_mean": 1.2003316385154956, "rotation_deg_max": 3.766191939225842, "translation_mean": 0.12391300875021397, "translation_radius_pct_mean": 3.073903429410998}, "aligned": {"rotation_deg_mean": 1.238490363645146, "rotation_deg_max": 3.789017091127257, "translation_mean": 0.12239353574795989, "translation_radius_pct_mean": 3.0362099433142995}, "sim3": {"scale": 1.0027497988537675, "rotation": [[0.999987383246139, -0.0018004771574462713, -0.0046895234880492825], [0.0017968032091857178, 0.9999980756433463, -0.0007875327489765971], [0.004690932398458957, 0.0007790966620168445, 0.9999886940168983]], "translation": [0.019091394141567575, -0.0026601850194704207, 0.014976247322979752]}}} +{"step": 2000, "train_loss": 0.031464073807001114, "val_psnr": 18.23824119567871, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.4221007823944092, "translation_update_mean": 0.141911119222641, "rotation_update_deg_mean": 1.4656376838684082, "pose_errors": {"raw": {"rotation_deg_mean": 1.308696130476294, "rotation_deg_max": 3.5698997478743046, "translation_mean": 0.1354783238261195, "translation_radius_pct_mean": 3.3608035864857757}, "aligned": {"rotation_deg_mean": 1.3647022453611362, "rotation_deg_max": 3.7348758110340348, "translation_mean": 0.1344709281840362, "translation_radius_pct_mean": 3.3358131762761767}, "sim3": {"scale": 1.0008155480904668, "rotation": [[0.9999682446355447, -0.0003271328497264352, -0.007962581528976283], [0.0002837572077803185, 0.9999851195240429, -0.0054479548761268305], [0.007964245246977019, 0.005445522434432879, 0.9999534574584272]], "translation": [0.019464341137391816, 0.03032412401220945, 0.01784002810354801]}}} +{"step": 3000, "train_loss": 0.030749108642339706, "val_psnr": 20.075031280517578, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.584243893623352, "translation_update_mean": 0.1505003273487091, "rotation_update_deg_mean": 1.5155211687088013, "pose_errors": {"raw": {"rotation_deg_mean": 1.35208053550063, "rotation_deg_max": 3.9559773498097486, "translation_mean": 0.13096355555589448, "translation_radius_pct_mean": 3.248805969699502}, "aligned": {"rotation_deg_mean": 1.3545917417355755, "rotation_deg_max": 3.979175794930795, "translation_mean": 0.12867903459493885, "translation_radius_pct_mean": 3.192133979508394}, "sim3": {"scale": 1.0033975400309842, "rotation": [[0.9999973963478132, 0.00037707429970648286, -0.00225058049553545], [-0.0003887429102932339, 0.9999864743119578, -0.005186527941765289], [0.002248594348494094, 0.005187389335062251, 0.9999840172799483]], "translation": [-0.002331842298103348, 0.028583453786864478, 0.0010766698924942197]}}} +{"step": 4000, "train_loss": 0.029254671186208725, "val_psnr": 20.41146469116211, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.4403228759765625, "translation_update_mean": 0.13665913045406342, "rotation_update_deg_mean": 1.2861628532409668, "pose_errors": {"raw": {"rotation_deg_mean": 1.2545401802402907, "rotation_deg_max": 3.9664061321322945, "translation_mean": 0.11882778976128475, "translation_radius_pct_mean": 2.947754671931582}, "aligned": {"rotation_deg_mean": 1.282352916219808, "rotation_deg_max": 3.429919955034684, "translation_mean": 0.11718009681910457, "translation_radius_pct_mean": 2.906880440592452}, "sim3": {"scale": 1.0030771589752334, "rotation": [[0.9999476272168558, 0.0027925095664413035, -0.009846050665138942], [-0.002848816366633687, 0.9999796436372181, -0.0057093394093240485], [0.009829906850440957, 0.005737089985610869, 0.9999352272671509]], "translation": [0.024754359715306706, 0.01956481397561164, 0.00640970185948353]}}} +{"step": 5000, "train_loss": 0.02291487529873848, "val_psnr": 21.140464782714844, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 1.4024375677108765, "translation_update_mean": 0.12261524051427841, "rotation_update_deg_mean": 1.2352246046066284, "pose_errors": {"raw": {"rotation_deg_mean": 1.1006534516866562, "rotation_deg_max": 2.7712246549986004, "translation_mean": 0.10263400517061028, "translation_radius_pct_mean": 2.546036317333633}, "aligned": {"rotation_deg_mean": 1.0537776892505637, "rotation_deg_max": 2.5115020657021896, "translation_mean": 0.09802720837560658, "translation_radius_pct_mean": 2.4317557538190537}, "sim3": {"scale": 1.0042616620268199, "rotation": [[0.9999618752930862, 0.005905112157853003, -0.006432543100288799], [-0.00593463851183228, 0.999971897880245, -0.004580776737160002], [0.006405312331789158, 0.004618776914401498, 0.9999688189507454]], "translation": [0.011963166049929197, 0.006471733857656134, 0.0014215691903394223]}}} +{"step": 6000, "train_loss": 0.017263352870941162, "val_psnr": 21.82431411743164, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 1.075107216835022, "translation_update_mean": 0.11398939788341522, "rotation_update_deg_mean": 0.9952845573425293, "pose_errors": {"raw": {"rotation_deg_mean": 0.8788422146719421, "rotation_deg_max": 3.8555376856273753, "translation_mean": 0.08510389923445427, "translation_radius_pct_mean": 2.1111679100648524}, "aligned": {"rotation_deg_mean": 0.859936376053157, "rotation_deg_max": 3.7515865371723742, "translation_mean": 0.08295152840417576, "translation_radius_pct_mean": 2.0577741611494793}, "sim3": {"scale": 0.9976978016150448, "rotation": [[0.9999883316053992, 0.0047926529171737516, 0.000605913414067721], [-0.004793073041279659, 0.9999882724545592, 0.0006938329518281676], [-0.0006025810076697741, -0.0006967290431617845, 0.9999995757322933]], "translation": [-0.012274293686513171, -0.014318413235591826, -0.0014579512484624857]}}} +{"step": 7000, "train_loss": 0.01918618381023407, "val_psnr": 20.41436195373535, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 0.9795888662338257, "translation_update_mean": 0.10183917731046677, "rotation_update_deg_mean": 0.8773529529571533, "pose_errors": {"raw": {"rotation_deg_mean": 0.8176560981248842, "rotation_deg_max": 2.4470928658744344, "translation_mean": 0.07741906338347775, "translation_radius_pct_mean": 1.9205305951046785}, "aligned": {"rotation_deg_mean": 0.7938983692414451, "rotation_deg_max": 2.334431641021885, "translation_mean": 0.0758477932083599, "translation_radius_pct_mean": 1.8815521792907084}, "sim3": {"scale": 0.9972719728888384, "rotation": [[0.9999890996207361, 0.004659860719006108, 0.00029383292840459344], [-0.004660046622825849, 0.9999889401775166, 0.0006352071480694699], [-0.00029086970182694527, -0.0006365694992163037, 0.9999997550870159]], "translation": [-0.0045454911352874605, -0.003318089743810426, -0.0018384420766177634]}}} +{"step": 8000, "train_loss": 0.014625843614339828, "val_psnr": 21.4046688079834, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.9842641949653625, "translation_update_mean": 0.08800645917654037, "rotation_update_deg_mean": 0.7622218728065491, "pose_errors": {"raw": {"rotation_deg_mean": 0.6641252664116586, "rotation_deg_max": 2.392820551123751, "translation_mean": 0.06238457104048923, "translation_radius_pct_mean": 1.5475707417471836}, "aligned": {"rotation_deg_mean": 0.6122451524792247, "rotation_deg_max": 2.1391544537764906, "translation_mean": 0.05831343741174546, "translation_radius_pct_mean": 1.4465783459591643}, "sim3": {"scale": 0.996351970710205, "rotation": [[0.9999878098727348, 0.0048666510251767995, -0.0008341545003330295], [-0.004868394688176309, 0.9999859417270895, -0.002101209495808579], [0.0008239169202146113, 0.0021052448751360483, 0.9999974445491964]], "translation": [-0.0028826132598813725, 0.010830067949813768, -0.00042506954957488574]}}} +{"step": 9000, "train_loss": 0.016176003962755203, "val_psnr": 22.45157241821289, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.8790702223777771, "translation_update_mean": 0.07089962810277939, "rotation_update_deg_mean": 0.6597287654876709, "pose_errors": {"raw": {"rotation_deg_mean": 0.6047945994924202, "rotation_deg_max": 1.6903922297937253, "translation_mean": 0.05853860648033705, "translation_radius_pct_mean": 1.452164103089283}, "aligned": {"rotation_deg_mean": 0.5723903921288137, "rotation_deg_max": 1.4828377102232602, "translation_mean": 0.05329833232366152, "translation_radius_pct_mean": 1.3221689002956059}, "sim3": {"scale": 0.9956556823906696, "rotation": [[0.9999912125848643, 0.004142555653660109, -0.0006434172119199786], [-0.004143102628614669, 0.9999910551113311, -0.0008511157005080558], [0.0006398856624675718, 0.0008537739649431253, 0.9999994308080159]], "translation": [0.0006003035504749121, 0.006699434665780879, -0.0006411606115754864]}}} +{"step": 10000, "train_loss": 0.01464819349348545, "val_psnr": 22.722183227539062, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.9249386787414551, "translation_update_mean": 0.06149908900260925, "rotation_update_deg_mean": 0.5733413100242615, "pose_errors": {"raw": {"rotation_deg_mean": 0.5292330360981974, "rotation_deg_max": 1.6442061441736116, "translation_mean": 0.050777430915845086, "translation_radius_pct_mean": 1.2596330329088772}, "aligned": {"rotation_deg_mean": 0.48871639105605524, "rotation_deg_max": 1.830484794477057, "translation_mean": 0.043367348113933495, "translation_radius_pct_mean": 1.075811502249965}, "sim3": {"scale": 0.9940053317797553, "rotation": [[0.9999937176128862, 0.003302453095608676, -0.0012878425020591761], [-0.0033040356412527006, 0.9999937868651866, -0.0012286494637150083], [0.0012837769432952856, 0.0012328968223905986, 0.9999984159398376]], "translation": [0.002057169667959824, 0.008395051616865254, 0.001821459372740808]}}} +{"step": 11000, "train_loss": 0.012072758749127388, "val_psnr": 21.90357208251953, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.9834151864051819, "translation_update_mean": 0.0617886446416378, "rotation_update_deg_mean": 0.5867362022399902, "pose_errors": {"raw": {"rotation_deg_mean": 0.5102410646469258, "rotation_deg_max": 1.335780812934428, "translation_mean": 0.05868210654182968, "translation_radius_pct_mean": 1.4557239014961805}, "aligned": {"rotation_deg_mean": 0.5063952779796872, "rotation_deg_max": 1.3423794296550247, "translation_mean": 0.04777386241358611, "translation_radius_pct_mean": 1.185123668535552}, "sim3": {"scale": 0.98974806998724, "rotation": [[0.9999928780529971, 0.0032309562929093314, -0.0019505806102760336], [-0.0032310382000067662, 0.9999947794281208, -3.884138581651107e-05], [0.0019504449323099772, 4.514350965416988e-05, 0.9999980968615026]], "translation": [0.005997221578323608, 0.00508869973274205, 0.006022036075148396]}}} +{"step": 12000, "train_loss": 0.011441797018051147, "val_psnr": 22.656877517700195, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 1.1298907995224, "translation_update_mean": 0.05624735727906227, "rotation_update_deg_mean": 0.5380211472511292, "pose_errors": {"raw": {"rotation_deg_mean": 0.43009385500457475, "rotation_deg_max": 1.4914035607899876, "translation_mean": 0.05289113749229827, "translation_radius_pct_mean": 1.3120676397323257}, "aligned": {"rotation_deg_mean": 0.40904463238308486, "rotation_deg_max": 1.5884560194426267, "translation_mean": 0.03937510595421139, "translation_radius_pct_mean": 0.9767761629455455}, "sim3": {"scale": 0.9900784964724929, "rotation": [[0.9999985088894301, 0.0010921733773013036, -0.0013376756817458741], [-0.0010944197080359048, 0.9999979904249433, -0.0016796998472517323], [0.0013358384701312575, 0.0016811613212626517, 0.9999976946134387]], "translation": [0.003018934054945299, 0.012415614102263557, 0.0038954322960238486]}}} +{"step": 13000, "train_loss": 0.011125425808131695, "val_psnr": 22.392574310302734, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 1.0040827989578247, "translation_update_mean": 0.050823092460632324, "rotation_update_deg_mean": 0.4483296573162079, "pose_errors": {"raw": {"rotation_deg_mean": 0.39460942320935727, "rotation_deg_max": 0.9857558995710742, "translation_mean": 0.05307724600316095, "translation_radius_pct_mean": 1.3166844236806243}, "aligned": {"rotation_deg_mean": 0.38677949014542645, "rotation_deg_max": 0.9723038891460977, "translation_mean": 0.03590120932258015, "translation_radius_pct_mean": 0.8905993936370354}, "sim3": {"scale": 0.989176442453433, "rotation": [[0.999999415688193, 0.0009546253096543673, -0.0005072610673338912], [-0.0009544701241573064, 0.9999994976500681, 0.0003060823300649355], [0.0005075530064505168, -0.00030559798568355936, 0.9999998244998923]], "translation": [0.000768731326454386, 0.005473084598434805, 0.003982532003331318]}}} +{"step": 14000, "train_loss": 0.013563662767410278, "val_psnr": 22.150447845458984, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 0.915515661239624, "translation_update_mean": 0.049539752304553986, "rotation_update_deg_mean": 0.4417063295841217, "pose_errors": {"raw": {"rotation_deg_mean": 0.39672279548893213, "rotation_deg_max": 1.0719508213551234, "translation_mean": 0.05355178014359735, "translation_radius_pct_mean": 1.3284561669089763}, "aligned": {"rotation_deg_mean": 0.389538790092029, "rotation_deg_max": 0.9815270595522406, "translation_mean": 0.03612613193074531, "translation_radius_pct_mean": 0.8961790368364404}, "sim3": {"scale": 0.9891905264341991, "rotation": [[0.9999966223210822, 0.002563444217154324, -0.00042906895915213744], [-0.002563180400681727, 0.9999965263754774, 0.0006142826805504337], [0.0004306421481129338, -0.0006131808245541366, 0.9999997192782679]], "translation": [-0.0011039266549455196, 0.0025072672874058843, 0.003472518462266372]}}} +{"step": 15000, "train_loss": 0.010253757238388062, "val_psnr": 21.09241485595703, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.7561246156692505, "translation_update_mean": 0.04595530405640602, "rotation_update_deg_mean": 0.4017900824546814, "pose_errors": {"raw": {"rotation_deg_mean": 0.3519277137257442, "rotation_deg_max": 0.8373744542712636, "translation_mean": 0.06111122252376117, "translation_radius_pct_mean": 1.5159828526959542}, "aligned": {"rotation_deg_mean": 0.34000238505482167, "rotation_deg_max": 0.9558860564309977, "translation_mean": 0.03032664038673222, "translation_radius_pct_mean": 0.7523113580044458}, "sim3": {"scale": 0.9857907676195716, "rotation": [[0.9999975411780875, 0.002217353994818246, 3.128963695731114e-05], [-0.002217371737265354, 0.9999973740771784, 0.000578879372106589], [-3.0005974304932307e-05, -0.0005789473295019784, 0.999999831959802]], "translation": [-0.00235036309041442, 0.004408238031987935, 0.0032467594738245786]}}} +{"step": 16000, "train_loss": 0.011680807918310165, "val_psnr": 22.506322860717773, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.9993211030960083, "translation_update_mean": 0.03892780840396881, "rotation_update_deg_mean": 0.38278159499168396, "pose_errors": {"raw": {"rotation_deg_mean": 0.3348157254823719, "rotation_deg_max": 0.8432188649348047, "translation_mean": 0.05905622845340562, "translation_radius_pct_mean": 1.4650047238941686}, "aligned": {"rotation_deg_mean": 0.321628015497199, "rotation_deg_max": 0.8102454156673713, "translation_mean": 0.030467909450946268, "translation_radius_pct_mean": 0.7558158121802991}, "sim3": {"scale": 0.9864733380986616, "rotation": [[0.9999979679744309, 0.0019105000013337511, -0.000643456876838504], [-0.0019102797649951195, 0.9999981166882824, 0.00034271140261577947], [0.0006441104151439898, -0.0003414815235659679, 0.9999997342560336]], "translation": [0.000960759271381284, 0.0044788248266010855, 0.0035184806540975444]}}} +{"step": 17000, "train_loss": 0.007113113068044186, "val_psnr": 21.363601684570312, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.46305927634239197, "translation_update_mean": 0.038443855941295624, "rotation_update_deg_mean": 0.3305031657218933, "pose_errors": {"raw": {"rotation_deg_mean": 0.3190302484406196, "rotation_deg_max": 0.7212701749760335, "translation_mean": 0.05960277478031751, "translation_radius_pct_mean": 1.4785628696092246}, "aligned": {"rotation_deg_mean": 0.2924673483622055, "rotation_deg_max": 0.665049628510532, "translation_mean": 0.027838258038110814, "translation_radius_pct_mean": 0.6905821891927013}, "sim3": {"scale": 0.9856682961271076, "rotation": [[0.9999981811282845, 0.0018753519084037666, -0.00034755624390572315], [-0.0018756360804922086, 0.9999979055179843, -0.0008191147281206787], [0.0003460193875868466, 0.0008197651272871814, 0.9999996041277813]], "translation": [-0.0014437643967459834, 0.009683679462801784, 0.005433788159479924]}}} +{"step": 18000, "train_loss": 0.0075789764523506165, "val_psnr": 22.092716217041016, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.0761375427246094, "translation_update_mean": 0.03391776233911514, "rotation_update_deg_mean": 0.3210698366165161, "pose_errors": {"raw": {"rotation_deg_mean": 0.27912276061189056, "rotation_deg_max": 0.7512098378792899, "translation_mean": 0.06157457493643163, "translation_radius_pct_mean": 1.5274772113972646}, "aligned": {"rotation_deg_mean": 0.2648257731019996, "rotation_deg_max": 0.6733652228572511, "translation_mean": 0.023432157843176225, "translation_radius_pct_mean": 0.5812802955808692}, "sim3": {"scale": 0.985058690556641, "rotation": [[0.9999982781433877, 0.0016103239095614022, -0.000922261983817102], [-0.001610519891387647, 0.9999986806827678, -0.0002117980288431195], [0.0009219197036309557, 0.0002132829854273018, 0.9999995522871153]], "translation": [8.505267296510244e-06, 0.006361097297879384, 0.005561695613342632]}}} +{"step": 19000, "train_loss": 0.009138451889157295, "val_psnr": 21.668071746826172, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 1.061291217803955, "translation_update_mean": 0.03119128942489624, "rotation_update_deg_mean": 0.2928639352321625, "pose_errors": {"raw": {"rotation_deg_mean": 0.2783838868540887, "rotation_deg_max": 0.6552294354008409, "translation_mean": 0.06543549830685505, "translation_radius_pct_mean": 1.6232549324673868}, "aligned": {"rotation_deg_mean": 0.2490192614969455, "rotation_deg_max": 0.5635607041641215, "translation_mean": 0.02328543900862161, "translation_radius_pct_mean": 0.5776406492415107}, "sim3": {"scale": 0.9837934387241625, "rotation": [[0.999996244299409, 0.0021272165127280813, -0.0017281021338968253], [-0.002129910719354866, 0.9999965169398335, -0.0015587137419186194], [0.0017247803932025937, 0.0015623885911157306, 0.9999972920335771]], "translation": [0.001753296568691498, 0.00998252447541012, 0.007193724647056143]}}} +{"step": 20000, "train_loss": 0.007133656647056341, "val_psnr": 21.94394302368164, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.5990409255027771, "translation_update_mean": 0.02961803413927555, "rotation_update_deg_mean": 0.2720766067504883, "pose_errors": {"raw": {"rotation_deg_mean": 0.27184186153424283, "rotation_deg_max": 0.630108239168248, "translation_mean": 0.05921808956411095, "translation_radius_pct_mean": 1.4690200038740804}, "aligned": {"rotation_deg_mean": 0.2427374568771154, "rotation_deg_max": 0.6121503801534282, "translation_mean": 0.021963040179539765, "translation_radius_pct_mean": 0.5448359716958471}, "sim3": {"scale": 0.9853439762298557, "rotation": [[0.9999974860677109, 0.001507248482359881, -0.0016601386300160708], [-0.0015104623211602487, 0.9999969845481748, -0.0019363362656928777], [0.0016572150840503009, 0.0019388389747231488, 0.999996747265507]], "translation": [0.003330019103931381, 0.010214435034818552, 0.006059897940001058]}}} +{"step": 21000, "train_loss": 0.007217254023998976, "val_psnr": 20.758342742919922, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.6554475426673889, "translation_update_mean": 0.026694413274526596, "rotation_update_deg_mean": 0.2398369014263153, "pose_errors": {"raw": {"rotation_deg_mean": 0.25886912973527104, "rotation_deg_max": 0.4981587499466068, "translation_mean": 0.06188045918372666, "translation_radius_pct_mean": 1.5350652656802364}, "aligned": {"rotation_deg_mean": 0.23254027791249748, "rotation_deg_max": 0.5044268132120052, "translation_mean": 0.02058792977548969, "translation_radius_pct_mean": 0.5107236809084525}, "sim3": {"scale": 0.9847033171298387, "rotation": [[0.9999958847195558, 0.0016343947692400223, -0.0023578162972059716], [-0.0016379446390129286, 0.9999975269097852, -0.0015044306808999863], [0.00235535163247796, 0.001508286462309658, 0.9999960886876688]], "translation": [0.0061394399849739045, 0.00785618674275633, 0.005567767790289224]}}} +{"step": 22000, "train_loss": 0.00938001461327076, "val_psnr": 20.507755279541016, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 0.955924391746521, "translation_update_mean": 0.025390028953552246, "rotation_update_deg_mean": 0.225507915019989, "pose_errors": {"raw": {"rotation_deg_mean": 0.2330002826665748, "rotation_deg_max": 0.5427653354607566, "translation_mean": 0.064958201075976, "translation_radius_pct_mean": 1.611414645401119}, "aligned": {"rotation_deg_mean": 0.2161254420163297, "rotation_deg_max": 0.4917476031045994, "translation_mean": 0.017344102656033592, "translation_radius_pct_mean": 0.43025423377386923}, "sim3": {"scale": 0.9836191364232352, "rotation": [[0.9999984875791244, 0.001733581408265513, 0.0001397675393117934], [-0.001733503108294437, 0.9999983415746411, -0.0005584039226371735], [-0.0001407353461762884, 0.0005581607906315287, 0.9999998343250329]], "translation": [-0.004019402228060409, 0.006270031308173288, 0.00588727242608833]}}} +{"step": 23000, "train_loss": 0.00750390999019146, "val_psnr": 21.89550018310547, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.8289846181869507, "translation_update_mean": 0.01942260190844536, "rotation_update_deg_mean": 0.20079098641872406, "pose_errors": {"raw": {"rotation_deg_mean": 0.21393282602123004, "rotation_deg_max": 0.5156126341837038, "translation_mean": 0.0637673067791969, "translation_radius_pct_mean": 1.581872193806593}, "aligned": {"rotation_deg_mean": 0.19246395558734317, "rotation_deg_max": 0.5618216064422783, "translation_mean": 0.015398475237841363, "translation_radius_pct_mean": 0.381989157705923}, "sim3": {"scale": 0.9838521314422567, "rotation": [[0.9999990989524757, 0.0013401257528680034, 7.846784447130661e-05], [-0.0013400734710472284, 0.9999988825897587, -0.0006625875977793709], [-7.935570749371275e-05, 0.0006624818480798312, 0.9999997774102104]], "translation": [-0.003924830068112228, 0.006369117159846435, 0.005696895434455396]}}} +{"step": 24000, "train_loss": 0.0063126906752586365, "val_psnr": 20.534639358520508, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.7456967830657959, "translation_update_mean": 0.01848277822136879, "rotation_update_deg_mean": 0.188902348279953, "pose_errors": {"raw": {"rotation_deg_mean": 0.20415657429894718, "rotation_deg_max": 0.5295720313651066, "translation_mean": 0.06632777778716106, "translation_radius_pct_mean": 1.6453896621634003}, "aligned": {"rotation_deg_mean": 0.17615407503938094, "rotation_deg_max": 0.528662864510046, "translation_mean": 0.0147691306703998, "translation_radius_pct_mean": 0.3663770404338818}, "sim3": {"scale": 0.9831137848891975, "rotation": [[0.9999995601165615, 0.0008467002521096311, -0.00040356581333655955], [-0.0008472427691870785, 0.9999987351785834, -0.0013460389751656708], [0.0004024256113584191, 0.001346380301282608, 0.9999990126563673]], "translation": [-0.0022130914555362757, 0.00998288684481187, 0.006574127074021607]}}} +{"step": 25000, "train_loss": 0.009378235787153244, "val_psnr": 22.369577407836914, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.939562201499939, "translation_update_mean": 0.01818140782415867, "rotation_update_deg_mean": 0.17931339144706726, "pose_errors": {"raw": {"rotation_deg_mean": 0.1996354683676384, "rotation_deg_max": 0.455256128909981, "translation_mean": 0.06756786874176557, "translation_radius_pct_mean": 1.6761525326367053}, "aligned": {"rotation_deg_mean": 0.1774837018090384, "rotation_deg_max": 0.42964822853428736, "translation_mean": 0.014734875345844858, "translation_radius_pct_mean": 0.36552727041629407}, "sim3": {"scale": 0.9827745558552883, "rotation": [[0.9999992564809963, 0.0011665001682718142, -0.0003554079497276226], [-0.0011666910431495255, 0.9999991750563733, -0.0005373253964093731], [0.00035478086637084037, 0.0005377396481693493, 0.9999997924832812]], "translation": [-0.002952561659994468, 0.007030546232329363, 0.006835710419270669]}}} +{"step": 26000, "train_loss": 0.006965393200516701, "val_psnr": 19.844375610351562, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.9997392892837524, "translation_update_mean": 0.016332698985934258, "rotation_update_deg_mean": 0.15442247688770294, "pose_errors": {"raw": {"rotation_deg_mean": 0.1927250447494897, "rotation_deg_max": 0.48046955343798076, "translation_mean": 0.06818702469473345, "translation_radius_pct_mean": 1.6915119014904205}, "aligned": {"rotation_deg_mean": 0.17049318113428094, "rotation_deg_max": 0.5123151182550904, "translation_mean": 0.012847883994179143, "translation_radius_pct_mean": 0.31871677613762844}, "sim3": {"scale": 0.9827823209145586, "rotation": [[0.9999992494621618, 0.0012251043047954613, 1.3948316300496489e-05], [-0.0012250945484573064, 0.9999990189061525, -0.0006792128386286791], [-1.4780409188478745e-05, 0.0006791952408475172, 0.9999997692376562]], "translation": [-0.0038011226005708054, 0.00803156648713764, 0.005431737412212367]}}} +{"step": 27000, "train_loss": 0.008125508204102516, "val_psnr": 19.594511032104492, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 1.0020087957382202, "translation_update_mean": 0.01579214259982109, "rotation_update_deg_mean": 0.16062511503696442, "pose_errors": {"raw": {"rotation_deg_mean": 0.182900391293996, "rotation_deg_max": 0.46927778265118925, "translation_mean": 0.06573226446367723, "translation_radius_pct_mean": 1.6306167947640866}, "aligned": {"rotation_deg_mean": 0.1619286025092567, "rotation_deg_max": 0.43379260858886676, "translation_mean": 0.013646126797041642, "translation_radius_pct_mean": 0.33851874296879414}, "sim3": {"scale": 0.9834843912325156, "rotation": [[0.9999991769206743, 0.0009900833820188917, -0.0008160225918112243], [-0.0009908968417004734, 0.9999990119983642, -0.0009970585462013824], [0.0008150346144821559, 0.0009978663197521172, 0.9999991699903477]], "translation": [0.0005793175964402542, 0.008326806626219721, 0.00538107256048681]}}} +{"step": 28000, "train_loss": 0.007751314900815487, "val_psnr": 20.67264747619629, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.8057677149772644, "translation_update_mean": 0.015908215194940567, "rotation_update_deg_mean": 0.14989858865737915, "pose_errors": {"raw": {"rotation_deg_mean": 0.16903354702494183, "rotation_deg_max": 0.4478724624155607, "translation_mean": 0.07015488676401825, "translation_radius_pct_mean": 1.7403285513675621}, "aligned": {"rotation_deg_mean": 0.1418429907116274, "rotation_deg_max": 0.35980152657784814, "translation_mean": 0.011789091430366246, "translation_radius_pct_mean": 0.2924513652193925}, "sim3": {"scale": 0.9822060479877717, "rotation": [[0.9999990332426817, 0.0011931639844565188, -0.0007140542055692442], [-0.0011937768233678224, 0.9999989189858985, -0.0008584427361486578], [0.0007130291707110162, 0.0008592943276041404, 0.9999993766011366]], "translation": [-0.0008715712551601862, 0.008389176686654051, 0.006301597578206142]}}} +{"step": 29000, "train_loss": 0.008177271112799644, "val_psnr": 19.351898193359375, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 1.0345200300216675, "translation_update_mean": 0.014090576209127903, "rotation_update_deg_mean": 0.14491890370845795, "pose_errors": {"raw": {"rotation_deg_mean": 0.15646329423928912, "rotation_deg_max": 0.4170777297977261, "translation_mean": 0.07073872063547915, "translation_radius_pct_mean": 1.7548116872206159}, "aligned": {"rotation_deg_mean": 0.1442862476589463, "rotation_deg_max": 0.443143690346602, "translation_mean": 0.010821834720766548, "translation_radius_pct_mean": 0.2684566793769009}, "sim3": {"scale": 0.9821143229203204, "rotation": [[0.999999515520006, 0.0008182669651789063, -0.0005471735802750077], [-0.0008183593730806872, 0.9999996509174893, -0.0001686796818088712], [0.0005470353642550325, 0.0001691273847150619, 0.9999998360741051]], "translation": [-0.0009770418848810136, 0.006252788019037045, 0.005594170047321434]}}} +{"step": 29999, "train_loss": 0.004671107977628708, "val_psnr": 22.048513412475586, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.6158537268638611, "translation_update_mean": 0.012859566137194633, "rotation_update_deg_mean": 0.12284734100103378, "pose_errors": {"raw": {"rotation_deg_mean": 0.1524402898456364, "rotation_deg_max": 0.32736221619005607, "translation_mean": 0.07303923397591226, "translation_radius_pct_mean": 1.8118803995203716}, "aligned": {"rotation_deg_mean": 0.13492525329601407, "rotation_deg_max": 0.3106542152565089, "translation_mean": 0.011081836054430534, "translation_radius_pct_mean": 0.2749065186573935}, "sim3": {"scale": 0.9815318098380137, "rotation": [[0.9999993813780698, 0.0009182874969597347, -0.0006276874621825531], [-0.0009186569198186965, 0.9999994048618724, -0.0005885111417324422], [0.0006271466661986044, 0.0005890874070971077, 0.9999996298314737]], "translation": [-0.0006143204265069424, 0.007298672901526457, 0.0057623796843708774]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T2.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T2.jsonl new file mode 100644 index 0000000..51058a1 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T2.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421420454978943, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.007315389811992645, "translation_update_mean": 1.0224788127288775e-07, "rotation_update_deg_mean": 1.7987672435992863e-06, "pose_errors": {"raw": {"rotation_deg_mean": 0.0172576724907084, "rotation_deg_max": 0.04476778346844528, "translation_mean": 0.06399435571574828, "translation_radius_pct_mean": 1.5875045847213864}, "aligned": {"rotation_deg_mean": 0.15775640661419815, "rotation_deg_max": 0.16277594042828475, "translation_mean": 0.06335557817218102, "translation_radius_pct_mean": 1.5716584641114004}, "sim3": {"scale": 0.9998370439198401, "rotation": [[0.9999963384815861, -0.001034219137354659, 0.0025006827462022217], [0.0010332504763615222, 0.999999390683981, 0.00038861950562809103], [-0.002501083140226138, -0.0003860342510518554, 0.9999967977752148]], "translation": [-0.00266119198842496, 0.0012561526539928008, 0.0010571772800020973]}}} +{"step": 1000, "train_loss": 0.032302819192409515, "val_psnr": 17.958662033081055, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 2.266953706741333, "translation_update_mean": 0.1097935289144516, "rotation_update_deg_mean": 1.2601944208145142, "pose_errors": {"raw": {"rotation_deg_mean": 1.2603671458739607, "rotation_deg_max": 3.0276244623308752, "translation_mean": 0.1225008986341245, "translation_radius_pct_mean": 3.038873288731391}, "aligned": {"rotation_deg_mean": 1.2736154831626454, "rotation_deg_max": 3.219837147613266, "translation_mean": 0.12126656549423451, "translation_radius_pct_mean": 3.0082532520620213}, "sim3": {"scale": 0.9975007851952166, "rotation": [[0.999969950291703, 0.0015644654771976333, 0.007592823017878162], [-0.0015797391486591656, 0.9999967401629883, 0.00200601286604025], [-0.00758965992863693, -0.0020179472657089054, 0.9999691620000094]], "translation": [-0.019961713246170132, -0.008461359330553739, -0.00682088885701182]}}} +{"step": 2000, "train_loss": 0.031128834933042526, "val_psnr": 17.972185134887695, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.9144885540008545, "translation_update_mean": 0.15698274970054626, "rotation_update_deg_mean": 1.578658103942871, "pose_errors": {"raw": {"rotation_deg_mean": 1.4041218474808437, "rotation_deg_max": 3.8898856950279446, "translation_mean": 0.15977806957331978, "translation_radius_pct_mean": 3.9636060891407308}, "aligned": {"rotation_deg_mean": 1.478771834542822, "rotation_deg_max": 4.513192830262396, "translation_mean": 0.1584899657884902, "translation_radius_pct_mean": 3.931652166937077}, "sim3": {"scale": 0.9987170142419849, "rotation": [[0.9999427187574702, -0.0021644974865983697, 0.010482087318347847], [0.0021887431279972278, 0.9999949547745488, -0.0023021357405511923], [-0.010477051466829895, 0.002324946467940603, 0.9999424113500152]], "translation": [-0.031445589236062166, -3.263804138640969e-05, -0.00641616559515068]}}} +{"step": 3000, "train_loss": 0.029165644198656082, "val_psnr": 19.400375366210938, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.321071743965149, "translation_update_mean": 0.15439444780349731, "rotation_update_deg_mean": 1.4362646341323853, "pose_errors": {"raw": {"rotation_deg_mean": 1.4408324404983213, "rotation_deg_max": 5.191791454239488, "translation_mean": 0.15543925666036146, "translation_radius_pct_mean": 3.8559733875605398}, "aligned": {"rotation_deg_mean": 1.5736178375843366, "rotation_deg_max": 5.461940381287598, "translation_mean": 0.15270636979543603, "translation_radius_pct_mean": 3.7881788081938113}, "sim3": {"scale": 1.002386606471511, "rotation": [[0.9999227365471629, 0.00013326977284246734, 0.012429930619315981], [-0.00010161530438736802, 0.9999967506426989, -0.0025472295488343268], [-0.012430229698733496, 0.0025457696699008395, 0.9999195009831668]], "translation": [-0.03246149075680793, 0.014639747150354501, -0.0008617722251424986]}}} +{"step": 4000, "train_loss": 0.028104456141591072, "val_psnr": 19.952350616455078, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.2423720359802246, "translation_update_mean": 0.1478305160999298, "rotation_update_deg_mean": 1.2709474563598633, "pose_errors": {"raw": {"rotation_deg_mean": 1.3461491493127085, "rotation_deg_max": 5.358787672090591, "translation_mean": 0.12609754134853912, "translation_radius_pct_mean": 3.1280950135988057}, "aligned": {"rotation_deg_mean": 1.4375237918323924, "rotation_deg_max": 4.866656856689557, "translation_mean": 0.12242288610085153, "translation_radius_pct_mean": 3.0369380359602456}, "sim3": {"scale": 1.007464164019134, "rotation": [[0.9999624766531858, -0.00014815577908548595, 0.00866160120834818], [9.704025128612535e-05, 0.9999825811873474, 0.005901517184569941], [-0.008662324677415794, -0.005900455215935963, 0.9999450728712197]], "translation": [-0.012419362469605233, -0.024476010300121795, 0.0013067687220935653]}}} +{"step": 5000, "train_loss": 0.022803785279393196, "val_psnr": 21.25318145751953, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 1.2198190689086914, "translation_update_mean": 0.1189926490187645, "rotation_update_deg_mean": 1.1881320476531982, "pose_errors": {"raw": {"rotation_deg_mean": 1.1401771209527511, "rotation_deg_max": 4.880349552822641, "translation_mean": 0.11935421753807944, "translation_radius_pct_mean": 2.9608137378419936}, "aligned": {"rotation_deg_mean": 1.1827083580491295, "rotation_deg_max": 4.589350998748555, "translation_mean": 0.11480045855632134, "translation_radius_pct_mean": 2.8478488805447717}, "sim3": {"scale": 1.0058673763447152, "rotation": [[0.9999628861771835, 0.001651155234606412, 0.008455764577470342], [-0.0016701530801272063, 0.9999960961176905, 0.0022401647417556853], [-0.008452032707421066, -0.0022542040219323063, 0.9999617401217632]], "translation": [-0.016629589545608947, 0.0025134967065818803, -0.0006357196375210705]}}} +{"step": 6000, "train_loss": 0.017193330451846123, "val_psnr": 20.906524658203125, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.8943494558334351, "translation_update_mean": 0.12878772616386414, "rotation_update_deg_mean": 1.0609440803527832, "pose_errors": {"raw": {"rotation_deg_mean": 0.9136370392251772, "rotation_deg_max": 4.343967494504264, "translation_mean": 0.10199507752741782, "translation_radius_pct_mean": 2.530186473210214}, "aligned": {"rotation_deg_mean": 0.902931410349611, "rotation_deg_max": 4.347932064028408, "translation_mean": 0.09081002894579181, "translation_radius_pct_mean": 2.25271956687033}, "sim3": {"scale": 1.009397881653811, "rotation": [[0.9999949342779367, 0.0018057400029548982, 0.0026212061169436076], [-0.0018232489268833394, 0.9999759410007621, 0.006692770950225724], [-0.0026090576491123244, -0.006697516157748042, 0.9999741677140982]], "translation": [0.011585292150259052, -0.02336643401243528, 0.0121015874452568]}}} +{"step": 7000, "train_loss": 0.01829712465405464, "val_psnr": 20.446395874023438, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 0.795130729675293, "translation_update_mean": 0.0964951142668724, "rotation_update_deg_mean": 0.8899744153022766, "pose_errors": {"raw": {"rotation_deg_mean": 0.7433725100023609, "rotation_deg_max": 2.5754626334001243, "translation_mean": 0.07157730190247123, "translation_radius_pct_mean": 1.7756143281898378}, "aligned": {"rotation_deg_mean": 0.7354614480144985, "rotation_deg_max": 2.5194114043243374, "translation_mean": 0.0647942442962906, "translation_radius_pct_mean": 1.6073473782720795}, "sim3": {"scale": 1.0060702915430266, "rotation": [[0.9999987947483296, 0.001055801174625801, 0.001138325861991873], [-0.0010577416385403836, 0.9999979863735307, 0.0017054124162912776], [-0.0011365229933963609, -0.001706614415502579, 0.9999978978891513]], "translation": [0.009464661836003418, -0.0005236399224445021, 0.014456562544074902]}}} +{"step": 8000, "train_loss": 0.017375323921442032, "val_psnr": 20.556955337524414, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.8831655979156494, "translation_update_mean": 0.08903781324625015, "rotation_update_deg_mean": 0.8140851259231567, "pose_errors": {"raw": {"rotation_deg_mean": 0.6982431894224331, "rotation_deg_max": 1.604138303797144, "translation_mean": 0.06997227394489278, "translation_radius_pct_mean": 1.735798484858599}, "aligned": {"rotation_deg_mean": 0.6868137372319629, "rotation_deg_max": 1.543319785737484, "translation_mean": 0.06498885580405733, "translation_radius_pct_mean": 1.612175095613145}, "sim3": {"scale": 1.000697509084702, "rotation": [[0.999982929671006, 0.0015513689199286114, 0.005633260251887733], [-0.0015760915143377212, 0.9999891354664417, 0.004386899202826128], [-0.005626393350064593, -0.004395702850694447, 0.9999745104222998]], "translation": [-0.007504566602618168, -0.007998453036491479, 0.017384274243145814]}}} +{"step": 9000, "train_loss": 0.01756296120584011, "val_psnr": 21.959035873413086, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.9529808163642883, "translation_update_mean": 0.07536805421113968, "rotation_update_deg_mean": 0.6588360667228699, "pose_errors": {"raw": {"rotation_deg_mean": 0.6496333631396568, "rotation_deg_max": 2.134833334624318, "translation_mean": 0.06652314623442522, "translation_radius_pct_mean": 1.6502361568623916}, "aligned": {"rotation_deg_mean": 0.6425488113724234, "rotation_deg_max": 2.1997243171497027, "translation_mean": 0.057881630578168065, "translation_radius_pct_mean": 1.4358665367636316}, "sim3": {"scale": 1.0036109917635267, "rotation": [[0.9999822391442206, 0.0018442288027314528, 0.00566747000286141], [-0.001876542132829813, 0.999981985436701, 0.0057015253832603], [-0.005656852988532813, -0.005712059365537189, 0.999967685673926]], "translation": [-0.008610835551939255, -0.01075045507353578, 0.011723465139025002]}}} +{"step": 10000, "train_loss": 0.015460334718227386, "val_psnr": 20.90202522277832, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.1648606061935425, "translation_update_mean": 0.056665580719709396, "rotation_update_deg_mean": 0.58348149061203, "pose_errors": {"raw": {"rotation_deg_mean": 0.5380423660748282, "rotation_deg_max": 1.9819868263851357, "translation_mean": 0.05704585501322421, "translation_radius_pct_mean": 1.4151334966961626}, "aligned": {"rotation_deg_mean": 0.5327371292060643, "rotation_deg_max": 1.7934864906131036, "translation_mean": 0.04388383684425969, "translation_radius_pct_mean": 1.0886240107623055}, "sim3": {"scale": 1.0055086621653928, "rotation": [[0.9999873192764266, 0.0019187029767458474, 0.00465616421874978], [-0.001947053185961469, 0.9999795488273608, 0.006091872529673977], [-0.004644380500774647, -0.006100861079698882, 0.9999706041798663]], "translation": [-0.007226353044483047, -0.009903281544004591, 0.012697396746044198]}}} +{"step": 11000, "train_loss": 0.012601344846189022, "val_psnr": 20.458383560180664, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 1.0396047830581665, "translation_update_mean": 0.060151729732751846, "rotation_update_deg_mean": 0.5694934129714966, "pose_errors": {"raw": {"rotation_deg_mean": 0.5209022270181812, "rotation_deg_max": 1.4721877496992957, "translation_mean": 0.05931481153648363, "translation_radius_pct_mean": 1.471419380707671}, "aligned": {"rotation_deg_mean": 0.4802957002905034, "rotation_deg_max": 1.3282918100533596, "translation_mean": 0.045439385716687423, "translation_radius_pct_mean": 1.1272124290551004}, "sim3": {"scale": 1.0079280840449223, "rotation": [[0.9999974771359756, 0.0010691422602865772, 0.001975514239658315], [-0.0010749881749029856, 0.9999950399142328, 0.0029604978224752115], [-0.0019723392476048303, -0.002962614007988689, 0.9999936663780093]], "translation": [0.005253156183475105, -0.0024227709586253088, 0.010908639900566452]}}} +{"step": 12000, "train_loss": 0.013431333005428314, "val_psnr": 21.196975708007812, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.9844985604286194, "translation_update_mean": 0.06041216850280762, "rotation_update_deg_mean": 0.5055943727493286, "pose_errors": {"raw": {"rotation_deg_mean": 0.49636252917853135, "rotation_deg_max": 1.8229931201795078, "translation_mean": 0.0558468357042729, "translation_radius_pct_mean": 1.385389488356045}, "aligned": {"rotation_deg_mean": 0.5022788901847233, "rotation_deg_max": 1.4044573282541195, "translation_mean": 0.044344776914259004, "translation_radius_pct_mean": 1.1000585266070464}, "sim3": {"scale": 1.0051556937032167, "rotation": [[0.9999879711282147, 0.0006591316235956573, 0.004860364634417488], [-0.0006929008976336694, 0.999975612000207, 0.00694948150285446], [-0.004855665476819698, -0.006952765659450587, 0.9999640401346751]], "translation": [-0.006474181577491578, -0.016007972529038322, 0.011147827950207745]}}} +{"step": 13000, "train_loss": 0.011550262570381165, "val_psnr": 20.578535079956055, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.7432474493980408, "translation_update_mean": 0.05120931938290596, "rotation_update_deg_mean": 0.4657197594642639, "pose_errors": {"raw": {"rotation_deg_mean": 0.4215319282294007, "rotation_deg_max": 1.0713681756165225, "translation_mean": 0.048178026504623356, "translation_radius_pct_mean": 1.1951497456844697}, "aligned": {"rotation_deg_mean": 0.3813562867209124, "rotation_deg_max": 0.9090012417371194, "translation_mean": 0.0329893779199512, "translation_radius_pct_mean": 0.8183657466238252}, "sim3": {"scale": 1.0053270116893287, "rotation": [[0.9999994501901059, 0.0009650297093193112, 0.0004102890995402869], [-0.000966611428643017, 0.9999920343844919, 0.003872574067808472], [-0.0004065486823081124, -0.003872968528761524, 0.9999924173877242]], "translation": [0.013294398090979098, -0.009109864821048655, 0.014829772350068993]}}} +{"step": 14000, "train_loss": 0.013375338166952133, "val_psnr": 20.381193161010742, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 0.9425238370895386, "translation_update_mean": 0.0473887138068676, "rotation_update_deg_mean": 0.4167155623435974, "pose_errors": {"raw": {"rotation_deg_mean": 0.43060899847595985, "rotation_deg_max": 1.0309646167618116, "translation_mean": 0.051061056826301694, "translation_radius_pct_mean": 1.266668925811614}, "aligned": {"rotation_deg_mean": 0.39455214369537783, "rotation_deg_max": 1.0699149382422204, "translation_mean": 0.03811827739175838, "translation_radius_pct_mean": 0.9455980835229575}, "sim3": {"scale": 1.0056045900201833, "rotation": [[0.9999981187439126, 0.001666666055023046, 0.000992337088335422], [-0.001671700407662305, 0.9999856271746811, 0.005094198838534924], [-0.000983832497366035, -0.005095848145357477, 0.9999865321119559]], "translation": [0.008001004285679403, -0.013794844155131741, 0.01645454819866421]}}} +{"step": 15000, "train_loss": 0.008833158761262894, "val_psnr": 20.104068756103516, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.6923900842666626, "translation_update_mean": 0.045712172985076904, "rotation_update_deg_mean": 0.37483012676239014, "pose_errors": {"raw": {"rotation_deg_mean": 0.39424701804964907, "rotation_deg_max": 1.0960440542208965, "translation_mean": 0.04228289363219433, "translation_radius_pct_mean": 1.0489094974961468}, "aligned": {"rotation_deg_mean": 0.32891384186629324, "rotation_deg_max": 1.0039253568455984, "translation_mean": 0.03110607580209654, "translation_radius_pct_mean": 0.7716467709724457}, "sim3": {"scale": 1.0039048794948784, "rotation": [[0.9999967743589804, 0.0016489763634256961, 0.0019318769597917963], [-0.0016557551328332484, 0.9999924601194634, 0.0035125744353331255], [-0.0019260702414517824, -0.0035157618202211038, 0.9999919648038427]], "translation": [0.003386954580809398, -0.004521927464959816, 0.015714000064019018]}}} +{"step": 16000, "train_loss": 0.011686623096466064, "val_psnr": 21.58765411376953, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.9398882985115051, "translation_update_mean": 0.03692829608917236, "rotation_update_deg_mean": 0.33293044567108154, "pose_errors": {"raw": {"rotation_deg_mean": 0.37301554227485245, "rotation_deg_max": 1.1002761437523434, "translation_mean": 0.04141126060739574, "translation_radius_pct_mean": 1.0272869433257672}, "aligned": {"rotation_deg_mean": 0.3338726333282252, "rotation_deg_max": 0.7721795918591712, "translation_mean": 0.029200627282933937, "translation_radius_pct_mean": 0.7243784107195927}, "sim3": {"scale": 1.0023244710623243, "rotation": [[0.9999966900514553, 0.0015380677963042762, 0.0020625793530420666], [-0.001550986033133792, 0.9999791013976431, 0.0062762417326031545], [-0.00205288296272547, -0.00627941999033474, 0.9999781770399414]], "translation": [0.0035455826452790995, -0.014990065836920974, 0.01608291765558878]}}} +{"step": 17000, "train_loss": 0.008382418192923069, "val_psnr": 20.780288696289062, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.7122765183448792, "translation_update_mean": 0.03583917394280434, "rotation_update_deg_mean": 0.3365142345428467, "pose_errors": {"raw": {"rotation_deg_mean": 0.36303783142138224, "rotation_deg_max": 0.8890800879800574, "translation_mean": 0.03780823438005164, "translation_radius_pct_mean": 0.937906862992017}, "aligned": {"rotation_deg_mean": 0.32335314061798565, "rotation_deg_max": 0.852011242892209, "translation_mean": 0.02909906733324381, "translation_radius_pct_mean": 0.7218590184395409}, "sim3": {"scale": 1.0008918131396367, "rotation": [[0.9999970991349164, 0.0006284832722013936, 0.002325237735719387], [-0.0006405579966455028, 0.999986296561184, 0.00519580362401862], [-0.002321940396302981, -0.0051972780013189454, 0.9999837983158386]], "translation": [0.0015973305575661123, -0.01112295263585665, 0.017194162681245295]}}} +{"step": 18000, "train_loss": 0.00801258347928524, "val_psnr": 22.16254997253418, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.3364531993865967, "translation_update_mean": 0.03220422565937042, "rotation_update_deg_mean": 0.30779775977134705, "pose_errors": {"raw": {"rotation_deg_mean": 0.31107712989084124, "rotation_deg_max": 0.7216513501527032, "translation_mean": 0.032212517824171505, "translation_radius_pct_mean": 0.7990942194720351}, "aligned": {"rotation_deg_mean": 0.275980363573044, "rotation_deg_max": 0.6581440580343914, "translation_mean": 0.02434573505097655, "translation_radius_pct_mean": 0.6039433568721181}, "sim3": {"scale": 1.0003172469107657, "rotation": [[0.999998900955715, 0.0011003061855427128, 0.0009936869028859298], [-0.0011048501584138113, 0.9999888833884722, 0.004583929057596677], [-0.0009886321309585835, -0.004585021894787694, 0.9999890000298685]], "translation": [0.006256776510486561, -0.01228547183812613, 0.017157368204497647]}}} +{"step": 19000, "train_loss": 0.007981405593454838, "val_psnr": 20.703285217285156, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.68694669008255, "translation_update_mean": 0.027776429429650307, "rotation_update_deg_mean": 0.2870348393917084, "pose_errors": {"raw": {"rotation_deg_mean": 0.30882639126885475, "rotation_deg_max": 0.6944761386852023, "translation_mean": 0.030017806291308922, "translation_radius_pct_mean": 0.7446501269955662}, "aligned": {"rotation_deg_mean": 0.25722571171763475, "rotation_deg_max": 0.6733803176164892, "translation_mean": 0.023190331278876992, "translation_radius_pct_mean": 0.5752813168390928}, "sim3": {"scale": 0.9993421488413476, "rotation": [[0.9999996823962906, 0.0006115562792178953, 0.0005110833943115481], [-0.0006132689102436051, 0.9999941752947675, 0.003357570220011601], [-0.0005090270742505941, -0.0033578825851910687, 0.9999942327413612]], "translation": [0.009268895031829871, -0.006372701167461317, 0.016100076561444077]}}} +{"step": 20000, "train_loss": 0.010139183141291142, "val_psnr": 21.569910049438477, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 1.4851229190826416, "translation_update_mean": 0.027687443420290947, "rotation_update_deg_mean": 0.2880520522594452, "pose_errors": {"raw": {"rotation_deg_mean": 0.26858127397768106, "rotation_deg_max": 1.0075975003072302, "translation_mean": 0.02864674777120602, "translation_radius_pct_mean": 0.7106383510781308}, "aligned": {"rotation_deg_mean": 0.22621841176554383, "rotation_deg_max": 0.849534436695118, "translation_mean": 0.02009210201893067, "translation_radius_pct_mean": 0.49842370807544434}, "sim3": {"scale": 0.9990491546168058, "rotation": [[0.999999616625834, 0.0008682838318462704, 0.00011327565457859871], [-0.000868597033346461, 0.9999957171985788, 0.0027948387602498327], [-0.00011084845613360083, -0.0027949360796783703, 0.9999960880148159]], "translation": [0.010581587240471813, -0.006550745826379309, 0.018201727590074768]}}} +{"step": 21000, "train_loss": 0.007836404256522655, "val_psnr": 20.809471130371094, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.9731276035308838, "translation_update_mean": 0.024587582796812057, "rotation_update_deg_mean": 0.2466946393251419, "pose_errors": {"raw": {"rotation_deg_mean": 0.2697053474398841, "rotation_deg_max": 0.8645065551388195, "translation_mean": 0.029024600792868917, "translation_radius_pct_mean": 0.720011730925958}, "aligned": {"rotation_deg_mean": 0.23386564255034187, "rotation_deg_max": 0.6617868929015718, "translation_mean": 0.02184515974674027, "translation_radius_pct_mean": 0.5419117180577705}, "sim3": {"scale": 1.000026542404686, "rotation": [[0.9999993422258467, 0.0008924141801442546, 0.000720517039682664], [-0.0008951473630888559, 0.9999923717460498, 0.0038019943330124466], [-0.0007171185897400521, -0.0038026368010870186, 0.9999925128191143]], "translation": [0.00836055229077659, -0.010314665193780853, 0.015300316325032703]}}} +{"step": 22000, "train_loss": 0.00965050794184208, "val_psnr": 20.351852416992188, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.2860660552978516, "translation_update_mean": 0.02633584663271904, "rotation_update_deg_mean": 0.23923148214817047, "pose_errors": {"raw": {"rotation_deg_mean": 0.25149622734303634, "rotation_deg_max": 0.5465983191693818, "translation_mean": 0.026753024862807208, "translation_radius_pct_mean": 0.6636608674289718}, "aligned": {"rotation_deg_mean": 0.21576225923252884, "rotation_deg_max": 0.648042212231742, "translation_mean": 0.019279364708022904, "translation_radius_pct_mean": 0.4782621767527264}, "sim3": {"scale": 0.9976876322705257, "rotation": [[0.9999996853587634, 0.0003584323722050739, 0.0007076783237923405], [-0.0003608406305557658, 0.9999941349687935, 0.0034058511497390767], [-0.0007064534059299817, -0.003406105437210441, 0.9999939496663655]], "translation": [0.007686098951407261, -0.010267302944159812, 0.01769331136458785]}}} +{"step": 23000, "train_loss": 0.008187185972929, "val_psnr": 21.08371353149414, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.8231828808784485, "translation_update_mean": 0.021950356662273407, "rotation_update_deg_mean": 0.22564828395843506, "pose_errors": {"raw": {"rotation_deg_mean": 0.21972456635945697, "rotation_deg_max": 0.5782618437289798, "translation_mean": 0.025374685547493683, "translation_radius_pct_mean": 0.6294684772112906}, "aligned": {"rotation_deg_mean": 0.19412688351464005, "rotation_deg_max": 0.5472965568331464, "translation_mean": 0.017500349996232335, "translation_radius_pct_mean": 0.43413025324686444}, "sim3": {"scale": 0.9967970027984399, "rotation": [[0.9999999246300529, 0.00033067849655257824, -0.00020344930847096318], [-0.0003303416575403984, 0.9999985784829728, 0.00165345287905856], [0.0002039957805763947, -0.0016533855466561204, 0.9999986123500157]], "translation": [0.01003337519370312, -0.004413913089878624, 0.019360652137017098]}}} +{"step": 24000, "train_loss": 0.0071319835260510445, "val_psnr": 20.188295364379883, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.9799475073814392, "translation_update_mean": 0.01990879885852337, "rotation_update_deg_mean": 0.18128368258476257, "pose_errors": {"raw": {"rotation_deg_mean": 0.22005966093482626, "rotation_deg_max": 0.5306879384414748, "translation_mean": 0.024963165323436648, "translation_radius_pct_mean": 0.6192599168610948}, "aligned": {"rotation_deg_mean": 0.18366393850259277, "rotation_deg_max": 0.47511016937147954, "translation_mean": 0.016307535043794195, "translation_radius_pct_mean": 0.404540156049374}, "sim3": {"scale": 0.9977992130567985, "rotation": [[0.9999995952761664, 0.00041779642606375606, 0.0007968021402975817], [-0.00041916129258420587, 0.9999984440526304, 0.0017135332299371229], [-0.0007960849924560899, -0.0017138665250444674, 0.9999982144535166]], "translation": [0.0067528180226807955, -0.004225152357343831, 0.019678962342546402]}}} +{"step": 25000, "train_loss": 0.006603050045669079, "val_psnr": 21.463390350341797, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.8930032849311829, "translation_update_mean": 0.01800605282187462, "rotation_update_deg_mean": 0.17638243734836578, "pose_errors": {"raw": {"rotation_deg_mean": 0.20465845170304092, "rotation_deg_max": 0.41021958388477264, "translation_mean": 0.025391547605569185, "translation_radius_pct_mean": 0.6298867733907475}, "aligned": {"rotation_deg_mean": 0.16461916629438686, "rotation_deg_max": 0.4518905877897707, "translation_mean": 0.015200419647463255, "translation_radius_pct_mean": 0.37707600319036666}, "sim3": {"scale": 0.9989691227441397, "rotation": [[0.999999426843722, 0.00024541346246362283, 0.001042153760439183], [-0.0002475552246871241, 0.9999978568172692, 0.0020554992774259578], [-0.0010416470797184254, -0.002055756089912004, 0.9999973444156037]], "translation": [0.0063519454061101155, -0.005666906832911461, 0.019367274027803916]}}} +{"step": 26000, "train_loss": 0.006876026745885611, "val_psnr": 19.776866912841797, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 1.0034550428390503, "translation_update_mean": 0.017261428758502007, "rotation_update_deg_mean": 0.17410577833652496, "pose_errors": {"raw": {"rotation_deg_mean": 0.1898424972904734, "rotation_deg_max": 0.5198140060538499, "translation_mean": 0.02270831232498955, "translation_radius_pct_mean": 0.5633238982408365}, "aligned": {"rotation_deg_mean": 0.16000337622054278, "rotation_deg_max": 0.4248967350163974, "translation_mean": 0.012498681270310926, "translation_radius_pct_mean": 0.3100541227061232}, "sim3": {"scale": 0.9990733444778596, "rotation": [[0.999999653428383, 0.00030296573123857987, 0.0007754707474528949], [-0.00030483846609857964, 0.9999970350349899, 0.002415987321863003], [-0.0007747364868436561, -0.0024162228778634863, 0.9999967808200094]], "translation": [0.007452792207561787, -0.0076643506628066155, 0.017847295164221677]}}} +{"step": 27000, "train_loss": 0.007097937166690826, "val_psnr": 19.936935424804688, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.7396297454833984, "translation_update_mean": 0.014916805550456047, "rotation_update_deg_mean": 0.1579894721508026, "pose_errors": {"raw": {"rotation_deg_mean": 0.1825925774739477, "rotation_deg_max": 0.37667511843145735, "translation_mean": 0.021865340506929377, "translation_radius_pct_mean": 0.5424123411043666}, "aligned": {"rotation_deg_mean": 0.14980435802582204, "rotation_deg_max": 0.3749788527363909, "translation_mean": 0.011273223283309805, "translation_radius_pct_mean": 0.27965425148327766}, "sim3": {"scale": 0.9982651475817668, "rotation": [[0.9999999318761209, 0.0003550498839066917, 0.00010093232284737649], [-0.00035528866928101217, 0.9999971148912471, 0.0023757060306312423], [-0.00010008853749631835, -0.002375741728899569, 0.9999971729127654]], "translation": [0.009988340289246778, -0.007355905008522665, 0.017889533605066177]}}} +{"step": 28000, "train_loss": 0.00649414025247097, "val_psnr": 19.925559997558594, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.5490348935127258, "translation_update_mean": 0.013823272660374641, "rotation_update_deg_mean": 0.14455851912498474, "pose_errors": {"raw": {"rotation_deg_mean": 0.1701853554164014, "rotation_deg_max": 0.38105182484860034, "translation_mean": 0.020986494087918296, "translation_radius_pct_mean": 0.5206108446467231}, "aligned": {"rotation_deg_mean": 0.13016607497235266, "rotation_deg_max": 0.31604742764713145, "translation_mean": 0.011826961224166295, "translation_radius_pct_mean": 0.2933907991836482}, "sim3": {"scale": 0.9970296740299956, "rotation": [[0.9999998214113238, 9.823025538551415e-05, 0.0005895151713690779], [-9.922840062543825e-05, 0.999998561320439, 0.001693372604206891], [-0.0005893479828223596, -0.0016934307984373049, 0.9999983924792515]], "translation": [0.006373522257835884, -0.0035630486506861847, 0.01834752765408476]}}} +{"step": 29000, "train_loss": 0.010099025443196297, "val_psnr": 19.640838623046875, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.7923558950424194, "translation_update_mean": 0.013605272397398949, "rotation_update_deg_mean": 0.13059251010417938, "pose_errors": {"raw": {"rotation_deg_mean": 0.17295934768623372, "rotation_deg_max": 0.38000927914993615, "translation_mean": 0.02139770904435553, "translation_radius_pct_mean": 0.5308118322392815}, "aligned": {"rotation_deg_mean": 0.13667723641029322, "rotation_deg_max": 0.38463526413619453, "translation_mean": 0.011832744188746162, "translation_radius_pct_mean": 0.29353425687895807}, "sim3": {"scale": 0.997390110201112, "rotation": [[0.9999998211092244, 0.00023369405755753432, 0.0005506074886440119], [-0.0002345459858720787, 0.9999987748128194, 0.001547695396584781], [-0.000550245126829724, -0.001547824262492577, 0.9999986507342665]], "translation": [0.006974192136662671, -0.0038475161281230075, 0.018684125241035243]}}} +{"step": 29999, "train_loss": 0.005466805305331945, "val_psnr": 22.292097091674805, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 1.0094326734542847, "translation_update_mean": 0.01266681868582964, "rotation_update_deg_mean": 0.11934857815504074, "pose_errors": {"raw": {"rotation_deg_mean": 0.15993904161062678, "rotation_deg_max": 0.3212317822803439, "translation_mean": 0.021342886386555317, "translation_radius_pct_mean": 0.5294518494778169}, "aligned": {"rotation_deg_mean": 0.12096899791791756, "rotation_deg_max": 0.29088320921243815, "translation_mean": 0.01066613179798305, "translation_radius_pct_mean": 0.2645941652378219}, "sim3": {"scale": 0.9972473474029676, "rotation": [[0.9999996926893339, 0.00031869133979824815, 0.0007162800206138896], [-0.0003199412965615837, 0.9999984252044621, 0.001745630591542627], [-0.0007157225752673788, -0.0017458592226501425, 0.999998219856801]], "translation": [0.006573637279300992, -0.004813996339347981, 0.01964808355174341]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T5.jsonl b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T5.jsonl new file mode 100644 index 0000000..1c106a4 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/camp_warmup_SV100-T5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34214335680007935, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.007516815792769194, "translation_update_mean": 1.0273038952846036e-07, "rotation_update_deg_mean": 1.7669627823124756e-06, "pose_errors": {"raw": {"rotation_deg_mean": 0.017237378798799913, "rotation_deg_max": 0.045239031718098566, "translation_mean": 0.15998590138529847, "translation_radius_pct_mean": 3.968761761866504}, "aligned": {"rotation_deg_mean": 0.3912921352406942, "rotation_deg_max": 0.3935300539467643, "translation_mean": 0.15826124464817348, "translation_radius_pct_mean": 3.925978293752256}, "sim3": {"scale": 0.998197365016185, "rotation": [[0.9999771974642737, -0.0025848469907327407, 0.006238839437845764], [0.0025788528571727776, 0.9999962056292628, 0.0009686304859383839], [-0.006241319526972739, -0.00095251934979736, 0.9999800691201057]], "translation": [-0.007160374186986618, 0.003255715108553617, 0.005824072018141724]}}} +{"step": 1000, "train_loss": 0.041893213987350464, "val_psnr": 17.33919906616211, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.9511443376541138, "translation_update_mean": 0.12306413054466248, "rotation_update_deg_mean": 1.552708387374878, "pose_errors": {"raw": {"rotation_deg_mean": 1.5528442978135482, "rotation_deg_max": 3.510109264142659, "translation_mean": 0.18294055296433653, "translation_radius_pct_mean": 4.538196584904145}, "aligned": {"rotation_deg_mean": 1.5484047441426383, "rotation_deg_max": 3.803468276178814, "translation_mean": 0.1808204797386057, "translation_radius_pct_mean": 4.485604040950077}, "sim3": {"scale": 0.9989913429672082, "rotation": [[0.9999773188991934, -0.003282379226545177, 0.005881128615659076], [0.0032740151505442593, 0.999993616150156, 0.001431252503166802], [-0.005885788984901458, -0.0014119651365944873, 0.9999816817534602]], "translation": [-0.00898608666056927, 0.0056250609241396965, 0.013555693787611123]}}} +{"step": 2000, "train_loss": 0.03239737078547478, "val_psnr": 17.64652442932129, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.8317961692810059, "translation_update_mean": 0.13325785100460052, "rotation_update_deg_mean": 1.6488056182861328, "pose_errors": {"raw": {"rotation_deg_mean": 1.9866875335621685, "rotation_deg_max": 5.138443145662605, "translation_mean": 0.1745473417742854, "translation_radius_pct_mean": 4.329986640515845}, "aligned": {"rotation_deg_mean": 1.9777078588700068, "rotation_deg_max": 5.046998670025675, "translation_mean": 0.17323481443058328, "translation_radius_pct_mean": 4.297426844383909}, "sim3": {"scale": 1.0016022754136815, "rotation": [[0.9999890741708629, -0.0034875838206209877, 0.0031126030898558053], [0.003488288508113299, 0.9999938914829299, -0.00022099798588590534], [-0.0031118133274666534, 0.00023185322888834425, 0.9999951314190957]], "translation": [-0.0034517669967377707, 0.004065676823601594, 0.005132122615675527]}}} +{"step": 3000, "train_loss": 0.03254198282957077, "val_psnr": 19.335264205932617, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.0765659809112549, "translation_update_mean": 0.1530035436153412, "rotation_update_deg_mean": 1.657788634300232, "pose_errors": {"raw": {"rotation_deg_mean": 1.731532913332298, "rotation_deg_max": 3.665965790695429, "translation_mean": 0.1731578587669296, "translation_radius_pct_mean": 4.2955178093213}, "aligned": {"rotation_deg_mean": 1.7409627929549218, "rotation_deg_max": 3.772513485970524, "translation_mean": 0.17228724591412392, "translation_radius_pct_mean": 4.273920562503386}, "sim3": {"scale": 0.9983338885723685, "rotation": [[0.999992867725942, -0.003700584084806051, 0.0007550991186428683], [0.003704964469320066, 0.9999758222617688, -0.00588456711931199], [-0.0007333045266264616, 0.005887322764371951, 0.9999824006927033]], "translation": [0.00495543596254594, 0.032506930278890296, 0.009179637342663138]}}} +{"step": 4000, "train_loss": 0.0346769280731678, "val_psnr": 19.546354293823242, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.2523736953735352, "translation_update_mean": 0.16229693591594696, "rotation_update_deg_mean": 1.3769605159759521, "pose_errors": {"raw": {"rotation_deg_mean": 1.4930505869173942, "rotation_deg_max": 4.7534393022300785, "translation_mean": 0.14397324555883412, "translation_radius_pct_mean": 3.5715366589060227}, "aligned": {"rotation_deg_mean": 1.4817419744520481, "rotation_deg_max": 4.823813340980135, "translation_mean": 0.1422959711991643, "translation_radius_pct_mean": 3.529928602913731}, "sim3": {"scale": 1.002288653266004, "rotation": [[0.9999958752170369, -0.0024898775758269726, 0.001431802559731894], [0.002490857405478547, 0.9999966645937234, -0.0006829574033180273], [-0.0014300973037649754, 0.0006865210022760975, 0.999998741754517]], "translation": [-0.001706627328554422, 0.008456021834198885, 0.00804199179251297]}}} +{"step": 5000, "train_loss": 0.02605900913476944, "val_psnr": 20.430259704589844, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 1.1158472299575806, "translation_update_mean": 0.1410338133573532, "rotation_update_deg_mean": 1.2042715549468994, "pose_errors": {"raw": {"rotation_deg_mean": 1.1966119724499122, "rotation_deg_max": 4.6797983732492865, "translation_mean": 0.113719949093471, "translation_radius_pct_mean": 2.821044739665084}, "aligned": {"rotation_deg_mean": 1.1913808439221047, "rotation_deg_max": 4.484297826906684, "translation_mean": 0.11277024346230174, "translation_radius_pct_mean": 2.797485442493413}, "sim3": {"scale": 0.9986358389110466, "rotation": [[0.9999991885161886, -0.001271261543066986, -8.283147627614173e-05], [0.0012708926490058111, 0.9999899000464194, -0.004310990260606612], [8.831103581292079e-05, 0.004310881492393551, 0.9999907042077542]], "translation": [0.0037952568044886115, 0.019881962687500976, 0.009691815403832571]}}} +{"step": 6000, "train_loss": 0.01874350756406784, "val_psnr": 20.737213134765625, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 1.0061366558074951, "translation_update_mean": 0.12355507910251617, "rotation_update_deg_mean": 1.062886118888855, "pose_errors": {"raw": {"rotation_deg_mean": 0.9948220229302188, "rotation_deg_max": 2.9244607348684597, "translation_mean": 0.09887836992976558, "translation_radius_pct_mean": 2.4528704733041264}, "aligned": {"rotation_deg_mean": 1.0466208841236553, "rotation_deg_max": 2.8673430793062566, "translation_mean": 0.09740894926985666, "translation_radius_pct_mean": 2.4164186330066597}, "sim3": {"scale": 0.9979013046435102, "rotation": [[0.9999741011922267, -0.0016652135408839965, -0.007001714694398234], [0.00165906812260663, 0.9999982335307582, -0.0008834185460541827], [0.007003173406609721, 0.0008717793449140364, 0.9999750974714376]], "translation": [0.03629266324605046, 0.008215977650621542, 0.017383017456283678]}}} +{"step": 7000, "train_loss": 0.020557576790452003, "val_psnr": 19.04955291748047, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.3109341859817505, "translation_update_mean": 0.10505715757608414, "rotation_update_deg_mean": 0.9093894958496094, "pose_errors": {"raw": {"rotation_deg_mean": 0.8560439842802455, "rotation_deg_max": 2.99706021195159, "translation_mean": 0.07373117063052663, "translation_radius_pct_mean": 1.829045235375837}, "aligned": {"rotation_deg_mean": 0.8274674885540315, "rotation_deg_max": 2.9540704536389075, "translation_mean": 0.07186265956045204, "translation_radius_pct_mean": 1.7826931804614674}, "sim3": {"scale": 0.9974666443529074, "rotation": [[0.9999981607701974, -0.0018742483224607985, -0.0004070005513058978], [0.0018726451746095948, 0.9999906250752976, -0.003904223554844662], [0.0004143142201544924, 0.0039034542064618353, 0.9999922956648144]], "translation": [-0.0005310267262031987, 0.02206135926514828, 0.015904029018706023]}}} +{"step": 8000, "train_loss": 0.014548948034644127, "val_psnr": 19.319032669067383, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.934723436832428, "translation_update_mean": 0.08006679266691208, "rotation_update_deg_mean": 0.7981927394866943, "pose_errors": {"raw": {"rotation_deg_mean": 0.7508830279599841, "rotation_deg_max": 2.0787549501688094, "translation_mean": 0.06291737934940257, "translation_radius_pct_mean": 1.560788089179114}, "aligned": {"rotation_deg_mean": 0.7359287279788214, "rotation_deg_max": 2.1270167688503294, "translation_mean": 0.061377998787644994, "translation_radius_pct_mean": 1.522600757310723}, "sim3": {"scale": 0.9948835130834, "rotation": [[0.9999970379579243, -0.0024233691292639657, 0.00022662180280151527], [0.00242345175390189, 0.9999969968122783, -0.0003650315347950843], [-0.00022573651606106794, 0.00036557966056170727, 0.9999999076972642]], "translation": [-0.001507896999274616, 0.003188032601683141, 0.014531808647820554]}}} +{"step": 9000, "train_loss": 0.01656089350581169, "val_psnr": 20.884281158447266, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.8465495705604553, "translation_update_mean": 0.07704393565654755, "rotation_update_deg_mean": 0.7467064261436462, "pose_errors": {"raw": {"rotation_deg_mean": 0.6170365837813552, "rotation_deg_max": 1.6347900215274, "translation_mean": 0.05779079595490111, "translation_radius_pct_mean": 1.4336132070867418}, "aligned": {"rotation_deg_mean": 0.5721927039718318, "rotation_deg_max": 1.5159352805614084, "translation_mean": 0.0519948161327531, "translation_radius_pct_mean": 1.2898326433526137}, "sim3": {"scale": 0.994424645269745, "rotation": [[0.9999975774033399, -0.0021783470786020183, 0.0003162142561409059], [0.002179517360030883, 0.9999905973509117, -0.0037489883759322094], [-0.0003080446850126801, 0.003749668488106247, 0.9999929225223043]], "translation": [-0.0008574762775083733, 0.02260817121044458, 0.01342911472738706]}}} +{"step": 10000, "train_loss": 0.01409020647406578, "val_psnr": 20.588558197021484, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.4532445669174194, "translation_update_mean": 0.06500294804573059, "rotation_update_deg_mean": 0.6271902322769165, "pose_errors": {"raw": {"rotation_deg_mean": 0.5158500464058519, "rotation_deg_max": 2.019829801500156, "translation_mean": 0.051773087387486344, "translation_radius_pct_mean": 1.2843322301405644}, "aligned": {"rotation_deg_mean": 0.48366120752231373, "rotation_deg_max": 1.9223626387585797, "translation_mean": 0.04747368723348236, "translation_radius_pct_mean": 1.1776772387792946}, "sim3": {"scale": 0.994052032037077, "rotation": [[0.9999983283063423, -0.0014869647127636035, -0.0010641054757830328], [0.0014835289019132073, 0.9999937077384248, -0.003222363349282124], [0.0010688903207452007, 0.003220779331249744, 0.9999942420104132]], "translation": [0.00551124130467584, 0.01885347414792249, 0.017053121107549973]}}} +{"step": 11000, "train_loss": 0.011411309242248535, "val_psnr": 20.44890594482422, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.7035831809043884, "translation_update_mean": 0.058917250484228134, "rotation_update_deg_mean": 0.5636036396026611, "pose_errors": {"raw": {"rotation_deg_mean": 0.4974441209870865, "rotation_deg_max": 1.9188021400776147, "translation_mean": 0.05143830406439004, "translation_radius_pct_mean": 1.2760272780184687}, "aligned": {"rotation_deg_mean": 0.5215541569905321, "rotation_deg_max": 1.9075216351370303, "translation_mean": 0.047027214903610226, "translation_radius_pct_mean": 1.166601623395783}, "sim3": {"scale": 0.9938397562951546, "rotation": [[0.999998078401724, -0.0006583112252735244, -0.0018465695737765867], [0.0006602742140052798, 0.9999992174188391, 0.0010626380722189627], [0.0018458685821146105, -0.0010638552725294346, 0.9999977304879939]], "translation": [0.0083485681366392, 0.0029869949123142586, 0.018843134428145447]}}} +{"step": 12000, "train_loss": 0.011323045939207077, "val_psnr": 21.05719757080078, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.787138044834137, "translation_update_mean": 0.057522647082805634, "rotation_update_deg_mean": 0.514778733253479, "pose_errors": {"raw": {"rotation_deg_mean": 0.45490916474861287, "rotation_deg_max": 1.2735113215862757, "translation_mean": 0.05094165449467798, "translation_radius_pct_mean": 1.263706918510204}, "aligned": {"rotation_deg_mean": 0.45579732963670233, "rotation_deg_max": 1.2664940847028217, "translation_mean": 0.040496566823051056, "translation_radius_pct_mean": 1.0045961831794625}, "sim3": {"scale": 0.9918077925858056, "rotation": [[0.9999992113044596, -0.0011866951743007782, -0.0004112724416418555], [0.0011867037253531054, 0.9999992956557696, 2.0548291380595034e-05], [0.00041124776740630354, -2.103633371291637e-05, 0.9999999152163689]], "translation": [0.008792756433680604, 0.014581923235777804, 0.014496990373554564]}}} +{"step": 13000, "train_loss": 0.012239553965628147, "val_psnr": 20.18553924560547, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 1.027432918548584, "translation_update_mean": 0.04838643968105316, "rotation_update_deg_mean": 0.44871923327445984, "pose_errors": {"raw": {"rotation_deg_mean": 0.4020811552080057, "rotation_deg_max": 1.0251366903154633, "translation_mean": 0.0461143115252185, "translation_radius_pct_mean": 1.1439552777548991}, "aligned": {"rotation_deg_mean": 0.3713962080836699, "rotation_deg_max": 1.0547585696254311, "translation_mean": 0.03268924953080357, "translation_radius_pct_mean": 0.8109204776083322}, "sim3": {"scale": 0.9902556980706311, "rotation": [[0.9999997155248561, -0.0005296181580940082, -0.0005370798954770997], [0.0005285317712359178, 0.9999978183176116, -0.002020894402157533], [0.0005381490261102125, 0.002020609963474834, 0.9999978137631115]], "translation": [0.006411763756682953, 0.01654848409306329, 0.017689918019264894]}}} +{"step": 14000, "train_loss": 0.013800428248941898, "val_psnr": 19.496919631958008, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.0245234966278076, "translation_update_mean": 0.03747203201055527, "rotation_update_deg_mean": 0.38286536931991577, "pose_errors": {"raw": {"rotation_deg_mean": 0.359691152638873, "rotation_deg_max": 1.0282654095701096, "translation_mean": 0.04135744346519595, "translation_radius_pct_mean": 1.0259519043364185}, "aligned": {"rotation_deg_mean": 0.34148002438898595, "rotation_deg_max": 0.915690034552097, "translation_mean": 0.029637027244840793, "translation_radius_pct_mean": 0.735204161405741}, "sim3": {"scale": 0.9915535464332156, "rotation": [[0.9999998673500444, -0.0002958673902908011, -0.00042161876309893134], [0.000294694449769984, 0.9999960941905846, -0.0027793450232699], [0.00042243943389492887, 0.002779220405880572, 0.9999960487316256]], "translation": [0.004916776683206836, 0.02223996669381137, 0.018169776593824682]}}} +{"step": 15000, "train_loss": 0.008514849469065666, "val_psnr": 19.167905807495117, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.9199998378753662, "translation_update_mean": 0.03875153139233589, "rotation_update_deg_mean": 0.3724476993083954, "pose_errors": {"raw": {"rotation_deg_mean": 0.33415301127561414, "rotation_deg_max": 0.8283874970847237, "translation_mean": 0.04948031814599205, "translation_radius_pct_mean": 1.227455625292042}, "aligned": {"rotation_deg_mean": 0.33475522870136243, "rotation_deg_max": 0.7954008625434684, "translation_mean": 0.030070538797962433, "translation_radius_pct_mean": 0.7459582594885026}, "sim3": {"scale": 0.9889505363447243, "rotation": [[0.9999964953589457, -0.0007540742058909446, -0.002537841980634882], [0.0007495823441327586, 0.9999981518338301, -0.001770439276848407], [0.00253917233287297, 0.0017685307505534056, 0.9999952124399637]], "translation": [0.015167574327617617, 0.017789245143741743, 0.018082909271136316]}}} +{"step": 16000, "train_loss": 0.010245055891573429, "val_psnr": 20.312191009521484, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.7250404357910156, "translation_update_mean": 0.0399802066385746, "rotation_update_deg_mean": 0.36065399646759033, "pose_errors": {"raw": {"rotation_deg_mean": 0.31587938587750003, "rotation_deg_max": 0.8220420486338429, "translation_mean": 0.052553554376459595, "translation_radius_pct_mean": 1.3036932333003137}, "aligned": {"rotation_deg_mean": 0.30194931069247555, "rotation_deg_max": 0.8018449881316376, "translation_mean": 0.02794205276303046, "translation_radius_pct_mean": 0.6931570194232256}, "sim3": {"scale": 0.9863623450262037, "rotation": [[0.9999996063182847, -0.0008273503851579923, 0.0003207095505807916], [0.000827542629838064, 0.9999994777262516, -0.0005997669706563645], [-0.00032021316564828276, 0.0006000321353639705, 0.999999768712455]], "translation": [0.00022867590156344653, 0.012855367866939943, 0.01696050638999491]}}} +{"step": 17000, "train_loss": 0.007925834506750107, "val_psnr": 19.36420440673828, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.5011374950408936, "translation_update_mean": 0.03523421287536621, "rotation_update_deg_mean": 0.328539103269577, "pose_errors": {"raw": {"rotation_deg_mean": 0.3434138678219152, "rotation_deg_max": 0.7343219689643078, "translation_mean": 0.053089288254648224, "translation_radius_pct_mean": 1.316983155173935}, "aligned": {"rotation_deg_mean": 0.310432787692166, "rotation_deg_max": 0.8430227563148146, "translation_mean": 0.027534706348641764, "translation_radius_pct_mean": 0.6830519985478809}, "sim3": {"scale": 0.9863477207827787, "rotation": [[0.9999992143091224, -0.0006470924128775775, 0.0010736165738925297], [0.000650121147723677, 0.9999958036827503, -0.0028231116492971075], [-0.001071785254527852, 0.002823807412043254, 0.9999954386836316]], "translation": [-0.0028112138464589376, 0.02274015747328733, 0.01910734022178895]}}} +{"step": 18000, "train_loss": 0.009210223332047462, "val_psnr": 20.348228454589844, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.9605230093002319, "translation_update_mean": 0.03491874411702156, "rotation_update_deg_mean": 0.31972962617874146, "pose_errors": {"raw": {"rotation_deg_mean": 0.320109800561139, "rotation_deg_max": 0.8486937225366807, "translation_mean": 0.05467546041272889, "translation_radius_pct_mean": 1.3563312436881036}, "aligned": {"rotation_deg_mean": 0.28578451735825716, "rotation_deg_max": 0.7435891183591081, "translation_mean": 0.026385981086432496, "translation_radius_pct_mean": 0.6545556319551358}, "sim3": {"scale": 0.985938204054175, "rotation": [[0.999999579776318, -0.0006529183197372773, 0.0006435408731493765], [0.0006540943192136013, 0.9999981136854973, -0.0018288756297754614], [-0.0006423455528258145, 0.0018292957976679635, 0.9999981205327725]], "translation": [-9.348205331211057e-05, 0.016915343251950828, 0.016459887947431806]}}} +{"step": 19000, "train_loss": 0.0076106032356619835, "val_psnr": 19.34756851196289, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.7393662333488464, "translation_update_mean": 0.029158225283026695, "rotation_update_deg_mean": 0.2912518084049225, "pose_errors": {"raw": {"rotation_deg_mean": 0.2706133897634868, "rotation_deg_max": 0.6170311464543047, "translation_mean": 0.057632206914943855, "translation_radius_pct_mean": 1.4296790971921602}, "aligned": {"rotation_deg_mean": 0.24127632144426314, "rotation_deg_max": 0.5565909267110207, "translation_mean": 0.019932221899135592, "translation_radius_pct_mean": 0.4944575704318704}, "sim3": {"scale": 0.9843525041191712, "rotation": [[0.999999975346268, -0.00017569473206111656, -0.00013578963468628612], [0.00017551542491720288, 0.9999991142371446, -0.0013193632035276546], [0.00013602131957328348, 0.0013193393378250573, 0.9999991204205704]], "translation": [0.0031809055134667252, 0.01581025967226208, 0.019315472135650325]}}} +{"step": 20000, "train_loss": 0.008990871720016003, "val_psnr": 19.70486831665039, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.7027190923690796, "translation_update_mean": 0.02644956298172474, "rotation_update_deg_mean": 0.2624281644821167, "pose_errors": {"raw": {"rotation_deg_mean": 0.2785736944317891, "rotation_deg_max": 0.6161563223068454, "translation_mean": 0.05684705800615739, "translation_radius_pct_mean": 1.4102019498961718}, "aligned": {"rotation_deg_mean": 0.24853808107496522, "rotation_deg_max": 0.6512556583827162, "translation_mean": 0.0222710210285397, "translation_radius_pct_mean": 0.5524760362660021}, "sim3": {"scale": 0.984965866380929, "rotation": [[0.9999992349555008, -0.0007004372422740498, -0.0010195469994975098], [0.0006989606363299829, 0.9999987074717619, -0.001447932607358834], [0.0010205598676266518, 0.0014472188764064779, 0.9999984320063119]], "translation": [0.007358195650840227, 0.015941841038676567, 0.01901002997586687]}}} +{"step": 21000, "train_loss": 0.008695578202605247, "val_psnr": 18.881587982177734, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.7814568877220154, "translation_update_mean": 0.026642952114343643, "rotation_update_deg_mean": 0.2614031434059143, "pose_errors": {"raw": {"rotation_deg_mean": 0.26557775740014006, "rotation_deg_max": 0.6532805185682008, "translation_mean": 0.05342364910774935, "translation_radius_pct_mean": 1.3252776271052893}, "aligned": {"rotation_deg_mean": 0.23786597519185235, "rotation_deg_max": 0.6116160615612, "translation_mean": 0.01815988410830298, "translation_radius_pct_mean": 0.45049128094972857}, "sim3": {"scale": 0.9854155587427454, "rotation": [[0.999999855340177, -0.00045241640237210913, 0.0002909278668240636], [0.0004526947753385368, 0.9999994391377106, -0.0009574924047074434], [-0.00029049451838463884, 0.0009576239677221043, 0.9999994992845106]], "translation": [0.0008934994013922726, 0.012250783062646493, 0.019068036062192206]}}} +{"step": 22000, "train_loss": 0.011034045368432999, "val_psnr": 18.91301155090332, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.2692523002624512, "translation_update_mean": 0.02353776805102825, "rotation_update_deg_mean": 0.2244841307401657, "pose_errors": {"raw": {"rotation_deg_mean": 0.24261758198245023, "rotation_deg_max": 0.5388403223570286, "translation_mean": 0.059477749170034316, "translation_radius_pct_mean": 1.475461365932654}, "aligned": {"rotation_deg_mean": 0.19976777838763338, "rotation_deg_max": 0.44024929939578955, "translation_mean": 0.016501229537797243, "translation_radius_pct_mean": 0.40934512507868887}, "sim3": {"scale": 0.9839785736695572, "rotation": [[0.9999997533727188, -0.0005426928792405744, 0.00044580145799735023], [0.0005434954584708009, 0.9999982284101425, -0.001802162384991818], [-0.0004448226475262551, 0.0018024042315971584, 0.9999982767344128]], "translation": [0.0008162157713516027, 0.017772886269585432, 0.018087983224547077]}}} +{"step": 23000, "train_loss": 0.007785216439515352, "val_psnr": 19.784732818603516, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.8617880344390869, "translation_update_mean": 0.019621754065155983, "rotation_update_deg_mean": 0.20092982053756714, "pose_errors": {"raw": {"rotation_deg_mean": 0.24989607571667158, "rotation_deg_max": 0.5587890492585336, "translation_mean": 0.05928796539716599, "translation_radius_pct_mean": 1.4707534099549047}, "aligned": {"rotation_deg_mean": 0.19771577557359796, "rotation_deg_max": 0.4466636175926383, "translation_mean": 0.017111418882336856, "translation_radius_pct_mean": 0.4244820597531697}, "sim3": {"scale": 0.983789087068702, "rotation": [[0.9999997119653001, -0.0007234409280520578, 0.0002295703392456671], [0.0007238829448351385, 0.9999978732223836, -0.001931202783727531], [-0.0002281727398663821, 0.0019313684095272504, 0.9999981088748452]], "translation": [0.0014887551149996847, 0.017174128469261765, 0.019447948901197165]}}} +{"step": 24000, "train_loss": 0.006686653476208448, "val_psnr": 18.301252365112305, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.8970333933830261, "translation_update_mean": 0.02110869809985161, "rotation_update_deg_mean": 0.2059612274169922, "pose_errors": {"raw": {"rotation_deg_mean": 0.2265630743236515, "rotation_deg_max": 0.6251364175868125, "translation_mean": 0.0610444181865857, "translation_radius_pct_mean": 1.5143256410503458}, "aligned": {"rotation_deg_mean": 0.17568205567710268, "rotation_deg_max": 0.5641476435051681, "translation_mean": 0.013388403084870808, "translation_radius_pct_mean": 0.3321254045237611}, "sim3": {"scale": 0.9832619983656024, "rotation": [[0.9999998106696109, -0.0006149768404784085, 2.154595382912428e-05], [0.0006150145758295556, 0.9999981953859833, -0.0017974932120988487], [-2.0440498250639292e-05, 0.001797506122854394, 0.9999983842756562]], "translation": [0.0030747710837605857, 0.01668055684429602, 0.020149362093734968]}}} +{"step": 25000, "train_loss": 0.008437898010015488, "val_psnr": 19.925888061523438, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.8114624619483948, "translation_update_mean": 0.017404643818736076, "rotation_update_deg_mean": 0.18515324592590332, "pose_errors": {"raw": {"rotation_deg_mean": 0.2154472120439121, "rotation_deg_max": 0.4522255505527604, "translation_mean": 0.06301214685399119, "translation_radius_pct_mean": 1.5631389816341497}, "aligned": {"rotation_deg_mean": 0.15836313013286638, "rotation_deg_max": 0.3449713386484534, "translation_mean": 0.014180721916730562, "translation_radius_pct_mean": 0.35178041572077073}, "sim3": {"scale": 0.9827722450884875, "rotation": [[0.9999997549637927, -0.0006032567399580831, -0.0003551811633263301], [0.0006021422050662829, 0.999994921117229, -0.003129722753236283], [0.0003570673857479039, 0.0031295081167719632, 0.9999950393286101]], "translation": [0.003267405193434325, 0.022834753453547164, 0.02024830629259844]}}} +{"step": 26000, "train_loss": 0.006815916858613491, "val_psnr": 18.49337387084961, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.9989085793495178, "translation_update_mean": 0.017874224111437798, "rotation_update_deg_mean": 0.15606637299060822, "pose_errors": {"raw": {"rotation_deg_mean": 0.20830282277663184, "rotation_deg_max": 0.4592994049355501, "translation_mean": 0.06307979845273785, "translation_radius_pct_mean": 1.5648172112525727}, "aligned": {"rotation_deg_mean": 0.154747082283866, "rotation_deg_max": 0.34336079435825434, "translation_mean": 0.013309299817175092, "translation_radius_pct_mean": 0.33016309396169863}, "sim3": {"scale": 0.9827330240769643, "rotation": [[0.9999997550945054, -0.00031857081056357146, -0.0006231561337508559], [0.0003173006423047484, 0.9999978743204109, -0.0020373205350835686], [0.0006238038399748651, 0.002037122308291034, 0.9999977304981597]], "translation": [0.005781117612555509, 0.01834084769430462, 0.020800008527745106]}}} +{"step": 27000, "train_loss": 0.007015534210950136, "val_psnr": 18.603246688842773, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.7673043608665466, "translation_update_mean": 0.015362957492470741, "rotation_update_deg_mean": 0.14958667755126953, "pose_errors": {"raw": {"rotation_deg_mean": 0.19393339311570693, "rotation_deg_max": 0.39352821223158785, "translation_mean": 0.06495589677678369, "translation_radius_pct_mean": 1.611357482773393}, "aligned": {"rotation_deg_mean": 0.146228138096645, "rotation_deg_max": 0.36735225554997014, "translation_mean": 0.012394270903607651, "translation_radius_pct_mean": 0.3074640202825575}, "sim3": {"scale": 0.9822721665790923, "rotation": [[0.999999917259504, -0.00040548556858642634, 3.2595067700267154e-05], [0.00040554227254124527, 0.9999983709287635, -0.0017588846701785507], [-3.1881812250004915e-05, 0.0017588977433254346, 0.9999984526299416]], "translation": [0.0033359092523918554, 0.018440835967055667, 0.019884076161039932]}}} +{"step": 28000, "train_loss": 0.007318028248846531, "val_psnr": 18.57659912109375, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 1.1464149951934814, "translation_update_mean": 0.015375450253486633, "rotation_update_deg_mean": 0.14252059161663055, "pose_errors": {"raw": {"rotation_deg_mean": 0.19112397094558595, "rotation_deg_max": 0.42361509220059357, "translation_mean": 0.06157011267021284, "translation_radius_pct_mean": 1.5273665161960808}, "aligned": {"rotation_deg_mean": 0.14316731647420677, "rotation_deg_max": 0.44789139591565763, "translation_mean": 0.012601403841508424, "translation_radius_pct_mean": 0.31260235607618386}, "sim3": {"scale": 0.9831553684464867, "rotation": [[0.9999997092442432, -0.00025005589726140065, 0.0007204050788364931], [0.0002514092453085074, 0.9999982028575887, -0.0018791154791308817], [-0.0007199339002586494, 0.0018792960492644637, 0.9999979749687182]], "translation": [-0.0010863997700437666, 0.019455510082839453, 0.019180687162642762]}}} +{"step": 29000, "train_loss": 0.0084192780777812, "val_psnr": 18.213224411010742, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.9817244410514832, "translation_update_mean": 0.01385845709592104, "rotation_update_deg_mean": 0.13723818957805634, "pose_errors": {"raw": {"rotation_deg_mean": 0.18821342723221002, "rotation_deg_max": 0.47836652526242734, "translation_mean": 0.06248767234232432, "translation_radius_pct_mean": 1.550128370268064}, "aligned": {"rotation_deg_mean": 0.13334033813855048, "rotation_deg_max": 0.38638515053419986, "translation_mean": 0.010989438429862974, "translation_radius_pct_mean": 0.2726144156902209}, "sim3": {"scale": 0.9828364057509976, "rotation": [[0.9999999494376504, -0.0002622123189056226, 0.00017991497085208653], [0.00026254929421482145, 0.9999982067643275, -0.0018755095303078216], [-0.00017942286651919357, 0.0018755566720262855, 0.9999982250457283]], "translation": [0.0012680569150114174, 0.018525194726165768, 0.01935057403520757]}}} +{"step": 29999, "train_loss": 0.005170600023120642, "val_psnr": 19.98686981201172, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.5769972801208496, "translation_update_mean": 0.013323912397027016, "rotation_update_deg_mean": 0.12569424510002136, "pose_errors": {"raw": {"rotation_deg_mean": 0.18392791956392285, "rotation_deg_max": 0.4155333508463495, "translation_mean": 0.06620910937930129, "translation_radius_pct_mean": 1.6424458612698376}, "aligned": {"rotation_deg_mean": 0.129855479397022, "rotation_deg_max": 0.32158912981007726, "translation_mean": 0.011470854040583315, "translation_radius_pct_mean": 0.28455686718656303}, "sim3": {"scale": 0.9818624540607134, "rotation": [[0.9999999633827976, -0.00020627964711200802, -0.00017516594912767936], [0.00020590868094502837, 0.9999977418005229, -0.0021151821365502543], [0.00017560187259263902, 0.0021151459909086396, 0.9999977476581736]], "translation": [0.002396327519191499, 0.019701265153428613, 0.02011395691406781]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-GT.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-GT.jsonl new file mode 100644 index 0000000..c509633 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-GT.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421427607536316, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.005404184106737375, "translation_update_mean": 0.0017302840715274215, "rotation_update_deg_mean": 0.09921450167894363, "pose_errors": {"raw": {"rotation_deg_mean": 0.1017810716502724, "rotation_deg_max": 0.10968000704385553, "translation_mean": 0.001730279993921922, "translation_radius_pct_mean": 0.04292296394706542}, "aligned": {"rotation_deg_mean": 0.10167076092862253, "rotation_deg_max": 0.11079230087065811, "translation_mean": 0.0017076044686503652, "translation_radius_pct_mean": 0.0423604533955184}, "sim3": {"scale": 1.0000018308920877, "rotation": [[0.9999999990782656, 4.139479462187143e-05, -1.139909352101182e-05], [-4.139550348490457e-05, 0.9999999972092409, -6.219269266621768e-05], [1.139651903541565e-05, 6.219316448000308e-05, 0.9999999980010648]], "translation": [6.406557211341424e-05, 5.6080180170503535e-06, 3.533372515729383e-05]}}} +{"step": 1000, "train_loss": 0.054769985377788544, "val_psnr": 16.650089263916016, "pose_gradient_norm": 1.6976104974746704, "translation_update_mean": 0.04607018455862999, "rotation_update_deg_mean": 1.6242640018463135, "pose_errors": {"raw": {"rotation_deg_mean": 1.6255732334878064, "rotation_deg_max": 5.606208013814132, "translation_mean": 0.04603231933681573, "translation_radius_pct_mean": 1.1419213018902323}, "aligned": {"rotation_deg_mean": 1.634871694907524, "rotation_deg_max": 5.703623451122803, "translation_mean": 0.0447862998442661, "translation_radius_pct_mean": 1.111011362490874}, "sim3": {"scale": 0.9966011779605668, "rotation": [[0.9999992258732885, 0.0010408907557564657, -0.0006817618781973366], [-0.0010416949499382515, 0.9999987608913732, -0.0011802912139652207], [0.0006805324792066408, 0.0011810004881758272, 0.9999990710562641]], "translation": [3.5299425543755536e-05, 0.00027024330571354116, 0.008349461003002379]}}} +{"step": 2000, "train_loss": 0.0320994108915329, "val_psnr": 17.351539611816406, "pose_gradient_norm": 1.5289608240127563, "translation_update_mean": 0.0313512459397316, "rotation_update_deg_mean": 1.3823729753494263, "pose_errors": {"raw": {"rotation_deg_mean": 0.8423334714815667, "rotation_deg_max": 2.200093752777496, "translation_mean": 0.045003405443741214, "translation_radius_pct_mean": 1.1163970895707171}, "aligned": {"rotation_deg_mean": 0.8651275446539932, "rotation_deg_max": 2.140404545596519, "translation_mean": 0.041695790214563065, "translation_radius_pct_mean": 1.0343452541848286}, "sim3": {"scale": 0.9953817246962763, "rotation": [[0.9999990272424972, 0.0012485828243575766, -0.0006217354656059444], [-0.0012490610159052696, 0.9999989239880649, -0.0007693304163416248], [0.0006207742238670807, 0.0007701062535020526, 0.9999995107877402]], "translation": [-0.0019479317263584317, 0.0006941694574260499, 0.0074199089940867324]}}} +{"step": 3000, "train_loss": 0.026027154177427292, "val_psnr": 18.241439819335938, "pose_gradient_norm": 1.1877385377883911, "translation_update_mean": 0.021139374002814293, "rotation_update_deg_mean": 0.7143969535827637, "pose_errors": {"raw": {"rotation_deg_mean": 0.6876014524556233, "rotation_deg_max": 1.6410025598541393, "translation_mean": 0.042360384889745896, "translation_radius_pct_mean": 1.0508318190081465}, "aligned": {"rotation_deg_mean": 0.7101819666656443, "rotation_deg_max": 1.6822765433399987, "translation_mean": 0.03884892119421323, "translation_radius_pct_mean": 0.9637231255399038}, "sim3": {"scale": 0.9950935059723266, "rotation": [[0.9999996769863151, 0.00038466689708413027, -0.0007057326999973934], [-0.0003852888490130874, 0.9999995373773476, -0.0008813612165330001], [0.0007053933430250525, 0.000881632842780881, 0.999999362571678]], "translation": [-0.0027428257875364848, 0.0009562347186194281, 0.010653106324220563]}}} +{"step": 4000, "train_loss": 0.02383323758840561, "val_psnr": 18.396238327026367, "pose_gradient_norm": 1.0631232261657715, "translation_update_mean": 0.01807650923728943, "rotation_update_deg_mean": 0.5237741470336914, "pose_errors": {"raw": {"rotation_deg_mean": 0.5650451013010416, "rotation_deg_max": 1.2678459675545486, "translation_mean": 0.03982843841526628, "translation_radius_pct_mean": 0.9880219572390969}, "aligned": {"rotation_deg_mean": 0.5807596408618569, "rotation_deg_max": 1.272527586702328, "translation_mean": 0.03528688142774698, "translation_radius_pct_mean": 0.8753597941651416}, "sim3": {"scale": 0.9944891447962597, "rotation": [[0.9999996929190746, 0.0006499258330895718, -0.0004379020066725324], [-0.0006501268942120861, 0.999999683253238, -0.000459160587363733], [0.0004376034476412656, 0.0004594451382357675, 0.999999798706673]], "translation": [-0.0035250128153804794, 0.0002284326166513695, 0.011069377527115343]}}} +{"step": 5000, "train_loss": 0.016849184408783913, "val_psnr": 18.92450523376465, "pose_gradient_norm": 0.9029092788696289, "translation_update_mean": 0.015533124096691608, "rotation_update_deg_mean": 0.4268029034137726, "pose_errors": {"raw": {"rotation_deg_mean": 0.5054235864678656, "rotation_deg_max": 1.7223399871602207, "translation_mean": 0.03553966765406934, "translation_radius_pct_mean": 0.8816306486608673}, "aligned": {"rotation_deg_mean": 0.49857234104535203, "rotation_deg_max": 1.6934948644152887, "translation_mean": 0.030354682966384466, "translation_radius_pct_mean": 0.7530070087890727}, "sim3": {"scale": 0.9939673429120248, "rotation": [[0.9999997926576366, 0.0005958281755985739, 0.00024428153387614674], [-0.0005959158258324919, 0.9999997580401753, 0.00035889262870594216], [-0.00024406763642957462, -0.000359038125524326, 0.9999999057613013]], "translation": [-0.006573885291992487, -0.0018136987933156101, 0.010631166607038445]}}} +{"step": 6000, "train_loss": 0.012893447652459145, "val_psnr": 19.132593154907227, "pose_gradient_norm": 1.1712092161178589, "translation_update_mean": 0.01602957211434841, "rotation_update_deg_mean": 0.32531750202178955, "pose_errors": {"raw": {"rotation_deg_mean": 0.4265000147757012, "rotation_deg_max": 1.0546609327619454, "translation_mean": 0.0343394885569843, "translation_radius_pct_mean": 0.8518578695180904}, "aligned": {"rotation_deg_mean": 0.42042204247718873, "rotation_deg_max": 1.0332940559039487, "translation_mean": 0.027191447332466246, "translation_radius_pct_mean": 0.6745367903575515}, "sim3": {"scale": 0.9932734305448055, "rotation": [[0.9999997464614027, 0.0006956049936760228, -0.00015235098571738165], [-0.0006955074979640114, 0.999999553934278, 0.0006390622548795977], [0.00015279545265459981, -0.0006389561315998057, 0.9999997841942824]], "translation": [-0.004195095172521146, -0.0032099958785373334, 0.012427420711807802]}}} +{"step": 7000, "train_loss": 0.016164110973477364, "val_psnr": 18.057064056396484, "pose_gradient_norm": 0.8390195965766907, "translation_update_mean": 0.014068080112338066, "rotation_update_deg_mean": 0.2557392418384552, "pose_errors": {"raw": {"rotation_deg_mean": 0.41047817755079613, "rotation_deg_max": 1.0072065086964241, "translation_mean": 0.03198134403371772, "translation_radius_pct_mean": 0.7933595035254771}, "aligned": {"rotation_deg_mean": 0.4044028869239677, "rotation_deg_max": 1.0473997701269842, "translation_mean": 0.024190818423050268, "translation_radius_pct_mean": 0.600100348307817}, "sim3": {"scale": 0.9932837232094912, "rotation": [[0.9999997064926066, 0.0006525194901712345, -0.00040153831091989167], [-0.000652191407699204, 0.9999994538618452, 0.0008166531572852192], [0.0004020709737263462, -0.0008163910377552617, 0.9999995859222168]], "translation": [-0.0030958186339008487, -0.003998605771991959, 0.013235420006155074]}}} +{"step": 8000, "train_loss": 0.013538604602217674, "val_psnr": 18.409114837646484, "pose_gradient_norm": 0.7880914211273193, "translation_update_mean": 0.013810856267809868, "rotation_update_deg_mean": 0.24643614888191223, "pose_errors": {"raw": {"rotation_deg_mean": 0.3677588888154631, "rotation_deg_max": 0.8610973209829289, "translation_mean": 0.030176282578521868, "translation_radius_pct_mean": 0.7485814398388059}, "aligned": {"rotation_deg_mean": 0.3637259992021626, "rotation_deg_max": 0.8408122608131512, "translation_mean": 0.02158245490590283, "translation_radius_pct_mean": 0.5353948130183577}, "sim3": {"scale": 0.9931131029507171, "rotation": [[0.9999996730354758, 0.0008033614662178963, -9.240831556686225e-05], [-0.0008033199402772055, 0.9999995767456192, 0.0004485372406135718], [9.276861398974887e-05, -0.00044846286051516943, 0.9999998951375192]], "translation": [-0.004896106531903255, -0.0018149755023168929, 0.01434845009875163]}}} +{"step": 9000, "train_loss": 0.016284555196762085, "val_psnr": 19.43886947631836, "pose_gradient_norm": 1.1335877180099487, "translation_update_mean": 0.010670219548046589, "rotation_update_deg_mean": 0.2402268797159195, "pose_errors": {"raw": {"rotation_deg_mean": 0.3505809981722154, "rotation_deg_max": 0.8098131521912911, "translation_mean": 0.03034222202701528, "translation_radius_pct_mean": 0.7526978909277041}, "aligned": {"rotation_deg_mean": 0.34138413962120145, "rotation_deg_max": 0.7923508165400326, "translation_mean": 0.020346370635643735, "translation_radius_pct_mean": 0.5047313361508906}, "sim3": {"scale": 0.9925789678986335, "rotation": [[0.999999749210078, 0.000662024905971322, 0.00025160048586953296], [-0.0006621838738390328, 0.9999995808739179, 0.0006322693297150867], [-0.00025118180237367846, -0.000632435776932611, 0.9999997684663186]], "translation": [-0.007294391737487194, -0.00231237762686691, 0.015362930857159895]}}} +{"step": 10000, "train_loss": 0.013814064674079418, "val_psnr": 19.5897216796875, "pose_gradient_norm": 0.8321260809898376, "translation_update_mean": 0.010739505290985107, "rotation_update_deg_mean": 0.21427090466022491, "pose_errors": {"raw": {"rotation_deg_mean": 0.325076594092098, "rotation_deg_max": 0.7993306500255496, "translation_mean": 0.028786059433392124, "translation_radius_pct_mean": 0.7140942480857972}, "aligned": {"rotation_deg_mean": 0.31299859293573323, "rotation_deg_max": 0.8252529792337525, "translation_mean": 0.017754435751014742, "translation_radius_pct_mean": 0.4404333450761053}, "sim3": {"scale": 0.9927280662384276, "rotation": [[0.9999996548811645, 0.0007816531980672134, 0.00028152411932911827], [-0.000782011202911302, 0.9999988829332106, 0.0012738095655395432], [-0.00028052812752721486, -0.0012740292809389974, 0.9999991490763183]], "translation": [-0.007405787174156964, -0.006047055851906666, 0.015841799517879895]}}} +{"step": 11000, "train_loss": 0.011441418901085854, "val_psnr": 18.27957534790039, "pose_gradient_norm": 0.9201081395149231, "translation_update_mean": 0.009308663196861744, "rotation_update_deg_mean": 0.18131059408187866, "pose_errors": {"raw": {"rotation_deg_mean": 0.30201102908046984, "rotation_deg_max": 0.765795876255823, "translation_mean": 0.028261864995603774, "translation_radius_pct_mean": 0.7010905844975464}, "aligned": {"rotation_deg_mean": 0.2948346566148902, "rotation_deg_max": 0.7685056756691484, "translation_mean": 0.017747516570188495, "translation_radius_pct_mean": 0.4402617013246943}, "sim3": {"scale": 0.9928115815604583, "rotation": [[0.9999995531288324, 0.0009178890013103304, 0.00022632259599434496], [-0.0009182413967175273, 0.9999983586604212, 0.0015618928263547327], [-0.0002248885802756103, -0.0015620999471664806, 0.9999987546336658]], "translation": [-0.007300377437871708, -0.007421519621204728, 0.016368930378664714]}}} +{"step": 12000, "train_loss": 0.008937548846006393, "val_psnr": 19.214868545532227, "pose_gradient_norm": 0.9300302863121033, "translation_update_mean": 0.009228787384927273, "rotation_update_deg_mean": 0.1729755401611328, "pose_errors": {"raw": {"rotation_deg_mean": 0.2966778310272231, "rotation_deg_max": 0.8168721823707091, "translation_mean": 0.027736587084968286, "translation_radius_pct_mean": 0.688060043255899}, "aligned": {"rotation_deg_mean": 0.2879177820613074, "rotation_deg_max": 0.7429016076589517, "translation_mean": 0.015617110383574708, "translation_radius_pct_mean": 0.3874128281585892}, "sim3": {"scale": 0.9927174282573619, "rotation": [[0.9999996263722984, 0.000816616377824502, 0.0002835365153435054], [-0.0008170788812961497, 0.999998329692567, 0.0016349294107655932], [-0.0002822009316169035, -0.0016351604716094686, 0.9999986233054858]], "translation": [-0.00779579899716043, -0.00785847325882312, 0.01634551430532616]}}} +{"step": 13000, "train_loss": 0.012407554313540459, "val_psnr": 18.692142486572266, "pose_gradient_norm": 0.9678406119346619, "translation_update_mean": 0.008051431737840176, "rotation_update_deg_mean": 0.17130446434020996, "pose_errors": {"raw": {"rotation_deg_mean": 0.28394264078789727, "rotation_deg_max": 0.6539034247929316, "translation_mean": 0.02946743492193796, "translation_radius_pct_mean": 0.7309970936553027}, "aligned": {"rotation_deg_mean": 0.27342533624480053, "rotation_deg_max": 0.6223098391828151, "translation_mean": 0.015658702156934, "translation_radius_pct_mean": 0.38844459307216767}, "sim3": {"scale": 0.9920774340265044, "rotation": [[0.9999996515113553, 0.0008021447451340293, 0.00023138922765104561], [-0.0008025815534302536, 0.9999978845213141, 0.001893889053216546], [-0.00022986956500004968, -0.001894074101943575, 0.9999981798199817]], "translation": [-0.007656161118285321, -0.009040307458596644, 0.016924625188349474]}}} +{"step": 14000, "train_loss": 0.010556532070040703, "val_psnr": 19.479785919189453, "pose_gradient_norm": 0.7606415152549744, "translation_update_mean": 0.008138489909470081, "rotation_update_deg_mean": 0.15566766262054443, "pose_errors": {"raw": {"rotation_deg_mean": 0.2777630220936048, "rotation_deg_max": 0.6089282856108226, "translation_mean": 0.02917449550489152, "translation_radius_pct_mean": 0.7237301610890546}, "aligned": {"rotation_deg_mean": 0.26552490495283837, "rotation_deg_max": 0.5877618255866777, "translation_mean": 0.01410354738221535, "translation_radius_pct_mean": 0.34986595114031893}, "sim3": {"scale": 0.9918829192006643, "rotation": [[0.9999996300225563, 0.0007752241945945265, 0.0003728031650753941], [-0.00077592440951956, 0.9999979284192637, 0.0018817806705921992], [-0.00037134359087878015, -0.001882069241451505, 0.9999981599579616]], "translation": [-0.008394631038705136, -0.00870654375547976, 0.017100668064097047]}}} +{"step": 15000, "train_loss": 0.00909249484539032, "val_psnr": 17.800872802734375, "pose_gradient_norm": 0.6578529477119446, "translation_update_mean": 0.005987904034554958, "rotation_update_deg_mean": 0.14275279641151428, "pose_errors": {"raw": {"rotation_deg_mean": 0.2641000214426304, "rotation_deg_max": 0.5572638968983682, "translation_mean": 0.03021591684814827, "translation_radius_pct_mean": 0.7495646450612082}, "aligned": {"rotation_deg_mean": 0.2472527532896664, "rotation_deg_max": 0.5734292236344505, "translation_mean": 0.013816827835096648, "translation_radius_pct_mean": 0.34275331455714964}, "sim3": {"scale": 0.9914810044025255, "rotation": [[0.999999643461219, 0.0008311994239652373, 0.00014894613726213843], [-0.0008314767290520379, 0.999997903078761, 0.0018714925940136193], [-0.000147390241367602, -0.0018716157720010643, 0.9999982376637053]], "translation": [-0.0074353984142120355, -0.008950276876515492, 0.0180139869803968]}}} +{"step": 16000, "train_loss": 0.010321134701371193, "val_psnr": 18.833898544311523, "pose_gradient_norm": 0.6995006799697876, "translation_update_mean": 0.006411258596926928, "rotation_update_deg_mean": 0.1283251941204071, "pose_errors": {"raw": {"rotation_deg_mean": 0.2676436020438077, "rotation_deg_max": 0.5814230086976563, "translation_mean": 0.03030247743923509, "translation_radius_pct_mean": 0.7517119490487176}, "aligned": {"rotation_deg_mean": 0.24554887911970485, "rotation_deg_max": 0.6026690168164458, "translation_mean": 0.013059437272325097, "translation_radius_pct_mean": 0.3239647670770371}, "sim3": {"scale": 0.9913088653745216, "rotation": [[0.9999996745188514, 0.0007610068036832762, 0.00026801275434328226], [-0.0007615397896603915, 0.9999977216020756, 0.0019942035520506282], [-0.00026649454123253046, -0.0019944070053515436, 0.9999979756586296]], "translation": [-0.0080428489674923, -0.009433368344363272, 0.018296280699699352]}}} +{"step": 17000, "train_loss": 0.007143116090446711, "val_psnr": 18.598102569580078, "pose_gradient_norm": 0.5849121809005737, "translation_update_mean": 0.005460075568407774, "rotation_update_deg_mean": 0.11331389844417572, "pose_errors": {"raw": {"rotation_deg_mean": 0.24670222232657918, "rotation_deg_max": 0.5389579068244761, "translation_mean": 0.030458955946756877, "translation_radius_pct_mean": 0.7555937030772227}, "aligned": {"rotation_deg_mean": 0.22624522070047143, "rotation_deg_max": 0.504935098904728, "translation_mean": 0.012847821304848784, "translation_radius_pct_mean": 0.31871522100673844}, "sim3": {"scale": 0.9911779286646123, "rotation": [[0.9999997090286283, 0.0007273157750173293, 0.00023011827751383927], [-0.0007277436274571237, 0.99999799667044, 0.0018646834365385495], [-0.00022876160283224732, -0.001864850361078983, 0.999998234999072]], "translation": [-0.008235545217009421, -0.008798860824596771, 0.01901460301287372]}}} +{"step": 18000, "train_loss": 0.007258260622620583, "val_psnr": 19.23811912536621, "pose_gradient_norm": 0.5788294076919556, "translation_update_mean": 0.005243308376520872, "rotation_update_deg_mean": 0.10906867682933807, "pose_errors": {"raw": {"rotation_deg_mean": 0.23632720968495793, "rotation_deg_max": 0.5532802771178936, "translation_mean": 0.030613300637488346, "translation_radius_pct_mean": 0.7594225236258968}, "aligned": {"rotation_deg_mean": 0.22203272834776797, "rotation_deg_max": 0.5365035425896859, "translation_mean": 0.012149205070976409, "translation_radius_pct_mean": 0.30138468518324457}, "sim3": {"scale": 0.9910192967707996, "rotation": [[0.9999996401636834, 0.0007118699616973364, 0.0004614256844044101], [-0.0007127503450564028, 0.9999979207656597, 0.0019106154249206586], [-0.00046006461526289184, -0.0019109436187275614, 0.9999980683156522]], "translation": [-0.009519408326387258, -0.008625207136033167, 0.01937982945220451]}}} +{"step": 19000, "train_loss": 0.008691290393471718, "val_psnr": 18.961570739746094, "pose_gradient_norm": 0.6804439425468445, "translation_update_mean": 0.0045503778383135796, "rotation_update_deg_mean": 0.09988948702812195, "pose_errors": {"raw": {"rotation_deg_mean": 0.23572065158693828, "rotation_deg_max": 0.48042235953703394, "translation_mean": 0.03162274993976404, "translation_radius_pct_mean": 0.7844638788748585}, "aligned": {"rotation_deg_mean": 0.21096057760977105, "rotation_deg_max": 0.44764499036506133, "translation_mean": 0.011260177136152945, "translation_radius_pct_mean": 0.27933061640338935}, "sim3": {"scale": 0.9906500786666401, "rotation": [[0.9999995470827918, 0.000703642355721412, 0.0006408756865950434], [-0.0007048679300133634, 0.9999979196330978, 0.001914129221651826], [-0.0006395274909437573, -0.001914580087428476, 0.9999979626917623]], "translation": [-0.01034322853564329, -0.009086668611360885, 0.01954253567679176]}}} +{"step": 20000, "train_loss": 0.006735585164278746, "val_psnr": 19.542083740234375, "pose_gradient_norm": 0.643122136592865, "translation_update_mean": 0.003933608997613192, "rotation_update_deg_mean": 0.10241993516683578, "pose_errors": {"raw": {"rotation_deg_mean": 0.22327695510443912, "rotation_deg_max": 0.4568813662011002, "translation_mean": 0.03186974931152426, "translation_radius_pct_mean": 0.7905911791766904}, "aligned": {"rotation_deg_mean": 0.19553781191284275, "rotation_deg_max": 0.41718638314429196, "translation_mean": 0.010739924799132404, "translation_radius_pct_mean": 0.2664247442995957}, "sim3": {"scale": 0.990558284802695, "rotation": [[0.9999996034622917, 0.0006805843665445782, 0.0005743519649033333], [-0.0006816510647135539, 0.9999980395982454, 0.0018590727505122513], [-0.0005730855830923835, -0.0018594635209482184, 0.9999981069823721]], "translation": [-0.009863743141228842, -0.008993192847636389, 0.01975345091793068]}}} +{"step": 21000, "train_loss": 0.008481906726956367, "val_psnr": 18.551952362060547, "pose_gradient_norm": 0.8530802130699158, "translation_update_mean": 0.004364348482340574, "rotation_update_deg_mean": 0.08783246576786041, "pose_errors": {"raw": {"rotation_deg_mean": 0.22563766651994738, "rotation_deg_max": 0.4766211609761045, "translation_mean": 0.031529721459516075, "translation_radius_pct_mean": 0.7821561263043146}, "aligned": {"rotation_deg_mean": 0.20029537649943355, "rotation_deg_max": 0.4373089157082511, "translation_mean": 0.009595587181739298, "translation_radius_pct_mean": 0.23803722177886114}, "sim3": {"scale": 0.9907089273439872, "rotation": [[0.9999996259817359, 0.0006865818074001968, 0.000525967499270901], [-0.000687560427857585, 0.9999980288133051, 0.0018626943289049645], [-0.0005246875704518449, -0.0018630552666621524, 0.9999981268622596]], "translation": [-0.009707845029508388, -0.008890364525006883, 0.019581001529239472]}}} +{"step": 22000, "train_loss": 0.00858265906572342, "val_psnr": 17.640291213989258, "pose_gradient_norm": 1.1038727760314941, "translation_update_mean": 0.0036567526403814554, "rotation_update_deg_mean": 0.08829499036073685, "pose_errors": {"raw": {"rotation_deg_mean": 0.20901175722715004, "rotation_deg_max": 0.44828159378892474, "translation_mean": 0.03223172478667504, "translation_radius_pct_mean": 0.7995706855711451}, "aligned": {"rotation_deg_mean": 0.18683530934272746, "rotation_deg_max": 0.4005435117196594, "translation_mean": 0.00978962667939539, "translation_radius_pct_mean": 0.24285074929548048}, "sim3": {"scale": 0.9904395870684097, "rotation": [[0.9999996342758554, 0.000692361912892056, 0.0005020788149259124], [-0.0006933167395405394, 0.9999979469073988, 0.0019040727102344732], [-0.0005007594766878545, -0.0019044201135160331, 0.9999980612101101]], "translation": [-0.009955575526878091, -0.009211393520274974, 0.020143898172733987]}}} +{"step": 23000, "train_loss": 0.006810781080275774, "val_psnr": 18.062665939331055, "pose_gradient_norm": 0.7660386562347412, "translation_update_mean": 0.003519299440085888, "rotation_update_deg_mean": 0.07995658367872238, "pose_errors": {"raw": {"rotation_deg_mean": 0.2024733865653749, "rotation_deg_max": 0.4324315810598122, "translation_mean": 0.032410341070500476, "translation_radius_pct_mean": 0.8040016102410998}, "aligned": {"rotation_deg_mean": 0.17779634226635366, "rotation_deg_max": 0.3760189352040323, "translation_mean": 0.009586230815102166, "translation_radius_pct_mean": 0.2378051188884319}, "sim3": {"scale": 0.9903551305514112, "rotation": [[0.999999590640377, 0.0006537981341109029, 0.0006255134532368402], [-0.0006549278311145104, 0.9999981519425415, 0.0018075345191401668], [-0.0006243305345561113, -0.001807943445377705, 0.9999981707742691]], "translation": [-0.01070213296382777, -0.008602336251255227, 0.020154652072395862]}}} +{"step": 24000, "train_loss": 0.0065401578322052956, "val_psnr": 17.925792694091797, "pose_gradient_norm": 0.6292775869369507, "translation_update_mean": 0.0034520726185292006, "rotation_update_deg_mean": 0.0767698660492897, "pose_errors": {"raw": {"rotation_deg_mean": 0.19441141772576678, "rotation_deg_max": 0.40765810539137454, "translation_mean": 0.03336599859892789, "translation_radius_pct_mean": 0.8277085558120618}, "aligned": {"rotation_deg_mean": 0.16647962588666354, "rotation_deg_max": 0.40872023367777316, "translation_mean": 0.009148677260571026, "translation_radius_pct_mean": 0.2269507510912984}, "sim3": {"scale": 0.9899911927235882, "rotation": [[0.9999995815169449, 0.0006570164227029505, 0.000636628112889491], [-0.0006581749799529307, 0.9999981247681841, 0.001821336270584393], [-0.0006354302712230775, -0.0018217545210814949, 0.9999981387176844]], "translation": [-0.0108308003947436, -0.008439551487899613, 0.02081271160880549]}}} +{"step": 25000, "train_loss": 0.007123153656721115, "val_psnr": 18.46394157409668, "pose_gradient_norm": 0.8138474225997925, "translation_update_mean": 0.002841430250555277, "rotation_update_deg_mean": 0.07032845169305801, "pose_errors": {"raw": {"rotation_deg_mean": 0.19108140236736104, "rotation_deg_max": 0.4411337665712847, "translation_mean": 0.03409974828046177, "translation_radius_pct_mean": 0.8459106452064277}, "aligned": {"rotation_deg_mean": 0.16356499386235573, "rotation_deg_max": 0.3950478493191547, "translation_mean": 0.008791257835175764, "translation_radius_pct_mean": 0.21808426638124406}, "sim3": {"scale": 0.9897595719401366, "rotation": [[0.9999995888048867, 0.0006392727053490358, 0.0006432110588068512], [-0.0006403780891998276, 0.9999983160934907, 0.0017198040842864265], [-0.0006421105518901163, -0.0017202152753801698, 0.9999983142753037]], "translation": [-0.011002124922828038, -0.008136190221947254, 0.02095916772980644]}}} +{"step": 26000, "train_loss": 0.006582306697964668, "val_psnr": 18.152856826782227, "pose_gradient_norm": 0.7548883557319641, "translation_update_mean": 0.0028177257627248764, "rotation_update_deg_mean": 0.061328887939453125, "pose_errors": {"raw": {"rotation_deg_mean": 0.18936718297794475, "rotation_deg_max": 0.4038774362111193, "translation_mean": 0.03395269238759725, "translation_radius_pct_mean": 0.8422626374794702}, "aligned": {"rotation_deg_mean": 0.16143386177695723, "rotation_deg_max": 0.34273309379829003, "translation_mean": 0.008411890309914289, "translation_radius_pct_mean": 0.20867331632305333}, "sim3": {"scale": 0.9897881742666116, "rotation": [[0.9999995378559271, 0.0006776362718052712, 0.0006819802174157648], [-0.0006788163518448609, 0.9999982703288859, 0.0017316314844329223], [-0.000680805621511069, -0.0017320936234928998, 0.9999982681761941]], "translation": [-0.011133384022066595, -0.008208025936332325, 0.021072134558775435]}}} +{"step": 27000, "train_loss": 0.007233235985040665, "val_psnr": 17.855186462402344, "pose_gradient_norm": 1.3158071041107178, "translation_update_mean": 0.0025685844011604786, "rotation_update_deg_mean": 0.06252548098564148, "pose_errors": {"raw": {"rotation_deg_mean": 0.18370062815229296, "rotation_deg_max": 0.36512520320221886, "translation_mean": 0.03459967289320143, "translation_radius_pct_mean": 0.8583122485332031}, "aligned": {"rotation_deg_mean": 0.15668888087565905, "rotation_deg_max": 0.36071960707948747, "translation_mean": 0.00798097586961402, "translation_radius_pct_mean": 0.19798364468016835}, "sim3": {"scale": 0.9895551953455639, "rotation": [[0.999999572051533, 0.0006908455286157004, 0.0006153285361626929], [-0.0006918795521950696, 0.9999983463960861, 0.001681816809197171], [-0.0006141656430305166, -0.0016822418226983176, 0.9999983964302217]], "translation": [-0.010936904381240287, -0.007848963341936965, 0.021348040760929]}}} +{"step": 28000, "train_loss": 0.006531090009957552, "val_psnr": 18.312389373779297, "pose_gradient_norm": 0.6444103121757507, "translation_update_mean": 0.0023121992126107216, "rotation_update_deg_mean": 0.0566382110118866, "pose_errors": {"raw": {"rotation_deg_mean": 0.1826308072691482, "rotation_deg_max": 0.3729075473913319, "translation_mean": 0.035017229571540985, "translation_radius_pct_mean": 0.8686705548843046}, "aligned": {"rotation_deg_mean": 0.15070804146598898, "rotation_deg_max": 0.3162474539053924, "translation_mean": 0.008023517038647789, "translation_radius_pct_mean": 0.19903896120183934}, "sim3": {"scale": 0.9894197572624686, "rotation": [[0.9999995674276697, 0.0006764826171508447, 0.0006383695978094747], [-0.0006774991059769343, 0.9999985009554034, 0.0015934496880193728], [-0.0006372906998497679, -0.0015938814935689577, 0.9999985267000896]], "translation": [-0.011076143779415903, -0.007583649482032162, 0.02157910377676453]}}} +{"step": 29000, "train_loss": 0.00771727180108428, "val_psnr": 16.58374786376953, "pose_gradient_norm": 0.9238377213478088, "translation_update_mean": 0.0020179979037493467, "rotation_update_deg_mean": 0.050540436059236526, "pose_errors": {"raw": {"rotation_deg_mean": 0.1769098653258032, "rotation_deg_max": 0.34637737635971694, "translation_mean": 0.0350455232356248, "translation_radius_pct_mean": 0.869372434307095}, "aligned": {"rotation_deg_mean": 0.15053097177502298, "rotation_deg_max": 0.32377893383317796, "translation_mean": 0.007562292568858717, "translation_radius_pct_mean": 0.18759739026661296}, "sim3": {"scale": 0.9894266056994704, "rotation": [[0.9999995558562341, 0.0006823943828568229, 0.0006500963322440316], [-0.000683452488952661, 0.999998439974986, 0.0016287849121079895], [-0.0006489838444026617, -0.0016292284986495565, 0.9999984622160529]], "translation": [-0.011201540633197837, -0.007636167913965958, 0.02164674418940926]}}} +{"step": 29999, "train_loss": 0.0042246682569384575, "val_psnr": 19.62118911743164, "pose_gradient_norm": 0.7424026727676392, "translation_update_mean": 0.0021410631015896797, "rotation_update_deg_mean": 0.053909916430711746, "pose_errors": {"raw": {"rotation_deg_mean": 0.17414969937534208, "rotation_deg_max": 0.33938632112831396, "translation_mean": 0.03538690240002595, "translation_radius_pct_mean": 0.8778410091142606}, "aligned": {"rotation_deg_mean": 0.14286414140689588, "rotation_deg_max": 0.2818474855135345, "translation_mean": 0.007336821457882488, "translation_radius_pct_mean": 0.18200414038709425}, "sim3": {"scale": 0.9892959605690639, "rotation": [[0.9999995933271393, 0.0006220922052929441, 0.0006529524058623405], [-0.0006230734007902424, 0.9999986755127477, 0.0015035798243993857], [-0.0006520161757465031, -0.0015039860502103755, 0.9999986564495316]], "translation": [-0.011306262956422453, -0.007122472881618422, 0.021788184361752894]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-R0.5.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-R0.5.jsonl new file mode 100644 index 0000000..94b9197 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-R0.5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421495854854584, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.005616051144897938, "translation_update_mean": 0.0017298670718446374, "rotation_update_deg_mean": 0.09922657907009125, "pose_errors": {"raw": {"rotation_deg_mean": 0.5105074774632115, "rotation_deg_max": 0.5967569588534778, "translation_mean": 0.0017298691021493313, "translation_radius_pct_mean": 0.04291277097667739}, "aligned": {"rotation_deg_mean": 0.5102115906802642, "rotation_deg_max": 0.5971824668566208, "translation_mean": 0.001705512151683851, "translation_radius_pct_mean": 0.042308549399613114}, "sim3": {"scale": 0.9999636738204357, "rotation": [[0.9999999983624452, 4.529793002508428e-05, 3.497437922138599e-05], [-4.529867017279754e-05, 0.9999999987500985, 2.1162070421966064e-05], [-3.497342057962545e-05, -2.116365468018144e-05, 0.9999999991644795]], "translation": [-5.7278330370114094e-05, -0.00020261371545790552, 7.153065224985156e-05]}}} +{"step": 1000, "train_loss": 0.059120625257492065, "val_psnr": 17.042842864990234, "pose_gradient_norm": 1.3052904605865479, "translation_update_mean": 0.05212651938199997, "rotation_update_deg_mean": 1.9077590703964233, "pose_errors": {"raw": {"rotation_deg_mean": 1.8760016700694662, "rotation_deg_max": 6.081178694726647, "translation_mean": 0.05235785245358006, "translation_radius_pct_mean": 1.298838466089436}, "aligned": {"rotation_deg_mean": 1.8927208862933194, "rotation_deg_max": 6.040575274976228, "translation_mean": 0.05209755096385954, "translation_radius_pct_mean": 1.2923811808535846}, "sim3": {"scale": 1.0004449313147266, "rotation": [[0.9999981908526208, 0.0004771046677456099, 0.0018413751986163288], [-0.0004799049989008229, 0.999998728671196, 0.0015206403863864616], [-0.0018406473529968157, -0.0015215213204865694, 0.9999971484910322]], "translation": [-0.0030368981415793694, -0.007016848616038296, -0.003190155407763573]}}} +{"step": 2000, "train_loss": 0.030542710795998573, "val_psnr": 17.927318572998047, "pose_gradient_norm": 1.1231802701950073, "translation_update_mean": 0.03392626717686653, "rotation_update_deg_mean": 1.7226181030273438, "pose_errors": {"raw": {"rotation_deg_mean": 0.8839570877102022, "rotation_deg_max": 2.642156408712414, "translation_mean": 0.04678345893281549, "translation_radius_pct_mean": 1.1605547819695066}, "aligned": {"rotation_deg_mean": 0.8768743912008055, "rotation_deg_max": 2.687421375032143, "translation_mean": 0.045568495262433235, "translation_radius_pct_mean": 1.130415242701872}, "sim3": {"scale": 1.0003656769151401, "rotation": [[0.9999988860793921, 0.001150369569069431, 0.0009510467019281558], [-0.0011514147888676942, 0.9999987329960138, 0.001099204418210066], [-0.0009497810056355106, -0.0011002982430211063, 0.9999989436293526]], "translation": [-0.001506669290030127, -0.011110489548607105, -0.002423562876090468]}}} +{"step": 3000, "train_loss": 0.027647828683257103, "val_psnr": 20.12527847290039, "pose_gradient_norm": 1.4307191371917725, "translation_update_mean": 0.02002722956240177, "rotation_update_deg_mean": 0.8118200302124023, "pose_errors": {"raw": {"rotation_deg_mean": 0.586061559673553, "rotation_deg_max": 1.5365910775703273, "translation_mean": 0.04568571139539021, "translation_radius_pct_mean": 1.1333230170890236}, "aligned": {"rotation_deg_mean": 0.5616137530611421, "rotation_deg_max": 1.4834076822714766, "translation_mean": 0.043767248747558524, "translation_radius_pct_mean": 1.0857318160372087}, "sim3": {"scale": 1.0001994485560992, "rotation": [[0.9999990005315342, 0.0012294329979840061, 0.0006981621849897397], [-0.0012305808000083762, 0.9999978881906141, 0.0016459906460571832], [-0.0006961370753897026, -0.0016468481459215867, 0.9999984016409014]], "translation": [0.0006118788730390956, -0.015738399200997885, -0.0022348192467025463]}}} +{"step": 4000, "train_loss": 0.02445182204246521, "val_psnr": 21.138568878173828, "pose_gradient_norm": 1.0820047855377197, "translation_update_mean": 0.023030662909150124, "rotation_update_deg_mean": 0.5361858606338501, "pose_errors": {"raw": {"rotation_deg_mean": 0.4676616359556606, "rotation_deg_max": 1.1081282695824937, "translation_mean": 0.03912085113812911, "translation_radius_pct_mean": 0.9704688772216142}, "aligned": {"rotation_deg_mean": 0.4551479530218367, "rotation_deg_max": 1.0400363187392057, "translation_mean": 0.0375518819684255, "translation_radius_pct_mean": 0.9315475423267926}, "sim3": {"scale": 1.0004275305900028, "rotation": [[0.9999989001728055, 0.001240972837262217, 0.000812181997066269], [-0.0012427843471515894, 0.9999967329576753, 0.002233732535819764], [-0.0008094073422305376, -0.002234739446172996, 0.9999971753956912]], "translation": [-0.0007194057770066875, -0.016019774556077213, -0.001185318897689136]}}} +{"step": 5000, "train_loss": 0.017029713839292526, "val_psnr": 22.233991622924805, "pose_gradient_norm": 0.945736289024353, "translation_update_mean": 0.019162189215421677, "rotation_update_deg_mean": 0.3834543824195862, "pose_errors": {"raw": {"rotation_deg_mean": 0.4045496509435516, "rotation_deg_max": 0.8080250450030562, "translation_mean": 0.0338938489834246, "translation_radius_pct_mean": 0.8408029122762096}, "aligned": {"rotation_deg_mean": 0.3736971735338965, "rotation_deg_max": 0.7813034278548695, "translation_mean": 0.031167150332810572, "translation_radius_pct_mean": 0.7731618436133657}, "sim3": {"scale": 1.000630375346011, "rotation": [[0.9999988464724229, 0.001421067127651738, 0.0005363040571809002], [-0.00142219043513677, 0.9999967836858188, 0.002099998186588616], [-0.000533318093867499, -0.0021007584906831997, 0.9999976511900289]], "translation": [0.0013676137048832526, -0.018423036507828408, -0.0010875630521387514]}}} +{"step": 6000, "train_loss": 0.014431996271014214, "val_psnr": 20.82939910888672, "pose_gradient_norm": 0.8827672004699707, "translation_update_mean": 0.014931900426745415, "rotation_update_deg_mean": 0.3275161683559418, "pose_errors": {"raw": {"rotation_deg_mean": 0.3725468476612307, "rotation_deg_max": 0.8965342578391278, "translation_mean": 0.030399516496148117, "translation_radius_pct_mean": 0.7541191917816663}, "aligned": {"rotation_deg_mean": 0.3536826553705567, "rotation_deg_max": 0.8370521972280088, "translation_mean": 0.02715420969005484, "translation_radius_pct_mean": 0.6736130381392326}, "sim3": {"scale": 1.0005881729954524, "rotation": [[0.9999987836459804, 0.00150799165100881, 0.00039833119430091144], [-0.0015089407526413586, 0.9999959977453768, 0.002393238607647221], [-0.00039472061623884347, -0.0023938367547938952, 0.9999970568662823]], "translation": [0.002071432865582312, -0.01949567456840058, -0.0018909683253429677]}}} +{"step": 7000, "train_loss": 0.015903471037745476, "val_psnr": 21.243797302246094, "pose_gradient_norm": 1.1543962955474854, "translation_update_mean": 0.014256144873797894, "rotation_update_deg_mean": 0.29731735587120056, "pose_errors": {"raw": {"rotation_deg_mean": 0.331359051439227, "rotation_deg_max": 0.7480261663227766, "translation_mean": 0.028625945762479166, "translation_radius_pct_mean": 0.7101223167520415}, "aligned": {"rotation_deg_mean": 0.3174206719367624, "rotation_deg_max": 0.8444697278449622, "translation_mean": 0.02441813726916048, "translation_radius_pct_mean": 0.6057394348547065}, "sim3": {"scale": 0.9994837400674265, "rotation": [[0.9999990949425941, 0.0013451917566816868, 2.3940141154111492e-05], [-0.0013452497121407795, 0.9999956822966829, 0.0026126023813195284], [-2.042558660080381e-05, -0.002612632222232335, 0.9999965868620082]], "translation": [0.004470118883301399, -0.019788363271796547, -0.0019119160083738151]}}} +{"step": 8000, "train_loss": 0.0129669439047575, "val_psnr": 21.113298416137695, "pose_gradient_norm": 0.8267520666122437, "translation_update_mean": 0.012612421065568924, "rotation_update_deg_mean": 0.23845233023166656, "pose_errors": {"raw": {"rotation_deg_mean": 0.3129569014327311, "rotation_deg_max": 0.6999470119368891, "translation_mean": 0.028157022263248184, "translation_radius_pct_mean": 0.6984897564021982}, "aligned": {"rotation_deg_mean": 0.2916154830908358, "rotation_deg_max": 0.6914113508739816, "translation_mean": 0.02232711073345157, "translation_radius_pct_mean": 0.5538674505978968}, "sim3": {"scale": 0.9990903047560119, "rotation": [[0.9999990087496844, 0.0013939590270443598, -0.00019843860206886308], [-0.0013934133598686729, 0.9999953194149785, 0.0027238846053656185], [0.00020223465679442072, -0.002723605398314865, 0.9999962705304343]], "translation": [0.005673632332654055, -0.022031129403097358, -0.0029907358823217933]}}} +{"step": 9000, "train_loss": 0.013120860792696476, "val_psnr": 21.071653366088867, "pose_gradient_norm": 1.4117203950881958, "translation_update_mean": 0.010897555388510227, "rotation_update_deg_mean": 0.21846114099025726, "pose_errors": {"raw": {"rotation_deg_mean": 0.29970660627185425, "rotation_deg_max": 0.7560284413906893, "translation_mean": 0.024307069315823146, "translation_radius_pct_mean": 0.602984178032967}, "aligned": {"rotation_deg_mean": 0.274326670110063, "rotation_deg_max": 0.6375298173343836, "translation_mean": 0.018835967571848043, "translation_radius_pct_mean": 0.4672628475359983}, "sim3": {"scale": 0.9993471340638557, "rotation": [[0.9999992560319902, 0.0012003780254969845, -0.00021685954573720813], [-0.0011998964161105412, 0.9999968436340259, 0.002207480594789944], [0.00021950867244674983, -0.002207218743503221, 0.9999975399976556]], "translation": [0.0054065577640105, -0.018653787659692667, -0.003544605284860669]}}} +{"step": 10000, "train_loss": 0.011771950870752335, "val_psnr": 21.494964599609375, "pose_gradient_norm": 0.7578856945037842, "translation_update_mean": 0.01039515994489193, "rotation_update_deg_mean": 0.21528564393520355, "pose_errors": {"raw": {"rotation_deg_mean": 0.28019524733082185, "rotation_deg_max": 0.7779517838693666, "translation_mean": 0.024319255672867433, "translation_radius_pct_mean": 0.6032864843451797}, "aligned": {"rotation_deg_mean": 0.25377821867795647, "rotation_deg_max": 0.7086090787926749, "translation_mean": 0.018041137336308685, "translation_radius_pct_mean": 0.44754553608124137}, "sim3": {"scale": 0.9992714587937895, "rotation": [[0.9999992692791886, 0.001201413003256069, -0.00013434241444402692], [-0.0012011096949270728, 0.9999967800155379, 0.0022354628282115954], [0.00013702769597363334, -0.0022352998347359267, 0.9999974923258855]], "translation": [0.00587183501745131, -0.01927129719389227, -0.005009770202899944]}}} +{"step": 11000, "train_loss": 0.011313362047076225, "val_psnr": 21.211759567260742, "pose_gradient_norm": 0.8989872932434082, "translation_update_mean": 0.009751073084771633, "rotation_update_deg_mean": 0.19288082420825958, "pose_errors": {"raw": {"rotation_deg_mean": 0.26392970030617824, "rotation_deg_max": 0.5873310255286674, "translation_mean": 0.02305012527492768, "translation_radius_pct_mean": 0.5718032339427879}, "aligned": {"rotation_deg_mean": 0.24664095901659513, "rotation_deg_max": 0.6616876443095278, "translation_mean": 0.01598679190955632, "translation_radius_pct_mean": 0.39658349814688293}, "sim3": {"scale": 0.9992933941716253, "rotation": [[0.9999989630958757, 0.001420763422081912, -0.000235028661588781], [-0.0014201977515617744, 0.9999961361229288, 0.00238972332265041], [0.00023842298495272795, -0.00238938705755969, 0.9999971169878281]], "translation": [0.006259701809663676, -0.019817258163101106, -0.004751449393349372]}}} +{"step": 12000, "train_loss": 0.010762919671833515, "val_psnr": 21.58390998840332, "pose_gradient_norm": 0.9635180830955505, "translation_update_mean": 0.009528517723083496, "rotation_update_deg_mean": 0.16838526725769043, "pose_errors": {"raw": {"rotation_deg_mean": 0.2426378116367816, "rotation_deg_max": 0.6573628808527693, "translation_mean": 0.022693959593228653, "translation_radius_pct_mean": 0.5629678507860436}, "aligned": {"rotation_deg_mean": 0.21682486329864814, "rotation_deg_max": 0.6406729807835309, "translation_mean": 0.015306747905971117, "translation_radius_pct_mean": 0.37971368265410615}, "sim3": {"scale": 0.9995879887411514, "rotation": [[0.9999991609484337, 0.001220833198208977, -0.00043320749275889756], [-0.0012198808414735527, 0.9999968537693426, 0.002191880961200404], [0.00043588205083219345, -0.0021913506605784148, 0.9999975039914449]], "translation": [0.007152172665234047, -0.018862212892222924, -0.005929562552722256]}}} +{"step": 13000, "train_loss": 0.00989740900695324, "val_psnr": 20.66769027709961, "pose_gradient_norm": 0.9501906037330627, "translation_update_mean": 0.0070815132930874825, "rotation_update_deg_mean": 0.15108582377433777, "pose_errors": {"raw": {"rotation_deg_mean": 0.2328981498795017, "rotation_deg_max": 0.685304265115361, "translation_mean": 0.021665034963248023, "translation_radius_pct_mean": 0.5374433721166687}, "aligned": {"rotation_deg_mean": 0.21441034039474818, "rotation_deg_max": 0.5909178397629563, "translation_mean": 0.01371570788293222, "translation_radius_pct_mean": 0.3402448372723579}, "sim3": {"scale": 0.9997634731712646, "rotation": [[0.9999992706220915, 0.0011946356321918083, -0.000177766679236729], [-0.0011942479122259437, 0.9999969423745845, 0.0021654129874742233], [0.0001803530152061224, -0.0021651991105843564, 0.9999976396900148]], "translation": [0.005802954079296041, -0.018990252136204352, -0.00658650917492043]}}} +{"step": 14000, "train_loss": 0.01102676521986723, "val_psnr": 20.4062442779541, "pose_gradient_norm": 0.8558706045150757, "translation_update_mean": 0.006855471525341272, "rotation_update_deg_mean": 0.1442716121673584, "pose_errors": {"raw": {"rotation_deg_mean": 0.22942293147771672, "rotation_deg_max": 0.6398286853843399, "translation_mean": 0.02242196085603799, "translation_radius_pct_mean": 0.5562203925532179}, "aligned": {"rotation_deg_mean": 0.2019486045572769, "rotation_deg_max": 0.6071804776646402, "translation_mean": 0.012910457135215193, "translation_radius_pct_mean": 0.32026902472524416}, "sim3": {"scale": 0.9997507479284109, "rotation": [[0.9999991581710611, 0.0012409406055488978, -0.00037910893285173544], [-0.0012399989044329428, 0.9999961703527466, 0.00247420341882906], [0.0003821778204870441, -0.002473731241311634, 0.9999968672920225]], "translation": [0.006755794428106865, -0.0214256978618608, -0.0057593179722861265]}}} +{"step": 15000, "train_loss": 0.008626018650829792, "val_psnr": 21.232805252075195, "pose_gradient_norm": 1.3146378993988037, "translation_update_mean": 0.006367087829858065, "rotation_update_deg_mean": 0.13125620782375336, "pose_errors": {"raw": {"rotation_deg_mean": 0.2155958156374412, "rotation_deg_max": 0.560361020204489, "translation_mean": 0.02235097235957069, "translation_radius_pct_mean": 0.5544593846901982}, "aligned": {"rotation_deg_mean": 0.1905221043925789, "rotation_deg_max": 0.5597124037814578, "translation_mean": 0.012120317384503632, "translation_radius_pct_mean": 0.30066806987858824}, "sim3": {"scale": 0.9994836108828344, "rotation": [[0.9999990467152889, 0.0013075696950587837, -0.00044365527803232307], [-0.0013065421205495293, 0.9999964816664195, 0.0023085931798816498], [0.0004466723635851749, -0.0023080113248272302, 0.999997236779945]], "translation": [0.00735790850570911, -0.020923248855060986, -0.006002315936707081]}}} +{"step": 16000, "train_loss": 0.0100927222520113, "val_psnr": 22.06783676147461, "pose_gradient_norm": 1.0102932453155518, "translation_update_mean": 0.005394206382334232, "rotation_update_deg_mean": 0.12942056357860565, "pose_errors": {"raw": {"rotation_deg_mean": 0.19879552906347822, "rotation_deg_max": 0.5321696805419058, "translation_mean": 0.022023643741066842, "translation_radius_pct_mean": 0.5463393610291504}, "aligned": {"rotation_deg_mean": 0.1699387213338743, "rotation_deg_max": 0.5356560471164611, "translation_mean": 0.011278594806636042, "translation_radius_pct_mean": 0.2797875025772525}, "sim3": {"scale": 0.9993777398017275, "rotation": [[0.9999992704407781, 0.0011669328706664162, -0.0003120666405440609], [-0.0011662061213786352, 0.9999966311965509, 0.0023189564101313335], [0.00031477165571341335, -0.0023185907842887825, 0.9999972625240442]], "translation": [0.006856019355331311, -0.020748760615266565, -0.005976787585987076]}}} +{"step": 17000, "train_loss": 0.006794665940105915, "val_psnr": 20.836185455322266, "pose_gradient_norm": 0.7419782280921936, "translation_update_mean": 0.005452919285744429, "rotation_update_deg_mean": 0.11606936901807785, "pose_errors": {"raw": {"rotation_deg_mean": 0.2065523581700879, "rotation_deg_max": 0.6003085527577973, "translation_mean": 0.022155451471881894, "translation_radius_pct_mean": 0.5496091084096858}, "aligned": {"rotation_deg_mean": 0.16959674466924962, "rotation_deg_max": 0.4931839721948639, "translation_mean": 0.010826617607307586, "translation_radius_pct_mean": 0.26857532818939656}, "sim3": {"scale": 0.9995057991046886, "rotation": [[0.9999992394785461, 0.0011498034697204522, -0.000446087783868404], [-0.0011487568556530952, 0.9999966037509824, 0.002339411076985502], [0.00044877613181673994, -0.0023388968514132993, 0.999997164076729]], "translation": [0.007593880393787111, -0.021121873151858636, -0.006156555082877269]}}} +{"step": 18000, "train_loss": 0.008968100883066654, "val_psnr": 22.022476196289062, "pose_gradient_norm": 1.059702754020691, "translation_update_mean": 0.0051376232877373695, "rotation_update_deg_mean": 0.11068753898143768, "pose_errors": {"raw": {"rotation_deg_mean": 0.18046100215675015, "rotation_deg_max": 0.5186107582515165, "translation_mean": 0.021554592644221847, "translation_radius_pct_mean": 0.5347036353720707}, "aligned": {"rotation_deg_mean": 0.15293039668242467, "rotation_deg_max": 0.42804198827783835, "translation_mean": 0.01015546736720433, "translation_radius_pct_mean": 0.2519261398151384}, "sim3": {"scale": 0.9994657635102151, "rotation": [[0.9999992675047648, 0.0011829520900021415, -0.00025615285752008033], [-0.0011823620552321116, 0.9999966755726052, 0.0022914763160732177], [0.0002588627126557447, -0.0022911717721586502, 0.99999734175747]], "translation": [0.006916107784566028, -0.020406734040217492, -0.006545596416066779]}}} +{"step": 19000, "train_loss": 0.007388328202068806, "val_psnr": 20.837787628173828, "pose_gradient_norm": 0.9275537133216858, "translation_update_mean": 0.004896187223494053, "rotation_update_deg_mean": 0.10167573392391205, "pose_errors": {"raw": {"rotation_deg_mean": 0.17518852585721564, "rotation_deg_max": 0.48231766698055817, "translation_mean": 0.021320929650302443, "translation_radius_pct_mean": 0.5289071698872951}, "aligned": {"rotation_deg_mean": 0.1433745281036389, "rotation_deg_max": 0.450876442178699, "translation_mean": 0.010214766082975581, "translation_radius_pct_mean": 0.2533971599090525}, "sim3": {"scale": 0.9993213075861281, "rotation": [[0.9999993719193212, 0.0011128306076121572, -0.00013330042389173905], [-0.0011125233400623694, 0.9999967742110248, 0.0022833876943401453], [0.00013584101760796531, -0.0022832379603555954, 0.9999973841823966]], "translation": [0.006157550509312604, -0.02035158136983639, -0.006512837049879483]}}} +{"step": 20000, "train_loss": 0.008139558136463165, "val_psnr": 20.92922019958496, "pose_gradient_norm": 0.977680504322052, "translation_update_mean": 0.004638914950191975, "rotation_update_deg_mean": 0.09461598098278046, "pose_errors": {"raw": {"rotation_deg_mean": 0.16992654778297653, "rotation_deg_max": 0.5257712419439138, "translation_mean": 0.021249712770088264, "translation_radius_pct_mean": 0.5271404965207916}, "aligned": {"rotation_deg_mean": 0.13561399184561684, "rotation_deg_max": 0.4510947247728311, "translation_mean": 0.009469982100844319, "translation_radius_pct_mean": 0.2349213432055886}, "sim3": {"scale": 0.9990420904026746, "rotation": [[0.9999993862785598, 0.0010989875851244537, -0.0001402454730258225], [-0.001098670686186797, 0.9999968876105417, 0.0022400205251825946], [0.00014270679127488642, -0.002239865066843882, 0.9999974813164557]], "translation": [0.006227763381177365, -0.02020798390434303, -0.005880774713673986]}}} +{"step": 21000, "train_loss": 0.007798362988978624, "val_psnr": 20.95094871520996, "pose_gradient_norm": 0.8425276279449463, "translation_update_mean": 0.004041938576847315, "rotation_update_deg_mean": 0.08903753012418747, "pose_errors": {"raw": {"rotation_deg_mean": 0.17707704311740854, "rotation_deg_max": 0.5030758903303795, "translation_mean": 0.020905042908801817, "translation_radius_pct_mean": 0.5185902895706986}, "aligned": {"rotation_deg_mean": 0.13882777795203388, "rotation_deg_max": 0.3843654264344459, "translation_mean": 0.008770277321332334, "translation_radius_pct_mean": 0.21756380388820484}, "sim3": {"scale": 0.9988648374132408, "rotation": [[0.9999994483752028, 0.001050330719595476, -7.393960881130911e-06], [-0.0010503119120832242, 0.999997028637274, 0.0021999003408440954], [9.704561819037951e-06, -0.002199891361359237, 0.9999975801889827]], "translation": [0.005505722284536441, -0.020167194370474942, -0.005855605865798363]}}} +{"step": 22000, "train_loss": 0.011294539086520672, "val_psnr": 21.57659912109375, "pose_gradient_norm": 1.2483946084976196, "translation_update_mean": 0.003923007287085056, "rotation_update_deg_mean": 0.08724948018789291, "pose_errors": {"raw": {"rotation_deg_mean": 0.16804931278370971, "rotation_deg_max": 0.45383867316158544, "translation_mean": 0.02114727186321421, "translation_radius_pct_mean": 0.524599250382649}, "aligned": {"rotation_deg_mean": 0.13444152279352548, "rotation_deg_max": 0.3927439325460534, "translation_mean": 0.008586496013808127, "translation_radius_pct_mean": 0.21300475074957043}, "sim3": {"scale": 0.9988714044130528, "rotation": [[0.9999993486770687, 0.001141328587636511, 3.8069413873467056e-06], [-0.0011413342903365724, 0.9999967693831884, 0.002271250585836674], [-1.214685865161802e-06, -0.0022712534515118695, 0.9999974206998146]], "translation": [0.005408285219981934, -0.02053663150411271, -0.006215254670702386]}}} +{"step": 23000, "train_loss": 0.007870037108659744, "val_psnr": 21.04386329650879, "pose_gradient_norm": 1.0090335607528687, "translation_update_mean": 0.003463314613327384, "rotation_update_deg_mean": 0.08001266419887543, "pose_errors": {"raw": {"rotation_deg_mean": 0.16047901832129308, "rotation_deg_max": 0.4427867170149705, "translation_mean": 0.021335309471329476, "translation_radius_pct_mean": 0.5292638893440749}, "aligned": {"rotation_deg_mean": 0.12782095700849144, "rotation_deg_max": 0.3608264467661535, "translation_mean": 0.008054332458003249, "translation_radius_pct_mean": 0.19980339767377128}, "sim3": {"scale": 0.9988555400190741, "rotation": [[0.9999993815187811, 0.0011069296030292168, 0.0001080227244226033], [-0.0011071699150460878, 0.9999968546277864, 0.002250535339425162], [-0.00010553120046112378, -0.0022506535470220405, 0.9999974617076672]], "translation": [0.005184620300486831, -0.020448435413449623, -0.0068098703720322895]}}} +{"step": 24000, "train_loss": 0.005587580148130655, "val_psnr": 21.368328094482422, "pose_gradient_norm": 0.9086260795593262, "translation_update_mean": 0.003401879221200943, "rotation_update_deg_mean": 0.07902286946773529, "pose_errors": {"raw": {"rotation_deg_mean": 0.15743340989561708, "rotation_deg_max": 0.4426398909520109, "translation_mean": 0.021394637546127252, "translation_radius_pct_mean": 0.5307356377458012}, "aligned": {"rotation_deg_mean": 0.12512619376977788, "rotation_deg_max": 0.35330134052075446, "translation_mean": 0.008061055229259699, "translation_radius_pct_mean": 0.19997016910341192}, "sim3": {"scale": 0.9987567957550028, "rotation": [[0.9999994378827862, 0.001051671483591728, 0.00013498593134340144], [-0.0010519779562918829, 0.9999968228359778, 0.002290777232488383], [-0.00013257635738026278, -0.0022909179470272205, 0.9999973670557682]], "translation": [0.00508010726989655, -0.020548913933426158, -0.006761139341465938]}}} +{"step": 25000, "train_loss": 0.008135628886520863, "val_psnr": 20.53696060180664, "pose_gradient_norm": 0.9333983063697815, "translation_update_mean": 0.0031236850190907717, "rotation_update_deg_mean": 0.07256123423576355, "pose_errors": {"raw": {"rotation_deg_mean": 0.15671958418921494, "rotation_deg_max": 0.4542963090475921, "translation_mean": 0.021834798069718296, "translation_radius_pct_mean": 0.5416546764859974}, "aligned": {"rotation_deg_mean": 0.12154289206825421, "rotation_deg_max": 0.33320023214142175, "translation_mean": 0.007726749417375294, "translation_radius_pct_mean": 0.1916770625765984}, "sim3": {"scale": 0.998458767615185, "rotation": [[0.9999994870699439, 0.001009901963441345, 7.718726243430007e-05], [-0.0010100733960691024, 0.999996949160874, 0.0022542006741120713], [-7.491050526158007e-05, -0.002254277482665054, 0.9999974563074887]], "translation": [0.005455028905426207, -0.02044730763652315, -0.006736382590228462]}}} +{"step": 26000, "train_loss": 0.0067673129960894585, "val_psnr": 20.99591827392578, "pose_gradient_norm": 1.1447598934173584, "translation_update_mean": 0.0029125045984983444, "rotation_update_deg_mean": 0.06547727435827255, "pose_errors": {"raw": {"rotation_deg_mean": 0.15105983587659388, "rotation_deg_max": 0.4143292925385081, "translation_mean": 0.021590357838815858, "translation_radius_pct_mean": 0.5355908606555572}, "aligned": {"rotation_deg_mean": 0.11231288319476158, "rotation_deg_max": 0.33606183767198783, "translation_mean": 0.007528116157841437, "translation_radius_pct_mean": 0.18674957785296437}, "sim3": {"scale": 0.9984552596523358, "rotation": [[0.9999994846937291, 0.001009507625063031, 0.00010726896566193689], [-0.0010097399371645655, 0.9999970961542765, 0.002188174644232081], [-0.00010505967518107789, -0.0021882818304105804, 0.9999976001896679]], "translation": [0.005347110294140922, -0.020163718051842958, -0.006669667983682626]}}} +{"step": 27000, "train_loss": 0.006445780396461487, "val_psnr": 20.2960205078125, "pose_gradient_norm": 0.771858274936676, "translation_update_mean": 0.00259400368668139, "rotation_update_deg_mean": 0.06046026945114136, "pose_errors": {"raw": {"rotation_deg_mean": 0.14881253542407608, "rotation_deg_max": 0.4039025967836374, "translation_mean": 0.02136267344573258, "translation_radius_pct_mean": 0.5299427060043141}, "aligned": {"rotation_deg_mean": 0.11109585176031844, "rotation_deg_max": 0.31773132717022645, "translation_mean": 0.007177831117360738, "translation_radius_pct_mean": 0.17806007545071453}, "sim3": {"scale": 0.998413119966018, "rotation": [[0.9999995112168226, 0.000984708463919145, 8.896829391029022e-05], [-0.0009849017149770364, 0.9999970975137775, 0.002198848023962981], [-8.680281142092959e-05, -0.0021989345742282913, 0.9999975785730731]], "translation": [0.005292306270570701, -0.020142376798057096, -0.0063215967546002005]}}} +{"step": 28000, "train_loss": 0.005651629995554686, "val_psnr": 21.23518943786621, "pose_gradient_norm": 0.5980694890022278, "translation_update_mean": 0.0023547003511339426, "rotation_update_deg_mean": 0.05697942525148392, "pose_errors": {"raw": {"rotation_deg_mean": 0.1458890306439347, "rotation_deg_max": 0.36343146094051304, "translation_mean": 0.02130272541971047, "translation_radius_pct_mean": 0.5284555785054794}, "aligned": {"rotation_deg_mean": 0.10614673098371259, "rotation_deg_max": 0.3164296639621392, "translation_mean": 0.00714407025901693, "translation_radius_pct_mean": 0.17722257163017469}, "sim3": {"scale": 0.9982233300970232, "rotation": [[0.9999995316970135, 0.0009649597566825709, 7.38811249029141e-05], [-0.0009651173944225183, 0.9999971923450358, 0.0021642205199918145], [-7.179253176363559e-05, -0.002164290810439636, 0.9999976553428098]], "translation": [0.0052947687616172745, -0.019966834152757254, -0.006064220010376875]}}} +{"step": 29000, "train_loss": 0.008084483444690704, "val_psnr": 20.61941146850586, "pose_gradient_norm": 0.7861930727958679, "translation_update_mean": 0.002039168030023575, "rotation_update_deg_mean": 0.05738849937915802, "pose_errors": {"raw": {"rotation_deg_mean": 0.14383055264922884, "rotation_deg_max": 0.416340987928604, "translation_mean": 0.02150197397002247, "translation_radius_pct_mean": 0.5333983267147805}, "aligned": {"rotation_deg_mean": 0.10705246063490462, "rotation_deg_max": 0.3074274153034168, "translation_mean": 0.006950656333179864, "translation_radius_pct_mean": 0.17242456264045775}, "sim3": {"scale": 0.9981819464546678, "rotation": [[0.9999995456963062, 0.0009486402261998849, 9.321428811671907e-05], [-0.0009488405003965449, 0.9999971899496469, 0.0021725088067574296], [-9.115309693407089e-05, -0.002172596265270369, 0.9999976357554965]], "translation": [0.005319161498761549, -0.02016827757569109, -0.006003078900842951]}}} +{"step": 29999, "train_loss": 0.00589197501540184, "val_psnr": 20.570222854614258, "pose_gradient_norm": 1.355881690979004, "translation_update_mean": 0.0021778899244964123, "rotation_update_deg_mean": 0.05263972282409668, "pose_errors": {"raw": {"rotation_deg_mean": 0.14250513597009293, "rotation_deg_max": 0.3824647323456525, "translation_mean": 0.02153396504891868, "translation_radius_pct_mean": 0.534191927710523}, "aligned": {"rotation_deg_mean": 0.10354943495223193, "rotation_deg_max": 0.28571720387107863, "translation_mean": 0.006855050528311665, "translation_radius_pct_mean": 0.1700528745148924}, "sim3": {"scale": 0.9980559028419067, "rotation": [[0.9999995509105708, 0.0009418061791076364, 0.00010573446501657875], [-0.0009420281868910318, 0.9999973098647288, 0.0021196335061882156], [-0.0001037378966428957, -0.0021197321591296, 0.9999977479844746]], "translation": [0.005228754227045773, -0.019946943542698145, -0.006098152029928361]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-R1.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-R1.jsonl new file mode 100644 index 0000000..08a21c3 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-R1.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34218087792396545, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.005492891650646925, "translation_update_mean": 0.0017298361053690314, "rotation_update_deg_mean": 0.09921630471944809, "pose_errors": {"raw": {"rotation_deg_mean": 1.0082617229700517, "rotation_deg_max": 1.0994573523519477, "translation_mean": 0.0017298331677876586, "translation_radius_pct_mean": 0.04291187955487517}, "aligned": {"rotation_deg_mean": 1.008103510552988, "rotation_deg_max": 1.0984249632055119, "translation_mean": 0.001714583716734701, "translation_radius_pct_mean": 0.042533587232211824}, "sim3": {"scale": 0.9999916006504974, "rotation": [[0.9999999996468013, 1.2794701412912708e-05, 2.329576374484535e-05], [-1.279510943574286e-05, 0.9999999997647576, 1.7514842935335118e-05], [-2.3295539642176803e-05, -1.7515141001002355e-05, 0.9999999995752684]], "translation": [-3.743272056339064e-05, -6.429754673110966e-05, -0.00016761117868879793]}}} +{"step": 1000, "train_loss": 0.05170410871505737, "val_psnr": 16.325716018676758, "pose_gradient_norm": 1.468151330947876, "translation_update_mean": 0.05259621515870094, "rotation_update_deg_mean": 1.9181678295135498, "pose_errors": {"raw": {"rotation_deg_mean": 1.9423857777517208, "rotation_deg_max": 6.334864024593293, "translation_mean": 0.05258038058327096, "translation_radius_pct_mean": 1.3043587095884552}, "aligned": {"rotation_deg_mean": 1.945644658040572, "rotation_deg_max": 6.304205484832238, "translation_mean": 0.05041118906041962, "translation_radius_pct_mean": 1.2505476906454545}, "sim3": {"scale": 0.9984999373903941, "rotation": [[0.9999998739682135, -0.00035073432842120956, -0.0003592338893725212], [0.0003502790052915723, 0.9999991363071588, -0.001266763417104104], [0.00035967787652113565, 0.001266637425362214, 0.9999991331303529]], "translation": [0.007311736658493828, -0.001722688948512116, 0.012945603647394499]}}} +{"step": 2000, "train_loss": 0.03255628049373627, "val_psnr": 16.213781356811523, "pose_gradient_norm": 1.2295619249343872, "translation_update_mean": 0.03220389410853386, "rotation_update_deg_mean": 1.507441520690918, "pose_errors": {"raw": {"rotation_deg_mean": 1.1816315166771538, "rotation_deg_max": 2.9111799896803445, "translation_mean": 0.05178359756062598, "translation_radius_pct_mean": 1.2845929554476445}, "aligned": {"rotation_deg_mean": 1.1765598907190589, "rotation_deg_max": 2.9117327802081587, "translation_mean": 0.04982920787383545, "translation_radius_pct_mean": 1.236110514247777}, "sim3": {"scale": 0.9991791873435397, "rotation": [[0.9999982487502703, -0.00021004988431761007, -0.0018596707878238122], [0.0002097225657442588, 0.9999999624846253, -0.00017620213844075442], [0.0018597077292964676, 0.00017581181493769556, 0.9999982552871612]], "translation": [0.012046239559642347, -0.004774196456762053, 0.013915182460535913]}}} +{"step": 3000, "train_loss": 0.026148252189159393, "val_psnr": 16.73372459411621, "pose_gradient_norm": 1.0661687850952148, "translation_update_mean": 0.023926997557282448, "rotation_update_deg_mean": 0.852781355381012, "pose_errors": {"raw": {"rotation_deg_mean": 0.8498062163915407, "rotation_deg_max": 2.128494486760436, "translation_mean": 0.047845649819391586, "translation_radius_pct_mean": 1.186904494900109}, "aligned": {"rotation_deg_mean": 0.8555557700729127, "rotation_deg_max": 2.1061777047157846, "translation_mean": 0.04441684799965202, "translation_radius_pct_mean": 1.1018463901960707}, "sim3": {"scale": 0.9986762686797359, "rotation": [[0.999996671894153, -0.00031702912195050143, -0.002560408786498336], [0.0003153172748468635, 0.999999726534056, -0.0006689595135436913], [0.0025606201659607976, 0.0006681499460546071, 0.999996498393878]], "translation": [0.013827955690146276, -0.002516504958734747, 0.01960254532972394]}}} +{"step": 4000, "train_loss": 0.027349844574928284, "val_psnr": 16.510713577270508, "pose_gradient_norm": 1.2514126300811768, "translation_update_mean": 0.018528612330555916, "rotation_update_deg_mean": 0.5574834942817688, "pose_errors": {"raw": {"rotation_deg_mean": 0.7817614072796902, "rotation_deg_max": 1.5794977412231952, "translation_mean": 0.044188078402310184, "translation_radius_pct_mean": 1.0961713149404}, "aligned": {"rotation_deg_mean": 0.7854886631467224, "rotation_deg_max": 1.5560399001939602, "translation_mean": 0.03987472012361682, "translation_radius_pct_mean": 0.9891700651210105}, "sim3": {"scale": 0.9983140741404352, "rotation": [[0.9999963431992017, -0.00043296824183285045, -0.0026694806096258304], [0.00043334078735613894, 0.9999998964500872, 0.00013898048738433612], [0.0026694201590640454, -0.00014013677398957872, 0.999996427272467]], "translation": [0.01579348546422954, -0.00475366249620951, 0.021094622471879543]}}} +{"step": 5000, "train_loss": 0.01970863714814186, "val_psnr": 16.889360427856445, "pose_gradient_norm": 1.0165133476257324, "translation_update_mean": 0.01632710173726082, "rotation_update_deg_mean": 0.4204332232475281, "pose_errors": {"raw": {"rotation_deg_mean": 0.7132517473686402, "rotation_deg_max": 1.5477864473935095, "translation_mean": 0.0421516307033301, "translation_radius_pct_mean": 1.0456532649886816}, "aligned": {"rotation_deg_mean": 0.7142878763466229, "rotation_deg_max": 1.6052727018947028, "translation_mean": 0.03641270180573681, "translation_radius_pct_mean": 0.9032879605110964}, "sim3": {"scale": 0.9979717160687537, "rotation": [[0.9999962859696792, -0.0004289112351086403, -0.0026914832341908682], [0.00042811315739849575, 0.9999998642286777, -0.0002970887916707516], [0.0026916102934852956, 0.00029593542888845485, 0.999996333821404]], "translation": [0.015127881570398405, -0.0032482848232686656, 0.02264884742047313]}}} +{"step": 6000, "train_loss": 0.014458363875746727, "val_psnr": 16.83909797668457, "pose_gradient_norm": 1.0879074335098267, "translation_update_mean": 0.017044469714164734, "rotation_update_deg_mean": 0.35960355401039124, "pose_errors": {"raw": {"rotation_deg_mean": 0.6272418382038542, "rotation_deg_max": 1.4202029189158631, "translation_mean": 0.039149033396752964, "translation_radius_pct_mean": 0.9711679930150743}, "aligned": {"rotation_deg_mean": 0.6247228569161684, "rotation_deg_max": 1.3085403983053179, "translation_mean": 0.032452008295332097, "translation_radius_pct_mean": 0.8050352468753467}, "sim3": {"scale": 0.9975333600087627, "rotation": [[0.9999968795155674, -0.0004972874703504958, -0.002448196131932183], [0.0004969960843005216, 0.9999998693420505, -0.00011962764745092679], [0.0024482553013861702, 0.00011841053026355423, 0.9999969960079506]], "translation": [0.01412249683287814, -0.0036987929700857125, 0.023407791524440835]}}} +{"step": 7000, "train_loss": 0.017068948596715927, "val_psnr": 16.765161514282227, "pose_gradient_norm": 1.2157853841781616, "translation_update_mean": 0.013586368411779404, "rotation_update_deg_mean": 0.304127037525177, "pose_errors": {"raw": {"rotation_deg_mean": 0.5970482842092987, "rotation_deg_max": 1.1538815316336573, "translation_mean": 0.03830106720548047, "translation_radius_pct_mean": 0.9501325407274821}, "aligned": {"rotation_deg_mean": 0.5979941143241347, "rotation_deg_max": 1.2379139336973353, "translation_mean": 0.02949366681693487, "translation_radius_pct_mean": 0.7316478268818156}, "sim3": {"scale": 0.9969231035825119, "rotation": [[0.9999969572789775, -0.0005008273720899743, -0.0024154926477265672], [0.0005009436138130074, 0.9999998733987304, 4.75186279822703e-05], [0.002415468543292473, -4.8728509012402904e-05, 0.9999970815643666]], "translation": [0.013576869257851731, -0.004887026049537252, 0.027629188134279392]}}} +{"step": 8000, "train_loss": 0.013075198978185654, "val_psnr": 16.011150360107422, "pose_gradient_norm": 0.8629289865493774, "translation_update_mean": 0.011802870780229568, "rotation_update_deg_mean": 0.24990622699260712, "pose_errors": {"raw": {"rotation_deg_mean": 0.5719237936243572, "rotation_deg_max": 1.202708858141837, "translation_mean": 0.036159152299471385, "translation_radius_pct_mean": 0.8969981713703464}, "aligned": {"rotation_deg_mean": 0.5730466422357837, "rotation_deg_max": 1.1040467106069063, "translation_mean": 0.02497649300450218, "translation_radius_pct_mean": 0.6195905359377086}, "sim3": {"scale": 0.996541868330733, "rotation": [[0.999996422154957, -0.00047300058258081606, -0.0026328592316870406], [0.00047359501831230403, 0.9999998625060637, 0.00022515685976790768], [0.002632752370359114, -0.00022640296320756764, 0.9999965086722319]], "translation": [0.01423104408775644, -0.005700716002360509, 0.02958507617720496]}}} +{"step": 9000, "train_loss": 0.013290557079017162, "val_psnr": 16.680429458618164, "pose_gradient_norm": 1.0124908685684204, "translation_update_mean": 0.011757326312363148, "rotation_update_deg_mean": 0.2425449639558792, "pose_errors": {"raw": {"rotation_deg_mean": 0.5472769571706477, "rotation_deg_max": 1.1825702728577117, "translation_mean": 0.0351938360146274, "translation_radius_pct_mean": 0.8730516215417509}, "aligned": {"rotation_deg_mean": 0.5476495871646612, "rotation_deg_max": 1.0773771573733775, "translation_mean": 0.022528805503030963, "translation_radius_pct_mean": 0.558870882038692}, "sim3": {"scale": 0.9959359719089096, "rotation": [[0.9999973612147692, -0.0005542002019262059, -0.002229445140496276], [0.0005544342128507766, 0.9999998408571834, 0.00010434707927835537], [0.002229386956523583, -0.00010558288459044998, 0.9999975093399253]], "translation": [0.011884611896471498, -0.005907437578687766, 0.031282890405277985]}}} +{"step": 10000, "train_loss": 0.013403616845607758, "val_psnr": 16.796859741210938, "pose_gradient_norm": 1.038432240486145, "translation_update_mean": 0.010097375139594078, "rotation_update_deg_mean": 0.21291552484035492, "pose_errors": {"raw": {"rotation_deg_mean": 0.5082747336993959, "rotation_deg_max": 1.0724480024695822, "translation_mean": 0.03493585944012047, "translation_radius_pct_mean": 0.8666520103541708}, "aligned": {"rotation_deg_mean": 0.5071672537332651, "rotation_deg_max": 0.9646626866584516, "translation_mean": 0.02139551636299284, "translation_radius_pct_mean": 0.5307574385091287}, "sim3": {"scale": 0.9957087290473693, "rotation": [[0.9999976051563375, -0.00042353351688780374, -0.0021471611374764385], [0.000424577308189207, 0.9999997919178488, 0.0004856936987861918], [0.002146954983130109, -0.00048660417152167075, 0.9999975768974054]], "translation": [0.01136870848689664, -0.0072985110060937025, 0.0324026188338804]}}} +{"step": 11000, "train_loss": 0.009881284087896347, "val_psnr": 15.969522476196289, "pose_gradient_norm": 0.8436539173126221, "translation_update_mean": 0.009307331405580044, "rotation_update_deg_mean": 0.1857481747865677, "pose_errors": {"raw": {"rotation_deg_mean": 0.5163773585898417, "rotation_deg_max": 1.1079988820293407, "translation_mean": 0.036086333557991915, "translation_radius_pct_mean": 0.8951917607164792}, "aligned": {"rotation_deg_mean": 0.5174074968451268, "rotation_deg_max": 1.014101038826879, "translation_mean": 0.020399679351814512, "translation_radius_pct_mean": 0.5060537626427304}, "sim3": {"scale": 0.9948430361040156, "rotation": [[0.999997882314579, -0.00044907072327222156, -0.002008407788222088], [0.00045029509412757696, 0.9999997130474904, 0.0006092120040913121], [0.002008133632629075, -0.0006101150901459956, 0.9999977975770205]], "translation": [0.0105525190657072, -0.00682139657096878, 0.03554479562258939]}}} +{"step": 12000, "train_loss": 0.010306483134627342, "val_psnr": 16.57091522216797, "pose_gradient_norm": 0.8923082947731018, "translation_update_mean": 0.008464755490422249, "rotation_update_deg_mean": 0.18408551812171936, "pose_errors": {"raw": {"rotation_deg_mean": 0.4795375265918007, "rotation_deg_max": 1.003598825643401, "translation_mean": 0.034385483064425, "translation_radius_pct_mean": 0.8529988528222812}, "aligned": {"rotation_deg_mean": 0.47885506208064166, "rotation_deg_max": 0.9013567794740321, "translation_mean": 0.018247670135739965, "translation_radius_pct_mean": 0.4526689842717169}, "sim3": {"scale": 0.9946597330122185, "rotation": [[0.9999979031866624, -0.0005062782522774671, -0.0019842642488640235], [0.0005072899668555459, 0.9999997415848714, 0.0005093987437228433], [0.00198400583859434, -0.0005104042729537843, 0.9999979016019542]], "translation": [0.009813892065215546, -0.006081080109086159, 0.035658916763120274]}}} +{"step": 13000, "train_loss": 0.0118185356259346, "val_psnr": 16.82940673828125, "pose_gradient_norm": 1.1007899045944214, "translation_update_mean": 0.008216038346290588, "rotation_update_deg_mean": 0.1659635454416275, "pose_errors": {"raw": {"rotation_deg_mean": 0.4492840122953876, "rotation_deg_max": 0.9522147840276791, "translation_mean": 0.034565071128836916, "translation_radius_pct_mean": 0.857453884401652}, "aligned": {"rotation_deg_mean": 0.4514276969284582, "rotation_deg_max": 0.8422462218434421, "translation_mean": 0.01773460227211403, "translation_radius_pct_mean": 0.439941337017993}, "sim3": {"scale": 0.9944352897364928, "rotation": [[0.9999982034968394, -0.0004473588077249343, -0.0018419753500322957], [0.00044858129027316806, 0.999999679390287, 0.0006633205478288163], [0.0018416780171877768, -0.0006641456318505033, 0.9999980835644935]], "translation": [0.008972428568979784, -0.006183496527879834, 0.03665568686929843]}}} +{"step": 14000, "train_loss": 0.012061020359396935, "val_psnr": 16.152359008789062, "pose_gradient_norm": 0.9548587799072266, "translation_update_mean": 0.008053482510149479, "rotation_update_deg_mean": 0.14891569316387177, "pose_errors": {"raw": {"rotation_deg_mean": 0.43142849393432664, "rotation_deg_max": 0.9316226816903105, "translation_mean": 0.0343691398757833, "translation_radius_pct_mean": 0.8525934282093214}, "aligned": {"rotation_deg_mean": 0.4324623102020642, "rotation_deg_max": 0.8453862086844872, "translation_mean": 0.016336432713827443, "translation_radius_pct_mean": 0.4052570190156849}, "sim3": {"scale": 0.9942416148398845, "rotation": [[0.999998328833226, -0.00042197055078884284, -0.0017788399618991803], [0.00042328708187527896, 0.9999996367656078, 0.0007397950381846204], [0.00177852714404359, -0.000740546761840242, 0.9999981442141239]], "translation": [0.008378440441136226, -0.006471711186780291, 0.03761832989295444]}}} +{"step": 15000, "train_loss": 0.009450169280171394, "val_psnr": 16.01028060913086, "pose_gradient_norm": 1.2480822801589966, "translation_update_mean": 0.0059876334853470325, "rotation_update_deg_mean": 0.14448630809783936, "pose_errors": {"raw": {"rotation_deg_mean": 0.4065686325154479, "rotation_deg_max": 0.8677469585112358, "translation_mean": 0.0346379669779191, "translation_radius_pct_mean": 0.8592622078597262}, "aligned": {"rotation_deg_mean": 0.4085881891550798, "rotation_deg_max": 0.7731592547126536, "translation_mean": 0.01615806405288971, "translation_radius_pct_mean": 0.40083223711355875}, "sim3": {"scale": 0.9938256047472309, "rotation": [[0.9999982909806333, -0.000351262180598977, -0.0018151172675497293], [0.000352479454146957, 0.9999997131915462, 0.0006703544287975086], [0.0018148812768002465, -0.0006709930746924283, 0.9999981279853717]], "translation": [0.00827588606884061, -0.006267085329593511, 0.038686663259198895]}}} +{"step": 16000, "train_loss": 0.01003956887871027, "val_psnr": 16.410066604614258, "pose_gradient_norm": 0.9375060796737671, "translation_update_mean": 0.005983895156532526, "rotation_update_deg_mean": 0.13164597749710083, "pose_errors": {"raw": {"rotation_deg_mean": 0.3979763302785376, "rotation_deg_max": 0.8313803412723434, "translation_mean": 0.03519233636947024, "translation_radius_pct_mean": 0.8730144199239546}, "aligned": {"rotation_deg_mean": 0.3983240576884458, "rotation_deg_max": 0.7443799349226274, "translation_mean": 0.015647657685905626, "translation_radius_pct_mean": 0.38817061346572795}, "sim3": {"scale": 0.9937379569462472, "rotation": [[0.999998561008422, -0.00047446394001884364, -0.0016287618165751218], [0.0004755197443138882, 0.9999996770538367, 0.0006478990617934218], [0.001628453885831368, -0.0006486726378747711, 0.9999984636796939]], "translation": [0.0069021736916647924, -0.006112963291254533, 0.039900954098679886]}}} +{"step": 17000, "train_loss": 0.007931530475616455, "val_psnr": 16.5262508392334, "pose_gradient_norm": 0.5380945205688477, "translation_update_mean": 0.005764794070273638, "rotation_update_deg_mean": 0.11512666195631027, "pose_errors": {"raw": {"rotation_deg_mean": 0.38111938136013074, "rotation_deg_max": 0.8351730409408842, "translation_mean": 0.03563291144504166, "translation_radius_pct_mean": 0.883943742433119}, "aligned": {"rotation_deg_mean": 0.38224911999246936, "rotation_deg_max": 0.7409639061030794, "translation_mean": 0.01499555754041211, "translation_radius_pct_mean": 0.3719939997770665}, "sim3": {"scale": 0.9935902465705403, "rotation": [[0.9999981832732527, -0.00046037417399574977, -0.0018497312816258226], [0.00046157059066837176, 0.9999996845398265, 0.0006464308447795871], [0.0018494330980431887, -0.0006472834519517042, 0.999998080308831]], "translation": [0.00800548032424192, -0.0059642279399528125, 0.040749604974045006]}}} +{"step": 18000, "train_loss": 0.0076622976921498775, "val_psnr": 16.58246612548828, "pose_gradient_norm": 0.8969434499740601, "translation_update_mean": 0.004636547993868589, "rotation_update_deg_mean": 0.1100831925868988, "pose_errors": {"raw": {"rotation_deg_mean": 0.3713051696456909, "rotation_deg_max": 0.8511302034483387, "translation_mean": 0.03641651248007736, "translation_radius_pct_mean": 0.9033824917071501}, "aligned": {"rotation_deg_mean": 0.37143046920022216, "rotation_deg_max": 0.7515772540793809, "translation_mean": 0.014752563549353915, "translation_radius_pct_mean": 0.36596606074166027}, "sim3": {"scale": 0.9931416408191641, "rotation": [[0.9999982005372159, -0.0004495943729611724, -0.0018430375009557424], [0.0004505757435876415, 0.9999997569287313, 0.000532093956236578], [0.0018427978265175933, -0.0005329234267456775, 0.9999981600427039]], "translation": [0.00795481354405747, -0.005110570842934037, 0.041990417091511745]}}} +{"step": 19000, "train_loss": 0.007410008460283279, "val_psnr": 16.25808334350586, "pose_gradient_norm": 0.779641330242157, "translation_update_mean": 0.004387387540191412, "rotation_update_deg_mean": 0.1006944552063942, "pose_errors": {"raw": {"rotation_deg_mean": 0.3639816423582801, "rotation_deg_max": 0.8538611373244063, "translation_mean": 0.03673253632878133, "translation_radius_pct_mean": 0.9112220785439531}, "aligned": {"rotation_deg_mean": 0.36160119147178266, "rotation_deg_max": 0.7509445900894632, "translation_mean": 0.014461440277048878, "translation_radius_pct_mean": 0.3587441811815914}, "sim3": {"scale": 0.9927766942954815, "rotation": [[0.9999982623308135, -0.0004658352833978973, -0.0018050852727024443], [0.00046664066364119527, 0.9999997917644392, 0.0004457774887105032], [0.0018048772379367888, -0.0004466190402863658, 0.9999982714732997]], "translation": [0.00764184353323033, -0.004951627915659368, 0.04282772738792184]}}} +{"step": 20000, "train_loss": 0.007080464623868465, "val_psnr": 16.710092544555664, "pose_gradient_norm": 1.1290597915649414, "translation_update_mean": 0.004390590824186802, "rotation_update_deg_mean": 0.11212146282196045, "pose_errors": {"raw": {"rotation_deg_mean": 0.3434459219664446, "rotation_deg_max": 0.7828600368909676, "translation_mean": 0.0367782499019307, "translation_radius_pct_mean": 0.9123560927260939}, "aligned": {"rotation_deg_mean": 0.3443285442249253, "rotation_deg_max": 0.6791458234833598, "translation_mean": 0.013456822738978467, "translation_radius_pct_mean": 0.33382268725074743}, "sim3": {"scale": 0.9926030657194759, "rotation": [[0.9999981279517126, -0.0004752384531930951, -0.0018756975988532202], [0.0004761237342849783, 0.9999997754705355, 0.00047155600725729945], [0.00187547307615638, -0.00047244818862679993, 0.9999981296949756]], "translation": [0.008040865358371452, -0.005191803300275147, 0.0430018324465018]}}} +{"step": 21000, "train_loss": 0.008072594180703163, "val_psnr": 15.72492790222168, "pose_gradient_norm": 0.8167153000831604, "translation_update_mean": 0.00422160979360342, "rotation_update_deg_mean": 0.09647221118211746, "pose_errors": {"raw": {"rotation_deg_mean": 0.33837313528952856, "rotation_deg_max": 0.7759491084679877, "translation_mean": 0.03651920762083761, "translation_radius_pct_mean": 0.9059300446118104}, "aligned": {"rotation_deg_mean": 0.33552454049915764, "rotation_deg_max": 0.6890657737633075, "translation_mean": 0.012654456843807544, "translation_radius_pct_mean": 0.31391843908758543}, "sim3": {"scale": 0.9925932566762907, "rotation": [[0.9999985214327677, -0.00042204192666375973, -0.0016670371592523204], [0.0004228284144240647, 0.9999997994691198, 0.00047146352282032906], [0.0016668378475861746, -0.00047216769640865834, 0.9999984993535034]], "translation": [0.006776397155315861, -0.005038428158970529, 0.04317195187492073]}}} +{"step": 22000, "train_loss": 0.010101526975631714, "val_psnr": 15.082576751708984, "pose_gradient_norm": 0.9075849652290344, "translation_update_mean": 0.0036004220601171255, "rotation_update_deg_mean": 0.0848793312907219, "pose_errors": {"raw": {"rotation_deg_mean": 0.326868051654915, "rotation_deg_max": 0.7651014890548354, "translation_mean": 0.03706766391385369, "translation_radius_pct_mean": 0.9195355707546112}, "aligned": {"rotation_deg_mean": 0.3237883817564123, "rotation_deg_max": 0.6733594913720364, "translation_mean": 0.012951728291392033, "translation_radius_pct_mean": 0.3212928361053994}, "sim3": {"scale": 0.9923007781590465, "rotation": [[0.9999983763457639, -0.0004043675588930891, -0.0017560730942774668], [0.00040537217956654347, 0.9999997543788396, 0.0005717653857772475], [0.0017558414595754677, -0.0005724763206056416, 0.9999982946443612]], "translation": [0.00699186015688863, -0.0054050512731129985, 0.04390160598357529]}}} +{"step": 23000, "train_loss": 0.007128248456865549, "val_psnr": 15.980297088623047, "pose_gradient_norm": 0.6665442585945129, "translation_update_mean": 0.003604087745770812, "rotation_update_deg_mean": 0.077549509704113, "pose_errors": {"raw": {"rotation_deg_mean": 0.31844155739818647, "rotation_deg_max": 0.7464408723665693, "translation_mean": 0.03741112702801411, "translation_radius_pct_mean": 0.9280558419928163}, "aligned": {"rotation_deg_mean": 0.3161639396432211, "rotation_deg_max": 0.6442081169343463, "translation_mean": 0.012468262170047808, "translation_radius_pct_mean": 0.30929951770087405}, "sim3": {"scale": 0.9921537581504022, "rotation": [[0.9999981716834644, -0.0004337032836315333, -0.001862399310205397], [0.0004345087211949978, 0.9999998122500792, 0.0004320902436586331], [0.001862211561582492, -0.0004328986824034397, 0.9999981723817464]], "translation": [0.00742056291399501, -0.005039287652537375, 0.04458994084163548]}}} +{"step": 24000, "train_loss": 0.0063453237526118755, "val_psnr": 15.678423881530762, "pose_gradient_norm": 0.8736118078231812, "translation_update_mean": 0.0035699191503226757, "rotation_update_deg_mean": 0.07275228202342987, "pose_errors": {"raw": {"rotation_deg_mean": 0.30891880879667943, "rotation_deg_max": 0.7124207937342822, "translation_mean": 0.037417872304236204, "translation_radius_pct_mean": 0.9282231717019449}, "aligned": {"rotation_deg_mean": 0.3047508657415162, "rotation_deg_max": 0.6131195030774628, "translation_mean": 0.011991579807903108, "translation_radius_pct_mean": 0.2974744836506554}, "sim3": {"scale": 0.992080127138872, "rotation": [[0.9999982755092683, -0.000452909429772681, -0.0018010695536379627], [0.00045351023021581485, 0.999999841657967, 0.0003331854021850531], [0.001800918365642513, -0.0003340016310778104, 0.9999983225665678]], "translation": [0.007060323603861496, -0.004327793305041572, 0.04488846393201129]}}} +{"step": 25000, "train_loss": 0.007431777659803629, "val_psnr": 16.457393646240234, "pose_gradient_norm": 1.0782153606414795, "translation_update_mean": 0.003163732821121812, "rotation_update_deg_mean": 0.07065606117248535, "pose_errors": {"raw": {"rotation_deg_mean": 0.3001184311045407, "rotation_deg_max": 0.6789522404156071, "translation_mean": 0.037623361605967284, "translation_radius_pct_mean": 0.9333207339003718}, "aligned": {"rotation_deg_mean": 0.2921563643525491, "rotation_deg_max": 0.5812825267215666, "translation_mean": 0.011994192989556412, "translation_radius_pct_mean": 0.29753930870919265}, "sim3": {"scale": 0.9918067043038447, "rotation": [[0.9999983886685707, -0.0004602395293959741, -0.0017351771775438133], [0.00046081206811275394, 0.9999998395164479, 0.0003295744461186169], [0.001735025215888546, -0.0003303735056487748, 0.9999984402692063]], "translation": [0.006661936401389457, -0.004426876568562707, 0.045263245720588596]}}} +{"step": 26000, "train_loss": 0.0064431107603013515, "val_psnr": 16.025665283203125, "pose_gradient_norm": 0.9295720458030701, "translation_update_mean": 0.00288359634578228, "rotation_update_deg_mean": 0.06761591136455536, "pose_errors": {"raw": {"rotation_deg_mean": 0.29460597942752537, "rotation_deg_max": 0.6837275834277885, "translation_mean": 0.03768423827495032, "translation_radius_pct_mean": 0.9348308981958358}, "aligned": {"rotation_deg_mean": 0.2861670425236336, "rotation_deg_max": 0.5905192424012842, "translation_mean": 0.011450745415302254, "translation_radius_pct_mean": 0.28405803358680115}, "sim3": {"scale": 0.9917733636685531, "rotation": [[0.999998392007993, -0.00039955920437532923, -0.0017482373606538793], [0.0003999042223936097, 0.9999999006324579, 0.00019700681743955596], [0.0017481584710486433, -0.00019770562815636918, 0.9999984524260241]], "translation": [0.006637681667839235, -0.0037554062724476645, 0.045577820139032]}}} +{"step": 27000, "train_loss": 0.005751906894147396, "val_psnr": 15.178709983825684, "pose_gradient_norm": 0.9226071238517761, "translation_update_mean": 0.002688053296878934, "rotation_update_deg_mean": 0.060383390635252, "pose_errors": {"raw": {"rotation_deg_mean": 0.28971104242983026, "rotation_deg_max": 0.649664190353162, "translation_mean": 0.037938259788025126, "translation_radius_pct_mean": 0.9411323963844469}, "aligned": {"rotation_deg_mean": 0.28061416528951905, "rotation_deg_max": 0.5592064402475837, "translation_mean": 0.011160681650738802, "translation_radius_pct_mean": 0.27686243717902753}, "sim3": {"scale": 0.9915386779798059, "rotation": [[0.9999983615886292, -0.0003941820087384483, -0.0017667599165200932], [0.00039454290947554837, 0.9999999013744684, 0.0002039287775283958], [0.0017666793572172334, -0.00020462550600692953, 0.999998418484976]], "translation": [0.006501109222500412, -0.003773406585020428, 0.04598588257264202]}}} +{"step": 28000, "train_loss": 0.006336490623652935, "val_psnr": 15.274897575378418, "pose_gradient_norm": 0.718092143535614, "translation_update_mean": 0.0023746073711663485, "rotation_update_deg_mean": 0.056607380509376526, "pose_errors": {"raw": {"rotation_deg_mean": 0.28225577393121815, "rotation_deg_max": 0.6260106851467002, "translation_mean": 0.03830701336265384, "translation_radius_pct_mean": 0.950280046732795}, "aligned": {"rotation_deg_mean": 0.27400690349950024, "rotation_deg_max": 0.5301823916122165, "translation_mean": 0.011024260805961856, "translation_radius_pct_mean": 0.2734782525253539}, "sim3": {"scale": 0.9914542650767011, "rotation": [[0.999998347601149, -0.00038780270575600504, -0.0017760641973646966], [0.0003882194527988445, 0.999999897192787, 0.00023430764435836637], [0.0017759731496339846, -0.0002349967598594404, 0.9999983953466605]], "translation": [0.006534988945695708, -0.0040428198023861606, 0.0464364917911122]}}} +{"step": 29000, "train_loss": 0.007898010313510895, "val_psnr": 15.223494529724121, "pose_gradient_norm": 0.777902364730835, "translation_update_mean": 0.0024397014640271664, "rotation_update_deg_mean": 0.05595558136701584, "pose_errors": {"raw": {"rotation_deg_mean": 0.2766971220276233, "rotation_deg_max": 0.6380742465020057, "translation_mean": 0.0386376022697671, "translation_radius_pct_mean": 0.9584809482002846}, "aligned": {"rotation_deg_mean": 0.2689705306900838, "rotation_deg_max": 0.5401446690775716, "translation_mean": 0.010752845988793773, "translation_radius_pct_mean": 0.26674527956552746}, "sim3": {"scale": 0.991400390885763, "rotation": [[0.9999982928741767, -0.00039155823293745217, -0.0018058047745321422], [0.0003920399297427237, 0.9999998876671032, 0.00026640284437404264], [0.0018057002594536794, -0.00026711033716770525, 0.9999983340479346]], "translation": [0.006718701764701851, -0.004154754301642555, 0.046811087269896134]}}} +{"step": 29999, "train_loss": 0.005262552760541439, "val_psnr": 16.41904640197754, "pose_gradient_norm": 0.6885887384414673, "translation_update_mean": 0.0023103314451873302, "rotation_update_deg_mean": 0.05405347794294357, "pose_errors": {"raw": {"rotation_deg_mean": 0.2700870145416624, "rotation_deg_max": 0.6194625886217396, "translation_mean": 0.038889592309053235, "translation_radius_pct_mean": 0.9647320517264729}, "aligned": {"rotation_deg_mean": 0.2634725693301638, "rotation_deg_max": 0.5194098115753227, "translation_mean": 0.010648943384723754, "translation_radius_pct_mean": 0.2641677731826473}, "sim3": {"scale": 0.991283776989524, "rotation": [[0.9999982844528617, -0.00040374622832750807, -0.001807783260296205], [0.00040405554552819413, 0.9999999037932947, 0.00017074108078196944], [0.0018077141503079915, -0.00017147123271893486, 0.9999983513822245]], "translation": [0.00668092632549927, -0.0036584039600703333, 0.04714394035456149]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-R2.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-R2.jsonl new file mode 100644 index 0000000..74aa6f0 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-R2.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.342212051153183, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.00539215374737978, "translation_update_mean": 0.001730606541968882, "rotation_update_deg_mean": 0.09919790923595428, "pose_errors": {"raw": {"rotation_deg_mean": 2.0096279031972957, "rotation_deg_max": 2.0993060407313204, "translation_mean": 0.001730618613473676, "translation_radius_pct_mean": 0.04293136406430816}, "aligned": {"rotation_deg_mean": 2.0097317096669274, "rotation_deg_max": 2.1011890472925794, "translation_mean": 0.0017050965848937776, "translation_radius_pct_mean": 0.04229824045631459}, "sim3": {"scale": 1.0000411490848875, "rotation": [[0.9999999979334288, 3.0818823599581115e-05, -5.642112486433794e-05], [-3.08174554629013e-05, 0.9999999992311266, 2.4249367645615707e-05], [5.642187215790273e-05, -2.4247628839955863e-05, 0.9999999981143132]], "translation": [0.00010302057969097111, 2.9569600943524232e-05, -3.0328440403959434e-05]}}} +{"step": 1000, "train_loss": 0.05509686470031738, "val_psnr": 16.34444236755371, "pose_gradient_norm": 1.4026153087615967, "translation_update_mean": 0.05329595506191254, "rotation_update_deg_mean": 2.2833011150360107, "pose_errors": {"raw": {"rotation_deg_mean": 2.30276207133815, "rotation_deg_max": 6.068587229310445, "translation_mean": 0.05356278316248499, "translation_radius_pct_mean": 1.3287291182143617}, "aligned": {"rotation_deg_mean": 2.309886118408823, "rotation_deg_max": 6.13722145400444, "translation_mean": 0.051912476151698056, "translation_radius_pct_mean": 1.2877900398140865}, "sim3": {"scale": 0.999867934421091, "rotation": [[0.9999988561315095, 0.0014865389630595546, -0.0002791730359421938], [-0.001486851646701925, 0.9999982638592775, -0.0011231877009966365], [0.00027750288897820436, 0.0011236015051057887, 0.9999993302556777]], "translation": [-0.0011729360382318754, -0.004344369411779195, 0.011969280391983972]}}} +{"step": 2000, "train_loss": 0.0351877436041832, "val_psnr": 16.05209732055664, "pose_gradient_norm": 1.1418750286102295, "translation_update_mean": 0.03219493478536606, "rotation_update_deg_mean": 1.6233495473861694, "pose_errors": {"raw": {"rotation_deg_mean": 1.4311483278111106, "rotation_deg_max": 5.516636205133402, "translation_mean": 0.055523811841109924, "translation_radius_pct_mean": 1.3773762525321949}, "aligned": {"rotation_deg_mean": 1.433311342557156, "rotation_deg_max": 5.496083059164776, "translation_mean": 0.05265248494513024, "translation_radius_pct_mean": 1.3061473986650116}, "sim3": {"scale": 0.9997317183115895, "rotation": [[0.9999993163212447, 0.0010760205228278904, -0.0004577519828998102], [-0.001076081655360493, 0.9999994121362993, -0.00013332414564470792], [0.00045760825428707607, 0.00013381663300531077, 0.9999998863438914]], "translation": [-0.004153574909564861, -0.0032909058628645543, 0.018238613985927632]}}} +{"step": 3000, "train_loss": 0.027689877897500992, "val_psnr": 17.084117889404297, "pose_gradient_norm": 1.1732110977172852, "translation_update_mean": 0.02415100671350956, "rotation_update_deg_mean": 0.9468144178390503, "pose_errors": {"raw": {"rotation_deg_mean": 0.970218802552995, "rotation_deg_max": 2.99288906893412, "translation_mean": 0.05236845453055415, "translation_radius_pct_mean": 1.2991014712500584}, "aligned": {"rotation_deg_mean": 0.9518312342874328, "rotation_deg_max": 2.9301295917948944, "translation_mean": 0.04901757182083002, "translation_radius_pct_mean": 1.2159763017713756}, "sim3": {"scale": 1.0003701728157608, "rotation": [[0.9999993110049329, 0.0007276314109300508, 0.000921163498660214], [-0.0007275446454845754, 0.9999997308720848, -9.45227364302678e-05], [-0.0009212320284616025, 9.385248373359152e-05, 0.9999995712615403]], "translation": [-0.010331517738177531, -0.0033516476926460093, 0.015844734054718757]}}} +{"step": 4000, "train_loss": 0.027153072878718376, "val_psnr": 16.69546127319336, "pose_gradient_norm": 1.1772992610931396, "translation_update_mean": 0.01868184469640255, "rotation_update_deg_mean": 0.6170845031738281, "pose_errors": {"raw": {"rotation_deg_mean": 0.831214550693025, "rotation_deg_max": 1.8779582596504978, "translation_mean": 0.05224501573686262, "translation_radius_pct_mean": 1.2960393316484315}, "aligned": {"rotation_deg_mean": 0.8129557321048487, "rotation_deg_max": 1.7878982132651382, "translation_mean": 0.04732505957985862, "translation_radius_pct_mean": 1.1739902404666291}, "sim3": {"scale": 1.0007201835212336, "rotation": [[0.999998745711669, 0.0005076097855576701, 0.0015003024345733476], [-0.0005070278429601835, 0.9999997960968257, -0.0003882384242984862], [-0.0015004992022802906, 0.0003874772422283399, 0.9999987991810451]], "translation": [-0.01230159208544579, -0.004131568199883015, 0.016560488116519334]}}} +{"step": 5000, "train_loss": 0.017115911468863487, "val_psnr": 16.697507858276367, "pose_gradient_norm": 0.8032655715942383, "translation_update_mean": 0.01874752715229988, "rotation_update_deg_mean": 0.4382231831550598, "pose_errors": {"raw": {"rotation_deg_mean": 0.748649817186744, "rotation_deg_max": 1.617675205385465, "translation_mean": 0.04636453053497394, "translation_radius_pct_mean": 1.1501624474455452}, "aligned": {"rotation_deg_mean": 0.7119114017928325, "rotation_deg_max": 1.5054918102723285, "translation_mean": 0.0398982923174842, "translation_radius_pct_mean": 0.989754819282809}, "sim3": {"scale": 1.0004677506385584, "rotation": [[0.9999977149193296, 0.0007969591207460779, 0.001983686537546135], [-0.0007988625466399716, 0.9999992211334054, 0.0009589323301046484], [-0.001982920762652351, -0.000960514831746004, 0.9999975727153081]], "translation": [-0.014691705729375837, -0.009029464746350108, 0.017374681757537314]}}} +{"step": 6000, "train_loss": 0.014141963794827461, "val_psnr": 16.91604995727539, "pose_gradient_norm": 0.8915249705314636, "translation_update_mean": 0.014562558382749557, "rotation_update_deg_mean": 0.32961249351501465, "pose_errors": {"raw": {"rotation_deg_mean": 0.6659261184410653, "rotation_deg_max": 1.5980685776273544, "translation_mean": 0.041415891502891204, "translation_radius_pct_mean": 1.0274018217044645}, "aligned": {"rotation_deg_mean": 0.618314826718273, "rotation_deg_max": 1.4677125593239073, "translation_mean": 0.03442677110825087, "translation_radius_pct_mean": 0.8540230831334492}, "sim3": {"scale": 0.9997302883691116, "rotation": [[0.9999977758998009, 0.0006118813893092262, 0.0020183648374656805], [-0.0006151860973576524, 0.999998470715159, 0.001637105191688914], [-0.0020173600366117732, -0.0016383432205902939, 0.9999966230392848]], "translation": [-0.014570072398428058, -0.011595921747688073, 0.01853625399738057]}}} +{"step": 7000, "train_loss": 0.016542386263608932, "val_psnr": 16.253320693969727, "pose_gradient_norm": 1.4092812538146973, "translation_update_mean": 0.013959757052361965, "rotation_update_deg_mean": 0.28457751870155334, "pose_errors": {"raw": {"rotation_deg_mean": 0.6141283433906201, "rotation_deg_max": 1.3860654657667464, "translation_mean": 0.039111980310525714, "translation_radius_pct_mean": 0.9702488190722173}, "aligned": {"rotation_deg_mean": 0.5582153110925345, "rotation_deg_max": 1.2560890328163696, "translation_mean": 0.030828355591998112, "translation_radius_pct_mean": 0.7647573804649552}, "sim3": {"scale": 0.9992059170662176, "rotation": [[0.9999978158698171, 0.0007136938292645589, 0.001964407471274667], [-0.0007172369043230112, 0.9999981164373786, 0.0018035223642644113], [-0.001963116608407977, -0.0018049273706704162, 0.9999964441988628]], "translation": [-0.015015409256042944, -0.012323860426965733, 0.021304321635034817]}}} +{"step": 8000, "train_loss": 0.01218590047210455, "val_psnr": 16.306467056274414, "pose_gradient_norm": 0.7538779973983765, "translation_update_mean": 0.012689277529716492, "rotation_update_deg_mean": 0.24784480035305023, "pose_errors": {"raw": {"rotation_deg_mean": 0.5814500770241091, "rotation_deg_max": 1.252809851711648, "translation_mean": 0.03717125859926468, "translation_radius_pct_mean": 0.9221054386156647}, "aligned": {"rotation_deg_mean": 0.5274297592256635, "rotation_deg_max": 1.145201946395318, "translation_mean": 0.02678423959634808, "translation_radius_pct_mean": 0.6644352096667013}, "sim3": {"scale": 0.9992674176495111, "rotation": [[0.9999976549150608, 0.0007591948578775174, 0.002028247407843833], [-0.0007628802493616914, 0.999998058483613, 0.0018168771918532307], [-0.0020268641061468844, -0.001818420241010097, 0.9999962925779894]], "translation": [-0.015499059226339096, -0.01191315444415482, 0.022078110661452488]}}} +{"step": 9000, "train_loss": 0.015517931431531906, "val_psnr": 17.274324417114258, "pose_gradient_norm": 1.1178922653198242, "translation_update_mean": 0.012365136295557022, "rotation_update_deg_mean": 0.23713508248329163, "pose_errors": {"raw": {"rotation_deg_mean": 0.5235816420423379, "rotation_deg_max": 1.103231844434131, "translation_mean": 0.03696657854445977, "translation_radius_pct_mean": 0.9170279513627715}, "aligned": {"rotation_deg_mean": 0.45457131938007705, "rotation_deg_max": 0.9713684049096082, "translation_mean": 0.02488301054482134, "translation_radius_pct_mean": 0.6172715215234759}, "sim3": {"scale": 0.9993288345701068, "rotation": [[0.9999964546845147, 0.0008378665086946647, 0.0025275676279972563], [-0.0008422766190375468, 0.999998124088826, 0.0017442445142409394], [-0.002526101442443325, -0.0017463672414600644, 0.999995284495361]], "translation": [-0.01860953084427097, -0.011341400556678649, 0.02224836711561906]}}} +{"step": 10000, "train_loss": 0.014160377904772758, "val_psnr": 16.80290985107422, "pose_gradient_norm": 1.081438422203064, "translation_update_mean": 0.009739303961396217, "rotation_update_deg_mean": 0.19724807143211365, "pose_errors": {"raw": {"rotation_deg_mean": 0.5264662904244596, "rotation_deg_max": 1.0705795993828158, "translation_mean": 0.03660386775487185, "translation_radius_pct_mean": 0.9080302040621134}, "aligned": {"rotation_deg_mean": 0.44707180346536, "rotation_deg_max": 0.9195836165790909, "translation_mean": 0.022697766730465932, "translation_radius_pct_mean": 0.5630622942373644}, "sim3": {"scale": 0.9989278103807575, "rotation": [[0.9999959024346236, 0.000908356986884127, 0.0027147746771700493], [-0.0009139483505689262, 0.9999974624517772, 0.002059074651106804], [-0.0027128974134525254, -0.0020615473777522712, 0.9999941950881679]], "translation": [-0.019912992623672243, -0.013491078741699858, 0.023910981450044666]}}} +{"step": 11000, "train_loss": 0.01024032011628151, "val_psnr": 15.934033393859863, "pose_gradient_norm": 0.8137791156768799, "translation_update_mean": 0.008938589133322239, "rotation_update_deg_mean": 0.20085717737674713, "pose_errors": {"raw": {"rotation_deg_mean": 0.5033945342998567, "rotation_deg_max": 1.0579077790767073, "translation_mean": 0.03663882420537265, "translation_radius_pct_mean": 0.9088973668738166}, "aligned": {"rotation_deg_mean": 0.4271683061272873, "rotation_deg_max": 0.9116523213069524, "translation_mean": 0.021812013971693345, "translation_radius_pct_mean": 0.5410894725759211}, "sim3": {"scale": 0.998433807002822, "rotation": [[0.9999960608371492, 0.0010052785269745507, 0.0026206345161578774], [-0.0010116255891120312, 0.9999965558478556, 0.002421756819800586], [-0.0026181909501653217, -0.002424398381042398, 0.9999936336640537]], "translation": [-0.01944526336885055, -0.01458995394293447, 0.025873981565573523]}}} +{"step": 12000, "train_loss": 0.009630926884710789, "val_psnr": 16.71816062927246, "pose_gradient_norm": 1.0532091856002808, "translation_update_mean": 0.007891019806265831, "rotation_update_deg_mean": 0.18108901381492615, "pose_errors": {"raw": {"rotation_deg_mean": 0.47344820393870257, "rotation_deg_max": 1.0803820071513044, "translation_mean": 0.03572962327292083, "translation_radius_pct_mean": 0.8863428676127977}, "aligned": {"rotation_deg_mean": 0.4024864740958239, "rotation_deg_max": 0.9068948734364299, "translation_mean": 0.01971073972253721, "translation_radius_pct_mean": 0.48896327383568666}, "sim3": {"scale": 0.9981125102210977, "rotation": [[0.9999958595626177, 0.0009258374824329577, 0.0027246435688954495], [-0.0009329312606770623, 0.9999961758528606, 0.0026034436652745867], [-0.0027222227837289305, -0.00260597479103871, 0.9999928991740422]], "translation": [-0.020447279632177295, -0.01491777515432434, 0.026564073144845324]}}} +{"step": 13000, "train_loss": 0.01190912164747715, "val_psnr": 16.961137771606445, "pose_gradient_norm": 0.857568085193634, "translation_update_mean": 0.00818291213363409, "rotation_update_deg_mean": 0.1763656884431839, "pose_errors": {"raw": {"rotation_deg_mean": 0.44541056509168575, "rotation_deg_max": 1.071892759275252, "translation_mean": 0.035088087935964574, "translation_radius_pct_mean": 0.8704283345686247}, "aligned": {"rotation_deg_mean": 0.38142569943583937, "rotation_deg_max": 0.9279461906966439, "translation_mean": 0.019089963874656536, "translation_radius_pct_mean": 0.4735637203348713}, "sim3": {"scale": 0.9976164744221435, "rotation": [[0.999996299999214, 0.0007996855640146491, 0.002600094398371911], [-0.0008061557590942934, 0.9999965791048175, 0.0024883511719882975], [-0.0025980956052111784, -0.0024904380461603136, 0.9999935237878126]], "translation": [-0.019847234153799853, -0.013821280555428334, 0.027670138116681287]}}} +{"step": 14000, "train_loss": 0.010553057305514812, "val_psnr": 17.356117248535156, "pose_gradient_norm": 0.7948530912399292, "translation_update_mean": 0.007231497671455145, "rotation_update_deg_mean": 0.1605042666196823, "pose_errors": {"raw": {"rotation_deg_mean": 0.4437369893809853, "rotation_deg_max": 1.0520254823649322, "translation_mean": 0.03512546565437171, "translation_radius_pct_mean": 0.8713555616447333}, "aligned": {"rotation_deg_mean": 0.37309443854233154, "rotation_deg_max": 0.8850183045998677, "translation_mean": 0.01772354134231392, "translation_radius_pct_mean": 0.4396669491196766}, "sim3": {"scale": 0.9970981046096627, "rotation": [[0.9999957902600863, 0.0009449387635613492, 0.0027434563672782183], [-0.0009523651179843356, 0.9999958828640945, 0.002706890382247668], [-0.0027408872264445415, -0.002709491759090086, 0.9999925730682295]], "translation": [-0.020970876183260267, -0.014955732568961475, 0.02869782543191235]}}} +{"step": 15000, "train_loss": 0.008437953889369965, "val_psnr": 16.058753967285156, "pose_gradient_norm": 1.0505753755569458, "translation_update_mean": 0.006484959740191698, "rotation_update_deg_mean": 0.13702283799648285, "pose_errors": {"raw": {"rotation_deg_mean": 0.42212079082545806, "rotation_deg_max": 0.9993216448733605, "translation_mean": 0.03516867005860979, "translation_radius_pct_mean": 0.8724273310069056}, "aligned": {"rotation_deg_mean": 0.3516254522060702, "rotation_deg_max": 0.8426573604985748, "translation_mean": 0.017082440897245574, "translation_radius_pct_mean": 0.42376320441547816}, "sim3": {"scale": 0.9971073012913648, "rotation": [[0.9999958890141752, 0.0010161587795879513, 0.0026813011922144888], [-0.0010236663115250329, 0.9999955558387793, 0.0028000732086467368], [-0.0026784439571052076, -0.0028028064552869476, 0.9999924850787344]], "translation": [-0.020853725784593602, -0.015502671022712883, 0.029327547310077584]}}} +{"step": 16000, "train_loss": 0.011471129953861237, "val_psnr": 16.601787567138672, "pose_gradient_norm": 1.148546814918518, "translation_update_mean": 0.005680286791175604, "rotation_update_deg_mean": 0.1360051929950714, "pose_errors": {"raw": {"rotation_deg_mean": 0.416885113222213, "rotation_deg_max": 0.9654092109256273, "translation_mean": 0.035133370853119385, "translation_radius_pct_mean": 0.8715516654903724}, "aligned": {"rotation_deg_mean": 0.3350502046865674, "rotation_deg_max": 0.7986857042105615, "translation_mean": 0.016143078245486917, "translation_radius_pct_mean": 0.400460484984928}, "sim3": {"scale": 0.9968954262707591, "rotation": [[0.9999953730262947, 0.0009674624761958473, 0.0028840843188823414], [-0.0009753822705966954, 0.9999957543397009, 0.002745893661248976], [-0.0028814155249591482, -0.0027486940407828835, 0.9999920710313865]], "translation": [-0.022161161582125277, -0.015219054912501778, 0.029601735024917808]}}} +{"step": 17000, "train_loss": 0.006576797924935818, "val_psnr": 16.47528648376465, "pose_gradient_norm": 0.7821949124336243, "translation_update_mean": 0.005162862595170736, "rotation_update_deg_mean": 0.11780422180891037, "pose_errors": {"raw": {"rotation_deg_mean": 0.40029254143813014, "rotation_deg_max": 0.9359194086966302, "translation_mean": 0.035209232045311456, "translation_radius_pct_mean": 0.8734335500575408}, "aligned": {"rotation_deg_mean": 0.31536115000251125, "rotation_deg_max": 0.7611230886005773, "translation_mean": 0.015621395126545708, "translation_radius_pct_mean": 0.3875191195499898}, "sim3": {"scale": 0.9967652702225337, "rotation": [[0.9999957167243632, 0.001031212259796578, 0.002739184952293308], [-0.0010385431146332105, 0.999995879634838, 0.0026762177687113626], [-0.0027364139172780986, -0.0026790510674048547, 0.9999926673352424]], "translation": [-0.02185001255902691, -0.01513038833936585, 0.03026929670642753]}}} +{"step": 18000, "train_loss": 0.008794345892965794, "val_psnr": 16.636388778686523, "pose_gradient_norm": 1.0802133083343506, "translation_update_mean": 0.005468272604048252, "rotation_update_deg_mean": 0.11262515932321548, "pose_errors": {"raw": {"rotation_deg_mean": 0.38893190381425624, "rotation_deg_max": 0.8998187392559923, "translation_mean": 0.03492605081428933, "translation_radius_pct_mean": 0.8664086882939268}, "aligned": {"rotation_deg_mean": 0.31245670508369855, "rotation_deg_max": 0.7525475582209172, "translation_mean": 0.014827244453894287, "translation_radius_pct_mean": 0.3678186659757154}, "sim3": {"scale": 0.9964909541156706, "rotation": [[0.9999960184909994, 0.0009797568384810472, 0.0026463330641255203], [-0.000986460865871652, 0.999996304861575, 0.0025332110365548235], [-0.002643841354722053, -0.002535811454558159, 0.9999932898590655]], "translation": [-0.021584407231376668, -0.01441165278478991, 0.030946146624360793]}}} +{"step": 19000, "train_loss": 0.007673555985093117, "val_psnr": 16.74988555908203, "pose_gradient_norm": 0.7738302946090698, "translation_update_mean": 0.004453978501260281, "rotation_update_deg_mean": 0.10166730731725693, "pose_errors": {"raw": {"rotation_deg_mean": 0.37922546851631667, "rotation_deg_max": 0.863950577356583, "translation_mean": 0.03489726613735216, "translation_radius_pct_mean": 0.8656946283413514}, "aligned": {"rotation_deg_mean": 0.29600872030292963, "rotation_deg_max": 0.7124336811075244, "translation_mean": 0.014202882185935198, "translation_radius_pct_mean": 0.3523301443424211}, "sim3": {"scale": 0.9962724416554997, "rotation": [[0.9999958556501403, 0.0009561562613265438, 0.0027155934431121707], [-0.0009631336239955985, 0.999996235721383, 0.002569224919393211], [-0.0027131266403685175, -0.002571829750980402, 0.9999930122933695]], "translation": [-0.022389697472910863, -0.01478614269119194, 0.031196744584066405]}}} +{"step": 20000, "train_loss": 0.007582633290439844, "val_psnr": 16.63983154296875, "pose_gradient_norm": 1.053289771080017, "translation_update_mean": 0.004277646541595459, "rotation_update_deg_mean": 0.09266547113656998, "pose_errors": {"raw": {"rotation_deg_mean": 0.36895812241825354, "rotation_deg_max": 0.7563693793871378, "translation_mean": 0.035192631410461216, "translation_radius_pct_mean": 0.8730217389901538}, "aligned": {"rotation_deg_mean": 0.29087107050029254, "rotation_deg_max": 0.6539660783062656, "translation_mean": 0.013576690850600127, "translation_radius_pct_mean": 0.33679624913183775}, "sim3": {"scale": 0.9961946145294032, "rotation": [[0.9999956775433196, 0.0009689753404642873, 0.0027759649614483785], [-0.000976584077994749, 0.9999957668903936, 0.0027408912476822858], [-0.0027732973544544776, -0.0027435903634809218, 0.9999923907379002]], "translation": [-0.022448591326070078, -0.01566238775381719, 0.03174785957202442]}}} +{"step": 21000, "train_loss": 0.007512358017265797, "val_psnr": 16.62073516845703, "pose_gradient_norm": 0.7681456208229065, "translation_update_mean": 0.004363814368844032, "rotation_update_deg_mean": 0.09530504792928696, "pose_errors": {"raw": {"rotation_deg_mean": 0.3651292308702987, "rotation_deg_max": 0.7054637853485126, "translation_mean": 0.03508837284868507, "translation_radius_pct_mean": 0.8704354023833559}, "aligned": {"rotation_deg_mean": 0.2829201510200686, "rotation_deg_max": 0.6284281029419924, "translation_mean": 0.013197478708697663, "translation_radius_pct_mean": 0.32738915366038457}, "sim3": {"scale": 0.9959243710077514, "rotation": [[0.999995807687794, 0.0009809583478610853, 0.002724394897245194], [-0.0009880882458430718, 0.9999960876307887, 0.00261694568804806], [-0.002721817123687891, -0.0026196266595697897, 0.9999928646083976]], "translation": [-0.022622179448489876, -0.015075489906954842, 0.03229092078807305]}}} +{"step": 22000, "train_loss": 0.008991923183202744, "val_psnr": 15.629016876220703, "pose_gradient_norm": 1.035886287689209, "translation_update_mean": 0.00438061635941267, "rotation_update_deg_mean": 0.09232921153306961, "pose_errors": {"raw": {"rotation_deg_mean": 0.3539054264684364, "rotation_deg_max": 0.7826815469044753, "translation_mean": 0.0353923983425146, "translation_radius_pct_mean": 0.8779773466677919}, "aligned": {"rotation_deg_mean": 0.26748033272065647, "rotation_deg_max": 0.6051280834214318, "translation_mean": 0.01293037573250516, "translation_radius_pct_mean": 0.3207631443107197}, "sim3": {"scale": 0.9960710914743247, "rotation": [[0.9999958260018164, 0.0009861041883967797, 0.0027158014425589256], [-0.000993239903671155, 0.99999605515006, 0.0026273863082663437], [-0.0027131998524867985, -0.002630072783923886, 0.9999928606063715]], "translation": [-0.02298423224959828, -0.01503750383407855, 0.032648621512240794]}}} +{"step": 23000, "train_loss": 0.007369478233158588, "val_psnr": 16.524139404296875, "pose_gradient_norm": 1.0857757329940796, "translation_update_mean": 0.0032739064190536737, "rotation_update_deg_mean": 0.081146240234375, "pose_errors": {"raw": {"rotation_deg_mean": 0.3472546678637318, "rotation_deg_max": 0.7347986614629678, "translation_mean": 0.03555765762838615, "translation_radius_pct_mean": 0.8820769249986401}, "aligned": {"rotation_deg_mean": 0.25872067673568105, "rotation_deg_max": 0.5939642490293542, "translation_mean": 0.012702840168078306, "translation_radius_pct_mean": 0.31511868164405504}, "sim3": {"scale": 0.9957453449138446, "rotation": [[0.9999956983888376, 0.0009318235085437363, 0.0027811703957294166], [-0.0009389979411658906, 0.9999962323399815, 0.0025794551184089988], [-0.0027787563203062315, -0.0025820555358717716, 0.9999928057253813]], "translation": [-0.023396739157987734, -0.014827062640443325, 0.033215257866826775]}}} +{"step": 24000, "train_loss": 0.006392201874405146, "val_psnr": 16.46195411682129, "pose_gradient_norm": 1.007703423500061, "translation_update_mean": 0.003447899129241705, "rotation_update_deg_mean": 0.0732743889093399, "pose_errors": {"raw": {"rotation_deg_mean": 0.33850876352407977, "rotation_deg_max": 0.7267636634110662, "translation_mean": 0.0357563849197002, "translation_radius_pct_mean": 0.8870067423636532}, "aligned": {"rotation_deg_mean": 0.2492601022620493, "rotation_deg_max": 0.5624364448283838, "translation_mean": 0.012006691020826663, "translation_radius_pct_mean": 0.29784934670738183}, "sim3": {"scale": 0.9955089137002577, "rotation": [[0.9999957878854913, 0.0008768664929221346, 0.0027668242499976356], [-0.0008837662748142581, 0.9999965006548729, 0.002493518634546509], [-0.0027646280849846516, -0.0024959533575209937, 0.9999930635001377]], "translation": [-0.02352291377719673, -0.01434294003062861, 0.03392301762459615]}}} +{"step": 25000, "train_loss": 0.006644479930400848, "val_psnr": 15.958656311035156, "pose_gradient_norm": 0.8222154378890991, "translation_update_mean": 0.0031690842006355524, "rotation_update_deg_mean": 0.07348402589559555, "pose_errors": {"raw": {"rotation_deg_mean": 0.32728077990981225, "rotation_deg_max": 0.739515139373631, "translation_mean": 0.03557663933911412, "translation_radius_pct_mean": 0.8825478032889124}, "aligned": {"rotation_deg_mean": 0.23901455600894714, "rotation_deg_max": 0.5701489906234035, "translation_mean": 0.011559146648324319, "translation_radius_pct_mean": 0.2867471372192584}, "sim3": {"scale": 0.9954905847933739, "rotation": [[0.9999957417446453, 0.0009243674830725073, 0.0027680385351491798], [-0.0009311946872600816, 0.999996525437539, 0.0024661689527969576], [-0.002765749271038636, -0.002468736033997888, 0.999993127963069]], "translation": [-0.0235990993138262, -0.014303767491635394, 0.033861892422837325]}}} +{"step": 26000, "train_loss": 0.006803900934755802, "val_psnr": 16.445283889770508, "pose_gradient_norm": 1.0832189321517944, "translation_update_mean": 0.002787026111036539, "rotation_update_deg_mean": 0.06775906682014465, "pose_errors": {"raw": {"rotation_deg_mean": 0.3248895126962229, "rotation_deg_max": 0.638004206208655, "translation_mean": 0.0354568418702383, "translation_radius_pct_mean": 0.8795759938386678}, "aligned": {"rotation_deg_mean": 0.23651848463410882, "rotation_deg_max": 0.6252806453353297, "translation_mean": 0.01108946443365547, "translation_radius_pct_mean": 0.2750957554558288}, "sim3": {"scale": 0.9953399258343171, "rotation": [[0.999995680726489, 0.0009233446745216204, 0.0027903338468190904], [-0.0009299274038829783, 0.9999967857779435, 0.002358743056158932], [-0.0027881469452270178, -0.002361327676012669, 0.9999933251618318]], "translation": [-0.02385345506061154, -0.013798494665802713, 0.03407891865624979]}}} +{"step": 27000, "train_loss": 0.007373628206551075, "val_psnr": 15.53419017791748, "pose_gradient_norm": 1.0717456340789795, "translation_update_mean": 0.0028888119850307703, "rotation_update_deg_mean": 0.06682030856609344, "pose_errors": {"raw": {"rotation_deg_mean": 0.31513366731182896, "rotation_deg_max": 0.6700509939592877, "translation_mean": 0.03535485486157122, "translation_radius_pct_mean": 0.8770460075292476}, "aligned": {"rotation_deg_mean": 0.2264017713470238, "rotation_deg_max": 0.5149744907588564, "translation_mean": 0.01077806383719079, "translation_radius_pct_mean": 0.2673708573918735}, "sim3": {"scale": 0.9952617521994381, "rotation": [[0.9999960680973686, 0.0008496156231454841, 0.0026724414110748168], [-0.0008557149357766768, 0.9999970301437374, 0.002281985024712024], [-0.0026704946641790714, -0.0022842629001995495, 0.9999938252815614]], "translation": [-0.02344011331391843, -0.013306744361371872, 0.03443037480332567]}}} +{"step": 28000, "train_loss": 0.006425017025321722, "val_psnr": 15.54033088684082, "pose_gradient_norm": 0.6669657826423645, "translation_update_mean": 0.0025187910068780184, "rotation_update_deg_mean": 0.05853496864438057, "pose_errors": {"raw": {"rotation_deg_mean": 0.31178327684866824, "rotation_deg_max": 0.6745989690777934, "translation_mean": 0.035668592052930805, "translation_radius_pct_mean": 0.8848288693787087}, "aligned": {"rotation_deg_mean": 0.22433759740158718, "rotation_deg_max": 0.5059095057303481, "translation_mean": 0.010534364766794084, "translation_radius_pct_mean": 0.2613254274907501}, "sim3": {"scale": 0.995196595056474, "rotation": [[0.9999959318726046, 0.0008502256691173384, 0.002722747610919957], [-0.0008564785469296189, 0.9999969969726705, 0.0022961903536985735], [-0.0027207871544546883, -0.002298512987421157, 0.9999936570575377]], "translation": [-0.02378605629198083, -0.013600420038489047, 0.03478758451991659]}}} +{"step": 29000, "train_loss": 0.008677894249558449, "val_psnr": 15.370207786560059, "pose_gradient_norm": 0.9680196046829224, "translation_update_mean": 0.0023838263005018234, "rotation_update_deg_mean": 0.052796509116888046, "pose_errors": {"raw": {"rotation_deg_mean": 0.30899932595619967, "rotation_deg_max": 0.6284682012417977, "translation_mean": 0.03539155555341601, "translation_radius_pct_mean": 0.8779564396433678}, "aligned": {"rotation_deg_mean": 0.220598675844063, "rotation_deg_max": 0.4777704754743984, "translation_mean": 0.009962673710174827, "translation_radius_pct_mean": 0.24714351780080002}, "sim3": {"scale": 0.9949667145796499, "rotation": [[0.9999959758676247, 0.0008614896669374847, 0.0027029768981640923], [-0.0008676442172545158, 0.9999970321230826, 0.002276606803853988], [-0.0027010076028241656, -0.002278942864761907, 0.9999937554691782]], "translation": [-0.023809597664202153, -0.013424996423417004, 0.03485500115113327]}}} +{"step": 29999, "train_loss": 0.004748462699353695, "val_psnr": 16.696670532226562, "pose_gradient_norm": 0.8265755772590637, "translation_update_mean": 0.0020716567523777485, "rotation_update_deg_mean": 0.051577549427747726, "pose_errors": {"raw": {"rotation_deg_mean": 0.30028402066716964, "rotation_deg_max": 0.6331520098996521, "translation_mean": 0.03548056822749285, "translation_radius_pct_mean": 0.880164572323427}, "aligned": {"rotation_deg_mean": 0.21096732084116376, "rotation_deg_max": 0.4869830692580781, "translation_mean": 0.009716444203235673, "translation_radius_pct_mean": 0.2410353154947113}, "sim3": {"scale": 0.9948368192245896, "rotation": [[0.9999960449890603, 0.0008507087023048026, 0.002680727688746407], [-0.0008568660111143024, 0.9999969957716397, 0.0022965688175144786], [-0.0026787659241497255, -0.002298856759001253, 0.999993769715954]], "translation": [-0.023818595760339734, -0.013485065066580523, 0.035205557503954044]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-R5.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-R5.jsonl new file mode 100644 index 0000000..16817ea --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-R5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34217119216918945, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.004960869438946247, "translation_update_mean": 0.001730454503558576, "rotation_update_deg_mean": 0.09921657294034958, "pose_errors": {"raw": {"rotation_deg_mean": 5.004916740122947, "rotation_deg_max": 5.096560067254772, "translation_mean": 0.0017304638509113462, "translation_radius_pct_mean": 0.04292752487764094}, "aligned": {"rotation_deg_mean": 5.0047775492844195, "rotation_deg_max": 5.096138029375951, "translation_mean": 0.0017115579260017163, "translation_radius_pct_mean": 0.04245852660214068}, "sim3": {"scale": 0.9999677725216188, "rotation": [[0.9999999981095089, -2.2181005531995292e-05, 5.734967766226268e-05], [2.2180507561854404e-05, 0.9999999997163098, 8.683669341949064e-06], [-5.734987025850634e-05, -8.682397280698379e-06, 0.9999999983178041]], "translation": [-0.00018187850832124264, 7.088030460805639e-05, 0.00011109779427487254]}}} +{"step": 1000, "train_loss": 0.059622593224048615, "val_psnr": 16.465946197509766, "pose_gradient_norm": 1.5175389051437378, "translation_update_mean": 0.06795671582221985, "rotation_update_deg_mean": 3.4069457054138184, "pose_errors": {"raw": {"rotation_deg_mean": 3.310376599864696, "rotation_deg_max": 6.52023140086662, "translation_mean": 0.06822350061508181, "translation_radius_pct_mean": 1.6924167577099622}, "aligned": {"rotation_deg_mean": 3.2967202085364575, "rotation_deg_max": 6.484730257343637, "translation_mean": 0.06734707367572602, "translation_radius_pct_mean": 1.6706752811556753}, "sim3": {"scale": 0.9961925115599495, "rotation": [[0.9999989788643112, 0.0011801955320710558, 0.0008058590709422307], [-0.0011808291305746745, 0.9999989937520104, 0.000786217228974311], [-0.0008049303699872347, -0.0007871680080060114, 0.9999993662266127]], "translation": [0.00027287809141124386, -0.009209597194782343, 0.01330421143700189]}}} +{"step": 2000, "train_loss": 0.037787459790706635, "val_psnr": 17.090007781982422, "pose_gradient_norm": 1.2505000829696655, "translation_update_mean": 0.03330633416771889, "rotation_update_deg_mean": 1.7620054483413696, "pose_errors": {"raw": {"rotation_deg_mean": 2.182613836786105, "rotation_deg_max": 4.795196456663697, "translation_mean": 0.07067621450404393, "translation_radius_pct_mean": 1.7532611009366104}, "aligned": {"rotation_deg_mean": 2.152007576278625, "rotation_deg_max": 4.816042350314973, "translation_mean": 0.06907123852960544, "translation_radius_pct_mean": 1.7134465471483646}, "sim3": {"scale": 0.9959635264697615, "rotation": [[0.9999980070427872, 0.0019303905782259254, 0.0005094140451843013], [-0.0019314611884931009, 0.9999959095256113, 0.002109594681947309], [-0.0005053396197412777, -0.002110574391072524, 0.9999976450510313]], "translation": [0.0010468729644068087, -0.012770612322887356, 0.011730503372996193]}}} +{"step": 3000, "train_loss": 0.02525334432721138, "val_psnr": 17.970258712768555, "pose_gradient_norm": 0.9251416921615601, "translation_update_mean": 0.02074834704399109, "rotation_update_deg_mean": 1.2002273797988892, "pose_errors": {"raw": {"rotation_deg_mean": 1.4198550763569684, "rotation_deg_max": 2.805122857276154, "translation_mean": 0.069888919132783, "translation_radius_pct_mean": 1.7337307064599754}, "aligned": {"rotation_deg_mean": 1.377793039315771, "rotation_deg_max": 2.810501815894357, "translation_mean": 0.0675919104646441, "translation_radius_pct_mean": 1.676748934379756}, "sim3": {"scale": 0.9958983279180952, "rotation": [[0.999997678798075, 0.0020239724894722867, 0.0007388733474781058], [-0.0020252765482453704, 0.9999963853820701, 0.001768467612605517], [-0.0007352913469368513, -0.0017699599304978504, 0.999998163292553]], "translation": [0.001581957972096204, -0.014513751606915717, 0.010776028581580999]}}} +{"step": 4000, "train_loss": 0.024514848366379738, "val_psnr": 18.58216094970703, "pose_gradient_norm": 1.2522237300872803, "translation_update_mean": 0.019508901983499527, "rotation_update_deg_mean": 0.7881098985671997, "pose_errors": {"raw": {"rotation_deg_mean": 1.0092547258279851, "rotation_deg_max": 2.0629986824263975, "translation_mean": 0.0677003920104896, "translation_radius_pct_mean": 1.67944003032816}, "aligned": {"rotation_deg_mean": 0.9554742703873197, "rotation_deg_max": 2.085345751341733, "translation_mean": 0.06413214747805211, "translation_radius_pct_mean": 1.5909227776533663}, "sim3": {"scale": 0.9954740371695743, "rotation": [[0.9999970883904817, 0.0023401244201907397, 0.0005890910431657725], [-0.0023417587432968583, 0.9999933685719895, 0.0027890819338617524], [-0.0005825603379076822, -0.002790453322245133, 0.9999959369886013]], "translation": [0.002577053228968229, -0.019353846512143016, 0.01129876012819686]}}} +{"step": 5000, "train_loss": 0.018540505319833755, "val_psnr": 18.594594955444336, "pose_gradient_norm": 1.4219228029251099, "translation_update_mean": 0.016387538984417915, "rotation_update_deg_mean": 0.4434315264225006, "pose_errors": {"raw": {"rotation_deg_mean": 0.9024690772826709, "rotation_deg_max": 1.8326198906646352, "translation_mean": 0.06337783793142365, "translation_radius_pct_mean": 1.5722106607771413}, "aligned": {"rotation_deg_mean": 0.833435291004356, "rotation_deg_max": 1.6281807147495049, "translation_mean": 0.058376895219886774, "translation_radius_pct_mean": 1.4481525404366924}, "sim3": {"scale": 0.9948043042820441, "rotation": [[0.9999971640430779, 0.0022532545882807163, 0.0007712000792416334], [-0.002255644154135439, 0.9999926143974512, 0.0031117872679015213], [-0.0007641827345251538, -0.00311351799595735, 0.9999948610020138]], "translation": [0.001790549925631102, -0.021726155985308637, 0.011930422895002124]}}} +{"step": 6000, "train_loss": 0.014236025512218475, "val_psnr": 17.80390167236328, "pose_gradient_norm": 0.7909462451934814, "translation_update_mean": 0.016891291365027428, "rotation_update_deg_mean": 0.3356931507587433, "pose_errors": {"raw": {"rotation_deg_mean": 0.8368688818181933, "rotation_deg_max": 1.7220169215736025, "translation_mean": 0.059536636813335535, "translation_radius_pct_mean": 1.4769221885736283}, "aligned": {"rotation_deg_mean": 0.774064150558734, "rotation_deg_max": 1.5851388888065172, "translation_mean": 0.053655077796632436, "translation_radius_pct_mean": 1.3310186663036503}, "sim3": {"scale": 0.9949059909124676, "rotation": [[0.9999958162890373, 0.0026761433656290862, 0.0010980260057529521], [-0.0026803866829632097, 0.9999888750789476, 0.0038813973735897156], [-0.00108762661446976, -0.0038843242692283048, 0.9999918645135678]], "translation": [-0.0005222169697184365, -0.024703721560777006, 0.012842909735943486]}}} +{"step": 7000, "train_loss": 0.01657089963555336, "val_psnr": 17.679777145385742, "pose_gradient_norm": 1.3220912218093872, "translation_update_mean": 0.014886206947267056, "rotation_update_deg_mean": 0.28222790360450745, "pose_errors": {"raw": {"rotation_deg_mean": 0.8156095346801219, "rotation_deg_max": 1.9256778059996305, "translation_mean": 0.05594970345689799, "translation_radius_pct_mean": 1.3879413232340718}, "aligned": {"rotation_deg_mean": 0.7207178197117869, "rotation_deg_max": 1.7380740489861344, "translation_mean": 0.04815364246117359, "translation_radius_pct_mean": 1.1945448520131827}, "sim3": {"scale": 0.9946296058702813, "rotation": [[0.9999948980988045, 0.002684656312997822, 0.0017310103530163866], [-0.0026923625871488155, 0.9999864072096906, 0.004465039703700756], [-0.0017189997267274553, -0.0044696774310217895, 0.9999885334460609]], "translation": [-0.0032948862384634126, -0.02905850680811259, 0.013540777429946527]}}} +{"step": 8000, "train_loss": 0.012830093502998352, "val_psnr": 17.83530616760254, "pose_gradient_norm": 0.7921791672706604, "translation_update_mean": 0.013467831537127495, "rotation_update_deg_mean": 0.2637384831905365, "pose_errors": {"raw": {"rotation_deg_mean": 0.7344388872805371, "rotation_deg_max": 1.7304369746264139, "translation_mean": 0.05279853851195027, "translation_radius_pct_mean": 1.3097705417429981}, "aligned": {"rotation_deg_mean": 0.6470002050841174, "rotation_deg_max": 1.4794148444320367, "translation_mean": 0.04394526586615343, "translation_radius_pct_mean": 1.0901478772471}, "sim3": {"scale": 0.9943937615132019, "rotation": [[0.9999954503938122, 0.002772456481511484, 0.0011885607826807158], [-0.002778247087932233, 0.9999841438759626, 0.004898299681995446], [-0.0011749616140116434, -0.0049015795121942094, 0.9999872969110601]], "translation": [-0.0006628730272170147, -0.02978025476086442, 0.014616367710952982]}}} +{"step": 9000, "train_loss": 0.014474268071353436, "val_psnr": 18.28066062927246, "pose_gradient_norm": 1.0235137939453125, "translation_update_mean": 0.012092497199773788, "rotation_update_deg_mean": 0.24435608088970184, "pose_errors": {"raw": {"rotation_deg_mean": 0.7124979814063422, "rotation_deg_max": 1.7417917652862678, "translation_mean": 0.04808070701860698, "translation_radius_pct_mean": 1.1927355463616423}, "aligned": {"rotation_deg_mean": 0.6270319970213526, "rotation_deg_max": 1.511098794854103, "translation_mean": 0.039098766682689495, "translation_radius_pct_mean": 0.9699210293080078}, "sim3": {"scale": 0.9946101870111342, "rotation": [[0.9999955023655981, 0.002699185171960959, 0.0013075350788726188], [-0.0027051323344112247, 0.9999859069663107, 0.0045681646006843655], [-0.0012951863295834695, -0.004571681110170378, 0.9999887110483793]], "translation": [-0.0014307726893377781, -0.028895144060960026, 0.014810110553465705]}}} +{"step": 10000, "train_loss": 0.012457374483346939, "val_psnr": 18.05782127380371, "pose_gradient_norm": 0.8939080834388733, "translation_update_mean": 0.011009757407009602, "rotation_update_deg_mean": 0.193669393658638, "pose_errors": {"raw": {"rotation_deg_mean": 0.6681698402459338, "rotation_deg_max": 1.5764638590258209, "translation_mean": 0.04669611005784943, "translation_radius_pct_mean": 1.1583879230656555}, "aligned": {"rotation_deg_mean": 0.5692405799696556, "rotation_deg_max": 1.346235719948331, "translation_mean": 0.03644865271225792, "translation_radius_pct_mean": 0.9041797927404989}, "sim3": {"scale": 0.9946786515513006, "rotation": [[0.9999953009574628, 0.0026734414629600474, 0.0015002578903200742], [-0.002681034176782214, 0.9999834927460575, 0.005081957412113913], [-0.0014866468095235876, -0.005085955774457791, 0.9999859613690205]], "translation": [-0.003042039365606819, -0.03160362392169694, 0.01541450157304558]}}} +{"step": 11000, "train_loss": 0.010716063901782036, "val_psnr": 17.178281784057617, "pose_gradient_norm": 1.1160850524902344, "translation_update_mean": 0.010054048150777817, "rotation_update_deg_mean": 0.18770095705986023, "pose_errors": {"raw": {"rotation_deg_mean": 0.6246515069206303, "rotation_deg_max": 1.5432581997109946, "translation_mean": 0.04555532461976139, "translation_radius_pct_mean": 1.1300885192683532}, "aligned": {"rotation_deg_mean": 0.527611615007347, "rotation_deg_max": 1.3175390808891416, "translation_mean": 0.03472302479021876, "translation_radius_pct_mean": 0.8613722324936463}, "sim3": {"scale": 0.9943826418240711, "rotation": [[0.9999947655069202, 0.0027881994404353235, 0.001641615862668888], [-0.002796850592788217, 0.9999820891798191, 0.005291403058280657], [-0.0016268329729360225, -0.005295966714766579, 0.9999846529577507]], "translation": [-0.0036775619112570657, -0.03255450925099686, 0.016158265624234947]}}} +{"step": 12000, "train_loss": 0.011211724951863289, "val_psnr": 18.128416061401367, "pose_gradient_norm": 1.0251405239105225, "translation_update_mean": 0.009254497475922108, "rotation_update_deg_mean": 0.1844722479581833, "pose_errors": {"raw": {"rotation_deg_mean": 0.602419188876644, "rotation_deg_max": 1.493059131933774, "translation_mean": 0.04348681684261048, "translation_radius_pct_mean": 1.0787751566595503}, "aligned": {"rotation_deg_mean": 0.49209391076762155, "rotation_deg_max": 1.2494095571145596, "translation_mean": 0.031245495495098946, "translation_radius_pct_mean": 0.7751053478948366}, "sim3": {"scale": 0.9946686290257021, "rotation": [[0.9999952413436988, 0.002686646614746586, 0.00151631788407402], [-0.002695006042470833, 0.9999810328656781, 0.005538127059044852], [-0.0015014101335537975, -0.00554218719086149, 0.9999835148284958]], "translation": [-0.0038529138817596786, -0.03426018246175523, 0.015642892142484488]}}} +{"step": 13000, "train_loss": 0.013182533904910088, "val_psnr": 17.594654083251953, "pose_gradient_norm": 0.7625533938407898, "translation_update_mean": 0.008165133185684681, "rotation_update_deg_mean": 0.1710720807313919, "pose_errors": {"raw": {"rotation_deg_mean": 0.5659638529899336, "rotation_deg_max": 1.5043995096732838, "translation_mean": 0.04280501620052195, "translation_radius_pct_mean": 1.061861764328683}, "aligned": {"rotation_deg_mean": 0.44900487132456457, "rotation_deg_max": 1.2395499353021955, "translation_mean": 0.030091467231696485, "translation_radius_pct_mean": 0.7464774300330334}, "sim3": {"scale": 0.9948827902553031, "rotation": [[0.9999955021169417, 0.0026210361069804603, 0.0014580519917675068], [-0.0026294424109387818, 0.9999797592804917, 0.00579370882400454], [-0.0014428369597250111, -0.005797516628324276, 0.9999821533519739]], "translation": [-0.003526884034832478, -0.03529922163825924, 0.016335704237489423]}}} +{"step": 14000, "train_loss": 0.013869312591850758, "val_psnr": 17.98293113708496, "pose_gradient_norm": 1.0311802625656128, "translation_update_mean": 0.0074141975492239, "rotation_update_deg_mean": 0.1587086319923401, "pose_errors": {"raw": {"rotation_deg_mean": 0.5574727008147838, "rotation_deg_max": 1.497516688775096, "translation_mean": 0.04130831234765532, "translation_radius_pct_mean": 1.0247331113120042}, "aligned": {"rotation_deg_mean": 0.42535100028838974, "rotation_deg_max": 1.2419440644852897, "translation_mean": 0.027970278703712492, "translation_radius_pct_mean": 0.6938572188351836}, "sim3": {"scale": 0.9944259260456308, "rotation": [[0.9999956289171464, 0.0025688041037389793, 0.0014640328132144813], [-0.002576834090548347, 0.9999815019232787, 0.0055096040996659166], [-0.0014498526378021355, -0.005513352586392796, 0.9999837503032681]], "translation": [-0.0037654086991559255, -0.033903587252117076, 0.016895596586240735]}}} +{"step": 15000, "train_loss": 0.00940687395632267, "val_psnr": 17.488170623779297, "pose_gradient_norm": 1.02426278591156, "translation_update_mean": 0.007598917931318283, "rotation_update_deg_mean": 0.14375250041484833, "pose_errors": {"raw": {"rotation_deg_mean": 0.5402593687175922, "rotation_deg_max": 1.3386953331326574, "translation_mean": 0.04004806259486231, "translation_radius_pct_mean": 0.993470162602286}, "aligned": {"rotation_deg_mean": 0.40252632236124325, "rotation_deg_max": 1.0881134130929098, "translation_mean": 0.025642006864264225, "translation_radius_pct_mean": 0.636099902924083}, "sim3": {"scale": 0.9943547704684478, "rotation": [[0.9999954924022821, 0.0026334335922192126, 0.0014422907586744247], [-0.0026414076297546904, 0.9999810821961072, 0.005555017158886316], [-0.0014276347049090596, -0.005558801796917978, 0.9999835306552459]], "translation": [-0.0035314436240005964, -0.03443666425675085, 0.016688558745049153]}}} +{"step": 16000, "train_loss": 0.011342293582856655, "val_psnr": 18.049726486206055, "pose_gradient_norm": 0.9014999866485596, "translation_update_mean": 0.0064933765679597855, "rotation_update_deg_mean": 0.15203844010829926, "pose_errors": {"raw": {"rotation_deg_mean": 0.5270644492029738, "rotation_deg_max": 1.4775728161076707, "translation_mean": 0.03915428283293763, "translation_radius_pct_mean": 0.9712982154998098}, "aligned": {"rotation_deg_mean": 0.38292725665536503, "rotation_deg_max": 1.2033358414067399, "translation_mean": 0.024177766849403443, "translation_radius_pct_mean": 0.5997765786132803}, "sim3": {"scale": 0.9943404577732918, "rotation": [[0.9999954534400478, 0.0026092282004268686, 0.0015116307192785561], [-0.002617685668263841, 0.9999807801724983, 0.005620231965188207], [-0.0014969371982602923, -0.00562416338653618, 0.9999830638391954]], "translation": [-0.003876444448548455, -0.034767952575224664, 0.017046112933496893]}}} +{"step": 17000, "train_loss": 0.00688428757712245, "val_psnr": 17.437240600585938, "pose_gradient_norm": 0.6772972941398621, "translation_update_mean": 0.006360371597111225, "rotation_update_deg_mean": 0.12750397622585297, "pose_errors": {"raw": {"rotation_deg_mean": 0.5027895571116775, "rotation_deg_max": 1.3129236175551566, "translation_mean": 0.03840492465058176, "translation_radius_pct_mean": 0.9527089268542227}, "aligned": {"rotation_deg_mean": 0.3519718691333502, "rotation_deg_max": 1.0541687768006966, "translation_mean": 0.022674172673699283, "translation_radius_pct_mean": 0.5624769977237843}, "sim3": {"scale": 0.9939865174060087, "rotation": [[0.9999954802137557, 0.002603828470301105, 0.001503206358883414], [-0.0026122263870868093, 0.9999808406676343, 0.005612002401496961], [-0.0014885648668247276, -0.005615903751761591, 0.9999831227574233]], "translation": [-0.004177858936932233, -0.034919416766454284, 0.01709715953969715]}}} +{"step": 18000, "train_loss": 0.008594396524131298, "val_psnr": 18.138320922851562, "pose_gradient_norm": 1.2698705196380615, "translation_update_mean": 0.005423248279839754, "rotation_update_deg_mean": 0.11633548140525818, "pose_errors": {"raw": {"rotation_deg_mean": 0.49073878128930754, "rotation_deg_max": 1.1915242059301325, "translation_mean": 0.037059779440171234, "translation_radius_pct_mean": 0.9193399810345647}, "aligned": {"rotation_deg_mean": 0.3360253203417921, "rotation_deg_max": 0.9479394815983135, "translation_mean": 0.021033511180511697, "translation_radius_pct_mean": 0.5217771951665069}, "sim3": {"scale": 0.9939256037912637, "rotation": [[0.9999952301162106, 0.0025803777067919687, 0.0016974674424697347], [-0.002589675832352662, 0.9999815301674118, 0.00549844551902964], [-0.001683248024291099, -0.0055028151824954, 0.9999834427135073]], "translation": [-0.005096476929683069, -0.03416968305629042, 0.016777562723341966]}}} +{"step": 19000, "train_loss": 0.008409475907683372, "val_psnr": 17.916412353515625, "pose_gradient_norm": 1.0294814109802246, "translation_update_mean": 0.005013583693653345, "rotation_update_deg_mean": 0.10490044206380844, "pose_errors": {"raw": {"rotation_deg_mean": 0.49076015680383, "rotation_deg_max": 1.1591051223777187, "translation_mean": 0.03599869672907315, "translation_radius_pct_mean": 0.8930177585542112}, "aligned": {"rotation_deg_mean": 0.32281254028538764, "rotation_deg_max": 0.8997255957788769, "translation_mean": 0.019554730416007707, "translation_radius_pct_mean": 0.4850931592512868}, "sim3": {"scale": 0.9937998866392311, "rotation": [[0.9999954245979713, 0.0025481414281770796, 0.0016302632868102382], [-0.0025568879179053076, 0.9999822282311578, 0.0053856797179074505], [-0.001616510840539831, -0.005389823476758711, 0.9999841682224728]], "translation": [-0.005020345856828867, -0.03386523230390888, 0.017030860855470564]}}} +{"step": 20000, "train_loss": 0.007656361907720566, "val_psnr": 18.243453979492188, "pose_gradient_norm": 0.9546128511428833, "translation_update_mean": 0.005007898900657892, "rotation_update_deg_mean": 0.09643270075321198, "pose_errors": {"raw": {"rotation_deg_mean": 0.469887380840392, "rotation_deg_max": 1.1962285126057501, "translation_mean": 0.036195838684849754, "translation_radius_pct_mean": 0.8979082485847137}, "aligned": {"rotation_deg_mean": 0.3077677054378602, "rotation_deg_max": 0.943109507979188, "translation_mean": 0.01873426543392587, "translation_radius_pct_mean": 0.464739928000023}, "sim3": {"scale": 0.993399298373521, "rotation": [[0.999995553640472, 0.0024986487385724914, 0.0016277142767400726], [-0.0025075191997694637, 0.9999818923352937, 0.005470589455301263], [-0.0016140157211939612, -0.0054746466558944894, 0.9999837114659638]], "translation": [-0.005073307677081584, -0.034037924640223094, 0.017802764788428682]}}} +{"step": 21000, "train_loss": 0.008015681058168411, "val_psnr": 18.216140747070312, "pose_gradient_norm": 0.6465824246406555, "translation_update_mean": 0.004412001930177212, "rotation_update_deg_mean": 0.09386657178401947, "pose_errors": {"raw": {"rotation_deg_mean": 0.47049857061477474, "rotation_deg_max": 1.109279722191476, "translation_mean": 0.03594760742670375, "translation_radius_pct_mean": 0.8917503889427115}, "aligned": {"rotation_deg_mean": 0.3004861390572655, "rotation_deg_max": 0.8807462941771238, "translation_mean": 0.017761306777832244, "translation_radius_pct_mean": 0.44060379427357793}, "sim3": {"scale": 0.9932985059610827, "rotation": [[0.9999958566679673, 0.0024603109371760788, 0.0014944955638379722], [-0.0024684721866993216, 0.9999819171406351, 0.0054837976625717105], [-0.0014809766917182675, -0.005487464062109709, 0.999983847092644]], "translation": [-0.004651246543268095, -0.034364999773789026, 0.01813976719902488]}}} +{"step": 22000, "train_loss": 0.008302951231598854, "val_psnr": 17.25777244567871, "pose_gradient_norm": 0.9101629257202148, "translation_update_mean": 0.003932028077542782, "rotation_update_deg_mean": 0.08791482448577881, "pose_errors": {"raw": {"rotation_deg_mean": 0.4511823638517582, "rotation_deg_max": 1.0695849908687516, "translation_mean": 0.03603513223844493, "translation_radius_pct_mean": 0.8939216123008021}, "aligned": {"rotation_deg_mean": 0.28148350916222253, "rotation_deg_max": 0.8350875960743982, "translation_mean": 0.01730591715694552, "translation_radius_pct_mean": 0.4293069681252947}, "sim3": {"scale": 0.993141211247847, "rotation": [[0.9999957126225028, 0.0024642572714147775, 0.0015818257530471115], [-0.0024731060676890628, 0.9999811681824649, 0.0056166739988891745], [-0.0015679550346501248, -0.0056205619409553575, 0.9999829752553168]], "translation": [-0.005036933180290637, -0.034674620800554154, 0.018481331545948]}}} +{"step": 23000, "train_loss": 0.007268249988555908, "val_psnr": 17.65921401977539, "pose_gradient_norm": 0.9188567996025085, "translation_update_mean": 0.003718560328707099, "rotation_update_deg_mean": 0.08130893856287003, "pose_errors": {"raw": {"rotation_deg_mean": 0.4544045078887444, "rotation_deg_max": 0.9902815137958214, "translation_mean": 0.035615124923704916, "translation_radius_pct_mean": 0.8835025131426212}, "aligned": {"rotation_deg_mean": 0.2778070039392032, "rotation_deg_max": 0.7555330192816987, "translation_mean": 0.016324730253473054, "translation_radius_pct_mean": 0.40496671670296797}, "sim3": {"scale": 0.9929522903212266, "rotation": [[0.9999959140017468, 0.0024041138233486243, 0.0015466791960346503], [-0.0024124264319956667, 0.9999825355258208, 0.005395261074321439], [-0.0015336813623664357, -0.005398970279068483, 0.9999842493466607]], "translation": [-0.004899793752749848, -0.03380915884404884, 0.01869946241241971]}}} +{"step": 24000, "train_loss": 0.006233289837837219, "val_psnr": 17.43709373474121, "pose_gradient_norm": 0.654635488986969, "translation_update_mean": 0.0031142185907810926, "rotation_update_deg_mean": 0.07558362931013107, "pose_errors": {"raw": {"rotation_deg_mean": 0.4461199594863722, "rotation_deg_max": 1.0041980381012339, "translation_mean": 0.03557071768651333, "translation_radius_pct_mean": 0.8824009051672306}, "aligned": {"rotation_deg_mean": 0.2721796767443054, "rotation_deg_max": 0.7551721768805216, "translation_mean": 0.015846702888474735, "translation_radius_pct_mean": 0.393108317238367}, "sim3": {"scale": 0.9928094038241855, "rotation": [[0.9999961095143264, 0.002369673129983346, 0.0014715996288831468], [-0.0023775284531165155, 0.9999828122691118, 0.005359339960510735], [-0.0014588744515258586, -0.005362817880064636, 0.9999845558155983]], "translation": [-0.0046340753668697166, -0.03368620781596374, 0.019239274328676448]}}} +{"step": 25000, "train_loss": 0.006988709792494774, "val_psnr": 17.21743392944336, "pose_gradient_norm": 0.7943738698959351, "translation_update_mean": 0.003216494806110859, "rotation_update_deg_mean": 0.07109498977661133, "pose_errors": {"raw": {"rotation_deg_mean": 0.4343341102807882, "rotation_deg_max": 1.0189836101192746, "translation_mean": 0.03545539703470502, "translation_radius_pct_mean": 0.8795401518803014}, "aligned": {"rotation_deg_mean": 0.25463412980589933, "rotation_deg_max": 0.7672816143572636, "translation_mean": 0.015177532837694177, "translation_radius_pct_mean": 0.3765082513155069}, "sim3": {"scale": 0.9927441948494693, "rotation": [[0.9999961555233645, 0.0023234005048519617, 0.0015135219139780479], [-0.0023314763256451175, 0.9999829383293709, 0.0053560496916696156], [-0.0015010518422079108, -0.005359557840972518, 0.9999845108716005]], "translation": [-0.004842088743116757, -0.033650047375636025, 0.019178283214869474]}}} +{"step": 26000, "train_loss": 0.005988255143165588, "val_psnr": 17.767345428466797, "pose_gradient_norm": 0.7492798566818237, "translation_update_mean": 0.00294000213034451, "rotation_update_deg_mean": 0.06577274948358536, "pose_errors": {"raw": {"rotation_deg_mean": 0.4284867470986517, "rotation_deg_max": 0.9643928048301506, "translation_mean": 0.03546022331149134, "translation_radius_pct_mean": 0.879659877072308}, "aligned": {"rotation_deg_mean": 0.24951148237297915, "rotation_deg_max": 0.7193611422312024, "translation_mean": 0.014351817134715696, "translation_radius_pct_mean": 0.3560247657097256}, "sim3": {"scale": 0.9925785168467491, "rotation": [[0.9999960110217109, 0.0023325513414105474, 0.0015928417704398942], [-0.0023411361602811913, 0.9999826296757127, 0.005409198491970268], [-0.0015801968690634883, -0.0054129059742613166, 0.9999841015870051]], "translation": [-0.005282656559165877, -0.03388309877940429, 0.019316019862905875]}}} +{"step": 27000, "train_loss": 0.006465996615588665, "val_psnr": 17.02490234375, "pose_gradient_norm": 0.8544662594795227, "translation_update_mean": 0.0024670069105923176, "rotation_update_deg_mean": 0.0604301281273365, "pose_errors": {"raw": {"rotation_deg_mean": 0.4280218705242131, "rotation_deg_max": 0.9758175561518527, "translation_mean": 0.035584952834398505, "translation_radius_pct_mean": 0.8827540357250611}, "aligned": {"rotation_deg_mean": 0.24220764587604013, "rotation_deg_max": 0.7268485956967287, "translation_mean": 0.013964145305345597, "translation_radius_pct_mean": 0.3464078112203954}, "sim3": {"scale": 0.9924454697311703, "rotation": [[0.9999960774585507, 0.002300891768489708, 0.0015971739362548609], [-0.0023095004628028554, 0.9999827032321121, 0.005409199960292367], [-0.001584700326645279, -0.005412867416426276, 0.9999840946691141]], "translation": [-0.0054542188508927, -0.03382634124607499, 0.01962649594999144]}}} +{"step": 28000, "train_loss": 0.00648743100464344, "val_psnr": 17.338661193847656, "pose_gradient_norm": 0.8207039833068848, "translation_update_mean": 0.00255342829041183, "rotation_update_deg_mean": 0.058194100856781006, "pose_errors": {"raw": {"rotation_deg_mean": 0.42234615753209986, "rotation_deg_max": 0.8902284278304372, "translation_mean": 0.03542016805469014, "translation_radius_pct_mean": 0.8786662284434111}, "aligned": {"rotation_deg_mean": 0.23332234485311887, "rotation_deg_max": 0.6485715353729985, "translation_mean": 0.013751944123174615, "translation_radius_pct_mean": 0.3411437477602357}, "sim3": {"scale": 0.9924199334377679, "rotation": [[0.9999960837187769, 0.0023055147720531612, 0.001586552471795093], [-0.002314002560300623, 0.9999829097143823, 0.005368954396267962], [-0.0015741471534892132, -0.005372604656414477, 0.9999843284671749]], "translation": [-0.005432821113536823, -0.03372002778610171, 0.01991114391613591]}}} +{"step": 29000, "train_loss": 0.007953774183988571, "val_psnr": 16.81975746154785, "pose_gradient_norm": 0.6678293347358704, "translation_update_mean": 0.0020704225171357393, "rotation_update_deg_mean": 0.05178169906139374, "pose_errors": {"raw": {"rotation_deg_mean": 0.4178035782152277, "rotation_deg_max": 0.9182364694795561, "translation_mean": 0.035459448526764754, "translation_radius_pct_mean": 0.8796406570287297}, "aligned": {"rotation_deg_mean": 0.2305313644324539, "rotation_deg_max": 0.6764301121540617, "translation_mean": 0.013218443262603635, "translation_radius_pct_mean": 0.3279092202361025}, "sim3": {"scale": 0.9923095743783469, "rotation": [[0.9999962470555036, 0.0022500939615846052, 0.0015629945848669958], [-0.00225852750368289, 0.9999827876435036, 0.005415114979573202], [-0.0015507831645301968, -0.005418624723205154, 0.9999841166627028]], "translation": [-0.0054613487708354835, -0.03385733289188726, 0.02012117703433569]}}} +{"step": 29999, "train_loss": 0.00538098718971014, "val_psnr": 18.669641494750977, "pose_gradient_norm": 0.9176908135414124, "translation_update_mean": 0.002033545868471265, "rotation_update_deg_mean": 0.05236746743321419, "pose_errors": {"raw": {"rotation_deg_mean": 0.41562610770552155, "rotation_deg_max": 0.8857986493141679, "translation_mean": 0.035485027660022636, "translation_radius_pct_mean": 0.8802751972294381}, "aligned": {"rotation_deg_mean": 0.22216747809338858, "rotation_deg_max": 0.6640230844569729, "translation_mean": 0.012885455257279061, "translation_radius_pct_mean": 0.3196488044666552}, "sim3": {"scale": 0.9921991478559729, "rotation": [[0.9999962068903497, 0.0022552684381011217, 0.0015811290856592901], [-0.002263804250466444, 0.9999827616428316, 0.005417712385513353], [-0.0015688834338416344, -0.0054212712022808605, 0.9999840740848437]], "translation": [-0.0055689752561467465, -0.033900127342386274, 0.020240735847813607]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-T0.5.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-T0.5.jsonl new file mode 100644 index 0000000..b231780 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-T0.5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421424925327301, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.005819340702146292, "translation_update_mean": 0.0017301937332376838, "rotation_update_deg_mean": 0.09921528398990631, "pose_errors": {"raw": {"rotation_deg_mean": 0.10164007990538401, "rotation_deg_max": 0.11054999088049688, "translation_mean": 0.015992803744457246, "translation_radius_pct_mean": 0.3967326334160963}, "aligned": {"rotation_deg_mean": 0.1082386163038308, "rotation_deg_max": 0.13806400654135892, "translation_mean": 0.015837415579138824, "translation_radius_pct_mean": 0.39287792744874284}, "sim3": {"scale": 1.0000416764428575, "rotation": [[0.9999997565304917, -0.0002662377067174321, 0.0006450243724092839], [0.0002662203224623768, 0.9999999641978689, 2.7037024945661204e-05], [-0.0006450315475916371, -2.6865299766511928e-05, 0.999999791606258]], "translation": [-0.000717413164025793, 0.0004105746071382116, 0.00012349904440878134]}}} +{"step": 1000, "train_loss": 0.05417947843670845, "val_psnr": 16.753490447998047, "pose_gradient_norm": 1.3451040983200073, "translation_update_mean": 0.05201033502817154, "rotation_update_deg_mean": 1.8559012413024902, "pose_errors": {"raw": {"rotation_deg_mean": 1.865302904180121, "rotation_deg_max": 8.92622172111579, "translation_mean": 0.05330512896130743, "translation_radius_pct_mean": 1.3223375041248482}, "aligned": {"rotation_deg_mean": 1.8676785813999413, "rotation_deg_max": 8.90382521726813, "translation_mean": 0.05272469622106962, "translation_radius_pct_mean": 1.3079387399534768}, "sim3": {"scale": 0.999886034919214, "rotation": [[0.999997348477561, 0.000564786419471565, 0.002232499529153531], [-0.0005667579136681463, 0.9999994499415237, 0.0008825543142374797], [-0.002231999846457126, -0.0008838172609003607, 0.9999971185177158]], "translation": [-0.0036610280080597857, -0.006074510977773645, 0.006504829515487476]}}} +{"step": 2000, "train_loss": 0.031041499227285385, "val_psnr": 16.568931579589844, "pose_gradient_norm": 1.1740344762802124, "translation_update_mean": 0.030468448996543884, "rotation_update_deg_mean": 1.460386037826538, "pose_errors": {"raw": {"rotation_deg_mean": 1.0799436292341777, "rotation_deg_max": 3.695351554262285, "translation_mean": 0.04515354118597426, "translation_radius_pct_mean": 1.120121498957448}, "aligned": {"rotation_deg_mean": 1.0797443568306222, "rotation_deg_max": 3.7095198673891634, "translation_mean": 0.04467996389264825, "translation_radius_pct_mean": 1.1083734921845634}, "sim3": {"scale": 1.0000156009400134, "rotation": [[0.9999987922893846, -0.00012168180655469922, 0.0015493912707131787], [0.00012150504146814834, 0.9999999860996787, 0.00011418041471689588], [-0.0015494051428552136, -0.00011399201796943684, 0.9999987931740325]], "translation": [-0.0031669641573625062, -0.001106026456851275, 0.005526242778205681]}}} +{"step": 3000, "train_loss": 0.026404425501823425, "val_psnr": 18.69466209411621, "pose_gradient_norm": 1.2532299757003784, "translation_update_mean": 0.02279278077185154, "rotation_update_deg_mean": 0.8871727585792542, "pose_errors": {"raw": {"rotation_deg_mean": 0.6526808664462025, "rotation_deg_max": 1.7339375091098244, "translation_mean": 0.04338867011980848, "translation_radius_pct_mean": 1.076340436117701}, "aligned": {"rotation_deg_mean": 0.6510705210458251, "rotation_deg_max": 1.701190319420098, "translation_mean": 0.04272866990546632, "translation_radius_pct_mean": 1.059967845840533}, "sim3": {"scale": 0.999823633065542, "rotation": [[0.9999997247597067, 2.044414091597308e-06, 0.0007419409219008061], [-2.506260438497394e-06, 0.9999998062539267, 0.0006224835968576478], [-0.0007419395055385246, -0.0006224852850222486, 0.9999995310188105]], "translation": [0.0011693663916645392, 0.00192613175630435, 0.005180266686583668]}}} +{"step": 4000, "train_loss": 0.022575337439775467, "val_psnr": 18.413002014160156, "pose_gradient_norm": 0.9762750864028931, "translation_update_mean": 0.018607165664434433, "rotation_update_deg_mean": 0.5069637298583984, "pose_errors": {"raw": {"rotation_deg_mean": 0.590981875392248, "rotation_deg_max": 1.2959377694972012, "translation_mean": 0.041990273991138034, "translation_radius_pct_mean": 1.0416504975959093}, "aligned": {"rotation_deg_mean": 0.5979881963638928, "rotation_deg_max": 1.3082830399617948, "translation_mean": 0.0409641887090523, "translation_radius_pct_mean": 1.0161964544790196}, "sim3": {"scale": 0.9996610915367222, "rotation": [[0.9999989670042672, -0.0002602205661659036, 0.0014136037831983385], [0.00025806580865256665, 0.9999988050015516, 0.001524269499752885], [-0.0014139987402162595, -0.0015239031223855948, 0.9999978391610839]], "translation": [-0.00046865831793768686, -0.0016261323671674238, 0.008254640231490029]}}} +{"step": 5000, "train_loss": 0.019203469157218933, "val_psnr": 19.52703094482422, "pose_gradient_norm": 0.9745262265205383, "translation_update_mean": 0.020240655168890953, "rotation_update_deg_mean": 0.3966658413410187, "pose_errors": {"raw": {"rotation_deg_mean": 0.5290430700822274, "rotation_deg_max": 1.2071624015818994, "translation_mean": 0.03591013531354198, "translation_radius_pct_mean": 0.8908208202209364}, "aligned": {"rotation_deg_mean": 0.5322137695180783, "rotation_deg_max": 1.1675120937315857, "translation_mean": 0.034537246890959376, "translation_radius_pct_mean": 0.8567636500098383}, "sim3": {"scale": 0.9989743773027085, "rotation": [[0.9999995309704954, 0.00016015158242040125, 0.0009552016853716039], [-0.0001613972511036151, 0.9999991365646725, 0.0013041552196979855], [-0.0009549919980945775, -0.0013043087749370417, 0.9999986933835979]], "translation": [0.0018934338687354169, -0.000987965919114972, 0.010599016944262463]}}} +{"step": 6000, "train_loss": 0.014204778708517551, "val_psnr": 19.233585357666016, "pose_gradient_norm": 1.43312668800354, "translation_update_mean": 0.014261807315051556, "rotation_update_deg_mean": 0.3352468013763428, "pose_errors": {"raw": {"rotation_deg_mean": 0.49328019554309743, "rotation_deg_max": 0.93836490473538, "translation_mean": 0.033297950678906056, "translation_radius_pct_mean": 0.8260204946728069}, "aligned": {"rotation_deg_mean": 0.49723247940979287, "rotation_deg_max": 0.9242250548259253, "translation_mean": 0.0309096304108325, "translation_radius_pct_mean": 0.7667735605808251}, "sim3": {"scale": 0.9983327913007143, "rotation": [[0.9999997678013294, 0.00011930073083500457, 0.0006709430849692908], [-0.00012031444340063014, 0.9999988511409562, 0.0015110397755478122], [-0.0006707620460008017, -0.0015111201488301933, 0.9999986332961537]], "translation": [0.0030895871314443046, -0.0007826978129120976, 0.013133649293557426]}}} +{"step": 7000, "train_loss": 0.016397491097450256, "val_psnr": 18.708393096923828, "pose_gradient_norm": 1.081389307975769, "translation_update_mean": 0.013438562862575054, "rotation_update_deg_mean": 0.3144527077674866, "pose_errors": {"raw": {"rotation_deg_mean": 0.4233426340588835, "rotation_deg_max": 0.9427663873091976, "translation_mean": 0.029108397550498957, "translation_radius_pct_mean": 0.7220904726436395}, "aligned": {"rotation_deg_mean": 0.4275692194826807, "rotation_deg_max": 0.9535349471587893, "translation_mean": 0.025838224764339734, "translation_radius_pct_mean": 0.6409674699538674}, "sim3": {"scale": 0.9986396061555397, "rotation": [[0.9999999669713964, 0.0002493131330701174, 6.245133212151168e-05], [-0.000249396795994602, 0.9999990667483538, 0.00134324370839152], [-6.211638554130307e-05, -0.0013432592391882535, 0.9999990958976774]], "translation": [0.005890227926594438, -0.00022568400368559727, 0.013619868857632333]}}} +{"step": 8000, "train_loss": 0.012290753424167633, "val_psnr": 18.694091796875, "pose_gradient_norm": 0.6498395204544067, "translation_update_mean": 0.013131818734109402, "rotation_update_deg_mean": 0.2614539563655853, "pose_errors": {"raw": {"rotation_deg_mean": 0.3757197923058289, "rotation_deg_max": 0.8461934000660774, "translation_mean": 0.02735541651567116, "translation_radius_pct_mean": 0.6786043651800411}, "aligned": {"rotation_deg_mean": 0.3780641106830178, "rotation_deg_max": 0.8520324288516412, "translation_mean": 0.02339028467597577, "translation_radius_pct_mean": 0.5802415501452125}, "sim3": {"scale": 0.9987762113453073, "rotation": [[0.9999999586057162, 0.00026095365178532056, 0.00012120956250196237], [-0.0002611063174314154, 0.9999991705801842, 0.001261214666790758], [-0.0001208803433954709, -0.0012612462631661765, 0.9999991973225819]], "translation": [0.00557294782868234, 0.0008683049268819049, 0.014193433090736285]}}} +{"step": 9000, "train_loss": 0.01568666659295559, "val_psnr": 19.721187591552734, "pose_gradient_norm": 0.971945583820343, "translation_update_mean": 0.011656519956886768, "rotation_update_deg_mean": 0.23036211729049683, "pose_errors": {"raw": {"rotation_deg_mean": 0.34722506524128943, "rotation_deg_max": 0.7644053232249792, "translation_mean": 0.025097528323836795, "translation_radius_pct_mean": 0.622593052678566}, "aligned": {"rotation_deg_mean": 0.34981210926032746, "rotation_deg_max": 0.7243759075412619, "translation_mean": 0.02055639266277419, "translation_radius_pct_mean": 0.5099413414276533}, "sim3": {"scale": 0.9983076701836348, "rotation": [[0.9999999644587011, 8.846668658715886e-05, 0.0002515079358668134], [-8.880241933530572e-05, 0.9999991047015657, 0.0013351817095111145], [-0.0002513895915903261, -0.0013352039965702036, 0.9999990770163548]], "translation": [0.0048761209276864115, 0.0007092783336000719, 0.014894996823340723]}}} +{"step": 10000, "train_loss": 0.014031547121703625, "val_psnr": 19.768993377685547, "pose_gradient_norm": 1.2953975200653076, "translation_update_mean": 0.010461748577654362, "rotation_update_deg_mean": 0.19793841242790222, "pose_errors": {"raw": {"rotation_deg_mean": 0.3350322243532955, "rotation_deg_max": 0.7354858279824193, "translation_mean": 0.02482568811680237, "translation_radius_pct_mean": 0.6158495270949096}, "aligned": {"rotation_deg_mean": 0.3363814172625734, "rotation_deg_max": 0.7478975900072523, "translation_mean": 0.019646987549056825, "translation_radius_pct_mean": 0.48738177705282026}, "sim3": {"scale": 0.998012547426384, "rotation": [[0.9999999802702684, 0.00019811657027542866, -1.4466757819861613e-05], [-0.0001980963355170295, 0.9999990204855949, 0.0013855633121034863], [1.4741246700801267e-05, -0.0013855604189549973, 0.9999990400020492]], "translation": [0.005556494327713435, 0.000959669434066307, 0.016794951880673814]}}} +{"step": 11000, "train_loss": 0.010276159271597862, "val_psnr": 18.661087036132812, "pose_gradient_norm": 0.7765800952911377, "translation_update_mean": 0.009260629303753376, "rotation_update_deg_mean": 0.18112339079380035, "pose_errors": {"raw": {"rotation_deg_mean": 0.30819077559549674, "rotation_deg_max": 0.7078074574856213, "translation_mean": 0.023883291097234333, "translation_radius_pct_mean": 0.5924715342632094}, "aligned": {"rotation_deg_mean": 0.31459104444068475, "rotation_deg_max": 0.6821320186816053, "translation_mean": 0.017965462283024817, "translation_radius_pct_mean": 0.4456682690520867}, "sim3": {"scale": 0.998061396107137, "rotation": [[0.9999999428532583, 0.0003368466666167103, 2.877156858109805e-05], [-0.0003368916790317092, 0.999998696524885, 0.0015790669800578765], [-2.8239627629529534e-05, -0.0015790765827213274, 0.9999987528590575]], "translation": [0.005582813909909667, -0.000616307038533645, 0.017556993653389252]}}} +{"step": 12000, "train_loss": 0.008256295695900917, "val_psnr": 19.426658630371094, "pose_gradient_norm": 0.7334069013595581, "translation_update_mean": 0.007669905200600624, "rotation_update_deg_mean": 0.1731807440519333, "pose_errors": {"raw": {"rotation_deg_mean": 0.29451025023143174, "rotation_deg_max": 0.7242634051413991, "translation_mean": 0.023024627827072576, "translation_radius_pct_mean": 0.5711707201075292}, "aligned": {"rotation_deg_mean": 0.3048426807281884, "rotation_deg_max": 0.7753643220875862, "translation_mean": 0.016093742081792543, "translation_radius_pct_mean": 0.39923660539146394}, "sim3": {"scale": 0.9979516656821126, "rotation": [[0.9999999581526434, 0.000281153122472042, 6.817355248006743e-05], [-0.0002812632875565613, 0.9999986460377217, 0.001621361676935437], [-6.771760927772627e-05, -0.0016213807838031872, 0.9999986832684743]], "translation": [0.004864312193853415, 5.1951982476663994e-05, 0.018364273429382738]}}} +{"step": 13000, "train_loss": 0.011367004364728928, "val_psnr": 18.681873321533203, "pose_gradient_norm": 1.6367875337600708, "translation_update_mean": 0.008175819180905819, "rotation_update_deg_mean": 0.1602204144001007, "pose_errors": {"raw": {"rotation_deg_mean": 0.27681626250081703, "rotation_deg_max": 0.6454301719936119, "translation_mean": 0.022485729205550222, "translation_radius_pct_mean": 0.5578022906140475}, "aligned": {"rotation_deg_mean": 0.2788807815662037, "rotation_deg_max": 0.6535206748020794, "translation_mean": 0.014587783599649079, "translation_radius_pct_mean": 0.3618783732776514}, "sim3": {"scale": 0.997766712215298, "rotation": [[0.9999999883471894, 0.00015070038315653526, 2.4392947349510212e-05], [-0.0001507337005751855, 0.9999990478959613, 0.0013716728921512674], [-2.4186212494551565e-05, -0.0013716765530065904, 0.9999990589587887]], "translation": [0.005140893125552326, 0.0013447101399848976, 0.01915730650317693]}}} +{"step": 14000, "train_loss": 0.01123012788593769, "val_psnr": 19.062957763671875, "pose_gradient_norm": 1.3048521280288696, "translation_update_mean": 0.006585472729057074, "rotation_update_deg_mean": 0.15103143453598022, "pose_errors": {"raw": {"rotation_deg_mean": 0.26800513876698834, "rotation_deg_max": 0.5972037329796964, "translation_mean": 0.022515599782739225, "translation_radius_pct_mean": 0.5585432884365187}, "aligned": {"rotation_deg_mean": 0.2697194861265255, "rotation_deg_max": 0.5662227326986818, "translation_mean": 0.01371153131664983, "translation_radius_pct_mean": 0.3401412294143284}, "sim3": {"scale": 0.9973240921676702, "rotation": [[0.9999999880615229, 0.00015451920368368124, -8.769854069715216e-07], [-0.00015451782918626578, 0.9999990140866887, 0.001395689754644778], [1.0926454118851782e-06, -0.0013956896024725528, 0.9999990260241948]], "translation": [0.005300686267353361, 0.0010446432746469558, 0.020401122638145974]}}} +{"step": 15000, "train_loss": 0.0077410354278981686, "val_psnr": 17.973323822021484, "pose_gradient_norm": 0.8939262628555298, "translation_update_mean": 0.006123512051999569, "rotation_update_deg_mean": 0.13988010585308075, "pose_errors": {"raw": {"rotation_deg_mean": 0.24489049188823717, "rotation_deg_max": 0.5956209150650565, "translation_mean": 0.02214386098867674, "translation_radius_pct_mean": 0.549321583908165}, "aligned": {"rotation_deg_mean": 0.24272465694230788, "rotation_deg_max": 0.5627879773191115, "translation_mean": 0.013167620877699439, "translation_radius_pct_mean": 0.3266484720319913}, "sim3": {"scale": 0.9972285220011582, "rotation": [[0.9999999737598306, 0.00019100286990767035, 0.00012648415622520593], [-0.00019119655746797928, 0.9999988065520856, 0.0015330813023436759], [-0.00012619118234429732, -0.001533105445450572, 0.9999988168310385]], "translation": [0.0044208430818405975, 0.0002864984665064685, 0.02066453900577292]}}} +{"step": 16000, "train_loss": 0.010612597689032555, "val_psnr": 18.69622230529785, "pose_gradient_norm": 0.7751272320747375, "translation_update_mean": 0.006052973214536905, "rotation_update_deg_mean": 0.13079921901226044, "pose_errors": {"raw": {"rotation_deg_mean": 0.24354209320313103, "rotation_deg_max": 0.5330051071852291, "translation_mean": 0.022853704505270578, "translation_radius_pct_mean": 0.5669306343380635}, "aligned": {"rotation_deg_mean": 0.23707703466429503, "rotation_deg_max": 0.5338841237228984, "translation_mean": 0.012881750258227773, "translation_radius_pct_mean": 0.3195568947518917}, "sim3": {"scale": 0.996673775195283, "rotation": [[0.9999999868810651, 7.006953899430791e-05, 0.0001460415317120577], [-7.026599908994395e-05, 0.9999990921255381, 0.0013456636979206243], [-0.0001459471090896071, -0.0013456739420211416, 0.9999990839301208]], "translation": [0.004308199696863191, 0.0014331280265940938, 0.021819169165657737]}}} +{"step": 17000, "train_loss": 0.006330639123916626, "val_psnr": 18.499126434326172, "pose_gradient_norm": 0.5903074741363525, "translation_update_mean": 0.00538664823397994, "rotation_update_deg_mean": 0.1171753853559494, "pose_errors": {"raw": {"rotation_deg_mean": 0.22875984824378714, "rotation_deg_max": 0.5170998065132637, "translation_mean": 0.022078974214960315, "translation_radius_pct_mean": 0.5477119411574801}, "aligned": {"rotation_deg_mean": 0.2258976286379041, "rotation_deg_max": 0.48990158210878326, "translation_mean": 0.011401017134277895, "translation_radius_pct_mean": 0.28282442675955005}, "sim3": {"scale": 0.9967136573345877, "rotation": [[0.999999990571569, 8.67663455297485e-05, -0.00010643525438232516], [-8.661549481859083e-05, 0.9999989930306303, 0.001416487021267172], [0.00010655805060763956, -0.0014164777889697328, 0.9999989911175184]], "translation": [0.005376301451045118, 0.0009739020637721807, 0.02178369584404516]}}} +{"step": 18000, "train_loss": 0.007840537466108799, "val_psnr": 19.353946685791016, "pose_gradient_norm": 0.8339678645133972, "translation_update_mean": 0.005205257795751095, "rotation_update_deg_mean": 0.11906477808952332, "pose_errors": {"raw": {"rotation_deg_mean": 0.22086565737024835, "rotation_deg_max": 0.5463091361043071, "translation_mean": 0.022190942051342186, "translation_radius_pct_mean": 0.5504895213301298}, "aligned": {"rotation_deg_mean": 0.2229072542680367, "rotation_deg_max": 0.4968802247977935, "translation_mean": 0.011361930360693273, "translation_radius_pct_mean": 0.28185480324238904}, "sim3": {"scale": 0.9964271443327707, "rotation": [[0.9999999940031646, 8.793350106877031e-05, 6.527916645936079e-05], [-8.802940873208376e-05, 0.9999989147244878, 0.0014706463441497397], [-6.51497765315425e-05, -0.001470652081816904, 0.9999989164683929]], "translation": [0.004655811040908953, 0.0010994021624323724, 0.022299798065247067]}}} +{"step": 19000, "train_loss": 0.008106166496872902, "val_psnr": 18.87967872619629, "pose_gradient_norm": 0.7011826634407043, "translation_update_mean": 0.004622430540621281, "rotation_update_deg_mean": 0.10640046745538712, "pose_errors": {"raw": {"rotation_deg_mean": 0.21369954100911712, "rotation_deg_max": 0.4875053571992793, "translation_mean": 0.02211141572383023, "translation_radius_pct_mean": 0.5485167159456666}, "aligned": {"rotation_deg_mean": 0.21100411762582205, "rotation_deg_max": 0.44689106085370545, "translation_mean": 0.01090053883885179, "translation_radius_pct_mean": 0.2704090882557675}, "sim3": {"scale": 0.9962715500087838, "rotation": [[0.9999999853249879, 9.478176947524116e-05, 0.00014271103949384324], [-9.498469568179876e-05, 0.9999989835888199, 0.0014226029786772447], [-0.00014257605761317492, -0.001422616513165201, 0.9999989779166399]], "translation": [0.004013718712294334, 0.0013846082595457693, 0.02256510157697411]}}} +{"step": 20000, "train_loss": 0.007097375579178333, "val_psnr": 19.98305320739746, "pose_gradient_norm": 0.9847467541694641, "translation_update_mean": 0.004383077844977379, "rotation_update_deg_mean": 0.09431538730859756, "pose_errors": {"raw": {"rotation_deg_mean": 0.20211178933172896, "rotation_deg_max": 0.5474104268914832, "translation_mean": 0.02164608407368004, "translation_radius_pct_mean": 0.536973258405276}, "aligned": {"rotation_deg_mean": 0.2018898773089581, "rotation_deg_max": 0.5097517813638321, "translation_mean": 0.010079127209255872, "translation_radius_pct_mean": 0.2500323735698801}, "sim3": {"scale": 0.9961844297214753, "rotation": [[0.9999999959714249, 5.7678243481470905e-05, 6.877769432915188e-05], [-5.7778981024722545e-05, 0.999998924364908, 0.0014655820061766469], [-6.869308815365925e-05, -0.0014655859741775712, 0.9999989236689271]], "translation": [0.004550111172127835, 0.0010628717144353927, 0.022552502044193456]}}} +{"step": 21000, "train_loss": 0.006970227230340242, "val_psnr": 18.257226943969727, "pose_gradient_norm": 0.6927925944328308, "translation_update_mean": 0.00426409300416708, "rotation_update_deg_mean": 0.08713781088590622, "pose_errors": {"raw": {"rotation_deg_mean": 0.19891436601631543, "rotation_deg_max": 0.43606168292376635, "translation_mean": 0.02161811204164881, "translation_radius_pct_mean": 0.5362793576917382}, "aligned": {"rotation_deg_mean": 0.1936869553192522, "rotation_deg_max": 0.42550743704999605, "translation_mean": 0.00949555895234207, "translation_radius_pct_mean": 0.23555582680279474}, "sim3": {"scale": 0.9959422305044047, "rotation": [[0.9999999996667469, 2.524421898430278e-05, -5.4070107546000906e-06], [-2.523710453000649e-05, 0.9999991393155117, 0.0013117664899764926], [5.4401206214249284e-06, -0.0013117663530820421, 0.9999991396193499]], "translation": [0.004753377950086679, 0.0020117681600188148, 0.022892090990738634]}}} +{"step": 22000, "train_loss": 0.010501092299818993, "val_psnr": 17.71904754638672, "pose_gradient_norm": 1.1102204322814941, "translation_update_mean": 0.003692757338285446, "rotation_update_deg_mean": 0.08102645725011826, "pose_errors": {"raw": {"rotation_deg_mean": 0.19215523967693088, "rotation_deg_max": 0.48273994562204875, "translation_mean": 0.02208416583393067, "translation_radius_pct_mean": 0.5478407293736498}, "aligned": {"rotation_deg_mean": 0.1877452921021583, "rotation_deg_max": 0.4553852726735279, "translation_mean": 0.009386978360003694, "translation_radius_pct_mean": 0.23286227381330013}, "sim3": {"scale": 0.995820480842051, "rotation": [[0.9999999862065817, 9.467972791783924e-05, -0.00013646459536578335], [-9.450263746654217e-05, 0.9999991542672286, 0.001297125313765081], [0.00013658729142494862, -0.0012971123996091528, 0.9999991494213061]], "translation": [0.005366813937425219, 0.0018915245751513626, 0.02344364493438178]}}} +{"step": 23000, "train_loss": 0.007088846992701292, "val_psnr": 18.66826629638672, "pose_gradient_norm": 0.9301387071609497, "translation_update_mean": 0.0031069491524249315, "rotation_update_deg_mean": 0.07854463160037994, "pose_errors": {"raw": {"rotation_deg_mean": 0.18250678848885954, "rotation_deg_max": 0.4318436594247231, "translation_mean": 0.021914271573233557, "translation_radius_pct_mean": 0.5436261714683791}, "aligned": {"rotation_deg_mean": 0.17984549259313953, "rotation_deg_max": 0.4035260528874219, "translation_mean": 0.008932648540307094, "translation_radius_pct_mean": 0.22159173809687444}, "sim3": {"scale": 0.9956845932867908, "rotation": [[0.9999999877110728, 2.567942539493922e-05, -0.00015465581593573582], [-2.547465464184653e-05, 0.9999991233219365, 0.001323898183494016], [0.00015468967729709166, -0.0013238942274212948, 0.9999991116871941]], "translation": [0.005363808837634931, 0.0017510051598504939, 0.023596072984702676]}}} +{"step": 24000, "train_loss": 0.006971674971282482, "val_psnr": 17.553726196289062, "pose_gradient_norm": 1.1970943212509155, "translation_update_mean": 0.0030930768698453903, "rotation_update_deg_mean": 0.07255877554416656, "pose_errors": {"raw": {"rotation_deg_mean": 0.1839582463633843, "rotation_deg_max": 0.44430684836921264, "translation_mean": 0.02230579718956466, "translation_radius_pct_mean": 0.5533387266462498}, "aligned": {"rotation_deg_mean": 0.17778993531873824, "rotation_deg_max": 0.4129387578826266, "translation_mean": 0.008415815816197495, "translation_radius_pct_mean": 0.20877069614901209}, "sim3": {"scale": 0.9954641568108381, "rotation": [[0.9999999913466529, -7.906545385504641e-06, -0.00013131709765868275], [8.067807902543585e-06, 0.9999992458721733, 0.0012280838714612725], [0.00013130728872792755, -0.0012280849202753019, 0.9999992372826212]], "translation": [0.00525821845560237, 0.0023144438841315174, 0.02433814020967784]}}} +{"step": 25000, "train_loss": 0.007519577629864216, "val_psnr": 18.928466796875, "pose_gradient_norm": 1.1529303789138794, "translation_update_mean": 0.0030358689837157726, "rotation_update_deg_mean": 0.07788614183664322, "pose_errors": {"raw": {"rotation_deg_mean": 0.1720080153428535, "rotation_deg_max": 0.37952646174188787, "translation_mean": 0.02233046489913314, "translation_radius_pct_mean": 0.5539506572078838}, "aligned": {"rotation_deg_mean": 0.1692945862510171, "rotation_deg_max": 0.37518398664200653, "translation_mean": 0.008423623497884308, "translation_radius_pct_mean": 0.20896438089409988}, "sim3": {"scale": 0.9953813862607341, "rotation": [[0.9999999978548203, 2.5857365777161997e-05, -6.018103566779456e-05], [-2.5779111553017896e-05, 0.9999991547305043, 0.0012999514274605742], [6.02145981182836e-05, -0.0012999498732583067, 0.9999991532519058]], "translation": [0.004983772029702904, 0.0020227172019865874, 0.024416233183833125]}}} +{"step": 26000, "train_loss": 0.006262362468987703, "val_psnr": 18.515541076660156, "pose_gradient_norm": 0.8655415773391724, "translation_update_mean": 0.002656365977600217, "rotation_update_deg_mean": 0.06516965478658676, "pose_errors": {"raw": {"rotation_deg_mean": 0.1679577339498449, "rotation_deg_max": 0.41382263602885166, "translation_mean": 0.022330604192584633, "translation_radius_pct_mean": 0.5539541126531397}, "aligned": {"rotation_deg_mean": 0.16165981144028085, "rotation_deg_max": 0.3789114724118387, "translation_mean": 0.007863265421726886, "translation_radius_pct_mean": 0.19506360784878815}, "sim3": {"scale": 0.9952681872826618, "rotation": [[0.9999999993334373, 3.492399106887319e-05, -1.0650877408921962e-05], [-3.491087118833309e-05, 0.9999992437584758, 0.0012293346609191364], [1.0693802626953946e-05, -0.0012293342882683052, 0.9999992443111404]], "translation": [0.004723502881492592, 0.002397433832701912, 0.024645054725455307]}}} +{"step": 27000, "train_loss": 0.0072097196243703365, "val_psnr": 17.945907592773438, "pose_gradient_norm": 1.0428876876831055, "translation_update_mean": 0.0025057883467525244, "rotation_update_deg_mean": 0.05968734994530678, "pose_errors": {"raw": {"rotation_deg_mean": 0.16661486635678904, "rotation_deg_max": 0.3655299578149993, "translation_mean": 0.02222005949615876, "translation_radius_pct_mean": 0.5512118362378227}, "aligned": {"rotation_deg_mean": 0.16035928323647688, "rotation_deg_max": 0.3289965171261299, "translation_mean": 0.007719346963483522, "translation_radius_pct_mean": 0.1914934302959083}, "sim3": {"scale": 0.9952895788368302, "rotation": [[0.9999999992363922, 3.419111530978856e-05, -1.8925711558488725e-05], [-3.416903767908489e-05, 0.9999993204360637, 0.0011653153597054157], [1.8965542129240756e-05, -0.0011653147121423624, 0.9999993208407333]], "translation": [0.004744263941373172, 0.0028496710641024714, 0.024581475292412502]}}} +{"step": 28000, "train_loss": 0.006436656694859266, "val_psnr": 17.379863739013672, "pose_gradient_norm": 0.6360483169555664, "translation_update_mean": 0.0024169846437871456, "rotation_update_deg_mean": 0.05935688689351082, "pose_errors": {"raw": {"rotation_deg_mean": 0.16017966765303096, "rotation_deg_max": 0.3332745370943502, "translation_mean": 0.022455355335475328, "translation_radius_pct_mean": 0.5570488076316763}, "aligned": {"rotation_deg_mean": 0.15269694217578966, "rotation_deg_max": 0.30934037646275425, "translation_mean": 0.0075077808153974765, "translation_radius_pct_mean": 0.18624512009257907}, "sim3": {"scale": 0.995189319491252, "rotation": [[0.9999999959318513, 2.1253784409355237e-05, -8.766169737062403e-05], [-2.1156805707695036e-05, 0.9999993880073161, 0.0011061362403015917], [8.768515330349239e-05, -0.0011061343811601919, 0.9999993843888322]], "translation": [0.00493319246539603, 0.0030653731240713883, 0.02499246053732085]}}} +{"step": 29000, "train_loss": 0.008323303423821926, "val_psnr": 18.035106658935547, "pose_gradient_norm": 0.9980101585388184, "translation_update_mean": 0.002117915777489543, "rotation_update_deg_mean": 0.05184559524059296, "pose_errors": {"raw": {"rotation_deg_mean": 0.1602489891805081, "rotation_deg_max": 0.32582995169520923, "translation_mean": 0.022649667029652966, "translation_radius_pct_mean": 0.5618690875129544}, "aligned": {"rotation_deg_mean": 0.15422622538271524, "rotation_deg_max": 0.3404829805795344, "translation_mean": 0.007412917657688198, "translation_radius_pct_mean": 0.18389185477565728}, "sim3": {"scale": 0.9950954465154029, "rotation": [[0.9999999978458332, 4.326654435236972e-05, -4.935928702319509e-05], [-4.321043987029762e-05, 0.9999993537155163, 0.0011360904047849178], [4.9408409828967914e-05, -0.00113608826950101, 0.9999993534309173]], "translation": [0.004596105137649742, 0.0029476973020865077, 0.02525336042360804]}}} +{"step": 29999, "train_loss": 0.005488292314112186, "val_psnr": 18.838897705078125, "pose_gradient_norm": 1.102880835533142, "translation_update_mean": 0.0021443625446408987, "rotation_update_deg_mean": 0.05240466073155403, "pose_errors": {"raw": {"rotation_deg_mean": 0.16016191246733955, "rotation_deg_max": 0.3408084855570616, "translation_mean": 0.02278933270835358, "translation_radius_pct_mean": 0.5653337665895013}, "aligned": {"rotation_deg_mean": 0.15316289264650607, "rotation_deg_max": 0.3170422778056165, "translation_mean": 0.00714333364975673, "translation_radius_pct_mean": 0.17720429860336417}, "sim3": {"scale": 0.9950259018085678, "rotation": [[0.9999999978941458, 4.4303178473859985e-05, -4.742295556718315e-05], [-4.425107999243299e-05, 0.9999993961858935, 0.0010980299136164593], [4.7471573147713656e-05, -0.0010980278127872482, 0.9999993960405038]], "translation": [0.004659609804661957, 0.002970898944443162, 0.025535805057386174]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-T1.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-T1.jsonl new file mode 100644 index 0000000..5638586 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-T1.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421427607536316, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.0047806641086936, "translation_update_mean": 0.0017287494847550988, "rotation_update_deg_mean": 0.09921599924564362, "pose_errors": {"raw": {"rotation_deg_mean": 0.10167039470328904, "rotation_deg_max": 0.11016564497029593, "translation_mean": 0.03222150338690806, "translation_radius_pct_mean": 0.7993171238497891}, "aligned": {"rotation_deg_mean": 0.1258966895255409, "rotation_deg_max": 0.1739746026884862, "translation_mean": 0.03188829723473391, "translation_radius_pct_mean": 0.7910512965230259}, "sim3": {"scale": 1.0000591242055434, "rotation": [[0.9999990802776947, -0.000573898188636529, 0.0012288550088571965], [0.0005736298663543298, 0.9999998115611041, 0.00021869277928824232], [-0.0012289802846827895, -0.0002179876702170682, 0.9999992210441127]], "translation": [-0.0010627045219184783, 0.0006837915706894709, 0.00025607169279817654]}}} +{"step": 1000, "train_loss": 0.05493524670600891, "val_psnr": 16.39417266845703, "pose_gradient_norm": 1.581711769104004, "translation_update_mean": 0.05124480277299881, "rotation_update_deg_mean": 1.9356492757797241, "pose_errors": {"raw": {"rotation_deg_mean": 1.9426250883205944, "rotation_deg_max": 6.909904100896469, "translation_mean": 0.06026363120813943, "translation_radius_pct_mean": 1.4949566999287278}, "aligned": {"rotation_deg_mean": 1.9534150253030642, "rotation_deg_max": 6.880844713570553, "translation_mean": 0.058516063568599355, "translation_radius_pct_mean": 1.45160488227463}, "sim3": {"scale": 0.996243026615407, "rotation": [[0.9999983061131452, 0.00024207899791642848, 0.001824600942555259], [-0.00023914674959604437, 0.9999986800027592, -0.001607109695073614], [-0.0018249875815916708, 0.0016066706254268667, 0.999997044010546]], "translation": [-0.0006137490336953211, 0.006310204127873295, 0.008653040043505644]}}} +{"step": 2000, "train_loss": 0.03558088839054108, "val_psnr": 15.763029098510742, "pose_gradient_norm": 1.3594056367874146, "translation_update_mean": 0.033994901925325394, "rotation_update_deg_mean": 1.5422805547714233, "pose_errors": {"raw": {"rotation_deg_mean": 1.390024039363432, "rotation_deg_max": 4.978999509673587, "translation_mean": 0.06199851232093538, "translation_radius_pct_mean": 1.5379938035874237}, "aligned": {"rotation_deg_mean": 1.364469249739425, "rotation_deg_max": 5.059504514528418, "translation_mean": 0.05831104316197388, "translation_radius_pct_mean": 1.4465189519321935}, "sim3": {"scale": 0.9941963312817489, "rotation": [[0.9999996434600259, -0.000801704996107298, -0.00026523370898701767], [0.0008013540568660535, 0.9999988069188603, -0.0013206030938130906], [0.0002662921266398666, 0.001320390076856575, 0.9999990928288626]], "translation": [0.00403978930959048, 0.011551798914904987, 0.014265886207445622]}}} +{"step": 3000, "train_loss": 0.02946910820901394, "val_psnr": 16.775711059570312, "pose_gradient_norm": 0.9875370860099792, "translation_update_mean": 0.022919896990060806, "rotation_update_deg_mean": 0.8837471604347229, "pose_errors": {"raw": {"rotation_deg_mean": 0.9730151133136864, "rotation_deg_max": 2.1693961286491588, "translation_mean": 0.0575817071918945, "translation_radius_pct_mean": 1.4284263532435515}, "aligned": {"rotation_deg_mean": 0.9320897734053462, "rotation_deg_max": 2.297710350002347, "translation_mean": 0.053236504550052605, "translation_radius_pct_mean": 1.320635141998183}, "sim3": {"scale": 0.9943913272965458, "rotation": [[0.9999994687815045, -0.0007654701147058903, -0.0006902841534734979], [0.0007640353333431406, 0.9999975523805583, -0.0020764110629088238], [0.0006918718945350636, 0.0020758825583975515, 0.9999976060095773]], "translation": [0.007136209258902959, 0.012921289651165555, 0.016167755704636022]}}} +{"step": 4000, "train_loss": 0.02301255241036415, "val_psnr": 17.108123779296875, "pose_gradient_norm": 1.1238776445388794, "translation_update_mean": 0.02087036520242691, "rotation_update_deg_mean": 0.553227961063385, "pose_errors": {"raw": {"rotation_deg_mean": 0.8534337214928865, "rotation_deg_max": 1.6781946134005026, "translation_mean": 0.05153484499232887, "translation_radius_pct_mean": 1.2784221636924005}, "aligned": {"rotation_deg_mean": 0.8149687706665558, "rotation_deg_max": 1.5738084507236632, "translation_mean": 0.04677920888654883, "translation_radius_pct_mean": 1.1604493512974083}, "sim3": {"scale": 0.9948016445028945, "rotation": [[0.9999993511326492, -0.0008914062272218468, -0.0007093160223574399], [0.0008903444392632813, 0.999998484890846, -0.0014958284637302686], [0.0007106483384735979, 0.0014951959575598252, 0.9999986296830561]], "translation": [0.007844175443220192, 0.012880476941430637, 0.017060172250934258]}}} +{"step": 5000, "train_loss": 0.019624436274170876, "val_psnr": 17.256500244140625, "pose_gradient_norm": 1.0367637872695923, "translation_update_mean": 0.018276650458574295, "rotation_update_deg_mean": 0.4153091609477997, "pose_errors": {"raw": {"rotation_deg_mean": 0.7813838370997217, "rotation_deg_max": 1.6188207687688634, "translation_mean": 0.04885391655311107, "translation_radius_pct_mean": 1.2119165142336803}, "aligned": {"rotation_deg_mean": 0.7258977043757922, "rotation_deg_max": 1.5760004882499579, "translation_mean": 0.04232909459083367, "translation_radius_pct_mean": 1.0500556022242618}, "sim3": {"scale": 0.9938223356804579, "rotation": [[0.9999994565913137, -0.0007533544040476087, -0.0007206068413451792], [0.0007518985315486224, 0.9999976801826033, -0.002018484087260436], [0.0007221258035455858, 0.002017941167172833, 0.9999977032212471]], "translation": [0.007794247645810604, 0.015867515330976065, 0.01886867843438056]}}} +{"step": 6000, "train_loss": 0.015115146525204182, "val_psnr": 17.08246612548828, "pose_gradient_norm": 0.9513758420944214, "translation_update_mean": 0.01722196862101555, "rotation_update_deg_mean": 0.3435746431350708, "pose_errors": {"raw": {"rotation_deg_mean": 0.7516825144810102, "rotation_deg_max": 1.5125405910636684, "translation_mean": 0.04392144100216437, "translation_radius_pct_mean": 1.0895568551110075}, "aligned": {"rotation_deg_mean": 0.684117312984814, "rotation_deg_max": 1.3922740161286593, "translation_mean": 0.036364724265458656, "translation_radius_pct_mean": 0.902097784216588}, "sim3": {"scale": 0.9931461267979987, "rotation": [[0.9999993791144534, -0.0007988757752878488, -0.0007768965209141455], [0.000796757680899396, 0.9999959756194916, -0.002722851817463878], [0.00077906861474346, 0.0027222311286142463, 0.9999959912468539]], "translation": [0.007061039245936929, 0.018705176434818928, 0.02019064092061118]}}} +{"step": 7000, "train_loss": 0.015320414677262306, "val_psnr": 15.840044021606445, "pose_gradient_norm": 1.0486185550689697, "translation_update_mean": 0.016370028257369995, "rotation_update_deg_mean": 0.26531967520713806, "pose_errors": {"raw": {"rotation_deg_mean": 0.7148174584841905, "rotation_deg_max": 1.365716693930181, "translation_mean": 0.0415496575288756, "translation_radius_pct_mean": 1.0307201484092983}, "aligned": {"rotation_deg_mean": 0.6474007923823778, "rotation_deg_max": 1.3188056335514537, "translation_mean": 0.03160910968939884, "translation_radius_pct_mean": 0.7841255059082224}, "sim3": {"scale": 0.9925733492005893, "rotation": [[0.9999993905029657, -0.0010397227537044084, -0.0003714435230776209], [0.0010388690605308156, 0.9999968356647669, -0.0022911594289013945], [0.00037382451829637026, 0.0022907721512626096, 0.9999973063054619]], "translation": [0.005388976974507853, 0.018077792996743502, 0.02176708806810046]}}} +{"step": 8000, "train_loss": 0.013878406956791878, "val_psnr": 16.213577270507812, "pose_gradient_norm": 0.8682134747505188, "translation_update_mean": 0.012400560081005096, "rotation_update_deg_mean": 0.23111501336097717, "pose_errors": {"raw": {"rotation_deg_mean": 0.6716365349903135, "rotation_deg_max": 1.3704739777420152, "translation_mean": 0.03928936682812469, "translation_radius_pct_mean": 0.9746492369966818}, "aligned": {"rotation_deg_mean": 0.6066388610820299, "rotation_deg_max": 1.3781550197299732, "translation_mean": 0.028495996792930932, "translation_radius_pct_mean": 0.7068986795635688}, "sim3": {"scale": 0.992463914327011, "rotation": [[0.9999994651094587, -0.0009623094402728715, -0.00037913234913178063], [0.0009613632215234845, 0.9999964426257185, -0.00248807489117412], [0.00038152529837205093, 0.0024877090764298363, 0.9999968328659834]], "translation": [0.004310887684030151, 0.019534187661238454, 0.023262449427035037]}}} +{"step": 9000, "train_loss": 0.01605667918920517, "val_psnr": 16.831974029541016, "pose_gradient_norm": 0.7895413637161255, "translation_update_mean": 0.012894918210804462, "rotation_update_deg_mean": 0.238910973072052, "pose_errors": {"raw": {"rotation_deg_mean": 0.6454399878072374, "rotation_deg_max": 1.3006116203909242, "translation_mean": 0.038356317282044285, "translation_radius_pct_mean": 0.9515031264435234}, "aligned": {"rotation_deg_mean": 0.5745927706300278, "rotation_deg_max": 1.2386899091385293, "translation_mean": 0.025853985109334343, "translation_radius_pct_mean": 0.6413584359954175}, "sim3": {"scale": 0.9920661250671351, "rotation": [[0.9999994680690144, -0.0010277546798742687, -8.707471492497024e-05], [0.0010275093567299455, 0.999995629881837, -0.0027720825657705653], [8.99233552280146e-05, 0.002771991621129575, 0.999996153980726]], "translation": [0.0030011702876245328, 0.021358009899168813, 0.02439754589235532]}}} +{"step": 10000, "train_loss": 0.01821868121623993, "val_psnr": 17.035385131835938, "pose_gradient_norm": 1.2368131875991821, "translation_update_mean": 0.010857965797185898, "rotation_update_deg_mean": 0.23188981413841248, "pose_errors": {"raw": {"rotation_deg_mean": 0.6315565918968763, "rotation_deg_max": 1.2540887359388446, "translation_mean": 0.037863149513852876, "translation_radius_pct_mean": 0.9392691398007292}, "aligned": {"rotation_deg_mean": 0.552559290657191, "rotation_deg_max": 1.2000052439841074, "translation_mean": 0.02340642838872845, "translation_radius_pct_mean": 0.5806420263703836}, "sim3": {"scale": 0.9920710208728272, "rotation": [[0.9999994386576322, -0.0010211827733605293, -0.0002826130980665391], [0.0010203831017447933, 0.9999955161934265, -0.0028153883156362123], [0.0002854868569323075, 0.0028150983616098938, 0.9999959968512215]], "translation": [0.0037739640556993526, 0.022201902677174895, 0.02592424476832944]}}} +{"step": 11000, "train_loss": 0.010111987590789795, "val_psnr": 16.850156784057617, "pose_gradient_norm": 1.2748245000839233, "translation_update_mean": 0.009998340159654617, "rotation_update_deg_mean": 0.20587022602558136, "pose_errors": {"raw": {"rotation_deg_mean": 0.5905157515646716, "rotation_deg_max": 1.212176131148865, "translation_mean": 0.03831083237374179, "translation_radius_pct_mean": 0.950374784738099}, "aligned": {"rotation_deg_mean": 0.5032980444092139, "rotation_deg_max": 1.14182989968722, "translation_mean": 0.022177960634826487, "translation_radius_pct_mean": 0.5501674920198202}, "sim3": {"scale": 0.9915761641141797, "rotation": [[0.9999994738872121, -0.0009530930457372815, -0.0003792610513383708], [0.0009518420248217401, 0.9999941507257567, -0.0032851957373186856], [0.0003823899301475609, 0.0032848330123281515, 0.9999945318100607]], "translation": [0.004225750521976324, 0.023919130911115152, 0.02738462488345439]}}} +{"step": 12000, "train_loss": 0.009139259345829487, "val_psnr": 17.20355224609375, "pose_gradient_norm": 0.6449300646781921, "translation_update_mean": 0.008282417431473732, "rotation_update_deg_mean": 0.17379415035247803, "pose_errors": {"raw": {"rotation_deg_mean": 0.5697350724573039, "rotation_deg_max": 1.2418203236391794, "translation_mean": 0.038565334953059506, "translation_radius_pct_mean": 0.9566882167114577}, "aligned": {"rotation_deg_mean": 0.470865155635318, "rotation_deg_max": 1.1124007588025375, "translation_mean": 0.020758640820243878, "translation_radius_pct_mean": 0.5149585007324633}, "sim3": {"scale": 0.9911154953018224, "rotation": [[0.999999248151358, -0.0010428254415226262, -0.000645144803622066], [0.0010404339934217655, 0.9999926280123237, -0.003696135564588009], [0.0006489944718246797, 0.003695461555069093, 0.9999929611602624]], "translation": [0.005456688840082269, 0.02583678737694644, 0.028182615716458415]}}} +{"step": 13000, "train_loss": 0.011680550873279572, "val_psnr": 17.49385643005371, "pose_gradient_norm": 0.7649305462837219, "translation_update_mean": 0.008056755177676678, "rotation_update_deg_mean": 0.16032394766807556, "pose_errors": {"raw": {"rotation_deg_mean": 0.5523704957695919, "rotation_deg_max": 1.042353937077131, "translation_mean": 0.039573411888556204, "translation_radius_pct_mean": 0.9816955277305929}, "aligned": {"rotation_deg_mean": 0.4566607019573188, "rotation_deg_max": 0.9267669851364274, "translation_mean": 0.020548401594557647, "translation_radius_pct_mean": 0.5097431074226587}, "sim3": {"scale": 0.9909417688831281, "rotation": [[0.9999991707116634, -0.001032766332790014, -0.000769395664135307], [0.0010298057573642828, 0.9999921029354101, -0.0038384328727673997], [0.0007733537924098148, 0.0038376373615152315, 0.9999923372023374]], "translation": [0.005623162689173622, 0.026582111617962333, 0.029748945938251392]}}} +{"step": 14000, "train_loss": 0.012221060693264008, "val_psnr": 16.247220993041992, "pose_gradient_norm": 1.0288759469985962, "translation_update_mean": 0.008328746072947979, "rotation_update_deg_mean": 0.1478804051876068, "pose_errors": {"raw": {"rotation_deg_mean": 0.5326524639142234, "rotation_deg_max": 1.1137297358573612, "translation_mean": 0.03978182906348452, "translation_radius_pct_mean": 0.9868657215239802}, "aligned": {"rotation_deg_mean": 0.434244855767485, "rotation_deg_max": 0.9995043339139957, "translation_mean": 0.019269447606111295, "translation_radius_pct_mean": 0.4780161637321132}, "sim3": {"scale": 0.990783815370083, "rotation": [[0.999999212602343, -0.0009954220567024803, -0.0007641528796346404], [0.00099245943533708, 0.9999920281646151, -0.0038676390071211253], [0.0007679967211087146, 0.0038668775710157667, 0.9999922286892473]], "translation": [0.0053075088621606925, 0.027587389858876515, 0.03089659692709512]}}} +{"step": 15000, "train_loss": 0.009557299315929413, "val_psnr": 16.305158615112305, "pose_gradient_norm": 0.715180516242981, "translation_update_mean": 0.00712951272726059, "rotation_update_deg_mean": 0.13844932615756989, "pose_errors": {"raw": {"rotation_deg_mean": 0.4986900148110874, "rotation_deg_max": 1.0107648145035062, "translation_mean": 0.04041219391564993, "translation_radius_pct_mean": 1.0025031489449978}, "aligned": {"rotation_deg_mean": 0.3973617278721632, "rotation_deg_max": 0.898440635806945, "translation_mean": 0.01793500699600486, "translation_radius_pct_mean": 0.4449127663638817}, "sim3": {"scale": 0.9901080517797349, "rotation": [[0.999999190510889, -0.0010189343028441558, -0.0007620698471139765], [0.0010158678834700182, 0.9999914301822792, -0.00401342427872518], [0.0007661527319840196, 0.0040126468676193044, 0.9999916558027385]], "translation": [0.0051291999738585226, 0.028227057465327623, 0.03133601793524443]}}} +{"step": 16000, "train_loss": 0.011044430546462536, "val_psnr": 16.956130981445312, "pose_gradient_norm": 1.094306230545044, "translation_update_mean": 0.006133933085948229, "rotation_update_deg_mean": 0.12850815057754517, "pose_errors": {"raw": {"rotation_deg_mean": 0.4853245607741151, "rotation_deg_max": 1.2018316846462953, "translation_mean": 0.040705948315526125, "translation_radius_pct_mean": 1.0097902987470355}, "aligned": {"rotation_deg_mean": 0.38246345413617205, "rotation_deg_max": 1.1441907890553757, "translation_mean": 0.01739671318431177, "translation_radius_pct_mean": 0.43155934035572463}, "sim3": {"scale": 0.9900399860419584, "rotation": [[0.9999991675865174, -0.0010351244874518464, -0.0007702879777091482], [0.0010320129408260474, 0.9999913512110469, -0.004028951773746044], [0.0007744517822907523, 0.004028153472831117, 0.9999915870666302]], "translation": [0.0048724494259130835, 0.028558355752508854, 0.03205065219707315]}}} +{"step": 17000, "train_loss": 0.007571559399366379, "val_psnr": 16.84334945678711, "pose_gradient_norm": 0.9098038673400879, "translation_update_mean": 0.006913326680660248, "rotation_update_deg_mean": 0.11862967908382416, "pose_errors": {"raw": {"rotation_deg_mean": 0.4771257617626208, "rotation_deg_max": 1.124589386401763, "translation_mean": 0.040981412451310824, "translation_radius_pct_mean": 1.0166237229388024}, "aligned": {"rotation_deg_mean": 0.37282274183721364, "rotation_deg_max": 1.0528205544676517, "translation_mean": 0.017363488417208344, "translation_radius_pct_mean": 0.4307351353221234}, "sim3": {"scale": 0.9896899686070678, "rotation": [[0.9999991730297538, -0.0010887458698386851, -0.0006845233671847729], [0.001085976308982843, 0.9999912761067122, -0.004033406243643862], [0.0006889087498650622, 0.004032659531977077, 0.9999916314959012]], "translation": [0.004287330898203323, 0.028759686663987913, 0.03362255503557421]}}} +{"step": 18000, "train_loss": 0.007930477149784565, "val_psnr": 16.522390365600586, "pose_gradient_norm": 1.058576226234436, "translation_update_mean": 0.005570108536630869, "rotation_update_deg_mean": 0.113037109375, "pose_errors": {"raw": {"rotation_deg_mean": 0.46868001274738946, "rotation_deg_max": 0.9202797624538136, "translation_mean": 0.0414998756183408, "translation_radius_pct_mean": 1.0294852111976287}, "aligned": {"rotation_deg_mean": 0.362157786890335, "rotation_deg_max": 0.8562358273474316, "translation_mean": 0.01648989971730935, "translation_radius_pct_mean": 0.4090640668233563}, "sim3": {"scale": 0.9892881136011813, "rotation": [[0.9999993198110692, -0.0010555500798201125, -0.0004961768108073507], [0.0010535677679775319, 0.9999915303385971, -0.003978598500535056], [0.0005003722183227339, 0.003978073038441272, 0.9999919622489681]], "translation": [0.0034406557131745896, 0.029191124286023995, 0.03400400639854695]}}} +{"step": 19000, "train_loss": 0.0077576362527906895, "val_psnr": 16.825597763061523, "pose_gradient_norm": 1.1861224174499512, "translation_update_mean": 0.004344936925917864, "rotation_update_deg_mean": 0.11045811325311661, "pose_errors": {"raw": {"rotation_deg_mean": 0.4414976093146864, "rotation_deg_max": 0.9387889261371847, "translation_mean": 0.041764992135256224, "translation_radius_pct_mean": 1.0360619425574702}, "aligned": {"rotation_deg_mean": 0.33555349862615413, "rotation_deg_max": 0.8774915082507392, "translation_mean": 0.01627460387459278, "translation_radius_pct_mean": 0.40372323428334056}, "sim3": {"scale": 0.9894218965811928, "rotation": [[0.9999992115589103, -0.0010112014472151982, -0.000744548985083621], [0.001008166111585282, 0.9999912260096588, -0.004065895324641627], [0.0007486538916545619, 0.004065141489867448, 0.9999914570345175]], "translation": [0.004534453537094474, 0.029585135966912937, 0.03472701648604648]}}} +{"step": 20000, "train_loss": 0.006990861613303423, "val_psnr": 17.036693572998047, "pose_gradient_norm": 0.8640315532684326, "translation_update_mean": 0.004518688656389713, "rotation_update_deg_mean": 0.10698901116847992, "pose_errors": {"raw": {"rotation_deg_mean": 0.4347244844176448, "rotation_deg_max": 0.9277389819923922, "translation_mean": 0.042017449040907665, "translation_radius_pct_mean": 1.0423246276127962}, "aligned": {"rotation_deg_mean": 0.32173092048638613, "rotation_deg_max": 0.872941165567073, "translation_mean": 0.01597642031018937, "translation_radius_pct_mean": 0.39632621043202476}, "sim3": {"scale": 0.989256101647553, "rotation": [[0.9999991706784339, -0.0009954341285542728, -0.0008171617589096667], [0.000992056326827727, 0.9999910057170558, -0.004123628164069959], [0.0008212592093336566, 0.004122814073763221, 0.9999911639296736]], "translation": [0.004367984752490173, 0.029879380551467306, 0.03539435524199197]}}} +{"step": 21000, "train_loss": 0.008500821888446808, "val_psnr": 15.843755722045898, "pose_gradient_norm": 0.8439653515815735, "translation_update_mean": 0.004206649959087372, "rotation_update_deg_mean": 0.08953836560249329, "pose_errors": {"raw": {"rotation_deg_mean": 0.43067569067646694, "rotation_deg_max": 0.9771373699707769, "translation_mean": 0.04204634930309416, "translation_radius_pct_mean": 1.043041554882515}, "aligned": {"rotation_deg_mean": 0.31978376860942936, "rotation_deg_max": 0.8984569531828537, "translation_mean": 0.01552648037128203, "translation_radius_pct_mean": 0.3851645742552754}, "sim3": {"scale": 0.989154644869476, "rotation": [[0.9999992208967023, -0.0009979335634208012, -0.000749889718655787], [0.0009948280383220277, 0.9999909752932693, -0.004130332818381127], [0.0007540047488685461, 0.004129583589107445, 0.9999911889692922]], "translation": [0.003914224685795331, 0.029985008945151582, 0.03582652072459647]}}} +{"step": 22000, "train_loss": 0.008774982765316963, "val_psnr": 15.51254653930664, "pose_gradient_norm": 1.1139936447143555, "translation_update_mean": 0.003517464967444539, "rotation_update_deg_mean": 0.08382473886013031, "pose_errors": {"raw": {"rotation_deg_mean": 0.4260147135233571, "rotation_deg_max": 0.8709294265042372, "translation_mean": 0.04170882852926652, "translation_radius_pct_mean": 1.034668694965461}, "aligned": {"rotation_deg_mean": 0.30893692344769536, "rotation_deg_max": 0.8053336506018889, "translation_mean": 0.014389330001349067, "translation_radius_pct_mean": 0.35695534540070706}, "sim3": {"scale": 0.9891668220619168, "rotation": [[0.999999251877446, -0.0009101603942282127, -0.000817222494167262], [0.0009068532909322452, 0.9999914358396708, -0.004038052057896245], [0.0008208907703956614, 0.0040373079360302025, 0.9999915131054732]], "translation": [0.004313587576399491, 0.029708585209457725, 0.03602696529752114]}}} +{"step": 23000, "train_loss": 0.007243022322654724, "val_psnr": 15.865764617919922, "pose_gradient_norm": 1.1165539026260376, "translation_update_mean": 0.0034242637921124697, "rotation_update_deg_mean": 0.07232952117919922, "pose_errors": {"raw": {"rotation_deg_mean": 0.41764131834566615, "rotation_deg_max": 0.8743643263251296, "translation_mean": 0.04240900827960872, "translation_radius_pct_mean": 1.0520380168590133}, "aligned": {"rotation_deg_mean": 0.3015787089013666, "rotation_deg_max": 0.8118393235665435, "translation_mean": 0.014189779617194188, "translation_radius_pct_mean": 0.35200510961529025}, "sim3": {"scale": 0.9889084418185855, "rotation": [[0.9999992513729001, -0.0009055806517509087, -0.0008229078458024554], [0.0009022400349492179, 0.9999913881664219, -0.004050871006485734], [0.0008265691494632614, 0.004050125513490445, 0.9999914565968879]], "translation": [0.004309270206481863, 0.029758433768687427, 0.03660071109499219]}}} +{"step": 24000, "train_loss": 0.006467738654464483, "val_psnr": 16.21756362915039, "pose_gradient_norm": 0.695782482624054, "translation_update_mean": 0.0032221083529293537, "rotation_update_deg_mean": 0.06754060834646225, "pose_errors": {"raw": {"rotation_deg_mean": 0.42020700342584005, "rotation_deg_max": 0.7948498710412268, "translation_mean": 0.04245257061226828, "translation_radius_pct_mean": 1.0531186653325346}, "aligned": {"rotation_deg_mean": 0.3001547660791957, "rotation_deg_max": 0.7304469494006562, "translation_mean": 0.013471614784893216, "translation_radius_pct_mean": 0.3341896327484313}, "sim3": {"scale": 0.9887452679301637, "rotation": [[0.9999992931275513, -0.0008714784393397176, -0.0008088694140162845], [0.0008682927792891925, 0.9999918988162885, -0.003930441380347955], [0.0008122881561364763, 0.0039297362665557094, 0.9999919486480027]], "translation": [0.00425448459018174, 0.029534107553452302, 0.036981734294918134]}}} +{"step": 25000, "train_loss": 0.007157358340919018, "val_psnr": 16.53889274597168, "pose_gradient_norm": 0.8254389762878418, "translation_update_mean": 0.0029591338243335485, "rotation_update_deg_mean": 0.06772076338529587, "pose_errors": {"raw": {"rotation_deg_mean": 0.40043974204161153, "rotation_deg_max": 0.7815462216959387, "translation_mean": 0.04256936756358096, "translation_radius_pct_mean": 1.056016041102891}, "aligned": {"rotation_deg_mean": 0.28459952081581685, "rotation_deg_max": 0.7203312355076545, "translation_mean": 0.013199463879771747, "translation_radius_pct_mean": 0.32743839969382477}, "sim3": {"scale": 0.9886474870782149, "rotation": [[0.9999992936939123, -0.0009051863083404007, -0.0007702268653309287], [0.0009021503744464971, 0.9999918592954764, -0.003932870132459196], [0.0007737805753379417, 0.003932172494194131, 0.9999919696093057]], "translation": [0.003932283004967285, 0.029449622895067674, 0.037172584974933365]}}} +{"step": 26000, "train_loss": 0.006467072293162346, "val_psnr": 15.858526229858398, "pose_gradient_norm": 0.9601249098777771, "translation_update_mean": 0.0030349527951329947, "rotation_update_deg_mean": 0.061216823756694794, "pose_errors": {"raw": {"rotation_deg_mean": 0.39970682124611884, "rotation_deg_max": 0.8291384598853375, "translation_mean": 0.042983926211888554, "translation_radius_pct_mean": 1.0662999754821576}, "aligned": {"rotation_deg_mean": 0.2845701465363911, "rotation_deg_max": 0.7610993772109476, "translation_mean": 0.012692496353869511, "translation_radius_pct_mean": 0.3148620831941401}, "sim3": {"scale": 0.9885684203253067, "rotation": [[0.9999993259324271, -0.0008722150486571183, -0.0007664043316047217], [0.0008691655322957686, 0.9999917403779638, -0.003970356045604997], [0.0007698610056859796, 0.003969687237087846, 0.9999918244152164]], "translation": [0.003980010830533398, 0.029674074343375892, 0.03749331916878562]}}} +{"step": 27000, "train_loss": 0.006644087843596935, "val_psnr": 16.123737335205078, "pose_gradient_norm": 0.841365396976471, "translation_update_mean": 0.002639747690409422, "rotation_update_deg_mean": 0.06361634284257889, "pose_errors": {"raw": {"rotation_deg_mean": 0.3977312130623315, "rotation_deg_max": 0.7544932559952164, "translation_mean": 0.043177557135681985, "translation_radius_pct_mean": 1.0711033675286572}, "aligned": {"rotation_deg_mean": 0.27811199922262114, "rotation_deg_max": 0.6814704121794295, "translation_mean": 0.012728229530019395, "translation_radius_pct_mean": 0.3157485141977831}, "sim3": {"scale": 0.9884770867839084, "rotation": [[0.9999993533925252, -0.000860074042595885, -0.0007439671853633788], [0.000857105739984816, 0.9999917085119353, -0.003980989466440827], [0.0007473849624722289, 0.003980349233758307, 0.9999917990842205]], "translation": [0.003559770130795392, 0.030066329179969015, 0.03772049349634132]}}} +{"step": 28000, "train_loss": 0.006557091139256954, "val_psnr": 15.714770317077637, "pose_gradient_norm": 0.6141823530197144, "translation_update_mean": 0.0026787943206727505, "rotation_update_deg_mean": 0.06009286642074585, "pose_errors": {"raw": {"rotation_deg_mean": 0.3868021509347356, "rotation_deg_max": 0.7178749276940227, "translation_mean": 0.043712566758765475, "translation_radius_pct_mean": 1.0843753228443367}, "aligned": {"rotation_deg_mean": 0.2703777168148756, "rotation_deg_max": 0.647075586831976, "translation_mean": 0.01240870386933208, "translation_radius_pct_mean": 0.30782205809702395}, "sim3": {"scale": 0.9882706066437, "rotation": [[0.9999993358016083, -0.0008443444614711883, -0.0007845245521944358], [0.0008411447040369651, 0.9999913637028575, -0.004070011705827625], [0.000787954268649407, 0.00406934910386014, 0.9999914097260736]], "translation": [0.0037904275766211804, 0.030359512652872338, 0.03813915881587793]}}} +{"step": 29000, "train_loss": 0.008269717916846275, "val_psnr": 15.447311401367188, "pose_gradient_norm": 1.0074248313903809, "translation_update_mean": 0.0021543249022215605, "rotation_update_deg_mean": 0.05466195568442345, "pose_errors": {"raw": {"rotation_deg_mean": 0.3891961079555384, "rotation_deg_max": 0.7500716542926115, "translation_mean": 0.04402248229658492, "translation_radius_pct_mean": 1.0920633811373226}, "aligned": {"rotation_deg_mean": 0.26874707485678206, "rotation_deg_max": 0.6792392438664066, "translation_mean": 0.012096812921407655, "translation_radius_pct_mean": 0.30008499591043997}, "sim3": {"scale": 0.9880949551206856, "rotation": [[0.9999993297106541, -0.0008366651041787654, -0.0008003560118922007], [0.0008334108255678139, 0.999991419937922, -0.004057767481538364], [0.0008037441372406975, 0.004057097736295464, 0.999991446940082]], "translation": [0.0038129995424055485, 0.030296643886142047, 0.03829368077746853]}}} +{"step": 29999, "train_loss": 0.004894739016890526, "val_psnr": 16.278945922851562, "pose_gradient_norm": 0.7448418140411377, "translation_update_mean": 0.0021350558381527662, "rotation_update_deg_mean": 0.05421985685825348, "pose_errors": {"raw": {"rotation_deg_mean": 0.37691880466686223, "rotation_deg_max": 0.7712662440211434, "translation_mean": 0.04388983670158671, "translation_radius_pct_mean": 1.0887728489044788}, "aligned": {"rotation_deg_mean": 0.25735811810525144, "rotation_deg_max": 0.7002732824865696, "translation_mean": 0.011764259339728841, "translation_radius_pct_mean": 0.291835356865309}, "sim3": {"scale": 0.9880867688148404, "rotation": [[0.9999993157466486, -0.0008289788569198984, -0.0008254091652265563], [0.0008256553909904349, 0.9999915842211844, -0.004018678885058736], [0.0008287336185941108, 0.004017994631737138, 0.9999915844244534]], "translation": [0.004036878802988753, 0.030150663152661863, 0.03841803733117599]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-T2.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-T2.jsonl new file mode 100644 index 0000000..d4adf9e --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-T2.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421420454978943, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.005416589323431253, "translation_update_mean": 0.0017300053732469678, "rotation_update_deg_mean": 0.09922175854444504, "pose_errors": {"raw": {"rotation_deg_mean": 0.10176449177280339, "rotation_deg_max": 0.11054999088049688, "translation_mean": 0.06407202505345708, "translation_radius_pct_mean": 1.589431323858392}, "aligned": {"rotation_deg_mean": 0.17639277426300012, "rotation_deg_max": 0.24337478444759356, "translation_mean": 0.06344614321050546, "translation_radius_pct_mean": 1.5739051062089338}, "sim3": {"scale": 0.9998414534918738, "rotation": [[0.999996486531062, -0.000981725017930057, 0.0024623447200515605], [0.000980798884200405, 0.9999994478397429, 0.00037729797100161794], [-0.0024627137633000816, -0.00037488158042301686, 0.999996897247547]], "translation": [-0.002595644723633439, 0.0013210038480254704, 0.0010227610130257858]}}} +{"step": 1000, "train_loss": 0.05048022046685219, "val_psnr": 16.05890464782715, "pose_gradient_norm": 1.4932777881622314, "translation_update_mean": 0.0538882277905941, "rotation_update_deg_mean": 1.9573992490768433, "pose_errors": {"raw": {"rotation_deg_mean": 1.96912517527167, "rotation_deg_max": 6.1525211671568085, "translation_mean": 0.07330396276118042, "translation_radius_pct_mean": 1.8184475124418245}, "aligned": {"rotation_deg_mean": 2.079457038054853, "rotation_deg_max": 6.2229977560178735, "translation_mean": 0.07003821183123862, "translation_radius_pct_mean": 1.7374342025044773}, "sim3": {"scale": 0.9997127209542255, "rotation": [[0.9999861073763655, 0.001475362892961913, 0.005060470195439995], [-0.001482395256760058, 0.9999979404791406, 0.0013861968766843815], [-0.005058414629861954, -0.0013936792357875825, 0.9999862349550727]], "translation": [-0.0018702342419955054, 0.0076601152793220745, -0.0034792288878042754]}}} +{"step": 2000, "train_loss": 0.03623538091778755, "val_psnr": 15.977686882019043, "pose_gradient_norm": 1.326444387435913, "translation_update_mean": 0.03105774335563183, "rotation_update_deg_mean": 1.5170955657958984, "pose_errors": {"raw": {"rotation_deg_mean": 1.2540592830724884, "rotation_deg_max": 5.1326092401282795, "translation_mean": 0.0696102733815616, "translation_radius_pct_mean": 1.7268183561029853}, "aligned": {"rotation_deg_mean": 1.327032855345966, "rotation_deg_max": 5.175468447082397, "translation_mean": 0.06744569636282384, "translation_radius_pct_mean": 1.6731218089185418}, "sim3": {"scale": 1.0011670283491703, "rotation": [[0.9999934806651763, -5.9607443631302254e-05, 0.003610411901501596], [5.7217130403182696e-05, 0.9999997791346408, 0.0006621607578973076], [-0.0036104505737967517, -0.0006619498636409753, 0.999993263211824]], "translation": [0.00412514605420955, 0.005700937517656879, -0.0022587008479364457]}}} +{"step": 3000, "train_loss": 0.02752901241183281, "val_psnr": 17.07457733154297, "pose_gradient_norm": 1.1549707651138306, "translation_update_mean": 0.021481972187757492, "rotation_update_deg_mean": 0.8605934977531433, "pose_errors": {"raw": {"rotation_deg_mean": 1.0005866298138724, "rotation_deg_max": 2.5647505425461676, "translation_mean": 0.06437944761401654, "translation_radius_pct_mean": 1.597057538996844}, "aligned": {"rotation_deg_mean": 1.0579791033173147, "rotation_deg_max": 2.6644102999382127, "translation_mean": 0.0620124441405628, "translation_radius_pct_mean": 1.5383394094972678}, "sim3": {"scale": 1.0005818006323588, "rotation": [[0.9999967421574735, 4.681254398937033e-05, 0.0025521526256541698], [-4.8067518120563474e-05, 0.9999998779738287, 0.0004916724942390279], [-0.002552129297784513, -0.0004917935680900635, 0.9999966223818626]], "translation": [0.009075690016004057, 0.006112330838523514, 0.0002097159022582673]}}} +{"step": 4000, "train_loss": 0.028235536068677902, "val_psnr": 17.441469192504883, "pose_gradient_norm": 1.075376033782959, "translation_update_mean": 0.0207967571914196, "rotation_update_deg_mean": 0.5384273529052734, "pose_errors": {"raw": {"rotation_deg_mean": 0.8812203360709673, "rotation_deg_max": 2.117385319746834, "translation_mean": 0.06144731320965536, "translation_radius_pct_mean": 1.5243202364975676}, "aligned": {"rotation_deg_mean": 0.9080861108895606, "rotation_deg_max": 2.176187322559146, "translation_mean": 0.05772211077742033, "translation_radius_pct_mean": 1.4319093375355354}, "sim3": {"scale": 1.0009618588305726, "rotation": [[0.9999992630894724, -0.0003877201003227035, 0.0011504319345709711], [0.0003872198620871776, 0.9999998304103361, 0.00043501732988121826], [-0.0011506004044322942, -0.0004345715392172866, 0.999999243632857]], "translation": [0.01672939620885494, 0.006292747155805259, 0.00215661167620107]}}} +{"step": 5000, "train_loss": 0.020069705322384834, "val_psnr": 17.35223388671875, "pose_gradient_norm": 1.1270043849945068, "translation_update_mean": 0.018620813265442848, "rotation_update_deg_mean": 0.4347319006919861, "pose_errors": {"raw": {"rotation_deg_mean": 0.7652217704548144, "rotation_deg_max": 1.7473486421503734, "translation_mean": 0.05763721429173957, "translation_radius_pct_mean": 1.4298033149224854}, "aligned": {"rotation_deg_mean": 0.755041300661967, "rotation_deg_max": 1.7124680146023161, "translation_mean": 0.05315666857008249, "translation_radius_pct_mean": 1.31865465508163}, "sim3": {"scale": 1.0003569185020058, "rotation": [[0.9999997925702031, -0.0005463310044143339, -0.00034114803793247985], [0.0005463452136224956, 0.9999998498898529, 4.155934777622549e-05], [0.0003411252815625779, -4.174572375342223e-05, 0.9999999409454158]], "translation": [0.0242081563974067, 0.007590419265219431, 0.002946768297237945]}}} +{"step": 6000, "train_loss": 0.01322290301322937, "val_psnr": 16.811077117919922, "pose_gradient_norm": 0.7077252864837646, "translation_update_mean": 0.01714218035340309, "rotation_update_deg_mean": 0.36627092957496643, "pose_errors": {"raw": {"rotation_deg_mean": 0.7205477484585132, "rotation_deg_max": 1.4963565305036144, "translation_mean": 0.05179304157075566, "translation_radius_pct_mean": 1.2848272325055403}, "aligned": {"rotation_deg_mean": 0.698209186154601, "rotation_deg_max": 1.454438043901027, "translation_mean": 0.04539818474071908, "translation_radius_pct_mean": 1.1261903586316513}, "sim3": {"scale": 1.0004892919849997, "rotation": [[0.9999996642203676, -0.0005264890839588667, -0.0006279875765449863], [0.0005261787673102687, 0.9999997394474077, -0.0004942074682905581], [0.0006282476077584964, 0.0004938768686168082, 0.9999996806952398]], "translation": [0.025025610441761714, 0.010543427396757205, 0.0028809685962234433]}}} +{"step": 7000, "train_loss": 0.01714048907160759, "val_psnr": 16.959835052490234, "pose_gradient_norm": 1.111895203590393, "translation_update_mean": 0.015922915190458298, "rotation_update_deg_mean": 0.2987988293170929, "pose_errors": {"raw": {"rotation_deg_mean": 0.6811352610319459, "rotation_deg_max": 1.3392860349076714, "translation_mean": 0.046206974376231606, "translation_radius_pct_mean": 1.1462539601804254}, "aligned": {"rotation_deg_mean": 0.6556438868301367, "rotation_deg_max": 1.3219283437080123, "translation_mean": 0.03873432595928616, "translation_radius_pct_mean": 0.9608803676310342}, "sim3": {"scale": 1.000877537733446, "rotation": [[0.9999997210288327, -0.0004967986067043262, -0.0005577933319756354], [0.0004963903629278209, 0.9999996090393432, -0.0007317907963873233], [0.0005581566665483802, 0.0007315137090042742, 0.9999995766743255]], "translation": [0.025142075990389923, 0.01190540629890749, 0.0017201490751861392]}}} +{"step": 8000, "train_loss": 0.013904154300689697, "val_psnr": 17.009260177612305, "pose_gradient_norm": 1.0505751371383667, "translation_update_mean": 0.013236154802143574, "rotation_update_deg_mean": 0.2519347071647644, "pose_errors": {"raw": {"rotation_deg_mean": 0.6132412269926695, "rotation_deg_max": 1.2417292634926265, "translation_mean": 0.04404447366864838, "translation_radius_pct_mean": 1.092608919936559}, "aligned": {"rotation_deg_mean": 0.5716656689456111, "rotation_deg_max": 1.2391829760332975, "translation_mean": 0.03518147809787669, "translation_radius_pct_mean": 0.8727450593570091}, "sim3": {"scale": 1.0008897241140786, "rotation": [[0.999999283828697, -0.0006327008164141056, -0.0010158896447257661], [0.000631454491066783, 0.9999990482555423, -0.0012266838368416623], [0.001016664801723522, 0.0012260414702472944, 0.9999987316066926]], "translation": [0.027440192061801094, 0.013538153200524455, 0.0036765496624640015]}}} +{"step": 9000, "train_loss": 0.01719355396926403, "val_psnr": 16.746089935302734, "pose_gradient_norm": 1.4258862733840942, "translation_update_mean": 0.011544640175998211, "rotation_update_deg_mean": 0.23138117790222168, "pose_errors": {"raw": {"rotation_deg_mean": 0.6214874986359207, "rotation_deg_max": 1.2144512105437415, "translation_mean": 0.04309135900337138, "translation_radius_pct_mean": 1.0689650550367664}, "aligned": {"rotation_deg_mean": 0.5676376373683925, "rotation_deg_max": 1.1856209986769628, "translation_mean": 0.03242327861308072, "translation_radius_pct_mean": 0.804322551173022}, "sim3": {"scale": 1.0012025386650372, "rotation": [[0.9999987882566256, -0.0006178186945955648, -0.001428910543529326], [0.0006163452055026049, 0.9999992781576493, -0.0010314081479627583], [0.0014295467353167767, 0.001030526195998174, 0.9999984472047398]], "translation": [0.03042980258097705, 0.013127067234230141, 0.0037395569461660116]}}} +{"step": 10000, "train_loss": 0.013702461495995522, "val_psnr": 17.212377548217773, "pose_gradient_norm": 0.917593240737915, "translation_update_mean": 0.010761554352939129, "rotation_update_deg_mean": 0.23273113369941711, "pose_errors": {"raw": {"rotation_deg_mean": 0.5703466277483273, "rotation_deg_max": 1.2742881131196122, "translation_mean": 0.04214184237094123, "translation_radius_pct_mean": 1.0454104463467824}, "aligned": {"rotation_deg_mean": 0.49953169827959326, "rotation_deg_max": 1.2625045941052795, "translation_mean": 0.029267156964255525, "translation_radius_pct_mean": 0.7260288089920154}, "sim3": {"scale": 1.0013600006518404, "rotation": [[0.9999981004471435, -0.00072273885051767, -0.0018101797310571277], [0.0007202989718918425, 0.9999988318232625, -0.0013481548506873535], [0.0018111519803343757, 0.0013468484191967263, 0.9999974528606758]], "translation": [0.03244532550788093, 0.014734913079995242, 0.004071579664661762]}}} +{"step": 11000, "train_loss": 0.010366875678300858, "val_psnr": 16.72762680053711, "pose_gradient_norm": 0.8226026892662048, "translation_update_mean": 0.010533575899899006, "rotation_update_deg_mean": 0.19112449884414673, "pose_errors": {"raw": {"rotation_deg_mean": 0.526944958547495, "rotation_deg_max": 1.12571452806868, "translation_mean": 0.04095335666436358, "translation_radius_pct_mean": 1.0159277445215096}, "aligned": {"rotation_deg_mean": 0.4426816113458606, "rotation_deg_max": 1.0828591690235252, "translation_mean": 0.026487095745556983, "translation_radius_pct_mean": 0.6570639779357668}, "sim3": {"scale": 1.0010155500548943, "rotation": [[0.9999978997813036, -0.0006482641277380578, -0.0019442701978258621], [0.000644645914469271, 0.9999980605313887, -0.0018610118503967197], [0.0019454728541985708, 0.001859754576025093, 0.9999963782175876]], "translation": [0.03316246269092715, 0.017492561750429104, 0.004153689596203325]}}} +{"step": 12000, "train_loss": 0.009332484565675259, "val_psnr": 17.04222869873047, "pose_gradient_norm": 0.7193631529808044, "translation_update_mean": 0.009669382125139236, "rotation_update_deg_mean": 0.18239814043045044, "pose_errors": {"raw": {"rotation_deg_mean": 0.5220756454363862, "rotation_deg_max": 0.9768489274192923, "translation_mean": 0.04046476923764425, "translation_radius_pct_mean": 1.0038073821664388}, "aligned": {"rotation_deg_mean": 0.4221015359757592, "rotation_deg_max": 0.9732815108861754, "translation_mean": 0.02427190636879827, "translation_radius_pct_mean": 0.6021118926729541}, "sim3": {"scale": 1.0008690621244176, "rotation": [[0.9999969859798636, -0.0006694618062345663, -0.0023621710516913605], [0.0006650448621879074, 0.9999980301129044, -0.001870156582421924], [0.0023634183968846327, 0.0018685799960107621, 0.9999954613208403]], "translation": [0.03514450158311694, 0.017868001624671837, 0.0049666070467351275]}}} +{"step": 13000, "train_loss": 0.01130902860313654, "val_psnr": 16.730844497680664, "pose_gradient_norm": 0.9643476605415344, "translation_update_mean": 0.007682798895984888, "rotation_update_deg_mean": 0.15256322920322418, "pose_errors": {"raw": {"rotation_deg_mean": 0.48996225047143227, "rotation_deg_max": 0.8842320886973236, "translation_mean": 0.039411889854363974, "translation_radius_pct_mean": 0.9776886592037395}, "aligned": {"rotation_deg_mean": 0.38718182740806606, "rotation_deg_max": 0.8295600221306876, "translation_mean": 0.022194635204997586, "translation_radius_pct_mean": 0.5505811371967864}, "sim3": {"scale": 1.0007286679236875, "rotation": [[0.9999970846807804, -0.0006760593854081902, -0.002318096988355356], [0.0006717542304186002, 0.9999980492746663, -0.0018574695462952608], [0.002319348226104826, 0.0018559069397201416, 0.9999955881068853]], "translation": [0.03513627502717964, 0.017580237423191813, 0.004633618638944181]}}} +{"step": 14000, "train_loss": 0.012142501771450043, "val_psnr": 16.00027847290039, "pose_gradient_norm": 1.1195127964019775, "translation_update_mean": 0.0071350508369505405, "rotation_update_deg_mean": 0.14658303558826447, "pose_errors": {"raw": {"rotation_deg_mean": 0.47459606743919913, "rotation_deg_max": 0.9847117479687487, "translation_mean": 0.03864334471922757, "translation_radius_pct_mean": 0.9586234008391785}, "aligned": {"rotation_deg_mean": 0.3677328344992237, "rotation_deg_max": 0.9229213307485677, "translation_mean": 0.020556691984925327, "translation_radius_pct_mean": 0.5099487666963654}, "sim3": {"scale": 1.0005080210320256, "rotation": [[0.9999970439802096, -0.00065223764315652, -0.0023423528554222905], [0.0006479979702932445, 0.9999981514381134, -0.0018103090858215167], [0.0023435292771695555, 0.0018087858946160302, 0.9999956180724567]], "translation": [0.035543128465600926, 0.01732233118516921, 0.004119618537151037]}}} +{"step": 15000, "train_loss": 0.008549011312425137, "val_psnr": 16.465757369995117, "pose_gradient_norm": 0.780109167098999, "translation_update_mean": 0.007040282245725393, "rotation_update_deg_mean": 0.13220436871051788, "pose_errors": {"raw": {"rotation_deg_mean": 0.45557572471100793, "rotation_deg_max": 0.9049274079377981, "translation_mean": 0.03798996769586965, "translation_radius_pct_mean": 0.9424151117091257}, "aligned": {"rotation_deg_mean": 0.34310406962677703, "rotation_deg_max": 0.8136578286827716, "translation_mean": 0.01865422423484648, "translation_radius_pct_mean": 0.46275435022392136}, "sim3": {"scale": 1.0002474326635808, "rotation": [[0.9999971506433031, -0.0006915808368113641, -0.0022848241117988596], [0.0006864234103907606, 0.9999972167810199, -0.002257266735898229], [0.0022863788350511393, 0.002255691947381173, 0.9999948421495296]], "translation": [0.035080697817074014, 0.019603545093261676, 0.0045962525441365365]}}} +{"step": 16000, "train_loss": 0.011406182311475277, "val_psnr": 17.286775588989258, "pose_gradient_norm": 1.0498780012130737, "translation_update_mean": 0.005528932902961969, "rotation_update_deg_mean": 0.13978934288024902, "pose_errors": {"raw": {"rotation_deg_mean": 0.43216525917930704, "rotation_deg_max": 0.8779621487671944, "translation_mean": 0.0376434433476798, "translation_radius_pct_mean": 0.9338189006008761}, "aligned": {"rotation_deg_mean": 0.3117275735620653, "rotation_deg_max": 0.8449741769311119, "translation_mean": 0.017089030357463664, "translation_radius_pct_mean": 0.4239266688052678}, "sim3": {"scale": 0.9999647295621908, "rotation": [[0.9999968080756947, -0.000815549642936977, -0.0023913839511651657], [0.0008100589342554525, 0.9999970358408494, -0.0022961084550689667], [0.0023932494531532242, 0.0022941639641296577, 0.99999450456928]], "translation": [0.03541930595796383, 0.020134571535110828, 0.004710900312973276]}}} +{"step": 17000, "train_loss": 0.006818306166678667, "val_psnr": 17.571035385131836, "pose_gradient_norm": 0.6365261673927307, "translation_update_mean": 0.005556407850235701, "rotation_update_deg_mean": 0.11249331384897232, "pose_errors": {"raw": {"rotation_deg_mean": 0.4229338480969951, "rotation_deg_max": 0.866086792697736, "translation_mean": 0.03801311149583293, "translation_radius_pct_mean": 0.9429892387260891}, "aligned": {"rotation_deg_mean": 0.2959213977135734, "rotation_deg_max": 0.7840985480455634, "translation_mean": 0.016659889342679954, "translation_radius_pct_mean": 0.41328099043501937}, "sim3": {"scale": 1.0000114599982568, "rotation": [[0.9999963812255809, -0.0007667281769257938, -0.0025786941745642696], [0.0007606393035034291, 0.9999969226608959, -0.0023613759948775937], [0.002580496772559358, 0.0023594059934496396, 0.9999938871011996]], "translation": [0.036484010148414625, 0.020214540147542655, 0.004911020174662717]}}} +{"step": 18000, "train_loss": 0.008951235562562943, "val_psnr": 17.39156150817871, "pose_gradient_norm": 1.3074066638946533, "translation_update_mean": 0.005562823731452227, "rotation_update_deg_mean": 0.11907919496297836, "pose_errors": {"raw": {"rotation_deg_mean": 0.42994406535296037, "rotation_deg_max": 0.9440848553199914, "translation_mean": 0.03791494810516906, "translation_radius_pct_mean": 0.940554104705475}, "aligned": {"rotation_deg_mean": 0.2926332337917799, "rotation_deg_max": 0.8544332348648294, "translation_mean": 0.015491213006637276, "translation_radius_pct_mean": 0.3842896986129098}, "sim3": {"scale": 1.0001032888899881, "rotation": [[0.9999959129237034, -0.0007372642312235415, -0.002762349967231752], [0.0007310868016562689, 0.9999972314778152, -0.0022366378323530577], [0.0027639913126765356, 0.0022346091734410656, 0.9999936834169831]], "translation": [0.03725436109462171, 0.01994334890246688, 0.005208757318292623]}}} +{"step": 19000, "train_loss": 0.008681492879986763, "val_psnr": 16.75124740600586, "pose_gradient_norm": 0.8507781624794006, "translation_update_mean": 0.004527216777205467, "rotation_update_deg_mean": 0.11691176891326904, "pose_errors": {"raw": {"rotation_deg_mean": 0.4098402996096192, "rotation_deg_max": 0.7462089310569644, "translation_mean": 0.03804710876552883, "translation_radius_pct_mean": 0.943832607190489}, "aligned": {"rotation_deg_mean": 0.2637164621248818, "rotation_deg_max": 0.6754012095012276, "translation_mean": 0.014930312308106663, "translation_radius_pct_mean": 0.37037546476319466}, "sim3": {"scale": 0.9998351890704364, "rotation": [[0.9999956329106229, -0.000705085231411247, -0.0028700199477213573], [0.0006979103619792353, 0.9999966310263183, -0.0025001714224395714], [0.0028717731126455034, 0.0024981574873068767, 0.9999927560379428]], "translation": [0.03747483450875716, 0.020989103891072884, 0.0059395277751859155]}}} +{"step": 20000, "train_loss": 0.008947120979428291, "val_psnr": 16.681900024414062, "pose_gradient_norm": 1.222237229347229, "translation_update_mean": 0.004462908022105694, "rotation_update_deg_mean": 0.10176224261522293, "pose_errors": {"raw": {"rotation_deg_mean": 0.40815019529770974, "rotation_deg_max": 0.9724118420633073, "translation_mean": 0.037549256640139, "translation_radius_pct_mean": 0.9314824159473705}, "aligned": {"rotation_deg_mean": 0.26199615883142174, "rotation_deg_max": 0.907274076907668, "translation_mean": 0.013773169640322967, "translation_radius_pct_mean": 0.3416702880372526}, "sim3": {"scale": 0.9997387798497858, "rotation": [[0.9999958561965087, -0.0007251536771013666, -0.00278599030089992], [0.0007182469778052867, 0.9999966686317251, -0.0024792835115358632], [0.002787778881295124, 0.002477272208758414, 0.9999930456814757]], "translation": [0.03716518523818718, 0.021108445630747583, 0.005738741198308084]}}} +{"step": 21000, "train_loss": 0.0085044726729393, "val_psnr": 15.790828704833984, "pose_gradient_norm": 0.9931736588478088, "translation_update_mean": 0.0042163413017988205, "rotation_update_deg_mean": 0.09646780043840408, "pose_errors": {"raw": {"rotation_deg_mean": 0.3978477091221548, "rotation_deg_max": 0.8919597285791693, "translation_mean": 0.03720938162456668, "translation_radius_pct_mean": 0.923051154480345}, "aligned": {"rotation_deg_mean": 0.24744976243492836, "rotation_deg_max": 0.8284536597001283, "translation_mean": 0.012941915144236937, "translation_radius_pct_mean": 0.32104940188491193}, "sim3": {"scale": 0.9994718787937267, "rotation": [[0.9999958829198121, -0.0007136164784929043, -0.0027793695233196913], [0.0007067164513985269, 0.9999966681756937, -0.0024827785581759353], [0.0027811320146403215, 0.002480804110210909, 0.9999930554337287]], "translation": [0.03692786874763826, 0.020981067719679503, 0.005905561717855168]}}} +{"step": 22000, "train_loss": 0.009725508280098438, "val_psnr": 15.583757400512695, "pose_gradient_norm": 0.9184517860412598, "translation_update_mean": 0.004200631286948919, "rotation_update_deg_mean": 0.08648426830768585, "pose_errors": {"raw": {"rotation_deg_mean": 0.3885766049223543, "rotation_deg_max": 0.8494858621795355, "translation_mean": 0.03780391358240004, "translation_radius_pct_mean": 0.9377996771940688}, "aligned": {"rotation_deg_mean": 0.23224210537261947, "rotation_deg_max": 0.7943947516460031, "translation_mean": 0.012749988791167885, "translation_radius_pct_mean": 0.3162882950338745}, "sim3": {"scale": 0.999329933800745, "rotation": [[0.9999954624043553, -0.0006783256227683891, -0.002935139698377179], [0.0006706676042656971, 0.9999963709259801, -0.002609279562111568], [0.0029368989877219054, 0.0026072992191462654, 0.9999922882778229]], "translation": [0.037689923605894515, 0.021844589624178415, 0.006115039979796233]}}} +{"step": 23000, "train_loss": 0.008494100533425808, "val_psnr": 17.132877349853516, "pose_gradient_norm": 0.8972896337509155, "translation_update_mean": 0.0034594167955219746, "rotation_update_deg_mean": 0.07920092344284058, "pose_errors": {"raw": {"rotation_deg_mean": 0.3787518007832407, "rotation_deg_max": 0.7755661156431106, "translation_mean": 0.03797550748513452, "translation_radius_pct_mean": 0.9420563980291251}, "aligned": {"rotation_deg_mean": 0.21489932167066528, "rotation_deg_max": 0.7150646480865473, "translation_mean": 0.012048209482977792, "translation_radius_pct_mean": 0.2988792929937115}, "sim3": {"scale": 0.999215370686993, "rotation": [[0.9999953345440846, -0.0007487160926094767, -0.0029614716404234936], [0.0007406590650782729, 0.9999960243881212, -0.002720777848646208], [0.002963496956921376, 0.0027185717141606103, 0.999991913494115]], "translation": [0.03798989359143368, 0.022196861591706876, 0.006121867269594183]}}} +{"step": 24000, "train_loss": 0.005777119193226099, "val_psnr": 16.060571670532227, "pose_gradient_norm": 0.5834389925003052, "translation_update_mean": 0.003282882273197174, "rotation_update_deg_mean": 0.07481357455253601, "pose_errors": {"raw": {"rotation_deg_mean": 0.3848211635451897, "rotation_deg_max": 0.7901033415644534, "translation_mean": 0.037983878540416426, "translation_radius_pct_mean": 0.9422640583530764}, "aligned": {"rotation_deg_mean": 0.22207558501769747, "rotation_deg_max": 0.7246722578917322, "translation_mean": 0.011454490638105332, "translation_radius_pct_mean": 0.28415094113003975}, "sim3": {"scale": 0.9991220966113701, "rotation": [[0.9999952233833169, -0.0007754254229182578, -0.0029919769323649968], [0.0007676610772185898, 0.9999963374682777, -0.002595331674595722], [0.002993978460315892, 0.0025930224534562144, 0.9999921561330047]], "translation": [0.038294399312801874, 0.02175378610439982, 0.006679359555276321]}}} +{"step": 25000, "train_loss": 0.007674099877476692, "val_psnr": 16.83689308166504, "pose_gradient_norm": 0.7625601887702942, "translation_update_mean": 0.002660029102116823, "rotation_update_deg_mean": 0.06807135790586472, "pose_errors": {"raw": {"rotation_deg_mean": 0.37656670062088543, "rotation_deg_max": 0.7635202011448126, "translation_mean": 0.037937525453638384, "translation_radius_pct_mean": 0.9411141797903014}, "aligned": {"rotation_deg_mean": 0.20996334143996095, "rotation_deg_max": 0.6927216101843588, "translation_mean": 0.011143531616767571, "translation_radius_pct_mean": 0.27643699719681425}, "sim3": {"scale": 0.999171194460392, "rotation": [[0.9999955152174056, -0.000771656564054942, -0.002893802208784659], [0.0007641483426603126, 0.9999963415497458, -0.002594795644145014], [0.0028957939130443604, 0.0025925727128887814, 0.9999924464436433]], "translation": [0.03796374700614913, 0.0219748162336577, 0.006683036895859917]}}} +{"step": 26000, "train_loss": 0.007351556792855263, "val_psnr": 16.055700302124023, "pose_gradient_norm": 1.089439034461975, "translation_update_mean": 0.002530881203711033, "rotation_update_deg_mean": 0.06988523155450821, "pose_errors": {"raw": {"rotation_deg_mean": 0.37303815788802264, "rotation_deg_max": 0.7256594757522992, "translation_mean": 0.03817370409872531, "translation_radius_pct_mean": 0.9469730509000314}, "aligned": {"rotation_deg_mean": 0.19859543868112783, "rotation_deg_max": 0.6630257606795491, "translation_mean": 0.010719431484108715, "translation_radius_pct_mean": 0.265916367721812}, "sim3": {"scale": 0.999115388760507, "rotation": [[0.9999953149566148, -0.0007350218870625008, -0.002971499225324272], [0.0007272119065897662, 0.9999962810080194, -0.002628522964083042], [0.0029734201962517454, 0.0026263497397218056, 0.9999921304987257]], "translation": [0.03845937341518879, 0.022028995608553044, 0.006887246962168803]}}} +{"step": 27000, "train_loss": 0.006806503050029278, "val_psnr": 16.75701904296875, "pose_gradient_norm": 1.2159912586212158, "translation_update_mean": 0.0025171898305416107, "rotation_update_deg_mean": 0.06230339780449867, "pose_errors": {"raw": {"rotation_deg_mean": 0.3726821390862308, "rotation_deg_max": 0.7677707814710621, "translation_mean": 0.03818977541432019, "translation_radius_pct_mean": 0.9473717311727526}, "aligned": {"rotation_deg_mean": 0.19804041111507864, "rotation_deg_max": 0.7038122551234992, "translation_mean": 0.010100556209883944, "translation_radius_pct_mean": 0.2505639616507754}, "sim3": {"scale": 0.9989864177163807, "rotation": [[0.9999952577945687, -0.0007706092838305553, -0.002981702484663994], [0.000762599931677473, 0.99999610091417, -0.002686372610337097], [0.002983761002423381, 0.0026840860248953154, 0.999991946393816]], "translation": [0.038513668196556106, 0.022422202770211445, 0.0071828273634522155]}}} +{"step": 28000, "train_loss": 0.006212578620761633, "val_psnr": 15.979129791259766, "pose_gradient_norm": 0.6614246964454651, "translation_update_mean": 0.002406181301921606, "rotation_update_deg_mean": 0.05958446487784386, "pose_errors": {"raw": {"rotation_deg_mean": 0.36182665161668354, "rotation_deg_max": 0.7354863467743131, "translation_mean": 0.038253813680694464, "translation_radius_pct_mean": 0.9489603250468488}, "aligned": {"rotation_deg_mean": 0.18360467624803348, "rotation_deg_max": 0.6608372441460522, "translation_mean": 0.009899286588929026, "translation_radius_pct_mean": 0.24557107684933596}, "sim3": {"scale": 0.9988402021009821, "rotation": [[0.9999952144617814, -0.0007884766619923869, -0.0029915477750237403], [0.000780250962061289, 0.9999959148455455, -0.0027498182953264614], [0.0029937037216394738, 0.0027474709779364863, 0.9999917445365513]], "translation": [0.03851246416277759, 0.02260036034821338, 0.007236683071262462]}}} +{"step": 29000, "train_loss": 0.008727923035621643, "val_psnr": 16.166473388671875, "pose_gradient_norm": 0.6681618690490723, "translation_update_mean": 0.0022911971900612116, "rotation_update_deg_mean": 0.05295676738023758, "pose_errors": {"raw": {"rotation_deg_mean": 0.3613284230943206, "rotation_deg_max": 0.6835544518549836, "translation_mean": 0.03824800983258251, "translation_radius_pct_mean": 0.9488163492948672}, "aligned": {"rotation_deg_mean": 0.17944150860772637, "rotation_deg_max": 0.6139009378797126, "translation_mean": 0.00945324221276857, "translation_radius_pct_mean": 0.23450607769082957}, "sim3": {"scale": 0.998704980394359, "rotation": [[0.9999952695507903, -0.0008170745178254626, -0.002965344039830844], [0.0008088306393482965, 0.9999958081035482, -0.0027802101229972218], [0.0029676032482614206, 0.0027777985102388834, 0.999991738549073]], "translation": [0.0384748743600582, 0.022756334491713673, 0.007340010910250605]}}} +{"step": 29999, "train_loss": 0.005729032214730978, "val_psnr": 17.172060012817383, "pose_gradient_norm": 0.7723523378372192, "translation_update_mean": 0.002143849851563573, "rotation_update_deg_mean": 0.0504746250808239, "pose_errors": {"raw": {"rotation_deg_mean": 0.3576907654318797, "rotation_deg_max": 0.7561656285778392, "translation_mean": 0.03821529658435281, "translation_radius_pct_mean": 0.9480048334828095}, "aligned": {"rotation_deg_mean": 0.17645954241835496, "rotation_deg_max": 0.6714279110517181, "translation_mean": 0.009191982871898171, "translation_radius_pct_mean": 0.22802503109235617}, "sim3": {"scale": 0.9986331032971739, "rotation": [[0.9999953149711248, -0.0007757576053733465, -0.002961120723455451], [0.0007673872208431898, 0.9999957100014644, -0.0028268525819524558], [0.002963300972641671, 0.0028245670118639526, 0.9999916202991606]], "translation": [0.038387503339057105, 0.02300420604893793, 0.007339307902806791]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_SV100-T5.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_SV100-T5.jsonl new file mode 100644 index 0000000..0012dde --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_SV100-T5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34214335680007935, "val_psnr": 7.343873977661133, "pose_gradient_norm": 0.005503831431269646, "translation_update_mean": 0.0017304199282079935, "rotation_update_deg_mean": 0.09921451658010483, "pose_errors": {"raw": {"rotation_deg_mean": 0.10165594871392607, "rotation_deg_max": 0.10952005527814353, "translation_mean": 0.16006649529223668, "translation_radius_pct_mean": 3.970761050637116}, "aligned": {"rotation_deg_mean": 0.40643065098250303, "rotation_deg_max": 0.4783442082212253, "translation_mean": 0.15833976302267241, "translation_radius_pct_mean": 3.927926094899839}, "sim3": {"scale": 0.998173264862126, "rotation": [[0.9999771058248702, -0.0026040527757288674, 0.006245537227265428], [0.0025980490611629587, 0.9999961553875081, 0.0009692013612463943], [-0.006248037067090062, -0.0009529529600509305, 0.9999800267572673]], "translation": [-0.007184383864490829, 0.0032640782544641894, 0.0057969609314110215]}}} +{"step": 1000, "train_loss": 0.05582568421959877, "val_psnr": 16.31293487548828, "pose_gradient_norm": 1.4545193910598755, "translation_update_mean": 0.05123690515756607, "rotation_update_deg_mean": 2.1703343391418457, "pose_errors": {"raw": {"rotation_deg_mean": 2.1652173377681323, "rotation_deg_max": 4.877762834139322, "translation_mean": 0.15298347888115618, "translation_radius_pct_mean": 3.795053038571295}, "aligned": {"rotation_deg_mean": 2.227602124998412, "rotation_deg_max": 4.905412423293764, "translation_mean": 0.15060229981549728, "translation_radius_pct_mean": 3.7359832559084807}, "sim3": {"scale": 0.9968151685968641, "rotation": [[0.9999730814550629, -0.0024772261837035774, 0.006906498077953842], [0.002477779826201713, 0.9999969277350513, -7.160719661641874e-05], [-0.006906299472139374, 8.871805066218931e-05, 0.9999761472938782]], "translation": [-0.008408489450761725, 0.01513577156126357, 0.008990381318499718]}}} +{"step": 2000, "train_loss": 0.03311556205153465, "val_psnr": 17.35650062561035, "pose_gradient_norm": 1.5290465354919434, "translation_update_mean": 0.03358018025755882, "rotation_update_deg_mean": 1.6536865234375, "pose_errors": {"raw": {"rotation_deg_mean": 1.679328744258165, "rotation_deg_max": 3.398182246961059, "translation_mean": 0.14176957904265594, "translation_radius_pct_mean": 3.5168704206338717}, "aligned": {"rotation_deg_mean": 1.6982182441828664, "rotation_deg_max": 3.32098346184414, "translation_mean": 0.13995410814280532, "translation_radius_pct_mean": 3.4718341304062967}, "sim3": {"scale": 0.9978690358089994, "rotation": [[0.9999827689111919, -0.0017794513861244979, 0.005594232160872308], [0.0017797707850727524, 0.9999984148486508, -5.2116582160973305e-05], [-0.005594130554243121, 6.207213510027034e-05, 0.9999843508027463]], "translation": [-0.006880875875757475, 0.012437575093801168, 0.007634879456129173]}}} +{"step": 3000, "train_loss": 0.033901795744895935, "val_psnr": 18.4388427734375, "pose_gradient_norm": 1.1820169687271118, "translation_update_mean": 0.02472216635942459, "rotation_update_deg_mean": 0.7883657813072205, "pose_errors": {"raw": {"rotation_deg_mean": 1.5432610444974668, "rotation_deg_max": 2.7236492303692126, "translation_mean": 0.13117652955240544, "translation_radius_pct_mean": 3.2540892043239644}, "aligned": {"rotation_deg_mean": 1.5650764255989873, "rotation_deg_max": 2.7446303289178258, "translation_mean": 0.12925131790053804, "translation_radius_pct_mean": 3.2063305810873466}, "sim3": {"scale": 0.9987649589988771, "rotation": [[0.9999838613585962, -0.002049844759563129, 0.005298599703124903], [0.0020492122024624746, 0.9999978925739103, 0.00012480820255322223], [-0.0052988443741575995, -0.00011394823315077962, 0.999985954533412]], "translation": [-0.006350183016275546, 0.011619118150615844, 0.009522925319859432]}}} +{"step": 4000, "train_loss": 0.03092445619404316, "val_psnr": 18.889419555664062, "pose_gradient_norm": 0.8194820284843445, "translation_update_mean": 0.02371096983551979, "rotation_update_deg_mean": 0.6110625863075256, "pose_errors": {"raw": {"rotation_deg_mean": 1.41133668802009, "rotation_deg_max": 2.983850247302034, "translation_mean": 0.12163856963413347, "translation_radius_pct_mean": 3.017481539010453}, "aligned": {"rotation_deg_mean": 1.424735696995522, "rotation_deg_max": 3.2004333984256164, "translation_mean": 0.11958623909645265, "translation_radius_pct_mean": 2.96656948432232}, "sim3": {"scale": 0.998102622758222, "rotation": [[0.9999886686923308, -0.002103935706653943, 0.004270356130537848], [0.0021043300488190445, 0.9999977820359841, -8.785304935948188e-05], [-0.004270161821873991, 9.683829259422247e-05, 0.999990878128575]], "translation": [-0.0021977820349200483, 0.011493278112606392, 0.0105399147688221]}}} +{"step": 5000, "train_loss": 0.021953942254185677, "val_psnr": 19.91799545288086, "pose_gradient_norm": 0.7635688185691833, "translation_update_mean": 0.02289271540939808, "rotation_update_deg_mean": 0.5218197703361511, "pose_errors": {"raw": {"rotation_deg_mean": 1.3120057821166622, "rotation_deg_max": 2.3220171402687484, "translation_mean": 0.10995136066200793, "translation_radius_pct_mean": 2.727557566523604}, "aligned": {"rotation_deg_mean": 1.314815604881109, "rotation_deg_max": 2.3286113382393854, "translation_mean": 0.10792306959687492, "translation_radius_pct_mean": 2.6772418577546873}, "sim3": {"scale": 0.998837025545144, "rotation": [[0.9999908486392742, -0.002053235300686428, 0.0037532469282684166], [0.002053121353713829, 0.9999978917588909, 3.421227384371511e-05], [-0.0037533092613672675, -2.6506089340565212e-05, 0.9999929559586984]], "translation": [0.0007327556560913773, 0.009802819901227486, 0.008061702819805117]}}} +{"step": 6000, "train_loss": 0.016460763290524483, "val_psnr": 19.60043716430664, "pose_gradient_norm": 0.892720103263855, "translation_update_mean": 0.01927276886999607, "rotation_update_deg_mean": 0.3794618844985962, "pose_errors": {"raw": {"rotation_deg_mean": 1.2690472612706014, "rotation_deg_max": 2.4292498258826285, "translation_mean": 0.09880199401636493, "translation_radius_pct_mean": 2.450975820075264}, "aligned": {"rotation_deg_mean": 1.2638591094123743, "rotation_deg_max": 2.626762293851214, "translation_mean": 0.09639962263637113, "translation_radius_pct_mean": 2.391380320795863}, "sim3": {"scale": 0.9984791400920171, "rotation": [[0.9999900489202682, -0.001944134574257118, 0.004015270999222448], [0.001942704913084491, 0.9999980481737093, 0.000359925537168505], [-0.004015962905791888, -0.00035212146882325544, 0.999991873993189]], "translation": [-0.000292041670131693, 0.009234948717784658, 0.010508519606253763]}}} +{"step": 7000, "train_loss": 0.017749417573213577, "val_psnr": 18.21332550048828, "pose_gradient_norm": 1.6130903959274292, "translation_update_mean": 0.018807444721460342, "rotation_update_deg_mean": 0.3436036705970764, "pose_errors": {"raw": {"rotation_deg_mean": 1.140307431610129, "rotation_deg_max": 2.4679156012388535, "translation_mean": 0.08794124762020228, "translation_radius_pct_mean": 2.181553860832669}, "aligned": {"rotation_deg_mean": 1.148433471562565, "rotation_deg_max": 2.418420991650722, "translation_mean": 0.08508451672157635, "translation_radius_pct_mean": 2.1106870890969254}, "sim3": {"scale": 0.9981434866322312, "rotation": [[0.9999907763646176, -0.0018870895537393757, 0.0038582481395372445], [0.0018864151175151775, 0.9999982047977919, 0.00017843541864543766], [-0.0038585779368162953, -0.00017115551520465944, 0.9999925410132303]], "translation": [0.0003681843926458539, 0.01023082886170796, 0.011997886054428974]}}} +{"step": 8000, "train_loss": 0.013878803700208664, "val_psnr": 18.164306640625, "pose_gradient_norm": 0.8824182748794556, "translation_update_mean": 0.016676902770996094, "rotation_update_deg_mean": 0.28707271814346313, "pose_errors": {"raw": {"rotation_deg_mean": 1.0857688782617785, "rotation_deg_max": 2.0482778670730255, "translation_mean": 0.07947157729120473, "translation_radius_pct_mean": 1.9714471986438113}, "aligned": {"rotation_deg_mean": 1.088590491374447, "rotation_deg_max": 2.1148604304277634, "translation_mean": 0.07619372907123959, "translation_radius_pct_mean": 1.8901337918751115}, "sim3": {"scale": 0.9978226892788058, "rotation": [[0.9999938171788472, -0.0016617227474624557, 0.00309907753834928], [0.0016625443350536983, 0.9999985835059635, -0.0002625498030479012], [-0.003098636863544291, 0.0002677005335547543, 0.9999951633813088]], "translation": [0.0034230062644047266, 0.010816772199975296, 0.01386426084854131]}}} +{"step": 9000, "train_loss": 0.017561178654432297, "val_psnr": 19.3486385345459, "pose_gradient_norm": 0.771243691444397, "translation_update_mean": 0.015850979834794998, "rotation_update_deg_mean": 0.24098515510559082, "pose_errors": {"raw": {"rotation_deg_mean": 1.0040788086271915, "rotation_deg_max": 1.9495142816406557, "translation_mean": 0.07102702869683329, "translation_radius_pct_mean": 1.7619637299920878}, "aligned": {"rotation_deg_mean": 1.004299639025283, "rotation_deg_max": 2.131957918359657, "translation_mean": 0.06782043889622912, "translation_radius_pct_mean": 1.6824180270493005}, "sim3": {"scale": 0.9978267791861605, "rotation": [[0.999992400261238, -0.0015871195254296166, 0.0035609649508959967], [0.0015877178315969601, 0.9999987259301478, -0.00016519736524224103], [-0.0035606982260141624, 0.0001708499173356563, 0.9999936460990402]], "translation": [0.000778493270248759, 0.010396760554220258, 0.01297677695523225]}}} +{"step": 10000, "train_loss": 0.01674012281000614, "val_psnr": 19.35120391845703, "pose_gradient_norm": 0.8282016515731812, "translation_update_mean": 0.012491566129028797, "rotation_update_deg_mean": 0.23612166941165924, "pose_errors": {"raw": {"rotation_deg_mean": 0.9452096231330593, "rotation_deg_max": 1.9090382305923634, "translation_mean": 0.06640445899710802, "translation_radius_pct_mean": 1.6472918888674786}, "aligned": {"rotation_deg_mean": 0.9464070806414155, "rotation_deg_max": 2.0693353437724933, "translation_mean": 0.06270153799396523, "translation_radius_pct_mean": 1.5554337241339957}, "sim3": {"scale": 0.9975671181473169, "rotation": [[0.9999928248806583, -0.0014749866912936562, 0.0034892121547652746], [0.001475325466701525, 0.9999989072397374, -9.45203570245542e-05], [-0.0034890689256241382, 9.96674023803064e-05, 0.999993908213665]], "translation": [0.0013407421519004425, 0.009748224605421144, 0.01450470755648503]}}} +{"step": 11000, "train_loss": 0.011765457689762115, "val_psnr": 18.70796012878418, "pose_gradient_norm": 1.1213241815567017, "translation_update_mean": 0.011397942900657654, "rotation_update_deg_mean": 0.22353015840053558, "pose_errors": {"raw": {"rotation_deg_mean": 0.8668669291677547, "rotation_deg_max": 1.754311797341687, "translation_mean": 0.061493414365810406, "translation_radius_pct_mean": 1.525463865430753}, "aligned": {"rotation_deg_mean": 0.8694084638230842, "rotation_deg_max": 1.931465014210159, "translation_mean": 0.05720002232680065, "translation_radius_pct_mean": 1.4189579170591688}, "sim3": {"scale": 0.9971726217202633, "rotation": [[0.9999933384811045, -0.0013966317983193394, 0.003372300851755268], [0.0013962482682670738, 0.9999990185074934, 0.00011608110295048293], [-0.003372459664426665, -0.00011137176044967335, 0.9999943070398654]], "translation": [0.002494036380014941, 0.009583402915810765, 0.014643633899044772]}}} +{"step": 12000, "train_loss": 0.010546058416366577, "val_psnr": 18.842742919921875, "pose_gradient_norm": 0.8154863715171814, "translation_update_mean": 0.0108898701146245, "rotation_update_deg_mean": 0.19380927085876465, "pose_errors": {"raw": {"rotation_deg_mean": 0.8086536072047048, "rotation_deg_max": 1.6783087042166744, "translation_mean": 0.05725945762631006, "translation_radius_pct_mean": 1.420432325378624}, "aligned": {"rotation_deg_mean": 0.8071764245500916, "rotation_deg_max": 1.790609803108561, "translation_mean": 0.05278536951516295, "translation_radius_pct_mean": 1.309443859138849}, "sim3": {"scale": 0.9967718016824055, "rotation": [[0.9999953262068362, -0.0012894411823657552, 0.0027721662866772956], [0.0012897416656666848, 0.9999991626002357, -0.00010660799610243494], [-0.0027720265005254847, 0.00011018287620285103, 0.9999961518570043]], "translation": [0.0048561282327933, 0.010218357370848224, 0.015515469597754183]}}} +{"step": 13000, "train_loss": 0.012891893275082111, "val_psnr": 18.375953674316406, "pose_gradient_norm": 0.962931752204895, "translation_update_mean": 0.009744963608682156, "rotation_update_deg_mean": 0.18367433547973633, "pose_errors": {"raw": {"rotation_deg_mean": 0.7324604863363444, "rotation_deg_max": 1.6557020491288696, "translation_mean": 0.05418425270987923, "translation_radius_pct_mean": 1.3441458802821808}, "aligned": {"rotation_deg_mean": 0.7314247977009691, "rotation_deg_max": 1.781214780268315, "translation_mean": 0.048733126869576135, "translation_radius_pct_mean": 1.2089200909670645}, "sim3": {"scale": 0.9958512853846406, "rotation": [[0.999994449758162, -0.001423876742119708, 0.003012146725266484], [0.0014245057461942357, 0.9999989640313097, -0.0002066874132587707], [-0.0030118493073761875, 0.00021097708641220717, 0.9999954421158226]], "translation": [0.0030931912052877264, 0.011336741160875165, 0.01739091133830506]}}} +{"step": 14000, "train_loss": 0.013449372723698616, "val_psnr": 18.688922882080078, "pose_gradient_norm": 1.364989161491394, "translation_update_mean": 0.008557402528822422, "rotation_update_deg_mean": 0.1780693382024765, "pose_errors": {"raw": {"rotation_deg_mean": 0.6853767229232449, "rotation_deg_max": 1.5603079870558016, "translation_mean": 0.05040146797737954, "translation_radius_pct_mean": 1.2503065402545803}, "aligned": {"rotation_deg_mean": 0.6819057352242737, "rotation_deg_max": 1.654823162818874, "translation_mean": 0.04426797769307566, "translation_radius_pct_mean": 1.0981533724044923}, "sim3": {"scale": 0.9958734300319353, "rotation": [[0.9999956264439183, -0.0013831752516318598, 0.0026141765929748803], [0.0013844557070437262, 0.9999989225364018, -0.0004880660098017952], [-0.0026134986954688055, 0.0004916830869211398, 0.9999964639299036]], "translation": [0.004415273984427481, 0.012463508708950535, 0.017927360855022112]}}} +{"step": 15000, "train_loss": 0.009584437124431133, "val_psnr": 17.680953979492188, "pose_gradient_norm": 0.7415311932563782, "translation_update_mean": 0.007355175446718931, "rotation_update_deg_mean": 0.16051451861858368, "pose_errors": {"raw": {"rotation_deg_mean": 0.6379828402748291, "rotation_deg_max": 1.5243082756967894, "translation_mean": 0.04801538768435187, "translation_radius_pct_mean": 1.1911151731046394}, "aligned": {"rotation_deg_mean": 0.6333652420314845, "rotation_deg_max": 1.6336687871262214, "translation_mean": 0.041275210802543955, "translation_radius_pct_mean": 1.0239119630398181}, "sim3": {"scale": 0.9953310119229837, "rotation": [[0.9999961443406298, -0.0012309195532872106, 0.0024892048787205487], [0.0012318909995512588, 0.9999991656516047, -0.00038876813079104586], [-0.002488724259562547, 0.00039183306091968066, 0.9999968263541703]], "translation": [0.004805124718610387, 0.011860630409835489, 0.019116374409193337]}}} +{"step": 16000, "train_loss": 0.010566405951976776, "val_psnr": 18.98454475402832, "pose_gradient_norm": 0.7200754880905151, "translation_update_mean": 0.0071004340425133705, "rotation_update_deg_mean": 0.13526861369609833, "pose_errors": {"raw": {"rotation_deg_mean": 0.5839664217617423, "rotation_deg_max": 1.4599105445227356, "translation_mean": 0.045229954249118375, "translation_radius_pct_mean": 1.122017073758024}, "aligned": {"rotation_deg_mean": 0.5874200334168314, "rotation_deg_max": 1.56655569317772, "translation_mean": 0.0382451402836504, "translation_radius_pct_mean": 0.9487451645468553}, "sim3": {"scale": 0.9952154973045063, "rotation": [[0.9999957815386916, -0.0011589427295189438, 0.002663410702756094], [0.0011596511979330728, 0.9999992926317077, -0.00026447151720592794], [-0.002663102311401735, 0.000267559028955122, 0.9999964181427075]], "translation": [0.003920567385114204, 0.01108441602593778, 0.01885463281277966]}}} +{"step": 17000, "train_loss": 0.008104231208562851, "val_psnr": 18.296924591064453, "pose_gradient_norm": 1.0092766284942627, "translation_update_mean": 0.006172241643071175, "rotation_update_deg_mean": 0.12440174072980881, "pose_errors": {"raw": {"rotation_deg_mean": 0.5554149895905609, "rotation_deg_max": 1.393543814361427, "translation_mean": 0.04305420595848515, "translation_radius_pct_mean": 1.0680434014247628}, "aligned": {"rotation_deg_mean": 0.5531405313616997, "rotation_deg_max": 1.49486531225804, "translation_mean": 0.035235365617166094, "translation_radius_pct_mean": 0.8740818441870833}, "sim3": {"scale": 0.995089726372308, "rotation": [[0.9999960554582468, -0.0011738766728925263, 0.002551682092842685], [0.0011746842684841575, 0.9999992604394521, -0.00031501971016424706], [-0.0025513104114299797, 0.0003180158883685292, 0.9999966948350768]], "translation": [0.004037788815445531, 0.012035123760503204, 0.01986218403082285]}}} +{"step": 18000, "train_loss": 0.008794611319899559, "val_psnr": 18.51255989074707, "pose_gradient_norm": 0.8862982988357544, "translation_update_mean": 0.006024709902703762, "rotation_update_deg_mean": 0.1307579129934311, "pose_errors": {"raw": {"rotation_deg_mean": 0.5191880278564672, "rotation_deg_max": 1.2844319205464123, "translation_mean": 0.04163969561241637, "translation_radius_pct_mean": 1.0329537183674893}, "aligned": {"rotation_deg_mean": 0.5174564028472242, "rotation_deg_max": 1.348473187861071, "translation_mean": 0.033023636246772396, "translation_radius_pct_mean": 0.8192155911184726}, "sim3": {"scale": 0.9948014604939578, "rotation": [[0.9999959952348801, -0.001258585907324686, 0.002534852207772662], [0.0012592757662290113, 0.9999991705073505, -0.00027057190415617115], [-0.0025345095671459573, 0.00027376289853547637, 0.999996750652286]], "translation": [0.004111810860463805, 0.012264884122829375, 0.020585506005645904]}}} +{"step": 19000, "train_loss": 0.007778302766382694, "val_psnr": 18.40741539001465, "pose_gradient_norm": 0.7267072200775146, "translation_update_mean": 0.0054746363312006, "rotation_update_deg_mean": 0.11552444845438004, "pose_errors": {"raw": {"rotation_deg_mean": 0.4898038281304457, "rotation_deg_max": 1.296690700779058, "translation_mean": 0.04023277848749949, "translation_radius_pct_mean": 0.9980523999441999}, "aligned": {"rotation_deg_mean": 0.4864437791263348, "rotation_deg_max": 1.389845679912453, "translation_mean": 0.03073939335307926, "translation_radius_pct_mean": 0.7625504989271824}, "sim3": {"scale": 0.9944847377625364, "rotation": [[0.9999963523028053, -0.0011573889434533275, 0.002440457317213262], [0.0011582399812513017, 0.9999992689186071, -0.00034733614431585924], [-0.0024400535300273625, 0.0003501615125761432, 0.9999969617582282]], "translation": [0.00423960041696797, 0.012516762565192067, 0.021083119803912975]}}} +{"step": 20000, "train_loss": 0.009451685473322868, "val_psnr": 19.100677490234375, "pose_gradient_norm": 1.0777231454849243, "translation_update_mean": 0.0049326238222420216, "rotation_update_deg_mean": 0.10933191329240799, "pose_errors": {"raw": {"rotation_deg_mean": 0.462342342621344, "rotation_deg_max": 1.2198841823673578, "translation_mean": 0.03890204937939001, "translation_radius_pct_mean": 0.9650410736089599}, "aligned": {"rotation_deg_mean": 0.4566542578253459, "rotation_deg_max": 1.3028944290976505, "translation_mean": 0.028612952036684253, "translation_radius_pct_mean": 0.709799982086096}, "sim3": {"scale": 0.9944791086525505, "rotation": [[0.9999964353482952, -0.0011687392525694391, 0.002400695578782604], [0.001169696864691874, 0.999999236891611, -0.0003975241359694936], [-0.002400229144729924, 0.0004003308050260088, 0.9999970393132654]], "translation": [0.004449037044856774, 0.013028020157626233, 0.021274120609517944]}}} +{"step": 21000, "train_loss": 0.008073192089796066, "val_psnr": 17.457992553710938, "pose_gradient_norm": 0.9190410375595093, "translation_update_mean": 0.004803444724529982, "rotation_update_deg_mean": 0.10590032488107681, "pose_errors": {"raw": {"rotation_deg_mean": 0.44273067198759336, "rotation_deg_max": 1.2375451404718112, "translation_mean": 0.037873897987329694, "translation_radius_pct_mean": 0.9395357766116224}, "aligned": {"rotation_deg_mean": 0.4342491349637729, "rotation_deg_max": 1.2828794824067784, "translation_mean": 0.02718926861398731, "translation_radius_pct_mean": 0.6744827430039148}, "sim3": {"scale": 0.9943919509426368, "rotation": [[0.9999967696897776, -0.001114208529843806, 0.00228454576701716], [0.0011146130582377312, 0.9999993633647611, -0.00017580614847068513], [-0.0022843484278844673, 0.0001783519651063726, 0.9999973749679719]], "translation": [0.004892540043499594, 0.011914717254105332, 0.021577209482283255]}}} +{"step": 22000, "train_loss": 0.008247897028923035, "val_psnr": 17.307933807373047, "pose_gradient_norm": 0.8698978424072266, "translation_update_mean": 0.004397946409881115, "rotation_update_deg_mean": 0.09647127985954285, "pose_errors": {"raw": {"rotation_deg_mean": 0.417964217115297, "rotation_deg_max": 1.2309244969003932, "translation_mean": 0.037039632835040234, "translation_radius_pct_mean": 0.9188402052706817}, "aligned": {"rotation_deg_mean": 0.4072732635226003, "rotation_deg_max": 1.2795739754373292, "translation_mean": 0.02557185695277754, "translation_radius_pct_mean": 0.6343596977941561}, "sim3": {"scale": 0.9941469426506697, "rotation": [[0.9999970645253949, -0.00104003925999304, 0.002188437554560751], [0.00104052045204473, 0.9999994347321725, -0.00021875220050460373], [-0.002188208806630706, 0.00022102867239659596, 0.9999975814413475]], "translation": [0.0050765980673525, 0.012255014024203426, 0.02169068965455878]}}} +{"step": 23000, "train_loss": 0.00707959895953536, "val_psnr": 18.539508819580078, "pose_gradient_norm": 0.8194941282272339, "translation_update_mean": 0.003909804858267307, "rotation_update_deg_mean": 0.0868804082274437, "pose_errors": {"raw": {"rotation_deg_mean": 0.39396042936941833, "rotation_deg_max": 1.1122735217366948, "translation_mean": 0.03638882664907132, "translation_radius_pct_mean": 0.9026956907672495}, "aligned": {"rotation_deg_mean": 0.3895857085328868, "rotation_deg_max": 1.2043997388293883, "translation_mean": 0.024114239079275856, "translation_radius_pct_mean": 0.5982006485924729}, "sim3": {"scale": 0.9939686306526772, "rotation": [[0.9999966897153281, -0.0010810751821179363, 0.0023349164515823044], [0.0010817435406669492, 0.9999993743024046, -0.0002850012452863181], [-0.002334606882857412, 0.00028752608264063443, 0.9999972334658993]], "translation": [0.0044684842838509375, 0.012625195939833855, 0.021865335286795684]}}} +{"step": 24000, "train_loss": 0.007407466880977154, "val_psnr": 17.341663360595703, "pose_gradient_norm": 0.8770632147789001, "translation_update_mean": 0.003623450407758355, "rotation_update_deg_mean": 0.07406118512153625, "pose_errors": {"raw": {"rotation_deg_mean": 0.3819663570137504, "rotation_deg_max": 1.1372325004909618, "translation_mean": 0.03582182664276844, "translation_radius_pct_mean": 0.8886301517134456}, "aligned": {"rotation_deg_mean": 0.37975753884934604, "rotation_deg_max": 1.1818784835046445, "translation_mean": 0.022840697659509093, "translation_radius_pct_mean": 0.5666079742058037}, "sim3": {"scale": 0.9939403041438669, "rotation": [[0.9999968452618698, -0.0010747382544941176, 0.002270331251756588], [0.0010753930060222472, 0.9999993805246535, -0.0002871936498976854], [-0.0022700211873404688, 0.00028963424222638894, 0.9999973815544799]], "translation": [0.0048147796518966945, 0.012681504953063666, 0.022617246290110415]}}} +{"step": 25000, "train_loss": 0.007413734681904316, "val_psnr": 18.510705947875977, "pose_gradient_norm": 0.8847336769104004, "translation_update_mean": 0.0032421748619526625, "rotation_update_deg_mean": 0.06828022748231888, "pose_errors": {"raw": {"rotation_deg_mean": 0.3643360595903349, "rotation_deg_max": 1.0448269490232722, "translation_mean": 0.035136976805278074, "translation_radius_pct_mean": 0.8716411181541298}, "aligned": {"rotation_deg_mean": 0.3637711899015581, "rotation_deg_max": 1.0773287366767847, "translation_mean": 0.021668509680662654, "translation_radius_pct_mean": 0.5375295692470976}, "sim3": {"scale": 0.9938606615430172, "rotation": [[0.9999969150539496, -0.0010308472950178883, 0.0022599195647541215], [0.0010312243256466822, 0.9999994545639844, -0.00016567475426844], [-0.0022597475467403577, 0.00016800472719992872, 0.9999974326544234]], "translation": [0.004972770519249992, 0.012072071185238412, 0.022623493679946538]}}} +{"step": 26000, "train_loss": 0.006538078188896179, "val_psnr": 17.62773323059082, "pose_gradient_norm": 1.431304693222046, "translation_update_mean": 0.003166642040014267, "rotation_update_deg_mean": 0.06466446071863174, "pose_errors": {"raw": {"rotation_deg_mean": 0.35102331738686354, "rotation_deg_max": 1.1025225413723378, "translation_mean": 0.0348479592695442, "translation_radius_pct_mean": 0.8644714754893861}, "aligned": {"rotation_deg_mean": 0.3488948060265117, "rotation_deg_max": 1.0527744579654927, "translation_mean": 0.02082178843356293, "translation_radius_pct_mean": 0.5165250002235042}, "sim3": {"scale": 0.9937900759678413, "rotation": [[0.9999971681442154, -0.0009480731426839634, 0.0021828561256362396], [0.0009486547002010995, 0.9999995148083052, -0.00026540047886133665], [-0.0021826034474664293, 0.0002674705040088799, 0.9999975823479372]], "translation": [0.005232752168263521, 0.012391092231881715, 0.02314870238661637]}}} +{"step": 27000, "train_loss": 0.007278915960341692, "val_psnr": 17.705955505371094, "pose_gradient_norm": 0.944882869720459, "translation_update_mean": 0.003011442255228758, "rotation_update_deg_mean": 0.06401250511407852, "pose_errors": {"raw": {"rotation_deg_mean": 0.3424426087597723, "rotation_deg_max": 1.0997485887371936, "translation_mean": 0.0345715845381845, "translation_radius_pct_mean": 0.8576154622015347}, "aligned": {"rotation_deg_mean": 0.33758843571331604, "rotation_deg_max": 1.0564010982533272, "translation_mean": 0.020005708353893543, "translation_radius_pct_mean": 0.4962805450135874}, "sim3": {"scale": 0.9935780550189978, "rotation": [[0.9999971689938373, -0.0009360372547615927, 0.0021876559529722226], [0.0009367170674405231, 0.9999995133093406, -0.00030974540876134785], [-0.002187364955018493, 0.00031179374653904753, 0.9999975591066281]], "translation": [0.004993834695343535, 0.01269148078738716, 0.02349221473900487]}}} +{"step": 28000, "train_loss": 0.006709191482514143, "val_psnr": 17.33776092529297, "pose_gradient_norm": 0.8080703020095825, "translation_update_mean": 0.002904521767050028, "rotation_update_deg_mean": 0.06281498819589615, "pose_errors": {"raw": {"rotation_deg_mean": 0.32371239478805675, "rotation_deg_max": 1.0993665989795467, "translation_mean": 0.03404884404534884, "translation_radius_pct_mean": 0.8446478665485339}, "aligned": {"rotation_deg_mean": 0.31863186730453846, "rotation_deg_max": 1.0196441032215051, "translation_mean": 0.019063965441459135, "translation_radius_pct_mean": 0.47291877858282416}, "sim3": {"scale": 0.9936168402852948, "rotation": [[0.9999972823731508, -0.0009269957066457334, 0.0021391412464630715], [0.0009277274663022972, 0.9999995114813315, -0.0003411141249890377], [-0.0021388239901231516, 0.00034309773805667773, 0.9999976538551872]], "translation": [0.005052143063005998, 0.012682342059794335, 0.023465993639188554]}}} +{"step": 29000, "train_loss": 0.008251047693192959, "val_psnr": 17.527652740478516, "pose_gradient_norm": 1.0870511531829834, "translation_update_mean": 0.0024431059136986732, "rotation_update_deg_mean": 0.055478595197200775, "pose_errors": {"raw": {"rotation_deg_mean": 0.315420987942184, "rotation_deg_max": 1.0706443660862728, "translation_mean": 0.033860527736201615, "translation_radius_pct_mean": 0.8399763138654047}, "aligned": {"rotation_deg_mean": 0.31097890056630795, "rotation_deg_max": 0.9974936008418935, "translation_mean": 0.018318101315542165, "translation_radius_pct_mean": 0.45441616680981406}, "sim3": {"scale": 0.9935692699632515, "rotation": [[0.9999974844340863, -0.0009161392777740407, 0.0020473920784642133], [0.000916838136262974, 0.9999995217580788, -0.00034042832617474725], [-0.0020470792195546182, 0.00034230459694225055, 0.9999978461447965]], "translation": [0.0054622629470896245, 0.01285543008321298, 0.02377006827447925]}}} +{"step": 29999, "train_loss": 0.005981076043099165, "val_psnr": 18.211456298828125, "pose_gradient_norm": 1.0205515623092651, "translation_update_mean": 0.0024897451512515545, "rotation_update_deg_mean": 0.05673786997795105, "pose_errors": {"raw": {"rotation_deg_mean": 0.30762172229369367, "rotation_deg_max": 1.0858523294533446, "translation_mean": 0.033486497460629795, "translation_radius_pct_mean": 0.8306977646769057}, "aligned": {"rotation_deg_mean": 0.3024573854516597, "rotation_deg_max": 1.0169428485806364, "translation_mean": 0.017612741985671053, "translation_radius_pct_mean": 0.4369183553618767}, "sim3": {"scale": 0.9935608017095512, "rotation": [[0.9999974442911134, -0.0008832941226805996, 0.00208115418320125], [0.0008838589755003776, 0.9999995728089621, -0.0002705091593779302], [-0.0020809143550003205, 0.00027234791483952676, 0.999997797808606]], "translation": [0.005277302611993218, 0.012509166861959263, 0.02409000449094867]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-GT.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-GT.jsonl new file mode 100644 index 0000000..672f9bc --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-GT.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421427607536316, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.005404184106737375, "translation_update_mean": 1.730284182599462e-08, "rotation_update_deg_mean": 9.92145032796543e-07, "pose_errors": {"raw": {"rotation_deg_mean": 0.017276101244573485, "rotation_deg_max": 0.045239031718098566, "translation_mean": 1.8388999512646728e-09, "translation_radius_pct_mean": 4.5617493462133644e-08}, "aligned": {"rotation_deg_mean": 0.017278139705459404, "rotation_deg_max": 0.045239031718098566, "translation_mean": 4.7346543299393177e-07, "translation_radius_pct_mean": 1.1745231859565325e-05}, "sim3": {"scale": 0.9999999718734917, "rotation": [[0.9999999999999999, -8.736048778270193e-10, 2.001858178969635e-09], [8.736051991088508e-10, 1.0, -3.978875685383148e-09], [-2.0018581695011558e-09, 3.978875733484521e-09, 1.0]], "translation": [-2.0530340649749235e-08, -3.0110211129974473e-08, -4.584490742587377e-07]}}} +{"step": 1000, "train_loss": 0.03552980720996857, "val_psnr": 17.82729721069336, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.891653060913086, "translation_update_mean": 0.01483728364109993, "rotation_update_deg_mean": 0.646714448928833, "pose_errors": {"raw": {"rotation_deg_mean": 0.6470717679886439, "rotation_deg_max": 2.2817604837659, "translation_mean": 0.014837283262318247, "translation_radius_pct_mean": 0.36806769816331897}, "aligned": {"rotation_deg_mean": 0.6615193984208347, "rotation_deg_max": 2.3268021399773606, "translation_mean": 0.014142442010844424, "translation_radius_pct_mean": 0.3508308081277688}, "sim3": {"scale": 1.0000701579470272, "rotation": [[0.9999999685629314, -4.78358584051916e-05, -0.00024614196422574516], [4.7583112587690474e-05, 0.9999994717775917, -0.0010267328694274303], [0.0002461909488561885, 0.00102672112494913, 0.9999994426167189]], "translation": [0.0029276426626293484, -0.0002067748304645789, 0.0012226738901119916]}}} +{"step": 2000, "train_loss": 0.028149306774139404, "val_psnr": 18.142826080322266, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.370903730392456, "translation_update_mean": 0.022044390439987183, "rotation_update_deg_mean": 0.7728495597839355, "pose_errors": {"raw": {"rotation_deg_mean": 0.606872249374041, "rotation_deg_max": 2.0289441956358227, "translation_mean": 0.022530313336814968, "translation_radius_pct_mean": 0.5589082867913195}, "aligned": {"rotation_deg_mean": 0.6135208019317735, "rotation_deg_max": 2.0507899115729007, "translation_mean": 0.021830257208809618, "translation_radius_pct_mean": 0.5415420315905143}, "sim3": {"scale": 0.9999039994358564, "rotation": [[0.9999999664532573, 4.47920324253777e-07, -0.0002590237128562602], [-5.565277586828046e-07, 0.9999999120955194, -0.00041929541440010535], [0.00025902350227585767, 0.00041929554448802544, 0.9999998785490295]], "translation": [0.0034449259195034054, -0.003612219490895255, -0.00016742575831507622]}}} +{"step": 3000, "train_loss": 0.024512121453881264, "val_psnr": 20.129507064819336, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.2216488122940063, "translation_update_mean": 0.021755332127213478, "rotation_update_deg_mean": 0.6242327094078064, "pose_errors": {"raw": {"rotation_deg_mean": 0.5142849376833774, "rotation_deg_max": 1.5783900077540642, "translation_mean": 0.02617848850710379, "translation_radius_pct_mean": 0.6494083745557004}, "aligned": {"rotation_deg_mean": 0.515970757592101, "rotation_deg_max": 1.5856907599130274, "translation_mean": 0.025824112866439455, "translation_radius_pct_mean": 0.6406173968518688}, "sim3": {"scale": 0.9993137831273678, "rotation": [[0.9999997945584781, -1.962211396173988e-05, -0.0006407011577220738], [1.957720428882831e-05, 0.9999999973513073, -7.010076733110539e-05], [0.0006407025315503408, 7.008820979200572e-05, 0.9999997922939322]], "translation": [0.002561042540490721, -0.004077420091008879, 0.0018717368781824284]}}} +{"step": 4000, "train_loss": 0.02635323442518711, "val_psnr": 21.303226470947266, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.2594331502914429, "translation_update_mean": 0.02049998752772808, "rotation_update_deg_mean": 0.5700100660324097, "pose_errors": {"raw": {"rotation_deg_mean": 0.40141647843313794, "rotation_deg_max": 1.1398781448313269, "translation_mean": 0.025605090399592894, "translation_radius_pct_mean": 0.6351841181449104}, "aligned": {"rotation_deg_mean": 0.4031996370886341, "rotation_deg_max": 1.1028838434407537, "translation_mean": 0.02487398006122329, "translation_radius_pct_mean": 0.6170475027962956}, "sim3": {"scale": 0.9987368581399324, "rotation": [[0.9999994793930923, -3.773438081758725e-05, -0.0010197007704505095], [3.881198536021553e-05, 0.9999994408483988, 0.0010567859386834127], [0.001019660323120083, -0.001056824965124793, 0.9999989217063283]], "translation": [0.005602681006023957, -0.005815027342349746, 0.001592611886114259]}}} +{"step": 5000, "train_loss": 0.021066568791866302, "val_psnr": 22.7391414642334, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 1.1847078800201416, "translation_update_mean": 0.020053915679454803, "rotation_update_deg_mean": 0.4281153082847595, "pose_errors": {"raw": {"rotation_deg_mean": 0.3240046100994942, "rotation_deg_max": 1.0312960122584085, "translation_mean": 0.026990199235347897, "translation_radius_pct_mean": 0.6695444394967832}, "aligned": {"rotation_deg_mean": 0.32030069360569935, "rotation_deg_max": 0.9767777259720387, "translation_mean": 0.02643767516317208, "translation_radius_pct_mean": 0.6558380041723286}, "sim3": {"scale": 0.9993811870013417, "rotation": [[0.9999996207894146, 4.445401263575378e-05, -0.0008697383897355192], [-4.286178693798085e-05, 0.9999983234806443, 0.0018306279707555272], [0.0008698183103613093, -0.0018305899980204981, 0.9999979461760731]], "translation": [0.004331288773988473, -0.010591376120435564, 0.0016257869585811768]}}} +{"step": 6000, "train_loss": 0.014237490482628345, "val_psnr": 22.039621353149414, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.7274084687232971, "translation_update_mean": 0.018201904371380806, "rotation_update_deg_mean": 0.3279980421066284, "pose_errors": {"raw": {"rotation_deg_mean": 0.3076852999666546, "rotation_deg_max": 0.9278771740505753, "translation_mean": 0.02465974390075107, "translation_radius_pct_mean": 0.611732957737456}, "aligned": {"rotation_deg_mean": 0.3054609126360503, "rotation_deg_max": 0.8771909036926535, "translation_mean": 0.023315428756412862, "translation_radius_pct_mean": 0.5783846033227851}, "sim3": {"scale": 0.998194342472915, "rotation": [[0.9999991918276071, 1.338742883467362e-05, -0.0012712847478315616], [-1.143606018173913e-05, 0.9999988218938174, 0.0015349528312514212], [0.0012713037991948421, -0.0015349370522559876, 0.9999980138754763]], "translation": [0.006234375077747045, -0.009214595913181953, 0.004551759481682627]}}} +{"step": 7000, "train_loss": 0.016439609229564667, "val_psnr": 21.73844337463379, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.0172719955444336, "translation_update_mean": 0.014292716979980469, "rotation_update_deg_mean": 0.30291762948036194, "pose_errors": {"raw": {"rotation_deg_mean": 0.2618573442259732, "rotation_deg_max": 0.6468015269175243, "translation_mean": 0.022780510536627916, "translation_radius_pct_mean": 0.5651149154438799}, "aligned": {"rotation_deg_mean": 0.24672034832937723, "rotation_deg_max": 0.6993722537191768, "translation_mean": 0.021434551091829065, "translation_radius_pct_mean": 0.5317257709549793}, "sim3": {"scale": 0.9986048577022262, "rotation": [[0.9999996457433841, 2.4316508650314453e-05, -0.0008413808969224638], [-2.3050559308765414e-05, 0.9999988678440733, 0.0015045860699757826], [0.0008414165306283015, -0.0015045661426659666, 0.9999985141483677]], "translation": [0.0043954643871906285, -0.008752114235290098, 0.004187543776990044]}}} +{"step": 8000, "train_loss": 0.01461373083293438, "val_psnr": 22.46504783630371, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.8582895994186401, "translation_update_mean": 0.016065292060375214, "rotation_update_deg_mean": 0.2722923159599304, "pose_errors": {"raw": {"rotation_deg_mean": 0.2565420381652202, "rotation_deg_max": 0.7303415854784955, "translation_mean": 0.02205795804378436, "translation_radius_pct_mean": 0.547190594114886}, "aligned": {"rotation_deg_mean": 0.25270635603665875, "rotation_deg_max": 0.7321059912010315, "translation_mean": 0.020482752469400456, "translation_radius_pct_mean": 0.5081145530602568}, "sim3": {"scale": 0.9989343976773588, "rotation": [[0.9999996053106993, -1.3693316913552264e-05, -0.0008883641930261727], [1.520727985231491e-05, 0.999998547683531, 0.0017042299042736922], [0.0008883395662800293, -0.0017042427412351996, 0.9999981532030421]], "translation": [0.004379401180275466, -0.01046785316953873, 0.004022400604994036]}}} +{"step": 9000, "train_loss": 0.013336645439267159, "val_psnr": 22.453659057617188, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.993761420249939, "translation_update_mean": 0.012315702624619007, "rotation_update_deg_mean": 0.2588108777999878, "pose_errors": {"raw": {"rotation_deg_mean": 0.23127412823282087, "rotation_deg_max": 0.7061332939885459, "translation_mean": 0.020858101793478977, "translation_radius_pct_mean": 0.5174258238150319}, "aligned": {"rotation_deg_mean": 0.215564719017509, "rotation_deg_max": 0.6258057175483326, "translation_mean": 0.01819223870884774, "translation_radius_pct_mean": 0.45129389980770696}, "sim3": {"scale": 0.9985336577827507, "rotation": [[0.999999711337369, -0.0002661781939790952, -0.0007116701110714288], [0.0002676391006766336, 0.9999978557927595, 0.0020534797775184775], [0.000711121993564556, -0.0020536696555042387, 0.99999763837044]], "translation": [0.00407629398504078, -0.012731062185218384, 0.004645445593284059]}}} +{"step": 10000, "train_loss": 0.013047580607235432, "val_psnr": 22.667613983154297, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.7222921848297119, "translation_update_mean": 0.011820300482213497, "rotation_update_deg_mean": 0.24482563138008118, "pose_errors": {"raw": {"rotation_deg_mean": 0.2515345592620556, "rotation_deg_max": 0.6511204599600289, "translation_mean": 0.018452723203117628, "translation_radius_pct_mean": 0.4577557248276987}, "aligned": {"rotation_deg_mean": 0.2361288854191618, "rotation_deg_max": 0.6342377625261837, "translation_mean": 0.015582464712673489, "translation_radius_pct_mean": 0.3865533748399132}, "sim3": {"scale": 0.9986656137416882, "rotation": [[0.9999996435785973, 0.00013375445553892075, -0.0008336380649293873], [-0.00013211553103456355, 0.9999980592126756, 0.0019657355793232896], [0.0008338993729074651, -0.0019656247421574696, 0.9999977204630053]], "translation": [0.004868442387949978, -0.01183536761952364, 0.0030027735576219072]}}} +{"step": 11000, "train_loss": 0.011052585206925869, "val_psnr": 21.944717407226562, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 1.006983995437622, "translation_update_mean": 0.010088627226650715, "rotation_update_deg_mean": 0.19216139614582062, "pose_errors": {"raw": {"rotation_deg_mean": 0.22747209939558424, "rotation_deg_max": 0.5412848887035403, "translation_mean": 0.017706868469538773, "translation_radius_pct_mean": 0.4392533460499216}, "aligned": {"rotation_deg_mean": 0.2050323283172558, "rotation_deg_max": 0.5623614189850226, "translation_mean": 0.014966957416273248, "translation_radius_pct_mean": 0.37128451801596063}, "sim3": {"scale": 0.9986326882904797, "rotation": [[0.9999996583710568, 0.00014943300245136092, -0.0008129745059053124], [-0.00014785402767699633, 0.9999981035162255, 0.001941932835995208], [0.0008132631529664631, -0.0019418119710196548, 0.9999977839822021]], "translation": [0.005003735215046823, -0.011767277908916879, 0.003055628249367448]}}} +{"step": 12000, "train_loss": 0.00889853946864605, "val_psnr": 23.002330780029297, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.8903477787971497, "translation_update_mean": 0.009831930510699749, "rotation_update_deg_mean": 0.1944604218006134, "pose_errors": {"raw": {"rotation_deg_mean": 0.23241216196937636, "rotation_deg_max": 0.4861677968321989, "translation_mean": 0.01707888798791839, "translation_radius_pct_mean": 0.4236750675824259}, "aligned": {"rotation_deg_mean": 0.20685519941685268, "rotation_deg_max": 0.42186904754350085, "translation_mean": 0.01426502614910965, "translation_radius_pct_mean": 0.3538717463376096}, "sim3": {"scale": 0.998483891788605, "rotation": [[0.9999995845666907, 7.395307707848967e-05, -0.0009085138353395623], [-7.215425303060843e-05, 0.9999980375185871, 0.0019798365436223576], [0.000908658467402511, -0.0019797701679951886, 0.9999976274221221]], "translation": [0.005176280696323865, -0.011631861410325281, 0.003369902813584069]}}} +{"step": 13000, "train_loss": 0.012854546308517456, "val_psnr": 22.44856834411621, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 1.01887845993042, "translation_update_mean": 0.008614669553935528, "rotation_update_deg_mean": 0.16553452610969543, "pose_errors": {"raw": {"rotation_deg_mean": 0.21943917642029148, "rotation_deg_max": 0.44716964949905486, "translation_mean": 0.01717090259460577, "translation_radius_pct_mean": 0.4259576690453797}, "aligned": {"rotation_deg_mean": 0.18919371812264263, "rotation_deg_max": 0.44135398161841105, "translation_mean": 0.0146103277954117, "translation_radius_pct_mean": 0.3624376259450427}, "sim3": {"scale": 0.9986139147617635, "rotation": [[0.9999995841693143, 7.245306067129511e-05, -0.0009090719174473168], [-7.063108704597112e-05, 0.9999979893254296, 0.0020040849151239655], [0.0009092152916856594, -0.0020040198730262677, 0.9999975786130177]], "translation": [0.005211153822152259, -0.011588375399443143, 0.0036621647218821884]}}} +{"step": 14000, "train_loss": 0.012262940406799316, "val_psnr": 22.503328323364258, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 0.7702534794807434, "translation_update_mean": 0.008119494654238224, "rotation_update_deg_mean": 0.167314812541008, "pose_errors": {"raw": {"rotation_deg_mean": 0.22572628589687882, "rotation_deg_max": 0.575927680985159, "translation_mean": 0.016725354218289325, "translation_radius_pct_mean": 0.4149049741286706}, "aligned": {"rotation_deg_mean": 0.18954137517044667, "rotation_deg_max": 0.5518849811399816, "translation_mean": 0.013221939268685106, "translation_radius_pct_mean": 0.3279959454733594}, "sim3": {"scale": 0.9984090386125271, "rotation": [[0.99999955123211, 0.0001439688756205823, -0.0009363805542515108], [-0.0001418494958497622, 0.9999974292449142, 0.002263047123748239], [0.0009367039553962819, -0.0022629132830559147, 0.9999970009000901]], "translation": [0.005544742016831694, -0.012963196574061683, 0.0038502041197756576]}}} +{"step": 15000, "train_loss": 0.00876111164689064, "val_psnr": 23.741981506347656, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 1.3537583351135254, "translation_update_mean": 0.007030479609966278, "rotation_update_deg_mean": 0.1612246334552765, "pose_errors": {"raw": {"rotation_deg_mean": 0.20077532371841447, "rotation_deg_max": 0.40964507431139413, "translation_mean": 0.016375486989916914, "translation_radius_pct_mean": 0.406225836369209}, "aligned": {"rotation_deg_mean": 0.1760443679998386, "rotation_deg_max": 0.46695871420967694, "translation_mean": 0.012490972830532847, "translation_radius_pct_mean": 0.3098628998497966}, "sim3": {"scale": 0.9985851592572794, "rotation": [[0.9999996200809467, 0.0001958898687400925, -0.00084939102971363], [-0.0001937555741923954, 0.9999968259272175, 0.0025120896218339393], [0.0008498804265910236, -0.002511924093196589, 0.9999964839641238]], "translation": [0.005178954699688321, -0.013662275766599674, 0.0038193703516467004]}}} +{"step": 16000, "train_loss": 0.01120593398809433, "val_psnr": 24.143997192382812, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 1.2825065851211548, "translation_update_mean": 0.006578458938747644, "rotation_update_deg_mean": 0.14758063852787018, "pose_errors": {"raw": {"rotation_deg_mean": 0.19593036961791166, "rotation_deg_max": 0.45386026403762814, "translation_mean": 0.015487436163093964, "translation_radius_pct_mean": 0.38419600665564696}, "aligned": {"rotation_deg_mean": 0.16423956714174334, "rotation_deg_max": 0.3504975346795181, "translation_mean": 0.01184818091036336, "translation_radius_pct_mean": 0.2939171948125661}, "sim3": {"scale": 0.9986359455871021, "rotation": [[0.9999996850705312, 0.00012295252607725092, -0.0007840545358127018], [-0.00012103405391472375, 0.9999970001394716, 0.0024464388026422665], [0.0007843529795892616, -0.0024463431348876424, 0.9999967000923896]], "translation": [0.005053948025960764, -0.013078695956186007, 0.0035304579591897145]}}} +{"step": 17000, "train_loss": 0.007247310131788254, "val_psnr": 23.14113426208496, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.6504966616630554, "translation_update_mean": 0.0060959747061133385, "rotation_update_deg_mean": 0.12327471375465393, "pose_errors": {"raw": {"rotation_deg_mean": 0.1731112815419662, "rotation_deg_max": 0.5095858884624346, "translation_mean": 0.015426859680114974, "translation_radius_pct_mean": 0.38269328905844835}, "aligned": {"rotation_deg_mean": 0.15413753200518748, "rotation_deg_max": 0.43497840422101997, "translation_mean": 0.01161552627723998, "translation_radius_pct_mean": 0.28814574368052287}, "sim3": {"scale": 0.9985342908193338, "rotation": [[0.9999996185280715, 0.00013335686916694483, -0.0008632263063171301], [-0.00013120597319829757, 0.9999968881709798, 0.0024912714322160617], [0.0008635558482630327, -0.0024911572214183298, 0.999996524197456]], "translation": [0.0057505520074081495, -0.013015778494854857, 0.0029325244245441695]}}} +{"step": 18000, "train_loss": 0.01004166528582573, "val_psnr": 24.044172286987305, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.9085455536842346, "translation_update_mean": 0.0056909602135419846, "rotation_update_deg_mean": 0.11942929029464722, "pose_errors": {"raw": {"rotation_deg_mean": 0.17919902153771602, "rotation_deg_max": 0.431381944417331, "translation_mean": 0.015166632378987436, "translation_radius_pct_mean": 0.37623784421508416}, "aligned": {"rotation_deg_mean": 0.1564227407822772, "rotation_deg_max": 0.3987685988271149, "translation_mean": 0.010592425301900014, "translation_radius_pct_mean": 0.26276573210263576}, "sim3": {"scale": 0.9980796924624792, "rotation": [[0.9999998201405292, 0.000152758654800525, -0.0005799859505603864], [-0.00015123697915292767, 0.9999965490696451, 0.0026227802381074143], [0.0005803846014502221, -0.0026226920510524065, 0.9999963923135528]], "translation": [0.0044280056547423285, -0.013675212177858623, 0.0033722967150424665]}}} +{"step": 19000, "train_loss": 0.00816102884709835, "val_psnr": 23.996116638183594, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.8013787269592285, "translation_update_mean": 0.005343724507838488, "rotation_update_deg_mean": 0.11206766217947006, "pose_errors": {"raw": {"rotation_deg_mean": 0.17231064961451703, "rotation_deg_max": 0.40375985511500795, "translation_mean": 0.015751994949143373, "translation_radius_pct_mean": 0.3907589024155055}, "aligned": {"rotation_deg_mean": 0.143998209645065, "rotation_deg_max": 0.29548395035778136, "translation_mean": 0.009844133958007163, "translation_radius_pct_mean": 0.2442029084621612}, "sim3": {"scale": 0.9976734717793371, "rotation": [[0.9999998077530103, 0.00014884447439488175, -0.0006019462314293565], [-0.00014717709219851392, 0.9999961552556631, 0.0027690815799089508], [0.0006023560795921525, -0.0027689924548653165, 0.99999598491591]], "translation": [0.004551299795620134, -0.014609378927633365, 0.003448640636889877]}}} +{"step": 20000, "train_loss": 0.008237183094024658, "val_psnr": 22.778736114501953, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.9884840250015259, "translation_update_mean": 0.005040564574301243, "rotation_update_deg_mean": 0.10188698768615723, "pose_errors": {"raw": {"rotation_deg_mean": 0.16463544545371558, "rotation_deg_max": 0.39854987063852215, "translation_mean": 0.015138232775955962, "translation_radius_pct_mean": 0.3755333367704434}, "aligned": {"rotation_deg_mean": 0.13309991810655866, "rotation_deg_max": 0.2758244823873053, "translation_mean": 0.00930933820617632, "translation_radius_pct_mean": 0.23093625863929163}, "sim3": {"scale": 0.9974885588775251, "rotation": [[0.9999999104128364, 0.00010948310153681412, -0.00040888601029369885], [-0.0001084532019516903, 0.9999968240343503, 0.002517967258651841], [0.0004091603865508023, -0.0025179226880772012, 0.9999967463212641]], "translation": [0.0035454790128788827, -0.013193307471947302, 0.0034522807955634782]}}} +{"step": 21000, "train_loss": 0.007804728578776121, "val_psnr": 22.652851104736328, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.8812214732170105, "translation_update_mean": 0.004232402425259352, "rotation_update_deg_mean": 0.0923900380730629, "pose_errors": {"raw": {"rotation_deg_mean": 0.16461158831963796, "rotation_deg_max": 0.45790901051240895, "translation_mean": 0.01548953891888898, "translation_radius_pct_mean": 0.38424816960701663}, "aligned": {"rotation_deg_mean": 0.13551365825788292, "rotation_deg_max": 0.32375350019992805, "translation_mean": 0.009188006918844938, "translation_radius_pct_mean": 0.22792639983605162}, "sim3": {"scale": 0.9972675948594356, "rotation": [[0.9999998479998473, 0.000132157657520966, -0.0005352893001320277], [-0.00013081580794309085, 0.9999968513347187, 0.002506034291807153], [0.0005356188063070581, -0.002505963886587304, 0.9999967166233545]], "translation": [0.003872230314671987, -0.013239375237552004, 0.0037344982261227067]}}} +{"step": 22000, "train_loss": 0.009853910654783249, "val_psnr": 22.88435935974121, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 0.9738480448722839, "translation_update_mean": 0.004036927595734596, "rotation_update_deg_mean": 0.08510812371969223, "pose_errors": {"raw": {"rotation_deg_mean": 0.16447805823579678, "rotation_deg_max": 0.3607782586913122, "translation_mean": 0.015991554491893697, "translation_radius_pct_mean": 0.3967016432740764}, "aligned": {"rotation_deg_mean": 0.1345031954405918, "rotation_deg_max": 0.30352365027691847, "translation_mean": 0.009039046931737545, "translation_radius_pct_mean": 0.2242311573443012}, "sim3": {"scale": 0.9969826986168107, "rotation": [[0.999999803417, 0.000180352944937405, -0.0006005320774052427], [-0.00017882850441358232, 0.9999967643744493, 0.0025375699000914622], [0.0006009877925128288, -0.002537462008995174, 0.9999966000443326]], "translation": [0.004009660282900396, -0.01353645121339396, 0.004206837537350072]}}} +{"step": 23000, "train_loss": 0.00717492401599884, "val_psnr": 24.70615005493164, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.9384370446205139, "translation_update_mean": 0.003963896073400974, "rotation_update_deg_mean": 0.08016671985387802, "pose_errors": {"raw": {"rotation_deg_mean": 0.16252044019727666, "rotation_deg_max": 0.5135799945829734, "translation_mean": 0.015652290762737643, "translation_radius_pct_mean": 0.3882855459567255}, "aligned": {"rotation_deg_mean": 0.12780444448166284, "rotation_deg_max": 0.38969773498771293, "translation_mean": 0.008646537749401861, "translation_radius_pct_mean": 0.21449420289677326}, "sim3": {"scale": 0.99685589189136, "rotation": [[0.9999998507103284, 0.00014445522893612948, -0.0005269838779306005], [-0.00014317256375553252, 0.9999970295139816, 0.0024332005321449105], [0.0005273338010723658, -0.002433124719260309, 0.9999969009067786]], "translation": [0.003599396562396995, -0.013171673029499106, 0.004263888322794784]}}} +{"step": 24000, "train_loss": 0.006434998475015163, "val_psnr": 22.478200912475586, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.7658230066299438, "translation_update_mean": 0.00296059250831604, "rotation_update_deg_mean": 0.0787014588713646, "pose_errors": {"raw": {"rotation_deg_mean": 0.15811162092140144, "rotation_deg_max": 0.44901558126210567, "translation_mean": 0.015997535034185974, "translation_radius_pct_mean": 0.3968500022692084}, "aligned": {"rotation_deg_mean": 0.12526706197244392, "rotation_deg_max": 0.34703474132954826, "translation_mean": 0.008595030886447762, "translation_radius_pct_mean": 0.21321647488201761}, "sim3": {"scale": 0.9966360478924237, "rotation": [[0.9999998929734812, 0.0001185182778816841, -0.0004472208001032616], [-0.00011739156580633042, 0.9999968215575656, 0.0025185499770727566], [0.00044751787284368907, -0.0025184972075711536, 0.9999967284444334]], "translation": [0.0033783376581847935, -0.013242685187207184, 0.004654955608608624]}}} +{"step": 25000, "train_loss": 0.007099146954715252, "val_psnr": 22.832300186157227, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.8775053024291992, "translation_update_mean": 0.003151720156893134, "rotation_update_deg_mean": 0.07557058334350586, "pose_errors": {"raw": {"rotation_deg_mean": 0.15997033841978242, "rotation_deg_max": 0.42818866970168934, "translation_mean": 0.016108951036963286, "translation_radius_pct_mean": 0.3996138931349272}, "aligned": {"rotation_deg_mean": 0.1214172783084017, "rotation_deg_max": 0.3004182943311715, "translation_mean": 0.00840103349075561, "translation_radius_pct_mean": 0.20840399178658253}, "sim3": {"scale": 0.9965502127942311, "rotation": [[0.9999999095655805, 0.00011071435663473062, -0.00041062289448960654], [-0.00010970309038986874, 0.9999969633375627, 0.0024619668731882607], [0.000410894222644954, -0.002461921603941172, 0.9999968850491249]], "translation": [0.0030918932259988985, -0.013067022128886205, 0.004362690813396242]}}} +{"step": 26000, "train_loss": 0.005889364518225193, "val_psnr": 22.13852882385254, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.9443478584289551, "translation_update_mean": 0.0029219083953648806, "rotation_update_deg_mean": 0.06413803994655609, "pose_errors": {"raw": {"rotation_deg_mean": 0.15145878458689047, "rotation_deg_max": 0.43137606904318715, "translation_mean": 0.016254281233853793, "translation_radius_pct_mean": 0.4032190916134762}, "aligned": {"rotation_deg_mean": 0.11762641036760685, "rotation_deg_max": 0.30150692365252774, "translation_mean": 0.00823444417696048, "translation_radius_pct_mean": 0.20427141952364652}, "sim3": {"scale": 0.9964387844550011, "rotation": [[0.9999999254760467, 0.00015718781853728473, -0.0003526186199747877], [-0.00015632628176590068, 0.9999970062111568, 0.0024419522553286365], [0.0003530014094571392, -0.0024418969497869494, 0.9999969562600135]], "translation": [0.0027913291482573044, -0.012903421477094723, 0.004257016339060726]}}} +{"step": 27000, "train_loss": 0.007044176105409861, "val_psnr": 22.41863441467285, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.8577743172645569, "translation_update_mean": 0.0028571172151714563, "rotation_update_deg_mean": 0.06198235973715782, "pose_errors": {"raw": {"rotation_deg_mean": 0.1485532389311685, "rotation_deg_max": 0.380530879754014, "translation_mean": 0.01611825658189562, "translation_radius_pct_mean": 0.39984473529402365}, "aligned": {"rotation_deg_mean": 0.11387095766465558, "rotation_deg_max": 0.26775260156750946, "translation_mean": 0.007917601623187786, "translation_radius_pct_mean": 0.1964115231136698}, "sim3": {"scale": 0.99644689504231, "rotation": [[0.9999999534965524, 0.00011798549116846807, -0.00028122289566169853], [-0.00011732057617599284, 0.9999972007213849, 0.002363215029796722], [0.00028150093352640056, -0.0023631819266669825, 0.9999971680601937]], "translation": [0.002524341876405045, -0.012476843523234277, 0.00393384986755807]}}} +{"step": 28000, "train_loss": 0.00672942167147994, "val_psnr": 22.83450698852539, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.796197772026062, "translation_update_mean": 0.0024753620382398367, "rotation_update_deg_mean": 0.06262315809726715, "pose_errors": {"raw": {"rotation_deg_mean": 0.14955065246845414, "rotation_deg_max": 0.3472213542741512, "translation_mean": 0.0162996365487564, "translation_radius_pct_mean": 0.4043442185023098}, "aligned": {"rotation_deg_mean": 0.10590707942295302, "rotation_deg_max": 0.22470185152969965, "translation_mean": 0.007514791669390566, "translation_radius_pct_mean": 0.18641903797537296}, "sim3": {"scale": 0.9964119854310626, "rotation": [[0.9999999415193849, 0.00011404598664560464, -0.0003224201297316483], [-0.00011330899879013811, 0.9999973832052067, 0.0022848947042314162], [0.000322679869095286, -0.002284858037507316, 0.9999973376471808]], "translation": [0.0026975055150731952, -0.012308515569474793, 0.0037164697905924804]}}} +{"step": 29000, "train_loss": 0.007819995284080505, "val_psnr": 21.928462982177734, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.7743411064147949, "translation_update_mean": 0.0023033511824905872, "rotation_update_deg_mean": 0.05559631809592247, "pose_errors": {"raw": {"rotation_deg_mean": 0.1447062270244019, "rotation_deg_max": 0.385578168529206, "translation_mean": 0.016152842288135044, "translation_radius_pct_mean": 0.4007027010725181}, "aligned": {"rotation_deg_mean": 0.10340497123596293, "rotation_deg_max": 0.2595746229055404, "translation_mean": 0.0070896854236710315, "translation_radius_pct_mean": 0.1758734499070899}, "sim3": {"scale": 0.9964138505699324, "rotation": [[0.9999999614594987, 0.00011108178434675085, -0.00025444417395907235], [-0.00011049819493063455, 0.9999973662230259, 0.0022924522152976243], [0.0002546981534925923, -0.0022924240113234994, 0.9999973399569624]], "translation": [0.0024482580719490943, -0.012355443081058182, 0.003665230310291534]}}} +{"step": 29999, "train_loss": 0.004870348609983921, "val_psnr": 25.16779899597168, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 1.2347190380096436, "translation_update_mean": 0.0020305397920310497, "rotation_update_deg_mean": 0.05220542848110199, "pose_errors": {"raw": {"rotation_deg_mean": 0.1452513239203193, "rotation_deg_max": 0.39086907980025243, "translation_mean": 0.01637137306828607, "translation_radius_pct_mean": 0.40612378253372455}, "aligned": {"rotation_deg_mean": 0.10707446755066538, "rotation_deg_max": 0.26539099372382235, "translation_mean": 0.006964278811926986, "translation_radius_pct_mean": 0.17276249474750768}, "sim3": {"scale": 0.996304577501931, "rotation": [[0.9999999527319107, 0.00011504115816300508, -0.0002851345453133045], [-0.00011439203021614787, 0.9999974044151766, 0.0022755389192692286], [0.0002853955858552138, -0.002275506194589376, 0.9999973703070008]], "translation": [0.0026056215976374975, -0.012143896769822748, 0.0037681897496613104]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R0.5.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R0.5.jsonl new file mode 100644 index 0000000..053ae64 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R0.5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421495854854584, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.005616051144897938, "translation_update_mean": 1.7298672716492547e-08, "rotation_update_deg_mean": 9.922658819050412e-07, "pose_errors": {"raw": {"rotation_deg_mean": 0.5003472651965231, "rotation_deg_max": 0.5021413982517706, "translation_mean": 1.8386089129601056e-09, "translation_radius_pct_mean": 4.5610273690363735e-08}, "aligned": {"rotation_deg_mean": 0.5003473592534639, "rotation_deg_max": 0.5021413982517706, "translation_mean": 4.7347658897155133e-07, "translation_radius_pct_mean": 1.1745508605309852e-05}, "sim3": {"scale": 0.9999999718380952, "rotation": [[1.0000000000000002, -7.306322655764682e-10, 2.1508085505089873e-09], [7.306324665449188e-10, 1.0, -3.9379987392388185e-09], [-2.1508085089954985e-09, 3.9379986714979525e-09, 0.9999999999999998]], "translation": [-2.0894510788238563e-08, -3.0257300567826384e-08, -4.5842410711927073e-07]}}} +{"step": 1000, "train_loss": 0.038628898561000824, "val_psnr": 18.062488555908203, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 2.033585786819458, "translation_update_mean": 0.01552929263561964, "rotation_update_deg_mean": 0.7051356434822083, "pose_errors": {"raw": {"rotation_deg_mean": 0.6946275992347145, "rotation_deg_max": 2.437231342990213, "translation_mean": 0.01552928785257848, "translation_radius_pct_mean": 0.38523421929474466}, "aligned": {"rotation_deg_mean": 0.6994709072599875, "rotation_deg_max": 2.4535476403492407, "translation_mean": 0.015294481541207116, "translation_radius_pct_mean": 0.3794093915946382}, "sim3": {"scale": 0.9997096555602153, "rotation": [[0.9999999656718579, -7.409075709890324e-05, 0.00025133014703266433], [7.399223487527212e-05, 0.9999999204345473, 0.0003919898568445958], [-0.00025135916986074997, -0.00039197124690909367, 0.9999998915885489]], "translation": [0.0013207143394705079, 8.361966337758209e-06, 0.0008816508854225802]}}} +{"step": 2000, "train_loss": 0.029154200106859207, "val_psnr": 18.59178352355957, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.850242257118225, "translation_update_mean": 0.020192647352814674, "rotation_update_deg_mean": 0.7820224761962891, "pose_errors": {"raw": {"rotation_deg_mean": 0.5664234643715712, "rotation_deg_max": 1.9732782565246778, "translation_mean": 0.023442467247877595, "translation_radius_pct_mean": 0.5815360404359604}, "aligned": {"rotation_deg_mean": 0.5650960761399492, "rotation_deg_max": 1.9708244386807066, "translation_mean": 0.023009651243133734, "translation_radius_pct_mean": 0.570799196784879}, "sim3": {"scale": 0.9994522394305588, "rotation": [[0.9999999032054379, 0.00027626328171870463, 0.0003424437390010133], [-0.0002762077564172195, 0.9999999487032993, -0.000162180992327385], [-0.0003424885260879282, 0.00016208639101220363, 0.9999999282148029]], "translation": [0.0012888094401887207, 0.002367321744162834, -0.00011888442399810017]}}} +{"step": 3000, "train_loss": 0.02868892438709736, "val_psnr": 20.161094665527344, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.2119208574295044, "translation_update_mean": 0.024842210114002228, "rotation_update_deg_mean": 0.7260525226593018, "pose_errors": {"raw": {"rotation_deg_mean": 0.5377756911704398, "rotation_deg_max": 4.18253411499156, "translation_mean": 0.028833291580393557, "translation_radius_pct_mean": 0.7152659334488637}, "aligned": {"rotation_deg_mean": 0.5457004004753035, "rotation_deg_max": 4.192370093237222, "translation_mean": 0.028639721050505527, "translation_radius_pct_mean": 0.7104640395907688}, "sim3": {"scale": 0.9996086702152127, "rotation": [[0.9999997622199549, 0.0005675274770845216, 0.00039175578792565845], [-0.0005678309980096163, 0.9999995383978899, 0.0007750948103852703], [-0.00039131571948818, -0.0007753170771632258, 0.9999996228776484]], "translation": [3.507060746721358e-05, -0.002610656943560677, 0.0022889968913815117]}}} +{"step": 4000, "train_loss": 0.026637587696313858, "val_psnr": 21.189268112182617, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.1329656839370728, "translation_update_mean": 0.02334269881248474, "rotation_update_deg_mean": 0.6045149564743042, "pose_errors": {"raw": {"rotation_deg_mean": 0.4671450662120262, "rotation_deg_max": 2.0724979069372993, "translation_mean": 0.029374032904964785, "translation_radius_pct_mean": 0.7286800747790482}, "aligned": {"rotation_deg_mean": 0.48280505568484744, "rotation_deg_max": 2.134182462019497, "translation_mean": 0.029359771435636464, "translation_radius_pct_mean": 0.728326291266575}, "sim3": {"scale": 0.9988493254519033, "rotation": [[0.9999995997680818, 0.0002776499146206678, 0.0008505140795265977], [-0.0002784423861185435, 0.9999995271285451, 0.0009317792239624292], [-0.000850254968920597, -0.000932015670204367, 0.9999992042063208]], "translation": [-0.003151743568579779, -0.0006843906377586167, 0.003191157148506374]}}} +{"step": 5000, "train_loss": 0.01603303663432598, "val_psnr": 22.362403869628906, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.8660702705383301, "translation_update_mean": 0.019532499834895134, "rotation_update_deg_mean": 0.47641241550445557, "pose_errors": {"raw": {"rotation_deg_mean": 0.3288757945384186, "rotation_deg_max": 1.1803105337804745, "translation_mean": 0.02765327049020687, "translation_radius_pct_mean": 0.6859932129130071}, "aligned": {"rotation_deg_mean": 0.3340357965989254, "rotation_deg_max": 1.1681868471786678, "translation_mean": 0.02706447514311042, "translation_radius_pct_mean": 0.6713869979972719}, "sim3": {"scale": 0.9978873035314688, "rotation": [[0.9999999274340499, 0.00015273335102417997, 0.00034900489789169354], [-0.00015285683958425042, 0.9999999257191405, 0.0003538311745223756], [-0.00034895083014634863, -0.0003538844966320083, 0.9999998764995331]], "translation": [-0.0006955986076896958, 0.00017380656970271413, 0.0025893148089339846]}}} +{"step": 6000, "train_loss": 0.01496535912156105, "val_psnr": 22.571144104003906, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.8569123148918152, "translation_update_mean": 0.015171371400356293, "rotation_update_deg_mean": 0.37882429361343384, "pose_errors": {"raw": {"rotation_deg_mean": 0.3411646808215228, "rotation_deg_max": 0.692589221359182, "translation_mean": 0.023973962014606144, "translation_radius_pct_mean": 0.5947208028966496}, "aligned": {"rotation_deg_mean": 0.3499692410215328, "rotation_deg_max": 0.7109250123488565, "translation_mean": 0.02369580691143414, "translation_radius_pct_mean": 0.587820624019772}, "sim3": {"scale": 0.9974752762707905, "rotation": [[0.9999995478150275, 0.00017102600501298405, 0.0009354784048151033], [-0.0001712574070327669, 0.9999999547598425, 0.0002472877150417205], [-0.0009354360698640251, -0.0002474478108277886, 0.9999995318643613]], "translation": [-0.0031916567233503113, 0.0008458949006168032, 0.003830889554181649]}}} +{"step": 7000, "train_loss": 0.018167804926633835, "val_psnr": 20.681907653808594, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 0.856513500213623, "translation_update_mean": 0.015053781680762768, "rotation_update_deg_mean": 0.32681334018707275, "pose_errors": {"raw": {"rotation_deg_mean": 0.3081065937107597, "rotation_deg_max": 0.7548598374002761, "translation_mean": 0.02294220063904354, "translation_radius_pct_mean": 0.5691259532302282}, "aligned": {"rotation_deg_mean": 0.3104600866384732, "rotation_deg_max": 0.8207152027622965, "translation_mean": 0.022092311378842714, "translation_radius_pct_mean": 0.5480427954738285}, "sim3": {"scale": 0.9974933260562755, "rotation": [[0.9999991273087998, 6.677539206744124e-05, 0.0013194402925200267], [-6.618265900458504e-05, 0.999999896888499, -0.0004492692374733636], [-0.0013194701566001477, 0.0004491815213330873, 0.9999990286167622]], "translation": [-0.005829207364255018, 0.004939617980626934, 0.002097739937131582]}}} +{"step": 8000, "train_loss": 0.013774361461400986, "val_psnr": 21.546775817871094, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.6546202898025513, "translation_update_mean": 0.015553295612335205, "rotation_update_deg_mean": 0.309453547000885, "pose_errors": {"raw": {"rotation_deg_mean": 0.28481986958630295, "rotation_deg_max": 0.7262497764048528, "translation_mean": 0.021211833588425436, "translation_radius_pct_mean": 0.5262008296723224}, "aligned": {"rotation_deg_mean": 0.2742341730270949, "rotation_deg_max": 0.7478059297966968, "translation_mean": 0.01885752029133358, "translation_radius_pct_mean": 0.4677975047040223}, "sim3": {"scale": 0.9967406577470497, "rotation": [[0.9999997731915149, 0.00011625421812226334, 0.0006634017458428136], [-0.00011578037063149386, 0.9999997382116067, -0.000714262993572122], [-0.0006634846082577852, 0.0007141860226711871, 0.9999995248631373]], "translation": [-0.0027228377379835966, 0.005901409636527549, 0.0027520165889023396]}}} +{"step": 9000, "train_loss": 0.013640081509947777, "val_psnr": 22.66098976135254, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.8316121101379395, "translation_update_mean": 0.013902581296861172, "rotation_update_deg_mean": 0.2580552101135254, "pose_errors": {"raw": {"rotation_deg_mean": 0.2846393085408062, "rotation_deg_max": 0.7366313329051449, "translation_mean": 0.019795380521501583, "translation_radius_pct_mean": 0.491062953641938}, "aligned": {"rotation_deg_mean": 0.27462460519169307, "rotation_deg_max": 0.745498764858982, "translation_mean": 0.01737760624536562, "translation_radius_pct_mean": 0.43108535553569244}, "sim3": {"scale": 0.9967885547836302, "rotation": [[0.9999996637802867, 0.00012529837366663938, 0.0008103947372724219], [-0.00012479305921292837, 0.9999997977987621, -0.0006235616459255755], [-0.0008104727046696032, 0.0006234603046334697, 0.9999994772154841]], "translation": [-0.003428940323116858, 0.005928529406951807, 0.003721753214337209]}}} +{"step": 10000, "train_loss": 0.015175503678619862, "val_psnr": 22.954204559326172, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.8525981307029724, "translation_update_mean": 0.011173045262694359, "rotation_update_deg_mean": 0.2568584382534027, "pose_errors": {"raw": {"rotation_deg_mean": 0.2706071704169703, "rotation_deg_max": 0.836903198898232, "translation_mean": 0.019153808802766382, "translation_radius_pct_mean": 0.47514751807690636}, "aligned": {"rotation_deg_mean": 0.2580926186968088, "rotation_deg_max": 0.7939876319696295, "translation_mean": 0.016508547030124984, "translation_radius_pct_mean": 0.40952664972237074}, "sim3": {"scale": 0.9967676660157847, "rotation": [[0.9999996890708239, 0.00018812484910061156, 0.0007658115284268675], [-0.00018758489368995185, 0.9999997338321626, -0.0007050868825695674], [-0.0007659439689558789, 0.000704943008663348, 0.999999458192449]], "translation": [-0.0025160300751820297, 0.005362708470950384, 0.0024882434163671086]}}} +{"step": 11000, "train_loss": 0.010908733122050762, "val_psnr": 23.146175384521484, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.9855352640151978, "translation_update_mean": 0.010455787181854248, "rotation_update_deg_mean": 0.22368979454040527, "pose_errors": {"raw": {"rotation_deg_mean": 0.2474655434451874, "rotation_deg_max": 0.7010066877284385, "translation_mean": 0.017735562206387237, "translation_radius_pct_mean": 0.43996515005654463}, "aligned": {"rotation_deg_mean": 0.24326979152649242, "rotation_deg_max": 0.6715458204958539, "translation_mean": 0.015393680980615191, "translation_radius_pct_mean": 0.3818702268214449}, "sim3": {"scale": 0.9969907672782753, "rotation": [[0.9999997434956964, 0.00033446303306438143, 0.000633358524798981], [-0.00033422427658262095, 0.9999998730685139, -0.00037703725163988687], [-0.000633484549428762, 0.0003768254711335497, 0.9999997283499094]], "translation": [-0.0013598734392517575, 0.00299739363824314, 0.0023834974060008562]}}} +{"step": 12000, "train_loss": 0.010058557614684105, "val_psnr": 23.36627960205078, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.7730225920677185, "translation_update_mean": 0.009531117044389248, "rotation_update_deg_mean": 0.18915779888629913, "pose_errors": {"raw": {"rotation_deg_mean": 0.24855606854589973, "rotation_deg_max": 0.5169455486807046, "translation_mean": 0.016568519290551975, "translation_radius_pct_mean": 0.41101437840280064}, "aligned": {"rotation_deg_mean": 0.23776543259327415, "rotation_deg_max": 0.5151500836367178, "translation_mean": 0.013725506520074135, "translation_radius_pct_mean": 0.3404879115437187}, "sim3": {"scale": 0.9971535098001062, "rotation": [[0.9999997129701467, 0.0002574816783901193, 0.0007125747745620278], [-0.00025699138424007534, 0.999999730260281, -0.0006880659809134221], [-0.0007127517467358577, 0.0006878826578402035, 0.9999995094010776]], "translation": [-0.00229747649532841, 0.005015690937733644, 0.001987625158175188]}}} +{"step": 13000, "train_loss": 0.012533973902463913, "val_psnr": 23.149181365966797, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.8921202421188354, "translation_update_mean": 0.00907142274081707, "rotation_update_deg_mean": 0.17736312747001648, "pose_errors": {"raw": {"rotation_deg_mean": 0.22667898743758158, "rotation_deg_max": 0.5134190288058574, "translation_mean": 0.017636863233486108, "translation_radius_pct_mean": 0.43751672987580553}, "aligned": {"rotation_deg_mean": 0.21388809065129152, "rotation_deg_max": 0.5135991797788472, "translation_mean": 0.014376744046799174, "translation_radius_pct_mean": 0.3566431262943877}, "sim3": {"scale": 0.9967418442777509, "rotation": [[0.9999998302118571, 0.0002172762336880201, 0.0005407099914710307], [-0.00021689513439013207, 0.9999997281267016, -0.0007047716111108967], [-0.0005408629745878333, 0.0007046542140828231, 0.9999996054647634]], "translation": [-0.0013279243177150013, 0.005346429542133241, 0.0020446663220119454]}}} +{"step": 14000, "train_loss": 0.011949267238378525, "val_psnr": 22.581968307495117, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.0156855583190918, "translation_update_mean": 0.008690373972058296, "rotation_update_deg_mean": 0.16422727704048157, "pose_errors": {"raw": {"rotation_deg_mean": 0.2228148167209967, "rotation_deg_max": 0.5156782114976017, "translation_mean": 0.01604623124656028, "translation_radius_pct_mean": 0.3980580066242511}, "aligned": {"rotation_deg_mean": 0.20949478944004604, "rotation_deg_max": 0.49135384820108724, "translation_mean": 0.01240652386145925, "translation_radius_pct_mean": 0.3077679787574613}, "sim3": {"scale": 0.9968545179117142, "rotation": [[0.9999998949274138, 0.00025083836631833116, 0.00038369945866685676], [-0.00025060041103448555, 0.9999997763482238, -0.0006200830071256494], [-0.00038385491346027323, 0.0006199867867299086, 0.9999997341358587]], "translation": [-0.0007625438566998821, 0.004515400321555438, 0.0021746237813640157]}}} +{"step": 15000, "train_loss": 0.008967552334070206, "val_psnr": 22.945850372314453, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.8469505906105042, "translation_update_mean": 0.007276500109583139, "rotation_update_deg_mean": 0.13868895173072815, "pose_errors": {"raw": {"rotation_deg_mean": 0.19547388835259338, "rotation_deg_max": 0.4137562650691187, "translation_mean": 0.01616326080464628, "translation_radius_pct_mean": 0.40096115265848364}, "aligned": {"rotation_deg_mean": 0.17918672418098913, "rotation_deg_max": 0.44647611730924247, "translation_mean": 0.01125156970242027, "translation_radius_pct_mean": 0.27911709225175946}, "sim3": {"scale": 0.9966582529301465, "rotation": [[0.9999999316200344, 0.00030274059493221695, 0.00021238657836889472], [-0.0003025770819906234, 0.9999996581631855, -0.0007694937444860934], [-0.00021261946276142756, 0.0007694294285570157, 0.9999996813856092]], "translation": [-0.00016958920278847822, 0.005163902617403016, 0.0025207166159897376]}}} +{"step": 16000, "train_loss": 0.011765546165406704, "val_psnr": 24.22199058532715, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 1.4807850122451782, "translation_update_mean": 0.006118064280599356, "rotation_update_deg_mean": 0.12531042098999023, "pose_errors": {"raw": {"rotation_deg_mean": 0.1969619598903303, "rotation_deg_max": 0.5166745427752631, "translation_mean": 0.015187024650533874, "translation_radius_pct_mean": 0.3767437142126922}, "aligned": {"rotation_deg_mean": 0.1851254029676762, "rotation_deg_max": 0.5225327810746319, "translation_mean": 0.01047805104198265, "translation_radius_pct_mean": 0.2599284559091003}, "sim3": {"scale": 0.9969085373699256, "rotation": [[0.9999999037605752, 0.00036992928305743477, 0.00023586260010595276], [-0.000369813035421385, 0.9999998102351351, -0.000492714940698498], [-0.00023604482503229872, 0.0004926276682158453, 0.9999998508003997]], "translation": [0.0002837252474087726, 0.004240196339741778, 0.002190609928675258]}}} +{"step": 17000, "train_loss": 0.007054703310132027, "val_psnr": 23.877765655517578, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.6299034953117371, "translation_update_mean": 0.005841871257871389, "rotation_update_deg_mean": 0.12505246698856354, "pose_errors": {"raw": {"rotation_deg_mean": 0.17981061425617664, "rotation_deg_max": 0.37700593927197334, "translation_mean": 0.015171447591450924, "translation_radius_pct_mean": 0.37635729493502185}, "aligned": {"rotation_deg_mean": 0.16503272124535812, "rotation_deg_max": 0.39029314647564334, "translation_mean": 0.010305681771545967, "translation_radius_pct_mean": 0.25565250056862054}, "sim3": {"scale": 0.9968702467154584, "rotation": [[0.9999998900438665, 0.00039880010995131015, 0.00024671993630775584], [-0.0003986533053646196, 0.9999997436510377, -0.0005947885339019428], [-0.00024695707479402374, 0.00059469011278321, 0.9999997926779143]], "translation": [0.0002376751815828526, 0.004395586002235788, 0.0015101097929854923]}}} +{"step": 18000, "train_loss": 0.009204065427184105, "val_psnr": 23.775407791137695, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.325820803642273, "translation_update_mean": 0.005921347998082638, "rotation_update_deg_mean": 0.12000694125890732, "pose_errors": {"raw": {"rotation_deg_mean": 0.1906932818291243, "rotation_deg_max": 0.3598215982409994, "translation_mean": 0.015160575551413955, "translation_radius_pct_mean": 0.37608759281503135}, "aligned": {"rotation_deg_mean": 0.17324211191207048, "rotation_deg_max": 0.3400756181837774, "translation_mean": 0.009268521952128558, "translation_radius_pct_mean": 0.22992373199210125}, "sim3": {"scale": 0.9967704052910275, "rotation": [[0.9999999279844222, 0.0003207933607437192, 0.00020278750183940243], [-0.0003206541429850387, 0.999999713168555, -0.000686180536220011], [-0.00020300756583398148, 0.0006861154621517964, 0.9999997440167187]], "translation": [0.0007014715099177282, 0.0054804105368013445, 0.0015338327555447506]}}} +{"step": 19000, "train_loss": 0.007555259391665459, "val_psnr": 24.392807006835938, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.7984525561332703, "translation_update_mean": 0.004930064082145691, "rotation_update_deg_mean": 0.10554439574480057, "pose_errors": {"raw": {"rotation_deg_mean": 0.1680366652488886, "rotation_deg_max": 0.39742761662016524, "translation_mean": 0.015282164653224134, "translation_radius_pct_mean": 0.37910384720835927}, "aligned": {"rotation_deg_mean": 0.15167404935279052, "rotation_deg_max": 0.3570918604661801, "translation_mean": 0.009168923423507695, "translation_radius_pct_mean": 0.22745299658038093}, "sim3": {"scale": 0.9966917262707982, "rotation": [[0.9999999231497905, 0.0003699683171438914, 0.0001297068185672644], [-0.00036987545584856027, 0.999999675821379, -0.000715226736657091], [-0.00012997138775126165, 0.000715178706323206, 0.9999997358133945]], "translation": [0.0010015078707854563, 0.0051734471764081635, 0.0016206756343395412]}}} +{"step": 20000, "train_loss": 0.008478915318846703, "val_psnr": 23.67102813720703, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 1.0611268281936646, "translation_update_mean": 0.0046562389470636845, "rotation_update_deg_mean": 0.09748170524835587, "pose_errors": {"raw": {"rotation_deg_mean": 0.17465193125501366, "rotation_deg_max": 0.3948214910195045, "translation_mean": 0.015141489942515653, "translation_radius_pct_mean": 0.3756141371283637}, "aligned": {"rotation_deg_mean": 0.15508476869873497, "rotation_deg_max": 0.4127376707503748, "translation_mean": 0.008797914426990154, "translation_radius_pct_mean": 0.21824939610097902}, "sim3": {"scale": 0.9967434111293911, "rotation": [[0.999999901815804, 0.00028878468514048085, 0.00033611276014481185], [-0.000288527442556253, 0.9999996656539192, -0.0007651431003179386], [-0.00033633360937593314, 0.0007650460474378518, 0.9999996507920619]], "translation": [-0.0002814349317545872, 0.00594889133011052, 0.0010644423910064482]}}} +{"step": 21000, "train_loss": 0.007565815933048725, "val_psnr": 22.192626953125, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.8755422830581665, "translation_update_mean": 0.004208685364574194, "rotation_update_deg_mean": 0.09406203776597977, "pose_errors": {"raw": {"rotation_deg_mean": 0.17584100896325144, "rotation_deg_max": 0.35329357573468234, "translation_mean": 0.014619218832037494, "translation_radius_pct_mean": 0.36265818541858547}, "aligned": {"rotation_deg_mean": 0.1594821824037323, "rotation_deg_max": 0.349617519092923, "translation_mean": 0.008056183978220983, "translation_radius_pct_mean": 0.1998493282375137}, "sim3": {"scale": 0.9967453966155201, "rotation": [[0.9999998776357637, 0.0003024370355453561, 0.000391484732914873], [-0.0003021976778921519, 0.9999997674792761, -0.0006113247553799762], [-0.00039166952913324783, 0.0006112063747984208, 0.9999997365108381]], "translation": [-0.0006675589413565608, 0.005450152250736834, 0.0014048308013867583]}}} +{"step": 22000, "train_loss": 0.010286686941981316, "val_psnr": 23.55168342590332, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 0.975372850894928, "translation_update_mean": 0.004046874586492777, "rotation_update_deg_mean": 0.08749077469110489, "pose_errors": {"raw": {"rotation_deg_mean": 0.16748621076062986, "rotation_deg_max": 0.3247337287774155, "translation_mean": 0.015016216098342193, "translation_radius_pct_mean": 0.37250647552685623}, "aligned": {"rotation_deg_mean": 0.15202403023896705, "rotation_deg_max": 0.2935221485772866, "translation_mean": 0.008322645594533013, "translation_radius_pct_mean": 0.20645942740667403}, "sim3": {"scale": 0.9966716419125105, "rotation": [[0.9999998392960974, 0.000383561767416202, 0.0004174783232894392], [-0.0003832933765227282, 0.9999997199625124, -0.0006427760770383466], [-0.00041772475070803394, 0.0006426159570654762, 0.9999997062753393]], "translation": [-0.0009090755206333512, 0.00573637198531779, 0.0013684476846798077]}}} +{"step": 23000, "train_loss": 0.007591321133077145, "val_psnr": 23.98543930053711, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.9013530611991882, "translation_update_mean": 0.0040513561107218266, "rotation_update_deg_mean": 0.08248647302389145, "pose_errors": {"raw": {"rotation_deg_mean": 0.1608500014099683, "rotation_deg_max": 0.3316067237133594, "translation_mean": 0.015799902328769544, "translation_radius_pct_mean": 0.3919473382384451}, "aligned": {"rotation_deg_mean": 0.14167369421750417, "rotation_deg_max": 0.3245383847674369, "translation_mean": 0.008188080560648037, "translation_radius_pct_mean": 0.20312127975527078}, "sim3": {"scale": 0.9964405178137675, "rotation": [[0.9999998887600563, 0.0003578478014386754, 0.0003072862300841576], [-0.00035760321874674713, 0.9999996195458726, -0.0007956305979481849], [-0.0003075708278361284, 0.0007955206228973515, 0.9999996362734966]], "translation": [-0.00016195348757014338, 0.006412509522292359, 0.001338895491410863]}}} +{"step": 24000, "train_loss": 0.006042747292667627, "val_psnr": 23.179298400878906, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.7171734571456909, "translation_update_mean": 0.0030848996248096228, "rotation_update_deg_mean": 0.07222902774810791, "pose_errors": {"raw": {"rotation_deg_mean": 0.16058354443668676, "rotation_deg_max": 0.3421137654996636, "translation_mean": 0.01580612495840681, "translation_radius_pct_mean": 0.3921017026814916}, "aligned": {"rotation_deg_mean": 0.13942802116374065, "rotation_deg_max": 0.3069811730359479, "translation_mean": 0.008058928073542257, "translation_radius_pct_mean": 0.199917400864462}, "sim3": {"scale": 0.9963363250448184, "rotation": [[0.9999999207352942, 0.0002925114810187857, 0.00027012300884442355], [-0.00029229929221191795, 0.9999996489856505, -0.0007852322586070055], [-0.00027035260347835877, 0.0007851532396015285, 0.9999996552218717]], "translation": [0.00011676403590527018, 0.006505433382230863, 0.0018530328971606558]}}} +{"step": 25000, "train_loss": 0.006946638226509094, "val_psnr": 24.156021118164062, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 1.3826510906219482, "translation_update_mean": 0.0031729622278362513, "rotation_update_deg_mean": 0.07388340681791306, "pose_errors": {"raw": {"rotation_deg_mean": 0.15477220385809246, "rotation_deg_max": 0.3009904779510832, "translation_mean": 0.016197801091438695, "translation_radius_pct_mean": 0.40181799171916754}, "aligned": {"rotation_deg_mean": 0.13344485490818334, "rotation_deg_max": 0.300989779789779, "translation_mean": 0.0078769022021098, "translation_radius_pct_mean": 0.19540189473575786}, "sim3": {"scale": 0.9962298077704712, "rotation": [[0.9999998904502939, 0.0003343931259915936, 0.00032753723088798937], [-0.00033412109763849933, 0.9999995995410209, -0.0008302294201016585], [-0.0003278147227338258, 0.0008301198920512283, 0.9999996017191571]], "translation": [-0.0002371326387211603, 0.006916258889163682, 0.0017165798497371654]}}} +{"step": 26000, "train_loss": 0.006935419514775276, "val_psnr": 22.447635650634766, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.8906190395355225, "translation_update_mean": 0.003034929046407342, "rotation_update_deg_mean": 0.06596142053604126, "pose_errors": {"raw": {"rotation_deg_mean": 0.14596542350500863, "rotation_deg_max": 0.285870550892819, "translation_mean": 0.016315296142820145, "translation_radius_pct_mean": 0.40473268522086686}, "aligned": {"rotation_deg_mean": 0.1229943478641957, "rotation_deg_max": 0.32230371322690327, "translation_mean": 0.007851744718269596, "translation_radius_pct_mean": 0.19477781436976788}, "sim3": {"scale": 0.9961437692851781, "rotation": [[0.9999999068058004, 0.0003200748080326451, 0.00028972488136847814], [-0.0003197890042710742, 0.9999994627935659, -0.0009859754420217595], [-0.0002900403116266794, 0.0009858826993031798, 0.9999994719558203]], "translation": [-2.6546986044539977e-05, 0.0075373867005483625, 0.0018791991733837499]}}} +{"step": 27000, "train_loss": 0.007015763316303492, "val_psnr": 22.413423538208008, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 1.0132684707641602, "translation_update_mean": 0.003181042615324259, "rotation_update_deg_mean": 0.06485319882631302, "pose_errors": {"raw": {"rotation_deg_mean": 0.1490601413899489, "rotation_deg_max": 0.33503921600181, "translation_mean": 0.016170604471396507, "translation_radius_pct_mean": 0.4011433266096745}, "aligned": {"rotation_deg_mean": 0.12370701256418276, "rotation_deg_max": 0.321584638502687, "translation_mean": 0.007581100229705083, "translation_radius_pct_mean": 0.18806395091071276}, "sim3": {"scale": 0.9961572240127361, "rotation": [[0.9999999182714789, 0.00031669642022065216, 0.0002513173568255666], [-0.00031645200367120293, 0.9999994775505279, -0.0009719860092349831], [-0.0002516250500146864, 0.0009719063999148889, 0.9999994960412664]], "translation": [5.415630628080592e-05, 0.007506730304825071, 0.001884901451706611]}}} +{"step": 28000, "train_loss": 0.00558349397033453, "val_psnr": 23.610530853271484, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.5794265270233154, "translation_update_mean": 0.0026266719214618206, "rotation_update_deg_mean": 0.0568668395280838, "pose_errors": {"raw": {"rotation_deg_mean": 0.1413858560974825, "rotation_deg_max": 0.290386579576922, "translation_mean": 0.016477874843078052, "translation_radius_pct_mean": 0.4087657664067121}, "aligned": {"rotation_deg_mean": 0.11802302954593462, "rotation_deg_max": 0.22949032885876494, "translation_mean": 0.007127668696345319, "translation_radius_pct_mean": 0.17681569893575408}, "sim3": {"scale": 0.9960639448396972, "rotation": [[0.9999999308222778, 0.0002737058611976133, 0.0002518740600811447], [-0.00027345133397279725, 0.9999994525479994, -0.0010100138960637732], [-0.00025215036891548684, 0.0010099449508956394, 0.9999994582155481]], "translation": [0.00010272763567631404, 0.007624659224082647, 0.0018541536124385694]}}} +{"step": 29000, "train_loss": 0.009096472524106503, "val_psnr": 22.00359344482422, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.7994346022605896, "translation_update_mean": 0.0023180320858955383, "rotation_update_deg_mean": 0.05424415320158005, "pose_errors": {"raw": {"rotation_deg_mean": 0.14642066221427627, "rotation_deg_max": 0.29044997040317777, "translation_mean": 0.016714981832247514, "translation_radius_pct_mean": 0.41464766689881094}, "aligned": {"rotation_deg_mean": 0.12210723923684873, "rotation_deg_max": 0.2574246423578212, "translation_mean": 0.006811736583396304, "translation_radius_pct_mean": 0.1689783877829542}, "sim3": {"scale": 0.9959684241153516, "rotation": [[0.9999999161018719, 0.00026089274369598287, 0.00031580251051448497], [-0.00026059860129241854, 0.9999995325745922, -0.0009310955729801273], [-0.0003160452789789693, 0.0009310131971703455, 0.9999995166647866]], "translation": [-0.00011785403427194696, 0.007469958271497074, 0.0018083679221665427]}}} +{"step": 29999, "train_loss": 0.004908780567348003, "val_psnr": 24.541025161743164, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.7090569138526917, "translation_update_mean": 0.002021143911406398, "rotation_update_deg_mean": 0.055071696639060974, "pose_errors": {"raw": {"rotation_deg_mean": 0.14013060160677468, "rotation_deg_max": 0.2817545183259395, "translation_mean": 0.016848812910890888, "translation_radius_pct_mean": 0.41796760736150207}, "aligned": {"rotation_deg_mean": 0.1155730107045568, "rotation_deg_max": 0.25407199919499174, "translation_mean": 0.006695370952245208, "translation_radius_pct_mean": 0.1660917117489473}, "sim3": {"scale": 0.9959515780819242, "rotation": [[0.9999999327013417, 0.00026433064904146577, 0.0002544142711837636], [-0.000264083122506061, 0.9999994922815212, -0.0009724694361514094], [-0.0002546711954901447, 0.0009724021841903381, 0.9999994947881599]], "translation": [0.00019050820867050344, 0.007541529303360425, 0.0016423235019473736]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R1.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R1.jsonl new file mode 100644 index 0000000..5aa1c05 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R1.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34218087792396545, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.005492891650646925, "translation_update_mean": 1.7298361854045652e-08, "rotation_update_deg_mean": 9.921631090037408e-07, "pose_errors": {"raw": {"rotation_deg_mean": 1.0001646017744208, "rotation_deg_max": 1.0009977263138061, "translation_mean": 1.8386089129601056e-09, "translation_radius_pct_mean": 4.5610273690363735e-08}, "aligned": {"rotation_deg_mean": 1.0001646418744952, "rotation_deg_max": 1.0009977263138061, "translation_mean": 4.735011100052989e-07, "translation_radius_pct_mean": 1.1746116897292182e-05}, "sim3": {"scale": 0.9999999718340389, "rotation": [[0.9999999999999999, -7.595767759225728e-10, 2.209829240686524e-09], [7.595765601918362e-10, 0.9999999999999994, -3.8030426217532914e-09], [-2.2098291271010633e-09, 3.803042709264623e-09, 0.9999999999999993]], "translation": [-2.1028664309863387e-08, -3.055348822555981e-08, -4.5842833618081613e-07]}}} +{"step": 1000, "train_loss": 0.04047837108373642, "val_psnr": 17.860572814941406, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.8179727792739868, "translation_update_mean": 0.01781950518488884, "rotation_update_deg_mean": 0.8645588755607605, "pose_errors": {"raw": {"rotation_deg_mean": 0.8530823012020567, "rotation_deg_max": 2.178262885713045, "translation_mean": 0.01781949470959849, "translation_radius_pct_mean": 0.44204725920765237}, "aligned": {"rotation_deg_mean": 0.8586513183349546, "rotation_deg_max": 2.2127411609306766, "translation_mean": 0.01748294436186442, "translation_radius_pct_mean": 0.43369847259918076}, "sim3": {"scale": 0.9994237186758593, "rotation": [[0.9999997485211535, 0.0006314991455032284, -0.0003227482908246066], [-0.0006314538149128902, 0.9999997907580529, 0.000140534444593324], [0.0003228369706739344, -0.0001403306086124146, 0.999999938041803]], "translation": [0.0003578876702638456, -0.002455091327296044, 0.0008039670967487922]}}} +{"step": 2000, "train_loss": 0.029824309051036835, "val_psnr": 18.492891311645508, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.2453292608261108, "translation_update_mean": 0.022143810987472534, "rotation_update_deg_mean": 0.9005777835845947, "pose_errors": {"raw": {"rotation_deg_mean": 0.6785178184843983, "rotation_deg_max": 3.2131395850058113, "translation_mean": 0.024423179997613294, "translation_radius_pct_mean": 0.6058645295517123}, "aligned": {"rotation_deg_mean": 0.6830723948373568, "rotation_deg_max": 3.176569568735234, "translation_mean": 0.02424252274871947, "translation_radius_pct_mean": 0.6013829747696626}, "sim3": {"scale": 0.9993915725243095, "rotation": [[0.9999997833401278, 0.0006453429685742926, 0.0001298158334088266], [-0.0006454295608922027, 0.999999568526453, 0.0006681074681090565], [-0.0001293846189398485, -0.0006681911103332754, 0.9999997683901029]], "translation": [-0.0024734527102134307, -0.0034957153887827247, 0.0006183477639507551]}}} +{"step": 3000, "train_loss": 0.02740478701889515, "val_psnr": 20.2806453704834, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.1522550582885742, "translation_update_mean": 0.01963038183748722, "rotation_update_deg_mean": 0.6624038815498352, "pose_errors": {"raw": {"rotation_deg_mean": 0.5154363636668539, "rotation_deg_max": 1.8003248184282266, "translation_mean": 0.02669574333128881, "translation_radius_pct_mean": 0.662239887517724}, "aligned": {"rotation_deg_mean": 0.509702779936622, "rotation_deg_max": 1.776730547426783, "translation_mean": 0.02653030431132492, "translation_radius_pct_mean": 0.6581358505327894}, "sim3": {"scale": 0.9993680698636166, "rotation": [[0.9999993618874213, 0.0007786095972979341, 0.0008185302955537771], [-0.0007794258179092899, 0.9999991989111731, 0.0009973326456633046], [-0.000817753107068656, -0.0009979699928979314, 0.9999991676675277]], "translation": [-0.005445073895999741, -0.004697947310844025, -0.00031860057479082826]}}} +{"step": 4000, "train_loss": 0.024905940517783165, "val_psnr": 20.253135681152344, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.1165857315063477, "translation_update_mean": 0.01953905075788498, "rotation_update_deg_mean": 0.5061195492744446, "pose_errors": {"raw": {"rotation_deg_mean": 0.4494821386735721, "rotation_deg_max": 1.8937961072151384, "translation_mean": 0.028724817014405834, "translation_radius_pct_mean": 0.7125750106494207}, "aligned": {"rotation_deg_mean": 0.4488471759138033, "rotation_deg_max": 1.9240386007071149, "translation_mean": 0.0280484658409204, "translation_radius_pct_mean": 0.6957968029968732}, "sim3": {"scale": 0.9995995631230967, "rotation": [[0.9999997884858325, 0.0003787271039597898, 0.0005287665564511112], [-0.0003793827502624233, 0.9999991587317558, 0.001240404978393724], [-0.0005282963366315521, -0.0012406053209409336, 0.9999990909002971]], "translation": [-0.004189438089887421, -0.007571786092144317, -0.0008677687386517974]}}} +{"step": 5000, "train_loss": 0.01686987839639187, "val_psnr": 21.152170181274414, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.8247443437576294, "translation_update_mean": 0.017683090642094612, "rotation_update_deg_mean": 0.4648813009262085, "pose_errors": {"raw": {"rotation_deg_mean": 0.39511740105916265, "rotation_deg_max": 1.1235139453067196, "translation_mean": 0.02906691127197622, "translation_radius_pct_mean": 0.7210613247348706}, "aligned": {"rotation_deg_mean": 0.3852384805766638, "rotation_deg_max": 1.0926609611952174, "translation_mean": 0.027962740637508768, "translation_radius_pct_mean": 0.6936702224270708}, "sim3": {"scale": 0.9990255053498031, "rotation": [[0.9999989734163978, 0.0007969810730383766, 0.00119079272739704], [-0.0007977677878181623, 0.99999946376139, 0.0006603358907546391], [-0.00119026581364116, -0.0006612851889445678, 0.9999990729841659]], "translation": [-0.008821772668391847, -0.004523186186563444, 0.00036703513820857125]}}} +{"step": 6000, "train_loss": 0.015234721824526787, "val_psnr": 20.840343475341797, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.904356062412262, "translation_update_mean": 0.016451161354780197, "rotation_update_deg_mean": 0.3793838322162628, "pose_errors": {"raw": {"rotation_deg_mean": 0.3413340907967956, "rotation_deg_max": 0.8911302619399702, "translation_mean": 0.027571293701984002, "translation_radius_pct_mean": 0.6839596190797855}, "aligned": {"rotation_deg_mean": 0.32531478906064604, "rotation_deg_max": 0.8951262459169083, "translation_mean": 0.026836942786985854, "translation_radius_pct_mean": 0.6657426149187917}, "sim3": {"scale": 0.9997127940795892, "rotation": [[0.9999993858358445, 0.0007388199894175188, 0.00082611921452713], [-0.0007394093929766482, 0.9999994721790819, 0.0007133830017530535], [-0.0008255917168622299, -0.0007139934039258063, 0.9999994043056898]], "translation": [-0.0064644390901768545, -0.005608402003228513, 0.00044058415087233627]}}} +{"step": 7000, "train_loss": 0.016631487756967545, "val_psnr": 20.203754425048828, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 0.8498808145523071, "translation_update_mean": 0.015806397423148155, "rotation_update_deg_mean": 0.30367153882980347, "pose_errors": {"raw": {"rotation_deg_mean": 0.3354813590544668, "rotation_deg_max": 0.6915676625101163, "translation_mean": 0.023902728418628352, "translation_radius_pct_mean": 0.5929537148630857}, "aligned": {"rotation_deg_mean": 0.3135522959744542, "rotation_deg_max": 0.6865656584277753, "translation_mean": 0.02335603504794638, "translation_radius_pct_mean": 0.5793919214410317}, "sim3": {"scale": 0.9992427965400498, "rotation": [[0.9999992038955052, 0.0006190895398468295, 0.001099516482968533], [-0.0006196901288210346, 0.9999996589485246, 0.0005459734223686316], [-0.0010991781015418606, -0.0005466543472277467, 0.9999992464879773]], "translation": [-0.008062165127632526, -0.00580825009821373, 0.00014443258375651524]}}} +{"step": 8000, "train_loss": 0.013554660603404045, "val_psnr": 20.3573055267334, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.8099056482315063, "translation_update_mean": 0.014732150360941887, "rotation_update_deg_mean": 0.2940109968185425, "pose_errors": {"raw": {"rotation_deg_mean": 0.28541264570566854, "rotation_deg_max": 0.6652280686717368, "translation_mean": 0.022238663331221667, "translation_radius_pct_mean": 0.5516733405865335}, "aligned": {"rotation_deg_mean": 0.2678466999967088, "rotation_deg_max": 0.6729319071147116, "translation_mean": 0.020773253765031075, "translation_radius_pct_mean": 0.5153210032779846}, "sim3": {"scale": 0.9988433755451357, "rotation": [[0.9999989668226055, 0.0008673888388302682, 0.00114629416991697], [-0.0008681790150708985, 0.9999993857626802, 0.000689013397001622], [-0.0011456958232899477, -0.0006900078736720738, 0.9999991056347073]], "translation": [-0.008004703999603902, -0.006956025517440886, 7.453215372565936e-05]}}} +{"step": 9000, "train_loss": 0.01494046300649643, "val_psnr": 21.275814056396484, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.8203600645065308, "translation_update_mean": 0.014004627242684364, "rotation_update_deg_mean": 0.24784773588180542, "pose_errors": {"raw": {"rotation_deg_mean": 0.295920935654444, "rotation_deg_max": 0.5893696529239911, "translation_mean": 0.022311599938132455, "translation_radius_pct_mean": 0.5534826751218979}, "aligned": {"rotation_deg_mean": 0.2664181636287159, "rotation_deg_max": 0.5247363409145763, "translation_mean": 0.019531340127635955, "translation_radius_pct_mean": 0.4845129176094607}, "sim3": {"scale": 0.9975261752626835, "rotation": [[0.9999988399130125, 0.0006467505633137102, 0.0013790889520929027], [-0.0006471243081729445, 0.9999997540083946, 0.00027057952511178274], [-0.0013789136153883404, -0.00027147165320007, 0.9999990124497037]], "translation": [-0.009344286450042816, -0.004676127295401886, 0.0006476812950397814]}}} +{"step": 10000, "train_loss": 0.014287875033915043, "val_psnr": 21.5909481048584, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.0147136449813843, "translation_update_mean": 0.013183523900806904, "rotation_update_deg_mean": 0.23424461483955383, "pose_errors": {"raw": {"rotation_deg_mean": 0.2789665535720184, "rotation_deg_max": 0.5977601148175534, "translation_mean": 0.019828351821786633, "translation_radius_pct_mean": 0.49188087093763266}, "aligned": {"rotation_deg_mean": 0.252125632660152, "rotation_deg_max": 0.565005092734382, "translation_mean": 0.017129034013239994, "translation_radius_pct_mean": 0.42491903737028036}, "sim3": {"scale": 0.9978532539230491, "rotation": [[0.9999984659737947, 0.0008350146124128719, 0.0015397404502362905], [-0.0008362503124946535, 0.9999993286852842, 0.0008020688221861546], [-0.0015390696773991703, -0.0008033552002241921, 0.9999984929413397]], "translation": [-0.009750422486206611, -0.007236828441758977, 0.0009662498952116572]}}} +{"step": 11000, "train_loss": 0.010219011455774307, "val_psnr": 20.664249420166016, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.8567479252815247, "translation_update_mean": 0.011087868362665176, "rotation_update_deg_mean": 0.21844887733459473, "pose_errors": {"raw": {"rotation_deg_mean": 0.26172235843170627, "rotation_deg_max": 0.6735530493834431, "translation_mean": 0.020064953570306333, "translation_radius_pct_mean": 0.49775023795175644}, "aligned": {"rotation_deg_mean": 0.23554656993977058, "rotation_deg_max": 0.5963077566048395, "translation_mean": 0.017028392899923087, "translation_radius_pct_mean": 0.4224224386153571}, "sim3": {"scale": 0.9977950123342456, "rotation": [[0.9999981366057611, 0.000801635409590394, 0.0017561792834896142], [-0.0008025259151959565, 0.9999995497434039, 0.0005064238792016852], [-0.0017557725254445857, -0.0005078323149210543, 0.999998329683195]], "translation": [-0.010637767099078432, -0.005675817090823959, 0.0005967560835333785]}}} +{"step": 12000, "train_loss": 0.008939981460571289, "val_psnr": 21.97952651977539, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.9585555791854858, "translation_update_mean": 0.00930874701589346, "rotation_update_deg_mean": 0.19528920948505402, "pose_errors": {"raw": {"rotation_deg_mean": 0.2522265446806257, "rotation_deg_max": 0.5297151024290153, "translation_mean": 0.018311051824767527, "translation_radius_pct_mean": 0.4542412904664316}, "aligned": {"rotation_deg_mean": 0.2167480781617169, "rotation_deg_max": 0.5559512454377842, "translation_mean": 0.015651412208823795, "translation_radius_pct_mean": 0.38826375171642785}, "sim3": {"scale": 0.9980162031312807, "rotation": [[0.9999985209696457, 0.000818435884575562, 0.0015126867567182743], [-0.0008189719385555146, 0.9999996020599051, 0.00035378665260923296], [-0.0015123966030676564, -0.0003550249773535621, 0.9999987933061629]], "translation": [-0.00982431231034897, -0.0048819940239227255, 0.00018399078275077585]}}} +{"step": 13000, "train_loss": 0.011441518552601337, "val_psnr": 20.850313186645508, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 1.202218770980835, "translation_update_mean": 0.009128233417868614, "rotation_update_deg_mean": 0.17619289457798004, "pose_errors": {"raw": {"rotation_deg_mean": 0.2322508168205165, "rotation_deg_max": 0.4812261135671486, "translation_mean": 0.018489264843528343, "translation_radius_pct_mean": 0.4586622113613381}, "aligned": {"rotation_deg_mean": 0.19344148895240504, "rotation_deg_max": 0.41139428140818574, "translation_mean": 0.014253083128944808, "translation_radius_pct_mean": 0.3535754764704463}, "sim3": {"scale": 0.9972371595741297, "rotation": [[0.9999979494134865, 0.0007542766063882546, 0.0018794242795184004], [-0.0007549349344267859, 0.9999996539275454, 0.0003495969593349602], [-0.0018791599362933118, -0.0003510150855013765, 0.9999981727715019]], "translation": [-0.011707440407704162, -0.0053458948157416725, 0.00065757581668624]}}} +{"step": 14000, "train_loss": 0.01199447549879551, "val_psnr": 21.038917541503906, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.114387035369873, "translation_update_mean": 0.008415436372160912, "rotation_update_deg_mean": 0.1628967970609665, "pose_errors": {"raw": {"rotation_deg_mean": 0.2354829100261201, "rotation_deg_max": 0.5683714261646244, "translation_mean": 0.017753166584290093, "translation_radius_pct_mean": 0.44040186092454814}, "aligned": {"rotation_deg_mean": 0.19680496575722306, "rotation_deg_max": 0.4604612414778154, "translation_mean": 0.01280555185458731, "translation_radius_pct_mean": 0.3176666449982261}, "sim3": {"scale": 0.997577266778666, "rotation": [[0.9999975483721529, 0.0007701007106690346, 0.002076100811332224], [-0.0007710436963020344, 0.9999995999382623, 0.0004534478304526503], [-0.0020757507802673303, -0.0004550474832108463, 0.9999977420926948]], "translation": [-0.012760340516815183, -0.005552797577305285, -0.00033817014445514104]}}} +{"step": 15000, "train_loss": 0.009468020871281624, "val_psnr": 21.583301544189453, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.7632033824920654, "translation_update_mean": 0.007057919166982174, "rotation_update_deg_mean": 0.14608970284461975, "pose_errors": {"raw": {"rotation_deg_mean": 0.2297781503577389, "rotation_deg_max": 0.47728853006744837, "translation_mean": 0.01738335756701585, "translation_radius_pct_mean": 0.43122802826652673}, "aligned": {"rotation_deg_mean": 0.18566600946570597, "rotation_deg_max": 0.39786068327881835, "translation_mean": 0.012177906286549255, "translation_radius_pct_mean": 0.30209667471418633}, "sim3": {"scale": 0.9976636228057454, "rotation": [[0.999997674743187, 0.0010047458392872166, 0.001908138888684848], [-0.001005800674599564, 0.9999993418692915, 0.000551929331728524], [-0.0019075830841805061, -0.0005538472557325403, 0.9999980271880521]], "translation": [-0.012076804319942902, -0.006513643244605974, 5.5545490956543375e-05]}}} +{"step": 16000, "train_loss": 0.011069528758525848, "val_psnr": 21.865230560302734, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 1.1378543376922607, "translation_update_mean": 0.00628331582993269, "rotation_update_deg_mean": 0.14267593622207642, "pose_errors": {"raw": {"rotation_deg_mean": 0.2127236552147541, "rotation_deg_max": 0.4893386656285484, "translation_mean": 0.01711473031210153, "translation_radius_pct_mean": 0.42456420621553514}, "aligned": {"rotation_deg_mean": 0.1727988478744095, "rotation_deg_max": 0.4265040821438244, "translation_mean": 0.010956216047338182, "translation_radius_pct_mean": 0.2717902698107352}, "sim3": {"scale": 0.9974267323301186, "rotation": [[0.9999977864715, 0.0009654654343401988, 0.0018694728121711383], [-0.0009666277018110313, 0.9999993400537315, 0.0006209049742165082], [-0.001868872116128913, -0.0006227106840336737, 0.9999980597723263]], "translation": [-0.012068756572557848, -0.006654263361310975, -0.000192717811334564]}}} +{"step": 17000, "train_loss": 0.008766114711761475, "val_psnr": 22.011516571044922, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.5323671102523804, "translation_update_mean": 0.006190543528646231, "rotation_update_deg_mean": 0.1267336755990982, "pose_errors": {"raw": {"rotation_deg_mean": 0.2065831948250382, "rotation_deg_max": 0.4834855217285903, "translation_mean": 0.017072025683847733, "translation_radius_pct_mean": 0.4235048347696712}, "aligned": {"rotation_deg_mean": 0.16088758640047207, "rotation_deg_max": 0.44440770616721903, "translation_mean": 0.010180075232043522, "translation_radius_pct_mean": 0.25253658581175004}, "sim3": {"scale": 0.9973850269428104, "rotation": [[0.9999978349721447, 0.0010163246970046036, 0.0018158015127403481], [-0.001017783306867883, 0.999999160020039, 0.0008025436790767266], [-0.0018149843425419362, -0.0008043900340155605, 0.9999980293923125]], "translation": [-0.01186851340109657, -0.007547900899063667, -0.0007852743013843089]}}} +{"step": 18000, "train_loss": 0.009308152832090855, "val_psnr": 21.889659881591797, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.7688658237457275, "translation_update_mean": 0.005374532658606768, "rotation_update_deg_mean": 0.12157359719276428, "pose_errors": {"raw": {"rotation_deg_mean": 0.1989236736037448, "rotation_deg_max": 0.4695788574972258, "translation_mean": 0.01704675565355551, "translation_radius_pct_mean": 0.42287796246982107}, "aligned": {"rotation_deg_mean": 0.1622705356057539, "rotation_deg_max": 0.39847275853220393, "translation_mean": 0.010209951688961215, "translation_radius_pct_mean": 0.2532777294923387}, "sim3": {"scale": 0.997432743127573, "rotation": [[0.9999975272130794, 0.0009328584516330814, 0.002018747838568775], [-0.0009346202984149474, 0.9999991830718727, 0.0008719750478329439], [-0.002017932760103806, -0.0008738596543317903, 0.9999975821554163]], "translation": [-0.012980726807682696, -0.0077471639627970795, -0.0007016262411578822]}}} +{"step": 19000, "train_loss": 0.007853331044316292, "val_psnr": 22.788860321044922, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.6160606145858765, "translation_update_mean": 0.005376678425818682, "rotation_update_deg_mean": 0.10971257835626602, "pose_errors": {"raw": {"rotation_deg_mean": 0.1884784493468336, "rotation_deg_max": 0.5103347924459665, "translation_mean": 0.016544230742850476, "translation_radius_pct_mean": 0.4104118536894709}, "aligned": {"rotation_deg_mean": 0.14726630995071435, "rotation_deg_max": 0.3931022775597159, "translation_mean": 0.009324490550863568, "translation_radius_pct_mean": 0.23131214204949627}, "sim3": {"scale": 0.997340851472259, "rotation": [[0.9999976777148841, 0.0009818371087033384, 0.0019184787542205096], [-0.0009833203249349606, 0.999999218292847, 0.0007723307789227056], [-0.00191771895151293, -0.0007742154645023566, 0.9999978614699314]], "translation": [-0.012778295618596003, -0.007397207456556948, -0.00026836887134651377]}}} +{"step": 20000, "train_loss": 0.0087517611682415, "val_psnr": 21.789026260375977, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.8022277355194092, "translation_update_mean": 0.004644930362701416, "rotation_update_deg_mean": 0.10351814329624176, "pose_errors": {"raw": {"rotation_deg_mean": 0.17563578166166124, "rotation_deg_max": 0.4131328522252273, "translation_mean": 0.01672183119986361, "translation_radius_pct_mean": 0.41481757879762415}, "aligned": {"rotation_deg_mean": 0.14500910071217887, "rotation_deg_max": 0.2950735499343489, "translation_mean": 0.00900324515273978, "translation_radius_pct_mean": 0.22334302451345298}, "sim3": {"scale": 0.9971666755821856, "rotation": [[0.9999976662408083, 0.0010142328388728914, 0.0019075756042483305], [-0.0010160919139973756, 0.9999990095781301, 0.0009738582969183859], [-0.0019065859958787008, -0.0009757942963143972, 0.9999977063750367]], "translation": [-0.012478823894796875, -0.008542412982127698, -0.00011532445846063055]}}} +{"step": 21000, "train_loss": 0.007838042452931404, "val_psnr": 21.61029624938965, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.9042430520057678, "translation_update_mean": 0.00408652750775218, "rotation_update_deg_mean": 0.10005153715610504, "pose_errors": {"raw": {"rotation_deg_mean": 0.18030068978536334, "rotation_deg_max": 0.3786172215783205, "translation_mean": 0.016924971935045233, "translation_radius_pct_mean": 0.4198568802303463}, "aligned": {"rotation_deg_mean": 0.14420672727150297, "rotation_deg_max": 0.3221274262384732, "translation_mean": 0.008355794247984463, "translation_radius_pct_mean": 0.20728174429295165}, "sim3": {"scale": 0.9969523110786351, "rotation": [[0.9999979569750015, 0.0009775897488999265, 0.0017692835006725902], [-0.0009791663124553188, 0.9999991241854163, 0.0008904278374667923], [-0.001768411477982354, -0.0008921584411014824, 0.9999980383851571]], "translation": [-0.012086381873224805, -0.008169938576659139, -0.00021097876058639997]}}} +{"step": 22000, "train_loss": 0.01049246359616518, "val_psnr": 20.74298095703125, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.302476167678833, "translation_update_mean": 0.003705133218318224, "rotation_update_deg_mean": 0.09192876517772675, "pose_errors": {"raw": {"rotation_deg_mean": 0.17239893444848436, "rotation_deg_max": 0.33462022790392415, "translation_mean": 0.016781196075127708, "translation_radius_pct_mean": 0.41629024010656485}, "aligned": {"rotation_deg_mean": 0.13289529794241342, "rotation_deg_max": 0.27942382379055586, "translation_mean": 0.007743338730404099, "translation_radius_pct_mean": 0.19208859278416207}, "sim3": {"scale": 0.9967303748581127, "rotation": [[0.9999980876148014, 0.0009609461931708884, 0.0017033347156044335], [-0.0009623105400888797, 0.9999992167010152, 0.0008003472866306596], [-0.001702564290705617, -0.0008019848930085789, 0.9999982290459638]], "translation": [-0.011945135843641319, -0.007511629798684305, 0.0001233725085296733]}}} +{"step": 23000, "train_loss": 0.008301209658384323, "val_psnr": 20.393795013427734, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.9537364840507507, "translation_update_mean": 0.003998610656708479, "rotation_update_deg_mean": 0.08369963616132736, "pose_errors": {"raw": {"rotation_deg_mean": 0.1646601601865017, "rotation_deg_max": 0.40432251835024263, "translation_mean": 0.01696502175433901, "translation_radius_pct_mean": 0.4208503939712853}, "aligned": {"rotation_deg_mean": 0.12343418717571426, "rotation_deg_max": 0.350153085418872, "translation_mean": 0.0075355768019831045, "translation_radius_pct_mean": 0.18693465365609427}, "sim3": {"scale": 0.996700231274301, "rotation": [[0.9999980157207609, 0.000975523170856788, 0.001736925180729634], [-0.0009767613914492188, 0.9999992693715132, 0.0007121752759136522], [-0.001736229168199191, -0.0007138704242154093, 0.9999982379470933]], "translation": [-0.012315057907295701, -0.007074315823395308, -6.246888837813103e-05]}}} +{"step": 24000, "train_loss": 0.005890302360057831, "val_psnr": 21.185688018798828, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.5409876704216003, "translation_update_mean": 0.0032186938915401697, "rotation_update_deg_mean": 0.07379776239395142, "pose_errors": {"raw": {"rotation_deg_mean": 0.15713268131805383, "rotation_deg_max": 0.31282604891815097, "translation_mean": 0.01667538905271257, "translation_radius_pct_mean": 0.4136654909189046}, "aligned": {"rotation_deg_mean": 0.12109842567302062, "rotation_deg_max": 0.26439636679396117, "translation_mean": 0.007237745380225709, "translation_radius_pct_mean": 0.17954636538870256}, "sim3": {"scale": 0.9966365440226034, "rotation": [[0.9999980344815215, 0.0009096856174196124, 0.0017616768063428436], [-0.0009108675328296481, 0.999999360564161, 0.0006702175816954477], [-0.0017610659925688889, -0.0006718209185766897, 0.9999982236500328]], "translation": [-0.012273356662367008, -0.006737261550692722, 0.0002542978584560984]}}} +{"step": 25000, "train_loss": 0.007432299200445414, "val_psnr": 21.65555191040039, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.7601537704467773, "translation_update_mean": 0.003110879799351096, "rotation_update_deg_mean": 0.07260012626647949, "pose_errors": {"raw": {"rotation_deg_mean": 0.15346303154866342, "rotation_deg_max": 0.30090426966135125, "translation_mean": 0.017072428689908447, "translation_radius_pct_mean": 0.4235148321196234}, "aligned": {"rotation_deg_mean": 0.11961409484038572, "rotation_deg_max": 0.28378363035096077, "translation_mean": 0.007102681491137673, "translation_radius_pct_mean": 0.1761958426627617}, "sim3": {"scale": 0.9964996051634404, "rotation": [[0.9999980948680537, 0.0009203591078623887, 0.001721394601795978], [-0.0009216273340295944, 0.9999993043831042, 0.0007360953505964842], [-0.0017207159323046047, -0.0007376804325553979, 0.9999982474805938]], "translation": [-0.0121172616159258, -0.0070442241791797006, 0.00016586449048583418]}}} +{"step": 26000, "train_loss": 0.006631028838455677, "val_psnr": 21.57362937927246, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.9302883744239807, "translation_update_mean": 0.002802708186209202, "rotation_update_deg_mean": 0.06582656502723694, "pose_errors": {"raw": {"rotation_deg_mean": 0.15207096334999856, "rotation_deg_max": 0.32252965340597506, "translation_mean": 0.017337335245093753, "translation_radius_pct_mean": 0.43008635496997266}, "aligned": {"rotation_deg_mean": 0.11748160275576602, "rotation_deg_max": 0.275239863373582, "translation_mean": 0.006853985334210092, "translation_radius_pct_mean": 0.17002645030136682}, "sim3": {"scale": 0.9963376539461863, "rotation": [[0.9999979488803868, 0.0009300986905345935, 0.0017992085610624676], [-0.0009316057494610356, 0.9999992157985093, 0.0008369666024706366], [-0.0017984286885795065, -0.0008386410387918518, 0.9999980311657929]], "translation": [-0.012564353734166922, -0.007660454219818438, 0.00045434753389050897]}}} +{"step": 27000, "train_loss": 0.007323883473873138, "val_psnr": 21.615903854370117, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.6716470718383789, "translation_update_mean": 0.0025196790229529142, "rotation_update_deg_mean": 0.06100817397236824, "pose_errors": {"raw": {"rotation_deg_mean": 0.14782919933418437, "rotation_deg_max": 0.2801258384565251, "translation_mean": 0.017475953704358563, "translation_radius_pct_mean": 0.4335250557295734}, "aligned": {"rotation_deg_mean": 0.11219519669154975, "rotation_deg_max": 0.24378172783140645, "translation_mean": 0.006554179104319879, "translation_radius_pct_mean": 0.1625891730734687}, "sim3": {"scale": 0.9962739898075994, "rotation": [[0.9999980743025138, 0.0009210980848357934, 0.001732907840095844], [-0.0009224584911218807, 0.9999992668876636, 0.0007844070797474391], [-0.001732184053820792, -0.0007860041047681436, 0.9999981908663387]], "translation": [-0.012383948900702213, -0.007352250535953148, 0.0004368875173952347]}}} +{"step": 28000, "train_loss": 0.006005941890180111, "val_psnr": 22.154232025146484, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.7303411364555359, "translation_update_mean": 0.0024513565003871918, "rotation_update_deg_mean": 0.06271440535783768, "pose_errors": {"raw": {"rotation_deg_mean": 0.14456404438344886, "rotation_deg_max": 0.28127888635483045, "translation_mean": 0.017884898615513966, "translation_radius_pct_mean": 0.44366973042934416}, "aligned": {"rotation_deg_mean": 0.10809997325727261, "rotation_deg_max": 0.21824811314715722, "translation_mean": 0.006648957035864901, "translation_radius_pct_mean": 0.16494032418945853}, "sim3": {"scale": 0.9961915714696312, "rotation": [[0.9999981067310075, 0.0009239440690964682, 0.0017125600008909437], [-0.0009252934927728991, 0.9999992619696547, 0.0007873322658338478], [-0.001711831285992207, -0.000788915395826857, 0.9999982236214947]], "translation": [-0.012297659905364078, -0.0074739341203739484, 0.00039249861426471355]}}} +{"step": 29000, "train_loss": 0.008833985775709152, "val_psnr": 20.1661376953125, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 1.2820197343826294, "translation_update_mean": 0.002458854578435421, "rotation_update_deg_mean": 0.05551386624574661, "pose_errors": {"raw": {"rotation_deg_mean": 0.13849726467996953, "rotation_deg_max": 0.2786153175216565, "translation_mean": 0.017634903024660097, "translation_radius_pct_mean": 0.437468103079528}, "aligned": {"rotation_deg_mean": 0.10741234512044119, "rotation_deg_max": 0.24304362240234245, "translation_mean": 0.006450481114825707, "translation_radius_pct_mean": 0.16001674255350837}, "sim3": {"scale": 0.9962542399460868, "rotation": [[0.9999979436956299, 0.0009353047476727643, 0.0017993914359771407], [-0.0009368789577766115, 0.9999991790043431, 0.0008742130503977529], [-0.0017985723030679544, -0.0008758970647228469, 0.9999979989689982]], "translation": [-0.012587442574822083, -0.007845243946439151, 0.00038964801023100293]}}} +{"step": 29999, "train_loss": 0.0051317112520337105, "val_psnr": 23.78739356994629, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.9974532127380371, "translation_update_mean": 0.002203678246587515, "rotation_update_deg_mean": 0.050157226622104645, "pose_errors": {"raw": {"rotation_deg_mean": 0.13912696367959834, "rotation_deg_max": 0.27252345182171583, "translation_mean": 0.01774533401542343, "translation_radius_pct_mean": 0.4402075588045112}, "aligned": {"rotation_deg_mean": 0.10087544513583988, "rotation_deg_max": 0.2191940772311564, "translation_mean": 0.005997451959637049, "translation_radius_pct_mean": 0.1487784723524777}, "sim3": {"scale": 0.9961556000731941, "rotation": [[0.9999980690678448, 0.0009180577692527287, 0.001737535759230316], [-0.0009194475628272528, 0.9999992579194927, 0.0007992350369601845], [-0.0017368007259039517, -0.0008008310667106358, 0.9999981710947498]], "translation": [-0.012330051932759767, -0.007476869397979327, 0.0005459924364918933]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R2.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R2.jsonl new file mode 100644 index 0000000..b565b25 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R2.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.342212051153183, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.00539215374737978, "translation_update_mean": 1.730606413730129e-08, "rotation_update_deg_mean": 9.919791637003073e-07, "pose_errors": {"raw": {"rotation_deg_mean": 2.0000857467319344, "rotation_deg_max": 2.0004859748544095, "translation_mean": 1.8388999512646728e-09, "translation_radius_pct_mean": 4.5617493462133644e-08}, "aligned": {"rotation_deg_mean": 2.0000857694296896, "rotation_deg_max": 2.0004859748544095, "translation_mean": 4.735046049485789e-07, "translation_radius_pct_mean": 1.1746203596164581e-05}, "sim3": {"scale": 0.9999999718329496, "rotation": [[1.0000000000000002, -4.917649963317991e-10, 2.1995488007849273e-09], [4.91765122655618e-10, 1.0, -3.8923946346678205e-09], [-2.1995488013118186e-09, 3.8923947135912635e-09, 1.0000000000000002]], "translation": [-2.1025082230785586e-08, -3.045519915423345e-08, -4.584282846664678e-07]}}} +{"step": 1000, "train_loss": 0.04247838258743286, "val_psnr": 17.493389129638672, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.723074197769165, "translation_update_mean": 0.02224072813987732, "rotation_update_deg_mean": 1.2015303373336792, "pose_errors": {"raw": {"rotation_deg_mean": 1.4829958487516666, "rotation_deg_max": 3.168875575868533, "translation_mean": 0.02224072391088461, "translation_radius_pct_mean": 0.5517244572768341}, "aligned": {"rotation_deg_mean": 1.4819088391577262, "rotation_deg_max": 3.1730360729026494, "translation_mean": 0.02215379217244268, "translation_radius_pct_mean": 0.549567946256591}, "sim3": {"scale": 1.0000549034657644, "rotation": [[0.9999997200461127, 0.0006944983489880986, 0.0002785313995072239], [-0.0006947140801460723, 0.9999994582313468, 0.0007751834373331102], [-0.0002779928849903946, -0.0007753767200025228, 0.9999996607553927]], "translation": [-0.0026992765044506206, -0.0012828356983437539, -0.0008054818401346253]}}} +{"step": 2000, "train_loss": 0.031401269137859344, "val_psnr": 17.76081085205078, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.6454380750656128, "translation_update_mean": 0.025335082784295082, "rotation_update_deg_mean": 1.0466119050979614, "pose_errors": {"raw": {"rotation_deg_mean": 1.0162738940672111, "rotation_deg_max": 1.904436099399498, "translation_mean": 0.032200910518582836, "translation_radius_pct_mean": 0.7988062776585395}, "aligned": {"rotation_deg_mean": 1.0479185833733515, "rotation_deg_max": 2.0095139979658443, "translation_mean": 0.03169414114535909, "translation_radius_pct_mean": 0.78623487672183}, "sim3": {"scale": 1.0006280715790292, "rotation": [[0.9999994275589716, 0.0008422788569541838, -0.0006598848806881673], [-0.000841193876218636, 0.999998296876528, 0.0016427528439927567], [0.0006612674128103891, -0.0016421968124929816, 0.9999984329562915]], "translation": [0.0029112892197794005, -0.0030781249137102618, -0.0012470638561690173]}}} +{"step": 3000, "train_loss": 0.028410620987415314, "val_psnr": 19.32748031616211, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.1108685731887817, "translation_update_mean": 0.022138651460409164, "rotation_update_deg_mean": 0.8822262287139893, "pose_errors": {"raw": {"rotation_deg_mean": 0.7451090378592709, "rotation_deg_max": 2.532990713344747, "translation_mean": 0.03265737732214864, "translation_radius_pct_mean": 0.8101298254203543}, "aligned": {"rotation_deg_mean": 0.754692191921174, "rotation_deg_max": 2.519948932655651, "translation_mean": 0.032035880766105015, "translation_radius_pct_mean": 0.7947123933504034}, "sim3": {"scale": 0.9992047660490162, "rotation": [[0.9999998064208787, 0.0006081869526244814, -0.00013140333300961672], [-0.0006081346080382664, 0.9999997358745877, 0.0003980239328882316], [0.00013164537126573902, -0.00039794394492479547, 0.9999999121550504]], "translation": [0.0015458597874826174, 0.003053505317521757, -1.5640716153342282e-06]}}} +{"step": 4000, "train_loss": 0.02672760747373104, "val_psnr": 19.757801055908203, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.174565076828003, "translation_update_mean": 0.022196080535650253, "rotation_update_deg_mean": 0.689683735370636, "pose_errors": {"raw": {"rotation_deg_mean": 0.5760393871742508, "rotation_deg_max": 1.5536360592625094, "translation_mean": 0.03460084746245177, "translation_radius_pct_mean": 0.8583413860102374}, "aligned": {"rotation_deg_mean": 0.5646452499846629, "rotation_deg_max": 1.5548744466693558, "translation_mean": 0.033726938402875245, "translation_radius_pct_mean": 0.8366623703659579}, "sim3": {"scale": 0.9975211006565168, "rotation": [[0.9999998075702127, 0.00040221761813418746, 0.0004723140104239366], [-0.0004021213098548994, 0.9999998983443683, -0.00020398457326382404], [-0.00047239600859981404, 0.00020379460648254106, 0.9999998676548763]], "translation": [-0.002253113429011133, 0.002597149663572648, 0.0004715322211263917]}}} +{"step": 5000, "train_loss": 0.01862260140478611, "val_psnr": 19.960887908935547, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.8717185258865356, "translation_update_mean": 0.019502725452184677, "rotation_update_deg_mean": 0.4906209409236908, "pose_errors": {"raw": {"rotation_deg_mean": 0.5232761157002708, "rotation_deg_max": 1.6898001491090953, "translation_mean": 0.03470221303706703, "translation_radius_pct_mean": 0.8608559564381266}, "aligned": {"rotation_deg_mean": 0.496930324474487, "rotation_deg_max": 1.6548052724036735, "translation_mean": 0.03241796541825763, "translation_radius_pct_mean": 0.8041907470311279}, "sim3": {"scale": 0.9969286402294133, "rotation": [[0.9999994212520273, 0.00033101930081879527, 0.0010236805327967537], [-0.0003304385651592639, 0.999999784423129, -0.000567418760945318], [-0.0010238681386765356, 0.0005670801690264829, 0.9999993150568244]], "translation": [-0.0050560198327122, 0.006497618909916528, -0.00018412477284712736]}}} +{"step": 6000, "train_loss": 0.012785196304321289, "val_psnr": 19.899065017700195, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.7149134278297424, "translation_update_mean": 0.017731422558426857, "rotation_update_deg_mean": 0.39886000752449036, "pose_errors": {"raw": {"rotation_deg_mean": 0.47841774674619486, "rotation_deg_max": 1.1483777342463581, "translation_mean": 0.03263482868928853, "translation_radius_pct_mean": 0.809570462682121}, "aligned": {"rotation_deg_mean": 0.4367114388678508, "rotation_deg_max": 1.0711370208585607, "translation_mean": 0.028168815627954934, "translation_radius_pct_mean": 0.698782313774358}, "sim3": {"scale": 0.996189334645105, "rotation": [[0.9999989330875072, 0.00021000490500578065, 0.0014455870040477106], [-0.00020891618097088394, 0.9999996944871248, -0.0007532460987512926], [-0.0014457447477775624, 0.0007529432885873848, 0.9999986714483801]], "translation": [-0.007424001131354885, 0.006540448225069773, -0.0008606433431967986]}}} +{"step": 7000, "train_loss": 0.016398683190345764, "val_psnr": 18.34226417541504, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.3183095455169678, "translation_update_mean": 0.01658708229660988, "rotation_update_deg_mean": 0.3378554582595825, "pose_errors": {"raw": {"rotation_deg_mean": 0.47291517313919157, "rotation_deg_max": 1.0766919473358008, "translation_mean": 0.029596088588898874, "translation_radius_pct_mean": 0.7341885983412606}, "aligned": {"rotation_deg_mean": 0.41281344494697103, "rotation_deg_max": 0.9680075542103898, "translation_mean": 0.024368549244881858, "translation_radius_pct_mean": 0.6045093073691005}, "sim3": {"scale": 0.9963030681970123, "rotation": [[0.9999986473134043, 1.2159977625511629e-06, 0.001644800864351007], [9.959564736212744e-07, 0.9999990957362909, -0.0013448143401952276], [-0.0016448010123086098, 0.0013448141592329586, 0.9999977430497077]], "translation": [-0.008351623766981231, 0.010297090530276283, -0.001926956810586411]}}} +{"step": 8000, "train_loss": 0.013125916942954063, "val_psnr": 18.39168357849121, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.7638949751853943, "translation_update_mean": 0.013149499893188477, "rotation_update_deg_mean": 0.30200693011283875, "pose_errors": {"raw": {"rotation_deg_mean": 0.4159803475622013, "rotation_deg_max": 0.8749932925786721, "translation_mean": 0.029349381826149958, "translation_radius_pct_mean": 0.7280685567756371}, "aligned": {"rotation_deg_mean": 0.36076302893919826, "rotation_deg_max": 0.8118789603450896, "translation_mean": 0.02350662345790969, "translation_radius_pct_mean": 0.5831275601321144}, "sim3": {"scale": 0.9961216420302293, "rotation": [[0.9999985418042355, 7.341702485175437e-05, 0.0017061650983391094], [-7.082609199690893e-05, 0.9999988444457961, -0.001518581817183363], [-0.0017062746165317651, 0.0015184587617876348, 0.9999973914515574]], "translation": [-0.008923450610343386, 0.01106299560529022, -0.0006671601070991073]}}} +{"step": 9000, "train_loss": 0.015121657401323318, "val_psnr": 19.584808349609375, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 1.0750194787979126, "translation_update_mean": 0.012911168858408928, "rotation_update_deg_mean": 0.22957229614257812, "pose_errors": {"raw": {"rotation_deg_mean": 0.39705987180470487, "rotation_deg_max": 0.9344372909491497, "translation_mean": 0.028723232321185215, "translation_radius_pct_mean": 0.7125356992488296}, "aligned": {"rotation_deg_mean": 0.3403373705152464, "rotation_deg_max": 0.8574855633315438, "translation_mean": 0.021359843776305763, "translation_radius_pct_mean": 0.5298725105450728}, "sim3": {"scale": 0.9959874732891978, "rotation": [[0.9999983575035795, 4.641108666416197e-06, 0.0018124482349597536], [-2.340868278596662e-06, 0.9999991946458097, -0.0012691344503517764], [-0.0018124526654879954, 0.0012691281231004903, 0.9999975521615764]], "translation": [-0.009826218418278077, 0.01150530741410416, -0.001888689167791835]}}} +{"step": 10000, "train_loss": 0.013189813122153282, "val_psnr": 19.80970001220703, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.9164438247680664, "translation_update_mean": 0.012844843789935112, "rotation_update_deg_mean": 0.2266358584165573, "pose_errors": {"raw": {"rotation_deg_mean": 0.39981298016442307, "rotation_deg_max": 0.8733479594630349, "translation_mean": 0.027086957419404315, "translation_radius_pct_mean": 0.6719447146316897}, "aligned": {"rotation_deg_mean": 0.3315677432655638, "rotation_deg_max": 0.7777587122572989, "translation_mean": 0.019570970391566557, "translation_radius_pct_mean": 0.48549602346278004}, "sim3": {"scale": 0.996481591580704, "rotation": [[0.9999985258152732, -0.00016564076064271276, 0.0017090729708903664], [0.0001684698270105866, 0.9999986157807412, -0.0016553110038406015], [-0.0017087964181849472, 0.0016555964908341967, 0.9999971695035255]], "translation": [-0.009453840662276947, 0.014050355736986042, -0.0028879565660395734]}}} +{"step": 11000, "train_loss": 0.012767542153596878, "val_psnr": 18.795516967773438, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 1.2059251070022583, "translation_update_mean": 0.010516521520912647, "rotation_update_deg_mean": 0.22139877080917358, "pose_errors": {"raw": {"rotation_deg_mean": 0.3837424277578794, "rotation_deg_max": 0.7934417103082864, "translation_mean": 0.02736806264577975, "translation_radius_pct_mean": 0.6789180770582504}, "aligned": {"rotation_deg_mean": 0.30597418205385724, "rotation_deg_max": 0.6972390797811486, "translation_mean": 0.018873609843313068, "translation_radius_pct_mean": 0.46819663736576833}, "sim3": {"scale": 0.9957922290296349, "rotation": [[0.9999977286109906, -4.857039922092663e-05, 0.0021308246704781018], [5.2287355224051525e-05, 0.9999984772475146, -0.001744353371748255], [-0.002130736701820074, 0.0017444608248296978, 0.9999962084015824]], "translation": [-0.010892595222278811, 0.014254025399930578, -0.002102496457071279]}}} +{"step": 12000, "train_loss": 0.01056221965700388, "val_psnr": 20.10308837890625, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.8927943706512451, "translation_update_mean": 0.009801549836993217, "rotation_update_deg_mean": 0.2073780745267868, "pose_errors": {"raw": {"rotation_deg_mean": 0.3635911679699365, "rotation_deg_max": 0.7567418129356288, "translation_mean": 0.025748220652779867, "translation_radius_pct_mean": 0.6387347427368029}, "aligned": {"rotation_deg_mean": 0.2840195822690063, "rotation_deg_max": 0.6943244102292124, "translation_mean": 0.017901319380319986, "translation_radius_pct_mean": 0.44407707947009356}, "sim3": {"scale": 0.9959743685567823, "rotation": [[0.9999979963107588, 5.162032654684408e-05, 0.0020011771057510445], [-4.8348662288397835e-05, 0.9999986624077428, -0.0016348838282047179], [-0.0020012588222290293, 0.0016347837981694352, 0.9999966612169552]], "translation": [-0.010816072849094693, 0.013308311592225279, -0.001925768188287602]}}} +{"step": 13000, "train_loss": 0.012715904042124748, "val_psnr": 19.495532989501953, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.9729301929473877, "translation_update_mean": 0.009158770553767681, "rotation_update_deg_mean": 0.18304088711738586, "pose_errors": {"raw": {"rotation_deg_mean": 0.3545109836585037, "rotation_deg_max": 0.7702141836153414, "translation_mean": 0.02554149178854082, "translation_radius_pct_mean": 0.6336064307770503}, "aligned": {"rotation_deg_mean": 0.2761233473968381, "rotation_deg_max": 0.6714495600313135, "translation_mean": 0.017167550861052667, "translation_radius_pct_mean": 0.4258745227690745}, "sim3": {"scale": 0.9962376879802307, "rotation": [[0.9999983470764894, -4.0881530607687715e-05, 0.0018177384269393707], [4.456256323972809e-05, 0.9999979485559862, -0.0020250674054762513], [-0.0018176519100955887, 0.002025145061278324, 0.9999962974576523]], "translation": [-0.010152345403222518, 0.015563415268776276, -0.0019495495834642718]}}} +{"step": 14000, "train_loss": 0.011728467419743538, "val_psnr": 18.939624786376953, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 0.8041071891784668, "translation_update_mean": 0.008089420385658741, "rotation_update_deg_mean": 0.16731533408164978, "pose_errors": {"raw": {"rotation_deg_mean": 0.34425596988201734, "rotation_deg_max": 0.7872327228587223, "translation_mean": 0.024732133936067803, "translation_radius_pct_mean": 0.6135287335003047}, "aligned": {"rotation_deg_mean": 0.26303890400099184, "rotation_deg_max": 0.6725037689534858, "translation_mean": 0.015847357807832085, "translation_radius_pct_mean": 0.3931245637880945}, "sim3": {"scale": 0.9962291831598293, "rotation": [[0.999997827144034, 5.311466206939764e-06, 0.0020846292233267475], [-1.5847815979821249e-06, 0.9999984020721964, -0.001787694196903721], [-0.0020846353875169916, 0.0017876870088196803, 0.9999962292281197]], "translation": [-0.011567843004292144, 0.014316014326806667, -0.0027714715116911037]}}} +{"step": 15000, "train_loss": 0.007892858237028122, "val_psnr": 18.969470977783203, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.823978841304779, "translation_update_mean": 0.007653085049241781, "rotation_update_deg_mean": 0.15536946058273315, "pose_errors": {"raw": {"rotation_deg_mean": 0.34216172981534776, "rotation_deg_max": 0.7024561427992344, "translation_mean": 0.025936430444055844, "translation_radius_pct_mean": 0.6434036530367552}, "aligned": {"rotation_deg_mean": 0.26470025227039345, "rotation_deg_max": 0.6628362890153081, "translation_mean": 0.015012273872574436, "translation_radius_pct_mean": 0.3724086809415319}, "sim3": {"scale": 0.9955432618795876, "rotation": [[0.9999974018942276, 0.00010420932163565099, 0.002277135308261824], [-0.00010038469199440738, 0.999998584383349, -0.0016796291889105658], [-0.0022773071177295177, 0.0016793962355296926, 0.9999959967422748]], "translation": [-0.012284607785006452, 0.01426812974600624, -0.0024506235011005906]}}} +{"step": 16000, "train_loss": 0.011944468133151531, "val_psnr": 19.578861236572266, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.8833374977111816, "translation_update_mean": 0.006825830787420273, "rotation_update_deg_mean": 0.14253270626068115, "pose_errors": {"raw": {"rotation_deg_mean": 0.33778085366464333, "rotation_deg_max": 0.649876668011752, "translation_mean": 0.02517685603997177, "translation_radius_pct_mean": 0.624560931121145}, "aligned": {"rotation_deg_mean": 0.24704185670559423, "rotation_deg_max": 0.5639722891554735, "translation_mean": 0.013711328887551841, "translation_radius_pct_mean": 0.3401362077664417}, "sim3": {"scale": 0.9958169828614036, "rotation": [[0.9999969115877523, 7.912479953617163e-05, 0.002484060028073896], [-7.509772507452698e-05, 0.9999986830058168, -0.0016212177410377803], [-0.0024841850351101516, 0.0016210261867921226, 0.9999956005397298]], "translation": [-0.01356086174545873, 0.014252460639946632, -0.0032607308636918297]}}} +{"step": 17000, "train_loss": 0.007600286975502968, "val_psnr": 19.113849639892578, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.792302668094635, "translation_update_mean": 0.006075031589716673, "rotation_update_deg_mean": 0.13107644021511078, "pose_errors": {"raw": {"rotation_deg_mean": 0.32079187826690686, "rotation_deg_max": 0.6900641280270163, "translation_mean": 0.025300531395781145, "translation_radius_pct_mean": 0.6276289391066698}, "aligned": {"rotation_deg_mean": 0.23643987613706002, "rotation_deg_max": 0.6285252151999159, "translation_mean": 0.012914785147420237, "translation_radius_pct_mean": 0.3203763894942365}, "sim3": {"scale": 0.9955104825020158, "rotation": [[0.9999970289779688, 9.00135885313713e-05, 0.0024359664999664037], [-8.598402910240811e-05, 0.9999986280351042, -0.0016542474593874666], [-0.0024361120626560906, 0.0016540330903673133, 0.9999956647568801]], "translation": [-0.01320941205182169, 0.014678259639810474, -0.0033206655938133878]}}} +{"step": 18000, "train_loss": 0.008486009202897549, "val_psnr": 18.953433990478516, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.9451985359191895, "translation_update_mean": 0.005309296306222677, "rotation_update_deg_mean": 0.11838733404874802, "pose_errors": {"raw": {"rotation_deg_mean": 0.31615366591387084, "rotation_deg_max": 0.6284443755311078, "translation_mean": 0.02526765269107949, "translation_radius_pct_mean": 0.6268133188246965}, "aligned": {"rotation_deg_mean": 0.22886225088990877, "rotation_deg_max": 0.5159413041905917, "translation_mean": 0.012560996294259726, "translation_radius_pct_mean": 0.3115999681968592}, "sim3": {"scale": 0.9955121307396013, "rotation": [[0.9999969961320123, 9.188881272567684e-05, 0.0024493434624191126], [-8.788456549446319e-05, 0.999998659717322, -0.0016348822161874354], [-0.0024494904069920992, 0.0016346620457310902, 0.9999956639289683]], "translation": [-0.01334945861213288, 0.014804184167610666, -0.0038142076726592755]}}} +{"step": 19000, "train_loss": 0.007714077830314636, "val_psnr": 19.739173889160156, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.5808280110359192, "translation_update_mean": 0.004899663385003805, "rotation_update_deg_mean": 0.11749129742383957, "pose_errors": {"raw": {"rotation_deg_mean": 0.3173136832449361, "rotation_deg_max": 0.6394014000663489, "translation_mean": 0.025376048086621205, "translation_radius_pct_mean": 0.6295022776470885}, "aligned": {"rotation_deg_mean": 0.2242046912546084, "rotation_deg_max": 0.5520447293360279, "translation_mean": 0.012684229147246534, "translation_radius_pct_mean": 0.31465699903835753}, "sim3": {"scale": 0.9955711727454593, "rotation": [[0.9999968219069488, 0.00011210441814774497, 0.0025186521400803567], [-0.00010816200555720589, 0.9999987689607044, -0.0015653683459069827], [-0.0025188245242284348, 0.001565090948553989, 0.999995602997005]], "translation": [-0.013711223173154319, 0.014735036646105135, -0.003943408656408298]}}} +{"step": 20000, "train_loss": 0.0075668469071388245, "val_psnr": 18.798442840576172, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.9369198679924011, "translation_update_mean": 0.004988818429410458, "rotation_update_deg_mean": 0.09634571522474289, "pose_errors": {"raw": {"rotation_deg_mean": 0.30638781160006945, "rotation_deg_max": 0.6521255780482966, "translation_mean": 0.02528838106397878, "translation_radius_pct_mean": 0.6273275264707209}, "aligned": {"rotation_deg_mean": 0.2120737235396965, "rotation_deg_max": 0.5570865542489267, "translation_mean": 0.0119735060939372, "translation_radius_pct_mean": 0.2970261299878532}, "sim3": {"scale": 0.9955052554502157, "rotation": [[0.9999965830917703, 0.00010357225148473425, 0.002612102136955063], [-9.936618713316725e-05, 0.9999986985286664, -0.0016103003864296017], [-0.00261226551981561, 0.0016100353295511447, 0.9999952919164629]], "translation": [-0.014408102131057254, 0.015192232068811394, -0.003569074428012353]}}} +{"step": 21000, "train_loss": 0.007527275010943413, "val_psnr": 19.499170303344727, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.5960907340049744, "translation_update_mean": 0.0046468619257211685, "rotation_update_deg_mean": 0.09672114998102188, "pose_errors": {"raw": {"rotation_deg_mean": 0.3062985914937791, "rotation_deg_max": 0.6344708961364178, "translation_mean": 0.02546783206079537, "translation_radius_pct_mean": 0.6317791578215316}, "aligned": {"rotation_deg_mean": 0.21150815804127085, "rotation_deg_max": 0.5149499792665111, "translation_mean": 0.011336017479838945, "translation_radius_pct_mean": 0.2812119837827744}, "sim3": {"scale": 0.9953719206946735, "rotation": [[0.9999967363023401, 4.0982816010224664e-05, 0.0025545459629086427], [-3.7154396980416595e-05, 0.9999988762605272, -0.0014986985131256695], [-0.0025546045131497933, 0.0014985987092120926, 0.9999956140892262]], "translation": [-0.014042525380398851, 0.014369896268521386, -0.004025629361347427]}}} +{"step": 22000, "train_loss": 0.009314418770372868, "val_psnr": 19.13822364807129, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.2436574697494507, "translation_update_mean": 0.003977757412940264, "rotation_update_deg_mean": 0.09131475538015366, "pose_errors": {"raw": {"rotation_deg_mean": 0.29523217719682004, "rotation_deg_max": 0.6599193066943596, "translation_mean": 0.025490093603156558, "translation_radius_pct_mean": 0.6323313987209999}, "aligned": {"rotation_deg_mean": 0.19516068059098715, "rotation_deg_max": 0.5435545449568606, "translation_mean": 0.010968530932972564, "translation_radius_pct_mean": 0.27209576452485873}, "sim3": {"scale": 0.9951523525184545, "rotation": [[0.9999971597766112, 5.712492040247294e-05, 0.002382682407116337], [-5.335370124728343e-05, 0.9999987459550655, -0.0015827955261078796], [-0.002382769836193912, 0.001582663905689698, 0.9999959087830644]], "translation": [-0.013438199737149548, 0.014777488231574862, -0.003477474666138125]}}} +{"step": 23000, "train_loss": 0.007968449965119362, "val_psnr": 18.306278228759766, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.7897018790245056, "translation_update_mean": 0.003558797761797905, "rotation_update_deg_mean": 0.08208261430263519, "pose_errors": {"raw": {"rotation_deg_mean": 0.29110568282840804, "rotation_deg_max": 0.623067649872576, "translation_mean": 0.025722042330142355, "translation_radius_pct_mean": 0.6380853384769654}, "aligned": {"rotation_deg_mean": 0.19434729548711316, "rotation_deg_max": 0.5603196096838428, "translation_mean": 0.010516345292488672, "translation_radius_pct_mean": 0.2608784193483262}, "sim3": {"scale": 0.9950287222252727, "rotation": [[0.9999969565078212, 4.8868546758055986e-05, 0.0024666955547322468], [-4.480927022445799e-05, 0.9999986448937379, -0.0016456618170322306], [-0.0024667726331989446, 0.0016455462776456833, 0.9999956035954467]], "translation": [-0.013934860338219668, 0.014936488600154028, -0.003682419798040737]}}} +{"step": 24000, "train_loss": 0.0061436309479177, "val_psnr": 18.971206665039062, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.6365572214126587, "translation_update_mean": 0.003748574759811163, "rotation_update_deg_mean": 0.07847411930561066, "pose_errors": {"raw": {"rotation_deg_mean": 0.2859206197786733, "rotation_deg_max": 0.6036046145122278, "translation_mean": 0.025963194442494557, "translation_radius_pct_mean": 0.6440675861250991}, "aligned": {"rotation_deg_mean": 0.1925538082607399, "rotation_deg_max": 0.48690966224442145, "translation_mean": 0.0099997210368215, "translation_radius_pct_mean": 0.2480625488660474}, "sim3": {"scale": 0.9949144874695371, "rotation": [[0.9999968459436728, 1.9056926316382213e-05, 0.0025115213596156984], [-1.4985173548054672e-05, 0.9999986856798098, -0.0016212384455231935], [-0.00251154895449408, 0.0016211956964624396, 0.9999955319131995]], "translation": [-0.013998316222216145, 0.014930671517634851, -0.0037696032237009014]}}} +{"step": 25000, "train_loss": 0.006504564080387354, "val_psnr": 19.692829132080078, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.6771366000175476, "translation_update_mean": 0.002982171718031168, "rotation_update_deg_mean": 0.07263510674238205, "pose_errors": {"raw": {"rotation_deg_mean": 0.27962830145021766, "rotation_deg_max": 0.5659334610864787, "translation_mean": 0.026438267652528418, "translation_radius_pct_mean": 0.6558527020243355}, "aligned": {"rotation_deg_mean": 0.18414128656326487, "rotation_deg_max": 0.47690717728371623, "translation_mean": 0.00962688223991966, "translation_radius_pct_mean": 0.23881355662565798}, "sim3": {"scale": 0.9947290091240778, "rotation": [[0.9999970381030235, 2.2821001140528377e-05, 0.0024337757460336108], [-1.881005649694464e-05, 0.9999986417977601, -0.0016480439365967423], [-0.0024338100504865414, 0.0016479932758011223, 0.9999956803340707]], "translation": [-0.013708642416976335, 0.015077324542051004, -0.003754371387262534]}}} +{"step": 26000, "train_loss": 0.006414775736629963, "val_psnr": 18.940305709838867, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.8454965353012085, "translation_update_mean": 0.0027343176770955324, "rotation_update_deg_mean": 0.06241057440638542, "pose_errors": {"raw": {"rotation_deg_mean": 0.2771603962176037, "rotation_deg_max": 0.6093045839318195, "translation_mean": 0.026207950071288684, "translation_radius_pct_mean": 0.6501392260142935}, "aligned": {"rotation_deg_mean": 0.17486717483838862, "rotation_deg_max": 0.506880073661658, "translation_mean": 0.00981024998947929, "translation_radius_pct_mean": 0.2433623506538213}, "sim3": {"scale": 0.994804085510104, "rotation": [[0.9999970270762207, 2.449711033742814e-05, 0.002438285998605225], [-2.015829172025602e-05, 0.9999984165512549, -0.0017794630157972225], [-0.0024383257294059144, 0.0017794085739087791, 0.9999954441260022]], "translation": [-0.013850888458143862, 0.015557094822649949, -0.0038779890413103146]}}} +{"step": 27000, "train_loss": 0.006783606484532356, "val_psnr": 17.89458465576172, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 1.3636677265167236, "translation_update_mean": 0.0028488461393862963, "rotation_update_deg_mean": 0.06929591298103333, "pose_errors": {"raw": {"rotation_deg_mean": 0.2768143773396066, "rotation_deg_max": 0.573209945217097, "translation_mean": 0.025985497970941837, "translation_radius_pct_mean": 0.6446208685711758}, "aligned": {"rotation_deg_mean": 0.1754575066982685, "rotation_deg_max": 0.4761785791289148, "translation_mean": 0.009265788242208984, "translation_radius_pct_mean": 0.22985591699526156}, "sim3": {"scale": 0.994876472973002, "rotation": [[0.999996944879776, 2.9409386586406014e-05, 0.002471713211869321], [-2.523362390965381e-05, 0.9999985725860018, -0.0016894345870218613], [-0.0024717593689461193, 0.0016893670553143766, 0.9999955182122435]], "translation": [-0.01401210300426975, 0.015267507337410051, -0.0041193202319167455]}}} +{"step": 28000, "train_loss": 0.007000878918915987, "val_psnr": 19.300561904907227, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.9757605195045471, "translation_update_mean": 0.0026149600744247437, "rotation_update_deg_mean": 0.0590210035443306, "pose_errors": {"raw": {"rotation_deg_mean": 0.26750327483499864, "rotation_deg_max": 0.5620505496448115, "translation_mean": 0.02654261298127009, "translation_radius_pct_mean": 0.6584411910546407}, "aligned": {"rotation_deg_mean": 0.16243021481678774, "rotation_deg_max": 0.45781723517664785, "translation_mean": 0.009240801839775232, "translation_radius_pct_mean": 0.22923608063663856}, "sim3": {"scale": 0.9946706947557153, "rotation": [[0.9999970005873513, -2.308334772117618e-06, 0.0024492470213363328], [6.829689797030126e-06, 0.999998296095766, -0.0018460116249208731], [-0.0024492385868411016, 0.0018460228155676264, 0.9999952967039936]], "translation": [-0.013997071158669105, 0.01589862341292482, -0.00393022340445448]}}} +{"step": 29000, "train_loss": 0.008255364373326302, "val_psnr": 18.78363800048828, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 1.0064404010772705, "translation_update_mean": 0.0020795087330043316, "rotation_update_deg_mean": 0.05529284477233887, "pose_errors": {"raw": {"rotation_deg_mean": 0.2673070535241945, "rotation_deg_max": 0.559527577393792, "translation_mean": 0.026841815866627133, "translation_radius_pct_mean": 0.6658635011467366}, "aligned": {"rotation_deg_mean": 0.16454160007305454, "rotation_deg_max": 0.4474235141765442, "translation_mean": 0.008999781160322259, "translation_radius_pct_mean": 0.2232570934374581}, "sim3": {"scale": 0.9946352679276775, "rotation": [[0.9999967393069158, -3.598958278885103e-05, 0.002553444788186808], [4.0662668927862935e-05, 0.999998324571445, -0.0018300821973945222], [-0.0025533746461775778, 0.0018301800599381719, 0.9999950653472555]], "translation": [-0.014518128263547925, 0.016141532944472868, -0.004105000998300579]}}} +{"step": 29999, "train_loss": 0.0054014623165130615, "val_psnr": 20.106077194213867, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.6925525665283203, "translation_update_mean": 0.0019402647158131003, "rotation_update_deg_mean": 0.0512397326529026, "pose_errors": {"raw": {"rotation_deg_mean": 0.2635554322796686, "rotation_deg_max": 0.633495046595646, "translation_mean": 0.026894147118340685, "translation_radius_pct_mean": 0.6671616797296804}, "aligned": {"rotation_deg_mean": 0.15995500553330932, "rotation_deg_max": 0.519373428132688, "translation_mean": 0.008783964260576099, "translation_radius_pct_mean": 0.21790333506337276}, "sim3": {"scale": 0.994533175162677, "rotation": [[0.9999968492659166, -4.643735245607571e-05, 0.0025098409932322254], [5.101212867230347e-05, 0.9999983375758522, -0.0018227021956454712], [-0.002509752179347654, 0.001822824485127203, 0.9999951892158753]], "translation": [-0.014294596811800953, 0.01616944127748536, -0.003980136574226911]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R5.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R5.jsonl new file mode 100644 index 0000000..317a66c --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-R5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34217119216918945, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.004960869438946247, "translation_update_mean": 1.7304545352203604e-08, "rotation_update_deg_mean": 9.921657238010084e-07, "pose_errors": {"raw": {"rotation_deg_mean": 5.000034798603773, "rotation_deg_max": 5.000215094840383, "translation_mean": 1.8386089129601056e-09, "translation_radius_pct_mean": 4.5610273690363735e-08}, "aligned": {"rotation_deg_mean": 5.000034805292464, "rotation_deg_max": 5.000215094840383, "translation_mean": 4.7292664843614595e-07, "translation_radius_pct_mean": 1.17318662596449e-05}, "sim3": {"scale": 0.9999999718158291, "rotation": [[1.0, -7.534920248800521e-10, 2.433704713594413e-09], [7.534918108001443e-10, 0.9999999999999999, -3.793655471850712e-09], [-2.433704662234504e-09, 3.793655448775163e-09, 0.9999999999999999]], "translation": [-2.1547057138526782e-08, -3.0575983120395556e-08, -4.5847442375901437e-07]}}} +{"step": 1000, "train_loss": 0.06341193616390228, "val_psnr": 16.13937759399414, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.523818016052246, "translation_update_mean": 0.033483631908893585, "rotation_update_deg_mean": 2.0767667293548584, "pose_errors": {"raw": {"rotation_deg_mean": 3.7780753642028926, "rotation_deg_max": 5.605041951523778, "translation_mean": 0.03348362312955859, "translation_radius_pct_mean": 0.8306264612986232}, "aligned": {"rotation_deg_mean": 3.7756544623886463, "rotation_deg_max": 5.60442251117187, "translation_mean": 0.0331894811913091, "translation_radius_pct_mean": 0.8233296978527341}, "sim3": {"scale": 0.999633271256848, "rotation": [[0.9999996890802728, 0.0007835457953539231, -8.885574761754664e-05], [-0.0007835618273514239, 0.999999676718721, -0.00018053618773138292], [8.871426052153129e-05, 0.0001806057555710167, 0.9999999797556687]], "translation": [-0.001124590892324251, -0.0012419266626569059, 0.0005383738859845444]}}} +{"step": 2000, "train_loss": 0.03522671014070511, "val_psnr": 16.785375595092773, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.3111913204193115, "translation_update_mean": 0.03210565075278282, "rotation_update_deg_mean": 1.8575003147125244, "pose_errors": {"raw": {"rotation_deg_mean": 2.4382637005675796, "rotation_deg_max": 5.132067688105835, "translation_mean": 0.05258633028217549, "translation_radius_pct_mean": 1.3045063034533049}, "aligned": {"rotation_deg_mean": 2.449900588708953, "rotation_deg_max": 5.232076542198385, "translation_mean": 0.052075077573000464, "translation_radius_pct_mean": 1.2918236846396765}, "sim3": {"scale": 0.9988010478470943, "rotation": [[0.9999980204817343, 0.0019096076032200013, -0.0005589556479596226], [-0.0019089391014648187, 0.999997465054694, 0.0011940836211542533], [0.0005612344621992526, -0.0011930142451514697, 0.9999991308660691]], "translation": [-0.0003917451280832096, -0.0032073829059028613, 0.0021454431308596256]}}} +{"step": 3000, "train_loss": 0.03102877363562584, "val_psnr": 18.130603790283203, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 0.8920923471450806, "translation_update_mean": 0.02299770712852478, "rotation_update_deg_mean": 1.3701746463775635, "pose_errors": {"raw": {"rotation_deg_mean": 1.4633459455718207, "rotation_deg_max": 3.4331881787568572, "translation_mean": 0.057749723898152625, "translation_radius_pct_mean": 1.4325943347555354}, "aligned": {"rotation_deg_mean": 1.4697539237904678, "rotation_deg_max": 3.4515304495901122, "translation_mean": 0.05724317497346274, "translation_radius_pct_mean": 1.4200284024739018}, "sim3": {"scale": 0.9985055601454786, "rotation": [[0.9999983059450643, 0.0017185615766664056, -0.0006592822675465029], [-0.0017185267838179161, 0.999998521909352, 5.333669564049445e-05], [0.0006593729554633523, -5.220361105030798e-05, 0.9999997812510195]], "translation": [-0.00039853695991820537, 0.0009982635111683152, 0.004125890922728193]}}} +{"step": 4000, "train_loss": 0.0280509851872921, "val_psnr": 18.40213966369629, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.035632610321045, "translation_update_mean": 0.02289227582514286, "rotation_update_deg_mean": 0.8874578475952148, "pose_errors": {"raw": {"rotation_deg_mean": 1.0569936384330798, "rotation_deg_max": 2.310830504248124, "translation_mean": 0.05667347752482574, "translation_radius_pct_mean": 1.4058959481113247}, "aligned": {"rotation_deg_mean": 1.0399179181491545, "rotation_deg_max": 2.2675054899263425, "translation_mean": 0.055721858770449835, "translation_radius_pct_mean": 1.3822891921938363}, "sim3": {"scale": 0.9982139192983843, "rotation": [[0.9999986308339518, 0.0015958648190792994, 0.0004376593436538131], [-0.0015957977383991761, 0.9999987149208859, -0.00015357784610717636], [-0.0004379038707085388, 0.00015287922004282516, 0.9999998924340666]], "translation": [-0.005222001115170571, 0.004389776706212614, 0.002316606102795049]}}} +{"step": 5000, "train_loss": 0.01934872195124626, "val_psnr": 17.89149284362793, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.7608688473701477, "translation_update_mean": 0.01835012063384056, "rotation_update_deg_mean": 0.5632491111755371, "pose_errors": {"raw": {"rotation_deg_mean": 0.9068588324297114, "rotation_deg_max": 1.6798511713708746, "translation_mean": 0.05265274146590085, "translation_radius_pct_mean": 1.306153762162149}, "aligned": {"rotation_deg_mean": 0.8833918605656145, "rotation_deg_max": 1.7501169316315455, "translation_mean": 0.05148473316928682, "translation_radius_pct_mean": 1.277179042358679}, "sim3": {"scale": 0.9985134297601089, "rotation": [[0.9999983933807972, 0.0015848338957355622, 0.0008375782629883998], [-0.001584814269362292, 0.9999987438907808, -2.4095470017944808e-05], [-0.0008376153982162322, 2.2768025322809428e-05, 0.999999648940969]], "translation": [-0.006589310083495725, 0.00603039491610069, 0.002734767935391069]}}} +{"step": 6000, "train_loss": 0.014546717517077923, "val_psnr": 18.364181518554688, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.8407801389694214, "translation_update_mean": 0.018764521926641464, "rotation_update_deg_mean": 0.41402101516723633, "pose_errors": {"raw": {"rotation_deg_mean": 0.8083295268970703, "rotation_deg_max": 1.910092249821051, "translation_mean": 0.04979414509304401, "translation_radius_pct_mean": 1.2352407137061991}, "aligned": {"rotation_deg_mean": 0.7734613665108252, "rotation_deg_max": 1.8690597295669429, "translation_mean": 0.04831569337459702, "translation_radius_pct_mean": 1.1985648404190457}, "sim3": {"scale": 0.9988870131739886, "rotation": [[0.9999982263998853, 0.0014551053537781927, 0.001195769832824531], [-0.0014544466171313758, 0.999998790174719, -0.0005515742345547479], [-0.0011965709847735503, 0.0005498340728943637, 0.9999991329498088]], "translation": [-0.009180899142874177, 0.007883658909524735, 0.0026976458296701367]}}} +{"step": 7000, "train_loss": 0.017520667985081673, "val_psnr": 17.304052352905273, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.1591079235076904, "translation_update_mean": 0.015096344985067844, "rotation_update_deg_mean": 0.34453287720680237, "pose_errors": {"raw": {"rotation_deg_mean": 0.751776381761868, "rotation_deg_max": 1.706218928337052, "translation_mean": 0.04489500975729218, "translation_radius_pct_mean": 1.1137081235318027}, "aligned": {"rotation_deg_mean": 0.7012316891467368, "rotation_deg_max": 1.6737444411545064, "translation_mean": 0.043228944443046126, "translation_radius_pct_mean": 1.07237812973424}, "sim3": {"scale": 0.9988658577312576, "rotation": [[0.9999970898289312, 0.0015945264369232862, 0.001810474830018797], [-0.0015939425954496083, 0.9999986772245139, -0.0003238768686447274], [-0.001810988865396418, 0.00032099013315798394, 0.9999983086409014]], "translation": [-0.011013535586013756, 0.005941437447337994, 0.0022983600372690205]}}} +{"step": 8000, "train_loss": 0.013786912895739079, "val_psnr": 17.20446014404297, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.866260290145874, "translation_update_mean": 0.015734804794192314, "rotation_update_deg_mean": 0.2936525344848633, "pose_errors": {"raw": {"rotation_deg_mean": 0.6976134728425825, "rotation_deg_max": 1.4310158742113357, "translation_mean": 0.04255937655316666, "translation_radius_pct_mean": 1.055768194637975}, "aligned": {"rotation_deg_mean": 0.6319541297399407, "rotation_deg_max": 1.3305857542854465, "translation_mean": 0.04045232959821211, "translation_radius_pct_mean": 1.0034987926914776}, "sim3": {"scale": 0.9984553147619468, "rotation": [[0.999996695297985, 0.001491598013368524, 0.0020939265689934533], [-0.001489198207975398, 0.9999982331424255, -0.0011471707480261648], [-0.002095633986932221, 0.001144048685274436, 0.9999971497313377]], "translation": [-0.013112506948960378, 0.009337608027173566, 0.0030397730932327782]}}} +{"step": 9000, "train_loss": 0.014273889362812042, "val_psnr": 18.273849487304688, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.8122318387031555, "translation_update_mean": 0.013400707393884659, "rotation_update_deg_mean": 0.28456440567970276, "pose_errors": {"raw": {"rotation_deg_mean": 0.650927178606822, "rotation_deg_max": 1.3558311738501725, "translation_mean": 0.04041604704740737, "translation_radius_pct_mean": 1.0025987333799384}, "aligned": {"rotation_deg_mean": 0.5632067016033456, "rotation_deg_max": 1.2792036961971667, "translation_mean": 0.037478606939674516, "translation_radius_pct_mean": 0.9297298125788056}, "sim3": {"scale": 0.9984696244184205, "rotation": [[0.9999952936069043, 0.0014547844929000708, 0.002701178653885767], [-0.0014513623324219325, 0.9999981422993396, -0.001268442056121263], [-0.0027030189457377873, 0.0012645156973830223, 0.999995547334402]], "translation": [-0.017002145316027173, 0.010698718203271534, 0.001531668979051659]}}} +{"step": 10000, "train_loss": 0.011981314048171043, "val_psnr": 18.079607009887695, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.8030527830123901, "translation_update_mean": 0.011424755677580833, "rotation_update_deg_mean": 0.25851237773895264, "pose_errors": {"raw": {"rotation_deg_mean": 0.6154027944922953, "rotation_deg_max": 1.2800331789114314, "translation_mean": 0.037274628924389874, "translation_radius_pct_mean": 0.9246697407830199}, "aligned": {"rotation_deg_mean": 0.5186900239853948, "rotation_deg_max": 1.1523176646240298, "translation_mean": 0.033281591117835865, "translation_radius_pct_mean": 0.8256146639098829}, "sim3": {"scale": 0.9981009655115831, "rotation": [[0.9999940467956033, 0.0013617904392415317, 0.0031704731749489885], [-0.0013573126127958807, 0.9999980790435492, -0.00141407626490033], [-0.003172392760145898, 0.0014097645233863776, 0.9999939742259266]], "translation": [-0.019411871413191673, 0.011517055461524095, 0.0022194916570112966]}}} +{"step": 11000, "train_loss": 0.01302848756313324, "val_psnr": 17.4368896484375, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.638447642326355, "translation_update_mean": 0.010142266750335693, "rotation_update_deg_mean": 0.22081534564495087, "pose_errors": {"raw": {"rotation_deg_mean": 0.5968886752269973, "rotation_deg_max": 1.2774536857021497, "translation_mean": 0.03474704205867118, "translation_radius_pct_mean": 0.8619680275970466}, "aligned": {"rotation_deg_mean": 0.5006044674333594, "rotation_deg_max": 1.226820136109287, "translation_mean": 0.03072534049146697, "translation_radius_pct_mean": 0.7622018903352457}, "sim3": {"scale": 0.9981850545776969, "rotation": [[0.9999929369422811, 0.0015343955068918024, 0.0034309905245448135], [-0.001531432511048395, 0.9999984523275759, -0.0008660582642436382], [-0.0034323140904048196, 0.0008607978167897688, 0.9999937391039531]], "translation": [-0.02045754681878592, 0.00919495198846508, 0.002291610155067847]}}} +{"step": 12000, "train_loss": 0.010339885950088501, "val_psnr": 18.772708892822266, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.688092052936554, "translation_update_mean": 0.009504549205303192, "rotation_update_deg_mean": 0.19784733653068542, "pose_errors": {"raw": {"rotation_deg_mean": 0.5586825103282387, "rotation_deg_max": 1.2596450005699469, "translation_mean": 0.03433133256066204, "translation_radius_pct_mean": 0.8516555441503333}, "aligned": {"rotation_deg_mean": 0.45316463678977115, "rotation_deg_max": 1.1189461515913768, "translation_mean": 0.02942935127294433, "translation_radius_pct_mean": 0.7300523545966137}, "sim3": {"scale": 0.9979663302427184, "rotation": [[0.9999925750455253, 0.0013919212982044771, 0.0035933840484816348], [-0.0013881304829806483, 0.9999984776870089, -0.0010572215600513865], [-0.0035948501474328334, 0.001052225624294695, 0.9999929849122215]], "translation": [-0.021955126199739994, 0.010119492517013731, 0.0014712165167685143]}}} +{"step": 13000, "train_loss": 0.012514454312622547, "val_psnr": 18.575143814086914, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.9372701048851013, "translation_update_mean": 0.009591431356966496, "rotation_update_deg_mean": 0.17530986666679382, "pose_errors": {"raw": {"rotation_deg_mean": 0.5499954735246286, "rotation_deg_max": 1.1859858524332723, "translation_mean": 0.033032551774264826, "translation_radius_pct_mean": 0.8194367581356438}, "aligned": {"rotation_deg_mean": 0.4325522280044808, "rotation_deg_max": 1.0196479644730179, "translation_mean": 0.026536782192659546, "translation_radius_pct_mean": 0.6582965469911408}, "sim3": {"scale": 0.998234099853264, "rotation": [[0.9999904992741012, 0.0013870006791516882, 0.0041325041621537925], [-0.0013822431635566223, 0.9999983789850827, -0.0011538765291204465], [-0.004134097890832601, 0.0011481534408292863, 0.9999907954467916]], "translation": [-0.024530739652094014, 0.010756317476686858, 0.001097738760748701]}}} +{"step": 14000, "train_loss": 0.012705560773611069, "val_psnr": 17.722335815429688, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 0.8803460597991943, "translation_update_mean": 0.008473549038171768, "rotation_update_deg_mean": 0.1671745330095291, "pose_errors": {"raw": {"rotation_deg_mean": 0.5205515019495199, "rotation_deg_max": 1.1359556659736434, "translation_mean": 0.031564830802139836, "translation_radius_pct_mean": 0.783027081902795}, "aligned": {"rotation_deg_mean": 0.39667450077947614, "rotation_deg_max": 1.0611326231290683, "translation_mean": 0.024630546991647396, "translation_radius_pct_mean": 0.6110086715634119}, "sim3": {"scale": 0.9979583605389204, "rotation": [[0.9999902439900015, 0.0013235339342640231, 0.004214283182491588], [-0.0013196168013227699, 0.9999986948673124, -0.0009321347375834223], [-0.004215511394249293, 0.0009265644047745156, 0.9999906854276635]], "translation": [-0.024805988606420026, 0.009698269365475326, 0.0012839670524309454]}}} +{"step": 15000, "train_loss": 0.009289300069212914, "val_psnr": 17.418895721435547, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.9535333514213562, "translation_update_mean": 0.007084596436470747, "rotation_update_deg_mean": 0.15043635666370392, "pose_errors": {"raw": {"rotation_deg_mean": 0.4987827557246603, "rotation_deg_max": 0.9437960145843052, "translation_mean": 0.03017665643712818, "translation_radius_pct_mean": 0.7485907141294043}, "aligned": {"rotation_deg_mean": 0.37524430852988133, "rotation_deg_max": 1.0148289628402778, "translation_mean": 0.022950604768747405, "translation_radius_pct_mean": 0.5693344340296089}, "sim3": {"scale": 0.9981829929932668, "rotation": [[0.9999904309285423, 0.0013932267336948603, 0.004146923030106172], [-0.0013898215102153381, 0.999998694780814, -0.0008239131254050742], [-0.004148065515255294, 0.0008181417584930446, 0.9999910620583294]], "translation": [-0.02471127555115238, 0.009181558972162954, 0.0006350445721952092]}}} +{"step": 16000, "train_loss": 0.010194147005677223, "val_psnr": 18.389225006103516, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.7764236330986023, "translation_update_mean": 0.0075731705874204636, "rotation_update_deg_mean": 0.14019443094730377, "pose_errors": {"raw": {"rotation_deg_mean": 0.49372107593288705, "rotation_deg_max": 0.9380054511400769, "translation_mean": 0.02939352918835959, "translation_radius_pct_mean": 0.7291637180461473}, "aligned": {"rotation_deg_mean": 0.3688071216656866, "rotation_deg_max": 0.9838960797009527, "translation_mean": 0.021246236061427996, "translation_radius_pct_mean": 0.527054249993638}, "sim3": {"scale": 0.9979496063987058, "rotation": [[0.9999911664247055, 0.0012797162536402375, 0.004003673171880968], [-0.0012752378493956782, 0.9999985586447092, -0.0011209268179261213], [-0.004005101869433466, 0.001115811280569258, 0.9999913570247501]], "translation": [-0.0241111933402976, 0.011083415284407518, 0.0001893830463433055]}}} +{"step": 17000, "train_loss": 0.00737592950463295, "val_psnr": 18.067901611328125, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.9420523047447205, "translation_update_mean": 0.005839627701789141, "rotation_update_deg_mean": 0.12915688753128052, "pose_errors": {"raw": {"rotation_deg_mean": 0.4698496303440997, "rotation_deg_max": 0.9382624816113355, "translation_mean": 0.02867116414937576, "translation_radius_pct_mean": 0.7112440468750996}, "aligned": {"rotation_deg_mean": 0.3305804317367578, "rotation_deg_max": 0.8745850306614212, "translation_mean": 0.020332200566956, "translation_radius_pct_mean": 0.5043798200092561}, "sim3": {"scale": 0.9979880337416615, "rotation": [[0.9999916189810497, 0.0012820634752393199, 0.0038882233607880883], [-0.0012773494710818475, 0.9999984465357887, -0.0012146210671648804], [-0.0038897745418786625, 0.0012096442673493661, 0.9999917031729604]], "translation": [-0.02380587860222777, 0.01161241015821226, 0.0002221181462047639]}}} +{"step": 18000, "train_loss": 0.007710079662501812, "val_psnr": 17.822397232055664, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.0088151693344116, "translation_update_mean": 0.005479349754750729, "rotation_update_deg_mean": 0.12544192373752594, "pose_errors": {"raw": {"rotation_deg_mean": 0.4615478828576481, "rotation_deg_max": 0.9655694259981901, "translation_mean": 0.02770855797147552, "translation_radius_pct_mean": 0.6873647265255753}, "aligned": {"rotation_deg_mean": 0.3249675224466964, "rotation_deg_max": 0.8133077654559934, "translation_mean": 0.018879844458363784, "translation_radius_pct_mean": 0.46835129913033}, "sim3": {"scale": 0.9983254620096653, "rotation": [[0.9999915232368601, 0.0012556946117195714, 0.003921311702254612], [-0.0012509585547547137, 0.9999984855087953, -0.0012099928967345974], [-0.003922825145023198, 0.0012050772414916304, 0.9999915795804103]], "translation": [-0.02409020048151367, 0.012013548006780408, 0.00011449133428431679]}}} +{"step": 19000, "train_loss": 0.007108348421752453, "val_psnr": 18.205768585205078, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.9085475206375122, "translation_update_mean": 0.005359101574867964, "rotation_update_deg_mean": 0.12362737208604813, "pose_errors": {"raw": {"rotation_deg_mean": 0.43769126856952745, "rotation_deg_max": 0.7788710771781129, "translation_mean": 0.027423115456236616, "translation_radius_pct_mean": 0.6802837692044494}, "aligned": {"rotation_deg_mean": 0.2971001178058884, "rotation_deg_max": 0.7714420362458412, "translation_mean": 0.018079074901310416, "translation_radius_pct_mean": 0.44848665124209913}, "sim3": {"scale": 0.9982994781563974, "rotation": [[0.9999909948229948, 0.00120053072097372, 0.004070503519741915], [-0.0011952193510535599, 0.9999984315668594, -0.0013070250656380604], [-0.004072066259173481, 0.0013021481510706232, 0.9999908613015274]], "translation": [-0.024943557558109453, 0.01260891527257052, 0.00024121526962916917]}}} +{"step": 20000, "train_loss": 0.008216330781579018, "val_psnr": 17.36016082763672, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.9202604293823242, "translation_update_mean": 0.004527829121798277, "rotation_update_deg_mean": 0.10167339444160461, "pose_errors": {"raw": {"rotation_deg_mean": 0.4326080491548816, "rotation_deg_max": 0.7490542260216432, "translation_mean": 0.026721145549304225, "translation_radius_pct_mean": 0.6628700389914054}, "aligned": {"rotation_deg_mean": 0.291911285944519, "rotation_deg_max": 0.7455065208976971, "translation_mean": 0.016937438773133157, "translation_radius_pct_mean": 0.42016614442091754}, "sim3": {"scale": 0.9984520665278259, "rotation": [[0.9999905819357795, 0.0011831633267005317, 0.00417566333455928], [-0.0011784739768869888, 0.9999986724475133, -0.001125300980736988], [-0.0041769892059990805, 0.0011203694720041053, 0.9999906487229874]], "translation": [-0.025505680189934155, 0.011901713653505543, -7.246305370989248e-05]}}} +{"step": 21000, "train_loss": 0.0073794471099972725, "val_psnr": 18.673980712890625, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.7733922004699707, "translation_update_mean": 0.004262730944901705, "rotation_update_deg_mean": 0.0931149497628212, "pose_errors": {"raw": {"rotation_deg_mean": 0.42837619852915926, "rotation_deg_max": 0.8259649782067822, "translation_mean": 0.026537323380225943, "translation_radius_pct_mean": 0.6583099722023683}, "aligned": {"rotation_deg_mean": 0.2812423693097949, "rotation_deg_max": 0.7592665351176849, "translation_mean": 0.016497907383416586, "translation_radius_pct_mean": 0.4092627125713441}, "sim3": {"scale": 0.9984121998271289, "rotation": [[0.99999044025236, 0.0011691677961737572, 0.004213365703998163], [-0.0011643039206179991, 0.9999986532661407, -0.0011566599701828154], [-0.004214712359304221, 0.001151743274597194, 0.9999904547980238]], "translation": [-0.025887119066962505, 0.012000418033072606, -0.0004408650134024583]}}} +{"step": 22000, "train_loss": 0.010101180523633957, "val_psnr": 17.73629379272461, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.1317387819290161, "translation_update_mean": 0.004112505353987217, "rotation_update_deg_mean": 0.10058452188968658, "pose_errors": {"raw": {"rotation_deg_mean": 0.4086004648780798, "rotation_deg_max": 0.7600622289395685, "translation_mean": 0.026137692562378724, "translation_radius_pct_mean": 0.6483963517207999}, "aligned": {"rotation_deg_mean": 0.2657099111716047, "rotation_deg_max": 0.6908227709325627, "translation_mean": 0.015695817334024354, "translation_radius_pct_mean": 0.3893653072997692}, "sim3": {"scale": 0.9982531328205831, "rotation": [[0.999990421329934, 0.001205208128554372, 0.0042076979155759656], [-0.0012003218302782776, 0.9999986026208004, -0.0011636081602392954], [-0.004209094425839569, 0.0011585464227572935, 0.9999904706017458]], "translation": [-0.025960007101619387, 0.012282670540307843, 2.282918639862075e-05]}}} +{"step": 23000, "train_loss": 0.008024475537240505, "val_psnr": 16.812198638916016, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 1.0328354835510254, "translation_update_mean": 0.0038950424641370773, "rotation_update_deg_mean": 0.08667993545532227, "pose_errors": {"raw": {"rotation_deg_mean": 0.4116133248963898, "rotation_deg_max": 0.8088237518243228, "translation_mean": 0.026109451522384693, "translation_radius_pct_mean": 0.6476957777410108}, "aligned": {"rotation_deg_mean": 0.25938656621646544, "rotation_deg_max": 0.6838489751408428, "translation_mean": 0.014946786037065528, "translation_radius_pct_mean": 0.3707841276828718}, "sim3": {"scale": 0.9982987610596809, "rotation": [[0.9999906356957786, 0.0011004585719378982, 0.004185392655781116], [-0.001094915695262176, 0.99999852091109, -0.0013263993560245785], [-0.004186846112754243, 0.0013218042831078256, 0.999990361530081]], "translation": [-0.026134085545884922, 0.01305889500035913, 0.00012441547066455172]}}} +{"step": 24000, "train_loss": 0.006286565214395523, "val_psnr": 18.009206771850586, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.7336880564689636, "translation_update_mean": 0.0035709808580577374, "rotation_update_deg_mean": 0.0733218714594841, "pose_errors": {"raw": {"rotation_deg_mean": 0.4019629304845185, "rotation_deg_max": 0.7107820430184373, "translation_mean": 0.026170585764851123, "translation_radius_pct_mean": 0.6492123316482024}, "aligned": {"rotation_deg_mean": 0.24762020399852155, "rotation_deg_max": 0.7352187354128418, "translation_mean": 0.014355208075481976, "translation_radius_pct_mean": 0.3561088845972865}, "sim3": {"scale": 0.9981563371210503, "rotation": [[0.9999899904163555, 0.0010955394183757392, 0.004338071055160733], [-0.001090190953539527, 0.9999986430222804, -0.0012350859410278398], [-0.0043394182538283475, 0.0012303442525116275, 0.9999898277993817]], "translation": [-0.02678242080925053, 0.013006428077307494, 0.0003132854842822219]}}} +{"step": 25000, "train_loss": 0.007181661203503609, "val_psnr": 18.187191009521484, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.8022683262825012, "translation_update_mean": 0.0032338749151676893, "rotation_update_deg_mean": 0.07055249810218811, "pose_errors": {"raw": {"rotation_deg_mean": 0.3957756571988834, "rotation_deg_max": 0.7515456379956794, "translation_mean": 0.025853436043219782, "translation_radius_pct_mean": 0.641344815341464}, "aligned": {"rotation_deg_mean": 0.23965262481149352, "rotation_deg_max": 0.7009757389113989, "translation_mean": 0.013771048132204809, "translation_radius_pct_mean": 0.34161765989799825}, "sim3": {"scale": 0.9981628835943344, "rotation": [[0.9999897225862022, 0.0010929591711881226, 0.00440001843401515], [-0.0010876913166538262, 0.9999986891232413, -0.0011994496232913888], [-0.004401323615599455, 0.001194651434207519, 0.999989600525116]], "translation": [-0.02720477120454723, 0.012982271855282917, 0.00030517017417563963]}}} +{"step": 26000, "train_loss": 0.007014562375843525, "val_psnr": 17.866661071777344, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 1.1438943147659302, "translation_update_mean": 0.0030689509585499763, "rotation_update_deg_mean": 0.07124367356300354, "pose_errors": {"raw": {"rotation_deg_mean": 0.38210260512610783, "rotation_deg_max": 0.7074655874296111, "translation_mean": 0.025671296413794984, "translation_radius_pct_mean": 0.6368264872242835}, "aligned": {"rotation_deg_mean": 0.22649657746818488, "rotation_deg_max": 0.6305679220216204, "translation_mean": 0.013395999423662173, "translation_radius_pct_mean": 0.33231384649686185}, "sim3": {"scale": 0.9978423119287275, "rotation": [[0.9999900233417108, 0.0010954944096422897, 0.004330486005361409], [-0.0010899619537646926, 0.9999985871568876, -0.0012797137057016807], [-0.004331881806274737, 0.001274980873448141, 0.9999898045599213]], "translation": [-0.02684545688308554, 0.013371042922062655, 0.0006843761108670243]}}} +{"step": 27000, "train_loss": 0.006609214469790459, "val_psnr": 17.138662338256836, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.853148877620697, "translation_update_mean": 0.0026840544305741787, "rotation_update_deg_mean": 0.059586379677057266, "pose_errors": {"raw": {"rotation_deg_mean": 0.3824224200049928, "rotation_deg_max": 0.6942421595118661, "translation_mean": 0.02521232386734865, "translation_radius_pct_mean": 0.6254407796318637}, "aligned": {"rotation_deg_mean": 0.2250856430131732, "rotation_deg_max": 0.6047686950634614, "translation_mean": 0.012685139852935637, "translation_radius_pct_mean": 0.31467959086603686}, "sim3": {"scale": 0.9977661856070853, "rotation": [[0.9999899585391818, 0.0011068013104953494, 0.0043425581935569516], [-0.0011018197175984691, 0.9999987324575149, -0.0011493809954221561], [-0.0043438248255718275, 0.0011445847377153837, 0.9999899105049316]], "translation": [-0.026831757066235362, 0.012968759088905213, 0.0006925912128465939]}}} +{"step": 28000, "train_loss": 0.006080241873860359, "val_psnr": 17.819135665893555, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.9192302823066711, "translation_update_mean": 0.0025572101585566998, "rotation_update_deg_mean": 0.06023957580327988, "pose_errors": {"raw": {"rotation_deg_mean": 0.37120260297527125, "rotation_deg_max": 0.6587559667378885, "translation_mean": 0.025265960370774204, "translation_radius_pct_mean": 0.6267713375247301}, "aligned": {"rotation_deg_mean": 0.2141057815143039, "rotation_deg_max": 0.5658548180512994, "translation_mean": 0.01232185513195448, "translation_radius_pct_mean": 0.30566760607977717}, "sim3": {"scale": 0.9976506726300384, "rotation": [[0.9999899230242077, 0.0010694358512514726, 0.004360063875521414], [-0.001064104871153819, 0.9999986837469744, -0.0012248204524684303], [-0.0043613680034771864, 0.0012201685447737825, 0.9999897447763441]], "translation": [-0.02698304151857539, 0.01311611284091306, 0.0006829024958308061]}}} +{"step": 29000, "train_loss": 0.008221857249736786, "val_psnr": 17.666419982910156, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 1.0813339948654175, "translation_update_mean": 0.0021264287643134594, "rotation_update_deg_mean": 0.057145051658153534, "pose_errors": {"raw": {"rotation_deg_mean": 0.3690794196157854, "rotation_deg_max": 0.6556264629263304, "translation_mean": 0.025232658640957167, "translation_radius_pct_mean": 0.6259452232811783}, "aligned": {"rotation_deg_mean": 0.21173563998315972, "rotation_deg_max": 0.5822718968497711, "translation_mean": 0.012071284232999113, "translation_radius_pct_mean": 0.29945170709243074}, "sim3": {"scale": 0.9975776719313679, "rotation": [[0.9999900568459548, 0.0010366786917133026, 0.004337223364617486], [-0.0010312542159891048, 0.9999986835916864, -0.0012527288761173482], [-0.004338516332393086, 0.001248243640160753, 0.9999898095300025]], "translation": [-0.026928864437957944, 0.013336703574794245, 0.0006798769038440788]}}} +{"step": 29999, "train_loss": 0.0056396895088255405, "val_psnr": 18.30869483947754, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 2.307265043258667, "translation_update_mean": 0.0020783001091331244, "rotation_update_deg_mean": 0.05030937120318413, "pose_errors": {"raw": {"rotation_deg_mean": 0.3632329493353021, "rotation_deg_max": 0.6040965965160188, "translation_mean": 0.02520225854988042, "translation_radius_pct_mean": 0.6251910898358063}, "aligned": {"rotation_deg_mean": 0.20472228040145204, "rotation_deg_max": 0.5897432845822783, "translation_mean": 0.011758092912591625, "translation_radius_pct_mean": 0.2916823866346973}, "sim3": {"scale": 0.9973990427589066, "rotation": [[0.9999900766601068, 0.001037735507371728, 0.004332399604081006], [-0.0010324769721837116, 0.9999987278737532, -0.0012158298306836081], [-0.004333655802507986, 0.0012113446627654808, 0.9999898759844987]], "translation": [-0.02690593877084385, 0.013248416793800004, 0.0007149753443331797]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T0.5.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T0.5.jsonl new file mode 100644 index 0000000..27017d3 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T0.5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421424925327301, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.005819340702146292, "translation_update_mean": 1.7301939436720204e-08, "rotation_update_deg_mean": 9.921528771883459e-07, "pose_errors": {"raw": {"rotation_deg_mean": 0.017241450897029865, "rotation_deg_max": 0.045239031718098566, "translation_mean": 0.01599858321703347, "translation_radius_pct_mean": 0.39687600448545723}, "aligned": {"rotation_deg_mean": 0.04279723154903614, "rotation_deg_max": 0.06026474246412122, "translation_mean": 0.015838345771505093, "translation_radius_pct_mean": 0.3929010026813881}, "sim3": {"scale": 1.0000292131088597, "rotation": [[0.9999997707468379, -0.00025859249628366415, 0.0006258084313825145], [0.0002585316548379592, 0.9999999618470943, 9.729950184631306e-05], [-0.0006258335684271313, -9.71376882506679e-05, 0.9999997994482869]], "translation": [-0.0006395678338975697, 0.00030807803292262625, 0.00010493939231759342]}}} +{"step": 1000, "train_loss": 0.03825581818819046, "val_psnr": 18.028472900390625, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.8195730447769165, "translation_update_mean": 0.015257656574249268, "rotation_update_deg_mean": 0.6380528807640076, "pose_errors": {"raw": {"rotation_deg_mean": 0.6384405785654215, "rotation_deg_max": 1.8051162207585014, "translation_mean": 0.020728349110066317, "translation_radius_pct_mean": 0.5142070558863033}, "aligned": {"rotation_deg_mean": 0.6624046531133315, "rotation_deg_max": 1.830155579853608, "translation_mean": 0.02029316191886633, "translation_radius_pct_mean": 0.5034113903386933}, "sim3": {"scale": 1.0000998291692518, "rotation": [[0.9999992280157067, 0.0003081999208721872, 0.0012037361836183737], [-0.0003092892816922559, 0.9999995427463768, 0.0009049017498542879], [-0.0012034567425578953, -0.0009052733539839162, 0.9999988660853686]], "translation": [-0.0005990819295588756, -0.0015400788532468623, 0.00030251630981581457]}}} +{"step": 2000, "train_loss": 0.028781652450561523, "val_psnr": 18.303739547729492, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.1561658382415771, "translation_update_mean": 0.021366549655795097, "rotation_update_deg_mean": 0.7548641562461853, "pose_errors": {"raw": {"rotation_deg_mean": 0.5813390566714309, "rotation_deg_max": 1.7813545251971503, "translation_mean": 0.026000308183035063, "translation_radius_pct_mean": 0.6449882647162847}, "aligned": {"rotation_deg_mean": 0.5952089119590219, "rotation_deg_max": 1.8280771330853565, "translation_mean": 0.025398522410214827, "translation_radius_pct_mean": 0.630059796999293}, "sim3": {"scale": 1.000378726521855, "rotation": [[0.9999998134229102, -0.0002966026816115772, 0.0005340234006167322], [0.0002961389767520232, 0.999999579271312, 0.0008681928959114331], [-0.0005342806842786356, -0.0008680345887831727, 0.9999994805299144]], "translation": [0.003048163196151643, 0.001057673131863307, -0.00036958011182219863]}}} +{"step": 3000, "train_loss": 0.025397762656211853, "val_psnr": 20.206058502197266, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.2112125158309937, "translation_update_mean": 0.024149293079972267, "rotation_update_deg_mean": 0.7161238789558411, "pose_errors": {"raw": {"rotation_deg_mean": 0.5526458236518008, "rotation_deg_max": 1.40188200839492, "translation_mean": 0.02828522016390481, "translation_radius_pct_mean": 0.7016699549176427}, "aligned": {"rotation_deg_mean": 0.5608329688800593, "rotation_deg_max": 1.3734545580702604, "translation_mean": 0.02739898540139564, "translation_radius_pct_mean": 0.679685176215096}, "sim3": {"scale": 1.0018131378792272, "rotation": [[0.9999999963841624, -6.036016387274532e-05, -5.9902620695196e-05], [6.0316329778033064e-05, 0.9999997306435133, -0.0007314880991690317], [5.994675730176298e-05, 0.0007314844834178596, 0.9999997306683799]], "translation": [0.004791526155035364, 0.0020737835778017605, -0.0003911273395114101]}}} +{"step": 4000, "train_loss": 0.022099340334534645, "val_psnr": 20.87273406982422, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.1873036623001099, "translation_update_mean": 0.01947358436882496, "rotation_update_deg_mean": 0.6130460500717163, "pose_errors": {"raw": {"rotation_deg_mean": 0.4416422053801128, "rotation_deg_max": 2.346339784786137, "translation_mean": 0.029417303722740297, "translation_radius_pct_mean": 0.7297534916583177}, "aligned": {"rotation_deg_mean": 0.44113337247614, "rotation_deg_max": 2.3957407922258778, "translation_mean": 0.029061461782466002, "translation_radius_pct_mean": 0.7209261395379091}, "sim3": {"scale": 1.001716613187289, "rotation": [[0.9999995861246987, -0.00031897963977780934, -0.0008520577566667811], [0.000318464514736396, 0.9999997664995272, -0.0006046331483725578], [0.0008522504233747314, 0.0006043615479697978, 0.999999454208019]], "translation": [0.008017683597264513, 0.00393869831430424, 0.00035375734650244794]}}} +{"step": 5000, "train_loss": 0.01680402085185051, "val_psnr": 21.341644287109375, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.7918930649757385, "translation_update_mean": 0.01891903392970562, "rotation_update_deg_mean": 0.48124369978904724, "pose_errors": {"raw": {"rotation_deg_mean": 0.368388680886476, "rotation_deg_max": 0.9534758008309688, "translation_mean": 0.027796621040313125, "translation_radius_pct_mean": 0.6895493023988806}, "aligned": {"rotation_deg_mean": 0.36608605514195147, "rotation_deg_max": 0.9673079744162263, "translation_mean": 0.026051426656929645, "translation_radius_pct_mean": 0.6462563579842608}, "sim3": {"scale": 1.0031332203469419, "rotation": [[0.9999986906208804, 1.8567189144514874e-05, -0.0016181507298757018], [-1.9231797080971264e-05, 0.9999999154753286, -0.00041070606842820743], [0.001618142967444582, 0.00041073665060475814, 0.999998606453401]], "translation": [0.011694816984155587, 0.002866874767056729, -0.0009131360181484638]}}} +{"step": 6000, "train_loss": 0.01453474722802639, "val_psnr": 21.36373519897461, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.9302489161491394, "translation_update_mean": 0.017357854172587395, "rotation_update_deg_mean": 0.38397732377052307, "pose_errors": {"raw": {"rotation_deg_mean": 0.3423146224805393, "rotation_deg_max": 0.9387132704795126, "translation_mean": 0.024928401470076883, "translation_radius_pct_mean": 0.6183975317964441}, "aligned": {"rotation_deg_mean": 0.3314257140365518, "rotation_deg_max": 0.9658918772171504, "translation_mean": 0.022528306719803815, "translation_radius_pct_mean": 0.558858508749657}, "sim3": {"scale": 1.0027345559913612, "rotation": [[0.9999994299974618, -0.00015488921226271295, -0.0010564156774222231], [0.0001543199782064401, 0.9999998428884651, -0.0005388955276764102], [0.00105649898055092, 0.0005387321944602337, 0.9999992967885163]], "translation": [0.010125556215378861, 0.0044252719053790995, -0.0011240928805076322]}}} +{"step": 7000, "train_loss": 0.01656559854745865, "val_psnr": 20.20992088317871, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 0.9945804476737976, "translation_update_mean": 0.014525968581438065, "rotation_update_deg_mean": 0.29398009181022644, "pose_errors": {"raw": {"rotation_deg_mean": 0.2882745149254988, "rotation_deg_max": 0.6902323275206093, "translation_mean": 0.02493303663208178, "translation_radius_pct_mean": 0.6185125160142146}, "aligned": {"rotation_deg_mean": 0.2818843701188486, "rotation_deg_max": 0.6848654616256258, "translation_mean": 0.02183934384198938, "translation_radius_pct_mean": 0.541767443217387}, "sim3": {"scale": 1.0030963762461647, "rotation": [[0.9999997286715541, -0.00013796476431599938, -0.0007236176760312987], [0.0001373739703897761, 0.9999996572843324, -0.0008164310195551278], [0.0007237300667494098, 0.0008163313918009982, 0.9999994049087474]], "translation": [0.008235323036410114, 0.0059133338073740355, -0.0014900664098078664]}}} +{"step": 8000, "train_loss": 0.014932487159967422, "val_psnr": 21.260009765625, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.8688712120056152, "translation_update_mean": 0.014363878406584263, "rotation_update_deg_mean": 0.25469741225242615, "pose_errors": {"raw": {"rotation_deg_mean": 0.2540195332168723, "rotation_deg_max": 0.8226870781174063, "translation_mean": 0.021586011261634473, "translation_radius_pct_mean": 0.5354830353461824}, "aligned": {"rotation_deg_mean": 0.24648437346434005, "rotation_deg_max": 0.8595229915944903, "translation_mean": 0.018272164925912774, "translation_radius_pct_mean": 0.4532766252310829}, "sim3": {"scale": 1.0030570045908547, "rotation": [[0.9999998964482323, -0.0001895801450569134, -0.0004137183745436377], [0.00018938165104631738, 0.9999998669791227, -0.0004797669515549141], [0.0004138092737987567, 0.00047968855120539267, 0.9999997993303693]], "translation": [0.007717171906344911, 0.004867704109732987, -0.003272545138409466]}}} +{"step": 9000, "train_loss": 0.015176001936197281, "val_psnr": 21.390762329101562, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.9751312136650085, "translation_update_mean": 0.012678341940045357, "rotation_update_deg_mean": 0.2391759753227234, "pose_errors": {"raw": {"rotation_deg_mean": 0.25272413938844046, "rotation_deg_max": 0.7167442081517684, "translation_mean": 0.0198203228992735, "translation_radius_pct_mean": 0.4916816978831123}, "aligned": {"rotation_deg_mean": 0.2470685014065737, "rotation_deg_max": 0.7133073720154229, "translation_mean": 0.016644539892060183, "translation_radius_pct_mean": 0.4129002174284111}, "sim3": {"scale": 1.0028348600910493, "rotation": [[0.9999999573036719, -0.00022978415387856575, -0.0001805322592653863], [0.00022971993945969057, 0.9999999103761593, -0.0003556352384950207], [0.00018061396242770813, 0.0003555937514509908, 0.9999999204658373]], "translation": [0.006088992103175372, 0.005597265286059985, -0.0027904444351305457]}}} +{"step": 10000, "train_loss": 0.015182720497250557, "val_psnr": 21.431270599365234, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.521474003791809, "translation_update_mean": 0.011044821701943874, "rotation_update_deg_mean": 0.2146708220243454, "pose_errors": {"raw": {"rotation_deg_mean": 0.2441317192960459, "rotation_deg_max": 0.5767898388843855, "translation_mean": 0.019485821392901236, "translation_radius_pct_mean": 0.483383736773528}, "aligned": {"rotation_deg_mean": 0.23650071680811258, "rotation_deg_max": 0.5526052133887034, "translation_mean": 0.01530282777760173, "translation_radius_pct_mean": 0.37961643623776997}, "sim3": {"scale": 1.0031444470225457, "rotation": [[0.9999997971330927, -8.488462529184416e-05, -0.0006312910372290081], [8.468018900783415e-05, 0.9999999439726015, -0.0003238580855393282], [0.0006313184924317233, 0.0003238045619948575, 0.9999997482937513]], "translation": [0.007879024433166626, 0.005581112286779294, -0.002940076665269409]}}} +{"step": 11000, "train_loss": 0.011662622913718224, "val_psnr": 21.96469497680664, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 1.1283665895462036, "translation_update_mean": 0.009653139859437943, "rotation_update_deg_mean": 0.18710818886756897, "pose_errors": {"raw": {"rotation_deg_mean": 0.23790077943573645, "rotation_deg_max": 0.6065607961561039, "translation_mean": 0.01812158927287378, "translation_radius_pct_mean": 0.4495413030003444}, "aligned": {"rotation_deg_mean": 0.2326029537743284, "rotation_deg_max": 0.5913625185204073, "translation_mean": 0.013622480493984393, "translation_radius_pct_mean": 0.33793215038425695}, "sim3": {"scale": 1.0033200126025799, "rotation": [[0.9999998912221268, 8.503638535895635e-06, -0.0004663511793987768], [-8.491937664750597e-06, 0.999999999649134, 2.509223149782294e-05], [0.00046635139261028374, -2.5088268543209054e-05, 0.9999998909434736]], "translation": [0.007958094543860539, 0.003478344062936567, -0.003697289044196417]}}} +{"step": 12000, "train_loss": 0.009430941194295883, "val_psnr": 21.691255569458008, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.9262290596961975, "translation_update_mean": 0.009320158511400223, "rotation_update_deg_mean": 0.18695735931396484, "pose_errors": {"raw": {"rotation_deg_mean": 0.22004414433707745, "rotation_deg_max": 0.522581263663194, "translation_mean": 0.017872084877997164, "translation_radius_pct_mean": 0.44335186072305793}, "aligned": {"rotation_deg_mean": 0.21098696822530297, "rotation_deg_max": 0.4960843641210553, "translation_mean": 0.013208341001228443, "translation_radius_pct_mean": 0.3276586139745065}, "sim3": {"scale": 1.0033157333122913, "rotation": [[0.9999997801373014, -4.680975037301857e-05, -0.0006614636774652582], [4.674720343334203e-05, 0.9999999944352727, -9.457353288969861e-05], [0.0006614681007479263, 9.454259051934184e-05, 0.9999997767607997]], "translation": [0.008631275787898907, 0.004301903462111137, -0.00406889718955572]}}} +{"step": 13000, "train_loss": 0.010680494830012321, "val_psnr": 20.795513153076172, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.8157819509506226, "translation_update_mean": 0.007621844299137592, "rotation_update_deg_mean": 0.16995491087436676, "pose_errors": {"raw": {"rotation_deg_mean": 0.21616757693687577, "rotation_deg_max": 0.4903954786751715, "translation_mean": 0.017623139204734697, "translation_radius_pct_mean": 0.4371762786231906}, "aligned": {"rotation_deg_mean": 0.20468464733319205, "rotation_deg_max": 0.47286774626200967, "translation_mean": 0.012357610053277311, "translation_radius_pct_mean": 0.30655457651477097}, "sim3": {"scale": 1.0031689588019455, "rotation": [[0.9999996065945358, -9.615337527371683e-05, -0.000881796633042252], [9.602588248996988e-05, 0.9999999849314389, -0.0001446241768234575], [0.000881810525857519, 0.0001445394446275612, 0.9999996007591931]], "translation": [0.010180534102164351, 0.0047196215058673135, -0.004169483371291083]}}} +{"step": 14000, "train_loss": 0.011712834239006042, "val_psnr": 21.01385498046875, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.0136479139328003, "translation_update_mean": 0.007324958685785532, "rotation_update_deg_mean": 0.15081341564655304, "pose_errors": {"raw": {"rotation_deg_mean": 0.19203549144356383, "rotation_deg_max": 0.5368675704546061, "translation_mean": 0.01744336967436334, "translation_radius_pct_mean": 0.43271674542739796}, "aligned": {"rotation_deg_mean": 0.18353308881435965, "rotation_deg_max": 0.4897431927081987, "translation_mean": 0.012166480008846207, "translation_radius_pct_mean": 0.30181322364983837}, "sim3": {"scale": 1.0030437829915089, "rotation": [[0.9999996109476947, -0.00016616456971136712, -0.0008663104490917591], [0.00016611443198559977, 0.9999999845240909, -5.794664192525272e-05], [0.0008663200643636657, 5.7802712712785334e-05, 0.9999996230741247]], "translation": [0.010077944696160523, 0.004395016687000583, -0.0039389610602036385]}}} +{"step": 15000, "train_loss": 0.008753073401749134, "val_psnr": 21.105680465698242, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 1.1882365942001343, "translation_update_mean": 0.006828079000115395, "rotation_update_deg_mean": 0.13848967850208282, "pose_errors": {"raw": {"rotation_deg_mean": 0.1912984984581216, "rotation_deg_max": 0.43893775915508, "translation_mean": 0.017047759951384026, "translation_radius_pct_mean": 0.4229028760327341}, "aligned": {"rotation_deg_mean": 0.18130424612326176, "rotation_deg_max": 0.4615750222244204, "translation_mean": 0.011835400380900682, "translation_radius_pct_mean": 0.2936001488967156}, "sim3": {"scale": 1.0029918927332604, "rotation": [[0.9999997070680132, -0.0001167136545098581, -0.0007564666621611881], [0.00011674684270971216, 0.9999999922246123, 4.382864477967349e-05], [0.0007564615408781421, -4.391694703533417e-05, 0.9999997129185778]], "translation": [0.00947303307460673, 0.004414267766254754, -0.0037924607747901184]}}} +{"step": 16000, "train_loss": 0.011628611013293266, "val_psnr": 22.212770462036133, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 1.327664852142334, "translation_update_mean": 0.006837234832346439, "rotation_update_deg_mean": 0.14188501238822937, "pose_errors": {"raw": {"rotation_deg_mean": 0.17938425635840635, "rotation_deg_max": 0.41090367956314283, "translation_mean": 0.017098206671111334, "translation_radius_pct_mean": 0.42415430513074664}, "aligned": {"rotation_deg_mean": 0.16909757519809518, "rotation_deg_max": 0.43230123280014565, "translation_mean": 0.011209658341526554, "translation_radius_pct_mean": 0.27807739934718173}, "sim3": {"scale": 1.0032257355290215, "rotation": [[0.9999996462423133, -0.00017899629810494576, -0.0008218732107226655], [0.0001791522874653359, 0.9999999659539364, 0.0001897276564631751], [0.000821839222192953, -0.00018987482981130255, 0.9999996442638578]], "translation": [0.010091007361925142, 0.0034904261709034073, -0.003898083755230708]}}} +{"step": 17000, "train_loss": 0.006689941044896841, "val_psnr": 21.765499114990234, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.7969935536384583, "translation_update_mean": 0.006113446783274412, "rotation_update_deg_mean": 0.11599922180175781, "pose_errors": {"raw": {"rotation_deg_mean": 0.1684037091114789, "rotation_deg_max": 0.4002048158177286, "translation_mean": 0.01563962110511637, "translation_radius_pct_mean": 0.3879712504327583}, "aligned": {"rotation_deg_mean": 0.16505217693859392, "rotation_deg_max": 0.4078373269923053, "translation_mean": 0.010331176797974658, "translation_radius_pct_mean": 0.25628495433568266}, "sim3": {"scale": 1.0029368156024507, "rotation": [[0.9999995643193685, -0.00017975186038296596, -0.0009159969113807702], [0.00018006578145273537, 0.9999999250874799, 0.00034263880215518004], [0.0009159352527991317, -0.0003428035925737534, 0.9999995217740398]], "translation": [0.010339063531173531, 0.0026228258768739576, -0.0043477813693924006]}}} +{"step": 18000, "train_loss": 0.009274814277887344, "val_psnr": 22.508441925048828, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 0.8830254077911377, "translation_update_mean": 0.004967568442225456, "rotation_update_deg_mean": 0.11607573926448822, "pose_errors": {"raw": {"rotation_deg_mean": 0.1722483400984883, "rotation_deg_max": 0.45505610664428064, "translation_mean": 0.01537979213349528, "translation_radius_pct_mean": 0.3815256869283129}, "aligned": {"rotation_deg_mean": 0.16778684190285392, "rotation_deg_max": 0.44376144515735116, "translation_mean": 0.010101040632360569, "translation_radius_pct_mean": 0.2505759786934346}, "sim3": {"scale": 1.0027613590092228, "rotation": [[0.9999997236953416, -9.615415471695904e-05, -0.0007371320231223688], [9.643175710410094e-05, 0.9999999244473593, 0.00037657162990651835], [0.0007370957585032979, -0.00037664260879422885, 0.999999657415036]], "translation": [0.009745712481068536, 0.00294560589709901, -0.004505821551522793]}}} +{"step": 19000, "train_loss": 0.007421665824949741, "val_psnr": 22.41143035888672, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.8253655433654785, "translation_update_mean": 0.004429170861840248, "rotation_update_deg_mean": 0.10992597043514252, "pose_errors": {"raw": {"rotation_deg_mean": 0.16063767754839678, "rotation_deg_max": 0.4153038189503435, "translation_mean": 0.01463983552240667, "translation_radius_pct_mean": 0.36316962256201457}, "aligned": {"rotation_deg_mean": 0.15314516308140802, "rotation_deg_max": 0.37939300315647806, "translation_mean": 0.009359418496609468, "translation_radius_pct_mean": 0.23217859774525806}, "sim3": {"scale": 1.0026106217898225, "rotation": [[0.9999997497267443, -0.00011004484386854624, -0.0006988823793061574], [0.00011024490678368478, 0.9999999529594696, 0.0002862291366693447], [0.0006988508483897899, -0.00028630611325664566, 0.9999997148181089]], "translation": [0.009561192161851917, 0.0033627045694473723, -0.004947745756615163]}}} +{"step": 20000, "train_loss": 0.007982658222317696, "val_psnr": 22.065401077270508, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.8129847049713135, "translation_update_mean": 0.004697936587035656, "rotation_update_deg_mean": 0.10200921446084976, "pose_errors": {"raw": {"rotation_deg_mean": 0.16049070739685217, "rotation_deg_max": 0.3548115364505335, "translation_mean": 0.014624732091232375, "translation_radius_pct_mean": 0.3627949525467289}, "aligned": {"rotation_deg_mean": 0.15399823918933406, "rotation_deg_max": 0.3598855201718994, "translation_mean": 0.009042283142360167, "translation_radius_pct_mean": 0.2243114378494032}, "sim3": {"scale": 1.0026068573434033, "rotation": [[0.9999996788871559, -0.00017283563192533897, -0.0007825301459194223], [0.00017298805798509725, 0.9999999660791027, 0.00019472268870198304], [0.000782496464356365, -0.0001948579945442499, 0.9999996748647697]], "translation": [0.010017778204013894, 0.004210921730883027, -0.004878610443571851]}}} +{"step": 21000, "train_loss": 0.007992341183125973, "val_psnr": 20.98775863647461, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.916073203086853, "translation_update_mean": 0.004298936575651169, "rotation_update_deg_mean": 0.10529521852731705, "pose_errors": {"raw": {"rotation_deg_mean": 0.15007185293591385, "rotation_deg_max": 0.41388114383015123, "translation_mean": 0.014323160347205887, "translation_radius_pct_mean": 0.35531387830338496}, "aligned": {"rotation_deg_mean": 0.1422544189085113, "rotation_deg_max": 0.4076022211394035, "translation_mean": 0.008724664929878192, "translation_radius_pct_mean": 0.21643229971500574}, "sim3": {"scale": 1.0025154841710122, "rotation": [[0.9999995542632437, -0.00018797887401756264, -0.0009252768543838441], [0.00018812036641330362, 0.9999999706261976, 0.00015283432694888655], [0.0009252480975802447, -0.00015300832224583342, 0.9999995602521092]], "translation": [0.0106213814317217, 0.004352893421066539, -0.005026412174167216]}}} +{"step": 22000, "train_loss": 0.009339618496596813, "val_psnr": 20.94326400756836, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.6661099195480347, "translation_update_mean": 0.0043990397825837135, "rotation_update_deg_mean": 0.08855254203081131, "pose_errors": {"raw": {"rotation_deg_mean": 0.1563640706434212, "rotation_deg_max": 0.3522808707306979, "translation_mean": 0.013905954570805394, "translation_radius_pct_mean": 0.34496427675805613}, "aligned": {"rotation_deg_mean": 0.14614457030297537, "rotation_deg_max": 0.37794619389271517, "translation_mean": 0.008163427292454385, "translation_radius_pct_mean": 0.20250970744005553}, "sim3": {"scale": 1.0023807847944886, "rotation": [[0.9999996148803486, -5.647039704497569e-05, -0.0008758140490816041], [5.6629800928250855e-05, 0.9999999818376613, 0.00018198280758278878], [0.0008758037565334117, -0.00018203233467288077, 0.9999995999159242]], "translation": [0.010461647342437375, 0.004258363765205886, -0.005227621891519707]}}} +{"step": 23000, "train_loss": 0.00830153375864029, "val_psnr": 22.288738250732422, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 1.0654926300048828, "translation_update_mean": 0.003699680557474494, "rotation_update_deg_mean": 0.07764075696468353, "pose_errors": {"raw": {"rotation_deg_mean": 0.14596931468911284, "rotation_deg_max": 0.37148889947608665, "translation_mean": 0.014059693603604564, "translation_radius_pct_mean": 0.34877807278255857}, "aligned": {"rotation_deg_mean": 0.13428262420568957, "rotation_deg_max": 0.389483478395734, "translation_mean": 0.00836243485222516, "translation_radius_pct_mean": 0.20744647740979485}, "sim3": {"scale": 1.0022808022727658, "rotation": [[0.9999995521588473, -0.00017812634524498602, -0.0009294907799633626], [0.0001781861106856376, 0.9999999820629616, 6.421670687175393e-05], [0.0009294793246038431, -6.438230045987507e-05, 0.9999995659614574]], "translation": [0.010738579278973148, 0.004640233857176407, -0.005415309241825206]}}} +{"step": 24000, "train_loss": 0.007116314489394426, "val_psnr": 21.576187133789062, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 1.0596367120742798, "translation_update_mean": 0.0038783119525760412, "rotation_update_deg_mean": 0.07200933247804642, "pose_errors": {"raw": {"rotation_deg_mean": 0.14502439933829556, "rotation_deg_max": 0.34478732297813125, "translation_mean": 0.013730441751719552, "translation_radius_pct_mean": 0.34061033957313064}, "aligned": {"rotation_deg_mean": 0.1322490681431664, "rotation_deg_max": 0.3454358541936139, "translation_mean": 0.008035763146696021, "translation_radius_pct_mean": 0.19934274975403468}, "sim3": {"scale": 1.002135525925413, "rotation": [[0.9999995812325225, -0.00020541297531695416, -0.0008918185292439825], [0.00020545789839764204, 0.9999999776294294, 5.028112316737681e-05], [0.0008918081808986098, -5.046433327204971e-05, 0.9999996010656789]], "translation": [0.010609217397981485, 0.004776050001500318, -0.005402753924943049]}}} +{"step": 25000, "train_loss": 0.008185412734746933, "val_psnr": 22.15496253967285, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.9948800206184387, "translation_update_mean": 0.0030700580682605505, "rotation_update_deg_mean": 0.07011185586452484, "pose_errors": {"raw": {"rotation_deg_mean": 0.1370747931012067, "rotation_deg_max": 0.32135382097892623, "translation_mean": 0.013428902251337431, "translation_radius_pct_mean": 0.3331300651961606}, "aligned": {"rotation_deg_mean": 0.12173899974216497, "rotation_deg_max": 0.32108251697316115, "translation_mean": 0.007702328339919538, "translation_radius_pct_mean": 0.19107125020469093}, "sim3": {"scale": 1.0019988822847374, "rotation": [[0.9999996112246218, -0.0001819020730237029, -0.0008628222532830911], [0.0001819442344506606, 0.9999999822580948, 4.8786315283988584e-05], [0.0008628133636430921, -4.8943281851364515e-05, 0.9999996265787572]], "translation": [0.010395096338305598, 0.004902879452832978, -0.005159480048686049]}}} +{"step": 26000, "train_loss": 0.008020387031137943, "val_psnr": 21.630512237548828, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.8715063333511353, "translation_update_mean": 0.0025631652679294348, "rotation_update_deg_mean": 0.06462834030389786, "pose_errors": {"raw": {"rotation_deg_mean": 0.13768748368305894, "rotation_deg_max": 0.3324507224814071, "translation_mean": 0.012929821046098702, "translation_radius_pct_mean": 0.3207493842344835}, "aligned": {"rotation_deg_mean": 0.12311511370058863, "rotation_deg_max": 0.32842101032829385, "translation_mean": 0.007212510602984425, "translation_radius_pct_mean": 0.17892036760941554}, "sim3": {"scale": 1.0019481548093077, "rotation": [[0.9999996791928852, -0.00011933984469726739, -0.0007920682588117958], [0.0001194025318190819, 0.9999999897433676, 7.909676994332487e-05], [0.0007920588112916319, -7.919131952403377e-05, 0.9999996831857362]], "translation": [0.010065602609595103, 0.004559208898920988, -0.005278225052863128]}}} +{"step": 27000, "train_loss": 0.0067485542967915535, "val_psnr": 20.906789779663086, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.8573125004768372, "translation_update_mean": 0.0028398495633155107, "rotation_update_deg_mean": 0.06041554734110832, "pose_errors": {"raw": {"rotation_deg_mean": 0.13090348837699453, "rotation_deg_max": 0.2904865407756676, "translation_mean": 0.012709888639022617, "translation_radius_pct_mean": 0.3152935326885608}, "aligned": {"rotation_deg_mean": 0.11536458924205363, "rotation_deg_max": 0.3020833920336974, "translation_mean": 0.006977273174002855, "translation_radius_pct_mean": 0.1730848451976411}, "sim3": {"scale": 1.0018595577507685, "rotation": [[0.9999996796638753, -9.857696254930994e-05, -0.0007943265893210667], [9.859086287342223e-05, 0.9999999949874883, 1.7460370264131366e-05], [0.0007943248641492239, -1.7538678014727042e-05, 0.9999996843701532]], "translation": [0.010013740411390526, 0.00492334497942358, -0.004969199645866951]}}} +{"step": 28000, "train_loss": 0.007223521824926138, "val_psnr": 20.91364860534668, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.7876638174057007, "translation_update_mean": 0.002478474983945489, "rotation_update_deg_mean": 0.05497809126973152, "pose_errors": {"raw": {"rotation_deg_mean": 0.13179593185667088, "rotation_deg_max": 0.312252174517126, "translation_mean": 0.01278933093556791, "translation_radius_pct_mean": 0.3172642535212953}, "aligned": {"rotation_deg_mean": 0.1136751326023866, "rotation_deg_max": 0.32825437407392527, "translation_mean": 0.007000625964109172, "translation_radius_pct_mean": 0.17366415662198742}, "sim3": {"scale": 1.0017824767708758, "rotation": [[0.9999996923828712, -0.0001193758811280978, -0.0007752312952552323], [0.00011925442000088088, 0.9999999806083595, -0.00015672161035436012], [0.0007752499890025825, 0.0001566291123856557, 0.9999996872273383]], "translation": [0.009965450031904466, 0.005821918526769387, -0.004928978855313293]}}} +{"step": 29000, "train_loss": 0.007754751946777105, "val_psnr": 20.728158950805664, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.8241903185844421, "translation_update_mean": 0.002176193753257394, "rotation_update_deg_mean": 0.05740458518266678, "pose_errors": {"raw": {"rotation_deg_mean": 0.12895455639221295, "rotation_deg_max": 0.26727549165081743, "translation_mean": 0.012438201227558718, "translation_radius_pct_mean": 0.3085537974965103}, "aligned": {"rotation_deg_mean": 0.11184250340265244, "rotation_deg_max": 0.27285252899901824, "translation_mean": 0.006628718737167324, "translation_radius_pct_mean": 0.16443827378813763}, "sim3": {"scale": 1.0017220736699581, "rotation": [[0.9999996734760492, -0.00013886003320278818, -0.0007960940183571426], [0.0001388237568821807, 0.999999989323255, -4.562296244055818e-05], [0.0007961003450635668, 4.5512430781098815e-05, 0.9999996820763787]], "translation": [0.010054924158341638, 0.005122542111437117, -0.0048986905764834]}}} +{"step": 29999, "train_loss": 0.005612898617982864, "val_psnr": 21.709758758544922, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.7081972360610962, "translation_update_mean": 0.00228424952365458, "rotation_update_deg_mean": 0.05296427756547928, "pose_errors": {"raw": {"rotation_deg_mean": 0.12859986885528776, "rotation_deg_max": 0.2774096804028531, "translation_mean": 0.012461412245813614, "translation_radius_pct_mean": 0.3091295919940652}, "aligned": {"rotation_deg_mean": 0.11201429091983144, "rotation_deg_max": 0.2885740863097539, "translation_mean": 0.006551625755898776, "translation_radius_pct_mean": 0.162525832294746}, "sim3": {"scale": 1.0017485781356505, "rotation": [[0.9999996555217643, -0.000106760338336624, -0.0008231394676831956], [0.0001067041005502764, 0.999999991970251, -6.836470469531058e-05], [0.0008231467597125656, 6.827684878865795e-05, 0.999999658883784]], "translation": [0.01020495298121371, 0.005157812792590408, -0.005065311491124103]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T1.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T1.jsonl new file mode 100644 index 0000000..40c582e --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T1.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421427607536316, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.0047806641086936, "translation_update_mean": 1.72874941029022e-08, "rotation_update_deg_mean": 9.921600394591223e-07, "pose_errors": {"raw": {"rotation_deg_mean": 0.017283956592178934, "rotation_deg_max": 0.045239031718098566, "translation_mean": 0.03199718388240023, "translation_radius_pct_mean": 0.793752441810792}, "aligned": {"rotation_deg_mean": 0.0804684232962037, "rotation_deg_max": 0.09006710719544403, "translation_mean": 0.03167810904388667, "translation_radius_pct_mean": 0.7858371692317627}, "sim3": {"scale": 1.0000117254371184, "rotation": [[0.9999990835223164, -0.0005171591414544429, 0.0012511998042047093], [0.0005169161737490199, 0.9999998474830437, 0.00019450336512506563], [-0.0012513002025689463, -0.00019385642145161615, 0.999999198333425]], "translation": [-0.0012963218165119028, 0.0006201473722521889, 0.00031574549161250687]}}} +{"step": 1000, "train_loss": 0.037305839359760284, "val_psnr": 18.02537727355957, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.3796955347061157, "translation_update_mean": 0.01646288111805916, "rotation_update_deg_mean": 0.6775510907173157, "pose_errors": {"raw": {"rotation_deg_mean": 0.6779828447450232, "rotation_deg_max": 1.8557986305244965, "translation_mean": 0.033616023278416785, "translation_radius_pct_mean": 0.833910904762103}, "aligned": {"rotation_deg_mean": 0.6830024437312688, "rotation_deg_max": 1.8820367057226774, "translation_mean": 0.03322892285176474, "translation_radius_pct_mean": 0.8243081250296632}, "sim3": {"scale": 1.0000788661230426, "rotation": [[0.9999997682049576, -0.0002646196845727011, 0.0006273487497400525], [0.00026462147772561247, 0.9999999649838851, -2.7752994911896938e-06], [-0.0006273479933739663, 2.941308801134278e-06, 0.9999998032129033]], "translation": [0.0034294706719596446, -0.000650567620571349, 0.0005156276958944161]}}} +{"step": 2000, "train_loss": 0.02988296002149582, "val_psnr": 18.094757080078125, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.696453332901001, "translation_update_mean": 0.020968927070498466, "rotation_update_deg_mean": 0.7487112283706665, "pose_errors": {"raw": {"rotation_deg_mean": 0.648680761918089, "rotation_deg_max": 3.0431672670144647, "translation_mean": 0.036356777835946, "translation_radius_pct_mean": 0.9019006575615508}, "aligned": {"rotation_deg_mean": 0.6564883462970472, "rotation_deg_max": 3.0538066834612123, "translation_mean": 0.03582746210006009, "translation_radius_pct_mean": 0.8887699502032881}, "sim3": {"scale": 0.9996336004423049, "rotation": [[0.9999995424117487, -0.0007991797981310138, 0.0005258212086832357], [0.0007991695231594951, 0.9999996804689422, 1.975062855323166e-05], [-0.0005258368249704564, -1.93303992309488e-05, 0.9999998615609759]], "translation": [0.0053335904137530865, -8.804617731386633e-05, -0.0003689670053139693]}}} +{"step": 3000, "train_loss": 0.027592234313488007, "val_psnr": 20.19988250732422, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.0261003971099854, "translation_update_mean": 0.023494219407439232, "rotation_update_deg_mean": 0.6872316598892212, "pose_errors": {"raw": {"rotation_deg_mean": 0.5200372851158869, "rotation_deg_max": 1.3293391213261936, "translation_mean": 0.038896273586785275, "translation_radius_pct_mean": 0.9648977938284565}, "aligned": {"rotation_deg_mean": 0.5313848496857756, "rotation_deg_max": 1.316094161214761, "translation_mean": 0.038385894503856724, "translation_radius_pct_mean": 0.9522368470147426}, "sim3": {"scale": 0.9995106995539078, "rotation": [[0.9999992706641663, -0.0009922457669244544, 0.0006885633398320983], [0.0009924787263709135, 0.9999994503479717, -0.00033806764398393985], [-0.0006882275151731371, 0.0003387507818856692, 0.9999997057953539]], "translation": [0.0029022546868495147, 0.001925796184741757, 3.6948187017493694e-05]}}} +{"step": 4000, "train_loss": 0.02432570606470108, "val_psnr": 20.577777862548828, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 0.9529290795326233, "translation_update_mean": 0.018830209970474243, "rotation_update_deg_mean": 0.5295262932777405, "pose_errors": {"raw": {"rotation_deg_mean": 0.49441564486904016, "rotation_deg_max": 1.0592425394765588, "translation_mean": 0.03531415931355096, "translation_radius_pct_mean": 0.876036475230073}, "aligned": {"rotation_deg_mean": 0.5056410000407623, "rotation_deg_max": 1.0842298732329294, "translation_mean": 0.034667417994417624, "translation_radius_pct_mean": 0.8599927976624235}, "sim3": {"scale": 0.9990995262487506, "rotation": [[0.9999992239104533, -0.0008351808420161693, 0.0009244736079500666], [0.0008350748529324495, 0.9999996447092001, 0.00011502810204438712], [-0.0009245693487603224, -0.00011425600811013297, 0.9999995660584481]], "translation": [0.003032762662159405, 0.0012987768497259022, 0.001234362316720361]}}} +{"step": 5000, "train_loss": 0.019094936549663544, "val_psnr": 21.518630981445312, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.8343376517295837, "translation_update_mean": 0.020503556355834007, "rotation_update_deg_mean": 0.45630255341529846, "pose_errors": {"raw": {"rotation_deg_mean": 0.40978394692994696, "rotation_deg_max": 0.9080707321292798, "translation_mean": 0.03299461445955258, "translation_radius_pct_mean": 0.818495649183704}, "aligned": {"rotation_deg_mean": 0.41570087166457625, "rotation_deg_max": 0.9556296385464584, "translation_mean": 0.03229834758447252, "translation_radius_pct_mean": 0.8012233937790414}, "sim3": {"scale": 0.9994819867855174, "rotation": [[0.9999995564795549, -0.0007062309585625065, 0.000623119994760327], [0.0007063533456621153, 0.9999997312828741, -0.00019621195771990326], [-0.0006229812563583671, 0.0001966520135889103, 0.9999997866111482]], "translation": [0.0037577007303710164, 0.0030216717713308083, 0.00017412009103612291]}}} +{"step": 6000, "train_loss": 0.013691836968064308, "val_psnr": 21.743427276611328, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.9107249975204468, "translation_update_mean": 0.017520414665341377, "rotation_update_deg_mean": 0.3727187514305115, "pose_errors": {"raw": {"rotation_deg_mean": 0.34639025032084036, "rotation_deg_max": 0.9914891304982474, "translation_mean": 0.03073897257086304, "translation_radius_pct_mean": 0.7625400606050843}, "aligned": {"rotation_deg_mean": 0.3434565670368063, "rotation_deg_max": 0.9505372204357502, "translation_mean": 0.029938011261208743, "translation_radius_pct_mean": 0.7426706559202625}, "sim3": {"scale": 0.9988715200590543, "rotation": [[0.9999998624096289, -0.00034163692897509686, 0.0003980765403854952], [0.0003414181608936844, 0.9999997907409723, 0.0005495012747523974], [-0.0003982641870122848, -0.0005493652885859853, 0.9999997697916817]], "translation": [0.004610427804079831, -0.0022546691703201893, -8.713518921554808e-05]}}} +{"step": 7000, "train_loss": 0.016552243381738663, "val_psnr": 21.003931045532227, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 0.9220467209815979, "translation_update_mean": 0.015828222036361694, "rotation_update_deg_mean": 0.3119247257709503, "pose_errors": {"raw": {"rotation_deg_mean": 0.3394017272772503, "rotation_deg_max": 0.7832979749203494, "translation_mean": 0.027492266832133138, "translation_radius_pct_mean": 0.6819992037150043}, "aligned": {"rotation_deg_mean": 0.3371958658416521, "rotation_deg_max": 0.8413244404042232, "translation_mean": 0.02655203618371078, "translation_radius_pct_mean": 0.6586749519373005}, "sim3": {"scale": 0.9991668778606747, "rotation": [[0.999999623047158, -0.0007290737913064436, 0.0004715473980148859], [0.0007288110475090273, 0.9999995792219407, 0.000557126913797418], [-0.00047195338622927713, -0.0005567830348337544, 0.9999997336262906]], "translation": [0.0040232798748075504, -0.0013097931270400903, -0.0019378525016064962]}}} +{"step": 8000, "train_loss": 0.015107430517673492, "val_psnr": 22.064502716064453, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.9049142003059387, "translation_update_mean": 0.015002836473286152, "rotation_update_deg_mean": 0.26218393445014954, "pose_errors": {"raw": {"rotation_deg_mean": 0.289549256228911, "rotation_deg_max": 0.671577423460201, "translation_mean": 0.022592497546615506, "translation_radius_pct_mean": 0.5604508871824246}, "aligned": {"rotation_deg_mean": 0.2912580781482908, "rotation_deg_max": 0.6299874365787148, "translation_mean": 0.0217830640637494, "translation_radius_pct_mean": 0.5403713137465329}, "sim3": {"scale": 0.9991976230868405, "rotation": [[0.9999996228869856, -0.0006047576061887377, 0.0006232929684533715], [0.0006043745243037302, 0.9999996284899266, 0.000614614873215843], [-0.0006236644299131264, -0.0006142379390452569, 0.9999996168771427]], "translation": [0.0030940753871486204, -0.002530529709989973, -0.0006708304303062462]}}} +{"step": 9000, "train_loss": 0.014876792207360268, "val_psnr": 21.962125778198242, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 1.1013964414596558, "translation_update_mean": 0.012989151291549206, "rotation_update_deg_mean": 0.24514621496200562, "pose_errors": {"raw": {"rotation_deg_mean": 0.26957664521392977, "rotation_deg_max": 0.648404626443686, "translation_mean": 0.02129124114254552, "translation_radius_pct_mean": 0.5281706886515594}, "aligned": {"rotation_deg_mean": 0.27193601705921056, "rotation_deg_max": 0.64201138581842, "translation_mean": 0.019926548297166297, "translation_radius_pct_mean": 0.49431682568903484}, "sim3": {"scale": 0.9989507790947553, "rotation": [[0.9999995911065003, -0.000805203046594174, 0.00041162469087640337], [0.0008050677031251285, 0.9999996218574542, 0.00032886310685315245], [-0.00041188933679929367, -0.0003285315866386956, 0.999999861207077]], "translation": [0.0044651218648111834, -0.001158346711903832, -0.0015598558124918505]}}} +{"step": 10000, "train_loss": 0.016074461862444878, "val_psnr": 22.84061050415039, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.176620364189148, "translation_update_mean": 0.010594203136861324, "rotation_update_deg_mean": 0.23115281760692596, "pose_errors": {"raw": {"rotation_deg_mean": 0.2705895851083111, "rotation_deg_max": 0.6665738478778445, "translation_mean": 0.020740806221597855, "translation_radius_pct_mean": 0.5145160787907066}, "aligned": {"rotation_deg_mean": 0.27085919677649317, "rotation_deg_max": 0.6282605895397592, "translation_mean": 0.018895925279257278, "translation_radius_pct_mean": 0.4687502152004893}, "sim3": {"scale": 0.9987990332582063, "rotation": [[0.9999995331810408, -0.0007230781273863123, 0.000640933477417353], [0.0007225152821848751, 0.9999993535772159, 0.0008779617402577107], [-0.0006415678980344804, -0.0008774982461762195, 0.9999994091935561]], "translation": [0.0037617644274872686, -0.004471737986748631, -0.000977631446044569]}}} +{"step": 11000, "train_loss": 0.01209052000194788, "val_psnr": 22.68356704711914, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.8855771422386169, "translation_update_mean": 0.010170578956604004, "rotation_update_deg_mean": 0.20643016695976257, "pose_errors": {"raw": {"rotation_deg_mean": 0.26116679858249603, "rotation_deg_max": 0.661722582882304, "translation_mean": 0.019552464143905875, "translation_radius_pct_mean": 0.48503693995957514}, "aligned": {"rotation_deg_mean": 0.26630330342983294, "rotation_deg_max": 0.6614367449870496, "translation_mean": 0.018160981761423212, "translation_radius_pct_mean": 0.45051851037240676}, "sim3": {"scale": 0.9988289281238825, "rotation": [[0.999999256446937, -0.0006170269894391521, 0.0010518475498277641], [0.0006164142630460425, 0.9999996402186715, 0.0005827486456754945], [-0.0010522067430350681, -0.0005820998385387381, 0.9999992770101125]], "translation": [0.0016323229053594734, -0.0021505351011738144, -0.0013843973942901933]}}} +{"step": 12000, "train_loss": 0.008996319025754929, "val_psnr": 23.59745216369629, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.7537532448768616, "translation_update_mean": 0.009913802146911621, "rotation_update_deg_mean": 0.17933256924152374, "pose_errors": {"raw": {"rotation_deg_mean": 0.23410017559533938, "rotation_deg_max": 0.5701492928632049, "translation_mean": 0.018525496231073087, "translation_radius_pct_mean": 0.45956100146860285}, "aligned": {"rotation_deg_mean": 0.2300322774243075, "rotation_deg_max": 0.5640557543620345, "translation_mean": 0.016765199462278925, "translation_radius_pct_mean": 0.4158934129809}, "sim3": {"scale": 0.998606608869172, "rotation": [[0.9999995979819881, -0.000643723375791858, 0.0006242243805830072], [0.0006431738930780009, 0.9999994059051384, 0.0008800663123574894], [-0.0006247905289920728, -0.0008796644737299815, 0.9999994179134352]], "translation": [0.003813272998504813, -0.004098637309238387, -0.00047598880039689817]}}} +{"step": 13000, "train_loss": 0.01276484876871109, "val_psnr": 22.555429458618164, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.8658367395401001, "translation_update_mean": 0.009312008507549763, "rotation_update_deg_mean": 0.1648813784122467, "pose_errors": {"raw": {"rotation_deg_mean": 0.20843289959710762, "rotation_deg_max": 0.47222447076478596, "translation_mean": 0.01747739858528595, "translation_radius_pct_mean": 0.433560898814029}, "aligned": {"rotation_deg_mean": 0.20278746935288502, "rotation_deg_max": 0.4594996740749885, "translation_mean": 0.01525284504144961, "translation_radius_pct_mean": 0.3783765171556738}, "sim3": {"scale": 0.9983664838500959, "rotation": [[0.9999997124045692, -0.000596123675014974, 0.00046885748607794557], [0.0005958182297162447, 0.9999996103800715, 0.0006513373489283281], [-0.00046924558101574926, -0.0006510578077693266, 0.999999677966105]], "translation": [0.004559002091805431, -0.0026956511589508875, 6.874899384268218e-05]}}} +{"step": 14000, "train_loss": 0.0133283706381917, "val_psnr": 22.754966735839844, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.236639380455017, "translation_update_mean": 0.00855328794568777, "rotation_update_deg_mean": 0.15834631025791168, "pose_errors": {"raw": {"rotation_deg_mean": 0.21120017141921432, "rotation_deg_max": 0.5644885797053736, "translation_mean": 0.016802787225717656, "translation_radius_pct_mean": 0.4168258506329557}, "aligned": {"rotation_deg_mean": 0.21422111934547935, "rotation_deg_max": 0.5145227020219622, "translation_mean": 0.01378193203657916, "translation_radius_pct_mean": 0.34188765633597634}, "sim3": {"scale": 0.9981128618658263, "rotation": [[0.9999997624696476, -0.0004601402040274091, 0.0005131584951072495], [0.0004596851820753005, 0.999999501426456, 0.0008864741246593887], [-0.0005135661416446492, -0.0008862380227385698, 0.9999994754158558]], "translation": [0.004208121737679593, -0.003965834053410486, -0.00012900977917684742]}}} +{"step": 15000, "train_loss": 0.009886663407087326, "val_psnr": 23.884231567382812, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 1.7414721250534058, "translation_update_mean": 0.007506132125854492, "rotation_update_deg_mean": 0.13601051270961761, "pose_errors": {"raw": {"rotation_deg_mean": 0.19406125005317518, "rotation_deg_max": 0.5402183573828351, "translation_mean": 0.01610799497700218, "translation_radius_pct_mean": 0.3995901762062301}, "aligned": {"rotation_deg_mean": 0.18917381935178887, "rotation_deg_max": 0.4991139897840442, "translation_mean": 0.012881540511460834, "translation_radius_pct_mean": 0.3195516915749799}, "sim3": {"scale": 0.9981115578111496, "rotation": [[0.9999998138454155, -0.00042352603186665945, 0.0004392434814640517], [0.0004231790244383727, 0.9999995985646265, 0.0007898038358044151], [-0.0004395778076206988, -0.0007896178101507428, 0.9999995916374493]], "translation": [0.004356392750189175, -0.003654548004326255, -0.0005973162740113835]}}} +{"step": 16000, "train_loss": 0.011998401954770088, "val_psnr": 24.111053466796875, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.9849282503128052, "translation_update_mean": 0.006294297054409981, "rotation_update_deg_mean": 0.1444447636604309, "pose_errors": {"raw": {"rotation_deg_mean": 0.1753903879121634, "rotation_deg_max": 0.4135598596268238, "translation_mean": 0.016408427001905444, "translation_radius_pct_mean": 0.40704297749779295}, "aligned": {"rotation_deg_mean": 0.17673114225119932, "rotation_deg_max": 0.36992818558589, "translation_mean": 0.012005034435826414, "translation_radius_pct_mean": 0.2978082518912302}, "sim3": {"scale": 0.9975972924106912, "rotation": [[0.999999800330563, -0.00048429992782445306, 0.0004059463189577709], [0.00048387159658719103, 0.9999993268670627, 0.0010545774975825636], [-0.0004064567775078675, -0.00105438086112219, 0.9999993615367395]], "translation": [0.0048934740245057395, -0.004264405367346416, 0.00038395295816373576]}}} +{"step": 17000, "train_loss": 0.006542814429849386, "val_psnr": 23.674652099609375, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.6825950741767883, "translation_update_mean": 0.00598506536334753, "rotation_update_deg_mean": 0.12290393561124802, "pose_errors": {"raw": {"rotation_deg_mean": 0.17062959804437824, "rotation_deg_max": 0.4017686858888268, "translation_mean": 0.016824959771846146, "translation_radius_pct_mean": 0.41737588380760426}, "aligned": {"rotation_deg_mean": 0.1688457797510658, "rotation_deg_max": 0.38553073789020803, "translation_mean": 0.011401136467077435, "translation_radius_pct_mean": 0.28282738704197274}, "sim3": {"scale": 0.9973753022717888, "rotation": [[0.9999997552401261, -0.0004409113632608262, 0.0005432465903229483], [0.00044038288732803436, 0.9999994301081634, 0.0009725462774342439], [-0.0005436750874362434, -0.0009723068028919696, 0.9999993795182485]], "translation": [0.004369870378169105, -0.004320376780413873, -0.00013561372218617862]}}} +{"step": 18000, "train_loss": 0.0105842100456357, "val_psnr": 24.84786605834961, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.0461393594741821, "translation_update_mean": 0.005411155056208372, "rotation_update_deg_mean": 0.12780462205410004, "pose_errors": {"raw": {"rotation_deg_mean": 0.16155427798323596, "rotation_deg_max": 0.3671904371314178, "translation_mean": 0.017018778789313183, "translation_radius_pct_mean": 0.4221839418838792}, "aligned": {"rotation_deg_mean": 0.16729041446173845, "rotation_deg_max": 0.34532155086610616, "translation_mean": 0.010888198825194945, "translation_radius_pct_mean": 0.2701029701921248}, "sim3": {"scale": 0.9972328500889944, "rotation": [[0.999999739324984, -0.0004689240765060444, 0.0005490538904355412], [0.00046842874916377025, 0.9999994835497384, 0.0009019283581743782], [-0.0005494765427989257, -0.0009016709304370239, 0.9999994425323757]], "translation": [0.004294873900475782, -0.0035183979749474348, -0.0003879521501217731]}}} +{"step": 19000, "train_loss": 0.00751953711733222, "val_psnr": 24.070152282714844, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.8041940331459045, "translation_update_mean": 0.004963670391589403, "rotation_update_deg_mean": 0.12373677641153336, "pose_errors": {"raw": {"rotation_deg_mean": 0.1493284371809691, "rotation_deg_max": 0.34920687416055923, "translation_mean": 0.016614556036751355, "translation_radius_pct_mean": 0.41215640952163546}, "aligned": {"rotation_deg_mean": 0.15339817475446502, "rotation_deg_max": 0.3465896128617429, "translation_mean": 0.010329984668430665, "translation_radius_pct_mean": 0.2562553812413761}, "sim3": {"scale": 0.9973188596020809, "rotation": [[0.9999997280852198, -0.0004647890824009568, 0.0005725387280074432], [0.00046433582449531704, 0.9999995789266557, 0.0007915420096361283], [-0.0005729063870110239, -0.0007912759441618154, 0.999999522830212]], "translation": [0.003998504202873232, -0.003150000294182692, -0.0008067049043076757]}}} +{"step": 20000, "train_loss": 0.009802574291825294, "val_psnr": 24.15614891052246, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 1.3472126722335815, "translation_update_mean": 0.0049933199770748615, "rotation_update_deg_mean": 0.10767824202775955, "pose_errors": {"raw": {"rotation_deg_mean": 0.14430148385505354, "rotation_deg_max": 0.4742614012213728, "translation_mean": 0.016748450583177164, "translation_radius_pct_mean": 0.41547792442623593}, "aligned": {"rotation_deg_mean": 0.14768633104781095, "rotation_deg_max": 0.4250069933813662, "translation_mean": 0.009584020977357883, "translation_radius_pct_mean": 0.23775029956083177}, "sim3": {"scale": 0.9971600369224223, "rotation": [[0.9999997757395902, -0.0004739660314838679, 0.0004731563901809725], [0.0004735013687384407, 0.9999994060517805, 0.000981678429819928], [-0.0004736213913801581, -0.0009814541694698543, 0.999999406215069]], "translation": [0.004621138151602311, -0.004385884237896695, -0.000783985900475237]}}} +{"step": 21000, "train_loss": 0.007907440885901451, "val_psnr": 22.974594116210938, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.9194677472114563, "translation_update_mean": 0.0043546766974031925, "rotation_update_deg_mean": 0.09484580904245377, "pose_errors": {"raw": {"rotation_deg_mean": 0.144819086353952, "rotation_deg_max": 0.42363082766832927, "translation_mean": 0.016798899671154718, "translation_radius_pct_mean": 0.4167294122733067}, "aligned": {"rotation_deg_mean": 0.14764751671502382, "rotation_deg_max": 0.4103929881715368, "translation_mean": 0.009184298976007145, "translation_radius_pct_mean": 0.2278344170949326}, "sim3": {"scale": 0.996926245077944, "rotation": [[0.9999997261631104, -0.0005012869502925048, 0.0005444126171383078], [0.0005007784250876377, 0.999999438604674, 0.000933815456410754], [-0.0005448804210099236, -0.0009335425706046012, 0.9999994158016277]], "translation": [0.0040941960146954615, -0.0041207413686067396, -0.0003548998321361019]}}} +{"step": 22000, "train_loss": 0.010468261316418648, "val_psnr": 23.16180992126465, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.190043330192566, "translation_update_mean": 0.004028514493256807, "rotation_update_deg_mean": 0.09218306094408035, "pose_errors": {"raw": {"rotation_deg_mean": 0.1335794049049142, "rotation_deg_max": 0.32532456017934863, "translation_mean": 0.01730680123255909, "translation_radius_pct_mean": 0.4293288993421041}, "aligned": {"rotation_deg_mean": 0.1393803372373478, "rotation_deg_max": 0.3142818940397558, "translation_mean": 0.009005475370027273, "translation_radius_pct_mean": 0.22339834939529957}, "sim3": {"scale": 0.9967411728134626, "rotation": [[0.9999998276471874, -0.00046019587317098614, 0.000364589293346968], [0.0004598373336136628, 0.999999411247162, 0.0009828809468666786], [-0.00036504139644950195, -0.000982713125695895, 0.9999994505096942]], "translation": [0.004819649096197698, -0.004266203480970787, -0.00031695107403972855]}}} +{"step": 23000, "train_loss": 0.008232222869992256, "val_psnr": 25.58654022216797, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.9705959558486938, "translation_update_mean": 0.003718608757480979, "rotation_update_deg_mean": 0.0823642909526825, "pose_errors": {"raw": {"rotation_deg_mean": 0.127234872215132, "rotation_deg_max": 0.32851952390050065, "translation_mean": 0.01706899861723545, "translation_radius_pct_mean": 0.42342974248893}, "aligned": {"rotation_deg_mean": 0.12717132574799206, "rotation_deg_max": 0.3209524129088003, "translation_mean": 0.008529453776127688, "translation_radius_pct_mean": 0.21158970698785662}, "sim3": {"scale": 0.9968026635140742, "rotation": [[0.9999997777247093, -0.0005005927978513998, 0.00044040593066183817], [0.0005001951798373505, 0.9999994676565938, 0.0009024917234347354], [-0.0004408574770714718, -0.0009022712339093647, 0.9999994957755257]], "translation": [0.004575089455069681, -0.0039581919540224025, -0.0005671947347432038]}}} +{"step": 24000, "train_loss": 0.00603996217250824, "val_psnr": 23.688737869262695, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.9970625638961792, "translation_update_mean": 0.0032990132458508015, "rotation_update_deg_mean": 0.07724421471357346, "pose_errors": {"raw": {"rotation_deg_mean": 0.1267768000035521, "rotation_deg_max": 0.31381582028828403, "translation_mean": 0.016838169752558325, "translation_radius_pct_mean": 0.41770358309780126}, "aligned": {"rotation_deg_mean": 0.13172378105133473, "rotation_deg_max": 0.2853751334295824, "translation_mean": 0.008018062562578612, "translation_radius_pct_mean": 0.19890365230357437}, "sim3": {"scale": 0.996798492441365, "rotation": [[0.9999997758279473, -0.00048059549859992074, 0.00046623172512740745], [0.0004801703859937266, 0.999999469311743, 0.0009114892394077486], [-0.0004666695353291947, -0.0009112651644100385, 0.9999994759075349]], "translation": [0.0044938879181640745, -0.0038376194538524283, -0.00048420101406954075]}}} +{"step": 25000, "train_loss": 0.00725029781460762, "val_psnr": 23.285987854003906, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 1.2444037199020386, "translation_update_mean": 0.0032328693196177483, "rotation_update_deg_mean": 0.06901450455188751, "pose_errors": {"raw": {"rotation_deg_mean": 0.11927634610015798, "rotation_deg_max": 0.31431067937953944, "translation_mean": 0.017184558291147112, "translation_radius_pct_mean": 0.4262964251844873}, "aligned": {"rotation_deg_mean": 0.12360853960590928, "rotation_deg_max": 0.2590247945124519, "translation_mean": 0.007960890716572083, "translation_radius_pct_mean": 0.1974853933549963}, "sim3": {"scale": 0.9967055545668091, "rotation": [[0.9999997511526033, -0.00043674349880256296, 0.0005540305484874017], [0.00043616543242830635, 0.999999360876238, 0.001043075659565327], [-0.0005544857509065139, -0.0010428337510249598, 0.9999993025214178]], "translation": [0.004045545091428793, -0.004768310630733269, -0.0006731963655073336]}}} +{"step": 26000, "train_loss": 0.007031148299574852, "val_psnr": 23.498416900634766, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.750670850276947, "translation_update_mean": 0.0034013530239462852, "rotation_update_deg_mean": 0.06486206501722336, "pose_errors": {"raw": {"rotation_deg_mean": 0.11955710960307227, "rotation_deg_max": 0.28307892076751034, "translation_mean": 0.01740423726092115, "translation_radius_pct_mean": 0.43174598972471334}, "aligned": {"rotation_deg_mean": 0.12120008484815868, "rotation_deg_max": 0.2646379103100928, "translation_mean": 0.007589696968775932, "translation_radius_pct_mean": 0.18827720976043452}, "sim3": {"scale": 0.9965867684887008, "rotation": [[0.9999997651452465, -0.0004140153835944953, 0.0005461691256877106], [0.00041356926663978027, 0.9999995810041923, 0.0008166712316682435], [-0.0005465070112982798, -0.0008164451611043827, 0.9999995173735753]], "translation": [0.004174289694534705, -0.003716699277306515, -0.0007037907610487615]}}} +{"step": 27000, "train_loss": 0.0076472461223602295, "val_psnr": 23.818662643432617, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 1.231154203414917, "translation_update_mean": 0.002903581829741597, "rotation_update_deg_mean": 0.06034158542752266, "pose_errors": {"raw": {"rotation_deg_mean": 0.11502498376028651, "rotation_deg_max": 0.29547831683356485, "translation_mean": 0.017429321801365815, "translation_radius_pct_mean": 0.4323682605877629}, "aligned": {"rotation_deg_mean": 0.1153883464393564, "rotation_deg_max": 0.2773705642459868, "translation_mean": 0.007322329751943347, "translation_radius_pct_mean": 0.18164464540723996}, "sim3": {"scale": 0.9965402865914251, "rotation": [[0.9999998374043051, -0.00039846227564906513, 0.00040794506729906183], [0.0003981574947078312, 0.9999996417893678, 0.0007469215118697792], [-0.0004082425412141659, -0.0007467589640376745, 0.9999996378444729]], "translation": [0.004721528121774399, -0.0033088865563623976, -0.00046134325671687293]}}} +{"step": 28000, "train_loss": 0.007578202988952398, "val_psnr": 23.511924743652344, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.7929316163063049, "translation_update_mean": 0.002295728074386716, "rotation_update_deg_mean": 0.0598713755607605, "pose_errors": {"raw": {"rotation_deg_mean": 0.10853510125744444, "rotation_deg_max": 0.26062298376382237, "translation_mean": 0.017830004366907057, "translation_radius_pct_mean": 0.4423079717185387}, "aligned": {"rotation_deg_mean": 0.10594066535737966, "rotation_deg_max": 0.25328733871681236, "translation_mean": 0.0071293334250814334, "translation_radius_pct_mean": 0.17685699577312888}, "sim3": {"scale": 0.9963901313486939, "rotation": [[0.999999839875825, -0.00039822234622948806, 0.00040207870836197254], [0.0003979112186704645, 0.9999996216191986, 0.000773581360590304], [-0.0004023866136074546, -0.0007734212450924378, 0.9999996199522228]], "translation": [0.004662717993747012, -0.003612937570335595, -0.000368315329998925]}}} +{"step": 29000, "train_loss": 0.007472120691090822, "val_psnr": 23.127342224121094, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.9178807735443115, "translation_update_mean": 0.0023737968876957893, "rotation_update_deg_mean": 0.05848850682377815, "pose_errors": {"raw": {"rotation_deg_mean": 0.10812422456564752, "rotation_deg_max": 0.2410098215043033, "translation_mean": 0.01791844557732494, "translation_radius_pct_mean": 0.44450192812994993}, "aligned": {"rotation_deg_mean": 0.11170938340526053, "rotation_deg_max": 0.2251378443640501, "translation_mean": 0.006974659345487533, "translation_radius_pct_mean": 0.1730200040924321}, "sim3": {"scale": 0.9963260915935978, "rotation": [[0.9999998182738115, -0.00041093029428664366, 0.0004411220209951276], [0.00041056405943870155, 0.9999995712647217, 0.0008300045334324658], [-0.00044146290587758697, -0.0008298232737513001, 0.9999995582518203]], "translation": [0.004487996213862588, -0.0037952019803900727, -0.0004195679067073854]}}} +{"step": 29999, "train_loss": 0.0053571667522192, "val_psnr": 24.70391273498535, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.8890412449836731, "translation_update_mean": 0.002164203440770507, "rotation_update_deg_mean": 0.05630762502551079, "pose_errors": {"raw": {"rotation_deg_mean": 0.10254901196530326, "rotation_deg_max": 0.2564517541106377, "translation_mean": 0.01814650026729228, "translation_radius_pct_mean": 0.45015926871633655}, "aligned": {"rotation_deg_mean": 0.10203936089571843, "rotation_deg_max": 0.2404525564182089, "translation_mean": 0.006729730803877993, "translation_radius_pct_mean": 0.1669440747642057}, "sim3": {"scale": 0.99622859417131, "rotation": [[0.9999998178377172, -0.0003925923324622188, 0.0004584711470773747], [0.00039222873907013354, 0.9999996087512414, 0.0007928770270544176], [-0.0004587822451426005, -0.0007926970570622324, 0.999999580575026]], "translation": [0.004444014721692424, -0.003833489549227173, -0.0003149571041234367]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T2.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T2.jsonl new file mode 100644 index 0000000..d80eacb --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T2.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.3421420454978943, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.005416589323431253, "translation_update_mean": 1.73000547221136e-08, "rotation_update_deg_mean": 9.922176786858472e-07, "pose_errors": {"raw": {"rotation_deg_mean": 0.01724012971164916, "rotation_deg_max": 0.045239031718098566, "translation_mean": 0.06399435985557139, "translation_radius_pct_mean": 1.5875046874177585}, "aligned": {"rotation_deg_mean": 0.15774063066717733, "rotation_deg_max": 0.16303630882755366, "translation_mean": 0.0633555829830964, "translation_radius_pct_mean": 1.571658583455523}, "sim3": {"scale": 0.9998370465838408, "rotation": [[0.9999963384795165, -0.0010342213386856692, 0.0025006826634666204], [0.0010332526838179896, 0.9999993906826461, 0.0003886170720537158], [-0.002501083055825853, -0.00038603181205087175, 0.9999967977763679]], "translation": [-0.002661220444270085, 0.0012562035539645522, 0.0010571711193008149]}}} +{"step": 1000, "train_loss": 0.038671113550662994, "val_psnr": 17.892932891845703, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.9283326864242554, "translation_update_mean": 0.01721274107694626, "rotation_update_deg_mean": 0.7583143711090088, "pose_errors": {"raw": {"rotation_deg_mean": 0.7586938703024386, "rotation_deg_max": 2.553845915558788, "translation_mean": 0.05878226315205728, "translation_radius_pct_mean": 1.45820848120869}, "aligned": {"rotation_deg_mean": 0.7662431232057669, "rotation_deg_max": 2.683140394223815, "translation_mean": 0.05816440173130914, "translation_radius_pct_mean": 1.4428812257470218}, "sim3": {"scale": 0.9997126668779152, "rotation": [[0.9999970317528555, -0.0009348874969521863, 0.0022499935215581257], [0.000933680872474544, 0.999999419790457, 0.00053726974376937], [-0.0022504945028563516, -0.0005351673731057609, 0.9999973244316084]], "translation": [-0.000842288739596353, 0.0002600680199483507, 0.0024108619170490897]}}} +{"step": 2000, "train_loss": 0.029036404564976692, "val_psnr": 17.977710723876953, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 1.8309675455093384, "translation_update_mean": 0.02098737843334675, "rotation_update_deg_mean": 0.7807857990264893, "pose_errors": {"raw": {"rotation_deg_mean": 0.8264923150867005, "rotation_deg_max": 2.330310109295931, "translation_mean": 0.05671196430038389, "translation_radius_pct_mean": 1.4068506875092976}, "aligned": {"rotation_deg_mean": 0.8326542454775988, "rotation_deg_max": 2.402419752852876, "translation_mean": 0.055996079903412085, "translation_radius_pct_mean": 1.389091781280579}, "sim3": {"scale": 0.9989933739678695, "rotation": [[0.9999974354111747, -0.0005869326298661145, 0.002187391405714032], [0.0005845597743619577, 0.9999992402399239, 0.001085269296287969], [-0.0021880267237835683, -0.0010839878519918866, 0.999997018750253]], "translation": [-0.001619378319302589, -0.0011922158693277174, 0.005354010377658369]}}} +{"step": 3000, "train_loss": 0.026211123913526535, "val_psnr": 19.612245559692383, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 1.0239880084991455, "translation_update_mean": 0.02093428745865822, "rotation_update_deg_mean": 0.5974923372268677, "pose_errors": {"raw": {"rotation_deg_mean": 0.7318229121714781, "rotation_deg_max": 1.8234781825941173, "translation_mean": 0.05617846048554499, "translation_radius_pct_mean": 1.393616086698797}, "aligned": {"rotation_deg_mean": 0.734680108021569, "rotation_deg_max": 1.9025988724775724, "translation_mean": 0.05507482857521727, "translation_radius_pct_mean": 1.36623834849213}, "sim3": {"scale": 0.9973593437380925, "rotation": [[0.9999974580554035, -0.0005492934827299931, 0.0021868148987252843], [0.0005462114369350982, 0.9999988571643343, 0.0014097244734371224], [-0.00218758675202087, -0.0014085264266874462, 0.9999966152530255]], "translation": [-0.0038496064469428215, -0.000931362129319685, 0.006888255470468785]}}} +{"step": 4000, "train_loss": 0.02779354900121689, "val_psnr": 20.290414810180664, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.105400562286377, "translation_update_mean": 0.02449146658182144, "rotation_update_deg_mean": 0.5782411694526672, "pose_errors": {"raw": {"rotation_deg_mean": 0.662151672757128, "rotation_deg_max": 1.485438362615306, "translation_mean": 0.04931664414263683, "translation_radius_pct_mean": 1.2233953729804128}, "aligned": {"rotation_deg_mean": 0.6635209907012419, "rotation_deg_max": 1.4060012608240746, "translation_mean": 0.0486023532801382, "translation_radius_pct_mean": 1.205675997476768}, "sim3": {"scale": 0.9982067951946223, "rotation": [[0.9999986616066096, -0.0003735881171434947, 0.0015928643717211522], [0.0003718544339053817, 0.9999993383768543, 0.0010885633340977994], [-0.0015932699921714756, -0.001087969563492582, 0.9999981389047472]], "translation": [7.158119487049586e-05, -0.0006298943705813909, 0.00475070107504294]}}} +{"step": 5000, "train_loss": 0.02088940143585205, "val_psnr": 20.735694885253906, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.9477178454399109, "translation_update_mean": 0.022093791514635086, "rotation_update_deg_mean": 0.46299514174461365, "pose_errors": {"raw": {"rotation_deg_mean": 0.5830582150719859, "rotation_deg_max": 1.2462625489386756, "translation_mean": 0.045839371725234154, "translation_radius_pct_mean": 1.1371348607334943}, "aligned": {"rotation_deg_mean": 0.5833255216970221, "rotation_deg_max": 1.3133816466853179, "translation_mean": 0.04456200173705275, "translation_radius_pct_mean": 1.1054472112534253}, "sim3": {"scale": 0.9974005599026904, "rotation": [[0.9999984817938916, -0.00033907050479244376, 0.0017092223684767145], [0.00033708458174984266, 0.9999992680169848, 0.0011620410830653276], [-0.0017096151312114755, -0.0011614631663402954, 0.9999978641074266]], "translation": [-0.0009319689361408923, -0.0015117770003818254, 0.005928164115504231]}}} +{"step": 6000, "train_loss": 0.015576216392219067, "val_psnr": 21.584186553955078, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 1.1512266397476196, "translation_update_mean": 0.01799800992012024, "rotation_update_deg_mean": 0.3682984709739685, "pose_errors": {"raw": {"rotation_deg_mean": 0.5255016296538763, "rotation_deg_max": 1.028747463532234, "translation_mean": 0.04140518271060932, "translation_radius_pct_mean": 1.0271361692628675}, "aligned": {"rotation_deg_mean": 0.5213220350025222, "rotation_deg_max": 1.0946063624149571, "translation_mean": 0.03925808119673676, "translation_radius_pct_mean": 0.9738731359998243}, "sim3": {"scale": 0.9962847837221254, "rotation": [[0.9999993625797732, -0.00039899893500143144, 0.001056238560787748], [0.00039755612989068553, 0.9999989882120841, 0.0013658418397862557], [-0.0010567824615379006, -0.0013654210550564543, 0.9999985094169754]], "translation": [0.002325096285603956, -0.0011187761691078685, 0.0070422046357894175]}}} +{"step": 7000, "train_loss": 0.01726522110402584, "val_psnr": 19.906084060668945, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 1.3444993495941162, "translation_update_mean": 0.013814694248139858, "rotation_update_deg_mean": 0.3069475293159485, "pose_errors": {"raw": {"rotation_deg_mean": 0.45992052044810755, "rotation_deg_max": 1.090669047419921, "translation_mean": 0.03757829518339133, "translation_radius_pct_mean": 0.932202773548148}, "aligned": {"rotation_deg_mean": 0.4589243846553014, "rotation_deg_max": 1.1292413432056927, "translation_mean": 0.03483592325368159, "translation_radius_pct_mean": 0.8641728986828856}, "sim3": {"scale": 0.9956936384626163, "rotation": [[0.9999990930924433, -0.00031138208246420747, 0.0013102883231526689], [0.00031012889001216397, 0.9999994944451622, 0.0009565194679338481], [-0.0013105855037539294, -0.000956112242195896, 0.9999986841066434]], "translation": [0.0011732213396434266, -1.3384482130354702e-05, 0.007577256436742008]}}} +{"step": 8000, "train_loss": 0.014615874737501144, "val_psnr": 20.229881286621094, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 0.7330483198165894, "translation_update_mean": 0.015268892981112003, "rotation_update_deg_mean": 0.29623737931251526, "pose_errors": {"raw": {"rotation_deg_mean": 0.4560696573896976, "rotation_deg_max": 1.0565348268576176, "translation_mean": 0.03352079934684094, "translation_radius_pct_mean": 0.831548689747027}, "aligned": {"rotation_deg_mean": 0.45753064575304614, "rotation_deg_max": 1.0208570519975315, "translation_mean": 0.031054070830725426, "translation_radius_pct_mean": 0.7703566864086342}, "sim3": {"scale": 0.996396404189724, "rotation": [[0.9999991900301681, -0.00023338645251910384, 0.0012511873446870978], [0.00023270195960217792, 0.9999998232151511, 0.000547192346702583], [-0.001251314830776756, -0.0005469007497463241, 0.9999990675549472]], "translation": [0.00010520757941534509, 0.0025376962447537788, 0.00898887235610557]}}} +{"step": 9000, "train_loss": 0.014947260729968548, "val_psnr": 21.766616821289062, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.8590354323387146, "translation_update_mean": 0.013419969007372856, "rotation_update_deg_mean": 0.28182414174079895, "pose_errors": {"raw": {"rotation_deg_mean": 0.40875427387089525, "rotation_deg_max": 0.8005611794854847, "translation_mean": 0.03026875024110027, "translation_radius_pct_mean": 0.750875280235195}, "aligned": {"rotation_deg_mean": 0.41362339097090334, "rotation_deg_max": 0.8675401590247719, "translation_mean": 0.02711766751286333, "translation_radius_pct_mean": 0.6727065382897005}, "sim3": {"scale": 0.9962089816852434, "rotation": [[0.9999989647298444, -0.0003844099414867145, 0.0013866391877568455], [0.00038308397088213737, 0.9999994692854963, 0.0009563866361234889], [-0.0013870060963782186, -0.0009558544467586454, 0.9999985812771772]], "translation": [-0.0008037053499715952, 0.001646949300951911, 0.009855864793931968]}}} +{"step": 10000, "train_loss": 0.014579549431800842, "val_psnr": 21.899913787841797, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 0.8351745009422302, "translation_update_mean": 0.010990587994456291, "rotation_update_deg_mean": 0.23416709899902344, "pose_errors": {"raw": {"rotation_deg_mean": 0.36051466653623193, "rotation_deg_max": 0.9327952336918579, "translation_mean": 0.028156542267315104, "translation_radius_pct_mean": 0.6984778491685697}, "aligned": {"rotation_deg_mean": 0.35931979463045316, "rotation_deg_max": 0.9743307693771962, "translation_mean": 0.02505025278752509, "translation_radius_pct_mean": 0.6214202909591833}, "sim3": {"scale": 0.9961609627813102, "rotation": [[0.999999272687116, -0.0002671756165184901, 0.0011761132722463627], [0.00026653684529960483, 0.9999998169221631, 0.000543243729909435], [-0.0011762581984044683, -0.0005429298572799197, 0.9999991608215579]], "translation": [-0.0002649096215057156, 0.00280594051840366, 0.010112056855908325]}}} +{"step": 11000, "train_loss": 0.011131820268929005, "val_psnr": 20.967618942260742, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.8206565976142883, "translation_update_mean": 0.011416985653340816, "rotation_update_deg_mean": 0.21724295616149902, "pose_errors": {"raw": {"rotation_deg_mean": 0.32963719308863326, "rotation_deg_max": 0.7774515435388893, "translation_mean": 0.02729911212417692, "translation_radius_pct_mean": 0.6772076251294954}, "aligned": {"rotation_deg_mean": 0.3330200306917815, "rotation_deg_max": 0.810185691081141, "translation_mean": 0.023248027151524773, "translation_radius_pct_mean": 0.5767125752887394}, "sim3": {"scale": 0.9956916872586791, "rotation": [[0.9999991718675728, -0.0002373116800014388, 0.001264890245451513], [0.0002359935544911606, 0.9999994291314411, 0.0010421342684717684], [-0.001265136833999418, -0.0010418348995014958, 0.9999986570035136]], "translation": [-0.000434456724813459, 0.0011410602316929974, 0.01023126167775068]}}} +{"step": 12000, "train_loss": 0.011442435905337334, "val_psnr": 22.208099365234375, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.8391945958137512, "translation_update_mean": 0.009619317017495632, "rotation_update_deg_mean": 0.1887771189212799, "pose_errors": {"raw": {"rotation_deg_mean": 0.3061793263947386, "rotation_deg_max": 0.739662938807707, "translation_mean": 0.025511688663955222, "translation_radius_pct_mean": 0.6328671062477306}, "aligned": {"rotation_deg_mean": 0.3121493739687088, "rotation_deg_max": 0.7374256713539542, "translation_mean": 0.02149979126110064, "translation_radius_pct_mean": 0.5333441803704386}, "sim3": {"scale": 0.9958541672518966, "rotation": [[0.9999990923102808, -0.00014062397417907545, 0.0013400013102008816], [0.00013902898972968232, 0.9999992819227426, 0.0011903045568673468], [-0.0013401677333335744, -0.0011901171774117347, 0.9999983937844841]], "translation": [-0.0011735944832512168, 0.0005421904550778206, 0.010114181000041356]}}} +{"step": 13000, "train_loss": 0.013497229665517807, "val_psnr": 20.77863311767578, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 0.933234453201294, "translation_update_mean": 0.008443602360785007, "rotation_update_deg_mean": 0.17670957744121552, "pose_errors": {"raw": {"rotation_deg_mean": 0.2683423552623658, "rotation_deg_max": 0.6088698172031602, "translation_mean": 0.0241021206999092, "translation_radius_pct_mean": 0.5979000285989002}, "aligned": {"rotation_deg_mean": 0.2739614131543997, "rotation_deg_max": 0.6694480389750508, "translation_mean": 0.01916228097207554, "translation_radius_pct_mean": 0.4753576867311633}, "sim3": {"scale": 0.9958910646441842, "rotation": [[0.9999989038392033, -0.00022571121201357542, 0.0014633437191690362], [0.00022410318629868922, 0.9999993710522732, 0.0010989416816869495], [-0.0014635908422612877, -0.0010986125370799902, 0.9999983254747681]], "translation": [-0.00203319553118797, 0.0009544318201467755, 0.010891637350455952]}}} +{"step": 14000, "train_loss": 0.011553979478776455, "val_psnr": 20.722883224487305, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.0096487998962402, "translation_update_mean": 0.008887200616300106, "rotation_update_deg_mean": 0.1542133390903473, "pose_errors": {"raw": {"rotation_deg_mean": 0.261000499540009, "rotation_deg_max": 0.5805775306261056, "translation_mean": 0.02248046973821177, "translation_radius_pct_mean": 0.5576718192870125}, "aligned": {"rotation_deg_mean": 0.2605492656068937, "rotation_deg_max": 0.5730032906238433, "translation_mean": 0.017496443300977448, "translation_radius_pct_mean": 0.43403334006508654}, "sim3": {"scale": 0.9958597364427317, "rotation": [[0.9999991658282269, -6.696514375469113e-05, 0.0012899063993054123], [6.518496591269685e-05, 0.9999990455707205, 0.0013800755663352024], [-0.0012899975851397303, -0.001379990332610424, 0.9999982157648646]], "translation": [-0.001318504173877244, -0.0002339080312148828, 0.011626071587028886]}}} +{"step": 15000, "train_loss": 0.00959634967148304, "val_psnr": 20.438146591186523, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.6243453621864319, "translation_update_mean": 0.007427380885928869, "rotation_update_deg_mean": 0.1413639932870865, "pose_errors": {"raw": {"rotation_deg_mean": 0.24753745564943677, "rotation_deg_max": 0.6312741888597981, "translation_mean": 0.02251175350557114, "translation_radius_pct_mean": 0.5584478740430124}, "aligned": {"rotation_deg_mean": 0.2526209703613329, "rotation_deg_max": 0.7251211480993234, "translation_mean": 0.01642601615145009, "translation_radius_pct_mean": 0.4074793105967229}, "sim3": {"scale": 0.9954140306180825, "rotation": [[0.9999989278337343, 2.905254248097572e-05, 0.001464065344381895], [-3.125373529337386e-05, 0.9999988692857397, 0.001503479446362953], [-0.0014640200090418455, -0.001503523591893769, 0.9999977980286867]], "translation": [-0.002288317095704595, -0.0008404008761368209, 0.01159901890935311]}}} +{"step": 16000, "train_loss": 0.01306554488837719, "val_psnr": 21.738933563232422, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 0.9814556241035461, "translation_update_mean": 0.006324438378214836, "rotation_update_deg_mean": 0.14696817100048065, "pose_errors": {"raw": {"rotation_deg_mean": 0.2372068116269117, "rotation_deg_max": 0.6266026968627181, "translation_mean": 0.021728602856022107, "translation_radius_pct_mean": 0.5390202974578375}, "aligned": {"rotation_deg_mean": 0.24064803009179161, "rotation_deg_max": 0.6172656466689777, "translation_mean": 0.01578113493036847, "translation_radius_pct_mean": 0.391481776382688}, "sim3": {"scale": 0.995679313789322, "rotation": [[0.9999991567673924, 3.34081123218244e-05, 0.0012982096914534414], [-3.509888750333411e-05, 0.9999991512752028, 0.0013023889364942355], [-0.0012981650792748217, -0.0013024334039933264, 0.9999983092158985]], "translation": [-0.0015121150085334878, 0.00017573655981348302, 0.011006519447864349]}}} +{"step": 17000, "train_loss": 0.007665587589144707, "val_psnr": 21.000370025634766, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 1.221261978149414, "translation_update_mean": 0.006755015812814236, "rotation_update_deg_mean": 0.12758587300777435, "pose_errors": {"raw": {"rotation_deg_mean": 0.22119585091443666, "rotation_deg_max": 0.4853206134101715, "translation_mean": 0.021273525946717716, "translation_radius_pct_mean": 0.527731228729175}, "aligned": {"rotation_deg_mean": 0.22593721091443142, "rotation_deg_max": 0.5221375231361046, "translation_mean": 0.014221925778986648, "translation_radius_pct_mean": 0.35280255774420655}, "sim3": {"scale": 0.9952905294771337, "rotation": [[0.9999991509836186, -7.427269613272026e-06, 0.0013030644180858167], [5.6916374877335365e-06, 0.9999991129239867, 0.0013319605270589849], [-0.001303073154998616, -0.0013319519796325097, 0.9999982639506315]], "translation": [-0.0013079570564186183, -8.162092404162546e-05, 0.010837864488335569]}}} +{"step": 18000, "train_loss": 0.007759333588182926, "val_psnr": 23.177841186523438, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.0756819248199463, "translation_update_mean": 0.006170003209263086, "rotation_update_deg_mean": 0.11886841803789139, "pose_errors": {"raw": {"rotation_deg_mean": 0.20250583277741477, "rotation_deg_max": 0.5222311962319369, "translation_mean": 0.02053522264006301, "translation_radius_pct_mean": 0.509416177798193}, "aligned": {"rotation_deg_mean": 0.21041273395546273, "rotation_deg_max": 0.5253856887118715, "translation_mean": 0.013068898364360579, "translation_radius_pct_mean": 0.3241994678848632}, "sim3": {"scale": 0.9953122959398129, "rotation": [[0.9999992339742431, -1.7873332944181864e-05, 0.0012376313958385537], [1.634130716997027e-05, 0.9999992337072997, 0.001237868238204897], [-0.001237652572281764, -0.0012378470654512204, 0.9999984679742028]], "translation": [-0.001076688675113513, 0.0008047093703104913, 0.011129862121889822]}}} +{"step": 19000, "train_loss": 0.007890114560723305, "val_psnr": 20.812931060791016, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.8435952067375183, "translation_update_mean": 0.005254726391285658, "rotation_update_deg_mean": 0.10972291976213455, "pose_errors": {"raw": {"rotation_deg_mean": 0.19129349759091305, "rotation_deg_max": 0.5144874522695856, "translation_mean": 0.020974931263904338, "translation_radius_pct_mean": 0.5203240062852897}, "aligned": {"rotation_deg_mean": 0.19164539661178912, "rotation_deg_max": 0.515627252472872, "translation_mean": 0.012157852268086314, "translation_radius_pct_mean": 0.30159919574286237}, "sim3": {"scale": 0.9948433341762088, "rotation": [[0.9999992954128166, -5.652424860017485e-05, 0.0011857398025068772], [5.52616705487287e-05, 0.9999994315652057, 0.0010648076883265118], [-0.0011857993159456982, -0.0010647414121142883, 0.9999987301020478]], "translation": [-0.0012604186928120154, 0.0017991186143608145, 0.011862029559045695]}}} +{"step": 20000, "train_loss": 0.008055707439780235, "val_psnr": 21.375558853149414, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 0.7273573875427246, "translation_update_mean": 0.00474769389256835, "rotation_update_deg_mean": 0.11085332930088043, "pose_errors": {"raw": {"rotation_deg_mean": 0.1867886349467107, "rotation_deg_max": 0.5518139337295697, "translation_mean": 0.02071399323778058, "translation_radius_pct_mean": 0.5138509305246775}, "aligned": {"rotation_deg_mean": 0.18536399261958547, "rotation_deg_max": 0.5566046089303474, "translation_mean": 0.011570317390788723, "translation_radius_pct_mean": 0.28702424923450787}, "sim3": {"scale": 0.994775200860758, "rotation": [[0.9999993558877542, -5.698226393615499e-05, 0.001133568302726874], [5.570281554031615e-05, 0.9999993614771563, 0.0011286906024369004], [-0.0011336318942634215, -0.0011286267324874563, 0.9999987205393943]], "translation": [-0.0007851071545740829, 0.0014070756460266565, 0.012448638258213851]}}} +{"step": 21000, "train_loss": 0.007311657536774874, "val_psnr": 20.492055892944336, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.5847607254981995, "translation_update_mean": 0.004618445411324501, "rotation_update_deg_mean": 0.09797795861959457, "pose_errors": {"raw": {"rotation_deg_mean": 0.19071193995658536, "rotation_deg_max": 0.48972543099867666, "translation_mean": 0.02095968661068442, "translation_radius_pct_mean": 0.5199458329822161}, "aligned": {"rotation_deg_mean": 0.18867387023331228, "rotation_deg_max": 0.46493666265633865, "translation_mean": 0.010876918260987484, "translation_radius_pct_mean": 0.26982313383472584}, "sim3": {"scale": 0.9945397874808606, "rotation": [[0.9999994079966879, -7.122179135411887e-05, 0.0010857871477953874], [7.012473104288429e-05, 0.9999994871001128, 0.0010103870703760454], [-0.00108585855247226, -0.001010310331691857, 0.999998900091513]], "translation": [-0.000812991091218962, 0.0017990179227403008, 0.012770449777526949]}}} +{"step": 22000, "train_loss": 0.010798346251249313, "val_psnr": 20.971595764160156, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.4520082473754883, "translation_update_mean": 0.003952542785555124, "rotation_update_deg_mean": 0.10164070129394531, "pose_errors": {"raw": {"rotation_deg_mean": 0.1774205159261365, "rotation_deg_max": 0.45007878530849776, "translation_mean": 0.02113182111109626, "translation_radius_pct_mean": 0.5242159643951536}, "aligned": {"rotation_deg_mean": 0.17639191984268993, "rotation_deg_max": 0.43102346577306155, "translation_mean": 0.010440257482465399, "translation_radius_pct_mean": 0.25899091308465066}, "sim3": {"scale": 0.9943419866222722, "rotation": [[0.9999995315481439, -5.7077023318985105e-05, 0.0009662534383121272], [5.618760578828681e-05, 0.9999995747771779, 0.0009204827080084293], [-0.0009663055658520787, -0.0009204279853392515, 0.9999991095325425]], "translation": [-0.00035947873459923896, 0.0022075263317027916, 0.013304619730747813]}}} +{"step": 23000, "train_loss": 0.007295538671314716, "val_psnr": 21.49480628967285, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.6894042491912842, "translation_update_mean": 0.004088078625500202, "rotation_update_deg_mean": 0.08714866638183594, "pose_errors": {"raw": {"rotation_deg_mean": 0.16476472863072744, "rotation_deg_max": 0.41670647981589715, "translation_mean": 0.02162924799607874, "translation_radius_pct_mean": 0.5365556067220633}, "aligned": {"rotation_deg_mean": 0.16115077036942096, "rotation_deg_max": 0.39546301541326656, "translation_mean": 0.009603462654228734, "translation_radius_pct_mean": 0.2382325882067905}, "sim3": {"scale": 0.9940733619449649, "rotation": [[0.9999995222246525, -4.266581461516439e-05, 0.0009765910579572754], [4.194346341233021e-05, 0.9999997255611291, 0.0007396745312294778], [-0.000976622348759102, -0.0007396332162199768, 0.9999992495754648]], "translation": [-0.0003366459724900017, 0.002989135669891993, 0.013463640418112988]}}} +{"step": 24000, "train_loss": 0.006327057257294655, "val_psnr": 20.14002799987793, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.9047872424125671, "translation_update_mean": 0.0031974969897419214, "rotation_update_deg_mean": 0.07735256105661392, "pose_errors": {"raw": {"rotation_deg_mean": 0.16160176048122316, "rotation_deg_max": 0.41317574204673607, "translation_mean": 0.02199831456223348, "translation_radius_pct_mean": 0.5457110214345806}, "aligned": {"rotation_deg_mean": 0.16135643609181996, "rotation_deg_max": 0.3724053593947127, "translation_mean": 0.00902251783294417, "translation_radius_pct_mean": 0.22382112086807898}, "sim3": {"scale": 0.9939037877726536, "rotation": [[0.9999994702553238, -6.856864162655236e-05, 0.0010270284385996598], [6.769538088274755e-05, 0.9999996362123498, 0.000850289659193665], [-0.001027086368186438, -0.0008502196836758886, 0.9999991111096468]], "translation": [-0.0005984097122173626, 0.0027897627705964073, 0.013339132744519144]}}} +{"step": 25000, "train_loss": 0.007190053816884756, "val_psnr": 21.175508499145508, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.9089845418930054, "translation_update_mean": 0.0027199839241802692, "rotation_update_deg_mean": 0.07552027702331543, "pose_errors": {"raw": {"rotation_deg_mean": 0.14380363639425114, "rotation_deg_max": 0.35629137765038776, "translation_mean": 0.022140451583179628, "translation_radius_pct_mean": 0.5492370069670066}, "aligned": {"rotation_deg_mean": 0.14961970181403103, "rotation_deg_max": 0.373434336037964, "translation_mean": 0.009018374515364186, "translation_radius_pct_mean": 0.22371833780884487}, "sim3": {"scale": 0.993847022152243, "rotation": [[0.9999994049681512, -5.907446167334651e-05, 0.0010892995693476018], [5.8197924980758016e-05, 0.9999996745407718, 0.0008046933285395593], [-0.0010893467516502073, -0.0008046294547468163, 0.9999990829471271]], "translation": [-0.0008230781045579505, 0.0029862090304167144, 0.013511579416491504]}}} +{"step": 26000, "train_loss": 0.006533459760248661, "val_psnr": 20.057374954223633, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 0.7005869746208191, "translation_update_mean": 0.0026365783996880054, "rotation_update_deg_mean": 0.06340521574020386, "pose_errors": {"raw": {"rotation_deg_mean": 0.142196064617885, "rotation_deg_max": 0.4200289279405876, "translation_mean": 0.022058906806614473, "translation_radius_pct_mean": 0.547214130024042}, "aligned": {"rotation_deg_mean": 0.1405765906071606, "rotation_deg_max": 0.4100842539053403, "translation_mean": 0.008638011147900292, "translation_radius_pct_mean": 0.21428268394600894}, "sim3": {"scale": 0.9938055805240726, "rotation": [[0.9999994943668696, -5.556121562413036e-05, 0.0010040811501282243], [5.48524567129877e-05, 0.999999749353907, 0.0007058918692956313], [-0.0010041201186695287, -0.0007058364360555761, 0.9999992467685719]], "translation": [-0.0004944908738797604, 0.0032614214258535473, 0.013638810462087037]}}} +{"step": 27000, "train_loss": 0.007450633682310581, "val_psnr": 19.98265838623047, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 1.6030734777450562, "translation_update_mean": 0.0023950967006385326, "rotation_update_deg_mean": 0.06145583838224411, "pose_errors": {"raw": {"rotation_deg_mean": 0.14021590141422158, "rotation_deg_max": 0.40942498481832845, "translation_mean": 0.022195725192594332, "translation_radius_pct_mean": 0.5506081764612304}, "aligned": {"rotation_deg_mean": 0.1401493235944299, "rotation_deg_max": 0.3844008167484241, "translation_mean": 0.008312455874806862, "translation_radius_pct_mean": 0.206206651570409}, "sim3": {"scale": 0.9937217913223501, "rotation": [[0.9999995778816434, -6.094732030538948e-05, 0.0009167998463598531], [6.024277251556243e-05, 0.9999997028939038, 0.0007684939240498218], [-0.0009168464116182213, -0.000768438369089889, 0.9999992844473076]], "translation": [-0.00010272679827116882, 0.002949179610590047, 0.01377651783254441]}}} +{"step": 28000, "train_loss": 0.006123026832938194, "val_psnr": 20.545207977294922, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.7068164348602295, "translation_update_mean": 0.002554771490395069, "rotation_update_deg_mean": 0.05678493529558182, "pose_errors": {"raw": {"rotation_deg_mean": 0.13436222859533506, "rotation_deg_max": 0.374258689242471, "translation_mean": 0.021995384636254417, "translation_radius_pct_mean": 0.5456383389163705}, "aligned": {"rotation_deg_mean": 0.13201927076254866, "rotation_deg_max": 0.3513123214610463, "translation_mean": 0.008078091378489062, "translation_radius_pct_mean": 0.2003927839528799}, "sim3": {"scale": 0.9937804666020621, "rotation": [[0.999999508329089, -6.125719277005578e-05, 0.0009897419542414959], [6.058751649900745e-05, 0.999999769248539, 0.0006766328558978035], [-0.0009897831744864571, -0.0006765725572100455, 0.9999992812891633]], "translation": [-0.0005906772178972952, 0.0033047456793137697, 0.013532836085191402]}}} +{"step": 29000, "train_loss": 0.00806468166410923, "val_psnr": 19.741966247558594, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 1.1083964109420776, "translation_update_mean": 0.0023808013647794724, "rotation_update_deg_mean": 0.05393670126795769, "pose_errors": {"raw": {"rotation_deg_mean": 0.13599551899535114, "rotation_deg_max": 0.3499520154917262, "translation_mean": 0.022051830672991123, "translation_radius_pct_mean": 0.547038592752926}, "aligned": {"rotation_deg_mean": 0.13771640879152544, "rotation_deg_max": 0.35605407669052525, "translation_mean": 0.0075125515605143165, "translation_radius_pct_mean": 0.18636346771340928}, "sim3": {"scale": 0.9937328000981857, "rotation": [[0.9999995001756771, -4.513123078154571e-05, 0.0009988050697463861], [4.442390411919255e-05, 0.9999997482511253, 0.0007081837346204528], [-0.0009988367795017745, -0.0007081390098324197, 0.9999992504318331]], "translation": [-0.0005344932375017097, 0.003202289793425933, 0.013667647574923336]}}} +{"step": 29999, "train_loss": 0.004112694412469864, "val_psnr": 22.642366409301758, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.8827401399612427, "translation_update_mean": 0.001888749306090176, "rotation_update_deg_mean": 0.053313903510570526, "pose_errors": {"raw": {"rotation_deg_mean": 0.1298246364370556, "rotation_deg_max": 0.37362325933765733, "translation_mean": 0.022033162771382814, "translation_radius_pct_mean": 0.5465754991088246}, "aligned": {"rotation_deg_mean": 0.12668888443257034, "rotation_deg_max": 0.346902718193082, "translation_mean": 0.007331395491916736, "translation_radius_pct_mean": 0.18186953873745132}, "sim3": {"scale": 0.9937038804436067, "rotation": [[0.9999995440992036, -4.011837880784909e-05, 0.0009540397795795186], [3.949185676066543e-05, 0.9999997835834729, 0.0006567140940982529], [-0.0009540659194143585, -0.0006566761178994209, 0.9999993292671243]], "translation": [-0.00035529565688990905, 0.003321460688706951, 0.01379738084569837]}}} diff --git a/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T5.jsonl b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T5.jsonl new file mode 100644 index 0000000..916c568 --- /dev/null +++ b/artifacts/analysis/training_curves/diagnostics/naive_warmup_SV100-T5.jsonl @@ -0,0 +1,31 @@ +{"step": 0, "train_loss": 0.34214335680007935, "val_psnr": 7.343873977661133, "camera_lr": 1e-08, "pose_gradient_norm": 0.005503831431269646, "translation_update_mean": 1.730419896261992e-08, "rotation_update_deg_mean": 9.921451464833808e-07, "pose_errors": {"raw": {"rotation_deg_mean": 0.01722508262806549, "rotation_deg_max": 0.045239031718098566, "translation_mean": 0.15998590864018744, "translation_radius_pct_mean": 3.9687619418381495}, "aligned": {"rotation_deg_mean": 0.3912863264088829, "rotation_deg_max": 0.3935300539467643, "translation_mean": 0.15826124539783634, "translation_radius_pct_mean": 3.925978312349103}, "sim3": {"scale": 0.9981973631537943, "rotation": [[0.9999771974462306, -0.002584848569969889, 0.006238841675540006], [0.002578854428058595, 0.9999962056242424, 0.0009686314873385525], [-0.006241321768745355, -0.0009525203355861056, 0.999980069105175]], "translation": [-0.007160379934508521, 0.0032557284665161584, 0.005824075451248412]}}} +{"step": 1000, "train_loss": 0.04736360162496567, "val_psnr": 17.554563522338867, "camera_lr": 0.0005877893744399502, "pose_gradient_norm": 1.5947602987289429, "translation_update_mean": 0.02318141609430313, "rotation_update_deg_mean": 1.3331124782562256, "pose_errors": {"raw": {"rotation_deg_mean": 1.333285980010298, "rotation_deg_max": 2.8964401866416543, "translation_mean": 0.1483481483539436, "translation_radius_pct_mean": 3.6800646402766923}, "aligned": {"rotation_deg_mean": 1.3541517061756576, "rotation_deg_max": 3.0946460416209463, "translation_mean": 0.14680078037715263, "translation_radius_pct_mean": 3.641679165027627}, "sim3": {"scale": 0.9982474482595243, "rotation": [[0.999979849485836, -0.0022117070774199227, 0.0059505440162313196], [0.0022090729504865283, 0.9999974591020242, 0.0004492061834854526], [-0.00595152240900143, -0.00043605194592300146, 0.9999821944613397]], "translation": [-0.006586674699407269, 0.0038488568117358707, 0.006258537747154236]}}} +{"step": 2000, "train_loss": 0.030444100499153137, "val_psnr": 18.201034545898438, "camera_lr": 0.0009510570057299909, "pose_gradient_norm": 0.9892261028289795, "translation_update_mean": 0.024486294016242027, "rotation_update_deg_mean": 0.9838827252388, "pose_errors": {"raw": {"rotation_deg_mean": 1.5510244995507867, "rotation_deg_max": 3.078482860714675, "translation_mean": 0.13833788285956103, "translation_radius_pct_mean": 3.431740515611742}, "aligned": {"rotation_deg_mean": 1.5496959049511911, "rotation_deg_max": 3.36795205816249, "translation_mean": 0.1368006208749568, "translation_radius_pct_mean": 3.3936057391743173}, "sim3": {"scale": 0.9986484255188423, "rotation": [[0.9999823571978493, -0.002556059450329707, 0.005362075448954726], [0.0025540637880433767, 0.9999966665547203, 0.00037899553322603166], [-0.005363026309883969, -0.0003652937639499131, 0.9999855521502629]], "translation": [-0.005490247163297379, 0.0022391877718911934, 0.0057158747127110665]}}} +{"step": 3000, "train_loss": 0.030444514006376266, "val_psnr": 20.017780303955078, "camera_lr": 0.0009589990607459981, "pose_gradient_norm": 0.9574841260910034, "translation_update_mean": 0.027996215969324112, "rotation_update_deg_mean": 0.7573173642158508, "pose_errors": {"raw": {"rotation_deg_mean": 1.4609952343441464, "rotation_deg_max": 2.508748840914057, "translation_mean": 0.12497729169003598, "translation_radius_pct_mean": 3.100305039795403}, "aligned": {"rotation_deg_mean": 1.4550863110993066, "rotation_deg_max": 2.6021655572223144, "translation_mean": 0.12343388324105108, "translation_radius_pct_mean": 3.0620177883424082}, "sim3": {"scale": 0.998398090110977, "rotation": [[0.9999830921680304, -0.002588250369341562, 0.005207335027679986], [0.002584612584058819, 0.999996411231077, 0.0007051969626794323], [-0.0052091415660568486, -0.0006917260956857136, 0.9999861930842607]], "translation": [-0.005780522302159363, 0.002804016875076268, 0.006232772947083021]}}} +{"step": 4000, "train_loss": 0.02921958640217781, "val_psnr": 20.69164276123047, "camera_lr": 0.000881971487560358, "pose_gradient_norm": 1.050079107284546, "translation_update_mean": 0.024789290502667427, "rotation_update_deg_mean": 0.6266146898269653, "pose_errors": {"raw": {"rotation_deg_mean": 1.3595820609839921, "rotation_deg_max": 2.305683888939986, "translation_mean": 0.11379045979979718, "translation_radius_pct_mean": 2.8227938950134392}, "aligned": {"rotation_deg_mean": 1.3438419481251846, "rotation_deg_max": 2.566712239744438, "translation_mean": 0.11214679938181121, "translation_radius_pct_mean": 2.782019698287904}, "sim3": {"scale": 0.9985961516835554, "rotation": [[0.9999855566344958, -0.002301895877708501, 0.0048567270631293055], [0.002295952719663711, 0.999996609176422, 0.0012289169081769918], [-0.0048595394335896125, -0.001217748342771629, 0.9999874509039933]], "translation": [-0.004849381537299247, 0.001229605437374201, 0.005997291695206464]}}} +{"step": 5000, "train_loss": 0.021981630474328995, "val_psnr": 21.250429153442383, "camera_lr": 0.0008111308307896877, "pose_gradient_norm": 0.8482274413108826, "translation_update_mean": 0.02573881484568119, "rotation_update_deg_mean": 0.5015273094177246, "pose_errors": {"raw": {"rotation_deg_mean": 1.2583511551758417, "rotation_deg_max": 2.042305683234516, "translation_mean": 0.10102760125801317, "translation_radius_pct_mean": 2.5061863407592977}, "aligned": {"rotation_deg_mean": 1.2399416652683521, "rotation_deg_max": 2.333096891511815, "translation_mean": 0.09887006950528676, "translation_radius_pct_mean": 2.4526645651147576}, "sim3": {"scale": 0.9972434936578499, "rotation": [[0.9999812706475378, -0.0021664592209094447, 0.005724055256574685], [0.0021624114875278887, 0.999997407630203, 0.0007132386922276948], [-0.005725585620248282, -0.0007008475708867346, 0.999983363102601]], "translation": [-0.008023653925112673, 0.005033797538772838, 0.006064123685309397]}}} +{"step": 6000, "train_loss": 0.014672502875328064, "val_psnr": 21.794931411743164, "camera_lr": 0.0007459801523487941, "pose_gradient_norm": 0.744573175907135, "translation_update_mean": 0.023899687454104424, "rotation_update_deg_mean": 0.3782007098197937, "pose_errors": {"raw": {"rotation_deg_mean": 1.2020912577616027, "rotation_deg_max": 2.080663750033834, "translation_mean": 0.09139269596514599, "translation_radius_pct_mean": 2.2671737566851213}, "aligned": {"rotation_deg_mean": 1.1788383018398034, "rotation_deg_max": 2.2193548875749958, "translation_mean": 0.08878502019344504, "translation_radius_pct_mean": 2.20248528226044}, "sim3": {"scale": 0.9962099279197615, "rotation": [[0.9999876509095974, -0.0019317332276538835, 0.004578911993400268], [0.0019308901497665657, 0.9999981180570374, 0.00018853544557825253], [-0.004579267576334044, -0.00017969174127223123, 0.9999894989545368]], "translation": [-0.002619849056595347, 0.007584226822446763, 0.005605706197238991]}}} +{"step": 7000, "train_loss": 0.02103915810585022, "val_psnr": 20.37264060974121, "camera_lr": 0.0006860624286177785, "pose_gradient_norm": 0.9350391030311584, "translation_update_mean": 0.019156532362103462, "rotation_update_deg_mean": 0.3777903616428375, "pose_errors": {"raw": {"rotation_deg_mean": 1.0941474683422872, "rotation_deg_max": 1.9764138157602988, "translation_mean": 0.08123915465753237, "translation_radius_pct_mean": 2.0152953965279936}, "aligned": {"rotation_deg_mean": 1.074489026187691, "rotation_deg_max": 1.9620227968991957, "translation_mean": 0.0788687617123725, "translation_radius_pct_mean": 1.9564931845837537}, "sim3": {"scale": 0.9968300675160234, "rotation": [[0.9999880634202157, -0.0018738661746216729, 0.0045123876879261116], [0.001872756709249942, 0.9999982151186074, 0.0002500837982962643], [-0.004512848257419644, -0.0002416302088337062, 0.9999897878555797]], "translation": [-0.002792586532609165, 0.00763817764470065, 0.005254947606172511]}}} +{"step": 8000, "train_loss": 0.015328953042626381, "val_psnr": 21.275421142578125, "camera_lr": 0.0006309573444801935, "pose_gradient_norm": 1.0673856735229492, "translation_update_mean": 0.016638679429888725, "rotation_update_deg_mean": 0.32192462682724, "pose_errors": {"raw": {"rotation_deg_mean": 1.0169840233160283, "rotation_deg_max": 1.6906857676304252, "translation_mean": 0.0737544730897986, "translation_radius_pct_mean": 1.8296232982458478}, "aligned": {"rotation_deg_mean": 0.9904855507854567, "rotation_deg_max": 1.7849021227648763, "translation_mean": 0.07125223339101613, "translation_radius_pct_mean": 1.7675503708843574}, "sim3": {"scale": 0.9973934792149124, "rotation": [[0.9999869551485644, -0.0017829030382296024, 0.00478652164517173], [0.0017832062528600578, 0.9999984083412022, -5.908063596758565e-05], [-0.0047864086916170525, 6.761522059657318e-05, 0.9999885427943754]], "translation": [-0.004507339770656316, 0.00901867959623498, 0.004774107718480636]}}} +{"step": 9000, "train_loss": 0.017498519271612167, "val_psnr": 22.230323791503906, "camera_lr": 0.0005802783448666186, "pose_gradient_norm": 0.8652488589286804, "translation_update_mean": 0.015790197998285294, "rotation_update_deg_mean": 0.29713690280914307, "pose_errors": {"raw": {"rotation_deg_mean": 0.9326024144229619, "rotation_deg_max": 1.7828229411553742, "translation_mean": 0.06699704142187705, "translation_radius_pct_mean": 1.661992049617978}, "aligned": {"rotation_deg_mean": 0.9130809306450444, "rotation_deg_max": 1.7111245297593165, "translation_mean": 0.06438276708439249, "translation_radius_pct_mean": 1.5971398849222265}, "sim3": {"scale": 0.9978981854299929, "rotation": [[0.9999870266942507, -0.0017962004059120774, 0.0047665613698569045], [0.00179482725689731, 0.9999983465643997, 0.0002923415535680212], [-0.004767078592671807, -0.0002837826066634078, 0.9999885971495487]], "translation": [-0.004271726212926041, 0.009011423020191658, 0.003978778234250857]}}} +{"step": 10000, "train_loss": 0.015453841537237167, "val_psnr": 22.415189743041992, "camera_lr": 0.000533669923120631, "pose_gradient_norm": 1.0781135559082031, "translation_update_mean": 0.014114152640104294, "rotation_update_deg_mean": 0.28807133436203003, "pose_errors": {"raw": {"rotation_deg_mean": 0.8425655520564709, "rotation_deg_max": 1.7402744623237643, "translation_mean": 0.061103180461018855, "translation_radius_pct_mean": 1.5157833536724659}, "aligned": {"rotation_deg_mean": 0.8164847167057111, "rotation_deg_max": 1.6289513063362655, "translation_mean": 0.05821591006537201, "translation_radius_pct_mean": 1.4441589902554945}, "sim3": {"scale": 0.9977187712727428, "rotation": [[0.9999901187571302, -0.0015519048587662005, 0.004165810774608907], [0.001551022829818902, 0.9999987740609988, 0.00021495273995873588], [-0.004166139253780476, -0.00020848934834237802, 0.999991299870108]], "translation": [-0.0012486523846231834, 0.00820434893011393, 0.0037267283418738195]}}} +{"step": 11000, "train_loss": 0.011868815869092941, "val_psnr": 22.53915023803711, "camera_lr": 0.0004908051271653856, "pose_gradient_norm": 0.925317645072937, "translation_update_mean": 0.012370599433779716, "rotation_update_deg_mean": 0.24471168220043182, "pose_errors": {"raw": {"rotation_deg_mean": 0.7896517017432098, "rotation_deg_max": 1.7257449907539824, "translation_mean": 0.05579517565442556, "translation_radius_pct_mean": 1.3841079602421613}, "aligned": {"rotation_deg_mean": 0.7634823616593084, "rotation_deg_max": 1.5276575815032838, "translation_mean": 0.0532994900968948, "translation_radius_pct_mean": 1.3221976211147368}, "sim3": {"scale": 0.9987426922137647, "rotation": [[0.9999916353855357, -0.001407257765995851, 0.0038404146315019474], [0.001407353002805695, 0.9999990094341503, -2.209626679727947e-05], [-0.0038403797321754137, 2.7500901034044188e-05, 0.9999926253364144]], "translation": [0.0006006438907698586, 0.008443892941111822, 0.0032653401429083573]}}} +{"step": 12000, "train_loss": 0.00993221253156662, "val_psnr": 22.831756591796875, "camera_lr": 0.0004513832659768981, "pose_gradient_norm": 0.8532165288925171, "translation_update_mean": 0.010869891382753849, "rotation_update_deg_mean": 0.21323458850383759, "pose_errors": {"raw": {"rotation_deg_mean": 0.7321562494739606, "rotation_deg_max": 1.5948157442836224, "translation_mean": 0.0509829763733053, "translation_radius_pct_mean": 1.2647319881594954}, "aligned": {"rotation_deg_mean": 0.7077626009712122, "rotation_deg_max": 1.436816978203497, "translation_mean": 0.04848009756889226, "translation_radius_pct_mean": 1.202643206538558}, "sim3": {"scale": 0.9986546405403669, "rotation": [[0.999991956934778, -0.0013668766485523851, 0.0037706384050008464], [0.0013663509890546465, 0.9999990564627237, 0.00014198111601607328], [-0.003770828917935059, -0.0001368279585385857, 0.9999928810383518]], "translation": [0.0006162320340591942, 0.0076659157314304255, 0.0033814517917205578]}}} +{"step": 13000, "train_loss": 0.013888288289308548, "val_psnr": 22.285205841064453, "camera_lr": 0.00041512780027522933, "pose_gradient_norm": 1.1906232833862305, "translation_update_mean": 0.01112956739962101, "rotation_update_deg_mean": 0.18034717440605164, "pose_errors": {"raw": {"rotation_deg_mean": 0.670158033678532, "rotation_deg_max": 1.4774831080054114, "translation_mean": 0.04626456874889349, "translation_radius_pct_mean": 1.1476827007253103}, "aligned": {"rotation_deg_mean": 0.6477426227503962, "rotation_deg_max": 1.462692229284342, "translation_mean": 0.04338887355243151, "translation_radius_pct_mean": 1.0763454826599799}, "sim3": {"scale": 0.998916990264124, "rotation": [[0.9999906308268159, -0.0012818338915427101, 0.004134629422554727], [0.0012808183906943597, 0.9999991489384288, 0.0002482471904920896], [-0.004134944115392688, -0.00024294915521800084, 0.9999914215696406]], "translation": [-0.0009227671392128545, 0.00800206136772473, 0.002168332102259196]}}} +{"step": 14000, "train_loss": 0.012185906060039997, "val_psnr": 22.281490325927734, "camera_lr": 0.0003817844026370511, "pose_gradient_norm": 1.0404860973358154, "translation_update_mean": 0.009306109510362148, "rotation_update_deg_mean": 0.18306861817836761, "pose_errors": {"raw": {"rotation_deg_mean": 0.6308685368897544, "rotation_deg_max": 1.358741339902881, "translation_mean": 0.04275174402600869, "translation_radius_pct_mean": 1.0605402443238015}, "aligned": {"rotation_deg_mean": 0.603543021773625, "rotation_deg_max": 1.4320033077668808, "translation_mean": 0.039655239191426626, "translation_radius_pct_mean": 0.9837254132886127}, "sim3": {"scale": 0.9984319710448527, "rotation": [[0.9999920701676731, -0.0011519230748369706, 0.003812174576496155], [0.0011504136591811928, 0.9999992590260706, 0.0003981152143239241], [-0.003812630349876169, -0.00039372647963310207, 0.9999926543876592]], "translation": [0.000568947613304005, 0.007311368715496633, 0.003112349024824379]}}} +{"step": 15000, "train_loss": 0.010537632741034031, "val_psnr": 22.674774169921875, "camera_lr": 0.0003511191734215136, "pose_gradient_norm": 0.9768521189689636, "translation_update_mean": 0.008125520311295986, "rotation_update_deg_mean": 0.17352910339832306, "pose_errors": {"raw": {"rotation_deg_mean": 0.5765748449537221, "rotation_deg_max": 1.3704145266153804, "translation_mean": 0.03994658421378557, "translation_radius_pct_mean": 0.990952793790496}, "aligned": {"rotation_deg_mean": 0.5425291259062203, "rotation_deg_max": 1.3070645406324177, "translation_mean": 0.03694790577607345, "translation_radius_pct_mean": 0.9165647369887667}, "sim3": {"scale": 0.9983649592077287, "rotation": [[0.9999916897499894, -0.0009833218845644955, 0.0039564515706784], [0.0009810092258871956, 0.9999993468620944, 0.0005864267064907408], [-0.003957025632783918, -0.000582540517645587, 0.9999920012653523]], "translation": [-0.00012489877266141924, 0.006326497314631363, 0.002880726322739058]}}} +{"step": 16000, "train_loss": 0.010936861857771873, "val_psnr": 23.645938873291016, "camera_lr": 0.0003229169999943902, "pose_gradient_norm": 1.1448194980621338, "translation_update_mean": 0.007653713226318359, "rotation_update_deg_mean": 0.148992121219635, "pose_errors": {"raw": {"rotation_deg_mean": 0.520023014693664, "rotation_deg_max": 1.1679322035290738, "translation_mean": 0.03719125376783124, "translation_radius_pct_mean": 0.9226014577007334}, "aligned": {"rotation_deg_mean": 0.49149805801165336, "rotation_deg_max": 1.2358604218183933, "translation_mean": 0.03409665292445535, "translation_radius_pct_mean": 0.8458338588743117}, "sim3": {"scale": 0.9984677448816079, "rotation": [[0.9999919857880664, -0.0010160439417252985, 0.00387246876668145], [0.0010135824750421222, 0.9999992830951491, 0.0006375419635028409], [-0.003873113761139486, -0.0006336117876293638, 0.999992298733294]], "translation": [0.0002874415913809991, 0.006662917991661799, 0.002396236939561369]}}} +{"step": 17000, "train_loss": 0.0077413516119122505, "val_psnr": 23.52433967590332, "camera_lr": 0.0002969800477406453, "pose_gradient_norm": 0.8194848895072937, "translation_update_mean": 0.006851669400930405, "rotation_update_deg_mean": 0.1385945826768875, "pose_errors": {"raw": {"rotation_deg_mean": 0.49681490672140577, "rotation_deg_max": 1.242434340714064, "translation_mean": 0.03557451884447378, "translation_radius_pct_mean": 0.8824952002909485}, "aligned": {"rotation_deg_mean": 0.46679468334828217, "rotation_deg_max": 1.1548057377663858, "translation_mean": 0.03234932046798769, "translation_radius_pct_mean": 0.8024878753942051}, "sim3": {"scale": 0.9979540767466131, "rotation": [[0.9999926979989815, -0.000890390084775452, 0.0037163361277694784], [0.0008879479541332103, 0.9999993888099779, 0.0006587321913956973], [-0.003716920384993469, -0.0006554274682710042, 0.9999928774334758]], "translation": [0.0006922098424866907, 0.005926144706453626, 0.0032710645043598774]}}} +{"step": 18000, "train_loss": 0.008014297112822533, "val_psnr": 24.065553665161133, "camera_lr": 0.0002731263722800848, "pose_gradient_norm": 1.0450325012207031, "translation_update_mean": 0.006060319021344185, "rotation_update_deg_mean": 0.13598626852035522, "pose_errors": {"raw": {"rotation_deg_mean": 0.4694368730654881, "rotation_deg_max": 1.1652911999910294, "translation_mean": 0.03366187516876407, "translation_radius_pct_mean": 0.835048350171629}, "aligned": {"rotation_deg_mean": 0.43842845088793697, "rotation_deg_max": 1.0926400711380857, "translation_mean": 0.030037558457240578, "translation_radius_pct_mean": 0.745140117927172}, "sim3": {"scale": 0.9978830356093457, "rotation": [[0.9999928060721711, -0.0008354910020557388, 0.003699967390459877], [0.0008324999892287125, 0.999999325538839, 0.0008098553174409379], [-0.0037006415218061935, -0.0008067692685875236, 0.9999928271621119]], "translation": [0.0008346748856244424, 0.005321937522023645, 0.0028069236797798602]}}} +{"step": 19000, "train_loss": 0.00880021695047617, "val_psnr": 23.87610626220703, "camera_lr": 0.00025118864315095817, "pose_gradient_norm": 0.719484269618988, "translation_update_mean": 0.006157140713185072, "rotation_update_deg_mean": 0.12718182802200317, "pose_errors": {"raw": {"rotation_deg_mean": 0.442840047931388, "rotation_deg_max": 1.1254758992428007, "translation_mean": 0.03189718996544363, "translation_radius_pct_mean": 0.7912718980216186}, "aligned": {"rotation_deg_mean": 0.41029999419011737, "rotation_deg_max": 1.0794065986122692, "translation_mean": 0.02797772126121143, "translation_radius_pct_mean": 0.6940418459639276}, "sim3": {"scale": 0.9978122981335045, "rotation": [[0.9999926345118413, -0.0008300456320844956, 0.0037472585067580204], [0.0008264117017390694, 0.9999991869055282, 0.000971201308547271], [-0.0037480616012868693, -0.0009680973768960702, 0.9999925073827812]], "translation": [0.00046574150236555756, 0.004465774885033941, 0.0033010048824655414]}}} +{"step": 20000, "train_loss": 0.009830968454480171, "val_psnr": 23.930286407470703, "camera_lr": 0.00023101297000831608, "pose_gradient_norm": 1.0204792022705078, "translation_update_mean": 0.005182822700589895, "rotation_update_deg_mean": 0.11429865658283234, "pose_errors": {"raw": {"rotation_deg_mean": 0.4244570605200326, "rotation_deg_max": 1.1265467653910162, "translation_mean": 0.03042254869203834, "translation_radius_pct_mean": 0.7546905502423147}, "aligned": {"rotation_deg_mean": 0.385392007155442, "rotation_deg_max": 1.059668079510171, "translation_mean": 0.025891723180749848, "translation_radius_pct_mean": 0.642294602329473}, "sim3": {"scale": 0.9978289567763153, "rotation": [[0.9999924681589416, -0.0008444180096020301, 0.003788216415915841], [0.0008415914613885698, 0.9999993663533103, 0.0007476742543401871], [-0.0037888453651308157, -0.0007444804923870996, 0.9999925451720116]], "translation": [0.00024076494422614614, 0.005871890486843431, 0.0030687495288233]}}} +{"step": 21000, "train_loss": 0.008398011326789856, "val_psnr": 21.8424072265625, "camera_lr": 0.00021245782310305687, "pose_gradient_norm": 0.8109309673309326, "translation_update_mean": 0.004749334417283535, "rotation_update_deg_mean": 0.1084267795085907, "pose_errors": {"raw": {"rotation_deg_mean": 0.40930859818644116, "rotation_deg_max": 1.0635338196510478, "translation_mean": 0.0293356061532309, "translation_radius_pct_mean": 0.7277268243888972}, "aligned": {"rotation_deg_mean": 0.3651585371650449, "rotation_deg_max": 1.0282587272282249, "translation_mean": 0.02454126835551457, "translation_radius_pct_mean": 0.6087939411767498}, "sim3": {"scale": 0.9975528922138137, "rotation": [[0.9999928292239499, -0.0008391073934716675, 0.003692884978127215], [0.0008361761946132395, 0.9999993342212953, 0.0007952146487261615], [-0.0036935497899740484, -0.0007921210439119828, 0.9999928650916454]], "translation": [0.0005826107021750793, 0.005533532599619612, 0.003846983962817241]}}} +{"step": 22000, "train_loss": 0.012060634791851044, "val_psnr": 23.057064056396484, "camera_lr": 0.0001953930404689611, "pose_gradient_norm": 1.5544791221618652, "translation_update_mean": 0.004686762113124132, "rotation_update_deg_mean": 0.10179567337036133, "pose_errors": {"raw": {"rotation_deg_mean": 0.3854316723627994, "rotation_deg_max": 1.0476307446116122, "translation_mean": 0.028436517555684472, "translation_radius_pct_mean": 0.7054231812830032}, "aligned": {"rotation_deg_mean": 0.3389934305208455, "rotation_deg_max": 1.0103154165047152, "translation_mean": 0.02326407387184421, "translation_radius_pct_mean": 0.5771106454277686}, "sim3": {"scale": 0.9974648621006776, "rotation": [[0.9999936428713144, -0.0007797941579780465, 0.0034793875940833194], [0.0007773190341745647, 0.9999994439429429, 0.0007126632613364604], [-0.003479941389993089, -0.0007099541366402437, 0.9999936929666339]], "translation": [0.0013946181444702277, 0.006047334929385598, 0.003767203666435126]}}} +{"step": 23000, "train_loss": 0.00813184306025505, "val_psnr": 24.010250091552734, "camera_lr": 0.00017969891485325947, "pose_gradient_norm": 0.9053231477737427, "translation_update_mean": 0.004322601016610861, "rotation_update_deg_mean": 0.08910929411649704, "pose_errors": {"raw": {"rotation_deg_mean": 0.36430087764087693, "rotation_deg_max": 1.0219933857926737, "translation_mean": 0.027741609401141887, "translation_radius_pct_mean": 0.6881846315865782}, "aligned": {"rotation_deg_mean": 0.31544662181640176, "rotation_deg_max": 0.9315892657801363, "translation_mean": 0.021835490820127212, "translation_radius_pct_mean": 0.5416718615086126}, "sim3": {"scale": 0.9972416929083611, "rotation": [[0.9999938430924702, -0.0008083563612175165, 0.003414723582725719], [0.0008064954392151161, 0.9999995255541162, 0.000546311862159743], [-0.0034151635772933404, -0.0005435545395724772, 0.9999940205852266]], "translation": [0.001689200453995121, 0.006769334498392551, 0.0042081211094586735]}}} +{"step": 24000, "train_loss": 0.007031285669654608, "val_psnr": 22.878273010253906, "camera_lr": 0.00016526535398566922, "pose_gradient_norm": 0.8614416122436523, "translation_update_mean": 0.003834276460111141, "rotation_update_deg_mean": 0.08414612710475922, "pose_errors": {"raw": {"rotation_deg_mean": 0.3535888826058835, "rotation_deg_max": 1.0516156298280581, "translation_mean": 0.027248599331760763, "translation_radius_pct_mean": 0.6759545569697984}, "aligned": {"rotation_deg_mean": 0.3110866864998706, "rotation_deg_max": 0.9162660770510149, "translation_mean": 0.020674570875261117, "translation_radius_pct_mean": 0.5128729820706266}, "sim3": {"scale": 0.9971015208326481, "rotation": [[0.9999939455819924, -0.0008013835143685691, 0.0033862344606494974], [0.0007990239383216375, 0.9999994371017512, 0.0006981095378363928], [-0.0033867920080188907, -0.0006953996287945667, 0.9999940230117635]], "translation": [0.002123676385005824, 0.006253208949086042, 0.004042315788265416]}}} +{"step": 25000, "train_loss": 0.007529171649366617, "val_psnr": 24.477035522460938, "camera_lr": 0.00015199110829529334, "pose_gradient_norm": 0.7750027179718018, "translation_update_mean": 0.003614914370700717, "rotation_update_deg_mean": 0.07886474579572678, "pose_errors": {"raw": {"rotation_deg_mean": 0.33353772479593824, "rotation_deg_max": 0.945403326206973, "translation_mean": 0.026330671662351764, "translation_radius_pct_mean": 0.6531835740083933}, "aligned": {"rotation_deg_mean": 0.2910849966642507, "rotation_deg_max": 0.8982426834691465, "translation_mean": 0.01970858848943215, "translation_radius_pct_mean": 0.48890990831026043}, "sim3": {"scale": 0.9971812814865054, "rotation": [[0.9999937069649268, -0.0007320482708408094, 0.0034713305623371446], [0.0007295223000881789, 0.9999994682677501, 0.0007288768277688207], [-0.003471862289540129, -0.0007263398278651737, 0.9999937092815615]], "translation": [0.0016453747781510764, 0.005979792883218149, 0.0037257827250498643]}}} +{"step": 26000, "train_loss": 0.008512821048498154, "val_psnr": 21.998844146728516, "camera_lr": 0.0001397830606579215, "pose_gradient_norm": 1.4588829278945923, "translation_update_mean": 0.003305066842585802, "rotation_update_deg_mean": 0.06561575084924698, "pose_errors": {"raw": {"rotation_deg_mean": 0.32788373355782474, "rotation_deg_max": 0.9783787868518867, "translation_mean": 0.026084252248944076, "translation_radius_pct_mean": 0.647070660702622}, "aligned": {"rotation_deg_mean": 0.2795266008283943, "rotation_deg_max": 0.8844194539044615, "translation_mean": 0.01876364220506448, "translation_radius_pct_mean": 0.46546867600201863}, "sim3": {"scale": 0.9968902332209859, "rotation": [[0.9999936750886819, -0.0007568308677090122, 0.0034751963496647467], [0.0007545743901547331, 0.9999995036849538, 0.0006505746198777047], [-0.003475686999826645, -0.0006479482108846652, 0.9999937498619658]], "translation": [0.0014517781064483648, 0.006500606028179881, 0.004190176682203006]}}} +{"step": 27000, "train_loss": 0.00778617337346077, "val_psnr": 22.7933292388916, "camera_lr": 0.0001285555731913904, "pose_gradient_norm": 0.9265533685684204, "translation_update_mean": 0.0027046706527471542, "rotation_update_deg_mean": 0.0691227912902832, "pose_errors": {"raw": {"rotation_deg_mean": 0.3171080403211361, "rotation_deg_max": 1.0470617288184305, "translation_mean": 0.025764528321359594, "translation_radius_pct_mean": 0.639139286205471}, "aligned": {"rotation_deg_mean": 0.26475333968675197, "rotation_deg_max": 0.8974604448689916, "translation_mean": 0.018075894896783223, "translation_radius_pct_mean": 0.4484077650386224}, "sim3": {"scale": 0.9968081426148794, "rotation": [[0.9999935146372413, -0.0007437456496563239, 0.0035238509993151526], [0.0007415054165467439, 0.9999995222014023, 0.0006369981821714922], [-0.003524323080250933, -0.0006343810964041143, 0.9999935883331701]], "translation": [0.001154661079415531, 0.006717871879737047, 0.004160954471956302]}}} +{"step": 28000, "train_loss": 0.0062248725444078445, "val_psnr": 23.50559425354004, "camera_lr": 0.00011822988651687066, "pose_gradient_norm": 0.684431791305542, "translation_update_mean": 0.0023756425362080336, "rotation_update_deg_mean": 0.06091715767979622, "pose_errors": {"raw": {"rotation_deg_mean": 0.3070649733954091, "rotation_deg_max": 0.9931680296026574, "translation_mean": 0.025205487022735486, "translation_radius_pct_mean": 0.6252711783905193}, "aligned": {"rotation_deg_mean": 0.24984067999848114, "rotation_deg_max": 0.8428046711330851, "translation_mean": 0.017310104141940272, "translation_radius_pct_mean": 0.4294108344397686}, "sim3": {"scale": 0.9968085801527106, "rotation": [[0.9999935812144829, -0.0007284632341283509, 0.0035081150421315006], [0.0007261219896210003, 0.999999512855613, 0.0006686070536251788], [-0.0035086003888295035, -0.0006660554425056489, 0.9999936230263957]], "translation": [0.0011402362529111532, 0.006433086565830207, 0.004052843564424258]}}} +{"step": 29000, "train_loss": 0.00848234910517931, "val_psnr": 21.654088973999023, "camera_lr": 0.00010873356727196573, "pose_gradient_norm": 0.7309893369674683, "translation_update_mean": 0.0027127452194690704, "rotation_update_deg_mean": 0.05981752276420593, "pose_errors": {"raw": {"rotation_deg_mean": 0.30028299007810344, "rotation_deg_max": 0.9457410368317248, "translation_mean": 0.025103624037506846, "translation_radius_pct_mean": 0.6227442687239519}, "aligned": {"rotation_deg_mean": 0.24769203594008513, "rotation_deg_max": 0.803593799792933, "translation_mean": 0.01660027096204291, "translation_radius_pct_mean": 0.4118020404317509}, "sim3": {"scale": 0.9966382624203256, "rotation": [[0.9999935568205348, -0.0006883783144120847, 0.003523131095021339], [0.0006857823072599765, 0.999999492527993, 0.0007380016148472286], [-0.00352363733143856, -0.0007355807587992156, 0.9999935214294661]], "translation": [0.0009919726108916227, 0.006156669302205223, 0.00437269176461319]}}} +{"step": 29999, "train_loss": 0.006099433172494173, "val_psnr": 23.946359634399414, "camera_lr": 0.00010000837338725044, "pose_gradient_norm": 0.9699016213417053, "translation_update_mean": 0.0021202194038778543, "rotation_update_deg_mean": 0.05896972864866257, "pose_errors": {"raw": {"rotation_deg_mean": 0.2949471296221005, "rotation_deg_max": 0.9349721386989981, "translation_mean": 0.024897226351429092, "translation_radius_pct_mean": 0.617624172283264}, "aligned": {"rotation_deg_mean": 0.2381975592513076, "rotation_deg_max": 0.8051016652322094, "translation_mean": 0.01586969055076734, "translation_radius_pct_mean": 0.39367857095642356}, "sim3": {"scale": 0.9965407275944996, "rotation": [[0.9999936013229855, -0.0006709872802189589, 0.0035138425058276264], [0.0006687002747645223, 0.9999995638741286, 0.0006519904100971066], [-0.003514278450621949, -0.0006496365307720021, 0.9999936138892828]], "translation": [0.0009354303678004716, 0.006602449525037038, 0.004413861713999712]}}} diff --git a/artifacts/analysis/training_curves/tb_scalars.csv b/artifacts/analysis/training_curves/tb_scalars.csv new file mode 100644 index 0000000..967ecd4 --- /dev/null +++ b/artifacts/analysis/training_curves/tb_scalars.csv @@ -0,0 +1,14977 @@ +condition,method,tag,step,value +SV100-GT,fixed,Train Loss,0,0.34264111518859863 +SV100-GT,fixed,Train Loss,50,0.31661784648895264 +SV100-GT,fixed,Train Loss,100,0.17793729901313782 +SV100-GT,fixed,Train Loss,150,0.1764608919620514 +SV100-GT,fixed,Train Loss,200,0.17618636786937714 +SV100-GT,fixed,Train Loss,250,0.16466310620307922 +SV100-GT,fixed,Train Loss,300,0.13450965285301208 +SV100-GT,fixed,Train Loss,350,0.08895057439804077 +SV100-GT,fixed,Train Loss,400,0.05775849521160126 +SV100-GT,fixed,Train Loss,450,0.051418110728263855 +SV100-GT,fixed,Train Loss,500,0.038799136877059937 +SV100-GT,fixed,Train Loss,550,0.04384318366646767 +SV100-GT,fixed,Train Loss,600,0.03882249817252159 +SV100-GT,fixed,Train Loss,650,0.03136245906352997 +SV100-GT,fixed,Train Loss,700,0.03316023573279381 +SV100-GT,fixed,Train Loss,750,0.03398362547159195 +SV100-GT,fixed,Train Loss,800,0.03144974261522293 +SV100-GT,fixed,Train Loss,850,0.026779156178236008 +SV100-GT,fixed,Train Loss,900,0.026356814429163933 +SV100-GT,fixed,Train Loss,950,0.03240393102169037 +SV100-GT,fixed,Train Loss,1000,0.026368634775280952 +SV100-GT,fixed,Train Loss,1050,0.020922135561704636 +SV100-GT,fixed,Train Loss,1100,0.023229312151670456 +SV100-GT,fixed,Train Loss,1150,0.023860633373260498 +SV100-GT,fixed,Train Loss,1200,0.02873239666223526 +SV100-GT,fixed,Train Loss,1250,0.026067588478326797 +SV100-GT,fixed,Train Loss,1300,0.022285254672169685 +SV100-GT,fixed,Train Loss,1350,0.02378542721271515 +SV100-GT,fixed,Train Loss,1400,0.02592296525835991 +SV100-GT,fixed,Train Loss,1450,0.02581944316625595 +SV100-GT,fixed,Train Loss,1500,0.022344311699271202 +SV100-GT,fixed,Train Loss,1550,0.02023204043507576 +SV100-GT,fixed,Train Loss,1600,0.019363362342119217 +SV100-GT,fixed,Train Loss,1650,0.02197764813899994 +SV100-GT,fixed,Train Loss,1700,0.019878678023815155 +SV100-GT,fixed,Train Loss,1750,0.02132648415863514 +SV100-GT,fixed,Train Loss,1800,0.02077106386423111 +SV100-GT,fixed,Train Loss,1850,0.01863439939916134 +SV100-GT,fixed,Train Loss,1900,0.020651711151003838 +SV100-GT,fixed,Train Loss,1950,0.023039689287543297 +SV100-GT,fixed,Train Loss,2000,0.021224433556199074 +SV100-GT,fixed,Train Loss,2050,0.01705636829137802 +SV100-GT,fixed,Train Loss,2100,0.018544264137744904 +SV100-GT,fixed,Train Loss,2150,0.018304219469428062 +SV100-GT,fixed,Train Loss,2200,0.023586057126522064 +SV100-GT,fixed,Train Loss,2250,0.01769367605447769 +SV100-GT,fixed,Train Loss,2300,0.01899614930152893 +SV100-GT,fixed,Train Loss,2350,0.020920852199196815 +SV100-GT,fixed,Train Loss,2400,0.016709137707948685 +SV100-GT,fixed,Train Loss,2450,0.017797499895095825 +SV100-GT,fixed,Train Loss,2500,0.01518290676176548 +SV100-GT,fixed,Train Loss,2550,0.020014019683003426 +SV100-GT,fixed,Train Loss,2600,0.017136435955762863 +SV100-GT,fixed,Train Loss,2650,0.01796027459204197 +SV100-GT,fixed,Train Loss,2700,0.014268008060753345 +SV100-GT,fixed,Train Loss,2750,0.01289749052375555 +SV100-GT,fixed,Train Loss,2800,0.018440507352352142 +SV100-GT,fixed,Train Loss,2850,0.015337631106376648 +SV100-GT,fixed,Train Loss,2900,0.015823325142264366 +SV100-GT,fixed,Train Loss,2950,0.013400658033788204 +SV100-GT,fixed,Train Loss,3000,0.011046190746128559 +SV100-GT,fixed,Train Loss,3050,0.015100792981684208 +SV100-GT,fixed,Train Loss,3100,0.011631574481725693 +SV100-GT,fixed,Train Loss,3150,0.013616567477583885 +SV100-GT,fixed,Train Loss,3200,0.01090235635638237 +SV100-GT,fixed,Train Loss,3250,0.01605547033250332 +SV100-GT,fixed,Train Loss,3300,0.013367822393774986 +SV100-GT,fixed,Train Loss,3350,0.015752971172332764 +SV100-GT,fixed,Train Loss,3400,0.014665982685983181 +SV100-GT,fixed,Train Loss,3450,0.014853401109576225 +SV100-GT,fixed,Train Loss,3500,0.010964831337332726 +SV100-GT,fixed,Train Loss,3550,0.012282813899219036 +SV100-GT,fixed,Train Loss,3600,0.01154538244009018 +SV100-GT,fixed,Train Loss,3650,0.016457347199320793 +SV100-GT,fixed,Train Loss,3700,0.011634557507932186 +SV100-GT,fixed,Train Loss,3750,0.010865503922104836 +SV100-GT,fixed,Train Loss,3800,0.014309471473097801 +SV100-GT,fixed,Train Loss,3850,0.012741184793412685 +SV100-GT,fixed,Train Loss,3900,0.012221300974488258 +SV100-GT,fixed,Train Loss,3950,0.011559650301933289 +SV100-GT,fixed,Train Loss,4000,0.012219210155308247 +SV100-GT,fixed,Train Loss,4050,0.010755201801657677 +SV100-GT,fixed,Train Loss,4100,0.012226647697389126 +SV100-GT,fixed,Train Loss,4150,0.012247562408447266 +SV100-GT,fixed,Train Loss,4200,0.012519526295363903 +SV100-GT,fixed,Train Loss,4250,0.012970402836799622 +SV100-GT,fixed,Train Loss,4300,0.01364552415907383 +SV100-GT,fixed,Train Loss,4350,0.011800366453826427 +SV100-GT,fixed,Train Loss,4400,0.012037167325615883 +SV100-GT,fixed,Train Loss,4450,0.011192575097084045 +SV100-GT,fixed,Train Loss,4500,0.013182400725781918 +SV100-GT,fixed,Train Loss,4550,0.012345920316874981 +SV100-GT,fixed,Train Loss,4600,0.01414966769516468 +SV100-GT,fixed,Train Loss,4650,0.012754320167005062 +SV100-GT,fixed,Train Loss,4700,0.010228447616100311 +SV100-GT,fixed,Train Loss,4750,0.009481161832809448 +SV100-GT,fixed,Train Loss,4800,0.01113877072930336 +SV100-GT,fixed,Train Loss,4850,0.014776140451431274 +SV100-GT,fixed,Train Loss,4900,0.009990213438868523 +SV100-GT,fixed,Train Loss,4950,0.010926276445388794 +SV100-GT,fixed,Train Loss,5000,0.010701725259423256 +SV100-GT,fixed,Train Loss,5500,0.009433921426534653 +SV100-GT,fixed,Train Loss,6000,0.00913156010210514 +SV100-GT,fixed,Train Loss,6500,0.010076679289340973 +SV100-GT,fixed,Train Loss,7000,0.009248817339539528 +SV100-GT,fixed,Train Loss,7500,0.010543925687670708 +SV100-GT,fixed,Train Loss,8000,0.008708866313099861 +SV100-GT,fixed,Train Loss,8500,0.007885059341788292 +SV100-GT,fixed,Train Loss,9000,0.012363800778985023 +SV100-GT,fixed,Train Loss,9500,0.009198016487061977 +SV100-GT,fixed,Train Loss,10000,0.010324136354029179 +SV100-GT,fixed,Train Loss,10500,0.008618791587650776 +SV100-GT,fixed,Train Loss,11000,0.00810193456709385 +SV100-GT,fixed,Train Loss,11500,0.007840493693947792 +SV100-GT,fixed,Train Loss,12000,0.005743737332522869 +SV100-GT,fixed,Train Loss,12500,0.007405382581055164 +SV100-GT,fixed,Train Loss,13000,0.006681415252387524 +SV100-GT,fixed,Train Loss,13500,0.008397914469242096 +SV100-GT,fixed,Train Loss,14000,0.006249507889151573 +SV100-GT,fixed,Train Loss,14500,0.00729004992172122 +SV100-GT,fixed,Train Loss,15000,0.006183045916259289 +SV100-GT,fixed,Train Loss,15500,0.007180079817771912 +SV100-GT,fixed,Train Loss,16000,0.008455113507807255 +SV100-GT,fixed,Train Loss,16500,0.005501550622284412 +SV100-GT,fixed,Train Loss,17000,0.006809473969042301 +SV100-GT,fixed,Train Loss,17500,0.00564219057559967 +SV100-GT,fixed,Train Loss,18000,0.007113024592399597 +SV100-GT,fixed,Train Loss,18500,0.007246710360050201 +SV100-GT,fixed,Train Loss,19000,0.005524993874132633 +SV100-GT,fixed,Train Loss,19500,0.007307820487767458 +SV100-GT,fixed,Train Loss,20000,0.006357904523611069 +SV100-GT,fixed,Train Loss,20500,0.005635444074869156 +SV100-GT,fixed,Train Loss,21000,0.006911781616508961 +SV100-GT,fixed,Train Loss,21500,0.005924148019403219 +SV100-GT,fixed,Train Loss,22000,0.005911220796406269 +SV100-GT,fixed,Train Loss,22500,0.005199235863983631 +SV100-GT,fixed,Train Loss,23000,0.00548858568072319 +SV100-GT,fixed,Train Loss,23500,0.006420578807592392 +SV100-GT,fixed,Train Loss,24000,0.0066296979784965515 +SV100-GT,fixed,Train Loss,24500,0.00656336173415184 +SV100-GT,fixed,Train Loss,25000,0.0059845102950930595 +SV100-GT,fixed,Train Loss,25500,0.00535796070471406 +SV100-GT,fixed,Train Loss,26000,0.006993790622800589 +SV100-GT,fixed,Train Loss,26500,0.005810413975268602 +SV100-GT,fixed,Train Loss,27000,0.0059486329555511475 +SV100-GT,fixed,Train Loss,27500,0.005142787471413612 +SV100-GT,fixed,Train Loss,28000,0.004912576638162136 +SV100-GT,fixed,Train Loss,28500,0.005221230909228325 +SV100-GT,fixed,Train Loss,29000,0.0049455491825938225 +SV100-GT,fixed,Train Loss,29500,0.005155303981155157 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,500,16.4814453125 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,1000,18.56146240234375 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,1500,18.326683044433594 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,2000,20.51081657409668 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,2500,20.23190689086914 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,3000,21.89107894897461 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,3500,22.77714729309082 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,4000,22.726987838745117 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,4500,23.687454223632812 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,5000,23.754446029663086 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,5500,23.880979537963867 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,6000,24.28025245666504 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,6500,23.84864044189453 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,7000,23.672351837158203 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,7500,25.092529296875 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,8000,24.88833236694336 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,8500,24.277978897094727 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,9000,24.707717895507812 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,9500,24.476194381713867 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,10000,25.706886291503906 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,10500,24.70181655883789 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,11000,27.018461227416992 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,11500,26.471149444580078 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,12000,26.18143653869629 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,12500,26.042356491088867 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,13000,25.245407104492188 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,13500,25.357921600341797 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,14000,26.585233688354492 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,14500,25.21904754638672 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,15000,26.26752471923828 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,15500,25.440582275390625 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,16000,26.21562957763672 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,16500,26.126953125 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,17000,26.121007919311523 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,17500,25.900402069091797 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,18000,26.718761444091797 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,18500,26.191566467285156 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,19000,26.24151039123535 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,19500,26.01732635498047 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,20000,27.42868995666504 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,20500,27.44515609741211 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,21000,27.4586124420166 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,21500,27.813386917114258 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,22000,27.419357299804688 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,22500,28.351699829101562 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,23000,26.990278244018555 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,23500,27.430917739868164 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,24000,28.739273071289062 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,24500,27.689302444458008 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,25000,27.41973114013672 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,25500,26.65897560119629 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,26000,27.010726928710938 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,26500,27.42209815979004 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,27000,27.536603927612305 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,27500,26.613962173461914 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,28000,27.977561950683594 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,28500,27.100248336791992 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,29000,27.051166534423828 +SV100-GT,fixed,Eval Images Metrics/fine_psnr,29500,25.67508316040039 +SV100-GT,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,27.361530303955078 +SV100-GT,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.8975796699523926 +SV100-GT,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.07505736500024796 +SV100-GT,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-GT,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-GT,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-GT,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-GT,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-GT,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-GT,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-GT,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-GT,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-GT,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-GT,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-GT,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-GT,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-GT,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-GT,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-GT,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-GT,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-GT,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-GT,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-GT,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-GT,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-GT,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-GT,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-GT,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-GT,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-GT,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-GT,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-GT,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-GT,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-GT,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-GT,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-GT,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-GT,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-GT,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-GT,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-GT,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-GT,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-GT,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-GT,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-GT,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-GT,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-GT,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-GT,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-GT,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-GT,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-GT,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-GT,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-GT,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-GT,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-GT,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-GT,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-GT,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-GT,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-GT,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-GT,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-GT,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-GT,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-GT,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-GT,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-GT,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-GT,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-GT,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-GT,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-GT,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-GT,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-GT,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-GT,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-GT,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-GT,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-GT,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-GT,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-GT,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-GT,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-GT,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-GT,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-GT,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-GT,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-GT,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-GT,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-GT,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-GT,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-GT,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-GT,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-GT,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-GT,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-GT,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-GT,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-GT,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-GT,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-GT,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-GT,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-GT,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-GT,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-GT,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-GT,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-GT,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-GT,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-GT,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-GT,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-GT,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-GT,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-GT,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-GT,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-GT,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-GT,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-GT,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-GT,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-GT,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-GT,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-GT,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-GT,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-GT,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-GT,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-GT,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-GT,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-GT,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-GT,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-GT,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-GT,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-GT,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-GT,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-GT,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-GT,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-GT,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-GT,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-GT,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-GT,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-GT,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-GT,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-GT,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-GT,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-GT,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-GT,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-GT,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-GT,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-GT,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-GT,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-GT,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-GT,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-GT,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-GT,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-GT,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-GT,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-GT,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-GT,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-GT,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-GT,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-GT,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-GT,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-GT,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-GT,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-GT,naive,Train Loss,0,0.3421427607536316 +SV100-GT,naive,Train Loss,50,0.3184300661087036 +SV100-GT,naive,Train Loss,100,0.18487152457237244 +SV100-GT,naive,Train Loss,150,0.1771397888660431 +SV100-GT,naive,Train Loss,200,0.16398930549621582 +SV100-GT,naive,Train Loss,250,0.15355993807315826 +SV100-GT,naive,Train Loss,300,0.14891262352466583 +SV100-GT,naive,Train Loss,350,0.1019136905670166 +SV100-GT,naive,Train Loss,400,0.08840154111385345 +SV100-GT,naive,Train Loss,450,0.0881623774766922 +SV100-GT,naive,Train Loss,500,0.07949450612068176 +SV100-GT,naive,Train Loss,550,0.07870253920555115 +SV100-GT,naive,Train Loss,600,0.07605896890163422 +SV100-GT,naive,Train Loss,650,0.07664690166711807 +SV100-GT,naive,Train Loss,700,0.06713677942752838 +SV100-GT,naive,Train Loss,750,0.06776538491249084 +SV100-GT,naive,Train Loss,800,0.0713314339518547 +SV100-GT,naive,Train Loss,850,0.061122506856918335 +SV100-GT,naive,Train Loss,900,0.04738209396600723 +SV100-GT,naive,Train Loss,950,0.05884086713194847 +SV100-GT,naive,Train Loss,1000,0.054769985377788544 +SV100-GT,naive,Train Loss,1050,0.048951659351587296 +SV100-GT,naive,Train Loss,1100,0.04958276078104973 +SV100-GT,naive,Train Loss,1150,0.05141497030854225 +SV100-GT,naive,Train Loss,1200,0.04392215609550476 +SV100-GT,naive,Train Loss,1250,0.043290648609399796 +SV100-GT,naive,Train Loss,1300,0.043571799993515015 +SV100-GT,naive,Train Loss,1350,0.048116475343704224 +SV100-GT,naive,Train Loss,1400,0.040920063853263855 +SV100-GT,naive,Train Loss,1450,0.03433043137192726 +SV100-GT,naive,Train Loss,1500,0.040069907903671265 +SV100-GT,naive,Train Loss,1550,0.037919655442237854 +SV100-GT,naive,Train Loss,1600,0.038600824773311615 +SV100-GT,naive,Train Loss,1650,0.03650668263435364 +SV100-GT,naive,Train Loss,1700,0.0374392531812191 +SV100-GT,naive,Train Loss,1750,0.03546881675720215 +SV100-GT,naive,Train Loss,1800,0.035426728427410126 +SV100-GT,naive,Train Loss,1850,0.02774808555841446 +SV100-GT,naive,Train Loss,1900,0.03365367278456688 +SV100-GT,naive,Train Loss,1950,0.03331775218248367 +SV100-GT,naive,Train Loss,2000,0.0320994108915329 +SV100-GT,naive,Train Loss,2050,0.029138896614313126 +SV100-GT,naive,Train Loss,2100,0.0338020920753479 +SV100-GT,naive,Train Loss,2150,0.03144339099526405 +SV100-GT,naive,Train Loss,2200,0.028518982231616974 +SV100-GT,naive,Train Loss,2250,0.027936825528740883 +SV100-GT,naive,Train Loss,2300,0.025114290416240692 +SV100-GT,naive,Train Loss,2350,0.03231566399335861 +SV100-GT,naive,Train Loss,2400,0.030892450362443924 +SV100-GT,naive,Train Loss,2450,0.02834044210612774 +SV100-GT,naive,Train Loss,2500,0.024478688836097717 +SV100-GT,naive,Train Loss,2550,0.030386406928300858 +SV100-GT,naive,Train Loss,2600,0.030072886496782303 +SV100-GT,naive,Train Loss,2650,0.026936747133731842 +SV100-GT,naive,Train Loss,2700,0.026783494278788567 +SV100-GT,naive,Train Loss,2750,0.026807289570569992 +SV100-GT,naive,Train Loss,2800,0.027578260749578476 +SV100-GT,naive,Train Loss,2850,0.02500419318675995 +SV100-GT,naive,Train Loss,2900,0.02526237443089485 +SV100-GT,naive,Train Loss,2950,0.02415996417403221 +SV100-GT,naive,Train Loss,3000,0.026027154177427292 +SV100-GT,naive,Train Loss,3050,0.02057141810655594 +SV100-GT,naive,Train Loss,3100,0.026428736746311188 +SV100-GT,naive,Train Loss,3150,0.024759242311120033 +SV100-GT,naive,Train Loss,3200,0.021812496706843376 +SV100-GT,naive,Train Loss,3250,0.02483523264527321 +SV100-GT,naive,Train Loss,3300,0.022239841520786285 +SV100-GT,naive,Train Loss,3350,0.02514725737273693 +SV100-GT,naive,Train Loss,3400,0.022643918171525 +SV100-GT,naive,Train Loss,3450,0.0233791321516037 +SV100-GT,naive,Train Loss,3500,0.01871565729379654 +SV100-GT,naive,Train Loss,3550,0.021234577521681786 +SV100-GT,naive,Train Loss,3600,0.022931132465600967 +SV100-GT,naive,Train Loss,3650,0.0252702496945858 +SV100-GT,naive,Train Loss,3700,0.020870350301265717 +SV100-GT,naive,Train Loss,3750,0.018355531617999077 +SV100-GT,naive,Train Loss,3800,0.023058591410517693 +SV100-GT,naive,Train Loss,3850,0.019762877374887466 +SV100-GT,naive,Train Loss,3900,0.02569424733519554 +SV100-GT,naive,Train Loss,3950,0.022177578881382942 +SV100-GT,naive,Train Loss,4000,0.02383323758840561 +SV100-GT,naive,Train Loss,4050,0.01754610612988472 +SV100-GT,naive,Train Loss,4100,0.016089998185634613 +SV100-GT,naive,Train Loss,4150,0.0191965252161026 +SV100-GT,naive,Train Loss,4200,0.02004743367433548 +SV100-GT,naive,Train Loss,4250,0.019811036065220833 +SV100-GT,naive,Train Loss,4300,0.01823572814464569 +SV100-GT,naive,Train Loss,4350,0.016466189175844193 +SV100-GT,naive,Train Loss,4400,0.018679946660995483 +SV100-GT,naive,Train Loss,4450,0.02263452112674713 +SV100-GT,naive,Train Loss,4500,0.01923973485827446 +SV100-GT,naive,Train Loss,4550,0.019229386001825333 +SV100-GT,naive,Train Loss,4600,0.02034253068268299 +SV100-GT,naive,Train Loss,4650,0.017697006464004517 +SV100-GT,naive,Train Loss,4700,0.021471509709954262 +SV100-GT,naive,Train Loss,4750,0.015714025124907494 +SV100-GT,naive,Train Loss,4800,0.01737552136182785 +SV100-GT,naive,Train Loss,4850,0.017841152846813202 +SV100-GT,naive,Train Loss,4900,0.0194878950715065 +SV100-GT,naive,Train Loss,4950,0.022285815328359604 +SV100-GT,naive,Train Loss,5000,0.016849184408783913 +SV100-GT,naive,Train Loss,5500,0.017203761264681816 +SV100-GT,naive,Train Loss,6000,0.012893447652459145 +SV100-GT,naive,Train Loss,6500,0.0170724056661129 +SV100-GT,naive,Train Loss,7000,0.016164110973477364 +SV100-GT,naive,Train Loss,7500,0.014307285659015179 +SV100-GT,naive,Train Loss,8000,0.013538604602217674 +SV100-GT,naive,Train Loss,8500,0.014031598344445229 +SV100-GT,naive,Train Loss,9000,0.016284555196762085 +SV100-GT,naive,Train Loss,9500,0.013365043327212334 +SV100-GT,naive,Train Loss,10000,0.013814064674079418 +SV100-GT,naive,Train Loss,10500,0.012987672351300716 +SV100-GT,naive,Train Loss,11000,0.011441418901085854 +SV100-GT,naive,Train Loss,11500,0.010673901066184044 +SV100-GT,naive,Train Loss,12000,0.008937548846006393 +SV100-GT,naive,Train Loss,12500,0.015660062432289124 +SV100-GT,naive,Train Loss,13000,0.012407554313540459 +SV100-GT,naive,Train Loss,13500,0.01117897592484951 +SV100-GT,naive,Train Loss,14000,0.010556532070040703 +SV100-GT,naive,Train Loss,14500,0.00909461360424757 +SV100-GT,naive,Train Loss,15000,0.00909249484539032 +SV100-GT,naive,Train Loss,15500,0.01084611564874649 +SV100-GT,naive,Train Loss,16000,0.010321134701371193 +SV100-GT,naive,Train Loss,16500,0.008039595559239388 +SV100-GT,naive,Train Loss,17000,0.007143116090446711 +SV100-GT,naive,Train Loss,17500,0.007776965852826834 +SV100-GT,naive,Train Loss,18000,0.007258260622620583 +SV100-GT,naive,Train Loss,18500,0.00991104356944561 +SV100-GT,naive,Train Loss,19000,0.008691290393471718 +SV100-GT,naive,Train Loss,19500,0.009186078794300556 +SV100-GT,naive,Train Loss,20000,0.006735585164278746 +SV100-GT,naive,Train Loss,20500,0.00988063309341669 +SV100-GT,naive,Train Loss,21000,0.008481906726956367 +SV100-GT,naive,Train Loss,21500,0.006540714297443628 +SV100-GT,naive,Train Loss,22000,0.00858265906572342 +SV100-GT,naive,Train Loss,22500,0.007677046582102776 +SV100-GT,naive,Train Loss,23000,0.006810781080275774 +SV100-GT,naive,Train Loss,23500,0.007686032447963953 +SV100-GT,naive,Train Loss,24000,0.0065401578322052956 +SV100-GT,naive,Train Loss,24500,0.006757429335266352 +SV100-GT,naive,Train Loss,25000,0.007123153656721115 +SV100-GT,naive,Train Loss,25500,0.007302065845578909 +SV100-GT,naive,Train Loss,26000,0.006582306697964668 +SV100-GT,naive,Train Loss,26500,0.005549175664782524 +SV100-GT,naive,Train Loss,27000,0.007233235985040665 +SV100-GT,naive,Train Loss,27500,0.005335838533937931 +SV100-GT,naive,Train Loss,28000,0.006531090009957552 +SV100-GT,naive,Train Loss,28500,0.006604457274079323 +SV100-GT,naive,Train Loss,29000,0.00771727180108428 +SV100-GT,naive,Train Loss,29500,0.006883139722049236 +SV100-GT,naive,Eval Images Metrics/fine_psnr,500,15.156970977783203 +SV100-GT,naive,Eval Images Metrics/fine_psnr,1000,16.425643920898438 +SV100-GT,naive,Eval Images Metrics/fine_psnr,1500,18.628305435180664 +SV100-GT,naive,Eval Images Metrics/fine_psnr,2000,18.035850524902344 +SV100-GT,naive,Eval Images Metrics/fine_psnr,2500,19.636547088623047 +SV100-GT,naive,Eval Images Metrics/fine_psnr,3000,17.68858528137207 +SV100-GT,naive,Eval Images Metrics/fine_psnr,3500,17.138635635375977 +SV100-GT,naive,Eval Images Metrics/fine_psnr,4000,19.040319442749023 +SV100-GT,naive,Eval Images Metrics/fine_psnr,4500,21.30137825012207 +SV100-GT,naive,Eval Images Metrics/fine_psnr,5000,18.612661361694336 +SV100-GT,naive,Eval Images Metrics/fine_psnr,5500,18.837726593017578 +SV100-GT,naive,Eval Images Metrics/fine_psnr,6000,18.177837371826172 +SV100-GT,naive,Eval Images Metrics/fine_psnr,6500,19.986177444458008 +SV100-GT,naive,Eval Images Metrics/fine_psnr,7000,18.700246810913086 +SV100-GT,naive,Eval Images Metrics/fine_psnr,7500,20.219432830810547 +SV100-GT,naive,Eval Images Metrics/fine_psnr,8000,19.05385971069336 +SV100-GT,naive,Eval Images Metrics/fine_psnr,8500,18.475114822387695 +SV100-GT,naive,Eval Images Metrics/fine_psnr,9000,22.412490844726562 +SV100-GT,naive,Eval Images Metrics/fine_psnr,9500,17.874391555786133 +SV100-GT,naive,Eval Images Metrics/fine_psnr,10000,17.90395736694336 +SV100-GT,naive,Eval Images Metrics/fine_psnr,10500,18.50916290283203 +SV100-GT,naive,Eval Images Metrics/fine_psnr,11000,17.41771125793457 +SV100-GT,naive,Eval Images Metrics/fine_psnr,11500,18.047473907470703 +SV100-GT,naive,Eval Images Metrics/fine_psnr,12000,17.316604614257812 +SV100-GT,naive,Eval Images Metrics/fine_psnr,12500,17.28453826904297 +SV100-GT,naive,Eval Images Metrics/fine_psnr,13000,17.476882934570312 +SV100-GT,naive,Eval Images Metrics/fine_psnr,13500,17.533063888549805 +SV100-GT,naive,Eval Images Metrics/fine_psnr,14000,17.345876693725586 +SV100-GT,naive,Eval Images Metrics/fine_psnr,14500,17.562108993530273 +SV100-GT,naive,Eval Images Metrics/fine_psnr,15000,22.241315841674805 +SV100-GT,naive,Eval Images Metrics/fine_psnr,15500,17.795978546142578 +SV100-GT,naive,Eval Images Metrics/fine_psnr,16000,17.427717208862305 +SV100-GT,naive,Eval Images Metrics/fine_psnr,16500,19.719640731811523 +SV100-GT,naive,Eval Images Metrics/fine_psnr,17000,19.089881896972656 +SV100-GT,naive,Eval Images Metrics/fine_psnr,17500,18.261371612548828 +SV100-GT,naive,Eval Images Metrics/fine_psnr,18000,18.265485763549805 +SV100-GT,naive,Eval Images Metrics/fine_psnr,18500,19.045331954956055 +SV100-GT,naive,Eval Images Metrics/fine_psnr,19000,19.535953521728516 +SV100-GT,naive,Eval Images Metrics/fine_psnr,19500,17.044384002685547 +SV100-GT,naive,Eval Images Metrics/fine_psnr,20000,18.218687057495117 +SV100-GT,naive,Eval Images Metrics/fine_psnr,20500,19.581180572509766 +SV100-GT,naive,Eval Images Metrics/fine_psnr,21000,18.798725128173828 +SV100-GT,naive,Eval Images Metrics/fine_psnr,21500,17.633174896240234 +SV100-GT,naive,Eval Images Metrics/fine_psnr,22000,16.760440826416016 +SV100-GT,naive,Eval Images Metrics/fine_psnr,22500,17.017305374145508 +SV100-GT,naive,Eval Images Metrics/fine_psnr,23000,16.92281150817871 +SV100-GT,naive,Eval Images Metrics/fine_psnr,23500,16.925067901611328 +SV100-GT,naive,Eval Images Metrics/fine_psnr,24000,17.114057540893555 +SV100-GT,naive,Eval Images Metrics/fine_psnr,24500,18.631174087524414 +SV100-GT,naive,Eval Images Metrics/fine_psnr,25000,20.78001594543457 +SV100-GT,naive,Eval Images Metrics/fine_psnr,25500,17.42547035217285 +SV100-GT,naive,Eval Images Metrics/fine_psnr,26000,16.399656295776367 +SV100-GT,naive,Eval Images Metrics/fine_psnr,26500,17.241168975830078 +SV100-GT,naive,Eval Images Metrics/fine_psnr,27000,19.50042724609375 +SV100-GT,naive,Eval Images Metrics/fine_psnr,27500,16.87073516845703 +SV100-GT,naive,Eval Images Metrics/fine_psnr,28000,24.265178680419922 +SV100-GT,naive,Eval Images Metrics/fine_psnr,28500,19.764211654663086 +SV100-GT,naive,Eval Images Metrics/fine_psnr,29000,18.579423904418945 +SV100-GT,naive,Eval Images Metrics/fine_psnr,29500,16.845626831054688 +SV100-GT,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,18.723230361938477 +SV100-GT,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7602061629295349 +SV100-GT,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.1462455689907074 +SV100-GT,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-GT,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-GT,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-GT,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-GT,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-GT,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-GT,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-GT,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-GT,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-GT,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-GT,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-GT,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-GT,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-GT,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-GT,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-GT,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-GT,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-GT,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-GT,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-GT,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-GT,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-GT,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-GT,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-GT,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-GT,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-GT,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-GT,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-GT,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-GT,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-GT,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-GT,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-GT,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-GT,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-GT,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-GT,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-GT,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-GT,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-GT,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-GT,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-GT,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-GT,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-GT,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-GT,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-GT,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-GT,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-GT,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-GT,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-GT,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-GT,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-GT,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-GT,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-GT,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-GT,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-GT,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-GT,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-GT,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-GT,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-GT,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-GT,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-GT,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-GT,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-GT,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-GT,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-GT,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-GT,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-GT,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-GT,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-GT,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-GT,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-GT,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-GT,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-GT,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-GT,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-GT,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-GT,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-GT,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-GT,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-GT,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-GT,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-GT,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-GT,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-GT,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-GT,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-GT,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-GT,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-GT,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-GT,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-GT,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-GT,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-GT,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-GT,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-GT,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-GT,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-GT,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-GT,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-GT,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-GT,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-GT,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-GT,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-GT,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-GT,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-GT,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-GT,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-GT,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-GT,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-GT,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-GT,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-GT,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-GT,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-GT,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-GT,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-GT,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-GT,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-GT,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-GT,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-GT,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-GT,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-GT,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-GT,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-GT,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-GT,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-GT,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-GT,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-GT,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-GT,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-GT,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-GT,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-GT,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-GT,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-GT,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-GT,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-GT,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-GT,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-GT,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-GT,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-GT,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-GT,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-GT,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-GT,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-GT,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-GT,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-GT,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-GT,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-GT,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-GT,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-GT,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-GT,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-GT,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-GT,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-GT,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-GT,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-GT,camp,Train Loss,0,0.3421427607536316 +SV100-GT,camp,Train Loss,50,0.31843847036361694 +SV100-GT,camp,Train Loss,100,0.18501456081867218 +SV100-GT,camp,Train Loss,150,0.17668966948986053 +SV100-GT,camp,Train Loss,200,0.1641692817211151 +SV100-GT,camp,Train Loss,250,0.1541329026222229 +SV100-GT,camp,Train Loss,300,0.14563259482383728 +SV100-GT,camp,Train Loss,350,0.09821145236492157 +SV100-GT,camp,Train Loss,400,0.07913640141487122 +SV100-GT,camp,Train Loss,450,0.07487311959266663 +SV100-GT,camp,Train Loss,500,0.07773277163505554 +SV100-GT,camp,Train Loss,550,0.07258289307355881 +SV100-GT,camp,Train Loss,600,0.06994680315256119 +SV100-GT,camp,Train Loss,650,0.06912802904844284 +SV100-GT,camp,Train Loss,700,0.07108166813850403 +SV100-GT,camp,Train Loss,750,0.06417175382375717 +SV100-GT,camp,Train Loss,800,0.07399719953536987 +SV100-GT,camp,Train Loss,850,0.057713065296411514 +SV100-GT,camp,Train Loss,900,0.055131539702415466 +SV100-GT,camp,Train Loss,950,0.06127407029271126 +SV100-GT,camp,Train Loss,1000,0.061939433217048645 +SV100-GT,camp,Train Loss,1050,0.04844173789024353 +SV100-GT,camp,Train Loss,1100,0.055196091532707214 +SV100-GT,camp,Train Loss,1150,0.05779052898287773 +SV100-GT,camp,Train Loss,1200,0.049292560666799545 +SV100-GT,camp,Train Loss,1250,0.05621741712093353 +SV100-GT,camp,Train Loss,1300,0.0475337840616703 +SV100-GT,camp,Train Loss,1350,0.05365533381700516 +SV100-GT,camp,Train Loss,1400,0.05047198385000229 +SV100-GT,camp,Train Loss,1450,0.03822914510965347 +SV100-GT,camp,Train Loss,1500,0.046071261167526245 +SV100-GT,camp,Train Loss,1550,0.05756000801920891 +SV100-GT,camp,Train Loss,1600,0.049035362899303436 +SV100-GT,camp,Train Loss,1650,0.04483707249164581 +SV100-GT,camp,Train Loss,1700,0.04893485829234123 +SV100-GT,camp,Train Loss,1750,0.04816921427845955 +SV100-GT,camp,Train Loss,1800,0.04547078162431717 +SV100-GT,camp,Train Loss,1850,0.03478243947029114 +SV100-GT,camp,Train Loss,1900,0.039645083248615265 +SV100-GT,camp,Train Loss,1950,0.044949308037757874 +SV100-GT,camp,Train Loss,2000,0.03898593783378601 +SV100-GT,camp,Train Loss,2050,0.0357663631439209 +SV100-GT,camp,Train Loss,2100,0.045532725751399994 +SV100-GT,camp,Train Loss,2150,0.04142239689826965 +SV100-GT,camp,Train Loss,2200,0.04396151751279831 +SV100-GT,camp,Train Loss,2250,0.040722332894802094 +SV100-GT,camp,Train Loss,2300,0.036134373396635056 +SV100-GT,camp,Train Loss,2350,0.041422631591558456 +SV100-GT,camp,Train Loss,2400,0.03685753047466278 +SV100-GT,camp,Train Loss,2450,0.03593552112579346 +SV100-GT,camp,Train Loss,2500,0.03265831246972084 +SV100-GT,camp,Train Loss,2550,0.041690170764923096 +SV100-GT,camp,Train Loss,2600,0.03599856048822403 +SV100-GT,camp,Train Loss,2650,0.036781031638383865 +SV100-GT,camp,Train Loss,2700,0.038065142929553986 +SV100-GT,camp,Train Loss,2750,0.03627261146903038 +SV100-GT,camp,Train Loss,2800,0.03344247117638588 +SV100-GT,camp,Train Loss,2850,0.0353618748486042 +SV100-GT,camp,Train Loss,2900,0.03417162969708443 +SV100-GT,camp,Train Loss,2950,0.03481464833021164 +SV100-GT,camp,Train Loss,3000,0.03594566881656647 +SV100-GT,camp,Train Loss,3050,0.030787944793701172 +SV100-GT,camp,Train Loss,3100,0.03426176309585571 +SV100-GT,camp,Train Loss,3150,0.030171561986207962 +SV100-GT,camp,Train Loss,3200,0.033889468759298325 +SV100-GT,camp,Train Loss,3250,0.029135188087821007 +SV100-GT,camp,Train Loss,3300,0.026159554719924927 +SV100-GT,camp,Train Loss,3350,0.033325061202049255 +SV100-GT,camp,Train Loss,3400,0.03337830305099487 +SV100-GT,camp,Train Loss,3450,0.033234722912311554 +SV100-GT,camp,Train Loss,3500,0.02917763777077198 +SV100-GT,camp,Train Loss,3550,0.030357416719198227 +SV100-GT,camp,Train Loss,3600,0.029495934024453163 +SV100-GT,camp,Train Loss,3650,0.032053347676992416 +SV100-GT,camp,Train Loss,3700,0.02871679700911045 +SV100-GT,camp,Train Loss,3750,0.026555676013231277 +SV100-GT,camp,Train Loss,3800,0.026927225291728973 +SV100-GT,camp,Train Loss,3850,0.023146817460656166 +SV100-GT,camp,Train Loss,3900,0.031751491129398346 +SV100-GT,camp,Train Loss,3950,0.023941583931446075 +SV100-GT,camp,Train Loss,4000,0.03440499305725098 +SV100-GT,camp,Train Loss,4050,0.026718251407146454 +SV100-GT,camp,Train Loss,4100,0.024334440007805824 +SV100-GT,camp,Train Loss,4150,0.024379201233386993 +SV100-GT,camp,Train Loss,4200,0.02524097077548504 +SV100-GT,camp,Train Loss,4250,0.02940276265144348 +SV100-GT,camp,Train Loss,4300,0.019701480865478516 +SV100-GT,camp,Train Loss,4350,0.022240787744522095 +SV100-GT,camp,Train Loss,4400,0.022647054865956306 +SV100-GT,camp,Train Loss,4450,0.021686431020498276 +SV100-GT,camp,Train Loss,4500,0.026239406317472458 +SV100-GT,camp,Train Loss,4550,0.021257655695080757 +SV100-GT,camp,Train Loss,4600,0.02502008154988289 +SV100-GT,camp,Train Loss,4650,0.025006935000419617 +SV100-GT,camp,Train Loss,4700,0.026573775336146355 +SV100-GT,camp,Train Loss,4750,0.0237300805747509 +SV100-GT,camp,Train Loss,4800,0.023873209953308105 +SV100-GT,camp,Train Loss,4850,0.02174435369670391 +SV100-GT,camp,Train Loss,4900,0.0244301687926054 +SV100-GT,camp,Train Loss,4950,0.023281320929527283 +SV100-GT,camp,Train Loss,5000,0.0213485024869442 +SV100-GT,camp,Train Loss,5500,0.019477512687444687 +SV100-GT,camp,Train Loss,6000,0.018349282443523407 +SV100-GT,camp,Train Loss,6500,0.019078407436609268 +SV100-GT,camp,Train Loss,7000,0.01968194916844368 +SV100-GT,camp,Train Loss,7500,0.017168410122394562 +SV100-GT,camp,Train Loss,8000,0.015110276639461517 +SV100-GT,camp,Train Loss,8500,0.012040611356496811 +SV100-GT,camp,Train Loss,9000,0.015279030427336693 +SV100-GT,camp,Train Loss,9500,0.015186664648354053 +SV100-GT,camp,Train Loss,10000,0.013014272786676884 +SV100-GT,camp,Train Loss,10500,0.01269130501896143 +SV100-GT,camp,Train Loss,11000,0.010327844880521297 +SV100-GT,camp,Train Loss,11500,0.012686957605183125 +SV100-GT,camp,Train Loss,12000,0.01094946637749672 +SV100-GT,camp,Train Loss,12500,0.015352284535765648 +SV100-GT,camp,Train Loss,13000,0.012326295487582684 +SV100-GT,camp,Train Loss,13500,0.01037105917930603 +SV100-GT,camp,Train Loss,14000,0.012039359658956528 +SV100-GT,camp,Train Loss,14500,0.008967048488557339 +SV100-GT,camp,Train Loss,15000,0.008502719923853874 +SV100-GT,camp,Train Loss,15500,0.011559758335351944 +SV100-GT,camp,Train Loss,16000,0.011673144064843655 +SV100-GT,camp,Train Loss,16500,0.009082760661840439 +SV100-GT,camp,Train Loss,17000,0.00792151503264904 +SV100-GT,camp,Train Loss,17500,0.008412966504693031 +SV100-GT,camp,Train Loss,18000,0.009057549759745598 +SV100-GT,camp,Train Loss,18500,0.009325342252850533 +SV100-GT,camp,Train Loss,19000,0.006999388802796602 +SV100-GT,camp,Train Loss,19500,0.011066975072026253 +SV100-GT,camp,Train Loss,20000,0.007427418604493141 +SV100-GT,camp,Train Loss,20500,0.008478313684463501 +SV100-GT,camp,Train Loss,21000,0.00763327581807971 +SV100-GT,camp,Train Loss,21500,0.006609104573726654 +SV100-GT,camp,Train Loss,22000,0.00925443135201931 +SV100-GT,camp,Train Loss,22500,0.007054272573441267 +SV100-GT,camp,Train Loss,23000,0.00734816025942564 +SV100-GT,camp,Train Loss,23500,0.007554382085800171 +SV100-GT,camp,Train Loss,24000,0.00554309319704771 +SV100-GT,camp,Train Loss,24500,0.007033159956336021 +SV100-GT,camp,Train Loss,25000,0.007101843133568764 +SV100-GT,camp,Train Loss,25500,0.00679341796785593 +SV100-GT,camp,Train Loss,26000,0.005964387208223343 +SV100-GT,camp,Train Loss,26500,0.005854717455804348 +SV100-GT,camp,Train Loss,27000,0.00669725751504302 +SV100-GT,camp,Train Loss,27500,0.00656790379434824 +SV100-GT,camp,Train Loss,28000,0.005885007791221142 +SV100-GT,camp,Train Loss,28500,0.006399913690984249 +SV100-GT,camp,Train Loss,29000,0.007622789591550827 +SV100-GT,camp,Train Loss,29500,0.006410190835595131 +SV100-GT,camp,Eval Images Metrics/fine_psnr,500,15.508557319641113 +SV100-GT,camp,Eval Images Metrics/fine_psnr,1000,17.578033447265625 +SV100-GT,camp,Eval Images Metrics/fine_psnr,1500,17.308666229248047 +SV100-GT,camp,Eval Images Metrics/fine_psnr,2000,17.389163970947266 +SV100-GT,camp,Eval Images Metrics/fine_psnr,2500,18.063257217407227 +SV100-GT,camp,Eval Images Metrics/fine_psnr,3000,18.643856048583984 +SV100-GT,camp,Eval Images Metrics/fine_psnr,3500,18.462587356567383 +SV100-GT,camp,Eval Images Metrics/fine_psnr,4000,19.83430290222168 +SV100-GT,camp,Eval Images Metrics/fine_psnr,4500,18.7763729095459 +SV100-GT,camp,Eval Images Metrics/fine_psnr,5000,19.0562686920166 +SV100-GT,camp,Eval Images Metrics/fine_psnr,5500,19.990673065185547 +SV100-GT,camp,Eval Images Metrics/fine_psnr,6000,19.569364547729492 +SV100-GT,camp,Eval Images Metrics/fine_psnr,6500,20.154874801635742 +SV100-GT,camp,Eval Images Metrics/fine_psnr,7000,20.553285598754883 +SV100-GT,camp,Eval Images Metrics/fine_psnr,7500,22.38636589050293 +SV100-GT,camp,Eval Images Metrics/fine_psnr,8000,21.478395462036133 +SV100-GT,camp,Eval Images Metrics/fine_psnr,8500,19.826589584350586 +SV100-GT,camp,Eval Images Metrics/fine_psnr,9000,21.594507217407227 +SV100-GT,camp,Eval Images Metrics/fine_psnr,9500,19.653249740600586 +SV100-GT,camp,Eval Images Metrics/fine_psnr,10000,19.806692123413086 +SV100-GT,camp,Eval Images Metrics/fine_psnr,10500,21.11979103088379 +SV100-GT,camp,Eval Images Metrics/fine_psnr,11000,19.869712829589844 +SV100-GT,camp,Eval Images Metrics/fine_psnr,11500,20.840797424316406 +SV100-GT,camp,Eval Images Metrics/fine_psnr,12000,19.057016372680664 +SV100-GT,camp,Eval Images Metrics/fine_psnr,12500,19.494853973388672 +SV100-GT,camp,Eval Images Metrics/fine_psnr,13000,20.136507034301758 +SV100-GT,camp,Eval Images Metrics/fine_psnr,13500,19.780187606811523 +SV100-GT,camp,Eval Images Metrics/fine_psnr,14000,19.434831619262695 +SV100-GT,camp,Eval Images Metrics/fine_psnr,14500,19.840084075927734 +SV100-GT,camp,Eval Images Metrics/fine_psnr,15000,21.14902114868164 +SV100-GT,camp,Eval Images Metrics/fine_psnr,15500,19.84368133544922 +SV100-GT,camp,Eval Images Metrics/fine_psnr,16000,18.7940731048584 +SV100-GT,camp,Eval Images Metrics/fine_psnr,16500,19.904348373413086 +SV100-GT,camp,Eval Images Metrics/fine_psnr,17000,25.214344024658203 +SV100-GT,camp,Eval Images Metrics/fine_psnr,17500,22.095090866088867 +SV100-GT,camp,Eval Images Metrics/fine_psnr,18000,23.581003189086914 +SV100-GT,camp,Eval Images Metrics/fine_psnr,18500,19.696205139160156 +SV100-GT,camp,Eval Images Metrics/fine_psnr,19000,21.088821411132812 +SV100-GT,camp,Eval Images Metrics/fine_psnr,19500,19.608779907226562 +SV100-GT,camp,Eval Images Metrics/fine_psnr,20000,19.202972412109375 +SV100-GT,camp,Eval Images Metrics/fine_psnr,20500,20.39599609375 +SV100-GT,camp,Eval Images Metrics/fine_psnr,21000,25.528026580810547 +SV100-GT,camp,Eval Images Metrics/fine_psnr,21500,20.0085506439209 +SV100-GT,camp,Eval Images Metrics/fine_psnr,22000,18.406591415405273 +SV100-GT,camp,Eval Images Metrics/fine_psnr,22500,19.538244247436523 +SV100-GT,camp,Eval Images Metrics/fine_psnr,23000,18.93512535095215 +SV100-GT,camp,Eval Images Metrics/fine_psnr,23500,18.894262313842773 +SV100-GT,camp,Eval Images Metrics/fine_psnr,24000,19.004560470581055 +SV100-GT,camp,Eval Images Metrics/fine_psnr,24500,19.027111053466797 +SV100-GT,camp,Eval Images Metrics/fine_psnr,25000,20.745590209960938 +SV100-GT,camp,Eval Images Metrics/fine_psnr,25500,19.451702117919922 +SV100-GT,camp,Eval Images Metrics/fine_psnr,26000,18.308237075805664 +SV100-GT,camp,Eval Images Metrics/fine_psnr,26500,18.404199600219727 +SV100-GT,camp,Eval Images Metrics/fine_psnr,27000,19.388530731201172 +SV100-GT,camp,Eval Images Metrics/fine_psnr,27500,19.30261993408203 +SV100-GT,camp,Eval Images Metrics/fine_psnr,28000,20.854042053222656 +SV100-GT,camp,Eval Images Metrics/fine_psnr,28500,19.61029624938965 +SV100-GT,camp,Eval Images Metrics/fine_psnr,29000,23.957149505615234 +SV100-GT,camp,Eval Images Metrics/fine_psnr,29500,19.14013671875 +SV100-GT,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,20.31856346130371 +SV100-GT,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7810297608375549 +SV100-GT,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.13289126753807068 +SV100-GT,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-GT,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-GT,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-GT,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-GT,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-GT,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-GT,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-GT,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-GT,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-GT,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-GT,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-GT,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-GT,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-GT,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-GT,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-GT,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-GT,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-GT,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-GT,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-GT,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-GT,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-GT,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-GT,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-GT,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-GT,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-GT,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-GT,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-GT,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-GT,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-GT,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-GT,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-GT,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-GT,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-GT,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-GT,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-GT,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-GT,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-GT,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-GT,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-GT,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-GT,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-GT,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-GT,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-GT,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-GT,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-GT,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-GT,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-GT,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-GT,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-GT,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-GT,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-GT,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-GT,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-GT,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-GT,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-GT,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-GT,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-GT,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-GT,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-GT,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-GT,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-GT,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-GT,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-GT,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-GT,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-GT,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-GT,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-GT,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-GT,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-GT,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-GT,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-GT,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-GT,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-GT,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-GT,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-GT,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-GT,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-GT,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-GT,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-GT,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-GT,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-GT,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-GT,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-GT,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-GT,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-GT,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-GT,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-GT,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-GT,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-GT,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-GT,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-GT,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-GT,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-GT,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-GT,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-GT,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-GT,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-GT,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-GT,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-GT,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-GT,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-GT,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-GT,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-GT,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-GT,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-GT,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-GT,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-GT,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-GT,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-GT,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-GT,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-GT,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-GT,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-GT,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-GT,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-GT,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-GT,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-GT,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-GT,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-GT,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-GT,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-GT,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-GT,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-GT,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-GT,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-GT,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-GT,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-GT,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-GT,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-GT,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-GT,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-GT,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-GT,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-GT,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-GT,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-GT,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-GT,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-GT,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-GT,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-GT,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-GT,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-GT,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-GT,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-GT,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-GT,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-GT,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-GT,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-GT,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-GT,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-GT,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-GT,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-GT,naive_warmup,Train Loss,0,0.3421427607536316 +SV100-GT,naive_warmup,Train Loss,50,0.3184471130371094 +SV100-GT,naive_warmup,Train Loss,100,0.184858500957489 +SV100-GT,naive_warmup,Train Loss,150,0.1766696572303772 +SV100-GT,naive_warmup,Train Loss,200,0.1639595925807953 +SV100-GT,naive_warmup,Train Loss,250,0.15243756771087646 +SV100-GT,naive_warmup,Train Loss,300,0.1413750797510147 +SV100-GT,naive_warmup,Train Loss,350,0.08400903642177582 +SV100-GT,naive_warmup,Train Loss,400,0.06087722256779671 +SV100-GT,naive_warmup,Train Loss,450,0.05647703632712364 +SV100-GT,naive_warmup,Train Loss,500,0.05384095758199692 +SV100-GT,naive_warmup,Train Loss,550,0.04730234295129776 +SV100-GT,naive_warmup,Train Loss,600,0.0443558543920517 +SV100-GT,naive_warmup,Train Loss,650,0.048809539526700974 +SV100-GT,naive_warmup,Train Loss,700,0.04273933917284012 +SV100-GT,naive_warmup,Train Loss,750,0.0431891530752182 +SV100-GT,naive_warmup,Train Loss,800,0.04391184821724892 +SV100-GT,naive_warmup,Train Loss,850,0.04685143753886223 +SV100-GT,naive_warmup,Train Loss,900,0.03636443242430687 +SV100-GT,naive_warmup,Train Loss,950,0.037482988089323044 +SV100-GT,naive_warmup,Train Loss,1000,0.03552980720996857 +SV100-GT,naive_warmup,Train Loss,1050,0.03109564445912838 +SV100-GT,naive_warmup,Train Loss,1100,0.03491916507482529 +SV100-GT,naive_warmup,Train Loss,1150,0.038604944944381714 +SV100-GT,naive_warmup,Train Loss,1200,0.0313493013381958 +SV100-GT,naive_warmup,Train Loss,1250,0.037557587027549744 +SV100-GT,naive_warmup,Train Loss,1300,0.03419475257396698 +SV100-GT,naive_warmup,Train Loss,1350,0.0379721000790596 +SV100-GT,naive_warmup,Train Loss,1400,0.03376302123069763 +SV100-GT,naive_warmup,Train Loss,1450,0.024761006236076355 +SV100-GT,naive_warmup,Train Loss,1500,0.027245745062828064 +SV100-GT,naive_warmup,Train Loss,1550,0.0372147262096405 +SV100-GT,naive_warmup,Train Loss,1600,0.03212244436144829 +SV100-GT,naive_warmup,Train Loss,1650,0.0342964269220829 +SV100-GT,naive_warmup,Train Loss,1700,0.03361762315034866 +SV100-GT,naive_warmup,Train Loss,1750,0.029917163774371147 +SV100-GT,naive_warmup,Train Loss,1800,0.03317151218652725 +SV100-GT,naive_warmup,Train Loss,1850,0.025695327669382095 +SV100-GT,naive_warmup,Train Loss,1900,0.03486800938844681 +SV100-GT,naive_warmup,Train Loss,1950,0.03158192336559296 +SV100-GT,naive_warmup,Train Loss,2000,0.028149306774139404 +SV100-GT,naive_warmup,Train Loss,2050,0.02938317507505417 +SV100-GT,naive_warmup,Train Loss,2100,0.03159185126423836 +SV100-GT,naive_warmup,Train Loss,2150,0.03087395429611206 +SV100-GT,naive_warmup,Train Loss,2200,0.026314888149499893 +SV100-GT,naive_warmup,Train Loss,2250,0.029949843883514404 +SV100-GT,naive_warmup,Train Loss,2300,0.023606933653354645 +SV100-GT,naive_warmup,Train Loss,2350,0.030652115121483803 +SV100-GT,naive_warmup,Train Loss,2400,0.03126582130789757 +SV100-GT,naive_warmup,Train Loss,2450,0.0343550369143486 +SV100-GT,naive_warmup,Train Loss,2500,0.025060605257749557 +SV100-GT,naive_warmup,Train Loss,2550,0.03431398421525955 +SV100-GT,naive_warmup,Train Loss,2600,0.028527645394206047 +SV100-GT,naive_warmup,Train Loss,2650,0.029058005660772324 +SV100-GT,naive_warmup,Train Loss,2700,0.030367359519004822 +SV100-GT,naive_warmup,Train Loss,2750,0.026383113116025925 +SV100-GT,naive_warmup,Train Loss,2800,0.029096398502588272 +SV100-GT,naive_warmup,Train Loss,2850,0.024250665679574013 +SV100-GT,naive_warmup,Train Loss,2900,0.023454010486602783 +SV100-GT,naive_warmup,Train Loss,2950,0.027424335479736328 +SV100-GT,naive_warmup,Train Loss,3000,0.024512121453881264 +SV100-GT,naive_warmup,Train Loss,3050,0.023312192410230637 +SV100-GT,naive_warmup,Train Loss,3100,0.02547217346727848 +SV100-GT,naive_warmup,Train Loss,3150,0.023816192522644997 +SV100-GT,naive_warmup,Train Loss,3200,0.023027459159493446 +SV100-GT,naive_warmup,Train Loss,3250,0.023855382576584816 +SV100-GT,naive_warmup,Train Loss,3300,0.024389706552028656 +SV100-GT,naive_warmup,Train Loss,3350,0.027362830936908722 +SV100-GT,naive_warmup,Train Loss,3400,0.027038510888814926 +SV100-GT,naive_warmup,Train Loss,3450,0.022818919271230698 +SV100-GT,naive_warmup,Train Loss,3500,0.026805367320775986 +SV100-GT,naive_warmup,Train Loss,3550,0.019187133759260178 +SV100-GT,naive_warmup,Train Loss,3600,0.022419866174459457 +SV100-GT,naive_warmup,Train Loss,3650,0.025743935257196426 +SV100-GT,naive_warmup,Train Loss,3700,0.022731803357601166 +SV100-GT,naive_warmup,Train Loss,3750,0.01989402249455452 +SV100-GT,naive_warmup,Train Loss,3800,0.02469715103507042 +SV100-GT,naive_warmup,Train Loss,3850,0.024508200585842133 +SV100-GT,naive_warmup,Train Loss,3900,0.027012448757886887 +SV100-GT,naive_warmup,Train Loss,3950,0.019733114168047905 +SV100-GT,naive_warmup,Train Loss,4000,0.02635323442518711 +SV100-GT,naive_warmup,Train Loss,4050,0.01824004203081131 +SV100-GT,naive_warmup,Train Loss,4100,0.019298061728477478 +SV100-GT,naive_warmup,Train Loss,4150,0.021248620003461838 +SV100-GT,naive_warmup,Train Loss,4200,0.022735796868801117 +SV100-GT,naive_warmup,Train Loss,4250,0.02435816079378128 +SV100-GT,naive_warmup,Train Loss,4300,0.01673857867717743 +SV100-GT,naive_warmup,Train Loss,4350,0.01732565090060234 +SV100-GT,naive_warmup,Train Loss,4400,0.019776180386543274 +SV100-GT,naive_warmup,Train Loss,4450,0.01885194331407547 +SV100-GT,naive_warmup,Train Loss,4500,0.01908218488097191 +SV100-GT,naive_warmup,Train Loss,4550,0.016652971506118774 +SV100-GT,naive_warmup,Train Loss,4600,0.023452986031770706 +SV100-GT,naive_warmup,Train Loss,4650,0.021413788199424744 +SV100-GT,naive_warmup,Train Loss,4700,0.020209413021802902 +SV100-GT,naive_warmup,Train Loss,4750,0.020219232887029648 +SV100-GT,naive_warmup,Train Loss,4800,0.019704308360815048 +SV100-GT,naive_warmup,Train Loss,4850,0.019019840285182 +SV100-GT,naive_warmup,Train Loss,4900,0.019518831744790077 +SV100-GT,naive_warmup,Train Loss,4950,0.02073485031723976 +SV100-GT,naive_warmup,Train Loss,5000,0.021066568791866302 +SV100-GT,naive_warmup,Train Loss,5500,0.019746825098991394 +SV100-GT,naive_warmup,Train Loss,6000,0.014237490482628345 +SV100-GT,naive_warmup,Train Loss,6500,0.018554475158452988 +SV100-GT,naive_warmup,Train Loss,7000,0.016439609229564667 +SV100-GT,naive_warmup,Train Loss,7500,0.014552649110555649 +SV100-GT,naive_warmup,Train Loss,8000,0.01461373083293438 +SV100-GT,naive_warmup,Train Loss,8500,0.013860339298844337 +SV100-GT,naive_warmup,Train Loss,9000,0.013336645439267159 +SV100-GT,naive_warmup,Train Loss,9500,0.01234737504273653 +SV100-GT,naive_warmup,Train Loss,10000,0.013047580607235432 +SV100-GT,naive_warmup,Train Loss,10500,0.012566307559609413 +SV100-GT,naive_warmup,Train Loss,11000,0.011052585206925869 +SV100-GT,naive_warmup,Train Loss,11500,0.01298588328063488 +SV100-GT,naive_warmup,Train Loss,12000,0.00889853946864605 +SV100-GT,naive_warmup,Train Loss,12500,0.01579655334353447 +SV100-GT,naive_warmup,Train Loss,13000,0.012854546308517456 +SV100-GT,naive_warmup,Train Loss,13500,0.011214647442102432 +SV100-GT,naive_warmup,Train Loss,14000,0.012262940406799316 +SV100-GT,naive_warmup,Train Loss,14500,0.010949940420687199 +SV100-GT,naive_warmup,Train Loss,15000,0.00876111164689064 +SV100-GT,naive_warmup,Train Loss,15500,0.010921328328549862 +SV100-GT,naive_warmup,Train Loss,16000,0.01120593398809433 +SV100-GT,naive_warmup,Train Loss,16500,0.00954118836671114 +SV100-GT,naive_warmup,Train Loss,17000,0.007247310131788254 +SV100-GT,naive_warmup,Train Loss,17500,0.008253288455307484 +SV100-GT,naive_warmup,Train Loss,18000,0.01004166528582573 +SV100-GT,naive_warmup,Train Loss,18500,0.008738956414163113 +SV100-GT,naive_warmup,Train Loss,19000,0.00816102884709835 +SV100-GT,naive_warmup,Train Loss,19500,0.0106846634298563 +SV100-GT,naive_warmup,Train Loss,20000,0.008237183094024658 +SV100-GT,naive_warmup,Train Loss,20500,0.0077251894399523735 +SV100-GT,naive_warmup,Train Loss,21000,0.007804728578776121 +SV100-GT,naive_warmup,Train Loss,21500,0.0062446254305541515 +SV100-GT,naive_warmup,Train Loss,22000,0.009853910654783249 +SV100-GT,naive_warmup,Train Loss,22500,0.0075799343176186085 +SV100-GT,naive_warmup,Train Loss,23000,0.00717492401599884 +SV100-GT,naive_warmup,Train Loss,23500,0.007053447887301445 +SV100-GT,naive_warmup,Train Loss,24000,0.006434998475015163 +SV100-GT,naive_warmup,Train Loss,24500,0.00705371517688036 +SV100-GT,naive_warmup,Train Loss,25000,0.007099146954715252 +SV100-GT,naive_warmup,Train Loss,25500,0.007319916971027851 +SV100-GT,naive_warmup,Train Loss,26000,0.005889364518225193 +SV100-GT,naive_warmup,Train Loss,26500,0.0057959845289587975 +SV100-GT,naive_warmup,Train Loss,27000,0.007044176105409861 +SV100-GT,naive_warmup,Train Loss,27500,0.006351434625685215 +SV100-GT,naive_warmup,Train Loss,28000,0.00672942167147994 +SV100-GT,naive_warmup,Train Loss,28500,0.006754230707883835 +SV100-GT,naive_warmup,Train Loss,29000,0.007819995284080505 +SV100-GT,naive_warmup,Train Loss,29500,0.006323715206235647 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,500,16.49181365966797 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,1000,18.570301055908203 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,1500,18.87775230407715 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,2000,18.960527420043945 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,2500,19.481008529663086 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,3000,19.64537811279297 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,3500,19.270071029663086 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,4000,21.519346237182617 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,4500,20.901386260986328 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,5000,20.61952018737793 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,5500,21.365314483642578 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,6000,21.789066314697266 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,6500,22.51995849609375 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,7000,22.08123207092285 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,7500,22.986116409301758 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,8000,24.47471809387207 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,8500,22.835317611694336 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,9000,21.783315658569336 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,9500,21.849462509155273 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,10000,21.800601959228516 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,10500,24.256275177001953 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,11000,22.641767501831055 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,11500,24.489906311035156 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,12000,21.541650772094727 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,12500,23.127708435058594 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,13000,22.84732437133789 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,13500,23.23563575744629 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,14000,22.278982162475586 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,14500,23.53055763244629 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,15000,22.799915313720703 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,15500,22.39185333251953 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,16000,21.73142433166504 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,16500,24.33419418334961 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,17000,22.82343292236328 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,17500,23.72739601135254 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,18000,22.728010177612305 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,18500,23.72751235961914 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,19000,26.960371017456055 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,19500,23.451751708984375 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,20000,23.21480941772461 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,20500,26.54032325744629 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,21000,22.35452651977539 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,21500,22.9500789642334 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,22000,21.496540069580078 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,22500,22.791759490966797 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,23000,23.33112335205078 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,23500,23.285877227783203 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,24000,21.89288330078125 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,24500,23.469263076782227 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,25000,21.186840057373047 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,25500,22.183290481567383 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,26000,20.84185218811035 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,26500,22.6331787109375 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,27000,24.190048217773438 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,27500,22.860849380493164 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,28000,22.078128814697266 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,28500,21.442842483520508 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,29000,21.019750595092773 +SV100-GT,naive_warmup,Eval Images Metrics/fine_psnr,29500,22.99957847595215 +SV100-GT,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,22.770736694335938 +SV100-GT,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.8187319040298462 +SV100-GT,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.12039589136838913 +SV100-GT,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-GT,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-GT,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-GT,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-GT,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-GT,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-GT,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-GT,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-GT,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-GT,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-GT,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-GT,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-GT,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-GT,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-GT,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-GT,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-GT,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-GT,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-GT,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-GT,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-GT,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-GT,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-GT,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-GT,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-GT,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-GT,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-GT,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-GT,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-GT,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-GT,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-GT,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-GT,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-GT,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-GT,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-GT,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-GT,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-GT,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-GT,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-GT,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-GT,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-GT,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-GT,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-GT,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-GT,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-GT,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-GT,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-GT,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-GT,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-GT,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-GT,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-GT,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-GT,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-GT,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-GT,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-GT,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-GT,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-GT,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-GT,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-GT,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-GT,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-GT,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-GT,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-GT,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-GT,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-GT,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-GT,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-GT,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-GT,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-GT,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-GT,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-GT,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-GT,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-GT,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-GT,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-GT,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-GT,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-GT,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-GT,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-GT,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-GT,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-GT,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-GT,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-GT,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-GT,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-GT,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-GT,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-GT,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-GT,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-GT,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-GT,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-GT,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-GT,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-GT,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-GT,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-GT,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-GT,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-GT,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-GT,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-GT,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-GT,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-GT,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-GT,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-GT,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-GT,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-GT,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-GT,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-GT,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-GT,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-GT,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-GT,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-GT,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-GT,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-GT,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-GT,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-GT,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-GT,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-GT,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-GT,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-GT,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-GT,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-GT,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-GT,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-GT,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-GT,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-GT,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-GT,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-GT,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-GT,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-GT,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-GT,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-GT,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-GT,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-GT,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-GT,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-GT,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-GT,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-GT,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-GT,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-GT,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-GT,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-GT,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-GT,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-GT,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-GT,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-GT,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-GT,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-GT,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-GT,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-GT,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-GT,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-GT,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-GT,camp_warmup,Train Loss,0,0.3421427607536316 +SV100-GT,camp_warmup,Train Loss,50,0.31844866275787354 +SV100-GT,camp_warmup,Train Loss,100,0.18486618995666504 +SV100-GT,camp_warmup,Train Loss,150,0.1766849160194397 +SV100-GT,camp_warmup,Train Loss,200,0.16393452882766724 +SV100-GT,camp_warmup,Train Loss,250,0.15258319675922394 +SV100-GT,camp_warmup,Train Loss,300,0.14154496788978577 +SV100-GT,camp_warmup,Train Loss,350,0.08363194763660431 +SV100-GT,camp_warmup,Train Loss,400,0.05966448038816452 +SV100-GT,camp_warmup,Train Loss,450,0.0575786754488945 +SV100-GT,camp_warmup,Train Loss,500,0.047392889857292175 +SV100-GT,camp_warmup,Train Loss,550,0.0453190878033638 +SV100-GT,camp_warmup,Train Loss,600,0.045064546167850494 +SV100-GT,camp_warmup,Train Loss,650,0.04661158099770546 +SV100-GT,camp_warmup,Train Loss,700,0.042174555361270905 +SV100-GT,camp_warmup,Train Loss,750,0.039774417877197266 +SV100-GT,camp_warmup,Train Loss,800,0.04502172768115997 +SV100-GT,camp_warmup,Train Loss,850,0.03841564059257507 +SV100-GT,camp_warmup,Train Loss,900,0.03170786798000336 +SV100-GT,camp_warmup,Train Loss,950,0.03937765955924988 +SV100-GT,camp_warmup,Train Loss,1000,0.03634880483150482 +SV100-GT,camp_warmup,Train Loss,1050,0.030509311705827713 +SV100-GT,camp_warmup,Train Loss,1100,0.032645612955093384 +SV100-GT,camp_warmup,Train Loss,1150,0.03597549349069595 +SV100-GT,camp_warmup,Train Loss,1200,0.03602055460214615 +SV100-GT,camp_warmup,Train Loss,1250,0.039354681968688965 +SV100-GT,camp_warmup,Train Loss,1300,0.03487539291381836 +SV100-GT,camp_warmup,Train Loss,1350,0.03625025972723961 +SV100-GT,camp_warmup,Train Loss,1400,0.029522500932216644 +SV100-GT,camp_warmup,Train Loss,1450,0.024968212470412254 +SV100-GT,camp_warmup,Train Loss,1500,0.02953794039785862 +SV100-GT,camp_warmup,Train Loss,1550,0.03626353293657303 +SV100-GT,camp_warmup,Train Loss,1600,0.031383782625198364 +SV100-GT,camp_warmup,Train Loss,1650,0.03272668272256851 +SV100-GT,camp_warmup,Train Loss,1700,0.03504639491438866 +SV100-GT,camp_warmup,Train Loss,1750,0.0343128964304924 +SV100-GT,camp_warmup,Train Loss,1800,0.03206566721200943 +SV100-GT,camp_warmup,Train Loss,1850,0.027722923085093498 +SV100-GT,camp_warmup,Train Loss,1900,0.03446878492832184 +SV100-GT,camp_warmup,Train Loss,1950,0.033912740647792816 +SV100-GT,camp_warmup,Train Loss,2000,0.034218207001686096 +SV100-GT,camp_warmup,Train Loss,2050,0.02660500444471836 +SV100-GT,camp_warmup,Train Loss,2100,0.03597711771726608 +SV100-GT,camp_warmup,Train Loss,2150,0.034099824726581573 +SV100-GT,camp_warmup,Train Loss,2200,0.03399050980806351 +SV100-GT,camp_warmup,Train Loss,2250,0.03348192945122719 +SV100-GT,camp_warmup,Train Loss,2300,0.02808031439781189 +SV100-GT,camp_warmup,Train Loss,2350,0.03401047736406326 +SV100-GT,camp_warmup,Train Loss,2400,0.03031047061085701 +SV100-GT,camp_warmup,Train Loss,2450,0.03534766286611557 +SV100-GT,camp_warmup,Train Loss,2500,0.022561365738511086 +SV100-GT,camp_warmup,Train Loss,2550,0.0372714102268219 +SV100-GT,camp_warmup,Train Loss,2600,0.03421783447265625 +SV100-GT,camp_warmup,Train Loss,2650,0.03267046809196472 +SV100-GT,camp_warmup,Train Loss,2700,0.03459067642688751 +SV100-GT,camp_warmup,Train Loss,2750,0.031562961637973785 +SV100-GT,camp_warmup,Train Loss,2800,0.029824525117874146 +SV100-GT,camp_warmup,Train Loss,2850,0.026363758370280266 +SV100-GT,camp_warmup,Train Loss,2900,0.031823039054870605 +SV100-GT,camp_warmup,Train Loss,2950,0.030786344781517982 +SV100-GT,camp_warmup,Train Loss,3000,0.032533884048461914 +SV100-GT,camp_warmup,Train Loss,3050,0.024780496954917908 +SV100-GT,camp_warmup,Train Loss,3100,0.02722274325788021 +SV100-GT,camp_warmup,Train Loss,3150,0.024642089381814003 +SV100-GT,camp_warmup,Train Loss,3200,0.02825355716049671 +SV100-GT,camp_warmup,Train Loss,3250,0.027773616835474968 +SV100-GT,camp_warmup,Train Loss,3300,0.02568848989903927 +SV100-GT,camp_warmup,Train Loss,3350,0.02793196029961109 +SV100-GT,camp_warmup,Train Loss,3400,0.026717472821474075 +SV100-GT,camp_warmup,Train Loss,3450,0.028997965157032013 +SV100-GT,camp_warmup,Train Loss,3500,0.029266955330967903 +SV100-GT,camp_warmup,Train Loss,3550,0.026007134467363358 +SV100-GT,camp_warmup,Train Loss,3600,0.024447031319141388 +SV100-GT,camp_warmup,Train Loss,3650,0.029946541413664818 +SV100-GT,camp_warmup,Train Loss,3700,0.025827579200267792 +SV100-GT,camp_warmup,Train Loss,3750,0.021615859121084213 +SV100-GT,camp_warmup,Train Loss,3800,0.030242551118135452 +SV100-GT,camp_warmup,Train Loss,3850,0.028282612562179565 +SV100-GT,camp_warmup,Train Loss,3900,0.03209555894136429 +SV100-GT,camp_warmup,Train Loss,3950,0.024294685572385788 +SV100-GT,camp_warmup,Train Loss,4000,0.028920549899339676 +SV100-GT,camp_warmup,Train Loss,4050,0.023546826094388962 +SV100-GT,camp_warmup,Train Loss,4100,0.02215779386460781 +SV100-GT,camp_warmup,Train Loss,4150,0.02132110856473446 +SV100-GT,camp_warmup,Train Loss,4200,0.019541442394256592 +SV100-GT,camp_warmup,Train Loss,4250,0.0285318773239851 +SV100-GT,camp_warmup,Train Loss,4300,0.01723950169980526 +SV100-GT,camp_warmup,Train Loss,4350,0.020774610340595245 +SV100-GT,camp_warmup,Train Loss,4400,0.020793886855244637 +SV100-GT,camp_warmup,Train Loss,4450,0.022105365991592407 +SV100-GT,camp_warmup,Train Loss,4500,0.029240574687719345 +SV100-GT,camp_warmup,Train Loss,4550,0.024998364970088005 +SV100-GT,camp_warmup,Train Loss,4600,0.027412082999944687 +SV100-GT,camp_warmup,Train Loss,4650,0.022809239104390144 +SV100-GT,camp_warmup,Train Loss,4700,0.025197260081768036 +SV100-GT,camp_warmup,Train Loss,4750,0.02112080156803131 +SV100-GT,camp_warmup,Train Loss,4800,0.024012528359889984 +SV100-GT,camp_warmup,Train Loss,4850,0.021693233400583267 +SV100-GT,camp_warmup,Train Loss,4900,0.027040688320994377 +SV100-GT,camp_warmup,Train Loss,4950,0.02432205155491829 +SV100-GT,camp_warmup,Train Loss,5000,0.024275070056319237 +SV100-GT,camp_warmup,Train Loss,5500,0.021965043619275093 +SV100-GT,camp_warmup,Train Loss,6000,0.01486450806260109 +SV100-GT,camp_warmup,Train Loss,6500,0.025295492261648178 +SV100-GT,camp_warmup,Train Loss,7000,0.019016053527593613 +SV100-GT,camp_warmup,Train Loss,7500,0.017701610922813416 +SV100-GT,camp_warmup,Train Loss,8000,0.018065012991428375 +SV100-GT,camp_warmup,Train Loss,8500,0.013139617629349232 +SV100-GT,camp_warmup,Train Loss,9000,0.016862235963344574 +SV100-GT,camp_warmup,Train Loss,9500,0.014201780781149864 +SV100-GT,camp_warmup,Train Loss,10000,0.01605980470776558 +SV100-GT,camp_warmup,Train Loss,10500,0.014170724898576736 +SV100-GT,camp_warmup,Train Loss,11000,0.009862912818789482 +SV100-GT,camp_warmup,Train Loss,11500,0.012405387125909328 +SV100-GT,camp_warmup,Train Loss,12000,0.009434831328690052 +SV100-GT,camp_warmup,Train Loss,12500,0.01618841663002968 +SV100-GT,camp_warmup,Train Loss,13000,0.013345377519726753 +SV100-GT,camp_warmup,Train Loss,13500,0.010848382487893105 +SV100-GT,camp_warmup,Train Loss,14000,0.013177658431231976 +SV100-GT,camp_warmup,Train Loss,14500,0.009353799745440483 +SV100-GT,camp_warmup,Train Loss,15000,0.010106319561600685 +SV100-GT,camp_warmup,Train Loss,15500,0.012043706141412258 +SV100-GT,camp_warmup,Train Loss,16000,0.011340510100126266 +SV100-GT,camp_warmup,Train Loss,16500,0.010553842410445213 +SV100-GT,camp_warmup,Train Loss,17000,0.00838377047330141 +SV100-GT,camp_warmup,Train Loss,17500,0.007944399490952492 +SV100-GT,camp_warmup,Train Loss,18000,0.009583692997694016 +SV100-GT,camp_warmup,Train Loss,18500,0.00893495511263609 +SV100-GT,camp_warmup,Train Loss,19000,0.006681968457996845 +SV100-GT,camp_warmup,Train Loss,19500,0.011088903993368149 +SV100-GT,camp_warmup,Train Loss,20000,0.008126642554998398 +SV100-GT,camp_warmup,Train Loss,20500,0.008397634141147137 +SV100-GT,camp_warmup,Train Loss,21000,0.008823897689580917 +SV100-GT,camp_warmup,Train Loss,21500,0.0062487805262207985 +SV100-GT,camp_warmup,Train Loss,22000,0.010076597332954407 +SV100-GT,camp_warmup,Train Loss,22500,0.006497706286609173 +SV100-GT,camp_warmup,Train Loss,23000,0.008204510435461998 +SV100-GT,camp_warmup,Train Loss,23500,0.008003541268408298 +SV100-GT,camp_warmup,Train Loss,24000,0.007285802625119686 +SV100-GT,camp_warmup,Train Loss,24500,0.007998840883374214 +SV100-GT,camp_warmup,Train Loss,25000,0.008679395541548729 +SV100-GT,camp_warmup,Train Loss,25500,0.007181789726018906 +SV100-GT,camp_warmup,Train Loss,26000,0.00644594244658947 +SV100-GT,camp_warmup,Train Loss,26500,0.0060783508233726025 +SV100-GT,camp_warmup,Train Loss,27000,0.006549971178174019 +SV100-GT,camp_warmup,Train Loss,27500,0.006125116720795631 +SV100-GT,camp_warmup,Train Loss,28000,0.00631727697327733 +SV100-GT,camp_warmup,Train Loss,28500,0.006218403577804565 +SV100-GT,camp_warmup,Train Loss,29000,0.008358469232916832 +SV100-GT,camp_warmup,Train Loss,29500,0.00771754514425993 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,500,16.374404907226562 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,1000,19.10477638244629 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,1500,19.312978744506836 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,2000,19.08307647705078 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,2500,19.57541847229004 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,3000,19.32457160949707 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,3500,18.681537628173828 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,4000,20.81707000732422 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,4500,20.67490005493164 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,5000,19.674755096435547 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,5500,21.231504440307617 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,6000,20.95119857788086 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,6500,22.31169891357422 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,7000,21.312053680419922 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,7500,23.45624351501465 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,8000,23.231712341308594 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,8500,22.230979919433594 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,9000,22.30182647705078 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,9500,21.482738494873047 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,10000,21.850082397460938 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,10500,22.76467514038086 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,11000,20.993663787841797 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,11500,22.180347442626953 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,12000,20.123790740966797 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,12500,21.196718215942383 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,13000,20.740556716918945 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,13500,20.766786575317383 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,14000,21.5593204498291 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,14500,21.465904235839844 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,15000,22.94662857055664 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,15500,22.444414138793945 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,16000,20.25101089477539 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,16500,22.532913208007812 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,17000,23.806198120117188 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,17500,22.767169952392578 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,18000,22.968347549438477 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,18500,22.73647689819336 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,19000,23.355316162109375 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,19500,20.973445892333984 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,20000,22.10732650756836 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,20500,22.926895141601562 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,21000,23.735570907592773 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,21500,23.169090270996094 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,22000,20.543561935424805 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,22500,20.50821876525879 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,23000,20.3981876373291 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,23500,20.576282501220703 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,24000,21.59507942199707 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,24500,21.713537216186523 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,25000,20.80335235595703 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,25500,22.104780197143555 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,26000,19.71234703063965 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,26500,20.195568084716797 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,27000,21.893619537353516 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,27500,20.41623878479004 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,28000,21.990257263183594 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,28500,20.367042541503906 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,29000,22.768585205078125 +SV100-GT,camp_warmup,Eval Images Metrics/fine_psnr,29500,20.314435958862305 +SV100-GT,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,21.724214553833008 +SV100-GT,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.8009471297264099 +SV100-GT,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.12426281720399857 +SV100-T0.5,fixed,Train Loss,0,0.34264153242111206 +SV100-T0.5,fixed,Train Loss,50,0.31662100553512573 +SV100-T0.5,fixed,Train Loss,100,0.1778816133737564 +SV100-T0.5,fixed,Train Loss,150,0.17647840082645416 +SV100-T0.5,fixed,Train Loss,200,0.1761985570192337 +SV100-T0.5,fixed,Train Loss,250,0.16455677151679993 +SV100-T0.5,fixed,Train Loss,300,0.13495542109012604 +SV100-T0.5,fixed,Train Loss,350,0.09025637805461884 +SV100-T0.5,fixed,Train Loss,400,0.06411378085613251 +SV100-T0.5,fixed,Train Loss,450,0.053435634821653366 +SV100-T0.5,fixed,Train Loss,500,0.03963417559862137 +SV100-T0.5,fixed,Train Loss,550,0.045595698058605194 +SV100-T0.5,fixed,Train Loss,600,0.0387108251452446 +SV100-T0.5,fixed,Train Loss,650,0.03153449669480324 +SV100-T0.5,fixed,Train Loss,700,0.03495100513100624 +SV100-T0.5,fixed,Train Loss,750,0.03544040024280548 +SV100-T0.5,fixed,Train Loss,800,0.03179652988910675 +SV100-T0.5,fixed,Train Loss,850,0.028042379766702652 +SV100-T0.5,fixed,Train Loss,900,0.026247374713420868 +SV100-T0.5,fixed,Train Loss,950,0.03379110246896744 +SV100-T0.5,fixed,Train Loss,1000,0.026946894824504852 +SV100-T0.5,fixed,Train Loss,1050,0.022464757785201073 +SV100-T0.5,fixed,Train Loss,1100,0.022914689034223557 +SV100-T0.5,fixed,Train Loss,1150,0.025507818907499313 +SV100-T0.5,fixed,Train Loss,1200,0.03215499967336655 +SV100-T0.5,fixed,Train Loss,1250,0.02858727052807808 +SV100-T0.5,fixed,Train Loss,1300,0.022802667692303658 +SV100-T0.5,fixed,Train Loss,1350,0.02618558332324028 +SV100-T0.5,fixed,Train Loss,1400,0.0266867782920599 +SV100-T0.5,fixed,Train Loss,1450,0.027146674692630768 +SV100-T0.5,fixed,Train Loss,1500,0.023017778992652893 +SV100-T0.5,fixed,Train Loss,1550,0.022162115201354027 +SV100-T0.5,fixed,Train Loss,1600,0.02113538235425949 +SV100-T0.5,fixed,Train Loss,1650,0.02240331843495369 +SV100-T0.5,fixed,Train Loss,1700,0.02370307222008705 +SV100-T0.5,fixed,Train Loss,1750,0.024424731731414795 +SV100-T0.5,fixed,Train Loss,1800,0.02182028815150261 +SV100-T0.5,fixed,Train Loss,1850,0.02139819785952568 +SV100-T0.5,fixed,Train Loss,1900,0.0220711138099432 +SV100-T0.5,fixed,Train Loss,1950,0.024723226204514503 +SV100-T0.5,fixed,Train Loss,2000,0.023310068994760513 +SV100-T0.5,fixed,Train Loss,2050,0.018692269921302795 +SV100-T0.5,fixed,Train Loss,2100,0.020126231014728546 +SV100-T0.5,fixed,Train Loss,2150,0.02215397357940674 +SV100-T0.5,fixed,Train Loss,2200,0.026092370972037315 +SV100-T0.5,fixed,Train Loss,2250,0.019444551318883896 +SV100-T0.5,fixed,Train Loss,2300,0.020231831818819046 +SV100-T0.5,fixed,Train Loss,2350,0.024506427347660065 +SV100-T0.5,fixed,Train Loss,2400,0.019275210797786713 +SV100-T0.5,fixed,Train Loss,2450,0.019487086683511734 +SV100-T0.5,fixed,Train Loss,2500,0.02010480687022209 +SV100-T0.5,fixed,Train Loss,2550,0.025663968175649643 +SV100-T0.5,fixed,Train Loss,2600,0.02336994558572769 +SV100-T0.5,fixed,Train Loss,2650,0.021404530853033066 +SV100-T0.5,fixed,Train Loss,2700,0.016994060948491096 +SV100-T0.5,fixed,Train Loss,2750,0.014778055250644684 +SV100-T0.5,fixed,Train Loss,2800,0.0220276340842247 +SV100-T0.5,fixed,Train Loss,2850,0.01885637268424034 +SV100-T0.5,fixed,Train Loss,2900,0.0175478458404541 +SV100-T0.5,fixed,Train Loss,2950,0.016498394310474396 +SV100-T0.5,fixed,Train Loss,3000,0.01453462801873684 +SV100-T0.5,fixed,Train Loss,3050,0.018236573785543442 +SV100-T0.5,fixed,Train Loss,3100,0.016261251643300056 +SV100-T0.5,fixed,Train Loss,3150,0.016130585223436356 +SV100-T0.5,fixed,Train Loss,3200,0.013092062436044216 +SV100-T0.5,fixed,Train Loss,3250,0.018643345683813095 +SV100-T0.5,fixed,Train Loss,3300,0.018605519086122513 +SV100-T0.5,fixed,Train Loss,3350,0.019919991493225098 +SV100-T0.5,fixed,Train Loss,3400,0.01889064721763134 +SV100-T0.5,fixed,Train Loss,3450,0.020290803164243698 +SV100-T0.5,fixed,Train Loss,3500,0.017091844230890274 +SV100-T0.5,fixed,Train Loss,3550,0.01758033223450184 +SV100-T0.5,fixed,Train Loss,3600,0.015858445316553116 +SV100-T0.5,fixed,Train Loss,3650,0.018341301009058952 +SV100-T0.5,fixed,Train Loss,3700,0.016626575961709023 +SV100-T0.5,fixed,Train Loss,3750,0.014479173347353935 +SV100-T0.5,fixed,Train Loss,3800,0.01680067740380764 +SV100-T0.5,fixed,Train Loss,3850,0.015700727701187134 +SV100-T0.5,fixed,Train Loss,3900,0.01696016639471054 +SV100-T0.5,fixed,Train Loss,3950,0.01413955632597208 +SV100-T0.5,fixed,Train Loss,4000,0.01721341721713543 +SV100-T0.5,fixed,Train Loss,4050,0.015692077577114105 +SV100-T0.5,fixed,Train Loss,4100,0.015423761680722237 +SV100-T0.5,fixed,Train Loss,4150,0.018938764929771423 +SV100-T0.5,fixed,Train Loss,4200,0.016468292102217674 +SV100-T0.5,fixed,Train Loss,4250,0.01463010348379612 +SV100-T0.5,fixed,Train Loss,4300,0.015566090121865273 +SV100-T0.5,fixed,Train Loss,4350,0.015611418522894382 +SV100-T0.5,fixed,Train Loss,4400,0.016665171831846237 +SV100-T0.5,fixed,Train Loss,4450,0.01477641798555851 +SV100-T0.5,fixed,Train Loss,4500,0.01618054509162903 +SV100-T0.5,fixed,Train Loss,4550,0.01589139923453331 +SV100-T0.5,fixed,Train Loss,4600,0.01599850505590439 +SV100-T0.5,fixed,Train Loss,4650,0.016409985721111298 +SV100-T0.5,fixed,Train Loss,4700,0.01772482320666313 +SV100-T0.5,fixed,Train Loss,4750,0.015212872065603733 +SV100-T0.5,fixed,Train Loss,4800,0.01498678419739008 +SV100-T0.5,fixed,Train Loss,4850,0.01791694574058056 +SV100-T0.5,fixed,Train Loss,4900,0.014223571866750717 +SV100-T0.5,fixed,Train Loss,4950,0.015997281298041344 +SV100-T0.5,fixed,Train Loss,5000,0.015121417120099068 +SV100-T0.5,fixed,Train Loss,5500,0.013581170700490475 +SV100-T0.5,fixed,Train Loss,6000,0.011274117045104504 +SV100-T0.5,fixed,Train Loss,6500,0.016308985650539398 +SV100-T0.5,fixed,Train Loss,7000,0.01269595231860876 +SV100-T0.5,fixed,Train Loss,7500,0.017694832757115364 +SV100-T0.5,fixed,Train Loss,8000,0.013838501647114754 +SV100-T0.5,fixed,Train Loss,8500,0.013143075630068779 +SV100-T0.5,fixed,Train Loss,9000,0.01935894787311554 +SV100-T0.5,fixed,Train Loss,9500,0.015249928459525108 +SV100-T0.5,fixed,Train Loss,10000,0.016265472397208214 +SV100-T0.5,fixed,Train Loss,10500,0.012074491009116173 +SV100-T0.5,fixed,Train Loss,11000,0.012646500021219254 +SV100-T0.5,fixed,Train Loss,11500,0.012625081464648247 +SV100-T0.5,fixed,Train Loss,12000,0.010612164624035358 +SV100-T0.5,fixed,Train Loss,12500,0.013519062660634518 +SV100-T0.5,fixed,Train Loss,13000,0.012176426127552986 +SV100-T0.5,fixed,Train Loss,13500,0.013992128893733025 +SV100-T0.5,fixed,Train Loss,14000,0.013005911372601986 +SV100-T0.5,fixed,Train Loss,14500,0.010703546926379204 +SV100-T0.5,fixed,Train Loss,15000,0.012470895424485207 +SV100-T0.5,fixed,Train Loss,15500,0.012212962843477726 +SV100-T0.5,fixed,Train Loss,16000,0.012826094403862953 +SV100-T0.5,fixed,Train Loss,16500,0.009889274835586548 +SV100-T0.5,fixed,Train Loss,17000,0.010715289041399956 +SV100-T0.5,fixed,Train Loss,17500,0.012036499567329884 +SV100-T0.5,fixed,Train Loss,18000,0.011038880795240402 +SV100-T0.5,fixed,Train Loss,18500,0.013005973771214485 +SV100-T0.5,fixed,Train Loss,19000,0.011715620756149292 +SV100-T0.5,fixed,Train Loss,19500,0.012307262048125267 +SV100-T0.5,fixed,Train Loss,20000,0.010786037892103195 +SV100-T0.5,fixed,Train Loss,20500,0.009975573979318142 +SV100-T0.5,fixed,Train Loss,21000,0.012770568951964378 +SV100-T0.5,fixed,Train Loss,21500,0.011357930488884449 +SV100-T0.5,fixed,Train Loss,22000,0.012295883148908615 +SV100-T0.5,fixed,Train Loss,22500,0.011119086295366287 +SV100-T0.5,fixed,Train Loss,23000,0.01167825236916542 +SV100-T0.5,fixed,Train Loss,23500,0.012147891335189342 +SV100-T0.5,fixed,Train Loss,24000,0.01295408420264721 +SV100-T0.5,fixed,Train Loss,24500,0.013934927061200142 +SV100-T0.5,fixed,Train Loss,25000,0.01002436876296997 +SV100-T0.5,fixed,Train Loss,25500,0.011057774536311626 +SV100-T0.5,fixed,Train Loss,26000,0.011516222730278969 +SV100-T0.5,fixed,Train Loss,26500,0.010019443929195404 +SV100-T0.5,fixed,Train Loss,27000,0.009935670532286167 +SV100-T0.5,fixed,Train Loss,27500,0.010275223292410374 +SV100-T0.5,fixed,Train Loss,28000,0.010814500972628593 +SV100-T0.5,fixed,Train Loss,28500,0.011028226464986801 +SV100-T0.5,fixed,Train Loss,29000,0.010936901904642582 +SV100-T0.5,fixed,Train Loss,29500,0.011899788863956928 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,500,16.86693000793457 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,1000,18.55624008178711 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,1500,18.27663803100586 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,2000,20.13467025756836 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,2500,19.78209686279297 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,3000,21.560556411743164 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,3500,22.00173568725586 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,4000,21.81749725341797 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,4500,22.773731231689453 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,5000,22.630186080932617 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,5500,22.836002349853516 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,6000,22.58892822265625 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,6500,22.582557678222656 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,7000,22.0444393157959 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,7500,23.49127197265625 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,8000,22.690797805786133 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,8500,22.6151123046875 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,9000,22.796733856201172 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,9500,22.882009506225586 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,10000,23.518085479736328 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,10500,22.930953979492188 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,11000,25.04939842224121 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,11500,24.705791473388672 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,12000,23.576993942260742 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,12500,23.292814254760742 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,13000,23.053573608398438 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,13500,23.123796463012695 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,14000,24.687976837158203 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,14500,23.569475173950195 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,15000,24.420276641845703 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,15500,22.524423599243164 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,16000,23.35342025756836 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,16500,23.784412384033203 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,17000,23.720197677612305 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,17500,23.13407325744629 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,18000,23.968700408935547 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,18500,23.824298858642578 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,19000,23.855205535888672 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,19500,22.99081039428711 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,20000,23.120960235595703 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,20500,22.996305465698242 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,21000,24.36318588256836 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,21500,23.67523765563965 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,22000,23.450979232788086 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,22500,24.82086944580078 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,23000,24.017127990722656 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,23500,24.03534698486328 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,24000,24.320466995239258 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,24500,23.234785079956055 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,25000,23.427019119262695 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,25500,22.916032791137695 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,26000,23.90947151184082 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,26500,23.304338455200195 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,27000,23.2609806060791 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,27500,23.001617431640625 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,28000,24.056255340576172 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,28500,22.129884719848633 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,29000,23.73027992248535 +SV100-T0.5,fixed,Eval Images Metrics/fine_psnr,29500,22.571674346923828 +SV100-T0.5,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,23.424413681030273 +SV100-T0.5,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.8243168592453003 +SV100-T0.5,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.19004669785499573 +SV100-T0.5,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-T0.5,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-T0.5,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-T0.5,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-T0.5,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-T0.5,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-T0.5,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-T0.5,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-T0.5,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-T0.5,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-T0.5,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-T0.5,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-T0.5,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-T0.5,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-T0.5,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-T0.5,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-T0.5,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-T0.5,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-T0.5,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-T0.5,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-T0.5,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-T0.5,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-T0.5,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-T0.5,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-T0.5,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-T0.5,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-T0.5,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-T0.5,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-T0.5,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-T0.5,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-T0.5,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-T0.5,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-T0.5,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-T0.5,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-T0.5,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-T0.5,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-T0.5,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-T0.5,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-T0.5,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-T0.5,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-T0.5,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-T0.5,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-T0.5,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-T0.5,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-T0.5,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-T0.5,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-T0.5,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-T0.5,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-T0.5,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-T0.5,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-T0.5,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-T0.5,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-T0.5,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-T0.5,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-T0.5,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-T0.5,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-T0.5,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-T0.5,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-T0.5,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-T0.5,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-T0.5,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-T0.5,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-T0.5,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-T0.5,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-T0.5,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-T0.5,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-T0.5,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-T0.5,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-T0.5,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-T0.5,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-T0.5,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-T0.5,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-T0.5,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-T0.5,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-T0.5,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-T0.5,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-T0.5,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-T0.5,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-T0.5,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-T0.5,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-T0.5,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-T0.5,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-T0.5,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-T0.5,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-T0.5,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-T0.5,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-T0.5,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-T0.5,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-T0.5,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-T0.5,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-T0.5,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-T0.5,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-T0.5,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-T0.5,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-T0.5,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-T0.5,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-T0.5,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-T0.5,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-T0.5,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-T0.5,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-T0.5,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-T0.5,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-T0.5,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-T0.5,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-T0.5,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-T0.5,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-T0.5,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-T0.5,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-T0.5,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-T0.5,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-T0.5,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-T0.5,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-T0.5,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-T0.5,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-T0.5,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-T0.5,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-T0.5,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-T0.5,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-T0.5,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-T0.5,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-T0.5,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-T0.5,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-T0.5,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-T0.5,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-T0.5,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-T0.5,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-T0.5,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-T0.5,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-T0.5,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-T0.5,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-T0.5,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-T0.5,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-T0.5,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-T0.5,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-T0.5,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-T0.5,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-T0.5,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-T0.5,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-T0.5,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-T0.5,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-T0.5,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-T0.5,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-T0.5,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-T0.5,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-T0.5,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-T0.5,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-T0.5,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-T0.5,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-T0.5,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-T0.5,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-T0.5,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T0.5,naive,Train Loss,0,0.3421424925327301 +SV100-T0.5,naive,Train Loss,50,0.3184121251106262 +SV100-T0.5,naive,Train Loss,100,0.18483993411064148 +SV100-T0.5,naive,Train Loss,150,0.17696045339107513 +SV100-T0.5,naive,Train Loss,200,0.16464772820472717 +SV100-T0.5,naive,Train Loss,250,0.15400643646717072 +SV100-T0.5,naive,Train Loss,300,0.1477804332971573 +SV100-T0.5,naive,Train Loss,350,0.10137797892093658 +SV100-T0.5,naive,Train Loss,400,0.09165887534618378 +SV100-T0.5,naive,Train Loss,450,0.09106091409921646 +SV100-T0.5,naive,Train Loss,500,0.07586267590522766 +SV100-T0.5,naive,Train Loss,550,0.08048348128795624 +SV100-T0.5,naive,Train Loss,600,0.0748782530426979 +SV100-T0.5,naive,Train Loss,650,0.07766975462436676 +SV100-T0.5,naive,Train Loss,700,0.07473290711641312 +SV100-T0.5,naive,Train Loss,750,0.06828176975250244 +SV100-T0.5,naive,Train Loss,800,0.0801057443022728 +SV100-T0.5,naive,Train Loss,850,0.06726934760808945 +SV100-T0.5,naive,Train Loss,900,0.05609112232923508 +SV100-T0.5,naive,Train Loss,950,0.06752118468284607 +SV100-T0.5,naive,Train Loss,1000,0.05417947843670845 +SV100-T0.5,naive,Train Loss,1050,0.052103325724601746 +SV100-T0.5,naive,Train Loss,1100,0.052718233317136765 +SV100-T0.5,naive,Train Loss,1150,0.05401528626680374 +SV100-T0.5,naive,Train Loss,1200,0.04361696168780327 +SV100-T0.5,naive,Train Loss,1250,0.048209235072135925 +SV100-T0.5,naive,Train Loss,1300,0.050152309238910675 +SV100-T0.5,naive,Train Loss,1350,0.05337224155664444 +SV100-T0.5,naive,Train Loss,1400,0.04950929060578346 +SV100-T0.5,naive,Train Loss,1450,0.035034194588661194 +SV100-T0.5,naive,Train Loss,1500,0.04491514712572098 +SV100-T0.5,naive,Train Loss,1550,0.049668774008750916 +SV100-T0.5,naive,Train Loss,1600,0.043829210102558136 +SV100-T0.5,naive,Train Loss,1650,0.03962690010666847 +SV100-T0.5,naive,Train Loss,1700,0.044233888387680054 +SV100-T0.5,naive,Train Loss,1750,0.03862195089459419 +SV100-T0.5,naive,Train Loss,1800,0.03774939477443695 +SV100-T0.5,naive,Train Loss,1850,0.028565529733896255 +SV100-T0.5,naive,Train Loss,1900,0.03537052869796753 +SV100-T0.5,naive,Train Loss,1950,0.03679307922720909 +SV100-T0.5,naive,Train Loss,2000,0.031041499227285385 +SV100-T0.5,naive,Train Loss,2050,0.029682347550988197 +SV100-T0.5,naive,Train Loss,2100,0.034441880881786346 +SV100-T0.5,naive,Train Loss,2150,0.035087376832962036 +SV100-T0.5,naive,Train Loss,2200,0.03439151123166084 +SV100-T0.5,naive,Train Loss,2250,0.026534272357821465 +SV100-T0.5,naive,Train Loss,2300,0.029025549069046974 +SV100-T0.5,naive,Train Loss,2350,0.03336015343666077 +SV100-T0.5,naive,Train Loss,2400,0.02836080640554428 +SV100-T0.5,naive,Train Loss,2450,0.02880769595503807 +SV100-T0.5,naive,Train Loss,2500,0.025077294558286667 +SV100-T0.5,naive,Train Loss,2550,0.03107636049389839 +SV100-T0.5,naive,Train Loss,2600,0.033079151064157486 +SV100-T0.5,naive,Train Loss,2650,0.029043124988675117 +SV100-T0.5,naive,Train Loss,2700,0.030372098088264465 +SV100-T0.5,naive,Train Loss,2750,0.025765907019376755 +SV100-T0.5,naive,Train Loss,2800,0.02883809432387352 +SV100-T0.5,naive,Train Loss,2850,0.029461143538355827 +SV100-T0.5,naive,Train Loss,2900,0.02492251992225647 +SV100-T0.5,naive,Train Loss,2950,0.02829795330762863 +SV100-T0.5,naive,Train Loss,3000,0.026404425501823425 +SV100-T0.5,naive,Train Loss,3050,0.024306681007146835 +SV100-T0.5,naive,Train Loss,3100,0.025095243006944656 +SV100-T0.5,naive,Train Loss,3150,0.027611585333943367 +SV100-T0.5,naive,Train Loss,3200,0.026497196406126022 +SV100-T0.5,naive,Train Loss,3250,0.022181188687682152 +SV100-T0.5,naive,Train Loss,3300,0.021829022094607353 +SV100-T0.5,naive,Train Loss,3350,0.026969891041517258 +SV100-T0.5,naive,Train Loss,3400,0.023486299440264702 +SV100-T0.5,naive,Train Loss,3450,0.02453744411468506 +SV100-T0.5,naive,Train Loss,3500,0.02031579613685608 +SV100-T0.5,naive,Train Loss,3550,0.02342972531914711 +SV100-T0.5,naive,Train Loss,3600,0.02437252178788185 +SV100-T0.5,naive,Train Loss,3650,0.023869553580880165 +SV100-T0.5,naive,Train Loss,3700,0.022293992340564728 +SV100-T0.5,naive,Train Loss,3750,0.0202071163803339 +SV100-T0.5,naive,Train Loss,3800,0.02518085390329361 +SV100-T0.5,naive,Train Loss,3850,0.02069106325507164 +SV100-T0.5,naive,Train Loss,3900,0.027451591566205025 +SV100-T0.5,naive,Train Loss,3950,0.0188557468354702 +SV100-T0.5,naive,Train Loss,4000,0.022575337439775467 +SV100-T0.5,naive,Train Loss,4050,0.01770450547337532 +SV100-T0.5,naive,Train Loss,4100,0.021669212728738785 +SV100-T0.5,naive,Train Loss,4150,0.020391367375850677 +SV100-T0.5,naive,Train Loss,4200,0.022455653175711632 +SV100-T0.5,naive,Train Loss,4250,0.02549581602215767 +SV100-T0.5,naive,Train Loss,4300,0.01862429454922676 +SV100-T0.5,naive,Train Loss,4350,0.017584852874279022 +SV100-T0.5,naive,Train Loss,4400,0.01835988648235798 +SV100-T0.5,naive,Train Loss,4450,0.01993764564394951 +SV100-T0.5,naive,Train Loss,4500,0.020744409412145615 +SV100-T0.5,naive,Train Loss,4550,0.019879912957549095 +SV100-T0.5,naive,Train Loss,4600,0.02144114300608635 +SV100-T0.5,naive,Train Loss,4650,0.022803129628300667 +SV100-T0.5,naive,Train Loss,4700,0.01923736371099949 +SV100-T0.5,naive,Train Loss,4750,0.01938498392701149 +SV100-T0.5,naive,Train Loss,4800,0.01769949495792389 +SV100-T0.5,naive,Train Loss,4850,0.015521354973316193 +SV100-T0.5,naive,Train Loss,4900,0.02015942893922329 +SV100-T0.5,naive,Train Loss,4950,0.01873701624572277 +SV100-T0.5,naive,Train Loss,5000,0.019203469157218933 +SV100-T0.5,naive,Train Loss,5500,0.01685260236263275 +SV100-T0.5,naive,Train Loss,6000,0.014204778708517551 +SV100-T0.5,naive,Train Loss,6500,0.0176986213773489 +SV100-T0.5,naive,Train Loss,7000,0.016397491097450256 +SV100-T0.5,naive,Train Loss,7500,0.014664853923022747 +SV100-T0.5,naive,Train Loss,8000,0.012290753424167633 +SV100-T0.5,naive,Train Loss,8500,0.016010843217372894 +SV100-T0.5,naive,Train Loss,9000,0.01568666659295559 +SV100-T0.5,naive,Train Loss,9500,0.014403589069843292 +SV100-T0.5,naive,Train Loss,10000,0.014031547121703625 +SV100-T0.5,naive,Train Loss,10500,0.011172736994922161 +SV100-T0.5,naive,Train Loss,11000,0.010276159271597862 +SV100-T0.5,naive,Train Loss,11500,0.010477352887392044 +SV100-T0.5,naive,Train Loss,12000,0.008256295695900917 +SV100-T0.5,naive,Train Loss,12500,0.013504773378372192 +SV100-T0.5,naive,Train Loss,13000,0.011367004364728928 +SV100-T0.5,naive,Train Loss,13500,0.010686228051781654 +SV100-T0.5,naive,Train Loss,14000,0.01123012788593769 +SV100-T0.5,naive,Train Loss,14500,0.009408792480826378 +SV100-T0.5,naive,Train Loss,15000,0.0077410354278981686 +SV100-T0.5,naive,Train Loss,15500,0.010047240182757378 +SV100-T0.5,naive,Train Loss,16000,0.010612597689032555 +SV100-T0.5,naive,Train Loss,16500,0.008054731413722038 +SV100-T0.5,naive,Train Loss,17000,0.006330639123916626 +SV100-T0.5,naive,Train Loss,17500,0.007711276412010193 +SV100-T0.5,naive,Train Loss,18000,0.007840537466108799 +SV100-T0.5,naive,Train Loss,18500,0.008396233431994915 +SV100-T0.5,naive,Train Loss,19000,0.008106166496872902 +SV100-T0.5,naive,Train Loss,19500,0.011117808520793915 +SV100-T0.5,naive,Train Loss,20000,0.007097375579178333 +SV100-T0.5,naive,Train Loss,20500,0.0071205860003829 +SV100-T0.5,naive,Train Loss,21000,0.006970227230340242 +SV100-T0.5,naive,Train Loss,21500,0.0065466840751469135 +SV100-T0.5,naive,Train Loss,22000,0.010501092299818993 +SV100-T0.5,naive,Train Loss,22500,0.0072267488576471806 +SV100-T0.5,naive,Train Loss,23000,0.007088846992701292 +SV100-T0.5,naive,Train Loss,23500,0.0068679871037602425 +SV100-T0.5,naive,Train Loss,24000,0.006971674971282482 +SV100-T0.5,naive,Train Loss,24500,0.006877490319311619 +SV100-T0.5,naive,Train Loss,25000,0.007519577629864216 +SV100-T0.5,naive,Train Loss,25500,0.007246066816151142 +SV100-T0.5,naive,Train Loss,26000,0.006262362468987703 +SV100-T0.5,naive,Train Loss,26500,0.005704993847757578 +SV100-T0.5,naive,Train Loss,27000,0.0072097196243703365 +SV100-T0.5,naive,Train Loss,27500,0.006210358813405037 +SV100-T0.5,naive,Train Loss,28000,0.006436656694859266 +SV100-T0.5,naive,Train Loss,28500,0.0065315100364387035 +SV100-T0.5,naive,Train Loss,29000,0.008323303423821926 +SV100-T0.5,naive,Train Loss,29500,0.007304957136511803 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,500,15.259743690490723 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,1000,16.93885612487793 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,1500,18.31235122680664 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,2000,18.786767959594727 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,2500,18.888309478759766 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,3000,19.594032287597656 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,3500,16.3986873626709 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,4000,21.403118133544922 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,4500,18.708860397338867 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,5000,16.446319580078125 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,5500,20.78611946105957 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,6000,19.219377517700195 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,6500,22.38372039794922 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,7000,18.00927734375 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,7500,20.60601806640625 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,8000,20.098695755004883 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,8500,23.169214248657227 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,9000,18.953041076660156 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,9500,21.072694778442383 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,10000,21.088937759399414 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,10500,19.23238182067871 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,11000,17.17226791381836 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,11500,19.108966827392578 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,12000,16.092924118041992 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,12500,18.083282470703125 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,13000,17.414226531982422 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,13500,17.27433204650879 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,14000,19.56308364868164 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,14500,18.619548797607422 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,15000,21.477895736694336 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,15500,20.662830352783203 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,16000,16.060216903686523 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,16500,24.377946853637695 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,17000,17.76677703857422 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,17500,17.62449836730957 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,18000,17.447242736816406 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,18500,25.6143798828125 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,19000,21.17431640625 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,19500,17.02978515625 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,20000,24.698631286621094 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,20500,21.9034366607666 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,21000,17.640607833862305 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,21500,20.82428741455078 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,22000,17.926490783691406 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,22500,16.784259796142578 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,23000,17.68236541748047 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,23500,17.830617904663086 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,24000,19.607681274414062 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,24500,25.58368492126465 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,25000,16.816320419311523 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,25500,20.502277374267578 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,26000,16.592069625854492 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,26500,19.12854766845703 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,27000,23.89502716064453 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,27500,16.74574851989746 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,28000,18.415132522583008 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,28500,16.60411834716797 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,29000,17.373249053955078 +SV100-T0.5,naive,Eval Images Metrics/fine_psnr,29500,16.979801177978516 +SV100-T0.5,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,19.057022094726562 +SV100-T0.5,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.765534520149231 +SV100-T0.5,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.14359693229198456 +SV100-T0.5,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-T0.5,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-T0.5,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-T0.5,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-T0.5,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-T0.5,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-T0.5,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-T0.5,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-T0.5,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-T0.5,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-T0.5,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-T0.5,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-T0.5,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-T0.5,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-T0.5,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-T0.5,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-T0.5,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-T0.5,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-T0.5,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-T0.5,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-T0.5,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-T0.5,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-T0.5,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-T0.5,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-T0.5,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-T0.5,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-T0.5,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-T0.5,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-T0.5,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-T0.5,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-T0.5,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-T0.5,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-T0.5,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-T0.5,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-T0.5,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-T0.5,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-T0.5,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-T0.5,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-T0.5,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-T0.5,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-T0.5,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-T0.5,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-T0.5,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-T0.5,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-T0.5,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-T0.5,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-T0.5,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-T0.5,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-T0.5,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-T0.5,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-T0.5,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-T0.5,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-T0.5,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-T0.5,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-T0.5,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-T0.5,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-T0.5,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-T0.5,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-T0.5,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-T0.5,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-T0.5,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-T0.5,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-T0.5,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-T0.5,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-T0.5,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-T0.5,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-T0.5,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-T0.5,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-T0.5,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-T0.5,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-T0.5,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-T0.5,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-T0.5,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-T0.5,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-T0.5,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-T0.5,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-T0.5,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-T0.5,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-T0.5,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-T0.5,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-T0.5,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-T0.5,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-T0.5,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-T0.5,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-T0.5,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-T0.5,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-T0.5,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-T0.5,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-T0.5,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-T0.5,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-T0.5,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-T0.5,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-T0.5,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-T0.5,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-T0.5,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-T0.5,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-T0.5,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-T0.5,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-T0.5,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-T0.5,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-T0.5,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-T0.5,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-T0.5,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-T0.5,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-T0.5,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-T0.5,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-T0.5,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-T0.5,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-T0.5,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-T0.5,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-T0.5,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-T0.5,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-T0.5,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-T0.5,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-T0.5,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-T0.5,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-T0.5,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-T0.5,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-T0.5,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-T0.5,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-T0.5,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-T0.5,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-T0.5,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-T0.5,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-T0.5,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-T0.5,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-T0.5,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-T0.5,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-T0.5,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-T0.5,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-T0.5,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-T0.5,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-T0.5,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-T0.5,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-T0.5,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-T0.5,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-T0.5,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-T0.5,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-T0.5,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-T0.5,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-T0.5,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-T0.5,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-T0.5,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-T0.5,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-T0.5,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-T0.5,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-T0.5,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-T0.5,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-T0.5,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-T0.5,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-T0.5,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T0.5,camp,Train Loss,0,0.3421424925327301 +SV100-T0.5,camp,Train Loss,50,0.31841331720352173 +SV100-T0.5,camp,Train Loss,100,0.18477599322795868 +SV100-T0.5,camp,Train Loss,150,0.1770402193069458 +SV100-T0.5,camp,Train Loss,200,0.1642301082611084 +SV100-T0.5,camp,Train Loss,250,0.15384264290332794 +SV100-T0.5,camp,Train Loss,300,0.1454160511493683 +SV100-T0.5,camp,Train Loss,350,0.09461347758769989 +SV100-T0.5,camp,Train Loss,400,0.07942478358745575 +SV100-T0.5,camp,Train Loss,450,0.07584075629711151 +SV100-T0.5,camp,Train Loss,500,0.07318803668022156 +SV100-T0.5,camp,Train Loss,550,0.07356107234954834 +SV100-T0.5,camp,Train Loss,600,0.06922758370637894 +SV100-T0.5,camp,Train Loss,650,0.07224514335393906 +SV100-T0.5,camp,Train Loss,700,0.06936721503734589 +SV100-T0.5,camp,Train Loss,750,0.06850680708885193 +SV100-T0.5,camp,Train Loss,800,0.07591164112091064 +SV100-T0.5,camp,Train Loss,850,0.06358324736356735 +SV100-T0.5,camp,Train Loss,900,0.05519907921552658 +SV100-T0.5,camp,Train Loss,950,0.06396587193012238 +SV100-T0.5,camp,Train Loss,1000,0.05818716436624527 +SV100-T0.5,camp,Train Loss,1050,0.05044889450073242 +SV100-T0.5,camp,Train Loss,1100,0.05131867527961731 +SV100-T0.5,camp,Train Loss,1150,0.0612805038690567 +SV100-T0.5,camp,Train Loss,1200,0.05451403930783272 +SV100-T0.5,camp,Train Loss,1250,0.05877738818526268 +SV100-T0.5,camp,Train Loss,1300,0.056111082434654236 +SV100-T0.5,camp,Train Loss,1350,0.05671793967485428 +SV100-T0.5,camp,Train Loss,1400,0.052357904613018036 +SV100-T0.5,camp,Train Loss,1450,0.04233235865831375 +SV100-T0.5,camp,Train Loss,1500,0.04678279906511307 +SV100-T0.5,camp,Train Loss,1550,0.054950546473264694 +SV100-T0.5,camp,Train Loss,1600,0.048389725387096405 +SV100-T0.5,camp,Train Loss,1650,0.051487188786268234 +SV100-T0.5,camp,Train Loss,1700,0.0462353378534317 +SV100-T0.5,camp,Train Loss,1750,0.05101817846298218 +SV100-T0.5,camp,Train Loss,1800,0.04465632140636444 +SV100-T0.5,camp,Train Loss,1850,0.038609445095062256 +SV100-T0.5,camp,Train Loss,1900,0.04652027785778046 +SV100-T0.5,camp,Train Loss,1950,0.04152745380997658 +SV100-T0.5,camp,Train Loss,2000,0.04232748597860336 +SV100-T0.5,camp,Train Loss,2050,0.03910613805055618 +SV100-T0.5,camp,Train Loss,2100,0.043600499629974365 +SV100-T0.5,camp,Train Loss,2150,0.0442245714366436 +SV100-T0.5,camp,Train Loss,2200,0.043555356562137604 +SV100-T0.5,camp,Train Loss,2250,0.036138907074928284 +SV100-T0.5,camp,Train Loss,2300,0.03405696898698807 +SV100-T0.5,camp,Train Loss,2350,0.03714906424283981 +SV100-T0.5,camp,Train Loss,2400,0.035721711814403534 +SV100-T0.5,camp,Train Loss,2450,0.03854779899120331 +SV100-T0.5,camp,Train Loss,2500,0.034922439604997635 +SV100-T0.5,camp,Train Loss,2550,0.03753982111811638 +SV100-T0.5,camp,Train Loss,2600,0.03967929631471634 +SV100-T0.5,camp,Train Loss,2650,0.034380462020635605 +SV100-T0.5,camp,Train Loss,2700,0.03985069692134857 +SV100-T0.5,camp,Train Loss,2750,0.03516355901956558 +SV100-T0.5,camp,Train Loss,2800,0.038322605192661285 +SV100-T0.5,camp,Train Loss,2850,0.029965857043862343 +SV100-T0.5,camp,Train Loss,2900,0.028262529522180557 +SV100-T0.5,camp,Train Loss,2950,0.0331566259264946 +SV100-T0.5,camp,Train Loss,3000,0.034837640821933746 +SV100-T0.5,camp,Train Loss,3050,0.02734534628689289 +SV100-T0.5,camp,Train Loss,3100,0.029843520373106003 +SV100-T0.5,camp,Train Loss,3150,0.029206443578004837 +SV100-T0.5,camp,Train Loss,3200,0.030612044036388397 +SV100-T0.5,camp,Train Loss,3250,0.031092975288629532 +SV100-T0.5,camp,Train Loss,3300,0.02459001913666725 +SV100-T0.5,camp,Train Loss,3350,0.032399892807006836 +SV100-T0.5,camp,Train Loss,3400,0.03199978545308113 +SV100-T0.5,camp,Train Loss,3450,0.02977788634598255 +SV100-T0.5,camp,Train Loss,3500,0.02863260917365551 +SV100-T0.5,camp,Train Loss,3550,0.026905938982963562 +SV100-T0.5,camp,Train Loss,3600,0.028131943196058273 +SV100-T0.5,camp,Train Loss,3650,0.031110167503356934 +SV100-T0.5,camp,Train Loss,3700,0.02563341334462166 +SV100-T0.5,camp,Train Loss,3750,0.02701467275619507 +SV100-T0.5,camp,Train Loss,3800,0.029224177822470665 +SV100-T0.5,camp,Train Loss,3850,0.026177406311035156 +SV100-T0.5,camp,Train Loss,3900,0.030623141676187515 +SV100-T0.5,camp,Train Loss,3950,0.024991219863295555 +SV100-T0.5,camp,Train Loss,4000,0.032123863697052 +SV100-T0.5,camp,Train Loss,4050,0.023153236135840416 +SV100-T0.5,camp,Train Loss,4100,0.026099808514118195 +SV100-T0.5,camp,Train Loss,4150,0.02414681762456894 +SV100-T0.5,camp,Train Loss,4200,0.02350412867963314 +SV100-T0.5,camp,Train Loss,4250,0.029313120990991592 +SV100-T0.5,camp,Train Loss,4300,0.018549082800745964 +SV100-T0.5,camp,Train Loss,4350,0.022349543869495392 +SV100-T0.5,camp,Train Loss,4400,0.023767322301864624 +SV100-T0.5,camp,Train Loss,4450,0.023689325898885727 +SV100-T0.5,camp,Train Loss,4500,0.024457989260554314 +SV100-T0.5,camp,Train Loss,4550,0.02248379960656166 +SV100-T0.5,camp,Train Loss,4600,0.02359013631939888 +SV100-T0.5,camp,Train Loss,4650,0.020967768505215645 +SV100-T0.5,camp,Train Loss,4700,0.02353607304394245 +SV100-T0.5,camp,Train Loss,4750,0.020563095808029175 +SV100-T0.5,camp,Train Loss,4800,0.020755698904395103 +SV100-T0.5,camp,Train Loss,4850,0.019125379621982574 +SV100-T0.5,camp,Train Loss,4900,0.023664886131882668 +SV100-T0.5,camp,Train Loss,4950,0.02545604109764099 +SV100-T0.5,camp,Train Loss,5000,0.022575564682483673 +SV100-T0.5,camp,Train Loss,5500,0.02121344581246376 +SV100-T0.5,camp,Train Loss,6000,0.015177201479673386 +SV100-T0.5,camp,Train Loss,6500,0.018421372398734093 +SV100-T0.5,camp,Train Loss,7000,0.016222992911934853 +SV100-T0.5,camp,Train Loss,7500,0.018235452473163605 +SV100-T0.5,camp,Train Loss,8000,0.014543981291353703 +SV100-T0.5,camp,Train Loss,8500,0.012547457590699196 +SV100-T0.5,camp,Train Loss,9000,0.016256161034107208 +SV100-T0.5,camp,Train Loss,9500,0.011838427744805813 +SV100-T0.5,camp,Train Loss,10000,0.012536981143057346 +SV100-T0.5,camp,Train Loss,10500,0.012399351224303246 +SV100-T0.5,camp,Train Loss,11000,0.011390618979930878 +SV100-T0.5,camp,Train Loss,11500,0.010975047945976257 +SV100-T0.5,camp,Train Loss,12000,0.011285712011158466 +SV100-T0.5,camp,Train Loss,12500,0.015772223472595215 +SV100-T0.5,camp,Train Loss,13000,0.012166003696620464 +SV100-T0.5,camp,Train Loss,13500,0.01016128808259964 +SV100-T0.5,camp,Train Loss,14000,0.011835159733891487 +SV100-T0.5,camp,Train Loss,14500,0.011357294395565987 +SV100-T0.5,camp,Train Loss,15000,0.00929197296500206 +SV100-T0.5,camp,Train Loss,15500,0.010890793986618519 +SV100-T0.5,camp,Train Loss,16000,0.012648538686335087 +SV100-T0.5,camp,Train Loss,16500,0.009641852229833603 +SV100-T0.5,camp,Train Loss,17000,0.007662254385650158 +SV100-T0.5,camp,Train Loss,17500,0.0083039915189147 +SV100-T0.5,camp,Train Loss,18000,0.00865316390991211 +SV100-T0.5,camp,Train Loss,18500,0.008922112174332142 +SV100-T0.5,camp,Train Loss,19000,0.007530520670115948 +SV100-T0.5,camp,Train Loss,19500,0.009307356551289558 +SV100-T0.5,camp,Train Loss,20000,0.008453788235783577 +SV100-T0.5,camp,Train Loss,20500,0.008254794403910637 +SV100-T0.5,camp,Train Loss,21000,0.007382585201412439 +SV100-T0.5,camp,Train Loss,21500,0.0060003893449902534 +SV100-T0.5,camp,Train Loss,22000,0.008532123640179634 +SV100-T0.5,camp,Train Loss,22500,0.005931672640144825 +SV100-T0.5,camp,Train Loss,23000,0.00812501274049282 +SV100-T0.5,camp,Train Loss,23500,0.007764577865600586 +SV100-T0.5,camp,Train Loss,24000,0.006053101271390915 +SV100-T0.5,camp,Train Loss,24500,0.008393503725528717 +SV100-T0.5,camp,Train Loss,25000,0.006988925859332085 +SV100-T0.5,camp,Train Loss,25500,0.005376129876822233 +SV100-T0.5,camp,Train Loss,26000,0.006972969509661198 +SV100-T0.5,camp,Train Loss,26500,0.006254718638956547 +SV100-T0.5,camp,Train Loss,27000,0.006349820178002119 +SV100-T0.5,camp,Train Loss,27500,0.005927491933107376 +SV100-T0.5,camp,Train Loss,28000,0.005900676362216473 +SV100-T0.5,camp,Train Loss,28500,0.005950849503278732 +SV100-T0.5,camp,Train Loss,29000,0.00886392593383789 +SV100-T0.5,camp,Train Loss,29500,0.006648583337664604 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,500,15.525033950805664 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,1000,17.064464569091797 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,1500,18.23057746887207 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,2000,17.87259864807129 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,2500,18.727888107299805 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,3000,18.743865966796875 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,3500,15.187047958374023 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,4000,20.517780303955078 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,4500,18.703929901123047 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,5000,15.58038330078125 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,5500,20.42487907409668 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,6000,17.973608016967773 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,6500,21.440845489501953 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,7000,17.142013549804688 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,7500,19.607254028320312 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,8000,18.486846923828125 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,8500,21.62895393371582 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,9000,17.27838897705078 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,9500,18.835220336914062 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,10000,18.778480529785156 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,10500,17.512130737304688 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,11000,15.783028602600098 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,11500,17.316082000732422 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,12000,14.760108947753906 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,12500,16.037805557250977 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,13000,15.924131393432617 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,13500,15.596177101135254 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,14000,17.676959991455078 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,14500,16.716522216796875 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,15000,19.265501022338867 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,15500,19.291828155517578 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,16000,14.66537857055664 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,16500,20.003263473510742 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,17000,16.719518661499023 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,17500,16.487667083740234 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,18000,16.066781997680664 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,18500,19.84908676147461 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,19000,19.417362213134766 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,19500,15.348546028137207 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,20000,19.418136596679688 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,20500,19.48338508605957 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,21000,16.30150604248047 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,21500,19.154184341430664 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,22000,15.874735832214355 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,22500,15.199237823486328 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,23000,15.64140796661377 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,23500,15.703472137451172 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,24000,17.444318771362305 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,24500,19.26654052734375 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,25000,15.290565490722656 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,25500,18.470626831054688 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,26000,14.840279579162598 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,26500,16.380401611328125 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,27000,19.2115535736084 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,27500,15.116669654846191 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,28000,16.41676139831543 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,28500,15.281412124633789 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,29000,16.374849319458008 +SV100-T0.5,camp,Eval Images Metrics/fine_psnr,29500,15.155019760131836 +SV100-T0.5,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,16.97296905517578 +SV100-T0.5,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7388691902160645 +SV100-T0.5,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.18827365338802338 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-T0.5,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T0.5,naive_warmup,Train Loss,0,0.3421424925327301 +SV100-T0.5,naive_warmup,Train Loss,50,0.3184441030025482 +SV100-T0.5,naive_warmup,Train Loss,100,0.1848997175693512 +SV100-T0.5,naive_warmup,Train Loss,150,0.17668505012989044 +SV100-T0.5,naive_warmup,Train Loss,200,0.16385355591773987 +SV100-T0.5,naive_warmup,Train Loss,250,0.15252140164375305 +SV100-T0.5,naive_warmup,Train Loss,300,0.14172492921352386 +SV100-T0.5,naive_warmup,Train Loss,350,0.08401469886302948 +SV100-T0.5,naive_warmup,Train Loss,400,0.06174423545598984 +SV100-T0.5,naive_warmup,Train Loss,450,0.05543666332960129 +SV100-T0.5,naive_warmup,Train Loss,500,0.05294910818338394 +SV100-T0.5,naive_warmup,Train Loss,550,0.05198005586862564 +SV100-T0.5,naive_warmup,Train Loss,600,0.049445245414972305 +SV100-T0.5,naive_warmup,Train Loss,650,0.04846349358558655 +SV100-T0.5,naive_warmup,Train Loss,700,0.047991953790187836 +SV100-T0.5,naive_warmup,Train Loss,750,0.043532826006412506 +SV100-T0.5,naive_warmup,Train Loss,800,0.04459410160779953 +SV100-T0.5,naive_warmup,Train Loss,850,0.0444677360355854 +SV100-T0.5,naive_warmup,Train Loss,900,0.03308388218283653 +SV100-T0.5,naive_warmup,Train Loss,950,0.03897269070148468 +SV100-T0.5,naive_warmup,Train Loss,1000,0.03825581818819046 +SV100-T0.5,naive_warmup,Train Loss,1050,0.03357664495706558 +SV100-T0.5,naive_warmup,Train Loss,1100,0.0321551077067852 +SV100-T0.5,naive_warmup,Train Loss,1150,0.03500045835971832 +SV100-T0.5,naive_warmup,Train Loss,1200,0.03531631827354431 +SV100-T0.5,naive_warmup,Train Loss,1250,0.0374489463865757 +SV100-T0.5,naive_warmup,Train Loss,1300,0.03555116057395935 +SV100-T0.5,naive_warmup,Train Loss,1350,0.03484406694769859 +SV100-T0.5,naive_warmup,Train Loss,1400,0.0330171063542366 +SV100-T0.5,naive_warmup,Train Loss,1450,0.022975366562604904 +SV100-T0.5,naive_warmup,Train Loss,1500,0.02856649085879326 +SV100-T0.5,naive_warmup,Train Loss,1550,0.03826332464814186 +SV100-T0.5,naive_warmup,Train Loss,1600,0.031586311757564545 +SV100-T0.5,naive_warmup,Train Loss,1650,0.03152867406606674 +SV100-T0.5,naive_warmup,Train Loss,1700,0.030792100355029106 +SV100-T0.5,naive_warmup,Train Loss,1750,0.03310996666550636 +SV100-T0.5,naive_warmup,Train Loss,1800,0.030755609273910522 +SV100-T0.5,naive_warmup,Train Loss,1850,0.025563502684235573 +SV100-T0.5,naive_warmup,Train Loss,1900,0.03266637772321701 +SV100-T0.5,naive_warmup,Train Loss,1950,0.02971181645989418 +SV100-T0.5,naive_warmup,Train Loss,2000,0.028781652450561523 +SV100-T0.5,naive_warmup,Train Loss,2050,0.02996276132762432 +SV100-T0.5,naive_warmup,Train Loss,2100,0.029210589826107025 +SV100-T0.5,naive_warmup,Train Loss,2150,0.033832207322120667 +SV100-T0.5,naive_warmup,Train Loss,2200,0.02994663082063198 +SV100-T0.5,naive_warmup,Train Loss,2250,0.027235135436058044 +SV100-T0.5,naive_warmup,Train Loss,2300,0.024850638583302498 +SV100-T0.5,naive_warmup,Train Loss,2350,0.02808826044201851 +SV100-T0.5,naive_warmup,Train Loss,2400,0.025715142488479614 +SV100-T0.5,naive_warmup,Train Loss,2450,0.02943340688943863 +SV100-T0.5,naive_warmup,Train Loss,2500,0.025085512548685074 +SV100-T0.5,naive_warmup,Train Loss,2550,0.029589110985398293 +SV100-T0.5,naive_warmup,Train Loss,2600,0.030175799503922462 +SV100-T0.5,naive_warmup,Train Loss,2650,0.02756817266345024 +SV100-T0.5,naive_warmup,Train Loss,2700,0.031097929924726486 +SV100-T0.5,naive_warmup,Train Loss,2750,0.025528965517878532 +SV100-T0.5,naive_warmup,Train Loss,2800,0.02911352925002575 +SV100-T0.5,naive_warmup,Train Loss,2850,0.023569539189338684 +SV100-T0.5,naive_warmup,Train Loss,2900,0.022746481001377106 +SV100-T0.5,naive_warmup,Train Loss,2950,0.02893075719475746 +SV100-T0.5,naive_warmup,Train Loss,3000,0.025397762656211853 +SV100-T0.5,naive_warmup,Train Loss,3050,0.025613676756620407 +SV100-T0.5,naive_warmup,Train Loss,3100,0.023637376725673676 +SV100-T0.5,naive_warmup,Train Loss,3150,0.026705104857683182 +SV100-T0.5,naive_warmup,Train Loss,3200,0.023664284497499466 +SV100-T0.5,naive_warmup,Train Loss,3250,0.030309060588479042 +SV100-T0.5,naive_warmup,Train Loss,3300,0.02553187496960163 +SV100-T0.5,naive_warmup,Train Loss,3350,0.02453175187110901 +SV100-T0.5,naive_warmup,Train Loss,3400,0.024325788021087646 +SV100-T0.5,naive_warmup,Train Loss,3450,0.023514697328209877 +SV100-T0.5,naive_warmup,Train Loss,3500,0.022491123527288437 +SV100-T0.5,naive_warmup,Train Loss,3550,0.021364323794841766 +SV100-T0.5,naive_warmup,Train Loss,3600,0.020215744152665138 +SV100-T0.5,naive_warmup,Train Loss,3650,0.022173497825860977 +SV100-T0.5,naive_warmup,Train Loss,3700,0.02413616143167019 +SV100-T0.5,naive_warmup,Train Loss,3750,0.02186783403158188 +SV100-T0.5,naive_warmup,Train Loss,3800,0.025568459182977676 +SV100-T0.5,naive_warmup,Train Loss,3850,0.02129487693309784 +SV100-T0.5,naive_warmup,Train Loss,3900,0.025959648191928864 +SV100-T0.5,naive_warmup,Train Loss,3950,0.019024338573217392 +SV100-T0.5,naive_warmup,Train Loss,4000,0.022099340334534645 +SV100-T0.5,naive_warmup,Train Loss,4050,0.01934344321489334 +SV100-T0.5,naive_warmup,Train Loss,4100,0.019312283024191856 +SV100-T0.5,naive_warmup,Train Loss,4150,0.022251756861805916 +SV100-T0.5,naive_warmup,Train Loss,4200,0.020966611802577972 +SV100-T0.5,naive_warmup,Train Loss,4250,0.0236843042075634 +SV100-T0.5,naive_warmup,Train Loss,4300,0.020504102110862732 +SV100-T0.5,naive_warmup,Train Loss,4350,0.016643788665533066 +SV100-T0.5,naive_warmup,Train Loss,4400,0.020801451057195663 +SV100-T0.5,naive_warmup,Train Loss,4450,0.020297899842262268 +SV100-T0.5,naive_warmup,Train Loss,4500,0.020125193521380424 +SV100-T0.5,naive_warmup,Train Loss,4550,0.019668828696012497 +SV100-T0.5,naive_warmup,Train Loss,4600,0.02686726674437523 +SV100-T0.5,naive_warmup,Train Loss,4650,0.020734991878271103 +SV100-T0.5,naive_warmup,Train Loss,4700,0.022327573969960213 +SV100-T0.5,naive_warmup,Train Loss,4750,0.018884092569351196 +SV100-T0.5,naive_warmup,Train Loss,4800,0.020778581500053406 +SV100-T0.5,naive_warmup,Train Loss,4850,0.018342580646276474 +SV100-T0.5,naive_warmup,Train Loss,4900,0.021353311836719513 +SV100-T0.5,naive_warmup,Train Loss,4950,0.022745836526155472 +SV100-T0.5,naive_warmup,Train Loss,5000,0.01680402085185051 +SV100-T0.5,naive_warmup,Train Loss,5500,0.020590700209140778 +SV100-T0.5,naive_warmup,Train Loss,6000,0.01453474722802639 +SV100-T0.5,naive_warmup,Train Loss,6500,0.018592141568660736 +SV100-T0.5,naive_warmup,Train Loss,7000,0.01656559854745865 +SV100-T0.5,naive_warmup,Train Loss,7500,0.018869826570153236 +SV100-T0.5,naive_warmup,Train Loss,8000,0.014932487159967422 +SV100-T0.5,naive_warmup,Train Loss,8500,0.013715030625462532 +SV100-T0.5,naive_warmup,Train Loss,9000,0.015176001936197281 +SV100-T0.5,naive_warmup,Train Loss,9500,0.01403516810387373 +SV100-T0.5,naive_warmup,Train Loss,10000,0.015182720497250557 +SV100-T0.5,naive_warmup,Train Loss,10500,0.011975368484854698 +SV100-T0.5,naive_warmup,Train Loss,11000,0.011662622913718224 +SV100-T0.5,naive_warmup,Train Loss,11500,0.010369112715125084 +SV100-T0.5,naive_warmup,Train Loss,12000,0.009430941194295883 +SV100-T0.5,naive_warmup,Train Loss,12500,0.015234384685754776 +SV100-T0.5,naive_warmup,Train Loss,13000,0.010680494830012321 +SV100-T0.5,naive_warmup,Train Loss,13500,0.010899931192398071 +SV100-T0.5,naive_warmup,Train Loss,14000,0.011712834239006042 +SV100-T0.5,naive_warmup,Train Loss,14500,0.010443092323839664 +SV100-T0.5,naive_warmup,Train Loss,15000,0.008753073401749134 +SV100-T0.5,naive_warmup,Train Loss,15500,0.011506710201501846 +SV100-T0.5,naive_warmup,Train Loss,16000,0.011628611013293266 +SV100-T0.5,naive_warmup,Train Loss,16500,0.007891448214650154 +SV100-T0.5,naive_warmup,Train Loss,17000,0.006689941044896841 +SV100-T0.5,naive_warmup,Train Loss,17500,0.007490446325391531 +SV100-T0.5,naive_warmup,Train Loss,18000,0.009274814277887344 +SV100-T0.5,naive_warmup,Train Loss,18500,0.009219412691891193 +SV100-T0.5,naive_warmup,Train Loss,19000,0.007421665824949741 +SV100-T0.5,naive_warmup,Train Loss,19500,0.009580071084201336 +SV100-T0.5,naive_warmup,Train Loss,20000,0.007982658222317696 +SV100-T0.5,naive_warmup,Train Loss,20500,0.008109422400593758 +SV100-T0.5,naive_warmup,Train Loss,21000,0.007992341183125973 +SV100-T0.5,naive_warmup,Train Loss,21500,0.007765214890241623 +SV100-T0.5,naive_warmup,Train Loss,22000,0.009339618496596813 +SV100-T0.5,naive_warmup,Train Loss,22500,0.007237272337079048 +SV100-T0.5,naive_warmup,Train Loss,23000,0.00830153375864029 +SV100-T0.5,naive_warmup,Train Loss,23500,0.007660486735403538 +SV100-T0.5,naive_warmup,Train Loss,24000,0.007116314489394426 +SV100-T0.5,naive_warmup,Train Loss,24500,0.00815639179199934 +SV100-T0.5,naive_warmup,Train Loss,25000,0.008185412734746933 +SV100-T0.5,naive_warmup,Train Loss,25500,0.006493629887700081 +SV100-T0.5,naive_warmup,Train Loss,26000,0.008020387031137943 +SV100-T0.5,naive_warmup,Train Loss,26500,0.0065521663054823875 +SV100-T0.5,naive_warmup,Train Loss,27000,0.0067485542967915535 +SV100-T0.5,naive_warmup,Train Loss,27500,0.005474630743265152 +SV100-T0.5,naive_warmup,Train Loss,28000,0.007223521824926138 +SV100-T0.5,naive_warmup,Train Loss,28500,0.0060554007068276405 +SV100-T0.5,naive_warmup,Train Loss,29000,0.007754751946777105 +SV100-T0.5,naive_warmup,Train Loss,29500,0.006967705674469471 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,500,16.398029327392578 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,1000,19.03934097290039 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,1500,18.990737915039062 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,2000,18.803998947143555 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,2500,19.05890655517578 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,3000,19.393884658813477 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,3500,19.712739944458008 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,4000,20.648984909057617 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,4500,20.953563690185547 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,5000,20.5706787109375 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,5500,20.515405654907227 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,6000,19.737430572509766 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,6500,20.71195411682129 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,7000,21.545852661132812 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,7500,21.62265968322754 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,8000,21.68400764465332 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,8500,20.781583786010742 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,9000,21.679931640625 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,9500,20.121381759643555 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,10000,20.323108673095703 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,10500,21.38958168029785 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,11000,20.605470657348633 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,11500,21.27008056640625 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,12000,22.14392852783203 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,12500,20.415443420410156 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,13000,20.664695739746094 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,13500,20.839187622070312 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,14000,20.418685913085938 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,14500,20.848787307739258 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,15000,20.56995391845703 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,15500,20.468050003051758 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,16000,23.066621780395508 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,16500,21.02003288269043 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,17000,21.360708236694336 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,17500,21.99175262451172 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,18000,21.69713020324707 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,18500,20.619821548461914 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,19000,23.361173629760742 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,19500,21.103242874145508 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,20000,20.67283821105957 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,20500,22.34656524658203 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,21000,21.241012573242188 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,21500,20.391342163085938 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,22000,20.314697265625 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,22500,20.90960693359375 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,23000,20.346961975097656 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,23500,20.392169952392578 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,24000,20.153169631958008 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,24500,20.533191680908203 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,25000,22.858442306518555 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,25500,20.274431228637695 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,26000,21.069852828979492 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,26500,20.230058670043945 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,27000,20.755189895629883 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,27500,20.786590576171875 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,28000,21.52202606201172 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,28500,24.5722713470459 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,29000,19.87481689453125 +SV100-T0.5,naive_warmup,Eval Images Metrics/fine_psnr,29500,20.69379425048828 +SV100-T0.5,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,21.506567001342773 +SV100-T0.5,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.801655113697052 +SV100-T0.5,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.12405143678188324 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-T0.5,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T0.5,camp_warmup,Train Loss,0,0.3421424925327301 +SV100-T0.5,camp_warmup,Train Loss,50,0.31844091415405273 +SV100-T0.5,camp_warmup,Train Loss,100,0.18493559956550598 +SV100-T0.5,camp_warmup,Train Loss,150,0.17669366300106049 +SV100-T0.5,camp_warmup,Train Loss,200,0.16393451392650604 +SV100-T0.5,camp_warmup,Train Loss,250,0.15242260694503784 +SV100-T0.5,camp_warmup,Train Loss,300,0.14078357815742493 +SV100-T0.5,camp_warmup,Train Loss,350,0.08245919644832611 +SV100-T0.5,camp_warmup,Train Loss,400,0.059107162058353424 +SV100-T0.5,camp_warmup,Train Loss,450,0.0570126548409462 +SV100-T0.5,camp_warmup,Train Loss,500,0.05039249733090401 +SV100-T0.5,camp_warmup,Train Loss,550,0.047111451625823975 +SV100-T0.5,camp_warmup,Train Loss,600,0.045040592551231384 +SV100-T0.5,camp_warmup,Train Loss,650,0.04689938575029373 +SV100-T0.5,camp_warmup,Train Loss,700,0.041087161749601364 +SV100-T0.5,camp_warmup,Train Loss,750,0.04039956256747246 +SV100-T0.5,camp_warmup,Train Loss,800,0.04407952353358269 +SV100-T0.5,camp_warmup,Train Loss,850,0.03792295232415199 +SV100-T0.5,camp_warmup,Train Loss,900,0.03272698074579239 +SV100-T0.5,camp_warmup,Train Loss,950,0.039437029510736465 +SV100-T0.5,camp_warmup,Train Loss,1000,0.034698884934186935 +SV100-T0.5,camp_warmup,Train Loss,1050,0.032008104026317596 +SV100-T0.5,camp_warmup,Train Loss,1100,0.033111654222011566 +SV100-T0.5,camp_warmup,Train Loss,1150,0.03784872591495514 +SV100-T0.5,camp_warmup,Train Loss,1200,0.032689087092876434 +SV100-T0.5,camp_warmup,Train Loss,1250,0.0388568714261055 +SV100-T0.5,camp_warmup,Train Loss,1300,0.03623216226696968 +SV100-T0.5,camp_warmup,Train Loss,1350,0.037791602313518524 +SV100-T0.5,camp_warmup,Train Loss,1400,0.03355254977941513 +SV100-T0.5,camp_warmup,Train Loss,1450,0.029139045625925064 +SV100-T0.5,camp_warmup,Train Loss,1500,0.03193802386522293 +SV100-T0.5,camp_warmup,Train Loss,1550,0.033691175282001495 +SV100-T0.5,camp_warmup,Train Loss,1600,0.03689108416438103 +SV100-T0.5,camp_warmup,Train Loss,1650,0.034642625600099564 +SV100-T0.5,camp_warmup,Train Loss,1700,0.035975947976112366 +SV100-T0.5,camp_warmup,Train Loss,1750,0.036788471043109894 +SV100-T0.5,camp_warmup,Train Loss,1800,0.03084491565823555 +SV100-T0.5,camp_warmup,Train Loss,1850,0.025064773857593536 +SV100-T0.5,camp_warmup,Train Loss,1900,0.03192290663719177 +SV100-T0.5,camp_warmup,Train Loss,1950,0.02988535910844803 +SV100-T0.5,camp_warmup,Train Loss,2000,0.02900981716811657 +SV100-T0.5,camp_warmup,Train Loss,2050,0.03333112224936485 +SV100-T0.5,camp_warmup,Train Loss,2100,0.0346219576895237 +SV100-T0.5,camp_warmup,Train Loss,2150,0.032500214874744415 +SV100-T0.5,camp_warmup,Train Loss,2200,0.03022732213139534 +SV100-T0.5,camp_warmup,Train Loss,2250,0.029898282140493393 +SV100-T0.5,camp_warmup,Train Loss,2300,0.027629291638731956 +SV100-T0.5,camp_warmup,Train Loss,2350,0.03899698704481125 +SV100-T0.5,camp_warmup,Train Loss,2400,0.031720034778118134 +SV100-T0.5,camp_warmup,Train Loss,2450,0.03265927731990814 +SV100-T0.5,camp_warmup,Train Loss,2500,0.02604502998292446 +SV100-T0.5,camp_warmup,Train Loss,2550,0.032894715666770935 +SV100-T0.5,camp_warmup,Train Loss,2600,0.03127751126885414 +SV100-T0.5,camp_warmup,Train Loss,2650,0.03468160703778267 +SV100-T0.5,camp_warmup,Train Loss,2700,0.03078562766313553 +SV100-T0.5,camp_warmup,Train Loss,2750,0.029436592012643814 +SV100-T0.5,camp_warmup,Train Loss,2800,0.029898911714553833 +SV100-T0.5,camp_warmup,Train Loss,2850,0.027133069932460785 +SV100-T0.5,camp_warmup,Train Loss,2900,0.027438489720225334 +SV100-T0.5,camp_warmup,Train Loss,2950,0.03012901544570923 +SV100-T0.5,camp_warmup,Train Loss,3000,0.028618477284908295 +SV100-T0.5,camp_warmup,Train Loss,3050,0.02811316028237343 +SV100-T0.5,camp_warmup,Train Loss,3100,0.026978004723787308 +SV100-T0.5,camp_warmup,Train Loss,3150,0.02655274048447609 +SV100-T0.5,camp_warmup,Train Loss,3200,0.0290759839117527 +SV100-T0.5,camp_warmup,Train Loss,3250,0.027889858931303024 +SV100-T0.5,camp_warmup,Train Loss,3300,0.025033950805664062 +SV100-T0.5,camp_warmup,Train Loss,3350,0.028900105506181717 +SV100-T0.5,camp_warmup,Train Loss,3400,0.02753726951777935 +SV100-T0.5,camp_warmup,Train Loss,3450,0.027267448604106903 +SV100-T0.5,camp_warmup,Train Loss,3500,0.02872271090745926 +SV100-T0.5,camp_warmup,Train Loss,3550,0.028275610879063606 +SV100-T0.5,camp_warmup,Train Loss,3600,0.027550704777240753 +SV100-T0.5,camp_warmup,Train Loss,3650,0.029051706194877625 +SV100-T0.5,camp_warmup,Train Loss,3700,0.02493896521627903 +SV100-T0.5,camp_warmup,Train Loss,3750,0.022955385968089104 +SV100-T0.5,camp_warmup,Train Loss,3800,0.02870558574795723 +SV100-T0.5,camp_warmup,Train Loss,3850,0.023579804226756096 +SV100-T0.5,camp_warmup,Train Loss,3900,0.028632603585720062 +SV100-T0.5,camp_warmup,Train Loss,3950,0.02198394387960434 +SV100-T0.5,camp_warmup,Train Loss,4000,0.028503481298685074 +SV100-T0.5,camp_warmup,Train Loss,4050,0.020882554352283478 +SV100-T0.5,camp_warmup,Train Loss,4100,0.024154776707291603 +SV100-T0.5,camp_warmup,Train Loss,4150,0.024391047656536102 +SV100-T0.5,camp_warmup,Train Loss,4200,0.025426127016544342 +SV100-T0.5,camp_warmup,Train Loss,4250,0.02731446921825409 +SV100-T0.5,camp_warmup,Train Loss,4300,0.018284257501363754 +SV100-T0.5,camp_warmup,Train Loss,4350,0.02360343188047409 +SV100-T0.5,camp_warmup,Train Loss,4400,0.024157628417015076 +SV100-T0.5,camp_warmup,Train Loss,4450,0.022970296442508698 +SV100-T0.5,camp_warmup,Train Loss,4500,0.02913888543844223 +SV100-T0.5,camp_warmup,Train Loss,4550,0.02531355433166027 +SV100-T0.5,camp_warmup,Train Loss,4600,0.022178612649440765 +SV100-T0.5,camp_warmup,Train Loss,4650,0.022191885858774185 +SV100-T0.5,camp_warmup,Train Loss,4700,0.025578053668141365 +SV100-T0.5,camp_warmup,Train Loss,4750,0.02223147824406624 +SV100-T0.5,camp_warmup,Train Loss,4800,0.02326161041855812 +SV100-T0.5,camp_warmup,Train Loss,4850,0.020124904811382294 +SV100-T0.5,camp_warmup,Train Loss,4900,0.026857255026698112 +SV100-T0.5,camp_warmup,Train Loss,4950,0.025345057249069214 +SV100-T0.5,camp_warmup,Train Loss,5000,0.026873614639043808 +SV100-T0.5,camp_warmup,Train Loss,5500,0.021075770258903503 +SV100-T0.5,camp_warmup,Train Loss,6000,0.015560993924736977 +SV100-T0.5,camp_warmup,Train Loss,6500,0.021249931305646896 +SV100-T0.5,camp_warmup,Train Loss,7000,0.018695995211601257 +SV100-T0.5,camp_warmup,Train Loss,7500,0.015160617418587208 +SV100-T0.5,camp_warmup,Train Loss,8000,0.01670534536242485 +SV100-T0.5,camp_warmup,Train Loss,8500,0.013501632958650589 +SV100-T0.5,camp_warmup,Train Loss,9000,0.015540207736194134 +SV100-T0.5,camp_warmup,Train Loss,9500,0.014865262433886528 +SV100-T0.5,camp_warmup,Train Loss,10000,0.01563476026058197 +SV100-T0.5,camp_warmup,Train Loss,10500,0.012232116423547268 +SV100-T0.5,camp_warmup,Train Loss,11000,0.012640167027711868 +SV100-T0.5,camp_warmup,Train Loss,11500,0.010636604391038418 +SV100-T0.5,camp_warmup,Train Loss,12000,0.011011410504579544 +SV100-T0.5,camp_warmup,Train Loss,12500,0.017300494015216827 +SV100-T0.5,camp_warmup,Train Loss,13000,0.011898061260581017 +SV100-T0.5,camp_warmup,Train Loss,13500,0.011583378538489342 +SV100-T0.5,camp_warmup,Train Loss,14000,0.011417809873819351 +SV100-T0.5,camp_warmup,Train Loss,14500,0.00952854286879301 +SV100-T0.5,camp_warmup,Train Loss,15000,0.008758059702813625 +SV100-T0.5,camp_warmup,Train Loss,15500,0.010808460414409637 +SV100-T0.5,camp_warmup,Train Loss,16000,0.01084041316062212 +SV100-T0.5,camp_warmup,Train Loss,16500,0.00929166004061699 +SV100-T0.5,camp_warmup,Train Loss,17000,0.00886303186416626 +SV100-T0.5,camp_warmup,Train Loss,17500,0.007901309058070183 +SV100-T0.5,camp_warmup,Train Loss,18000,0.008362459018826485 +SV100-T0.5,camp_warmup,Train Loss,18500,0.00928199291229248 +SV100-T0.5,camp_warmup,Train Loss,19000,0.009294973686337471 +SV100-T0.5,camp_warmup,Train Loss,19500,0.010276449844241142 +SV100-T0.5,camp_warmup,Train Loss,20000,0.007163756527006626 +SV100-T0.5,camp_warmup,Train Loss,20500,0.00969967246055603 +SV100-T0.5,camp_warmup,Train Loss,21000,0.007790267467498779 +SV100-T0.5,camp_warmup,Train Loss,21500,0.0075171575881540775 +SV100-T0.5,camp_warmup,Train Loss,22000,0.008669478818774223 +SV100-T0.5,camp_warmup,Train Loss,22500,0.0074667963199317455 +SV100-T0.5,camp_warmup,Train Loss,23000,0.008381344377994537 +SV100-T0.5,camp_warmup,Train Loss,23500,0.0079025374725461 +SV100-T0.5,camp_warmup,Train Loss,24000,0.006717135198414326 +SV100-T0.5,camp_warmup,Train Loss,24500,0.007055981084704399 +SV100-T0.5,camp_warmup,Train Loss,25000,0.006923857145011425 +SV100-T0.5,camp_warmup,Train Loss,25500,0.0071112411096692085 +SV100-T0.5,camp_warmup,Train Loss,26000,0.006958224810659885 +SV100-T0.5,camp_warmup,Train Loss,26500,0.006029148586094379 +SV100-T0.5,camp_warmup,Train Loss,27000,0.0070608798414468765 +SV100-T0.5,camp_warmup,Train Loss,27500,0.006369973532855511 +SV100-T0.5,camp_warmup,Train Loss,28000,0.00703313248232007 +SV100-T0.5,camp_warmup,Train Loss,28500,0.006413050461560488 +SV100-T0.5,camp_warmup,Train Loss,29000,0.009370822459459305 +SV100-T0.5,camp_warmup,Train Loss,29500,0.0073289889842271805 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,500,16.5200252532959 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,1000,19.33917236328125 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,1500,19.35565185546875 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,2000,19.20402717590332 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,2500,19.652124404907227 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,3000,19.36322593688965 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,3500,19.219371795654297 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,4000,20.7287654876709 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,4500,19.5893611907959 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,5000,19.972129821777344 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,5500,20.838050842285156 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,6000,21.33216667175293 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,6500,21.59796905517578 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,7000,21.40206527709961 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,7500,22.77444076538086 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,8000,23.052799224853516 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,8500,21.640438079833984 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,9000,22.035404205322266 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,9500,21.584667205810547 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,10000,21.554250717163086 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,10500,23.36312484741211 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,11000,22.40519142150879 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,11500,23.130517959594727 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,12000,21.894105911254883 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,12500,22.16716766357422 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,13000,22.124011993408203 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,13500,22.299057006835938 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,14000,21.587488174438477 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,14500,22.434598922729492 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,15000,21.414085388183594 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,15500,20.970788955688477 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,16000,21.55485725402832 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,16500,21.380359649658203 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,17000,21.25240707397461 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,17500,21.484600067138672 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,18000,21.122282028198242 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,18500,20.862096786499023 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,19000,23.01894187927246 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,19500,21.65178680419922 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,20000,20.597625732421875 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,20500,21.808610916137695 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,21000,20.742034912109375 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,21500,20.178625106811523 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,22000,20.521459579467773 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,22500,21.311113357543945 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,23000,21.090829849243164 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,23500,20.827329635620117 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,24000,19.869821548461914 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,24500,20.269874572753906 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,25000,20.461654663085938 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,25500,20.02107810974121 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,26000,19.842866897583008 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,26500,20.275100708007812 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,27000,20.575010299682617 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,27500,21.054061889648438 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,28000,20.25142478942871 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,28500,19.718313217163086 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,29000,20.039697647094727 +SV100-T0.5,camp_warmup,Eval Images Metrics/fine_psnr,29500,20.981929779052734 +SV100-T0.5,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,20.8877010345459 +SV100-T0.5,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7962936162948608 +SV100-T0.5,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.13773907721042633 +SV100-T1,fixed,Train Loss,0,0.34264177083969116 +SV100-T1,fixed,Train Loss,50,0.31661999225616455 +SV100-T1,fixed,Train Loss,100,0.17792317271232605 +SV100-T1,fixed,Train Loss,150,0.17643484473228455 +SV100-T1,fixed,Train Loss,200,0.17618583142757416 +SV100-T1,fixed,Train Loss,250,0.16467151045799255 +SV100-T1,fixed,Train Loss,300,0.13505174219608307 +SV100-T1,fixed,Train Loss,350,0.09072072058916092 +SV100-T1,fixed,Train Loss,400,0.05813351273536682 +SV100-T1,fixed,Train Loss,450,0.054338470101356506 +SV100-T1,fixed,Train Loss,500,0.042362820357084274 +SV100-T1,fixed,Train Loss,550,0.0459287092089653 +SV100-T1,fixed,Train Loss,600,0.04187700152397156 +SV100-T1,fixed,Train Loss,650,0.03199213743209839 +SV100-T1,fixed,Train Loss,700,0.03736918047070503 +SV100-T1,fixed,Train Loss,750,0.036715902388095856 +SV100-T1,fixed,Train Loss,800,0.03515099361538887 +SV100-T1,fixed,Train Loss,850,0.03378558158874512 +SV100-T1,fixed,Train Loss,900,0.02754499763250351 +SV100-T1,fixed,Train Loss,950,0.036806561052799225 +SV100-T1,fixed,Train Loss,1000,0.030662914738059044 +SV100-T1,fixed,Train Loss,1050,0.026891004294157028 +SV100-T1,fixed,Train Loss,1100,0.02641340345144272 +SV100-T1,fixed,Train Loss,1150,0.02882285602390766 +SV100-T1,fixed,Train Loss,1200,0.035479962825775146 +SV100-T1,fixed,Train Loss,1250,0.031435225158929825 +SV100-T1,fixed,Train Loss,1300,0.026602722704410553 +SV100-T1,fixed,Train Loss,1350,0.030544612556695938 +SV100-T1,fixed,Train Loss,1400,0.03153577446937561 +SV100-T1,fixed,Train Loss,1450,0.030849242582917213 +SV100-T1,fixed,Train Loss,1500,0.02775932103395462 +SV100-T1,fixed,Train Loss,1550,0.025820862501859665 +SV100-T1,fixed,Train Loss,1600,0.025808662176132202 +SV100-T1,fixed,Train Loss,1650,0.026417559012770653 +SV100-T1,fixed,Train Loss,1700,0.030138064175844193 +SV100-T1,fixed,Train Loss,1750,0.02745358645915985 +SV100-T1,fixed,Train Loss,1800,0.02801709994673729 +SV100-T1,fixed,Train Loss,1850,0.02846560627222061 +SV100-T1,fixed,Train Loss,1900,0.02832181751728058 +SV100-T1,fixed,Train Loss,1950,0.028905518352985382 +SV100-T1,fixed,Train Loss,2000,0.02684282511472702 +SV100-T1,fixed,Train Loss,2050,0.02308397740125656 +SV100-T1,fixed,Train Loss,2100,0.02379058673977852 +SV100-T1,fixed,Train Loss,2150,0.02790122851729393 +SV100-T1,fixed,Train Loss,2200,0.03039523959159851 +SV100-T1,fixed,Train Loss,2250,0.022779356688261032 +SV100-T1,fixed,Train Loss,2300,0.023130029439926147 +SV100-T1,fixed,Train Loss,2350,0.029064549133181572 +SV100-T1,fixed,Train Loss,2400,0.02588912658393383 +SV100-T1,fixed,Train Loss,2450,0.022335179150104523 +SV100-T1,fixed,Train Loss,2500,0.025367427617311478 +SV100-T1,fixed,Train Loss,2550,0.031405337154865265 +SV100-T1,fixed,Train Loss,2600,0.03201383352279663 +SV100-T1,fixed,Train Loss,2650,0.02932719513773918 +SV100-T1,fixed,Train Loss,2700,0.022103451192378998 +SV100-T1,fixed,Train Loss,2750,0.021360550075769424 +SV100-T1,fixed,Train Loss,2800,0.03037978708744049 +SV100-T1,fixed,Train Loss,2850,0.024438459426164627 +SV100-T1,fixed,Train Loss,2900,0.02168070524930954 +SV100-T1,fixed,Train Loss,2950,0.021379180252552032 +SV100-T1,fixed,Train Loss,3000,0.01873016357421875 +SV100-T1,fixed,Train Loss,3050,0.024779729545116425 +SV100-T1,fixed,Train Loss,3100,0.022737959399819374 +SV100-T1,fixed,Train Loss,3150,0.020358053967356682 +SV100-T1,fixed,Train Loss,3200,0.01656308025121689 +SV100-T1,fixed,Train Loss,3250,0.025536242872476578 +SV100-T1,fixed,Train Loss,3300,0.02583393268287182 +SV100-T1,fixed,Train Loss,3350,0.027127845212817192 +SV100-T1,fixed,Train Loss,3400,0.023319806903600693 +SV100-T1,fixed,Train Loss,3450,0.026913385838270187 +SV100-T1,fixed,Train Loss,3500,0.021890845149755478 +SV100-T1,fixed,Train Loss,3550,0.02245274744927883 +SV100-T1,fixed,Train Loss,3600,0.02090369537472725 +SV100-T1,fixed,Train Loss,3650,0.02505248412489891 +SV100-T1,fixed,Train Loss,3700,0.022677427157759666 +SV100-T1,fixed,Train Loss,3750,0.01920735277235508 +SV100-T1,fixed,Train Loss,3800,0.021410776302218437 +SV100-T1,fixed,Train Loss,3850,0.023569464683532715 +SV100-T1,fixed,Train Loss,3900,0.023102618753910065 +SV100-T1,fixed,Train Loss,3950,0.01926153153181076 +SV100-T1,fixed,Train Loss,4000,0.023086044937372208 +SV100-T1,fixed,Train Loss,4050,0.023743528872728348 +SV100-T1,fixed,Train Loss,4100,0.020604856312274933 +SV100-T1,fixed,Train Loss,4150,0.024439353495836258 +SV100-T1,fixed,Train Loss,4200,0.022287726402282715 +SV100-T1,fixed,Train Loss,4250,0.021068871021270752 +SV100-T1,fixed,Train Loss,4300,0.020798467099666595 +SV100-T1,fixed,Train Loss,4350,0.01950901374220848 +SV100-T1,fixed,Train Loss,4400,0.02236059308052063 +SV100-T1,fixed,Train Loss,4450,0.020016493275761604 +SV100-T1,fixed,Train Loss,4500,0.021631775423884392 +SV100-T1,fixed,Train Loss,4550,0.02300332859158516 +SV100-T1,fixed,Train Loss,4600,0.020816635340452194 +SV100-T1,fixed,Train Loss,4650,0.021870404481887817 +SV100-T1,fixed,Train Loss,4700,0.02426527440547943 +SV100-T1,fixed,Train Loss,4750,0.02100718766450882 +SV100-T1,fixed,Train Loss,4800,0.021406907588243484 +SV100-T1,fixed,Train Loss,4850,0.024618612602353096 +SV100-T1,fixed,Train Loss,4900,0.02071959897875786 +SV100-T1,fixed,Train Loss,4950,0.023621883243322372 +SV100-T1,fixed,Train Loss,5000,0.02336440235376358 +SV100-T1,fixed,Train Loss,5500,0.02111693099141121 +SV100-T1,fixed,Train Loss,6000,0.017623333260416985 +SV100-T1,fixed,Train Loss,6500,0.02306279167532921 +SV100-T1,fixed,Train Loss,7000,0.019110728055238724 +SV100-T1,fixed,Train Loss,7500,0.02524491772055626 +SV100-T1,fixed,Train Loss,8000,0.022341031581163406 +SV100-T1,fixed,Train Loss,8500,0.02010807767510414 +SV100-T1,fixed,Train Loss,9000,0.02638963982462883 +SV100-T1,fixed,Train Loss,9500,0.0231129452586174 +SV100-T1,fixed,Train Loss,10000,0.021883416920900345 +SV100-T1,fixed,Train Loss,10500,0.01632377877831459 +SV100-T1,fixed,Train Loss,11000,0.019513417035341263 +SV100-T1,fixed,Train Loss,11500,0.018831118941307068 +SV100-T1,fixed,Train Loss,12000,0.014386245980858803 +SV100-T1,fixed,Train Loss,12500,0.018373236060142517 +SV100-T1,fixed,Train Loss,13000,0.015749190002679825 +SV100-T1,fixed,Train Loss,13500,0.021660663187503815 +SV100-T1,fixed,Train Loss,14000,0.019370609894394875 +SV100-T1,fixed,Train Loss,14500,0.016646526753902435 +SV100-T1,fixed,Train Loss,15000,0.017828725278377533 +SV100-T1,fixed,Train Loss,15500,0.017612172290682793 +SV100-T1,fixed,Train Loss,16000,0.019078126177191734 +SV100-T1,fixed,Train Loss,16500,0.015231422148644924 +SV100-T1,fixed,Train Loss,17000,0.01587545871734619 +SV100-T1,fixed,Train Loss,17500,0.017263591289520264 +SV100-T1,fixed,Train Loss,18000,0.0152785275131464 +SV100-T1,fixed,Train Loss,18500,0.017718760296702385 +SV100-T1,fixed,Train Loss,19000,0.018129639327526093 +SV100-T1,fixed,Train Loss,19500,0.015676815062761307 +SV100-T1,fixed,Train Loss,20000,0.015339224599301815 +SV100-T1,fixed,Train Loss,20500,0.015123814344406128 +SV100-T1,fixed,Train Loss,21000,0.016207890585064888 +SV100-T1,fixed,Train Loss,21500,0.01613675057888031 +SV100-T1,fixed,Train Loss,22000,0.018219994381070137 +SV100-T1,fixed,Train Loss,22500,0.015829939395189285 +SV100-T1,fixed,Train Loss,23000,0.015772858634591103 +SV100-T1,fixed,Train Loss,23500,0.015460881404578686 +SV100-T1,fixed,Train Loss,24000,0.017644492909312248 +SV100-T1,fixed,Train Loss,24500,0.01839996688067913 +SV100-T1,fixed,Train Loss,25000,0.014038958586752415 +SV100-T1,fixed,Train Loss,25500,0.014654870145022869 +SV100-T1,fixed,Train Loss,26000,0.015867164358496666 +SV100-T1,fixed,Train Loss,26500,0.014818846248090267 +SV100-T1,fixed,Train Loss,27000,0.013538668863475323 +SV100-T1,fixed,Train Loss,27500,0.015441853553056717 +SV100-T1,fixed,Train Loss,28000,0.015566591173410416 +SV100-T1,fixed,Train Loss,28500,0.013183840550482273 +SV100-T1,fixed,Train Loss,29000,0.014082829467952251 +SV100-T1,fixed,Train Loss,29500,0.013521509245038033 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,500,16.81756019592285 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,1000,18.35472297668457 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,1500,18.244070053100586 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,2000,19.6447696685791 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,2500,19.378217697143555 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,3000,20.712953567504883 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,3500,20.90963363647461 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,4000,20.587427139282227 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,4500,21.784311294555664 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,5000,21.43581771850586 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,5500,21.436416625976562 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,6000,21.018770217895508 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,6500,21.08393096923828 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,7000,20.42389678955078 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,7500,21.862390518188477 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,8000,21.001428604125977 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,8500,20.744394302368164 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,9000,21.338119506835938 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,9500,21.219791412353516 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,10000,21.573339462280273 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,10500,21.63117218017578 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,11000,22.412124633789062 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,11500,22.700056076049805 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,12000,21.403722763061523 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,12500,20.73867416381836 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,13000,20.99561882019043 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,13500,21.053489685058594 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,14000,22.73924446105957 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,14500,21.482189178466797 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,15000,22.421310424804688 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,15500,20.470245361328125 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,16000,20.922607421875 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,16500,21.908479690551758 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,17000,21.758481979370117 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,17500,20.92725372314453 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,18000,21.323286056518555 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,18500,21.363052368164062 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,19000,21.724300384521484 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,19500,20.327173233032227 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,20000,19.882919311523438 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,20500,20.106428146362305 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,21000,21.220922470092773 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,21500,20.943180084228516 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,22000,20.541175842285156 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,22500,21.820884704589844 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,23000,21.88543128967285 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,23500,21.349681854248047 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,24000,21.130624771118164 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,24500,19.93964195251465 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,25000,20.673229217529297 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,25500,20.520904541015625 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,26000,21.706859588623047 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,26500,20.952953338623047 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,27000,20.869733810424805 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,27500,20.437339782714844 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,28000,21.01497459411621 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,28500,18.70699691772461 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,29000,21.375410079956055 +SV100-T1,fixed,Eval Images Metrics/fine_psnr,29500,20.168682098388672 +SV100-T1,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,20.878376007080078 +SV100-T1,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7860417366027832 +SV100-T1,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.24383504688739777 +SV100-T1,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-T1,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-T1,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-T1,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-T1,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-T1,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-T1,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-T1,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-T1,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-T1,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-T1,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-T1,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-T1,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-T1,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-T1,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-T1,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-T1,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-T1,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-T1,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-T1,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-T1,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-T1,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-T1,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-T1,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-T1,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-T1,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-T1,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-T1,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-T1,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-T1,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-T1,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-T1,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-T1,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-T1,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-T1,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-T1,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-T1,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-T1,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-T1,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-T1,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-T1,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-T1,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-T1,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-T1,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-T1,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-T1,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-T1,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-T1,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-T1,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-T1,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-T1,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-T1,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-T1,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-T1,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-T1,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-T1,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-T1,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-T1,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-T1,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-T1,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-T1,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-T1,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-T1,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-T1,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-T1,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-T1,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-T1,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-T1,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-T1,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-T1,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-T1,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-T1,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-T1,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-T1,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-T1,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-T1,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-T1,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-T1,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-T1,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-T1,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-T1,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-T1,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-T1,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-T1,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-T1,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-T1,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-T1,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-T1,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-T1,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-T1,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-T1,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-T1,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-T1,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-T1,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-T1,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-T1,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-T1,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-T1,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-T1,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-T1,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-T1,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-T1,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-T1,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-T1,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-T1,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-T1,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-T1,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-T1,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-T1,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-T1,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-T1,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-T1,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-T1,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-T1,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-T1,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-T1,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-T1,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-T1,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-T1,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-T1,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-T1,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-T1,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-T1,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-T1,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-T1,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-T1,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-T1,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-T1,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-T1,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-T1,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-T1,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-T1,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-T1,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-T1,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-T1,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-T1,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-T1,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-T1,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-T1,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-T1,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-T1,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-T1,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-T1,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-T1,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-T1,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-T1,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-T1,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-T1,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-T1,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-T1,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-T1,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T1,naive,Train Loss,0,0.3421427607536316 +SV100-T1,naive,Train Loss,50,0.31847041845321655 +SV100-T1,naive,Train Loss,100,0.1849820911884308 +SV100-T1,naive,Train Loss,150,0.1770830899477005 +SV100-T1,naive,Train Loss,200,0.16462498903274536 +SV100-T1,naive,Train Loss,250,0.15394088625907898 +SV100-T1,naive,Train Loss,300,0.14868618547916412 +SV100-T1,naive,Train Loss,350,0.10884008556604385 +SV100-T1,naive,Train Loss,400,0.10043756663799286 +SV100-T1,naive,Train Loss,450,0.0896662026643753 +SV100-T1,naive,Train Loss,500,0.09125887602567673 +SV100-T1,naive,Train Loss,550,0.08473451435565948 +SV100-T1,naive,Train Loss,600,0.09074214100837708 +SV100-T1,naive,Train Loss,650,0.08586994558572769 +SV100-T1,naive,Train Loss,700,0.07188834249973297 +SV100-T1,naive,Train Loss,750,0.08230933547019958 +SV100-T1,naive,Train Loss,800,0.07742024958133698 +SV100-T1,naive,Train Loss,850,0.06526121497154236 +SV100-T1,naive,Train Loss,900,0.056529294699430466 +SV100-T1,naive,Train Loss,950,0.05971161648631096 +SV100-T1,naive,Train Loss,1000,0.05493524670600891 +SV100-T1,naive,Train Loss,1050,0.05021144822239876 +SV100-T1,naive,Train Loss,1100,0.049707043915987015 +SV100-T1,naive,Train Loss,1150,0.05524832755327225 +SV100-T1,naive,Train Loss,1200,0.04926717281341553 +SV100-T1,naive,Train Loss,1250,0.052451349794864655 +SV100-T1,naive,Train Loss,1300,0.04393855482339859 +SV100-T1,naive,Train Loss,1350,0.04815953969955444 +SV100-T1,naive,Train Loss,1400,0.042651448398828506 +SV100-T1,naive,Train Loss,1450,0.034991007298231125 +SV100-T1,naive,Train Loss,1500,0.043403975665569305 +SV100-T1,naive,Train Loss,1550,0.043255288153886795 +SV100-T1,naive,Train Loss,1600,0.04234767332673073 +SV100-T1,naive,Train Loss,1650,0.036469466984272 +SV100-T1,naive,Train Loss,1700,0.04148424416780472 +SV100-T1,naive,Train Loss,1750,0.0420219749212265 +SV100-T1,naive,Train Loss,1800,0.038099341094493866 +SV100-T1,naive,Train Loss,1850,0.028386253863573074 +SV100-T1,naive,Train Loss,1900,0.03815062344074249 +SV100-T1,naive,Train Loss,1950,0.032254576683044434 +SV100-T1,naive,Train Loss,2000,0.03558088839054108 +SV100-T1,naive,Train Loss,2050,0.03329154849052429 +SV100-T1,naive,Train Loss,2100,0.0370769277215004 +SV100-T1,naive,Train Loss,2150,0.035551875829696655 +SV100-T1,naive,Train Loss,2200,0.0319489948451519 +SV100-T1,naive,Train Loss,2250,0.03247822821140289 +SV100-T1,naive,Train Loss,2300,0.03412226215004921 +SV100-T1,naive,Train Loss,2350,0.03245103359222412 +SV100-T1,naive,Train Loss,2400,0.031063543632626534 +SV100-T1,naive,Train Loss,2450,0.031945034861564636 +SV100-T1,naive,Train Loss,2500,0.023243317380547523 +SV100-T1,naive,Train Loss,2550,0.03254983574151993 +SV100-T1,naive,Train Loss,2600,0.032308727502822876 +SV100-T1,naive,Train Loss,2650,0.030022140592336655 +SV100-T1,naive,Train Loss,2700,0.03147657960653305 +SV100-T1,naive,Train Loss,2750,0.03214641660451889 +SV100-T1,naive,Train Loss,2800,0.030115563422441483 +SV100-T1,naive,Train Loss,2850,0.024641990661621094 +SV100-T1,naive,Train Loss,2900,0.024428104981780052 +SV100-T1,naive,Train Loss,2950,0.02587587758898735 +SV100-T1,naive,Train Loss,3000,0.02946910820901394 +SV100-T1,naive,Train Loss,3050,0.024566583335399628 +SV100-T1,naive,Train Loss,3100,0.024951795116066933 +SV100-T1,naive,Train Loss,3150,0.02456982433795929 +SV100-T1,naive,Train Loss,3200,0.024267952889204025 +SV100-T1,naive,Train Loss,3250,0.02465982921421528 +SV100-T1,naive,Train Loss,3300,0.02232980914413929 +SV100-T1,naive,Train Loss,3350,0.028448140248656273 +SV100-T1,naive,Train Loss,3400,0.026287339627742767 +SV100-T1,naive,Train Loss,3450,0.026338815689086914 +SV100-T1,naive,Train Loss,3500,0.02175745740532875 +SV100-T1,naive,Train Loss,3550,0.022553550079464912 +SV100-T1,naive,Train Loss,3600,0.02395879663527012 +SV100-T1,naive,Train Loss,3650,0.026402773335576057 +SV100-T1,naive,Train Loss,3700,0.023157771676778793 +SV100-T1,naive,Train Loss,3750,0.02164677530527115 +SV100-T1,naive,Train Loss,3800,0.024165749549865723 +SV100-T1,naive,Train Loss,3850,0.022537413984537125 +SV100-T1,naive,Train Loss,3900,0.0249883234500885 +SV100-T1,naive,Train Loss,3950,0.02134217694401741 +SV100-T1,naive,Train Loss,4000,0.02301255241036415 +SV100-T1,naive,Train Loss,4050,0.0208972729742527 +SV100-T1,naive,Train Loss,4100,0.02041735127568245 +SV100-T1,naive,Train Loss,4150,0.020349808037281036 +SV100-T1,naive,Train Loss,4200,0.02194005437195301 +SV100-T1,naive,Train Loss,4250,0.02151792123913765 +SV100-T1,naive,Train Loss,4300,0.018590174615383148 +SV100-T1,naive,Train Loss,4350,0.017433293163776398 +SV100-T1,naive,Train Loss,4400,0.01929948851466179 +SV100-T1,naive,Train Loss,4450,0.01903277076780796 +SV100-T1,naive,Train Loss,4500,0.018938621506094933 +SV100-T1,naive,Train Loss,4550,0.019464049488306046 +SV100-T1,naive,Train Loss,4600,0.022677548229694366 +SV100-T1,naive,Train Loss,4650,0.01891227625310421 +SV100-T1,naive,Train Loss,4700,0.024053048342466354 +SV100-T1,naive,Train Loss,4750,0.017006853595376015 +SV100-T1,naive,Train Loss,4800,0.01800503395497799 +SV100-T1,naive,Train Loss,4850,0.01590760424733162 +SV100-T1,naive,Train Loss,4900,0.020363083109259605 +SV100-T1,naive,Train Loss,4950,0.020406922325491905 +SV100-T1,naive,Train Loss,5000,0.019624436274170876 +SV100-T1,naive,Train Loss,5500,0.017775580286979675 +SV100-T1,naive,Train Loss,6000,0.015115146525204182 +SV100-T1,naive,Train Loss,6500,0.018594244495034218 +SV100-T1,naive,Train Loss,7000,0.015320414677262306 +SV100-T1,naive,Train Loss,7500,0.01593545638024807 +SV100-T1,naive,Train Loss,8000,0.013878406956791878 +SV100-T1,naive,Train Loss,8500,0.012778803706169128 +SV100-T1,naive,Train Loss,9000,0.01605667918920517 +SV100-T1,naive,Train Loss,9500,0.01372196152806282 +SV100-T1,naive,Train Loss,10000,0.01821868121623993 +SV100-T1,naive,Train Loss,10500,0.011916342191398144 +SV100-T1,naive,Train Loss,11000,0.010111987590789795 +SV100-T1,naive,Train Loss,11500,0.010070720687508583 +SV100-T1,naive,Train Loss,12000,0.009139259345829487 +SV100-T1,naive,Train Loss,12500,0.014619510620832443 +SV100-T1,naive,Train Loss,13000,0.011680550873279572 +SV100-T1,naive,Train Loss,13500,0.009828435257077217 +SV100-T1,naive,Train Loss,14000,0.012221060693264008 +SV100-T1,naive,Train Loss,14500,0.010442870669066906 +SV100-T1,naive,Train Loss,15000,0.009557299315929413 +SV100-T1,naive,Train Loss,15500,0.009866158477962017 +SV100-T1,naive,Train Loss,16000,0.011044430546462536 +SV100-T1,naive,Train Loss,16500,0.008229088969528675 +SV100-T1,naive,Train Loss,17000,0.007571559399366379 +SV100-T1,naive,Train Loss,17500,0.008042193949222565 +SV100-T1,naive,Train Loss,18000,0.007930477149784565 +SV100-T1,naive,Train Loss,18500,0.008832383900880814 +SV100-T1,naive,Train Loss,19000,0.0077576362527906895 +SV100-T1,naive,Train Loss,19500,0.008952010422945023 +SV100-T1,naive,Train Loss,20000,0.006990861613303423 +SV100-T1,naive,Train Loss,20500,0.00851611141115427 +SV100-T1,naive,Train Loss,21000,0.008500821888446808 +SV100-T1,naive,Train Loss,21500,0.007121946197003126 +SV100-T1,naive,Train Loss,22000,0.008774982765316963 +SV100-T1,naive,Train Loss,22500,0.007532158866524696 +SV100-T1,naive,Train Loss,23000,0.007243022322654724 +SV100-T1,naive,Train Loss,23500,0.007380110677331686 +SV100-T1,naive,Train Loss,24000,0.006467738654464483 +SV100-T1,naive,Train Loss,24500,0.007310465443879366 +SV100-T1,naive,Train Loss,25000,0.007157358340919018 +SV100-T1,naive,Train Loss,25500,0.007047679740935564 +SV100-T1,naive,Train Loss,26000,0.006467072293162346 +SV100-T1,naive,Train Loss,26500,0.005106596276164055 +SV100-T1,naive,Train Loss,27000,0.006644087843596935 +SV100-T1,naive,Train Loss,27500,0.006434313952922821 +SV100-T1,naive,Train Loss,28000,0.006557091139256954 +SV100-T1,naive,Train Loss,28500,0.006609642878174782 +SV100-T1,naive,Train Loss,29000,0.008269717916846275 +SV100-T1,naive,Train Loss,29500,0.007038007490336895 +SV100-T1,naive,Eval Images Metrics/fine_psnr,500,15.034371376037598 +SV100-T1,naive,Eval Images Metrics/fine_psnr,1000,16.771778106689453 +SV100-T1,naive,Eval Images Metrics/fine_psnr,1500,17.696704864501953 +SV100-T1,naive,Eval Images Metrics/fine_psnr,2000,18.439268112182617 +SV100-T1,naive,Eval Images Metrics/fine_psnr,2500,17.684186935424805 +SV100-T1,naive,Eval Images Metrics/fine_psnr,3000,19.21348762512207 +SV100-T1,naive,Eval Images Metrics/fine_psnr,3500,14.319633483886719 +SV100-T1,naive,Eval Images Metrics/fine_psnr,4000,19.18758773803711 +SV100-T1,naive,Eval Images Metrics/fine_psnr,4500,16.767881393432617 +SV100-T1,naive,Eval Images Metrics/fine_psnr,5000,14.149942398071289 +SV100-T1,naive,Eval Images Metrics/fine_psnr,5500,21.465198516845703 +SV100-T1,naive,Eval Images Metrics/fine_psnr,6000,16.6114559173584 +SV100-T1,naive,Eval Images Metrics/fine_psnr,6500,19.249767303466797 +SV100-T1,naive,Eval Images Metrics/fine_psnr,7000,15.94807243347168 +SV100-T1,naive,Eval Images Metrics/fine_psnr,7500,18.952497482299805 +SV100-T1,naive,Eval Images Metrics/fine_psnr,8000,17.236513137817383 +SV100-T1,naive,Eval Images Metrics/fine_psnr,8500,20.23763084411621 +SV100-T1,naive,Eval Images Metrics/fine_psnr,9000,16.121057510375977 +SV100-T1,naive,Eval Images Metrics/fine_psnr,9500,17.795366287231445 +SV100-T1,naive,Eval Images Metrics/fine_psnr,10000,17.888330459594727 +SV100-T1,naive,Eval Images Metrics/fine_psnr,10500,16.824172973632812 +SV100-T1,naive,Eval Images Metrics/fine_psnr,11000,14.850113868713379 +SV100-T1,naive,Eval Images Metrics/fine_psnr,11500,16.422561645507812 +SV100-T1,naive,Eval Images Metrics/fine_psnr,12000,13.774620056152344 +SV100-T1,naive,Eval Images Metrics/fine_psnr,12500,15.277064323425293 +SV100-T1,naive,Eval Images Metrics/fine_psnr,13000,14.842679977416992 +SV100-T1,naive,Eval Images Metrics/fine_psnr,13500,14.668871879577637 +SV100-T1,naive,Eval Images Metrics/fine_psnr,14000,17.660078048706055 +SV100-T1,naive,Eval Images Metrics/fine_psnr,14500,15.98557186126709 +SV100-T1,naive,Eval Images Metrics/fine_psnr,15000,18.112239837646484 +SV100-T1,naive,Eval Images Metrics/fine_psnr,15500,19.966503143310547 +SV100-T1,naive,Eval Images Metrics/fine_psnr,16000,13.81907844543457 +SV100-T1,naive,Eval Images Metrics/fine_psnr,16500,19.476234436035156 +SV100-T1,naive,Eval Images Metrics/fine_psnr,17000,16.216310501098633 +SV100-T1,naive,Eval Images Metrics/fine_psnr,17500,15.591567993164062 +SV100-T1,naive,Eval Images Metrics/fine_psnr,18000,15.485745429992676 +SV100-T1,naive,Eval Images Metrics/fine_psnr,18500,19.73255729675293 +SV100-T1,naive,Eval Images Metrics/fine_psnr,19000,18.780323028564453 +SV100-T1,naive,Eval Images Metrics/fine_psnr,19500,14.701252937316895 +SV100-T1,naive,Eval Images Metrics/fine_psnr,20000,19.05784034729004 +SV100-T1,naive,Eval Images Metrics/fine_psnr,20500,19.23434829711914 +SV100-T1,naive,Eval Images Metrics/fine_psnr,21000,16.247026443481445 +SV100-T1,naive,Eval Images Metrics/fine_psnr,21500,22.04487419128418 +SV100-T1,naive,Eval Images Metrics/fine_psnr,22000,15.644728660583496 +SV100-T1,naive,Eval Images Metrics/fine_psnr,22500,14.562225341796875 +SV100-T1,naive,Eval Images Metrics/fine_psnr,23000,15.192601203918457 +SV100-T1,naive,Eval Images Metrics/fine_psnr,23500,15.234413146972656 +SV100-T1,naive,Eval Images Metrics/fine_psnr,24000,18.227781295776367 +SV100-T1,naive,Eval Images Metrics/fine_psnr,24500,18.99810218811035 +SV100-T1,naive,Eval Images Metrics/fine_psnr,25000,14.706299781799316 +SV100-T1,naive,Eval Images Metrics/fine_psnr,25500,20.134811401367188 +SV100-T1,naive,Eval Images Metrics/fine_psnr,26000,14.288695335388184 +SV100-T1,naive,Eval Images Metrics/fine_psnr,26500,15.88490104675293 +SV100-T1,naive,Eval Images Metrics/fine_psnr,27000,19.295873641967773 +SV100-T1,naive,Eval Images Metrics/fine_psnr,27500,14.548089981079102 +SV100-T1,naive,Eval Images Metrics/fine_psnr,28000,15.762008666992188 +SV100-T1,naive,Eval Images Metrics/fine_psnr,28500,14.830535888671875 +SV100-T1,naive,Eval Images Metrics/fine_psnr,29000,16.393203735351562 +SV100-T1,naive,Eval Images Metrics/fine_psnr,29500,14.621813774108887 +SV100-T1,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,16.843713760375977 +SV100-T1,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7430300116539001 +SV100-T1,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.19217075407505035 +SV100-T1,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-T1,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-T1,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-T1,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-T1,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-T1,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-T1,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-T1,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-T1,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-T1,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-T1,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-T1,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-T1,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-T1,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-T1,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-T1,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-T1,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-T1,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-T1,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-T1,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-T1,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-T1,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-T1,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-T1,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-T1,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-T1,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-T1,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-T1,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-T1,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-T1,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-T1,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-T1,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-T1,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-T1,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-T1,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-T1,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-T1,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-T1,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-T1,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-T1,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-T1,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-T1,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-T1,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-T1,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-T1,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-T1,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-T1,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-T1,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-T1,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-T1,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-T1,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-T1,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-T1,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-T1,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-T1,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-T1,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-T1,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-T1,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-T1,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-T1,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-T1,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-T1,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-T1,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-T1,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-T1,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-T1,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-T1,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-T1,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-T1,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-T1,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-T1,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-T1,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-T1,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-T1,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-T1,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-T1,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-T1,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-T1,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-T1,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-T1,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-T1,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-T1,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-T1,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-T1,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-T1,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-T1,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-T1,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-T1,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-T1,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-T1,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-T1,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-T1,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-T1,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-T1,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-T1,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-T1,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-T1,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-T1,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-T1,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-T1,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-T1,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-T1,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-T1,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-T1,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-T1,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-T1,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-T1,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-T1,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-T1,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-T1,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-T1,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-T1,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-T1,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-T1,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-T1,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-T1,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-T1,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-T1,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-T1,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-T1,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-T1,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-T1,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-T1,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-T1,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-T1,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-T1,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-T1,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-T1,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-T1,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-T1,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-T1,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-T1,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-T1,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-T1,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-T1,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-T1,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-T1,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-T1,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-T1,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-T1,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-T1,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-T1,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-T1,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-T1,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-T1,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-T1,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-T1,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-T1,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-T1,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-T1,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-T1,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T1,camp,Train Loss,0,0.3421427607536316 +SV100-T1,camp,Train Loss,50,0.31843796372413635 +SV100-T1,camp,Train Loss,100,0.18504901230335236 +SV100-T1,camp,Train Loss,150,0.1772124171257019 +SV100-T1,camp,Train Loss,200,0.16446338593959808 +SV100-T1,camp,Train Loss,250,0.1518140286207199 +SV100-T1,camp,Train Loss,300,0.14392518997192383 +SV100-T1,camp,Train Loss,350,0.09539958089590073 +SV100-T1,camp,Train Loss,400,0.08178579807281494 +SV100-T1,camp,Train Loss,450,0.07669326663017273 +SV100-T1,camp,Train Loss,500,0.0782172828912735 +SV100-T1,camp,Train Loss,550,0.07348889112472534 +SV100-T1,camp,Train Loss,600,0.07219326496124268 +SV100-T1,camp,Train Loss,650,0.07337451726198196 +SV100-T1,camp,Train Loss,700,0.06759762018918991 +SV100-T1,camp,Train Loss,750,0.06467445194721222 +SV100-T1,camp,Train Loss,800,0.06832754611968994 +SV100-T1,camp,Train Loss,850,0.06785109639167786 +SV100-T1,camp,Train Loss,900,0.05780717357993126 +SV100-T1,camp,Train Loss,950,0.06795495748519897 +SV100-T1,camp,Train Loss,1000,0.06503649055957794 +SV100-T1,camp,Train Loss,1050,0.049344271421432495 +SV100-T1,camp,Train Loss,1100,0.051128827035427094 +SV100-T1,camp,Train Loss,1150,0.06662970781326294 +SV100-T1,camp,Train Loss,1200,0.05245707929134369 +SV100-T1,camp,Train Loss,1250,0.05978605896234512 +SV100-T1,camp,Train Loss,1300,0.05481310188770294 +SV100-T1,camp,Train Loss,1350,0.055249545723199844 +SV100-T1,camp,Train Loss,1400,0.05020100995898247 +SV100-T1,camp,Train Loss,1450,0.04083310812711716 +SV100-T1,camp,Train Loss,1500,0.05762039124965668 +SV100-T1,camp,Train Loss,1550,0.054110415279865265 +SV100-T1,camp,Train Loss,1600,0.05043506994843483 +SV100-T1,camp,Train Loss,1650,0.0544394925236702 +SV100-T1,camp,Train Loss,1700,0.04446021467447281 +SV100-T1,camp,Train Loss,1750,0.05456673726439476 +SV100-T1,camp,Train Loss,1800,0.046586859971284866 +SV100-T1,camp,Train Loss,1850,0.039140984416007996 +SV100-T1,camp,Train Loss,1900,0.04776088148355484 +SV100-T1,camp,Train Loss,1950,0.04235844314098358 +SV100-T1,camp,Train Loss,2000,0.039233699440956116 +SV100-T1,camp,Train Loss,2050,0.041695594787597656 +SV100-T1,camp,Train Loss,2100,0.04115919768810272 +SV100-T1,camp,Train Loss,2150,0.04498758539557457 +SV100-T1,camp,Train Loss,2200,0.04131666570901871 +SV100-T1,camp,Train Loss,2250,0.036681368947029114 +SV100-T1,camp,Train Loss,2300,0.037268172949552536 +SV100-T1,camp,Train Loss,2350,0.04532107710838318 +SV100-T1,camp,Train Loss,2400,0.034390173852443695 +SV100-T1,camp,Train Loss,2450,0.03827647492289543 +SV100-T1,camp,Train Loss,2500,0.030939210206270218 +SV100-T1,camp,Train Loss,2550,0.042581956833601 +SV100-T1,camp,Train Loss,2600,0.04087841138243675 +SV100-T1,camp,Train Loss,2650,0.041586168110370636 +SV100-T1,camp,Train Loss,2700,0.03487621992826462 +SV100-T1,camp,Train Loss,2750,0.039059076458215714 +SV100-T1,camp,Train Loss,2800,0.03798944130539894 +SV100-T1,camp,Train Loss,2850,0.031390510499477386 +SV100-T1,camp,Train Loss,2900,0.028178531676530838 +SV100-T1,camp,Train Loss,2950,0.03708890080451965 +SV100-T1,camp,Train Loss,3000,0.03500789403915405 +SV100-T1,camp,Train Loss,3050,0.027231654152274132 +SV100-T1,camp,Train Loss,3100,0.02827475778758526 +SV100-T1,camp,Train Loss,3150,0.03196835517883301 +SV100-T1,camp,Train Loss,3200,0.03266211599111557 +SV100-T1,camp,Train Loss,3250,0.02954123169183731 +SV100-T1,camp,Train Loss,3300,0.029621869325637817 +SV100-T1,camp,Train Loss,3350,0.034320712089538574 +SV100-T1,camp,Train Loss,3400,0.028622500598430634 +SV100-T1,camp,Train Loss,3450,0.028622876852750778 +SV100-T1,camp,Train Loss,3500,0.029519097879529 +SV100-T1,camp,Train Loss,3550,0.03251718729734421 +SV100-T1,camp,Train Loss,3600,0.03133394569158554 +SV100-T1,camp,Train Loss,3650,0.031345903873443604 +SV100-T1,camp,Train Loss,3700,0.02878333069384098 +SV100-T1,camp,Train Loss,3750,0.0263639148324728 +SV100-T1,camp,Train Loss,3800,0.03207625448703766 +SV100-T1,camp,Train Loss,3850,0.02751569077372551 +SV100-T1,camp,Train Loss,3900,0.03080025687813759 +SV100-T1,camp,Train Loss,3950,0.027823209762573242 +SV100-T1,camp,Train Loss,4000,0.031011229380965233 +SV100-T1,camp,Train Loss,4050,0.02452671527862549 +SV100-T1,camp,Train Loss,4100,0.027989935129880905 +SV100-T1,camp,Train Loss,4150,0.028662312775850296 +SV100-T1,camp,Train Loss,4200,0.02925623394548893 +SV100-T1,camp,Train Loss,4250,0.028090642765164375 +SV100-T1,camp,Train Loss,4300,0.022376397624611855 +SV100-T1,camp,Train Loss,4350,0.025875484570860863 +SV100-T1,camp,Train Loss,4400,0.02736520767211914 +SV100-T1,camp,Train Loss,4450,0.026970410719513893 +SV100-T1,camp,Train Loss,4500,0.03075934201478958 +SV100-T1,camp,Train Loss,4550,0.024202853441238403 +SV100-T1,camp,Train Loss,4600,0.024248018860816956 +SV100-T1,camp,Train Loss,4650,0.02756066806614399 +SV100-T1,camp,Train Loss,4700,0.02399459108710289 +SV100-T1,camp,Train Loss,4750,0.023012429475784302 +SV100-T1,camp,Train Loss,4800,0.026297029107809067 +SV100-T1,camp,Train Loss,4850,0.02315870113670826 +SV100-T1,camp,Train Loss,4900,0.028353679925203323 +SV100-T1,camp,Train Loss,4950,0.025804203003644943 +SV100-T1,camp,Train Loss,5000,0.025360003113746643 +SV100-T1,camp,Train Loss,5500,0.023286890238523483 +SV100-T1,camp,Train Loss,6000,0.018427368253469467 +SV100-T1,camp,Train Loss,6500,0.02162063866853714 +SV100-T1,camp,Train Loss,7000,0.01858609728515148 +SV100-T1,camp,Train Loss,7500,0.01670994609594345 +SV100-T1,camp,Train Loss,8000,0.015434132888913155 +SV100-T1,camp,Train Loss,8500,0.014541186392307281 +SV100-T1,camp,Train Loss,9000,0.015775367617607117 +SV100-T1,camp,Train Loss,9500,0.013637534342706203 +SV100-T1,camp,Train Loss,10000,0.013681227341294289 +SV100-T1,camp,Train Loss,10500,0.013614817522466183 +SV100-T1,camp,Train Loss,11000,0.012842548079788685 +SV100-T1,camp,Train Loss,11500,0.011957874521613121 +SV100-T1,camp,Train Loss,12000,0.009393898770213127 +SV100-T1,camp,Train Loss,12500,0.015030678361654282 +SV100-T1,camp,Train Loss,13000,0.012219564989209175 +SV100-T1,camp,Train Loss,13500,0.01062200777232647 +SV100-T1,camp,Train Loss,14000,0.01353895477950573 +SV100-T1,camp,Train Loss,14500,0.012919789180159569 +SV100-T1,camp,Train Loss,15000,0.009011786431074142 +SV100-T1,camp,Train Loss,15500,0.011646924540400505 +SV100-T1,camp,Train Loss,16000,0.009690795093774796 +SV100-T1,camp,Train Loss,16500,0.009017197415232658 +SV100-T1,camp,Train Loss,17000,0.0077240499667823315 +SV100-T1,camp,Train Loss,17500,0.009219272062182426 +SV100-T1,camp,Train Loss,18000,0.0093768872320652 +SV100-T1,camp,Train Loss,18500,0.008327564224600792 +SV100-T1,camp,Train Loss,19000,0.008032577112317085 +SV100-T1,camp,Train Loss,19500,0.011523904278874397 +SV100-T1,camp,Train Loss,20000,0.007953236810863018 +SV100-T1,camp,Train Loss,20500,0.009321938268840313 +SV100-T1,camp,Train Loss,21000,0.00963606871664524 +SV100-T1,camp,Train Loss,21500,0.006489773280918598 +SV100-T1,camp,Train Loss,22000,0.010668049566447735 +SV100-T1,camp,Train Loss,22500,0.007701598107814789 +SV100-T1,camp,Train Loss,23000,0.0070754061453044415 +SV100-T1,camp,Train Loss,23500,0.00852852500975132 +SV100-T1,camp,Train Loss,24000,0.00683231744915247 +SV100-T1,camp,Train Loss,24500,0.007790957577526569 +SV100-T1,camp,Train Loss,25000,0.007575987838208675 +SV100-T1,camp,Train Loss,25500,0.007224288769066334 +SV100-T1,camp,Train Loss,26000,0.006341222673654556 +SV100-T1,camp,Train Loss,26500,0.005709503777325153 +SV100-T1,camp,Train Loss,27000,0.007301389705389738 +SV100-T1,camp,Train Loss,27500,0.005516943987458944 +SV100-T1,camp,Train Loss,28000,0.007209761068224907 +SV100-T1,camp,Train Loss,28500,0.007255653850734234 +SV100-T1,camp,Train Loss,29000,0.00856229942291975 +SV100-T1,camp,Train Loss,29500,0.00745160598307848 +SV100-T1,camp,Eval Images Metrics/fine_psnr,500,14.319726943969727 +SV100-T1,camp,Eval Images Metrics/fine_psnr,1000,17.553218841552734 +SV100-T1,camp,Eval Images Metrics/fine_psnr,1500,16.806468963623047 +SV100-T1,camp,Eval Images Metrics/fine_psnr,2000,16.856597900390625 +SV100-T1,camp,Eval Images Metrics/fine_psnr,2500,18.25069236755371 +SV100-T1,camp,Eval Images Metrics/fine_psnr,3000,17.29563331604004 +SV100-T1,camp,Eval Images Metrics/fine_psnr,3500,16.37141990661621 +SV100-T1,camp,Eval Images Metrics/fine_psnr,4000,17.42394256591797 +SV100-T1,camp,Eval Images Metrics/fine_psnr,4500,19.471527099609375 +SV100-T1,camp,Eval Images Metrics/fine_psnr,5000,17.056583404541016 +SV100-T1,camp,Eval Images Metrics/fine_psnr,5500,17.945486068725586 +SV100-T1,camp,Eval Images Metrics/fine_psnr,6000,16.85165786743164 +SV100-T1,camp,Eval Images Metrics/fine_psnr,6500,17.84114646911621 +SV100-T1,camp,Eval Images Metrics/fine_psnr,7000,17.95922088623047 +SV100-T1,camp,Eval Images Metrics/fine_psnr,7500,19.688228607177734 +SV100-T1,camp,Eval Images Metrics/fine_psnr,8000,18.18412971496582 +SV100-T1,camp,Eval Images Metrics/fine_psnr,8500,16.908706665039062 +SV100-T1,camp,Eval Images Metrics/fine_psnr,9000,20.845577239990234 +SV100-T1,camp,Eval Images Metrics/fine_psnr,9500,16.48647689819336 +SV100-T1,camp,Eval Images Metrics/fine_psnr,10000,16.4573917388916 +SV100-T1,camp,Eval Images Metrics/fine_psnr,10500,17.552030563354492 +SV100-T1,camp,Eval Images Metrics/fine_psnr,11000,17.193357467651367 +SV100-T1,camp,Eval Images Metrics/fine_psnr,11500,17.333431243896484 +SV100-T1,camp,Eval Images Metrics/fine_psnr,12000,15.862789154052734 +SV100-T1,camp,Eval Images Metrics/fine_psnr,12500,16.003400802612305 +SV100-T1,camp,Eval Images Metrics/fine_psnr,13000,16.43255043029785 +SV100-T1,camp,Eval Images Metrics/fine_psnr,13500,16.240440368652344 +SV100-T1,camp,Eval Images Metrics/fine_psnr,14000,16.195829391479492 +SV100-T1,camp,Eval Images Metrics/fine_psnr,14500,16.15886688232422 +SV100-T1,camp,Eval Images Metrics/fine_psnr,15000,18.567882537841797 +SV100-T1,camp,Eval Images Metrics/fine_psnr,15500,16.75058937072754 +SV100-T1,camp,Eval Images Metrics/fine_psnr,16000,15.568207740783691 +SV100-T1,camp,Eval Images Metrics/fine_psnr,16500,17.158071517944336 +SV100-T1,camp,Eval Images Metrics/fine_psnr,17000,21.170866012573242 +SV100-T1,camp,Eval Images Metrics/fine_psnr,17500,17.825347900390625 +SV100-T1,camp,Eval Images Metrics/fine_psnr,18000,18.962783813476562 +SV100-T1,camp,Eval Images Metrics/fine_psnr,18500,16.79884147644043 +SV100-T1,camp,Eval Images Metrics/fine_psnr,19000,18.235708236694336 +SV100-T1,camp,Eval Images Metrics/fine_psnr,19500,15.989335060119629 +SV100-T1,camp,Eval Images Metrics/fine_psnr,20000,16.398691177368164 +SV100-T1,camp,Eval Images Metrics/fine_psnr,20500,17.698036193847656 +SV100-T1,camp,Eval Images Metrics/fine_psnr,21000,20.997756958007812 +SV100-T1,camp,Eval Images Metrics/fine_psnr,21500,16.845947265625 +SV100-T1,camp,Eval Images Metrics/fine_psnr,22000,15.30540943145752 +SV100-T1,camp,Eval Images Metrics/fine_psnr,22500,16.079973220825195 +SV100-T1,camp,Eval Images Metrics/fine_psnr,23000,15.487707138061523 +SV100-T1,camp,Eval Images Metrics/fine_psnr,23500,15.511337280273438 +SV100-T1,camp,Eval Images Metrics/fine_psnr,24000,15.89889144897461 +SV100-T1,camp,Eval Images Metrics/fine_psnr,24500,16.37668228149414 +SV100-T1,camp,Eval Images Metrics/fine_psnr,25000,18.270427703857422 +SV100-T1,camp,Eval Images Metrics/fine_psnr,25500,16.365341186523438 +SV100-T1,camp,Eval Images Metrics/fine_psnr,26000,15.02765941619873 +SV100-T1,camp,Eval Images Metrics/fine_psnr,26500,15.415390014648438 +SV100-T1,camp,Eval Images Metrics/fine_psnr,27000,16.79779815673828 +SV100-T1,camp,Eval Images Metrics/fine_psnr,27500,15.974055290222168 +SV100-T1,camp,Eval Images Metrics/fine_psnr,28000,19.375682830810547 +SV100-T1,camp,Eval Images Metrics/fine_psnr,28500,17.371580123901367 +SV100-T1,camp,Eval Images Metrics/fine_psnr,29000,21.6892032623291 +SV100-T1,camp,Eval Images Metrics/fine_psnr,29500,15.553987503051758 +SV100-T1,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,17.21643829345703 +SV100-T1,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.745941162109375 +SV100-T1,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.17812776565551758 +SV100-T1,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-T1,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-T1,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-T1,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-T1,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-T1,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-T1,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-T1,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-T1,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-T1,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-T1,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-T1,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-T1,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-T1,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-T1,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-T1,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-T1,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-T1,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-T1,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-T1,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-T1,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-T1,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-T1,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-T1,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-T1,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-T1,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-T1,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-T1,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-T1,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-T1,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-T1,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-T1,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-T1,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-T1,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-T1,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-T1,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-T1,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-T1,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-T1,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-T1,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-T1,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-T1,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-T1,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-T1,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-T1,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-T1,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-T1,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-T1,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-T1,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-T1,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-T1,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-T1,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-T1,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-T1,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-T1,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-T1,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-T1,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-T1,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-T1,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-T1,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-T1,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-T1,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-T1,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-T1,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-T1,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-T1,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-T1,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-T1,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-T1,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-T1,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-T1,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-T1,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-T1,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-T1,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-T1,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-T1,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-T1,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-T1,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-T1,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-T1,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-T1,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-T1,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-T1,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-T1,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-T1,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-T1,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-T1,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-T1,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-T1,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-T1,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-T1,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-T1,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-T1,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-T1,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-T1,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-T1,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-T1,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-T1,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-T1,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-T1,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-T1,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-T1,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-T1,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-T1,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-T1,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-T1,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-T1,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-T1,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-T1,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-T1,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-T1,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-T1,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-T1,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-T1,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-T1,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-T1,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-T1,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-T1,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-T1,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-T1,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-T1,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-T1,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-T1,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-T1,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-T1,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-T1,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-T1,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-T1,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-T1,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-T1,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-T1,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-T1,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-T1,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-T1,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-T1,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-T1,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-T1,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-T1,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-T1,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-T1,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-T1,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-T1,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-T1,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-T1,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-T1,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-T1,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-T1,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-T1,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-T1,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-T1,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-T1,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T1,naive_warmup,Train Loss,0,0.3421427607536316 +SV100-T1,naive_warmup,Train Loss,50,0.31843942403793335 +SV100-T1,naive_warmup,Train Loss,100,0.1850230097770691 +SV100-T1,naive_warmup,Train Loss,150,0.17671886086463928 +SV100-T1,naive_warmup,Train Loss,200,0.16392040252685547 +SV100-T1,naive_warmup,Train Loss,250,0.15226849913597107 +SV100-T1,naive_warmup,Train Loss,300,0.14140883088111877 +SV100-T1,naive_warmup,Train Loss,350,0.08414137363433838 +SV100-T1,naive_warmup,Train Loss,400,0.06420883536338806 +SV100-T1,naive_warmup,Train Loss,450,0.06092486530542374 +SV100-T1,naive_warmup,Train Loss,500,0.056283846497535706 +SV100-T1,naive_warmup,Train Loss,550,0.050036732107400894 +SV100-T1,naive_warmup,Train Loss,600,0.046838581562042236 +SV100-T1,naive_warmup,Train Loss,650,0.05049340799450874 +SV100-T1,naive_warmup,Train Loss,700,0.045648880302906036 +SV100-T1,naive_warmup,Train Loss,750,0.04489047825336456 +SV100-T1,naive_warmup,Train Loss,800,0.04582209140062332 +SV100-T1,naive_warmup,Train Loss,850,0.04719303548336029 +SV100-T1,naive_warmup,Train Loss,900,0.03717639297246933 +SV100-T1,naive_warmup,Train Loss,950,0.04102623462677002 +SV100-T1,naive_warmup,Train Loss,1000,0.037305839359760284 +SV100-T1,naive_warmup,Train Loss,1050,0.03189578652381897 +SV100-T1,naive_warmup,Train Loss,1100,0.03429938852787018 +SV100-T1,naive_warmup,Train Loss,1150,0.03892073780298233 +SV100-T1,naive_warmup,Train Loss,1200,0.030263710767030716 +SV100-T1,naive_warmup,Train Loss,1250,0.03584539517760277 +SV100-T1,naive_warmup,Train Loss,1300,0.03723914176225662 +SV100-T1,naive_warmup,Train Loss,1350,0.036060579121112823 +SV100-T1,naive_warmup,Train Loss,1400,0.033612512052059174 +SV100-T1,naive_warmup,Train Loss,1450,0.025351496413350105 +SV100-T1,naive_warmup,Train Loss,1500,0.028300350531935692 +SV100-T1,naive_warmup,Train Loss,1550,0.032949820160865784 +SV100-T1,naive_warmup,Train Loss,1600,0.034901514649391174 +SV100-T1,naive_warmup,Train Loss,1650,0.03224258869886398 +SV100-T1,naive_warmup,Train Loss,1700,0.03350742161273956 +SV100-T1,naive_warmup,Train Loss,1750,0.03273142874240875 +SV100-T1,naive_warmup,Train Loss,1800,0.030780531466007233 +SV100-T1,naive_warmup,Train Loss,1850,0.026483189314603806 +SV100-T1,naive_warmup,Train Loss,1900,0.031380847096443176 +SV100-T1,naive_warmup,Train Loss,1950,0.030102593824267387 +SV100-T1,naive_warmup,Train Loss,2000,0.02988296002149582 +SV100-T1,naive_warmup,Train Loss,2050,0.0277634896337986 +SV100-T1,naive_warmup,Train Loss,2100,0.03175294026732445 +SV100-T1,naive_warmup,Train Loss,2150,0.032346539199352264 +SV100-T1,naive_warmup,Train Loss,2200,0.02682485245168209 +SV100-T1,naive_warmup,Train Loss,2250,0.027974721044301987 +SV100-T1,naive_warmup,Train Loss,2300,0.027478618547320366 +SV100-T1,naive_warmup,Train Loss,2350,0.03132742643356323 +SV100-T1,naive_warmup,Train Loss,2400,0.02951017953455448 +SV100-T1,naive_warmup,Train Loss,2450,0.032109152525663376 +SV100-T1,naive_warmup,Train Loss,2500,0.023895857855677605 +SV100-T1,naive_warmup,Train Loss,2550,0.03995080292224884 +SV100-T1,naive_warmup,Train Loss,2600,0.02985965460538864 +SV100-T1,naive_warmup,Train Loss,2650,0.03006250597536564 +SV100-T1,naive_warmup,Train Loss,2700,0.028416011482477188 +SV100-T1,naive_warmup,Train Loss,2750,0.027086451649665833 +SV100-T1,naive_warmup,Train Loss,2800,0.028786849230527878 +SV100-T1,naive_warmup,Train Loss,2850,0.02373974397778511 +SV100-T1,naive_warmup,Train Loss,2900,0.025331316515803337 +SV100-T1,naive_warmup,Train Loss,2950,0.0269912201911211 +SV100-T1,naive_warmup,Train Loss,3000,0.027592234313488007 +SV100-T1,naive_warmup,Train Loss,3050,0.021765494719147682 +SV100-T1,naive_warmup,Train Loss,3100,0.026034079492092133 +SV100-T1,naive_warmup,Train Loss,3150,0.027644751593470573 +SV100-T1,naive_warmup,Train Loss,3200,0.02187177538871765 +SV100-T1,naive_warmup,Train Loss,3250,0.02556326985359192 +SV100-T1,naive_warmup,Train Loss,3300,0.026349414139986038 +SV100-T1,naive_warmup,Train Loss,3350,0.025943361222743988 +SV100-T1,naive_warmup,Train Loss,3400,0.025365814566612244 +SV100-T1,naive_warmup,Train Loss,3450,0.024643786251544952 +SV100-T1,naive_warmup,Train Loss,3500,0.02064071036875248 +SV100-T1,naive_warmup,Train Loss,3550,0.021866321563720703 +SV100-T1,naive_warmup,Train Loss,3600,0.022782858461141586 +SV100-T1,naive_warmup,Train Loss,3650,0.022058816626667976 +SV100-T1,naive_warmup,Train Loss,3700,0.02259419672191143 +SV100-T1,naive_warmup,Train Loss,3750,0.02079465612769127 +SV100-T1,naive_warmup,Train Loss,3800,0.026538826525211334 +SV100-T1,naive_warmup,Train Loss,3850,0.02104206010699272 +SV100-T1,naive_warmup,Train Loss,3900,0.02599303424358368 +SV100-T1,naive_warmup,Train Loss,3950,0.021412242203950882 +SV100-T1,naive_warmup,Train Loss,4000,0.02432570606470108 +SV100-T1,naive_warmup,Train Loss,4050,0.0181494802236557 +SV100-T1,naive_warmup,Train Loss,4100,0.02115516923367977 +SV100-T1,naive_warmup,Train Loss,4150,0.01833299919962883 +SV100-T1,naive_warmup,Train Loss,4200,0.019386377185583115 +SV100-T1,naive_warmup,Train Loss,4250,0.023885346949100494 +SV100-T1,naive_warmup,Train Loss,4300,0.017001941800117493 +SV100-T1,naive_warmup,Train Loss,4350,0.0188694279640913 +SV100-T1,naive_warmup,Train Loss,4400,0.017914365977048874 +SV100-T1,naive_warmup,Train Loss,4450,0.021163221448659897 +SV100-T1,naive_warmup,Train Loss,4500,0.020410548895597458 +SV100-T1,naive_warmup,Train Loss,4550,0.018658112734556198 +SV100-T1,naive_warmup,Train Loss,4600,0.02476027049124241 +SV100-T1,naive_warmup,Train Loss,4650,0.020268525928258896 +SV100-T1,naive_warmup,Train Loss,4700,0.022135382518172264 +SV100-T1,naive_warmup,Train Loss,4750,0.01878078281879425 +SV100-T1,naive_warmup,Train Loss,4800,0.019126854836940765 +SV100-T1,naive_warmup,Train Loss,4850,0.016563866287469864 +SV100-T1,naive_warmup,Train Loss,4900,0.02211710996925831 +SV100-T1,naive_warmup,Train Loss,4950,0.02000397816300392 +SV100-T1,naive_warmup,Train Loss,5000,0.019094936549663544 +SV100-T1,naive_warmup,Train Loss,5500,0.017343660816550255 +SV100-T1,naive_warmup,Train Loss,6000,0.013691836968064308 +SV100-T1,naive_warmup,Train Loss,6500,0.019962798804044724 +SV100-T1,naive_warmup,Train Loss,7000,0.016552243381738663 +SV100-T1,naive_warmup,Train Loss,7500,0.016555044800043106 +SV100-T1,naive_warmup,Train Loss,8000,0.015107430517673492 +SV100-T1,naive_warmup,Train Loss,8500,0.014563214965164661 +SV100-T1,naive_warmup,Train Loss,9000,0.014876792207360268 +SV100-T1,naive_warmup,Train Loss,9500,0.011835051700472832 +SV100-T1,naive_warmup,Train Loss,10000,0.016074461862444878 +SV100-T1,naive_warmup,Train Loss,10500,0.01157502830028534 +SV100-T1,naive_warmup,Train Loss,11000,0.01209052000194788 +SV100-T1,naive_warmup,Train Loss,11500,0.010766521096229553 +SV100-T1,naive_warmup,Train Loss,12000,0.008996319025754929 +SV100-T1,naive_warmup,Train Loss,12500,0.01600978523492813 +SV100-T1,naive_warmup,Train Loss,13000,0.01276484876871109 +SV100-T1,naive_warmup,Train Loss,13500,0.011921762488782406 +SV100-T1,naive_warmup,Train Loss,14000,0.0133283706381917 +SV100-T1,naive_warmup,Train Loss,14500,0.009798194281756878 +SV100-T1,naive_warmup,Train Loss,15000,0.009886663407087326 +SV100-T1,naive_warmup,Train Loss,15500,0.009645636193454266 +SV100-T1,naive_warmup,Train Loss,16000,0.011998401954770088 +SV100-T1,naive_warmup,Train Loss,16500,0.010417156852781773 +SV100-T1,naive_warmup,Train Loss,17000,0.006542814429849386 +SV100-T1,naive_warmup,Train Loss,17500,0.007640351075679064 +SV100-T1,naive_warmup,Train Loss,18000,0.0105842100456357 +SV100-T1,naive_warmup,Train Loss,18500,0.009315868839621544 +SV100-T1,naive_warmup,Train Loss,19000,0.00751953711733222 +SV100-T1,naive_warmup,Train Loss,19500,0.010375851765275002 +SV100-T1,naive_warmup,Train Loss,20000,0.009802574291825294 +SV100-T1,naive_warmup,Train Loss,20500,0.008547456935048103 +SV100-T1,naive_warmup,Train Loss,21000,0.007907440885901451 +SV100-T1,naive_warmup,Train Loss,21500,0.007067540660500526 +SV100-T1,naive_warmup,Train Loss,22000,0.010468261316418648 +SV100-T1,naive_warmup,Train Loss,22500,0.006910458207130432 +SV100-T1,naive_warmup,Train Loss,23000,0.008232222869992256 +SV100-T1,naive_warmup,Train Loss,23500,0.007342505268752575 +SV100-T1,naive_warmup,Train Loss,24000,0.00603996217250824 +SV100-T1,naive_warmup,Train Loss,24500,0.007087904028594494 +SV100-T1,naive_warmup,Train Loss,25000,0.00725029781460762 +SV100-T1,naive_warmup,Train Loss,25500,0.007700044196099043 +SV100-T1,naive_warmup,Train Loss,26000,0.007031148299574852 +SV100-T1,naive_warmup,Train Loss,26500,0.005370206665247679 +SV100-T1,naive_warmup,Train Loss,27000,0.0076472461223602295 +SV100-T1,naive_warmup,Train Loss,27500,0.006342707201838493 +SV100-T1,naive_warmup,Train Loss,28000,0.007578202988952398 +SV100-T1,naive_warmup,Train Loss,28500,0.006900323089212179 +SV100-T1,naive_warmup,Train Loss,29000,0.007472120691090822 +SV100-T1,naive_warmup,Train Loss,29500,0.007525683380663395 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,500,16.431190490722656 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,1000,19.082197189331055 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,1500,18.82030487060547 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,2000,18.67136001586914 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,2500,19.103071212768555 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,3000,19.45804786682129 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,3500,19.239105224609375 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,4000,20.919288635253906 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,4500,20.131139755249023 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,5000,20.66547966003418 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,5500,20.96784210205078 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,6000,21.339168548583984 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,6500,21.65804100036621 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,7000,21.62323570251465 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,7500,23.06412696838379 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,8000,23.671058654785156 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,8500,22.244449615478516 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,9000,22.55309295654297 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,9500,21.846628189086914 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,10000,22.006662368774414 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,10500,23.941558837890625 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,11000,23.023284912109375 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,11500,23.818147659301758 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,12000,22.455488204956055 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,12500,23.5389404296875 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,13000,23.537755966186523 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,13500,23.687170028686523 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,14000,22.450422286987305 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,14500,23.689420700073242 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,15000,22.31471824645996 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,15500,23.127397537231445 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,16000,23.017807006835938 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,16500,23.273441314697266 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,17000,23.8464298248291 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,17500,24.598041534423828 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,18000,24.290422439575195 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,18500,23.268020629882812 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,19000,25.45516014099121 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,19500,24.860794067382812 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,20000,23.56597328186035 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,20500,24.58517074584961 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,21000,24.023754119873047 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,21500,23.388011932373047 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,22000,22.733060836791992 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,22500,24.949661254882812 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,23000,24.57215118408203 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,23500,24.475126266479492 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,24000,22.954483032226562 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,24500,23.91181182861328 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,25000,23.4835262298584 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,25500,23.300079345703125 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,26000,23.2154598236084 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,26500,23.825115203857422 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,27000,23.91550636291504 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,27500,25.469484329223633 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,28000,23.372753143310547 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,28500,22.799489974975586 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,29000,22.59505844116211 +SV100-T1,naive_warmup,Eval Images Metrics/fine_psnr,29500,25.861785888671875 +SV100-T1,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,23.895912170410156 +SV100-T1,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.8404319882392883 +SV100-T1,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.11670677363872528 +SV100-T1,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-T1,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-T1,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-T1,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-T1,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-T1,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-T1,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-T1,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-T1,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-T1,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-T1,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-T1,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-T1,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-T1,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-T1,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-T1,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-T1,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-T1,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-T1,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-T1,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-T1,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-T1,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-T1,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-T1,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-T1,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-T1,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-T1,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-T1,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-T1,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-T1,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-T1,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-T1,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-T1,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-T1,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-T1,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-T1,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-T1,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-T1,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-T1,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-T1,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-T1,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-T1,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-T1,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-T1,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-T1,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-T1,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-T1,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-T1,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-T1,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-T1,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-T1,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-T1,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-T1,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-T1,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-T1,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-T1,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-T1,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-T1,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-T1,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-T1,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-T1,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-T1,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-T1,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-T1,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-T1,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-T1,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-T1,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-T1,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-T1,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-T1,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-T1,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-T1,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-T1,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-T1,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-T1,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-T1,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-T1,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-T1,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-T1,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-T1,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-T1,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-T1,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-T1,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-T1,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-T1,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-T1,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-T1,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-T1,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-T1,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-T1,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-T1,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-T1,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-T1,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-T1,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-T1,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-T1,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-T1,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-T1,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-T1,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-T1,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-T1,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-T1,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-T1,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-T1,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-T1,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-T1,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-T1,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-T1,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-T1,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-T1,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-T1,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-T1,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-T1,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-T1,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-T1,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-T1,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-T1,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-T1,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-T1,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-T1,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-T1,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-T1,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-T1,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-T1,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-T1,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-T1,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-T1,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-T1,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-T1,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-T1,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-T1,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-T1,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-T1,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-T1,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-T1,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-T1,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-T1,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-T1,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-T1,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-T1,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-T1,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-T1,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-T1,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-T1,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-T1,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-T1,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-T1,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-T1,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-T1,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-T1,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-T1,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T1,camp_warmup,Train Loss,0,0.3421427607536316 +SV100-T1,camp_warmup,Train Loss,50,0.3184396028518677 +SV100-T1,camp_warmup,Train Loss,100,0.18503239750862122 +SV100-T1,camp_warmup,Train Loss,150,0.1767149120569229 +SV100-T1,camp_warmup,Train Loss,200,0.16396939754486084 +SV100-T1,camp_warmup,Train Loss,250,0.15250971913337708 +SV100-T1,camp_warmup,Train Loss,300,0.14219370484352112 +SV100-T1,camp_warmup,Train Loss,350,0.08343876153230667 +SV100-T1,camp_warmup,Train Loss,400,0.05783359706401825 +SV100-T1,camp_warmup,Train Loss,450,0.055547915399074554 +SV100-T1,camp_warmup,Train Loss,500,0.05073738470673561 +SV100-T1,camp_warmup,Train Loss,550,0.04537719860672951 +SV100-T1,camp_warmup,Train Loss,600,0.04471401870250702 +SV100-T1,camp_warmup,Train Loss,650,0.04714807868003845 +SV100-T1,camp_warmup,Train Loss,700,0.043277617543935776 +SV100-T1,camp_warmup,Train Loss,750,0.040001824498176575 +SV100-T1,camp_warmup,Train Loss,800,0.04448782280087471 +SV100-T1,camp_warmup,Train Loss,850,0.039930038154125214 +SV100-T1,camp_warmup,Train Loss,900,0.03449010103940964 +SV100-T1,camp_warmup,Train Loss,950,0.03843357786536217 +SV100-T1,camp_warmup,Train Loss,1000,0.037816859781742096 +SV100-T1,camp_warmup,Train Loss,1050,0.032472774386405945 +SV100-T1,camp_warmup,Train Loss,1100,0.03550492972135544 +SV100-T1,camp_warmup,Train Loss,1150,0.03927820548415184 +SV100-T1,camp_warmup,Train Loss,1200,0.030864577740430832 +SV100-T1,camp_warmup,Train Loss,1250,0.037718042731285095 +SV100-T1,camp_warmup,Train Loss,1300,0.033817652612924576 +SV100-T1,camp_warmup,Train Loss,1350,0.03158434480428696 +SV100-T1,camp_warmup,Train Loss,1400,0.03306909650564194 +SV100-T1,camp_warmup,Train Loss,1450,0.02610604278743267 +SV100-T1,camp_warmup,Train Loss,1500,0.030235853046178818 +SV100-T1,camp_warmup,Train Loss,1550,0.03786241263151169 +SV100-T1,camp_warmup,Train Loss,1600,0.03320448845624924 +SV100-T1,camp_warmup,Train Loss,1650,0.033172607421875 +SV100-T1,camp_warmup,Train Loss,1700,0.034400250762701035 +SV100-T1,camp_warmup,Train Loss,1750,0.03667660057544708 +SV100-T1,camp_warmup,Train Loss,1800,0.032280974090099335 +SV100-T1,camp_warmup,Train Loss,1850,0.026737533509731293 +SV100-T1,camp_warmup,Train Loss,1900,0.033178817480802536 +SV100-T1,camp_warmup,Train Loss,1950,0.0298849456012249 +SV100-T1,camp_warmup,Train Loss,2000,0.031464073807001114 +SV100-T1,camp_warmup,Train Loss,2050,0.029656026512384415 +SV100-T1,camp_warmup,Train Loss,2100,0.03524801880121231 +SV100-T1,camp_warmup,Train Loss,2150,0.03260398656129837 +SV100-T1,camp_warmup,Train Loss,2200,0.032114654779434204 +SV100-T1,camp_warmup,Train Loss,2250,0.029797667637467384 +SV100-T1,camp_warmup,Train Loss,2300,0.027533462271094322 +SV100-T1,camp_warmup,Train Loss,2350,0.032968565821647644 +SV100-T1,camp_warmup,Train Loss,2400,0.035538963973522186 +SV100-T1,camp_warmup,Train Loss,2450,0.034621503204107285 +SV100-T1,camp_warmup,Train Loss,2500,0.026747122406959534 +SV100-T1,camp_warmup,Train Loss,2550,0.037456486374139786 +SV100-T1,camp_warmup,Train Loss,2600,0.03149566426873207 +SV100-T1,camp_warmup,Train Loss,2650,0.03031257539987564 +SV100-T1,camp_warmup,Train Loss,2700,0.034134846180677414 +SV100-T1,camp_warmup,Train Loss,2750,0.0319548025727272 +SV100-T1,camp_warmup,Train Loss,2800,0.03287098556756973 +SV100-T1,camp_warmup,Train Loss,2850,0.02485748380422592 +SV100-T1,camp_warmup,Train Loss,2900,0.0276627317070961 +SV100-T1,camp_warmup,Train Loss,2950,0.02887030504643917 +SV100-T1,camp_warmup,Train Loss,3000,0.030749108642339706 +SV100-T1,camp_warmup,Train Loss,3050,0.028250623494386673 +SV100-T1,camp_warmup,Train Loss,3100,0.02626342885196209 +SV100-T1,camp_warmup,Train Loss,3150,0.026739854365587234 +SV100-T1,camp_warmup,Train Loss,3200,0.027870506048202515 +SV100-T1,camp_warmup,Train Loss,3250,0.02771640010178089 +SV100-T1,camp_warmup,Train Loss,3300,0.026425160467624664 +SV100-T1,camp_warmup,Train Loss,3350,0.03130154311656952 +SV100-T1,camp_warmup,Train Loss,3400,0.028924938291311264 +SV100-T1,camp_warmup,Train Loss,3450,0.026199039071798325 +SV100-T1,camp_warmup,Train Loss,3500,0.02657373622059822 +SV100-T1,camp_warmup,Train Loss,3550,0.023359335958957672 +SV100-T1,camp_warmup,Train Loss,3600,0.02574395388364792 +SV100-T1,camp_warmup,Train Loss,3650,0.024079153314232826 +SV100-T1,camp_warmup,Train Loss,3700,0.026317687705159187 +SV100-T1,camp_warmup,Train Loss,3750,0.02552281692624092 +SV100-T1,camp_warmup,Train Loss,3800,0.024954671040177345 +SV100-T1,camp_warmup,Train Loss,3850,0.023152876645326614 +SV100-T1,camp_warmup,Train Loss,3900,0.02792743407189846 +SV100-T1,camp_warmup,Train Loss,3950,0.023572003468871117 +SV100-T1,camp_warmup,Train Loss,4000,0.029254671186208725 +SV100-T1,camp_warmup,Train Loss,4050,0.0202474482357502 +SV100-T1,camp_warmup,Train Loss,4100,0.023702498525381088 +SV100-T1,camp_warmup,Train Loss,4150,0.025029392912983894 +SV100-T1,camp_warmup,Train Loss,4200,0.025621093809604645 +SV100-T1,camp_warmup,Train Loss,4250,0.022512968629598618 +SV100-T1,camp_warmup,Train Loss,4300,0.018385732546448708 +SV100-T1,camp_warmup,Train Loss,4350,0.021213345229625702 +SV100-T1,camp_warmup,Train Loss,4400,0.02343674935400486 +SV100-T1,camp_warmup,Train Loss,4450,0.023813441395759583 +SV100-T1,camp_warmup,Train Loss,4500,0.02039344049990177 +SV100-T1,camp_warmup,Train Loss,4550,0.02019943669438362 +SV100-T1,camp_warmup,Train Loss,4600,0.02183871902525425 +SV100-T1,camp_warmup,Train Loss,4650,0.02173018455505371 +SV100-T1,camp_warmup,Train Loss,4700,0.02127586491405964 +SV100-T1,camp_warmup,Train Loss,4750,0.018958380445837975 +SV100-T1,camp_warmup,Train Loss,4800,0.02276795357465744 +SV100-T1,camp_warmup,Train Loss,4850,0.01848055049777031 +SV100-T1,camp_warmup,Train Loss,4900,0.02252027578651905 +SV100-T1,camp_warmup,Train Loss,4950,0.022982098162174225 +SV100-T1,camp_warmup,Train Loss,5000,0.02291487529873848 +SV100-T1,camp_warmup,Train Loss,5500,0.023086190223693848 +SV100-T1,camp_warmup,Train Loss,6000,0.017263352870941162 +SV100-T1,camp_warmup,Train Loss,6500,0.019106730818748474 +SV100-T1,camp_warmup,Train Loss,7000,0.01918618381023407 +SV100-T1,camp_warmup,Train Loss,7500,0.014667795039713383 +SV100-T1,camp_warmup,Train Loss,8000,0.014625843614339828 +SV100-T1,camp_warmup,Train Loss,8500,0.013997078873217106 +SV100-T1,camp_warmup,Train Loss,9000,0.016176003962755203 +SV100-T1,camp_warmup,Train Loss,9500,0.013318831101059914 +SV100-T1,camp_warmup,Train Loss,10000,0.01464819349348545 +SV100-T1,camp_warmup,Train Loss,10500,0.012446057051420212 +SV100-T1,camp_warmup,Train Loss,11000,0.012072758749127388 +SV100-T1,camp_warmup,Train Loss,11500,0.012166237458586693 +SV100-T1,camp_warmup,Train Loss,12000,0.011441797018051147 +SV100-T1,camp_warmup,Train Loss,12500,0.014134565368294716 +SV100-T1,camp_warmup,Train Loss,13000,0.011125425808131695 +SV100-T1,camp_warmup,Train Loss,13500,0.011299708858132362 +SV100-T1,camp_warmup,Train Loss,14000,0.013563662767410278 +SV100-T1,camp_warmup,Train Loss,14500,0.010852538980543613 +SV100-T1,camp_warmup,Train Loss,15000,0.010253757238388062 +SV100-T1,camp_warmup,Train Loss,15500,0.011644601821899414 +SV100-T1,camp_warmup,Train Loss,16000,0.011680807918310165 +SV100-T1,camp_warmup,Train Loss,16500,0.009887345135211945 +SV100-T1,camp_warmup,Train Loss,17000,0.007113113068044186 +SV100-T1,camp_warmup,Train Loss,17500,0.008959152735769749 +SV100-T1,camp_warmup,Train Loss,18000,0.0075789764523506165 +SV100-T1,camp_warmup,Train Loss,18500,0.009600665420293808 +SV100-T1,camp_warmup,Train Loss,19000,0.009138451889157295 +SV100-T1,camp_warmup,Train Loss,19500,0.00984982866793871 +SV100-T1,camp_warmup,Train Loss,20000,0.007133656647056341 +SV100-T1,camp_warmup,Train Loss,20500,0.009541281498968601 +SV100-T1,camp_warmup,Train Loss,21000,0.007217254023998976 +SV100-T1,camp_warmup,Train Loss,21500,0.007666402496397495 +SV100-T1,camp_warmup,Train Loss,22000,0.00938001461327076 +SV100-T1,camp_warmup,Train Loss,22500,0.0070039620622992516 +SV100-T1,camp_warmup,Train Loss,23000,0.00750390999019146 +SV100-T1,camp_warmup,Train Loss,23500,0.0077752103097736835 +SV100-T1,camp_warmup,Train Loss,24000,0.0063126906752586365 +SV100-T1,camp_warmup,Train Loss,24500,0.007253486663103104 +SV100-T1,camp_warmup,Train Loss,25000,0.009378235787153244 +SV100-T1,camp_warmup,Train Loss,25500,0.006521355360746384 +SV100-T1,camp_warmup,Train Loss,26000,0.006965393200516701 +SV100-T1,camp_warmup,Train Loss,26500,0.004980091005563736 +SV100-T1,camp_warmup,Train Loss,27000,0.008125508204102516 +SV100-T1,camp_warmup,Train Loss,27500,0.0067403558641672134 +SV100-T1,camp_warmup,Train Loss,28000,0.007751314900815487 +SV100-T1,camp_warmup,Train Loss,28500,0.0072470614686608315 +SV100-T1,camp_warmup,Train Loss,29000,0.008177271112799644 +SV100-T1,camp_warmup,Train Loss,29500,0.008430257439613342 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,500,16.4587459564209 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,1000,18.860984802246094 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,1500,18.83953094482422 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,2000,18.82155418395996 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,2500,19.184356689453125 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,3000,19.491609573364258 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,3500,19.115299224853516 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,4000,20.8705997467041 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,4500,20.242258071899414 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,5000,19.600168228149414 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,5500,21.129159927368164 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,6000,20.901235580444336 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,6500,22.087169647216797 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,7000,21.5889892578125 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,7500,23.446815490722656 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,8000,23.42704200744629 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,8500,21.706880569458008 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,9000,21.63737678527832 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,9500,21.79817771911621 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,10000,21.619068145751953 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,10500,23.199405670166016 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,11000,21.767515182495117 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,11500,23.61952781677246 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,12000,20.48285675048828 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,12500,22.249595642089844 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,13000,22.191957473754883 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,13500,22.079187393188477 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,14000,21.73672866821289 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,14500,22.326669692993164 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,15000,21.20390510559082 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,15500,21.970108032226562 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,16000,19.995676040649414 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,16500,21.818986892700195 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,17000,21.98705291748047 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,17500,22.847076416015625 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,18000,22.277210235595703 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,18500,21.65172004699707 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,19000,23.321575164794922 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,19500,21.49412727355957 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,20000,21.355737686157227 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,20500,22.805482864379883 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,21000,21.65362548828125 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,21500,21.954504013061523 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,22000,20.694862365722656 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,22500,21.033445358276367 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,23000,20.829113006591797 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,23500,20.948368072509766 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,24000,20.682605743408203 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,24500,20.71856689453125 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,25000,19.80862045288086 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,25500,21.093639373779297 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,26000,19.93573760986328 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,26500,20.014724731445312 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,27000,20.951143264770508 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,27500,20.898040771484375 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,28000,19.925548553466797 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,28500,19.411357879638672 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,29000,20.091516494750977 +SV100-T1,camp_warmup,Eval Images Metrics/fine_psnr,29500,20.631948471069336 +SV100-T1,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,21.009624481201172 +SV100-T1,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7917432188987732 +SV100-T1,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.13195128738880157 +SV100-T2,fixed,Train Loss,0,0.34264135360717773 +SV100-T2,fixed,Train Loss,50,0.31662076711654663 +SV100-T2,fixed,Train Loss,100,0.17786267399787903 +SV100-T2,fixed,Train Loss,150,0.17638100683689117 +SV100-T2,fixed,Train Loss,200,0.17622211575508118 +SV100-T2,fixed,Train Loss,250,0.16460049152374268 +SV100-T2,fixed,Train Loss,300,0.13597017526626587 +SV100-T2,fixed,Train Loss,350,0.09237731993198395 +SV100-T2,fixed,Train Loss,400,0.06293308734893799 +SV100-T2,fixed,Train Loss,450,0.06078074872493744 +SV100-T2,fixed,Train Loss,500,0.04704760015010834 +SV100-T2,fixed,Train Loss,550,0.054127857089042664 +SV100-T2,fixed,Train Loss,600,0.04988677427172661 +SV100-T2,fixed,Train Loss,650,0.03825496882200241 +SV100-T2,fixed,Train Loss,700,0.04497149586677551 +SV100-T2,fixed,Train Loss,750,0.04396460950374603 +SV100-T2,fixed,Train Loss,800,0.04234273359179497 +SV100-T2,fixed,Train Loss,850,0.04249211400747299 +SV100-T2,fixed,Train Loss,900,0.036575768142938614 +SV100-T2,fixed,Train Loss,950,0.043165549635887146 +SV100-T2,fixed,Train Loss,1000,0.03860534727573395 +SV100-T2,fixed,Train Loss,1050,0.03495875000953674 +SV100-T2,fixed,Train Loss,1100,0.03498831018805504 +SV100-T2,fixed,Train Loss,1150,0.03610224649310112 +SV100-T2,fixed,Train Loss,1200,0.0383063480257988 +SV100-T2,fixed,Train Loss,1250,0.038759343326091766 +SV100-T2,fixed,Train Loss,1300,0.03629821166396141 +SV100-T2,fixed,Train Loss,1350,0.037428028881549835 +SV100-T2,fixed,Train Loss,1400,0.03855539485812187 +SV100-T2,fixed,Train Loss,1450,0.03664747625589371 +SV100-T2,fixed,Train Loss,1500,0.035531386733055115 +SV100-T2,fixed,Train Loss,1550,0.03469999134540558 +SV100-T2,fixed,Train Loss,1600,0.03590525686740875 +SV100-T2,fixed,Train Loss,1650,0.03457605093717575 +SV100-T2,fixed,Train Loss,1700,0.04030153527855873 +SV100-T2,fixed,Train Loss,1750,0.03538380563259125 +SV100-T2,fixed,Train Loss,1800,0.0382654145359993 +SV100-T2,fixed,Train Loss,1850,0.037996113300323486 +SV100-T2,fixed,Train Loss,1900,0.03662911802530289 +SV100-T2,fixed,Train Loss,1950,0.03914346545934677 +SV100-T2,fixed,Train Loss,2000,0.03859882429242134 +SV100-T2,fixed,Train Loss,2050,0.030347760766744614 +SV100-T2,fixed,Train Loss,2100,0.035874880850315094 +SV100-T2,fixed,Train Loss,2150,0.03652527183294296 +SV100-T2,fixed,Train Loss,2200,0.04144210368394852 +SV100-T2,fixed,Train Loss,2250,0.029178716242313385 +SV100-T2,fixed,Train Loss,2300,0.03152438998222351 +SV100-T2,fixed,Train Loss,2350,0.03841171786189079 +SV100-T2,fixed,Train Loss,2400,0.03594795987010002 +SV100-T2,fixed,Train Loss,2450,0.031172066926956177 +SV100-T2,fixed,Train Loss,2500,0.03666926175355911 +SV100-T2,fixed,Train Loss,2550,0.042068615555763245 +SV100-T2,fixed,Train Loss,2600,0.04244742542505264 +SV100-T2,fixed,Train Loss,2650,0.03910868987441063 +SV100-T2,fixed,Train Loss,2700,0.03144341707229614 +SV100-T2,fixed,Train Loss,2750,0.033681873232126236 +SV100-T2,fixed,Train Loss,2800,0.04245101660490036 +SV100-T2,fixed,Train Loss,2850,0.03333056718111038 +SV100-T2,fixed,Train Loss,2900,0.029752444475889206 +SV100-T2,fixed,Train Loss,2950,0.03219830244779587 +SV100-T2,fixed,Train Loss,3000,0.0273453276604414 +SV100-T2,fixed,Train Loss,3050,0.035357482731342316 +SV100-T2,fixed,Train Loss,3100,0.03221563622355461 +SV100-T2,fixed,Train Loss,3150,0.031161654740571976 +SV100-T2,fixed,Train Loss,3200,0.025218885391950607 +SV100-T2,fixed,Train Loss,3250,0.03512212261557579 +SV100-T2,fixed,Train Loss,3300,0.03932751715183258 +SV100-T2,fixed,Train Loss,3350,0.03660200163722038 +SV100-T2,fixed,Train Loss,3400,0.03327454626560211 +SV100-T2,fixed,Train Loss,3450,0.038239214569330215 +SV100-T2,fixed,Train Loss,3500,0.03182043135166168 +SV100-T2,fixed,Train Loss,3550,0.03217492625117302 +SV100-T2,fixed,Train Loss,3600,0.03016616776585579 +SV100-T2,fixed,Train Loss,3650,0.03583189845085144 +SV100-T2,fixed,Train Loss,3700,0.03519202768802643 +SV100-T2,fixed,Train Loss,3750,0.029321130365133286 +SV100-T2,fixed,Train Loss,3800,0.03203717619180679 +SV100-T2,fixed,Train Loss,3850,0.033399343490600586 +SV100-T2,fixed,Train Loss,3900,0.031812213361263275 +SV100-T2,fixed,Train Loss,3950,0.03055529110133648 +SV100-T2,fixed,Train Loss,4000,0.03359535336494446 +SV100-T2,fixed,Train Loss,4050,0.034018006175756454 +SV100-T2,fixed,Train Loss,4100,0.03174993768334389 +SV100-T2,fixed,Train Loss,4150,0.03550034761428833 +SV100-T2,fixed,Train Loss,4200,0.03172546625137329 +SV100-T2,fixed,Train Loss,4250,0.03388618305325508 +SV100-T2,fixed,Train Loss,4300,0.0335826650261879 +SV100-T2,fixed,Train Loss,4350,0.02688039094209671 +SV100-T2,fixed,Train Loss,4400,0.032449573278427124 +SV100-T2,fixed,Train Loss,4450,0.0314277820289135 +SV100-T2,fixed,Train Loss,4500,0.0314641147851944 +SV100-T2,fixed,Train Loss,4550,0.031780391931533813 +SV100-T2,fixed,Train Loss,4600,0.031870968639850616 +SV100-T2,fixed,Train Loss,4650,0.03324747085571289 +SV100-T2,fixed,Train Loss,4700,0.033540964126586914 +SV100-T2,fixed,Train Loss,4750,0.030100204050540924 +SV100-T2,fixed,Train Loss,4800,0.03157316893339157 +SV100-T2,fixed,Train Loss,4850,0.03641616180539131 +SV100-T2,fixed,Train Loss,4900,0.030943937599658966 +SV100-T2,fixed,Train Loss,4950,0.034036144614219666 +SV100-T2,fixed,Train Loss,5000,0.037209175527095795 +SV100-T2,fixed,Train Loss,5500,0.032577261328697205 +SV100-T2,fixed,Train Loss,6000,0.024914195761084557 +SV100-T2,fixed,Train Loss,6500,0.03350945562124252 +SV100-T2,fixed,Train Loss,7000,0.02848723717033863 +SV100-T2,fixed,Train Loss,7500,0.03188081085681915 +SV100-T2,fixed,Train Loss,8000,0.03063332289457321 +SV100-T2,fixed,Train Loss,8500,0.027598770335316658 +SV100-T2,fixed,Train Loss,9000,0.03230776637792587 +SV100-T2,fixed,Train Loss,9500,0.02941466122865677 +SV100-T2,fixed,Train Loss,10000,0.0282976645976305 +SV100-T2,fixed,Train Loss,10500,0.02506384067237377 +SV100-T2,fixed,Train Loss,11000,0.02626122534275055 +SV100-T2,fixed,Train Loss,11500,0.02340245246887207 +SV100-T2,fixed,Train Loss,12000,0.02106766402721405 +SV100-T2,fixed,Train Loss,12500,0.023912891745567322 +SV100-T2,fixed,Train Loss,13000,0.02100212126970291 +SV100-T2,fixed,Train Loss,13500,0.026725266128778458 +SV100-T2,fixed,Train Loss,14000,0.023791348561644554 +SV100-T2,fixed,Train Loss,14500,0.021277371793985367 +SV100-T2,fixed,Train Loss,15000,0.0224223081022501 +SV100-T2,fixed,Train Loss,15500,0.023994453251361847 +SV100-T2,fixed,Train Loss,16000,0.024907104671001434 +SV100-T2,fixed,Train Loss,16500,0.019582349807024002 +SV100-T2,fixed,Train Loss,17000,0.02105771377682686 +SV100-T2,fixed,Train Loss,17500,0.021476712077856064 +SV100-T2,fixed,Train Loss,18000,0.01902124471962452 +SV100-T2,fixed,Train Loss,18500,0.019369594752788544 +SV100-T2,fixed,Train Loss,19000,0.020873259752988815 +SV100-T2,fixed,Train Loss,19500,0.019523929804563522 +SV100-T2,fixed,Train Loss,20000,0.018312081694602966 +SV100-T2,fixed,Train Loss,20500,0.01971346326172352 +SV100-T2,fixed,Train Loss,21000,0.019383158534765244 +SV100-T2,fixed,Train Loss,21500,0.019762026146054268 +SV100-T2,fixed,Train Loss,22000,0.02086186781525612 +SV100-T2,fixed,Train Loss,22500,0.01985282078385353 +SV100-T2,fixed,Train Loss,23000,0.02004173956811428 +SV100-T2,fixed,Train Loss,23500,0.019740667194128036 +SV100-T2,fixed,Train Loss,24000,0.019389256834983826 +SV100-T2,fixed,Train Loss,24500,0.019809449091553688 +SV100-T2,fixed,Train Loss,25000,0.017144370824098587 +SV100-T2,fixed,Train Loss,25500,0.018660608679056168 +SV100-T2,fixed,Train Loss,26000,0.01916789636015892 +SV100-T2,fixed,Train Loss,26500,0.017182903364300728 +SV100-T2,fixed,Train Loss,27000,0.017762592062354088 +SV100-T2,fixed,Train Loss,27500,0.01892843097448349 +SV100-T2,fixed,Train Loss,28000,0.017702411860227585 +SV100-T2,fixed,Train Loss,28500,0.01710311882197857 +SV100-T2,fixed,Train Loss,29000,0.017439506947994232 +SV100-T2,fixed,Train Loss,29500,0.01748528704047203 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,500,16.548830032348633 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,1000,17.715999603271484 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,1500,17.6230525970459 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,2000,18.97696304321289 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,2500,18.209993362426758 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,3000,19.613994598388672 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,3500,19.064599990844727 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,4000,19.071313858032227 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,4500,20.100086212158203 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,5000,19.585050582885742 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,5500,19.40171241760254 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,6000,19.324047088623047 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,6500,19.131488800048828 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,7000,18.26432991027832 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,7500,19.445764541625977 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,8000,19.15743637084961 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,8500,18.400962829589844 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,9000,19.03553581237793 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,9500,18.34458351135254 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,10000,18.575864791870117 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,10500,19.50840950012207 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,11000,18.781049728393555 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,11500,19.98186683654785 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,12000,18.505964279174805 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,12500,17.387638092041016 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,13000,18.550064086914062 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,13500,18.268356323242188 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,14000,19.82545280456543 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,14500,19.288555145263672 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,15000,19.983261108398438 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,15500,17.547639846801758 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,16000,18.019620895385742 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,16500,19.90899085998535 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,17000,19.82892608642578 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,17500,18.19000244140625 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,18000,17.83380699157715 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,18500,19.288557052612305 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,19000,19.132078170776367 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,19500,17.69001007080078 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,20000,17.59734344482422 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,20500,16.764657974243164 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,21000,16.440349578857422 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,21500,18.22671890258789 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,22000,17.416467666625977 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,22500,19.126296997070312 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,23000,19.736181259155273 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,23500,18.699106216430664 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,24000,17.810951232910156 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,24500,17.076248168945312 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,25000,17.272695541381836 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,25500,17.770483016967773 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,26000,18.95395278930664 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,26500,17.911670684814453 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,27000,17.94974708557129 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,27500,17.283706665039062 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,28000,17.998266220092773 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,28500,15.491203308105469 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,29000,18.496553421020508 +SV100-T2,fixed,Eval Images Metrics/fine_psnr,29500,16.86847496032715 +SV100-T2,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,17.877120971679688 +SV100-T2,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7557170987129211 +SV100-T2,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.30229637026786804 +SV100-T2,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-T2,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-T2,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-T2,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-T2,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-T2,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-T2,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-T2,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-T2,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-T2,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-T2,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-T2,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-T2,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-T2,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-T2,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-T2,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-T2,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-T2,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-T2,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-T2,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-T2,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-T2,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-T2,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-T2,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-T2,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-T2,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-T2,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-T2,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-T2,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-T2,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-T2,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-T2,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-T2,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-T2,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-T2,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-T2,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-T2,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-T2,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-T2,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-T2,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-T2,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-T2,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-T2,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-T2,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-T2,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-T2,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-T2,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-T2,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-T2,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-T2,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-T2,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-T2,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-T2,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-T2,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-T2,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-T2,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-T2,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-T2,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-T2,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-T2,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-T2,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-T2,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-T2,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-T2,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-T2,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-T2,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-T2,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-T2,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-T2,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-T2,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-T2,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-T2,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-T2,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-T2,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-T2,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-T2,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-T2,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-T2,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-T2,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-T2,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-T2,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-T2,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-T2,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-T2,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-T2,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-T2,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-T2,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-T2,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-T2,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-T2,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-T2,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-T2,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-T2,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-T2,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-T2,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-T2,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-T2,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-T2,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-T2,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-T2,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-T2,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-T2,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-T2,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-T2,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-T2,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-T2,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-T2,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-T2,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-T2,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-T2,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-T2,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-T2,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-T2,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-T2,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-T2,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-T2,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-T2,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-T2,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-T2,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-T2,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-T2,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-T2,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-T2,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-T2,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-T2,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-T2,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-T2,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-T2,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-T2,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-T2,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-T2,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-T2,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-T2,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-T2,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-T2,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-T2,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-T2,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-T2,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-T2,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-T2,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-T2,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-T2,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-T2,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-T2,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-T2,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-T2,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-T2,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-T2,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-T2,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-T2,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-T2,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T2,naive,Train Loss,0,0.3421420454978943 +SV100-T2,naive,Train Loss,50,0.31841492652893066 +SV100-T2,naive,Train Loss,100,0.1850471943616867 +SV100-T2,naive,Train Loss,150,0.17689615488052368 +SV100-T2,naive,Train Loss,200,0.16503965854644775 +SV100-T2,naive,Train Loss,250,0.15478047728538513 +SV100-T2,naive,Train Loss,300,0.14809927344322205 +SV100-T2,naive,Train Loss,350,0.10171055793762207 +SV100-T2,naive,Train Loss,400,0.09464530646800995 +SV100-T2,naive,Train Loss,450,0.08859781175851822 +SV100-T2,naive,Train Loss,500,0.08526802062988281 +SV100-T2,naive,Train Loss,550,0.07311870157718658 +SV100-T2,naive,Train Loss,600,0.0744905024766922 +SV100-T2,naive,Train Loss,650,0.07839539647102356 +SV100-T2,naive,Train Loss,700,0.07053820788860321 +SV100-T2,naive,Train Loss,750,0.06909029930830002 +SV100-T2,naive,Train Loss,800,0.07726070284843445 +SV100-T2,naive,Train Loss,850,0.0605618953704834 +SV100-T2,naive,Train Loss,900,0.05995359271764755 +SV100-T2,naive,Train Loss,950,0.06148110330104828 +SV100-T2,naive,Train Loss,1000,0.05048022046685219 +SV100-T2,naive,Train Loss,1050,0.04926601052284241 +SV100-T2,naive,Train Loss,1100,0.04137716814875603 +SV100-T2,naive,Train Loss,1150,0.04845689237117767 +SV100-T2,naive,Train Loss,1200,0.04284271225333214 +SV100-T2,naive,Train Loss,1250,0.0493578240275383 +SV100-T2,naive,Train Loss,1300,0.044748127460479736 +SV100-T2,naive,Train Loss,1350,0.04267347231507301 +SV100-T2,naive,Train Loss,1400,0.043696798384189606 +SV100-T2,naive,Train Loss,1450,0.03038906306028366 +SV100-T2,naive,Train Loss,1500,0.035518746823072433 +SV100-T2,naive,Train Loss,1550,0.042524613440036774 +SV100-T2,naive,Train Loss,1600,0.03872040659189224 +SV100-T2,naive,Train Loss,1650,0.03817082569003105 +SV100-T2,naive,Train Loss,1700,0.038786813616752625 +SV100-T2,naive,Train Loss,1750,0.03675314038991928 +SV100-T2,naive,Train Loss,1800,0.03330543637275696 +SV100-T2,naive,Train Loss,1850,0.0277167409658432 +SV100-T2,naive,Train Loss,1900,0.03361736610531807 +SV100-T2,naive,Train Loss,1950,0.03855478763580322 +SV100-T2,naive,Train Loss,2000,0.03623538091778755 +SV100-T2,naive,Train Loss,2050,0.029115553945302963 +SV100-T2,naive,Train Loss,2100,0.03373901918530464 +SV100-T2,naive,Train Loss,2150,0.032858140766620636 +SV100-T2,naive,Train Loss,2200,0.029434680938720703 +SV100-T2,naive,Train Loss,2250,0.03216046094894409 +SV100-T2,naive,Train Loss,2300,0.02545887604355812 +SV100-T2,naive,Train Loss,2350,0.03364573419094086 +SV100-T2,naive,Train Loss,2400,0.028318073600530624 +SV100-T2,naive,Train Loss,2450,0.031741783022880554 +SV100-T2,naive,Train Loss,2500,0.024593599140644073 +SV100-T2,naive,Train Loss,2550,0.0328831672668457 +SV100-T2,naive,Train Loss,2600,0.030501317232847214 +SV100-T2,naive,Train Loss,2650,0.029403917491436005 +SV100-T2,naive,Train Loss,2700,0.029368020594120026 +SV100-T2,naive,Train Loss,2750,0.028325583785772324 +SV100-T2,naive,Train Loss,2800,0.02834966592490673 +SV100-T2,naive,Train Loss,2850,0.026252049952745438 +SV100-T2,naive,Train Loss,2900,0.023254891857504845 +SV100-T2,naive,Train Loss,2950,0.027889108285307884 +SV100-T2,naive,Train Loss,3000,0.02752901241183281 +SV100-T2,naive,Train Loss,3050,0.025929786264896393 +SV100-T2,naive,Train Loss,3100,0.02794650010764599 +SV100-T2,naive,Train Loss,3150,0.029582690447568893 +SV100-T2,naive,Train Loss,3200,0.0239499993622303 +SV100-T2,naive,Train Loss,3250,0.02635286934673786 +SV100-T2,naive,Train Loss,3300,0.02156040631234646 +SV100-T2,naive,Train Loss,3350,0.027182066813111305 +SV100-T2,naive,Train Loss,3400,0.02767842635512352 +SV100-T2,naive,Train Loss,3450,0.027371343225240707 +SV100-T2,naive,Train Loss,3500,0.023612529039382935 +SV100-T2,naive,Train Loss,3550,0.024833528324961662 +SV100-T2,naive,Train Loss,3600,0.02334502339363098 +SV100-T2,naive,Train Loss,3650,0.026150966063141823 +SV100-T2,naive,Train Loss,3700,0.02696884050965309 +SV100-T2,naive,Train Loss,3750,0.02251366898417473 +SV100-T2,naive,Train Loss,3800,0.02196566015481949 +SV100-T2,naive,Train Loss,3850,0.022463932633399963 +SV100-T2,naive,Train Loss,3900,0.02959798276424408 +SV100-T2,naive,Train Loss,3950,0.024456089362502098 +SV100-T2,naive,Train Loss,4000,0.028235536068677902 +SV100-T2,naive,Train Loss,4050,0.019332660362124443 +SV100-T2,naive,Train Loss,4100,0.020244210958480835 +SV100-T2,naive,Train Loss,4150,0.023160602897405624 +SV100-T2,naive,Train Loss,4200,0.020859435200691223 +SV100-T2,naive,Train Loss,4250,0.024838898330926895 +SV100-T2,naive,Train Loss,4300,0.01677596941590309 +SV100-T2,naive,Train Loss,4350,0.0187967699021101 +SV100-T2,naive,Train Loss,4400,0.019320672377943993 +SV100-T2,naive,Train Loss,4450,0.02025638520717621 +SV100-T2,naive,Train Loss,4500,0.02041100338101387 +SV100-T2,naive,Train Loss,4550,0.0191107876598835 +SV100-T2,naive,Train Loss,4600,0.02227030321955681 +SV100-T2,naive,Train Loss,4650,0.022167328745126724 +SV100-T2,naive,Train Loss,4700,0.021322401240468025 +SV100-T2,naive,Train Loss,4750,0.018878798931837082 +SV100-T2,naive,Train Loss,4800,0.02035120688378811 +SV100-T2,naive,Train Loss,4850,0.019242573529481888 +SV100-T2,naive,Train Loss,4900,0.01959165558218956 +SV100-T2,naive,Train Loss,4950,0.02332736924290657 +SV100-T2,naive,Train Loss,5000,0.020069705322384834 +SV100-T2,naive,Train Loss,5500,0.01869368553161621 +SV100-T2,naive,Train Loss,6000,0.01322290301322937 +SV100-T2,naive,Train Loss,6500,0.018621396273374557 +SV100-T2,naive,Train Loss,7000,0.01714048907160759 +SV100-T2,naive,Train Loss,7500,0.015076173469424248 +SV100-T2,naive,Train Loss,8000,0.013904154300689697 +SV100-T2,naive,Train Loss,8500,0.013556096702814102 +SV100-T2,naive,Train Loss,9000,0.01719355396926403 +SV100-T2,naive,Train Loss,9500,0.011470215395092964 +SV100-T2,naive,Train Loss,10000,0.013702461495995522 +SV100-T2,naive,Train Loss,10500,0.01162591390311718 +SV100-T2,naive,Train Loss,11000,0.010366875678300858 +SV100-T2,naive,Train Loss,11500,0.011435413733124733 +SV100-T2,naive,Train Loss,12000,0.009332484565675259 +SV100-T2,naive,Train Loss,12500,0.014026107266545296 +SV100-T2,naive,Train Loss,13000,0.01130902860313654 +SV100-T2,naive,Train Loss,13500,0.010436737909913063 +SV100-T2,naive,Train Loss,14000,0.012142501771450043 +SV100-T2,naive,Train Loss,14500,0.010740356519818306 +SV100-T2,naive,Train Loss,15000,0.008549011312425137 +SV100-T2,naive,Train Loss,15500,0.010207019746303558 +SV100-T2,naive,Train Loss,16000,0.011406182311475277 +SV100-T2,naive,Train Loss,16500,0.008891083300113678 +SV100-T2,naive,Train Loss,17000,0.006818306166678667 +SV100-T2,naive,Train Loss,17500,0.00744468392804265 +SV100-T2,naive,Train Loss,18000,0.008951235562562943 +SV100-T2,naive,Train Loss,18500,0.01037061307579279 +SV100-T2,naive,Train Loss,19000,0.008681492879986763 +SV100-T2,naive,Train Loss,19500,0.010425938293337822 +SV100-T2,naive,Train Loss,20000,0.008947120979428291 +SV100-T2,naive,Train Loss,20500,0.008906664326786995 +SV100-T2,naive,Train Loss,21000,0.0085044726729393 +SV100-T2,naive,Train Loss,21500,0.005856672301888466 +SV100-T2,naive,Train Loss,22000,0.009725508280098438 +SV100-T2,naive,Train Loss,22500,0.007205067202448845 +SV100-T2,naive,Train Loss,23000,0.008494100533425808 +SV100-T2,naive,Train Loss,23500,0.007654555141925812 +SV100-T2,naive,Train Loss,24000,0.005777119193226099 +SV100-T2,naive,Train Loss,24500,0.008043300360441208 +SV100-T2,naive,Train Loss,25000,0.007674099877476692 +SV100-T2,naive,Train Loss,25500,0.00623177457600832 +SV100-T2,naive,Train Loss,26000,0.007351556792855263 +SV100-T2,naive,Train Loss,26500,0.005718652158975601 +SV100-T2,naive,Train Loss,27000,0.006806503050029278 +SV100-T2,naive,Train Loss,27500,0.0065242694690823555 +SV100-T2,naive,Train Loss,28000,0.006212578620761633 +SV100-T2,naive,Train Loss,28500,0.006332111544907093 +SV100-T2,naive,Train Loss,29000,0.008727923035621643 +SV100-T2,naive,Train Loss,29500,0.008073333650827408 +SV100-T2,naive,Eval Images Metrics/fine_psnr,500,15.173833847045898 +SV100-T2,naive,Eval Images Metrics/fine_psnr,1000,17.399194717407227 +SV100-T2,naive,Eval Images Metrics/fine_psnr,1500,16.730173110961914 +SV100-T2,naive,Eval Images Metrics/fine_psnr,2000,15.560680389404297 +SV100-T2,naive,Eval Images Metrics/fine_psnr,2500,15.997539520263672 +SV100-T2,naive,Eval Images Metrics/fine_psnr,3000,16.094097137451172 +SV100-T2,naive,Eval Images Metrics/fine_psnr,3500,18.025556564331055 +SV100-T2,naive,Eval Images Metrics/fine_psnr,4000,16.21902847290039 +SV100-T2,naive,Eval Images Metrics/fine_psnr,4500,16.22585105895996 +SV100-T2,naive,Eval Images Metrics/fine_psnr,5000,17.804153442382812 +SV100-T2,naive,Eval Images Metrics/fine_psnr,5500,16.015106201171875 +SV100-T2,naive,Eval Images Metrics/fine_psnr,6000,16.670406341552734 +SV100-T2,naive,Eval Images Metrics/fine_psnr,6500,15.894705772399902 +SV100-T2,naive,Eval Images Metrics/fine_psnr,7000,18.748340606689453 +SV100-T2,naive,Eval Images Metrics/fine_psnr,7500,17.91876220703125 +SV100-T2,naive,Eval Images Metrics/fine_psnr,8000,18.154081344604492 +SV100-T2,naive,Eval Images Metrics/fine_psnr,8500,15.859968185424805 +SV100-T2,naive,Eval Images Metrics/fine_psnr,9000,15.46153736114502 +SV100-T2,naive,Eval Images Metrics/fine_psnr,9500,16.452178955078125 +SV100-T2,naive,Eval Images Metrics/fine_psnr,10000,16.576171875 +SV100-T2,naive,Eval Images Metrics/fine_psnr,10500,17.693397521972656 +SV100-T2,naive,Eval Images Metrics/fine_psnr,11000,17.539897918701172 +SV100-T2,naive,Eval Images Metrics/fine_psnr,11500,17.600914001464844 +SV100-T2,naive,Eval Images Metrics/fine_psnr,12000,19.062047958374023 +SV100-T2,naive,Eval Images Metrics/fine_psnr,12500,16.898334503173828 +SV100-T2,naive,Eval Images Metrics/fine_psnr,13000,17.432313919067383 +SV100-T2,naive,Eval Images Metrics/fine_psnr,13500,17.285432815551758 +SV100-T2,naive,Eval Images Metrics/fine_psnr,14000,16.994564056396484 +SV100-T2,naive,Eval Images Metrics/fine_psnr,14500,16.749065399169922 +SV100-T2,naive,Eval Images Metrics/fine_psnr,15000,15.434511184692383 +SV100-T2,naive,Eval Images Metrics/fine_psnr,15500,16.366947174072266 +SV100-T2,naive,Eval Images Metrics/fine_psnr,16000,19.107929229736328 +SV100-T2,naive,Eval Images Metrics/fine_psnr,16500,15.586824417114258 +SV100-T2,naive,Eval Images Metrics/fine_psnr,17000,15.640869140625 +SV100-T2,naive,Eval Images Metrics/fine_psnr,17500,16.82161521911621 +SV100-T2,naive,Eval Images Metrics/fine_psnr,18000,15.899069786071777 +SV100-T2,naive,Eval Images Metrics/fine_psnr,18500,15.271442413330078 +SV100-T2,naive,Eval Images Metrics/fine_psnr,19000,17.980993270874023 +SV100-T2,naive,Eval Images Metrics/fine_psnr,19500,17.161834716796875 +SV100-T2,naive,Eval Images Metrics/fine_psnr,20000,15.416539192199707 +SV100-T2,naive,Eval Images Metrics/fine_psnr,20500,16.605058670043945 +SV100-T2,naive,Eval Images Metrics/fine_psnr,21000,15.578618049621582 +SV100-T2,naive,Eval Images Metrics/fine_psnr,21500,15.85543155670166 +SV100-T2,naive,Eval Images Metrics/fine_psnr,22000,18.93834686279297 +SV100-T2,naive,Eval Images Metrics/fine_psnr,22500,17.215269088745117 +SV100-T2,naive,Eval Images Metrics/fine_psnr,23000,16.500734329223633 +SV100-T2,naive,Eval Images Metrics/fine_psnr,23500,16.53818702697754 +SV100-T2,naive,Eval Images Metrics/fine_psnr,24000,16.611461639404297 +SV100-T2,naive,Eval Images Metrics/fine_psnr,24500,15.266538619995117 +SV100-T2,naive,Eval Images Metrics/fine_psnr,25000,15.151301383972168 +SV100-T2,naive,Eval Images Metrics/fine_psnr,25500,16.164915084838867 +SV100-T2,naive,Eval Images Metrics/fine_psnr,26000,19.204917907714844 +SV100-T2,naive,Eval Images Metrics/fine_psnr,26500,16.234092712402344 +SV100-T2,naive,Eval Images Metrics/fine_psnr,27000,15.441076278686523 +SV100-T2,naive,Eval Images Metrics/fine_psnr,27500,17.163969039916992 +SV100-T2,naive,Eval Images Metrics/fine_psnr,28000,15.114938735961914 +SV100-T2,naive,Eval Images Metrics/fine_psnr,28500,15.672638893127441 +SV100-T2,naive,Eval Images Metrics/fine_psnr,29000,14.945295333862305 +SV100-T2,naive,Eval Images Metrics/fine_psnr,29500,16.95018768310547 +SV100-T2,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,16.530969619750977 +SV100-T2,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7380359768867493 +SV100-T2,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.18619611859321594 +SV100-T2,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-T2,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-T2,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-T2,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-T2,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-T2,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-T2,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-T2,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-T2,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-T2,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-T2,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-T2,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-T2,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-T2,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-T2,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-T2,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-T2,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-T2,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-T2,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-T2,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-T2,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-T2,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-T2,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-T2,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-T2,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-T2,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-T2,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-T2,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-T2,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-T2,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-T2,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-T2,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-T2,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-T2,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-T2,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-T2,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-T2,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-T2,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-T2,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-T2,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-T2,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-T2,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-T2,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-T2,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-T2,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-T2,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-T2,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-T2,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-T2,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-T2,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-T2,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-T2,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-T2,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-T2,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-T2,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-T2,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-T2,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-T2,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-T2,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-T2,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-T2,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-T2,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-T2,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-T2,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-T2,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-T2,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-T2,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-T2,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-T2,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-T2,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-T2,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-T2,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-T2,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-T2,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-T2,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-T2,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-T2,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-T2,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-T2,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-T2,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-T2,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-T2,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-T2,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-T2,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-T2,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-T2,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-T2,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-T2,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-T2,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-T2,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-T2,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-T2,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-T2,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-T2,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-T2,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-T2,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-T2,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-T2,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-T2,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-T2,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-T2,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-T2,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-T2,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-T2,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-T2,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-T2,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-T2,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-T2,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-T2,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-T2,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-T2,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-T2,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-T2,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-T2,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-T2,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-T2,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-T2,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-T2,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-T2,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-T2,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-T2,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-T2,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-T2,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-T2,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-T2,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-T2,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-T2,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-T2,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-T2,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-T2,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-T2,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-T2,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-T2,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-T2,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-T2,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-T2,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-T2,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-T2,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-T2,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-T2,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-T2,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-T2,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-T2,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-T2,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-T2,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-T2,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-T2,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-T2,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-T2,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-T2,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-T2,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T2,camp,Train Loss,0,0.3421420454978943 +SV100-T2,camp,Train Loss,50,0.31842127442359924 +SV100-T2,camp,Train Loss,100,0.18482382595539093 +SV100-T2,camp,Train Loss,150,0.17703869938850403 +SV100-T2,camp,Train Loss,200,0.16433991491794586 +SV100-T2,camp,Train Loss,250,0.15337887406349182 +SV100-T2,camp,Train Loss,300,0.14372101426124573 +SV100-T2,camp,Train Loss,350,0.0965799018740654 +SV100-T2,camp,Train Loss,400,0.08391592651605606 +SV100-T2,camp,Train Loss,450,0.07676444202661514 +SV100-T2,camp,Train Loss,500,0.07508455216884613 +SV100-T2,camp,Train Loss,550,0.07320207357406616 +SV100-T2,camp,Train Loss,600,0.06937092542648315 +SV100-T2,camp,Train Loss,650,0.07073017954826355 +SV100-T2,camp,Train Loss,700,0.06234480068087578 +SV100-T2,camp,Train Loss,750,0.062441933900117874 +SV100-T2,camp,Train Loss,800,0.07589895278215408 +SV100-T2,camp,Train Loss,850,0.057554781436920166 +SV100-T2,camp,Train Loss,900,0.05740409344434738 +SV100-T2,camp,Train Loss,950,0.06395670771598816 +SV100-T2,camp,Train Loss,1000,0.058818649500608444 +SV100-T2,camp,Train Loss,1050,0.053649503737688065 +SV100-T2,camp,Train Loss,1100,0.05581539869308472 +SV100-T2,camp,Train Loss,1150,0.062337569892406464 +SV100-T2,camp,Train Loss,1200,0.04847848415374756 +SV100-T2,camp,Train Loss,1250,0.060523513704538345 +SV100-T2,camp,Train Loss,1300,0.056205760687589645 +SV100-T2,camp,Train Loss,1350,0.058574676513671875 +SV100-T2,camp,Train Loss,1400,0.05478149652481079 +SV100-T2,camp,Train Loss,1450,0.04230928421020508 +SV100-T2,camp,Train Loss,1500,0.048344213515520096 +SV100-T2,camp,Train Loss,1550,0.057721059769392014 +SV100-T2,camp,Train Loss,1600,0.049167681485414505 +SV100-T2,camp,Train Loss,1650,0.04589492082595825 +SV100-T2,camp,Train Loss,1700,0.05322321504354477 +SV100-T2,camp,Train Loss,1750,0.048980966210365295 +SV100-T2,camp,Train Loss,1800,0.04594947397708893 +SV100-T2,camp,Train Loss,1850,0.035828374326229095 +SV100-T2,camp,Train Loss,1900,0.041995517909526825 +SV100-T2,camp,Train Loss,1950,0.043326329439878464 +SV100-T2,camp,Train Loss,2000,0.04375776648521423 +SV100-T2,camp,Train Loss,2050,0.03953290358185768 +SV100-T2,camp,Train Loss,2100,0.04600020498037338 +SV100-T2,camp,Train Loss,2150,0.04473719745874405 +SV100-T2,camp,Train Loss,2200,0.04120462387800217 +SV100-T2,camp,Train Loss,2250,0.03973498195409775 +SV100-T2,camp,Train Loss,2300,0.041575029492378235 +SV100-T2,camp,Train Loss,2350,0.04138314723968506 +SV100-T2,camp,Train Loss,2400,0.03973744437098503 +SV100-T2,camp,Train Loss,2450,0.04247057065367699 +SV100-T2,camp,Train Loss,2500,0.03447674959897995 +SV100-T2,camp,Train Loss,2550,0.04123025760054588 +SV100-T2,camp,Train Loss,2600,0.0394984632730484 +SV100-T2,camp,Train Loss,2650,0.039727672934532166 +SV100-T2,camp,Train Loss,2700,0.0388859286904335 +SV100-T2,camp,Train Loss,2750,0.03794432431459427 +SV100-T2,camp,Train Loss,2800,0.03491532430052757 +SV100-T2,camp,Train Loss,2850,0.02872982807457447 +SV100-T2,camp,Train Loss,2900,0.02961789444088936 +SV100-T2,camp,Train Loss,2950,0.040262412279844284 +SV100-T2,camp,Train Loss,3000,0.037335243076086044 +SV100-T2,camp,Train Loss,3050,0.032763488590717316 +SV100-T2,camp,Train Loss,3100,0.030384190380573273 +SV100-T2,camp,Train Loss,3150,0.031204773113131523 +SV100-T2,camp,Train Loss,3200,0.02840009704232216 +SV100-T2,camp,Train Loss,3250,0.03023075871169567 +SV100-T2,camp,Train Loss,3300,0.03271244093775749 +SV100-T2,camp,Train Loss,3350,0.030577626079320908 +SV100-T2,camp,Train Loss,3400,0.03495737910270691 +SV100-T2,camp,Train Loss,3450,0.028317298740148544 +SV100-T2,camp,Train Loss,3500,0.030157526955008507 +SV100-T2,camp,Train Loss,3550,0.026783598586916924 +SV100-T2,camp,Train Loss,3600,0.031226180493831635 +SV100-T2,camp,Train Loss,3650,0.03417440503835678 +SV100-T2,camp,Train Loss,3700,0.02882889285683632 +SV100-T2,camp,Train Loss,3750,0.026249047368764877 +SV100-T2,camp,Train Loss,3800,0.029762916266918182 +SV100-T2,camp,Train Loss,3850,0.02595372498035431 +SV100-T2,camp,Train Loss,3900,0.03321211785078049 +SV100-T2,camp,Train Loss,3950,0.027537142857909203 +SV100-T2,camp,Train Loss,4000,0.035300735384225845 +SV100-T2,camp,Train Loss,4050,0.024580437690019608 +SV100-T2,camp,Train Loss,4100,0.02571476250886917 +SV100-T2,camp,Train Loss,4150,0.028742250055074692 +SV100-T2,camp,Train Loss,4200,0.022347986698150635 +SV100-T2,camp,Train Loss,4250,0.02956654317677021 +SV100-T2,camp,Train Loss,4300,0.02041376754641533 +SV100-T2,camp,Train Loss,4350,0.022921759635210037 +SV100-T2,camp,Train Loss,4400,0.025421062484383583 +SV100-T2,camp,Train Loss,4450,0.02869468741118908 +SV100-T2,camp,Train Loss,4500,0.022570256143808365 +SV100-T2,camp,Train Loss,4550,0.025731634348630905 +SV100-T2,camp,Train Loss,4600,0.023535165935754776 +SV100-T2,camp,Train Loss,4650,0.02663828246295452 +SV100-T2,camp,Train Loss,4700,0.027395162731409073 +SV100-T2,camp,Train Loss,4750,0.021415848284959793 +SV100-T2,camp,Train Loss,4800,0.022359149530529976 +SV100-T2,camp,Train Loss,4850,0.022337859496474266 +SV100-T2,camp,Train Loss,4900,0.02510979399085045 +SV100-T2,camp,Train Loss,4950,0.024094825610518456 +SV100-T2,camp,Train Loss,5000,0.020379384979605675 +SV100-T2,camp,Train Loss,5500,0.01971975341439247 +SV100-T2,camp,Train Loss,6000,0.015177671797573566 +SV100-T2,camp,Train Loss,6500,0.017999615520238876 +SV100-T2,camp,Train Loss,7000,0.019672688096761703 +SV100-T2,camp,Train Loss,7500,0.018022574484348297 +SV100-T2,camp,Train Loss,8000,0.013127364218235016 +SV100-T2,camp,Train Loss,8500,0.014393048360943794 +SV100-T2,camp,Train Loss,9000,0.014514900743961334 +SV100-T2,camp,Train Loss,9500,0.016284026205539703 +SV100-T2,camp,Train Loss,10000,0.013144888915121555 +SV100-T2,camp,Train Loss,10500,0.013309814967215061 +SV100-T2,camp,Train Loss,11000,0.009773286059498787 +SV100-T2,camp,Train Loss,11500,0.01121690683066845 +SV100-T2,camp,Train Loss,12000,0.009727605618536472 +SV100-T2,camp,Train Loss,12500,0.016259578987956047 +SV100-T2,camp,Train Loss,13000,0.012883361428976059 +SV100-T2,camp,Train Loss,13500,0.011269882321357727 +SV100-T2,camp,Train Loss,14000,0.010966246947646141 +SV100-T2,camp,Train Loss,14500,0.008844315074384212 +SV100-T2,camp,Train Loss,15000,0.010194184258580208 +SV100-T2,camp,Train Loss,15500,0.01140785962343216 +SV100-T2,camp,Train Loss,16000,0.010363933630287647 +SV100-T2,camp,Train Loss,16500,0.008263669908046722 +SV100-T2,camp,Train Loss,17000,0.007227683439850807 +SV100-T2,camp,Train Loss,17500,0.008223536424338818 +SV100-T2,camp,Train Loss,18000,0.008725091814994812 +SV100-T2,camp,Train Loss,18500,0.00980447605252266 +SV100-T2,camp,Train Loss,19000,0.007991626858711243 +SV100-T2,camp,Train Loss,19500,0.012366537004709244 +SV100-T2,camp,Train Loss,20000,0.007420756854116917 +SV100-T2,camp,Train Loss,20500,0.007952436804771423 +SV100-T2,camp,Train Loss,21000,0.008383436128497124 +SV100-T2,camp,Train Loss,21500,0.00773874344304204 +SV100-T2,camp,Train Loss,22000,0.009920023381710052 +SV100-T2,camp,Train Loss,22500,0.006640327628701925 +SV100-T2,camp,Train Loss,23000,0.007159557193517685 +SV100-T2,camp,Train Loss,23500,0.008744904771447182 +SV100-T2,camp,Train Loss,24000,0.006579548120498657 +SV100-T2,camp,Train Loss,24500,0.006673711817711592 +SV100-T2,camp,Train Loss,25000,0.007360619958490133 +SV100-T2,camp,Train Loss,25500,0.007589259184896946 +SV100-T2,camp,Train Loss,26000,0.007062799297273159 +SV100-T2,camp,Train Loss,26500,0.005617615766823292 +SV100-T2,camp,Train Loss,27000,0.007369766011834145 +SV100-T2,camp,Train Loss,27500,0.007664564996957779 +SV100-T2,camp,Train Loss,28000,0.008344464004039764 +SV100-T2,camp,Train Loss,28500,0.0068208761513233185 +SV100-T2,camp,Train Loss,29000,0.008617490530014038 +SV100-T2,camp,Train Loss,29500,0.006650104187428951 +SV100-T2,camp,Eval Images Metrics/fine_psnr,500,15.317909240722656 +SV100-T2,camp,Eval Images Metrics/fine_psnr,1000,17.61838722229004 +SV100-T2,camp,Eval Images Metrics/fine_psnr,1500,17.97580909729004 +SV100-T2,camp,Eval Images Metrics/fine_psnr,2000,17.542299270629883 +SV100-T2,camp,Eval Images Metrics/fine_psnr,2500,18.35286521911621 +SV100-T2,camp,Eval Images Metrics/fine_psnr,3000,19.08041000366211 +SV100-T2,camp,Eval Images Metrics/fine_psnr,3500,17.047100067138672 +SV100-T2,camp,Eval Images Metrics/fine_psnr,4000,20.438568115234375 +SV100-T2,camp,Eval Images Metrics/fine_psnr,4500,19.210134506225586 +SV100-T2,camp,Eval Images Metrics/fine_psnr,5000,18.38016700744629 +SV100-T2,camp,Eval Images Metrics/fine_psnr,5500,20.697681427001953 +SV100-T2,camp,Eval Images Metrics/fine_psnr,6000,20.57590675354004 +SV100-T2,camp,Eval Images Metrics/fine_psnr,6500,21.532318115234375 +SV100-T2,camp,Eval Images Metrics/fine_psnr,7000,19.724817276000977 +SV100-T2,camp,Eval Images Metrics/fine_psnr,7500,21.588754653930664 +SV100-T2,camp,Eval Images Metrics/fine_psnr,8000,22.45176887512207 +SV100-T2,camp,Eval Images Metrics/fine_psnr,8500,22.889238357543945 +SV100-T2,camp,Eval Images Metrics/fine_psnr,9000,20.069276809692383 +SV100-T2,camp,Eval Images Metrics/fine_psnr,9500,22.701860427856445 +SV100-T2,camp,Eval Images Metrics/fine_psnr,10000,22.731908798217773 +SV100-T2,camp,Eval Images Metrics/fine_psnr,10500,21.67833709716797 +SV100-T2,camp,Eval Images Metrics/fine_psnr,11000,19.46455955505371 +SV100-T2,camp,Eval Images Metrics/fine_psnr,11500,21.120512008666992 +SV100-T2,camp,Eval Images Metrics/fine_psnr,12000,17.787683486938477 +SV100-T2,camp,Eval Images Metrics/fine_psnr,12500,20.085309982299805 +SV100-T2,camp,Eval Images Metrics/fine_psnr,13000,19.521459579467773 +SV100-T2,camp,Eval Images Metrics/fine_psnr,13500,19.396026611328125 +SV100-T2,camp,Eval Images Metrics/fine_psnr,14000,21.55246353149414 +SV100-T2,camp,Eval Images Metrics/fine_psnr,14500,20.837413787841797 +SV100-T2,camp,Eval Images Metrics/fine_psnr,15000,19.7136287689209 +SV100-T2,camp,Eval Images Metrics/fine_psnr,15500,22.595321655273438 +SV100-T2,camp,Eval Images Metrics/fine_psnr,16000,18.061508178710938 +SV100-T2,camp,Eval Images Metrics/fine_psnr,16500,21.7008056640625 +SV100-T2,camp,Eval Images Metrics/fine_psnr,17000,18.712535858154297 +SV100-T2,camp,Eval Images Metrics/fine_psnr,17500,19.081600189208984 +SV100-T2,camp,Eval Images Metrics/fine_psnr,18000,18.599946975708008 +SV100-T2,camp,Eval Images Metrics/fine_psnr,18500,21.636749267578125 +SV100-T2,camp,Eval Images Metrics/fine_psnr,19000,22.622940063476562 +SV100-T2,camp,Eval Images Metrics/fine_psnr,19500,19.081026077270508 +SV100-T2,camp,Eval Images Metrics/fine_psnr,20000,22.27266502380371 +SV100-T2,camp,Eval Images Metrics/fine_psnr,20500,22.118511199951172 +SV100-T2,camp,Eval Images Metrics/fine_psnr,21000,18.349346160888672 +SV100-T2,camp,Eval Images Metrics/fine_psnr,21500,21.663726806640625 +SV100-T2,camp,Eval Images Metrics/fine_psnr,22000,20.197908401489258 +SV100-T2,camp,Eval Images Metrics/fine_psnr,22500,18.587209701538086 +SV100-T2,camp,Eval Images Metrics/fine_psnr,23000,19.378610610961914 +SV100-T2,camp,Eval Images Metrics/fine_psnr,23500,19.419334411621094 +SV100-T2,camp,Eval Images Metrics/fine_psnr,24000,21.751619338989258 +SV100-T2,camp,Eval Images Metrics/fine_psnr,24500,21.591033935546875 +SV100-T2,camp,Eval Images Metrics/fine_psnr,25000,17.269235610961914 +SV100-T2,camp,Eval Images Metrics/fine_psnr,25500,22.254152297973633 +SV100-T2,camp,Eval Images Metrics/fine_psnr,26000,18.902141571044922 +SV100-T2,camp,Eval Images Metrics/fine_psnr,26500,20.094024658203125 +SV100-T2,camp,Eval Images Metrics/fine_psnr,27000,21.030702590942383 +SV100-T2,camp,Eval Images Metrics/fine_psnr,27500,18.498403549194336 +SV100-T2,camp,Eval Images Metrics/fine_psnr,28000,18.03203773498535 +SV100-T2,camp,Eval Images Metrics/fine_psnr,28500,17.112947463989258 +SV100-T2,camp,Eval Images Metrics/fine_psnr,29000,17.785377502441406 +SV100-T2,camp,Eval Images Metrics/fine_psnr,29500,18.682750701904297 +SV100-T2,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,19.759946823120117 +SV100-T2,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.774290919303894 +SV100-T2,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.14229349792003632 +SV100-T2,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-T2,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-T2,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-T2,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-T2,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-T2,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-T2,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-T2,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-T2,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-T2,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-T2,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-T2,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-T2,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-T2,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-T2,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-T2,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-T2,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-T2,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-T2,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-T2,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-T2,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-T2,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-T2,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-T2,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-T2,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-T2,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-T2,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-T2,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-T2,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-T2,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-T2,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-T2,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-T2,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-T2,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-T2,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-T2,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-T2,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-T2,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-T2,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-T2,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-T2,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-T2,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-T2,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-T2,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-T2,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-T2,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-T2,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-T2,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-T2,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-T2,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-T2,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-T2,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-T2,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-T2,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-T2,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-T2,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-T2,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-T2,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-T2,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-T2,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-T2,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-T2,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-T2,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-T2,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-T2,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-T2,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-T2,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-T2,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-T2,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-T2,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-T2,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-T2,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-T2,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-T2,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-T2,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-T2,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-T2,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-T2,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-T2,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-T2,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-T2,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-T2,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-T2,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-T2,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-T2,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-T2,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-T2,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-T2,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-T2,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-T2,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-T2,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-T2,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-T2,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-T2,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-T2,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-T2,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-T2,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-T2,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-T2,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-T2,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-T2,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-T2,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-T2,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-T2,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-T2,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-T2,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-T2,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-T2,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-T2,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-T2,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-T2,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-T2,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-T2,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-T2,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-T2,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-T2,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-T2,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-T2,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-T2,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-T2,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-T2,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-T2,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-T2,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-T2,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-T2,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-T2,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-T2,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-T2,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-T2,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-T2,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-T2,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-T2,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-T2,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-T2,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-T2,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-T2,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-T2,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-T2,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-T2,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-T2,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-T2,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-T2,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-T2,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-T2,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-T2,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-T2,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-T2,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-T2,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-T2,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-T2,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-T2,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T2,naive_warmup,Train Loss,0,0.3421420454978943 +SV100-T2,naive_warmup,Train Loss,50,0.31844601035118103 +SV100-T2,naive_warmup,Train Loss,100,0.18490269780158997 +SV100-T2,naive_warmup,Train Loss,150,0.17674899101257324 +SV100-T2,naive_warmup,Train Loss,200,0.16414375603199005 +SV100-T2,naive_warmup,Train Loss,250,0.1524932086467743 +SV100-T2,naive_warmup,Train Loss,300,0.14294517040252686 +SV100-T2,naive_warmup,Train Loss,350,0.08469360321760178 +SV100-T2,naive_warmup,Train Loss,400,0.06632944941520691 +SV100-T2,naive_warmup,Train Loss,450,0.06445422768592834 +SV100-T2,naive_warmup,Train Loss,500,0.05299222841858864 +SV100-T2,naive_warmup,Train Loss,550,0.050299402326345444 +SV100-T2,naive_warmup,Train Loss,600,0.054603274911642075 +SV100-T2,naive_warmup,Train Loss,650,0.054168663918972015 +SV100-T2,naive_warmup,Train Loss,700,0.046545665711164474 +SV100-T2,naive_warmup,Train Loss,750,0.04710448905825615 +SV100-T2,naive_warmup,Train Loss,800,0.04416399449110031 +SV100-T2,naive_warmup,Train Loss,850,0.043092839419841766 +SV100-T2,naive_warmup,Train Loss,900,0.03928588330745697 +SV100-T2,naive_warmup,Train Loss,950,0.04388405755162239 +SV100-T2,naive_warmup,Train Loss,1000,0.038671113550662994 +SV100-T2,naive_warmup,Train Loss,1050,0.030008668079972267 +SV100-T2,naive_warmup,Train Loss,1100,0.0321672260761261 +SV100-T2,naive_warmup,Train Loss,1150,0.03398814797401428 +SV100-T2,naive_warmup,Train Loss,1200,0.03341328352689743 +SV100-T2,naive_warmup,Train Loss,1250,0.03549344837665558 +SV100-T2,naive_warmup,Train Loss,1300,0.034058280289173126 +SV100-T2,naive_warmup,Train Loss,1350,0.039393629878759384 +SV100-T2,naive_warmup,Train Loss,1400,0.0331939198076725 +SV100-T2,naive_warmup,Train Loss,1450,0.02608747035264969 +SV100-T2,naive_warmup,Train Loss,1500,0.029021715745329857 +SV100-T2,naive_warmup,Train Loss,1550,0.03380019962787628 +SV100-T2,naive_warmup,Train Loss,1600,0.033276304602622986 +SV100-T2,naive_warmup,Train Loss,1650,0.03012910857796669 +SV100-T2,naive_warmup,Train Loss,1700,0.03570878505706787 +SV100-T2,naive_warmup,Train Loss,1750,0.03513997420668602 +SV100-T2,naive_warmup,Train Loss,1800,0.029767567291855812 +SV100-T2,naive_warmup,Train Loss,1850,0.02672307752072811 +SV100-T2,naive_warmup,Train Loss,1900,0.029798924922943115 +SV100-T2,naive_warmup,Train Loss,1950,0.031133627519011497 +SV100-T2,naive_warmup,Train Loss,2000,0.029036404564976692 +SV100-T2,naive_warmup,Train Loss,2050,0.02729739248752594 +SV100-T2,naive_warmup,Train Loss,2100,0.03215735778212547 +SV100-T2,naive_warmup,Train Loss,2150,0.03127032145857811 +SV100-T2,naive_warmup,Train Loss,2200,0.027734627947211266 +SV100-T2,naive_warmup,Train Loss,2250,0.0290216077119112 +SV100-T2,naive_warmup,Train Loss,2300,0.026840148493647575 +SV100-T2,naive_warmup,Train Loss,2350,0.03612903505563736 +SV100-T2,naive_warmup,Train Loss,2400,0.036714594811201096 +SV100-T2,naive_warmup,Train Loss,2450,0.03235572576522827 +SV100-T2,naive_warmup,Train Loss,2500,0.02708708867430687 +SV100-T2,naive_warmup,Train Loss,2550,0.030741199851036072 +SV100-T2,naive_warmup,Train Loss,2600,0.027500204741954803 +SV100-T2,naive_warmup,Train Loss,2650,0.0296588484197855 +SV100-T2,naive_warmup,Train Loss,2700,0.032377902418375015 +SV100-T2,naive_warmup,Train Loss,2750,0.026289906352758408 +SV100-T2,naive_warmup,Train Loss,2800,0.029207531362771988 +SV100-T2,naive_warmup,Train Loss,2850,0.027018744498491287 +SV100-T2,naive_warmup,Train Loss,2900,0.023663140833377838 +SV100-T2,naive_warmup,Train Loss,2950,0.027494868263602257 +SV100-T2,naive_warmup,Train Loss,3000,0.026211123913526535 +SV100-T2,naive_warmup,Train Loss,3050,0.023883480578660965 +SV100-T2,naive_warmup,Train Loss,3100,0.026989132165908813 +SV100-T2,naive_warmup,Train Loss,3150,0.025866152718663216 +SV100-T2,naive_warmup,Train Loss,3200,0.026743218302726746 +SV100-T2,naive_warmup,Train Loss,3250,0.02599533647298813 +SV100-T2,naive_warmup,Train Loss,3300,0.023384323343634605 +SV100-T2,naive_warmup,Train Loss,3350,0.02727225050330162 +SV100-T2,naive_warmup,Train Loss,3400,0.026283880695700645 +SV100-T2,naive_warmup,Train Loss,3450,0.023200729861855507 +SV100-T2,naive_warmup,Train Loss,3500,0.021712776273489 +SV100-T2,naive_warmup,Train Loss,3550,0.02267337217926979 +SV100-T2,naive_warmup,Train Loss,3600,0.021526258438825607 +SV100-T2,naive_warmup,Train Loss,3650,0.023191196843981743 +SV100-T2,naive_warmup,Train Loss,3700,0.024642620235681534 +SV100-T2,naive_warmup,Train Loss,3750,0.019212719053030014 +SV100-T2,naive_warmup,Train Loss,3800,0.02505861409008503 +SV100-T2,naive_warmup,Train Loss,3850,0.01839776150882244 +SV100-T2,naive_warmup,Train Loss,3900,0.028635282069444656 +SV100-T2,naive_warmup,Train Loss,3950,0.02170226164162159 +SV100-T2,naive_warmup,Train Loss,4000,0.02779354900121689 +SV100-T2,naive_warmup,Train Loss,4050,0.017626198008656502 +SV100-T2,naive_warmup,Train Loss,4100,0.02159890905022621 +SV100-T2,naive_warmup,Train Loss,4150,0.021968398243188858 +SV100-T2,naive_warmup,Train Loss,4200,0.02169080078601837 +SV100-T2,naive_warmup,Train Loss,4250,0.02226673997938633 +SV100-T2,naive_warmup,Train Loss,4300,0.017225142568349838 +SV100-T2,naive_warmup,Train Loss,4350,0.022122303023934364 +SV100-T2,naive_warmup,Train Loss,4400,0.01907419040799141 +SV100-T2,naive_warmup,Train Loss,4450,0.020368831232190132 +SV100-T2,naive_warmup,Train Loss,4500,0.019171398133039474 +SV100-T2,naive_warmup,Train Loss,4550,0.01959953084588051 +SV100-T2,naive_warmup,Train Loss,4600,0.022629015147686005 +SV100-T2,naive_warmup,Train Loss,4650,0.01939428597688675 +SV100-T2,naive_warmup,Train Loss,4700,0.024838030338287354 +SV100-T2,naive_warmup,Train Loss,4750,0.016991904005408287 +SV100-T2,naive_warmup,Train Loss,4800,0.021216269582509995 +SV100-T2,naive_warmup,Train Loss,4850,0.019750051200389862 +SV100-T2,naive_warmup,Train Loss,4900,0.023025520145893097 +SV100-T2,naive_warmup,Train Loss,4950,0.021167855709791183 +SV100-T2,naive_warmup,Train Loss,5000,0.02088940143585205 +SV100-T2,naive_warmup,Train Loss,5500,0.018768388777971268 +SV100-T2,naive_warmup,Train Loss,6000,0.015576216392219067 +SV100-T2,naive_warmup,Train Loss,6500,0.01864839345216751 +SV100-T2,naive_warmup,Train Loss,7000,0.01726522110402584 +SV100-T2,naive_warmup,Train Loss,7500,0.015345812775194645 +SV100-T2,naive_warmup,Train Loss,8000,0.014615874737501144 +SV100-T2,naive_warmup,Train Loss,8500,0.014609120786190033 +SV100-T2,naive_warmup,Train Loss,9000,0.014947260729968548 +SV100-T2,naive_warmup,Train Loss,9500,0.014447244815528393 +SV100-T2,naive_warmup,Train Loss,10000,0.014579549431800842 +SV100-T2,naive_warmup,Train Loss,10500,0.012905136682093143 +SV100-T2,naive_warmup,Train Loss,11000,0.011131820268929005 +SV100-T2,naive_warmup,Train Loss,11500,0.01117413118481636 +SV100-T2,naive_warmup,Train Loss,12000,0.011442435905337334 +SV100-T2,naive_warmup,Train Loss,12500,0.01529377605766058 +SV100-T2,naive_warmup,Train Loss,13000,0.013497229665517807 +SV100-T2,naive_warmup,Train Loss,13500,0.012497157789766788 +SV100-T2,naive_warmup,Train Loss,14000,0.011553979478776455 +SV100-T2,naive_warmup,Train Loss,14500,0.00922933779656887 +SV100-T2,naive_warmup,Train Loss,15000,0.00959634967148304 +SV100-T2,naive_warmup,Train Loss,15500,0.00896669551730156 +SV100-T2,naive_warmup,Train Loss,16000,0.01306554488837719 +SV100-T2,naive_warmup,Train Loss,16500,0.008507121354341507 +SV100-T2,naive_warmup,Train Loss,17000,0.007665587589144707 +SV100-T2,naive_warmup,Train Loss,17500,0.008127028122544289 +SV100-T2,naive_warmup,Train Loss,18000,0.007759333588182926 +SV100-T2,naive_warmup,Train Loss,18500,0.008997896686196327 +SV100-T2,naive_warmup,Train Loss,19000,0.007890114560723305 +SV100-T2,naive_warmup,Train Loss,19500,0.009629419073462486 +SV100-T2,naive_warmup,Train Loss,20000,0.008055707439780235 +SV100-T2,naive_warmup,Train Loss,20500,0.008047586306929588 +SV100-T2,naive_warmup,Train Loss,21000,0.007311657536774874 +SV100-T2,naive_warmup,Train Loss,21500,0.006436807569116354 +SV100-T2,naive_warmup,Train Loss,22000,0.010798346251249313 +SV100-T2,naive_warmup,Train Loss,22500,0.006717974785715342 +SV100-T2,naive_warmup,Train Loss,23000,0.007295538671314716 +SV100-T2,naive_warmup,Train Loss,23500,0.007648661267012358 +SV100-T2,naive_warmup,Train Loss,24000,0.006327057257294655 +SV100-T2,naive_warmup,Train Loss,24500,0.007759492844343185 +SV100-T2,naive_warmup,Train Loss,25000,0.007190053816884756 +SV100-T2,naive_warmup,Train Loss,25500,0.007512826472520828 +SV100-T2,naive_warmup,Train Loss,26000,0.006533459760248661 +SV100-T2,naive_warmup,Train Loss,26500,0.0065947165712714195 +SV100-T2,naive_warmup,Train Loss,27000,0.007450633682310581 +SV100-T2,naive_warmup,Train Loss,27500,0.006980478763580322 +SV100-T2,naive_warmup,Train Loss,28000,0.006123026832938194 +SV100-T2,naive_warmup,Train Loss,28500,0.006564626470208168 +SV100-T2,naive_warmup,Train Loss,29000,0.00806468166410923 +SV100-T2,naive_warmup,Train Loss,29500,0.006434919778257608 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,500,16.118770599365234 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,1000,18.500930786132812 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,1500,19.080217361450195 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,2000,19.486961364746094 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,2500,19.30508041381836 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,3000,19.816253662109375 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,3500,18.01319694519043 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,4000,21.30824851989746 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,4500,20.265806198120117 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,5000,18.80868148803711 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,5500,21.458833694458008 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,6000,21.006914138793945 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,6500,22.879955291748047 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,7000,19.839584350585938 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,7500,22.241785049438477 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,8000,22.008991241455078 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,8500,23.173603057861328 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,9000,21.089086532592773 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,9500,22.097965240478516 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,10000,22.153133392333984 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,10500,21.44850730895996 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,11000,19.555505752563477 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,11500,20.69074249267578 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,12000,18.945575714111328 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,12500,20.157215118408203 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,13000,19.8798828125 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,13500,19.791275024414062 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,14000,21.375652313232422 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,14500,20.665573120117188 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,15000,23.406524658203125 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,15500,22.216764450073242 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,16000,18.997591018676758 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,16500,24.197181701660156 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,17000,20.974960327148438 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,17500,20.217323303222656 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,18000,20.359107971191406 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,18500,24.714689254760742 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,19000,22.814292907714844 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,19500,19.603403091430664 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,20000,23.905353546142578 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,20500,23.248794555664062 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,21000,20.51699447631836 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,21500,22.80756187438965 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,22000,20.170366287231445 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,22500,19.20975112915039 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,23000,19.603944778442383 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,23500,19.79145050048828 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,24000,21.747282028198242 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,24500,24.261314392089844 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,25000,19.465076446533203 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,25500,22.406898498535156 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,26000,18.938716888427734 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,26500,20.741262435913086 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,27000,24.13956069946289 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,27500,19.139408111572266 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,28000,21.314281463623047 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,28500,18.967435836791992 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,29000,20.069807052612305 +SV100-T2,naive_warmup,Eval Images Metrics/fine_psnr,29500,19.323867797851562 +SV100-T2,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,21.087474822998047 +SV100-T2,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7899382710456848 +SV100-T2,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.12473628669977188 +SV100-T2,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-T2,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-T2,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-T2,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-T2,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-T2,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-T2,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-T2,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-T2,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-T2,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-T2,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-T2,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-T2,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-T2,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-T2,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-T2,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-T2,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-T2,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-T2,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-T2,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-T2,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-T2,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-T2,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-T2,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-T2,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-T2,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-T2,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-T2,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-T2,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-T2,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-T2,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-T2,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-T2,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-T2,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-T2,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-T2,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-T2,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-T2,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-T2,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-T2,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-T2,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-T2,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-T2,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-T2,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-T2,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-T2,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-T2,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-T2,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-T2,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-T2,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-T2,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-T2,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-T2,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-T2,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-T2,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-T2,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-T2,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-T2,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-T2,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-T2,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-T2,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-T2,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-T2,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-T2,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-T2,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-T2,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-T2,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-T2,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-T2,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-T2,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-T2,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-T2,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-T2,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-T2,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-T2,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-T2,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-T2,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-T2,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-T2,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-T2,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-T2,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-T2,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-T2,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-T2,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-T2,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-T2,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-T2,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-T2,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-T2,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-T2,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-T2,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-T2,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-T2,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-T2,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-T2,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-T2,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-T2,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-T2,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-T2,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-T2,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-T2,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-T2,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-T2,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-T2,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-T2,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-T2,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-T2,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-T2,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-T2,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-T2,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-T2,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-T2,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-T2,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-T2,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-T2,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-T2,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-T2,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-T2,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-T2,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-T2,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-T2,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-T2,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-T2,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-T2,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-T2,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-T2,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-T2,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-T2,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-T2,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-T2,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-T2,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-T2,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-T2,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-T2,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-T2,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-T2,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-T2,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-T2,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-T2,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-T2,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-T2,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-T2,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-T2,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-T2,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-T2,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-T2,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-T2,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-T2,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-T2,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-T2,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-T2,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T2,camp_warmup,Train Loss,0,0.3421420454978943 +SV100-T2,camp_warmup,Train Loss,50,0.3184436857700348 +SV100-T2,camp_warmup,Train Loss,100,0.18487901985645294 +SV100-T2,camp_warmup,Train Loss,150,0.1768016368150711 +SV100-T2,camp_warmup,Train Loss,200,0.16409355401992798 +SV100-T2,camp_warmup,Train Loss,250,0.15273743867874146 +SV100-T2,camp_warmup,Train Loss,300,0.14332598447799683 +SV100-T2,camp_warmup,Train Loss,350,0.0853666290640831 +SV100-T2,camp_warmup,Train Loss,400,0.06233721971511841 +SV100-T2,camp_warmup,Train Loss,450,0.05626635253429413 +SV100-T2,camp_warmup,Train Loss,500,0.053141653537750244 +SV100-T2,camp_warmup,Train Loss,550,0.047192011028528214 +SV100-T2,camp_warmup,Train Loss,600,0.04532244801521301 +SV100-T2,camp_warmup,Train Loss,650,0.050640903413295746 +SV100-T2,camp_warmup,Train Loss,700,0.044824011623859406 +SV100-T2,camp_warmup,Train Loss,750,0.04661358892917633 +SV100-T2,camp_warmup,Train Loss,800,0.04572562500834465 +SV100-T2,camp_warmup,Train Loss,850,0.0437469407916069 +SV100-T2,camp_warmup,Train Loss,900,0.03537275642156601 +SV100-T2,camp_warmup,Train Loss,950,0.03807617723941803 +SV100-T2,camp_warmup,Train Loss,1000,0.032302819192409515 +SV100-T2,camp_warmup,Train Loss,1050,0.03262483328580856 +SV100-T2,camp_warmup,Train Loss,1100,0.03484642505645752 +SV100-T2,camp_warmup,Train Loss,1150,0.03829213231801987 +SV100-T2,camp_warmup,Train Loss,1200,0.0379960872232914 +SV100-T2,camp_warmup,Train Loss,1250,0.0352000817656517 +SV100-T2,camp_warmup,Train Loss,1300,0.03781488910317421 +SV100-T2,camp_warmup,Train Loss,1350,0.04122526943683624 +SV100-T2,camp_warmup,Train Loss,1400,0.03566937893629074 +SV100-T2,camp_warmup,Train Loss,1450,0.027328994125127792 +SV100-T2,camp_warmup,Train Loss,1500,0.03213207423686981 +SV100-T2,camp_warmup,Train Loss,1550,0.04237637668848038 +SV100-T2,camp_warmup,Train Loss,1600,0.032562125474214554 +SV100-T2,camp_warmup,Train Loss,1650,0.034275129437446594 +SV100-T2,camp_warmup,Train Loss,1700,0.034967295825481415 +SV100-T2,camp_warmup,Train Loss,1750,0.03864287585020065 +SV100-T2,camp_warmup,Train Loss,1800,0.03187570348381996 +SV100-T2,camp_warmup,Train Loss,1850,0.025759432464838028 +SV100-T2,camp_warmup,Train Loss,1900,0.031880442053079605 +SV100-T2,camp_warmup,Train Loss,1950,0.03392577916383743 +SV100-T2,camp_warmup,Train Loss,2000,0.031128834933042526 +SV100-T2,camp_warmup,Train Loss,2050,0.03401704877614975 +SV100-T2,camp_warmup,Train Loss,2100,0.03674336150288582 +SV100-T2,camp_warmup,Train Loss,2150,0.035432614386081696 +SV100-T2,camp_warmup,Train Loss,2200,0.03203141689300537 +SV100-T2,camp_warmup,Train Loss,2250,0.030855119228363037 +SV100-T2,camp_warmup,Train Loss,2300,0.029718643054366112 +SV100-T2,camp_warmup,Train Loss,2350,0.03643021360039711 +SV100-T2,camp_warmup,Train Loss,2400,0.031607627868652344 +SV100-T2,camp_warmup,Train Loss,2450,0.03346835821866989 +SV100-T2,camp_warmup,Train Loss,2500,0.0299998689442873 +SV100-T2,camp_warmup,Train Loss,2550,0.035375550389289856 +SV100-T2,camp_warmup,Train Loss,2600,0.03383895754814148 +SV100-T2,camp_warmup,Train Loss,2650,0.03490274399518967 +SV100-T2,camp_warmup,Train Loss,2700,0.033820539712905884 +SV100-T2,camp_warmup,Train Loss,2750,0.0345073938369751 +SV100-T2,camp_warmup,Train Loss,2800,0.0346396267414093 +SV100-T2,camp_warmup,Train Loss,2850,0.025737883523106575 +SV100-T2,camp_warmup,Train Loss,2900,0.02925235591828823 +SV100-T2,camp_warmup,Train Loss,2950,0.03332668915390968 +SV100-T2,camp_warmup,Train Loss,3000,0.029165644198656082 +SV100-T2,camp_warmup,Train Loss,3050,0.02830801159143448 +SV100-T2,camp_warmup,Train Loss,3100,0.030125822871923447 +SV100-T2,camp_warmup,Train Loss,3150,0.029921090230345726 +SV100-T2,camp_warmup,Train Loss,3200,0.027390409260988235 +SV100-T2,camp_warmup,Train Loss,3250,0.025221703574061394 +SV100-T2,camp_warmup,Train Loss,3300,0.026089120656251907 +SV100-T2,camp_warmup,Train Loss,3350,0.029134133830666542 +SV100-T2,camp_warmup,Train Loss,3400,0.02712748572230339 +SV100-T2,camp_warmup,Train Loss,3450,0.0267430879175663 +SV100-T2,camp_warmup,Train Loss,3500,0.028067609295248985 +SV100-T2,camp_warmup,Train Loss,3550,0.02434028685092926 +SV100-T2,camp_warmup,Train Loss,3600,0.025097498670220375 +SV100-T2,camp_warmup,Train Loss,3650,0.02617020718753338 +SV100-T2,camp_warmup,Train Loss,3700,0.026385650038719177 +SV100-T2,camp_warmup,Train Loss,3750,0.023088905960321426 +SV100-T2,camp_warmup,Train Loss,3800,0.024451393634080887 +SV100-T2,camp_warmup,Train Loss,3850,0.020371213555336 +SV100-T2,camp_warmup,Train Loss,3900,0.026135273277759552 +SV100-T2,camp_warmup,Train Loss,3950,0.022604458034038544 +SV100-T2,camp_warmup,Train Loss,4000,0.028104456141591072 +SV100-T2,camp_warmup,Train Loss,4050,0.021367434412240982 +SV100-T2,camp_warmup,Train Loss,4100,0.022824741899967194 +SV100-T2,camp_warmup,Train Loss,4150,0.024232059717178345 +SV100-T2,camp_warmup,Train Loss,4200,0.022548701614141464 +SV100-T2,camp_warmup,Train Loss,4250,0.026961442083120346 +SV100-T2,camp_warmup,Train Loss,4300,0.019903670996427536 +SV100-T2,camp_warmup,Train Loss,4350,0.0201400239020586 +SV100-T2,camp_warmup,Train Loss,4400,0.022766636684536934 +SV100-T2,camp_warmup,Train Loss,4450,0.02273399755358696 +SV100-T2,camp_warmup,Train Loss,4500,0.024356916546821594 +SV100-T2,camp_warmup,Train Loss,4550,0.021620923653244972 +SV100-T2,camp_warmup,Train Loss,4600,0.02762170322239399 +SV100-T2,camp_warmup,Train Loss,4650,0.021863950416445732 +SV100-T2,camp_warmup,Train Loss,4700,0.026088546961545944 +SV100-T2,camp_warmup,Train Loss,4750,0.022274930030107498 +SV100-T2,camp_warmup,Train Loss,4800,0.025745157152414322 +SV100-T2,camp_warmup,Train Loss,4850,0.02146453969180584 +SV100-T2,camp_warmup,Train Loss,4900,0.02269008755683899 +SV100-T2,camp_warmup,Train Loss,4950,0.02260768786072731 +SV100-T2,camp_warmup,Train Loss,5000,0.022803785279393196 +SV100-T2,camp_warmup,Train Loss,5500,0.020646296441555023 +SV100-T2,camp_warmup,Train Loss,6000,0.017193330451846123 +SV100-T2,camp_warmup,Train Loss,6500,0.021907100453972816 +SV100-T2,camp_warmup,Train Loss,7000,0.01829712465405464 +SV100-T2,camp_warmup,Train Loss,7500,0.017694057896733284 +SV100-T2,camp_warmup,Train Loss,8000,0.017375323921442032 +SV100-T2,camp_warmup,Train Loss,8500,0.016521599143743515 +SV100-T2,camp_warmup,Train Loss,9000,0.01756296120584011 +SV100-T2,camp_warmup,Train Loss,9500,0.017930768430233 +SV100-T2,camp_warmup,Train Loss,10000,0.015460334718227386 +SV100-T2,camp_warmup,Train Loss,10500,0.012749305926263332 +SV100-T2,camp_warmup,Train Loss,11000,0.012601344846189022 +SV100-T2,camp_warmup,Train Loss,11500,0.01391125563532114 +SV100-T2,camp_warmup,Train Loss,12000,0.013431333005428314 +SV100-T2,camp_warmup,Train Loss,12500,0.017169974744319916 +SV100-T2,camp_warmup,Train Loss,13000,0.011550262570381165 +SV100-T2,camp_warmup,Train Loss,13500,0.011074325069785118 +SV100-T2,camp_warmup,Train Loss,14000,0.013375338166952133 +SV100-T2,camp_warmup,Train Loss,14500,0.011733856052160263 +SV100-T2,camp_warmup,Train Loss,15000,0.008833158761262894 +SV100-T2,camp_warmup,Train Loss,15500,0.013269787654280663 +SV100-T2,camp_warmup,Train Loss,16000,0.011686623096466064 +SV100-T2,camp_warmup,Train Loss,16500,0.008748670108616352 +SV100-T2,camp_warmup,Train Loss,17000,0.008382418192923069 +SV100-T2,camp_warmup,Train Loss,17500,0.008337308652698994 +SV100-T2,camp_warmup,Train Loss,18000,0.00801258347928524 +SV100-T2,camp_warmup,Train Loss,18500,0.010137245990335941 +SV100-T2,camp_warmup,Train Loss,19000,0.007981405593454838 +SV100-T2,camp_warmup,Train Loss,19500,0.010124003514647484 +SV100-T2,camp_warmup,Train Loss,20000,0.010139183141291142 +SV100-T2,camp_warmup,Train Loss,20500,0.009889932349324226 +SV100-T2,camp_warmup,Train Loss,21000,0.007836404256522655 +SV100-T2,camp_warmup,Train Loss,21500,0.007783960085362196 +SV100-T2,camp_warmup,Train Loss,22000,0.00965050794184208 +SV100-T2,camp_warmup,Train Loss,22500,0.007227950729429722 +SV100-T2,camp_warmup,Train Loss,23000,0.008187185972929 +SV100-T2,camp_warmup,Train Loss,23500,0.008967832662165165 +SV100-T2,camp_warmup,Train Loss,24000,0.0071319835260510445 +SV100-T2,camp_warmup,Train Loss,24500,0.00801576767116785 +SV100-T2,camp_warmup,Train Loss,25000,0.006603050045669079 +SV100-T2,camp_warmup,Train Loss,25500,0.007424348033964634 +SV100-T2,camp_warmup,Train Loss,26000,0.006876026745885611 +SV100-T2,camp_warmup,Train Loss,26500,0.006123986095190048 +SV100-T2,camp_warmup,Train Loss,27000,0.007097937166690826 +SV100-T2,camp_warmup,Train Loss,27500,0.006472398992627859 +SV100-T2,camp_warmup,Train Loss,28000,0.00649414025247097 +SV100-T2,camp_warmup,Train Loss,28500,0.006719364318996668 +SV100-T2,camp_warmup,Train Loss,29000,0.010099025443196297 +SV100-T2,camp_warmup,Train Loss,29500,0.007018458563834429 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,500,16.732650756835938 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,1000,18.91771697998047 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,1500,19.057666778564453 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,2000,19.108287811279297 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,2500,19.18916130065918 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,3000,19.426740646362305 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,3500,17.829608917236328 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,4000,21.136932373046875 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,4500,20.039247512817383 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,5000,19.38287353515625 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,5500,20.83387565612793 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,6000,20.88121795654297 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,6500,21.62965965270996 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,7000,19.923316955566406 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,7500,21.567678451538086 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,8000,22.372760772705078 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,8500,22.483627319335938 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,9000,20.43087387084961 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,9500,21.81462287902832 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,10000,21.792875289916992 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,10500,22.03805923461914 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,11000,19.530982971191406 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,11500,21.53407859802246 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,12000,19.246309280395508 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,12500,21.29799461364746 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,13000,20.35972785949707 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,13500,20.03994369506836 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,14000,21.430147171020508 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,14500,21.5447998046875 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,15000,21.583351135253906 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,15500,21.672868728637695 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,16000,18.823219299316406 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,16500,23.783872604370117 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,17000,19.907052993774414 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,17500,20.173429489135742 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,18000,19.735624313354492 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,18500,23.55567169189453 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,19000,23.461214065551758 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,19500,20.33757781982422 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,20000,23.642473220825195 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,20500,24.50472068786621 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,21000,19.489654541015625 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,21500,21.34724235534668 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,22000,20.200849533081055 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,22500,19.47645378112793 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,23000,21.31238555908203 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,23500,21.441682815551758 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,24000,21.31007194519043 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,24500,24.489158630371094 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,25000,18.536359786987305 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,25500,21.432111740112305 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,26000,18.969552993774414 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,26500,23.310104370117188 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,27000,24.601503372192383 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,27500,19.44864845275879 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,28000,19.674057006835938 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,28500,18.376800537109375 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,29000,18.545486450195312 +SV100-T2,camp_warmup,Eval Images Metrics/fine_psnr,29500,19.904325485229492 +SV100-T2,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,20.75924301147461 +SV100-T2,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7843489646911621 +SV100-T2,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.1379673331975937 +SV100-T5,fixed,Train Loss,0,0.34264087677001953 +SV100-T5,fixed,Train Loss,50,0.31662487983703613 +SV100-T5,fixed,Train Loss,100,0.1779814511537552 +SV100-T5,fixed,Train Loss,150,0.1765030026435852 +SV100-T5,fixed,Train Loss,200,0.17650949954986572 +SV100-T5,fixed,Train Loss,250,0.16552205383777618 +SV100-T5,fixed,Train Loss,300,0.14079037308692932 +SV100-T5,fixed,Train Loss,350,0.10173442959785461 +SV100-T5,fixed,Train Loss,400,0.07489985972642899 +SV100-T5,fixed,Train Loss,450,0.07947690039873123 +SV100-T5,fixed,Train Loss,500,0.06533391773700714 +SV100-T5,fixed,Train Loss,550,0.07531719654798508 +SV100-T5,fixed,Train Loss,600,0.06763757765293121 +SV100-T5,fixed,Train Loss,650,0.06304877996444702 +SV100-T5,fixed,Train Loss,700,0.06620168685913086 +SV100-T5,fixed,Train Loss,750,0.0666959136724472 +SV100-T5,fixed,Train Loss,800,0.0634264200925827 +SV100-T5,fixed,Train Loss,850,0.06173209846019745 +SV100-T5,fixed,Train Loss,900,0.05716529116034508 +SV100-T5,fixed,Train Loss,950,0.06764306873083115 +SV100-T5,fixed,Train Loss,1000,0.060499366372823715 +SV100-T5,fixed,Train Loss,1050,0.05504375696182251 +SV100-T5,fixed,Train Loss,1100,0.05799638852477074 +SV100-T5,fixed,Train Loss,1150,0.05618523806333542 +SV100-T5,fixed,Train Loss,1200,0.05653871223330498 +SV100-T5,fixed,Train Loss,1250,0.05644358694553375 +SV100-T5,fixed,Train Loss,1300,0.06116287037730217 +SV100-T5,fixed,Train Loss,1350,0.055066026747226715 +SV100-T5,fixed,Train Loss,1400,0.05944763869047165 +SV100-T5,fixed,Train Loss,1450,0.05265170335769653 +SV100-T5,fixed,Train Loss,1500,0.05450735241174698 +SV100-T5,fixed,Train Loss,1550,0.056128066033124924 +SV100-T5,fixed,Train Loss,1600,0.060811713337898254 +SV100-T5,fixed,Train Loss,1650,0.060665033757686615 +SV100-T5,fixed,Train Loss,1700,0.06201526150107384 +SV100-T5,fixed,Train Loss,1750,0.05515836924314499 +SV100-T5,fixed,Train Loss,1800,0.057590335607528687 +SV100-T5,fixed,Train Loss,1850,0.05891433730721474 +SV100-T5,fixed,Train Loss,1900,0.0597342848777771 +SV100-T5,fixed,Train Loss,1950,0.0625745952129364 +SV100-T5,fixed,Train Loss,2000,0.05557100474834442 +SV100-T5,fixed,Train Loss,2050,0.05148343741893768 +SV100-T5,fixed,Train Loss,2100,0.0627695694565773 +SV100-T5,fixed,Train Loss,2150,0.05485622212290764 +SV100-T5,fixed,Train Loss,2200,0.06423206627368927 +SV100-T5,fixed,Train Loss,2250,0.04823817312717438 +SV100-T5,fixed,Train Loss,2300,0.052524734288454056 +SV100-T5,fixed,Train Loss,2350,0.05640092119574547 +SV100-T5,fixed,Train Loss,2400,0.05538611859083176 +SV100-T5,fixed,Train Loss,2450,0.050795622169971466 +SV100-T5,fixed,Train Loss,2500,0.058214589953422546 +SV100-T5,fixed,Train Loss,2550,0.061325836926698685 +SV100-T5,fixed,Train Loss,2600,0.06324198096990585 +SV100-T5,fixed,Train Loss,2650,0.06165016442537308 +SV100-T5,fixed,Train Loss,2700,0.05297131836414337 +SV100-T5,fixed,Train Loss,2750,0.05494455248117447 +SV100-T5,fixed,Train Loss,2800,0.06362377107143402 +SV100-T5,fixed,Train Loss,2850,0.05315829813480377 +SV100-T5,fixed,Train Loss,2900,0.05066615343093872 +SV100-T5,fixed,Train Loss,2950,0.05100603401660919 +SV100-T5,fixed,Train Loss,3000,0.047106288373470306 +SV100-T5,fixed,Train Loss,3050,0.05840131640434265 +SV100-T5,fixed,Train Loss,3100,0.05292385816574097 +SV100-T5,fixed,Train Loss,3150,0.050489358603954315 +SV100-T5,fixed,Train Loss,3200,0.046297743916511536 +SV100-T5,fixed,Train Loss,3250,0.05236052721738815 +SV100-T5,fixed,Train Loss,3300,0.05963124334812164 +SV100-T5,fixed,Train Loss,3350,0.054889168590307236 +SV100-T5,fixed,Train Loss,3400,0.052536044269800186 +SV100-T5,fixed,Train Loss,3450,0.05869853496551514 +SV100-T5,fixed,Train Loss,3500,0.0517197921872139 +SV100-T5,fixed,Train Loss,3550,0.047495730221271515 +SV100-T5,fixed,Train Loss,3600,0.04929416626691818 +SV100-T5,fixed,Train Loss,3650,0.0515773706138134 +SV100-T5,fixed,Train Loss,3700,0.05511488392949104 +SV100-T5,fixed,Train Loss,3750,0.045148979872465134 +SV100-T5,fixed,Train Loss,3800,0.05158204212784767 +SV100-T5,fixed,Train Loss,3850,0.05218587815761566 +SV100-T5,fixed,Train Loss,3900,0.04816923290491104 +SV100-T5,fixed,Train Loss,3950,0.05011545866727829 +SV100-T5,fixed,Train Loss,4000,0.04971827194094658 +SV100-T5,fixed,Train Loss,4050,0.048086345195770264 +SV100-T5,fixed,Train Loss,4100,0.04825452342629433 +SV100-T5,fixed,Train Loss,4150,0.05193347483873367 +SV100-T5,fixed,Train Loss,4200,0.04965224489569664 +SV100-T5,fixed,Train Loss,4250,0.047226518392562866 +SV100-T5,fixed,Train Loss,4300,0.05000358074903488 +SV100-T5,fixed,Train Loss,4350,0.03995499014854431 +SV100-T5,fixed,Train Loss,4400,0.047325775027275085 +SV100-T5,fixed,Train Loss,4450,0.046872954815626144 +SV100-T5,fixed,Train Loss,4500,0.050065286457538605 +SV100-T5,fixed,Train Loss,4550,0.049326181411743164 +SV100-T5,fixed,Train Loss,4600,0.047578565776348114 +SV100-T5,fixed,Train Loss,4650,0.04971079155802727 +SV100-T5,fixed,Train Loss,4700,0.04525640979409218 +SV100-T5,fixed,Train Loss,4750,0.04101830720901489 +SV100-T5,fixed,Train Loss,4800,0.04418499767780304 +SV100-T5,fixed,Train Loss,4850,0.050484444946050644 +SV100-T5,fixed,Train Loss,4900,0.04389258846640587 +SV100-T5,fixed,Train Loss,4950,0.04707443714141846 +SV100-T5,fixed,Train Loss,5000,0.04688933119177818 +SV100-T5,fixed,Train Loss,5500,0.04526391625404358 +SV100-T5,fixed,Train Loss,6000,0.03703394532203674 +SV100-T5,fixed,Train Loss,6500,0.03989260643720627 +SV100-T5,fixed,Train Loss,7000,0.0386430062353611 +SV100-T5,fixed,Train Loss,7500,0.043873053044080734 +SV100-T5,fixed,Train Loss,8000,0.03830398619174957 +SV100-T5,fixed,Train Loss,8500,0.03129688277840614 +SV100-T5,fixed,Train Loss,9000,0.03825264051556587 +SV100-T5,fixed,Train Loss,9500,0.03591503947973251 +SV100-T5,fixed,Train Loss,10000,0.03574366495013237 +SV100-T5,fixed,Train Loss,10500,0.029329881072044373 +SV100-T5,fixed,Train Loss,11000,0.030734267085790634 +SV100-T5,fixed,Train Loss,11500,0.028586287051439285 +SV100-T5,fixed,Train Loss,12000,0.0258961021900177 +SV100-T5,fixed,Train Loss,12500,0.02782934159040451 +SV100-T5,fixed,Train Loss,13000,0.023777153342962265 +SV100-T5,fixed,Train Loss,13500,0.03069717064499855 +SV100-T5,fixed,Train Loss,14000,0.02666563168168068 +SV100-T5,fixed,Train Loss,14500,0.02855849638581276 +SV100-T5,fixed,Train Loss,15000,0.025675110518932343 +SV100-T5,fixed,Train Loss,15500,0.028371307998895645 +SV100-T5,fixed,Train Loss,16000,0.03012215718626976 +SV100-T5,fixed,Train Loss,16500,0.022665156051516533 +SV100-T5,fixed,Train Loss,17000,0.023639531806111336 +SV100-T5,fixed,Train Loss,17500,0.023669764399528503 +SV100-T5,fixed,Train Loss,18000,0.02226298674941063 +SV100-T5,fixed,Train Loss,18500,0.023060493171215057 +SV100-T5,fixed,Train Loss,19000,0.023744065314531326 +SV100-T5,fixed,Train Loss,19500,0.022986438125371933 +SV100-T5,fixed,Train Loss,20000,0.02054620161652565 +SV100-T5,fixed,Train Loss,20500,0.021045153960585594 +SV100-T5,fixed,Train Loss,21000,0.02114769071340561 +SV100-T5,fixed,Train Loss,21500,0.02352706342935562 +SV100-T5,fixed,Train Loss,22000,0.025652965530753136 +SV100-T5,fixed,Train Loss,22500,0.019664917141199112 +SV100-T5,fixed,Train Loss,23000,0.02224135957658291 +SV100-T5,fixed,Train Loss,23500,0.021791640669107437 +SV100-T5,fixed,Train Loss,24000,0.020550820976495743 +SV100-T5,fixed,Train Loss,24500,0.02278856560587883 +SV100-T5,fixed,Train Loss,25000,0.02199149690568447 +SV100-T5,fixed,Train Loss,25500,0.019362114369869232 +SV100-T5,fixed,Train Loss,26000,0.020708506926894188 +SV100-T5,fixed,Train Loss,26500,0.020666539669036865 +SV100-T5,fixed,Train Loss,27000,0.019031032919883728 +SV100-T5,fixed,Train Loss,27500,0.021772798150777817 +SV100-T5,fixed,Train Loss,28000,0.019551072269678116 +SV100-T5,fixed,Train Loss,28500,0.02071463316679001 +SV100-T5,fixed,Train Loss,29000,0.021577483043074608 +SV100-T5,fixed,Train Loss,29500,0.02014603465795517 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,500,15.224312782287598 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,1000,16.10809898376465 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,1500,15.975092887878418 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,2000,17.435504913330078 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,2500,16.00835418701172 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,3000,17.632503509521484 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,3500,16.31214714050293 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,4000,17.033594131469727 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,4500,16.514188766479492 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,5000,17.150196075439453 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,5500,16.162220001220703 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,6000,16.989967346191406 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,6500,16.2528133392334 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,7000,15.4480619430542 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,7500,14.844560623168945 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,8000,16.59090232849121 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,8500,15.145859718322754 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,9000,16.13707733154297 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,9500,16.278127670288086 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,10000,14.673172950744629 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,10500,14.983320236206055 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,11000,15.746631622314453 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,11500,15.643694877624512 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,12000,14.807686805725098 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,12500,13.920035362243652 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,13000,14.723912239074707 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,13500,14.628933906555176 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,14000,16.182273864746094 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,14500,16.48932647705078 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,15000,16.401025772094727 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,15500,14.278801918029785 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,16000,15.251585960388184 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,16500,16.128658294677734 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,17000,16.430273056030273 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,17500,13.886392593383789 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,18000,14.574726104736328 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,18500,15.486406326293945 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,19000,15.094019889831543 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,19500,14.530559539794922 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,20000,13.298050880432129 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,20500,13.894072532653809 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,21000,12.558430671691895 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,21500,14.14964771270752 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,22000,14.576043128967285 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,22500,14.422430992126465 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,23000,16.186737060546875 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,23500,13.842071533203125 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,24000,14.634334564208984 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,24500,13.53466510772705 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,25000,13.058121681213379 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,25500,14.278996467590332 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,26000,16.44460105895996 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,26500,15.206825256347656 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,27000,15.073786735534668 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,27500,13.87318229675293 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,28000,13.624302864074707 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,28500,13.262323379516602 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,29000,14.905462265014648 +SV100-T5,fixed,Eval Images Metrics/fine_psnr,29500,14.545666694641113 +SV100-T5,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,14.405097961425781 +SV100-T5,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.723219633102417 +SV100-T5,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.39263954758644104 +SV100-T5,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-T5,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-T5,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-T5,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-T5,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-T5,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-T5,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-T5,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-T5,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-T5,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-T5,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-T5,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-T5,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-T5,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-T5,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-T5,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-T5,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-T5,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-T5,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-T5,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-T5,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-T5,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-T5,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-T5,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-T5,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-T5,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-T5,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-T5,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-T5,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-T5,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-T5,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-T5,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-T5,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-T5,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-T5,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-T5,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-T5,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-T5,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-T5,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-T5,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-T5,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-T5,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-T5,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-T5,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-T5,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-T5,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-T5,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-T5,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-T5,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-T5,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-T5,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-T5,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-T5,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-T5,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-T5,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-T5,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-T5,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-T5,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-T5,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-T5,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-T5,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-T5,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-T5,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-T5,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-T5,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-T5,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-T5,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-T5,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-T5,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-T5,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-T5,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-T5,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-T5,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-T5,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-T5,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-T5,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-T5,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-T5,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-T5,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-T5,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-T5,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-T5,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-T5,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-T5,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-T5,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-T5,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-T5,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-T5,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-T5,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-T5,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-T5,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-T5,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-T5,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-T5,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-T5,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-T5,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-T5,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-T5,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-T5,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-T5,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-T5,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-T5,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-T5,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-T5,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-T5,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-T5,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-T5,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-T5,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-T5,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-T5,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-T5,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-T5,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-T5,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-T5,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-T5,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-T5,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-T5,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-T5,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-T5,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-T5,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-T5,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-T5,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-T5,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-T5,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-T5,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-T5,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-T5,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-T5,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-T5,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-T5,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-T5,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-T5,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-T5,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-T5,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-T5,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-T5,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-T5,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-T5,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-T5,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-T5,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-T5,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-T5,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-T5,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-T5,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-T5,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-T5,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-T5,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-T5,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-T5,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-T5,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-T5,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T5,naive,Train Loss,0,0.34214335680007935 +SV100-T5,naive,Train Loss,50,0.31842342019081116 +SV100-T5,naive,Train Loss,100,0.1849910169839859 +SV100-T5,naive,Train Loss,150,0.17720338702201843 +SV100-T5,naive,Train Loss,200,0.16509920358657837 +SV100-T5,naive,Train Loss,250,0.15442785620689392 +SV100-T5,naive,Train Loss,300,0.15241439640522003 +SV100-T5,naive,Train Loss,350,0.1131969690322876 +SV100-T5,naive,Train Loss,400,0.094785176217556 +SV100-T5,naive,Train Loss,450,0.09222494810819626 +SV100-T5,naive,Train Loss,500,0.0876452773809433 +SV100-T5,naive,Train Loss,550,0.0800420343875885 +SV100-T5,naive,Train Loss,600,0.08116362988948822 +SV100-T5,naive,Train Loss,650,0.08295804262161255 +SV100-T5,naive,Train Loss,700,0.07708755135536194 +SV100-T5,naive,Train Loss,750,0.07877326011657715 +SV100-T5,naive,Train Loss,800,0.07728251069784164 +SV100-T5,naive,Train Loss,850,0.0693439394235611 +SV100-T5,naive,Train Loss,900,0.058430321514606476 +SV100-T5,naive,Train Loss,950,0.06565581262111664 +SV100-T5,naive,Train Loss,1000,0.05582568421959877 +SV100-T5,naive,Train Loss,1050,0.04969751462340355 +SV100-T5,naive,Train Loss,1100,0.0507626049220562 +SV100-T5,naive,Train Loss,1150,0.0590723417699337 +SV100-T5,naive,Train Loss,1200,0.05181223154067993 +SV100-T5,naive,Train Loss,1250,0.05321028083562851 +SV100-T5,naive,Train Loss,1300,0.04709264263510704 +SV100-T5,naive,Train Loss,1350,0.051251333206892014 +SV100-T5,naive,Train Loss,1400,0.041156694293022156 +SV100-T5,naive,Train Loss,1450,0.03571704030036926 +SV100-T5,naive,Train Loss,1500,0.037194669246673584 +SV100-T5,naive,Train Loss,1550,0.04501139372587204 +SV100-T5,naive,Train Loss,1600,0.03751320391893387 +SV100-T5,naive,Train Loss,1650,0.04456184059381485 +SV100-T5,naive,Train Loss,1700,0.04319564998149872 +SV100-T5,naive,Train Loss,1750,0.04433457553386688 +SV100-T5,naive,Train Loss,1800,0.038974829018116 +SV100-T5,naive,Train Loss,1850,0.028691764920949936 +SV100-T5,naive,Train Loss,1900,0.03566029667854309 +SV100-T5,naive,Train Loss,1950,0.03572767227888107 +SV100-T5,naive,Train Loss,2000,0.03311556205153465 +SV100-T5,naive,Train Loss,2050,0.02917424403131008 +SV100-T5,naive,Train Loss,2100,0.036854781210422516 +SV100-T5,naive,Train Loss,2150,0.03567222133278847 +SV100-T5,naive,Train Loss,2200,0.0347314178943634 +SV100-T5,naive,Train Loss,2250,0.03663835674524307 +SV100-T5,naive,Train Loss,2300,0.03183813393115997 +SV100-T5,naive,Train Loss,2350,0.03308725357055664 +SV100-T5,naive,Train Loss,2400,0.033075034618377686 +SV100-T5,naive,Train Loss,2450,0.0369652695953846 +SV100-T5,naive,Train Loss,2500,0.030934685841202736 +SV100-T5,naive,Train Loss,2550,0.03346326947212219 +SV100-T5,naive,Train Loss,2600,0.032144416123628616 +SV100-T5,naive,Train Loss,2650,0.030468076467514038 +SV100-T5,naive,Train Loss,2700,0.03107685036957264 +SV100-T5,naive,Train Loss,2750,0.03281311318278313 +SV100-T5,naive,Train Loss,2800,0.030503252521157265 +SV100-T5,naive,Train Loss,2850,0.026395350694656372 +SV100-T5,naive,Train Loss,2900,0.025655753910541534 +SV100-T5,naive,Train Loss,2950,0.030386751517653465 +SV100-T5,naive,Train Loss,3000,0.033901795744895935 +SV100-T5,naive,Train Loss,3050,0.02444559708237648 +SV100-T5,naive,Train Loss,3100,0.02607663907110691 +SV100-T5,naive,Train Loss,3150,0.027835875749588013 +SV100-T5,naive,Train Loss,3200,0.024906042963266373 +SV100-T5,naive,Train Loss,3250,0.02306232787668705 +SV100-T5,naive,Train Loss,3300,0.023060765117406845 +SV100-T5,naive,Train Loss,3350,0.02678556740283966 +SV100-T5,naive,Train Loss,3400,0.02635895274579525 +SV100-T5,naive,Train Loss,3450,0.02540895715355873 +SV100-T5,naive,Train Loss,3500,0.02362322434782982 +SV100-T5,naive,Train Loss,3550,0.025584086775779724 +SV100-T5,naive,Train Loss,3600,0.025839831680059433 +SV100-T5,naive,Train Loss,3650,0.028440596535801888 +SV100-T5,naive,Train Loss,3700,0.025817537680268288 +SV100-T5,naive,Train Loss,3750,0.021981682628393173 +SV100-T5,naive,Train Loss,3800,0.026151660829782486 +SV100-T5,naive,Train Loss,3850,0.02281363308429718 +SV100-T5,naive,Train Loss,3900,0.02898980677127838 +SV100-T5,naive,Train Loss,3950,0.023565059527754784 +SV100-T5,naive,Train Loss,4000,0.03092445619404316 +SV100-T5,naive,Train Loss,4050,0.022925183176994324 +SV100-T5,naive,Train Loss,4100,0.022167369723320007 +SV100-T5,naive,Train Loss,4150,0.02423209697008133 +SV100-T5,naive,Train Loss,4200,0.023401273414492607 +SV100-T5,naive,Train Loss,4250,0.02453901246190071 +SV100-T5,naive,Train Loss,4300,0.018772974610328674 +SV100-T5,naive,Train Loss,4350,0.02232171967625618 +SV100-T5,naive,Train Loss,4400,0.020754337310791016 +SV100-T5,naive,Train Loss,4450,0.023326028138399124 +SV100-T5,naive,Train Loss,4500,0.022009514272212982 +SV100-T5,naive,Train Loss,4550,0.0217836145311594 +SV100-T5,naive,Train Loss,4600,0.024148833006620407 +SV100-T5,naive,Train Loss,4650,0.02214481681585312 +SV100-T5,naive,Train Loss,4700,0.022516991943120956 +SV100-T5,naive,Train Loss,4750,0.022679734975099564 +SV100-T5,naive,Train Loss,4800,0.0241568423807621 +SV100-T5,naive,Train Loss,4850,0.021319784224033356 +SV100-T5,naive,Train Loss,4900,0.022784341126680374 +SV100-T5,naive,Train Loss,4950,0.023033849895000458 +SV100-T5,naive,Train Loss,5000,0.021953942254185677 +SV100-T5,naive,Train Loss,5500,0.021199950948357582 +SV100-T5,naive,Train Loss,6000,0.016460763290524483 +SV100-T5,naive,Train Loss,6500,0.020821912214159966 +SV100-T5,naive,Train Loss,7000,0.017749417573213577 +SV100-T5,naive,Train Loss,7500,0.01616274006664753 +SV100-T5,naive,Train Loss,8000,0.013878803700208664 +SV100-T5,naive,Train Loss,8500,0.016084734350442886 +SV100-T5,naive,Train Loss,9000,0.017561178654432297 +SV100-T5,naive,Train Loss,9500,0.01387739833444357 +SV100-T5,naive,Train Loss,10000,0.01674012281000614 +SV100-T5,naive,Train Loss,10500,0.014164136722683907 +SV100-T5,naive,Train Loss,11000,0.011765457689762115 +SV100-T5,naive,Train Loss,11500,0.010351928882300854 +SV100-T5,naive,Train Loss,12000,0.010546058416366577 +SV100-T5,naive,Train Loss,12500,0.014669828116893768 +SV100-T5,naive,Train Loss,13000,0.012891893275082111 +SV100-T5,naive,Train Loss,13500,0.011836757883429527 +SV100-T5,naive,Train Loss,14000,0.013449372723698616 +SV100-T5,naive,Train Loss,14500,0.010779825039207935 +SV100-T5,naive,Train Loss,15000,0.009584437124431133 +SV100-T5,naive,Train Loss,15500,0.011535040102899075 +SV100-T5,naive,Train Loss,16000,0.010566405951976776 +SV100-T5,naive,Train Loss,16500,0.01025887206196785 +SV100-T5,naive,Train Loss,17000,0.008104231208562851 +SV100-T5,naive,Train Loss,17500,0.00827099196612835 +SV100-T5,naive,Train Loss,18000,0.008794611319899559 +SV100-T5,naive,Train Loss,18500,0.008876270614564419 +SV100-T5,naive,Train Loss,19000,0.007778302766382694 +SV100-T5,naive,Train Loss,19500,0.011277674697339535 +SV100-T5,naive,Train Loss,20000,0.009451685473322868 +SV100-T5,naive,Train Loss,20500,0.009557761251926422 +SV100-T5,naive,Train Loss,21000,0.008073192089796066 +SV100-T5,naive,Train Loss,21500,0.0068055205047130585 +SV100-T5,naive,Train Loss,22000,0.008247897028923035 +SV100-T5,naive,Train Loss,22500,0.0066655720584094524 +SV100-T5,naive,Train Loss,23000,0.00707959895953536 +SV100-T5,naive,Train Loss,23500,0.007689998019486666 +SV100-T5,naive,Train Loss,24000,0.007407466880977154 +SV100-T5,naive,Train Loss,24500,0.00814436748623848 +SV100-T5,naive,Train Loss,25000,0.007413734681904316 +SV100-T5,naive,Train Loss,25500,0.007161769084632397 +SV100-T5,naive,Train Loss,26000,0.006538078188896179 +SV100-T5,naive,Train Loss,26500,0.006433606147766113 +SV100-T5,naive,Train Loss,27000,0.007278915960341692 +SV100-T5,naive,Train Loss,27500,0.006553771905601025 +SV100-T5,naive,Train Loss,28000,0.006709191482514143 +SV100-T5,naive,Train Loss,28500,0.007085810881108046 +SV100-T5,naive,Train Loss,29000,0.008251047693192959 +SV100-T5,naive,Train Loss,29500,0.006997076328843832 +SV100-T5,naive,Eval Images Metrics/fine_psnr,500,14.977645874023438 +SV100-T5,naive,Eval Images Metrics/fine_psnr,1000,17.036935806274414 +SV100-T5,naive,Eval Images Metrics/fine_psnr,1500,17.808692932128906 +SV100-T5,naive,Eval Images Metrics/fine_psnr,2000,18.584074020385742 +SV100-T5,naive,Eval Images Metrics/fine_psnr,2500,18.494531631469727 +SV100-T5,naive,Eval Images Metrics/fine_psnr,3000,19.37494659423828 +SV100-T5,naive,Eval Images Metrics/fine_psnr,3500,16.51711654663086 +SV100-T5,naive,Eval Images Metrics/fine_psnr,4000,20.596981048583984 +SV100-T5,naive,Eval Images Metrics/fine_psnr,4500,19.206974029541016 +SV100-T5,naive,Eval Images Metrics/fine_psnr,5000,17.599401473999023 +SV100-T5,naive,Eval Images Metrics/fine_psnr,5500,20.506261825561523 +SV100-T5,naive,Eval Images Metrics/fine_psnr,6000,19.866256713867188 +SV100-T5,naive,Eval Images Metrics/fine_psnr,6500,20.887226104736328 +SV100-T5,naive,Eval Images Metrics/fine_psnr,7000,17.806962966918945 +SV100-T5,naive,Eval Images Metrics/fine_psnr,7500,20.204477310180664 +SV100-T5,naive,Eval Images Metrics/fine_psnr,8000,19.76523208618164 +SV100-T5,naive,Eval Images Metrics/fine_psnr,8500,22.82291030883789 +SV100-T5,naive,Eval Images Metrics/fine_psnr,9000,18.005462646484375 +SV100-T5,naive,Eval Images Metrics/fine_psnr,9500,21.966264724731445 +SV100-T5,naive,Eval Images Metrics/fine_psnr,10000,21.86713218688965 +SV100-T5,naive,Eval Images Metrics/fine_psnr,10500,19.167776107788086 +SV100-T5,naive,Eval Images Metrics/fine_psnr,11000,17.0329647064209 +SV100-T5,naive,Eval Images Metrics/fine_psnr,11500,18.719900131225586 +SV100-T5,naive,Eval Images Metrics/fine_psnr,12000,15.850378036499023 +SV100-T5,naive,Eval Images Metrics/fine_psnr,12500,17.86475372314453 +SV100-T5,naive,Eval Images Metrics/fine_psnr,13000,17.124711990356445 +SV100-T5,naive,Eval Images Metrics/fine_psnr,13500,17.04157257080078 +SV100-T5,naive,Eval Images Metrics/fine_psnr,14000,20.72404670715332 +SV100-T5,naive,Eval Images Metrics/fine_psnr,14500,18.55936622619629 +SV100-T5,naive,Eval Images Metrics/fine_psnr,15000,19.284154891967773 +SV100-T5,naive,Eval Images Metrics/fine_psnr,15500,22.519412994384766 +SV100-T5,naive,Eval Images Metrics/fine_psnr,16000,15.792195320129395 +SV100-T5,naive,Eval Images Metrics/fine_psnr,16500,21.323291778564453 +SV100-T5,naive,Eval Images Metrics/fine_psnr,17000,17.247163772583008 +SV100-T5,naive,Eval Images Metrics/fine_psnr,17500,17.0933780670166 +SV100-T5,naive,Eval Images Metrics/fine_psnr,18000,16.883766174316406 +SV100-T5,naive,Eval Images Metrics/fine_psnr,18500,22.264968872070312 +SV100-T5,naive,Eval Images Metrics/fine_psnr,19000,20.859333038330078 +SV100-T5,naive,Eval Images Metrics/fine_psnr,19500,16.89706039428711 +SV100-T5,naive,Eval Images Metrics/fine_psnr,20000,24.135648727416992 +SV100-T5,naive,Eval Images Metrics/fine_psnr,20500,20.71870994567871 +SV100-T5,naive,Eval Images Metrics/fine_psnr,21000,17.0908260345459 +SV100-T5,naive,Eval Images Metrics/fine_psnr,21500,21.514297485351562 +SV100-T5,naive,Eval Images Metrics/fine_psnr,22000,18.275623321533203 +SV100-T5,naive,Eval Images Metrics/fine_psnr,22500,16.549419403076172 +SV100-T5,naive,Eval Images Metrics/fine_psnr,23000,17.39844512939453 +SV100-T5,naive,Eval Images Metrics/fine_psnr,23500,17.380048751831055 +SV100-T5,naive,Eval Images Metrics/fine_psnr,24000,21.22181510925293 +SV100-T5,naive,Eval Images Metrics/fine_psnr,24500,22.809484481811523 +SV100-T5,naive,Eval Images Metrics/fine_psnr,25000,16.04327392578125 +SV100-T5,naive,Eval Images Metrics/fine_psnr,25500,22.866565704345703 +SV100-T5,naive,Eval Images Metrics/fine_psnr,26000,16.236351013183594 +SV100-T5,naive,Eval Images Metrics/fine_psnr,26500,18.791362762451172 +SV100-T5,naive,Eval Images Metrics/fine_psnr,27000,20.78078269958496 +SV100-T5,naive,Eval Images Metrics/fine_psnr,27500,16.362741470336914 +SV100-T5,naive,Eval Images Metrics/fine_psnr,28000,17.223417282104492 +SV100-T5,naive,Eval Images Metrics/fine_psnr,28500,16.107177734375 +SV100-T5,naive,Eval Images Metrics/fine_psnr,29000,17.04468536376953 +SV100-T5,naive,Eval Images Metrics/fine_psnr,29500,16.63176155090332 +SV100-T5,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,18.559123992919922 +SV100-T5,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7608886957168579 +SV100-T5,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.16549701988697052 +SV100-T5,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-T5,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-T5,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-T5,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-T5,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-T5,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-T5,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-T5,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-T5,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-T5,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-T5,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-T5,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-T5,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-T5,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-T5,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-T5,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-T5,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-T5,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-T5,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-T5,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-T5,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-T5,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-T5,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-T5,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-T5,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-T5,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-T5,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-T5,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-T5,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-T5,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-T5,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-T5,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-T5,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-T5,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-T5,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-T5,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-T5,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-T5,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-T5,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-T5,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-T5,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-T5,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-T5,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-T5,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-T5,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-T5,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-T5,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-T5,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-T5,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-T5,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-T5,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-T5,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-T5,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-T5,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-T5,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-T5,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-T5,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-T5,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-T5,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-T5,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-T5,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-T5,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-T5,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-T5,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-T5,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-T5,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-T5,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-T5,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-T5,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-T5,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-T5,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-T5,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-T5,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-T5,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-T5,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-T5,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-T5,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-T5,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-T5,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-T5,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-T5,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-T5,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-T5,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-T5,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-T5,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-T5,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-T5,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-T5,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-T5,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-T5,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-T5,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-T5,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-T5,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-T5,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-T5,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-T5,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-T5,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-T5,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-T5,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-T5,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-T5,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-T5,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-T5,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-T5,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-T5,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-T5,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-T5,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-T5,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-T5,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-T5,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-T5,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-T5,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-T5,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-T5,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-T5,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-T5,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-T5,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-T5,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-T5,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-T5,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-T5,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-T5,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-T5,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-T5,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-T5,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-T5,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-T5,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-T5,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-T5,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-T5,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-T5,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-T5,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-T5,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-T5,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-T5,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-T5,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-T5,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-T5,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-T5,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-T5,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-T5,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-T5,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-T5,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-T5,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-T5,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-T5,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-T5,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-T5,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-T5,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-T5,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-T5,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T5,camp,Train Loss,0,0.34214335680007935 +SV100-T5,camp,Train Loss,50,0.31842106580734253 +SV100-T5,camp,Train Loss,100,0.1847318410873413 +SV100-T5,camp,Train Loss,150,0.17701469361782074 +SV100-T5,camp,Train Loss,200,0.16447681188583374 +SV100-T5,camp,Train Loss,250,0.15409377217292786 +SV100-T5,camp,Train Loss,300,0.14864446222782135 +SV100-T5,camp,Train Loss,350,0.10263554006814957 +SV100-T5,camp,Train Loss,400,0.0884614810347557 +SV100-T5,camp,Train Loss,450,0.08512222021818161 +SV100-T5,camp,Train Loss,500,0.07495066523551941 +SV100-T5,camp,Train Loss,550,0.07239227741956711 +SV100-T5,camp,Train Loss,600,0.07969043403863907 +SV100-T5,camp,Train Loss,650,0.0794287621974945 +SV100-T5,camp,Train Loss,700,0.06900538504123688 +SV100-T5,camp,Train Loss,750,0.06806749105453491 +SV100-T5,camp,Train Loss,800,0.06901253759860992 +SV100-T5,camp,Train Loss,850,0.07504769414663315 +SV100-T5,camp,Train Loss,900,0.059438738971948624 +SV100-T5,camp,Train Loss,950,0.06828723847866058 +SV100-T5,camp,Train Loss,1000,0.05811770260334015 +SV100-T5,camp,Train Loss,1050,0.054121870547533035 +SV100-T5,camp,Train Loss,1100,0.05715605616569519 +SV100-T5,camp,Train Loss,1150,0.069222591817379 +SV100-T5,camp,Train Loss,1200,0.06173406541347504 +SV100-T5,camp,Train Loss,1250,0.061058931052684784 +SV100-T5,camp,Train Loss,1300,0.0556517019867897 +SV100-T5,camp,Train Loss,1350,0.05696431174874306 +SV100-T5,camp,Train Loss,1400,0.052103616297245026 +SV100-T5,camp,Train Loss,1450,0.041335463523864746 +SV100-T5,camp,Train Loss,1500,0.04958125203847885 +SV100-T5,camp,Train Loss,1550,0.05922362953424454 +SV100-T5,camp,Train Loss,1600,0.05166582390666008 +SV100-T5,camp,Train Loss,1650,0.05465076118707657 +SV100-T5,camp,Train Loss,1700,0.0531868115067482 +SV100-T5,camp,Train Loss,1750,0.05134709179401398 +SV100-T5,camp,Train Loss,1800,0.050676219165325165 +SV100-T5,camp,Train Loss,1850,0.03497352823615074 +SV100-T5,camp,Train Loss,1900,0.04894803836941719 +SV100-T5,camp,Train Loss,1950,0.04505101591348648 +SV100-T5,camp,Train Loss,2000,0.04110828787088394 +SV100-T5,camp,Train Loss,2050,0.03749794512987137 +SV100-T5,camp,Train Loss,2100,0.04385048896074295 +SV100-T5,camp,Train Loss,2150,0.040962956845760345 +SV100-T5,camp,Train Loss,2200,0.044913213700056076 +SV100-T5,camp,Train Loss,2250,0.03475203365087509 +SV100-T5,camp,Train Loss,2300,0.03583681583404541 +SV100-T5,camp,Train Loss,2350,0.04114227741956711 +SV100-T5,camp,Train Loss,2400,0.03673996776342392 +SV100-T5,camp,Train Loss,2450,0.04043702781200409 +SV100-T5,camp,Train Loss,2500,0.03510742634534836 +SV100-T5,camp,Train Loss,2550,0.04451890289783478 +SV100-T5,camp,Train Loss,2600,0.03995658457279205 +SV100-T5,camp,Train Loss,2650,0.03897823765873909 +SV100-T5,camp,Train Loss,2700,0.04213641956448555 +SV100-T5,camp,Train Loss,2750,0.03569823503494263 +SV100-T5,camp,Train Loss,2800,0.03655102849006653 +SV100-T5,camp,Train Loss,2850,0.03226001188158989 +SV100-T5,camp,Train Loss,2900,0.029001042246818542 +SV100-T5,camp,Train Loss,2950,0.03736163675785065 +SV100-T5,camp,Train Loss,3000,0.033763304352760315 +SV100-T5,camp,Train Loss,3050,0.031189393252134323 +SV100-T5,camp,Train Loss,3100,0.03315035253763199 +SV100-T5,camp,Train Loss,3150,0.030522728338837624 +SV100-T5,camp,Train Loss,3200,0.03011736460030079 +SV100-T5,camp,Train Loss,3250,0.03762732446193695 +SV100-T5,camp,Train Loss,3300,0.02959037572145462 +SV100-T5,camp,Train Loss,3350,0.03430638089776039 +SV100-T5,camp,Train Loss,3400,0.034721046686172485 +SV100-T5,camp,Train Loss,3450,0.031113024801015854 +SV100-T5,camp,Train Loss,3500,0.02894030325114727 +SV100-T5,camp,Train Loss,3550,0.029464706778526306 +SV100-T5,camp,Train Loss,3600,0.028725052252411842 +SV100-T5,camp,Train Loss,3650,0.030303817242383957 +SV100-T5,camp,Train Loss,3700,0.026036228984594345 +SV100-T5,camp,Train Loss,3750,0.026920996606349945 +SV100-T5,camp,Train Loss,3800,0.0299882460385561 +SV100-T5,camp,Train Loss,3850,0.02603139355778694 +SV100-T5,camp,Train Loss,3900,0.033928971737623215 +SV100-T5,camp,Train Loss,3950,0.027542507275938988 +SV100-T5,camp,Train Loss,4000,0.031757332384586334 +SV100-T5,camp,Train Loss,4050,0.026613159105181694 +SV100-T5,camp,Train Loss,4100,0.02670818753540516 +SV100-T5,camp,Train Loss,4150,0.02601996809244156 +SV100-T5,camp,Train Loss,4200,0.023647107183933258 +SV100-T5,camp,Train Loss,4250,0.025073783472180367 +SV100-T5,camp,Train Loss,4300,0.019993189722299576 +SV100-T5,camp,Train Loss,4350,0.024706337600946426 +SV100-T5,camp,Train Loss,4400,0.026517389342188835 +SV100-T5,camp,Train Loss,4450,0.026117190718650818 +SV100-T5,camp,Train Loss,4500,0.030376261100172997 +SV100-T5,camp,Train Loss,4550,0.023883963003754616 +SV100-T5,camp,Train Loss,4600,0.027444086968898773 +SV100-T5,camp,Train Loss,4650,0.022769510746002197 +SV100-T5,camp,Train Loss,4700,0.028392408043146133 +SV100-T5,camp,Train Loss,4750,0.0216458048671484 +SV100-T5,camp,Train Loss,4800,0.023317646235227585 +SV100-T5,camp,Train Loss,4850,0.02362501621246338 +SV100-T5,camp,Train Loss,4900,0.026808742433786392 +SV100-T5,camp,Train Loss,4950,0.027605701237916946 +SV100-T5,camp,Train Loss,5000,0.02415451779961586 +SV100-T5,camp,Train Loss,5500,0.021210869774222374 +SV100-T5,camp,Train Loss,6000,0.016435764729976654 +SV100-T5,camp,Train Loss,6500,0.01928355172276497 +SV100-T5,camp,Train Loss,7000,0.021133843809366226 +SV100-T5,camp,Train Loss,7500,0.015658851712942123 +SV100-T5,camp,Train Loss,8000,0.016692493110895157 +SV100-T5,camp,Train Loss,8500,0.012853738851845264 +SV100-T5,camp,Train Loss,9000,0.015239746309816837 +SV100-T5,camp,Train Loss,9500,0.014869708567857742 +SV100-T5,camp,Train Loss,10000,0.014130132272839546 +SV100-T5,camp,Train Loss,10500,0.013273194432258606 +SV100-T5,camp,Train Loss,11000,0.01166589930653572 +SV100-T5,camp,Train Loss,11500,0.011757723987102509 +SV100-T5,camp,Train Loss,12000,0.00980654451996088 +SV100-T5,camp,Train Loss,12500,0.015996720641851425 +SV100-T5,camp,Train Loss,13000,0.012022984214127064 +SV100-T5,camp,Train Loss,13500,0.010076885111629963 +SV100-T5,camp,Train Loss,14000,0.012926396913826466 +SV100-T5,camp,Train Loss,14500,0.009751553647220135 +SV100-T5,camp,Train Loss,15000,0.009251807816326618 +SV100-T5,camp,Train Loss,15500,0.011934299021959305 +SV100-T5,camp,Train Loss,16000,0.013024574145674706 +SV100-T5,camp,Train Loss,16500,0.008427311666309834 +SV100-T5,camp,Train Loss,17000,0.007797423284500837 +SV100-T5,camp,Train Loss,17500,0.007799860555678606 +SV100-T5,camp,Train Loss,18000,0.010108515620231628 +SV100-T5,camp,Train Loss,18500,0.008651968091726303 +SV100-T5,camp,Train Loss,19000,0.008113191463053226 +SV100-T5,camp,Train Loss,19500,0.009586680680513382 +SV100-T5,camp,Train Loss,20000,0.008704018779098988 +SV100-T5,camp,Train Loss,20500,0.009391622617840767 +SV100-T5,camp,Train Loss,21000,0.0074762096628546715 +SV100-T5,camp,Train Loss,21500,0.007245458662509918 +SV100-T5,camp,Train Loss,22000,0.009590119123458862 +SV100-T5,camp,Train Loss,22500,0.006699626334011555 +SV100-T5,camp,Train Loss,23000,0.007714340463280678 +SV100-T5,camp,Train Loss,23500,0.008103452622890472 +SV100-T5,camp,Train Loss,24000,0.006448408588767052 +SV100-T5,camp,Train Loss,24500,0.00823441706597805 +SV100-T5,camp,Train Loss,25000,0.007204757072031498 +SV100-T5,camp,Train Loss,25500,0.007274749223142862 +SV100-T5,camp,Train Loss,26000,0.006757386960089207 +SV100-T5,camp,Train Loss,26500,0.007557060569524765 +SV100-T5,camp,Train Loss,27000,0.0066906665451824665 +SV100-T5,camp,Train Loss,27500,0.0068588717840611935 +SV100-T5,camp,Train Loss,28000,0.006065209861844778 +SV100-T5,camp,Train Loss,28500,0.0065648965537548065 +SV100-T5,camp,Train Loss,29000,0.010216737166047096 +SV100-T5,camp,Train Loss,29500,0.0064402236603200436 +SV100-T5,camp,Eval Images Metrics/fine_psnr,500,15.155681610107422 +SV100-T5,camp,Eval Images Metrics/fine_psnr,1000,17.08719825744629 +SV100-T5,camp,Eval Images Metrics/fine_psnr,1500,17.86565589904785 +SV100-T5,camp,Eval Images Metrics/fine_psnr,2000,17.439483642578125 +SV100-T5,camp,Eval Images Metrics/fine_psnr,2500,18.81452178955078 +SV100-T5,camp,Eval Images Metrics/fine_psnr,3000,18.15914535522461 +SV100-T5,camp,Eval Images Metrics/fine_psnr,3500,17.46742057800293 +SV100-T5,camp,Eval Images Metrics/fine_psnr,4000,19.31247901916504 +SV100-T5,camp,Eval Images Metrics/fine_psnr,4500,18.99083709716797 +SV100-T5,camp,Eval Images Metrics/fine_psnr,5000,18.90711212158203 +SV100-T5,camp,Eval Images Metrics/fine_psnr,5500,19.122968673706055 +SV100-T5,camp,Eval Images Metrics/fine_psnr,6000,19.366086959838867 +SV100-T5,camp,Eval Images Metrics/fine_psnr,6500,19.58535385131836 +SV100-T5,camp,Eval Images Metrics/fine_psnr,7000,19.72332191467285 +SV100-T5,camp,Eval Images Metrics/fine_psnr,7500,20.698650360107422 +SV100-T5,camp,Eval Images Metrics/fine_psnr,8000,22.084245681762695 +SV100-T5,camp,Eval Images Metrics/fine_psnr,8500,19.533857345581055 +SV100-T5,camp,Eval Images Metrics/fine_psnr,9000,18.64310646057129 +SV100-T5,camp,Eval Images Metrics/fine_psnr,9500,19.276569366455078 +SV100-T5,camp,Eval Images Metrics/fine_psnr,10000,19.140844345092773 +SV100-T5,camp,Eval Images Metrics/fine_psnr,10500,22.54781150817871 +SV100-T5,camp,Eval Images Metrics/fine_psnr,11000,21.399755477905273 +SV100-T5,camp,Eval Images Metrics/fine_psnr,11500,22.76034927368164 +SV100-T5,camp,Eval Images Metrics/fine_psnr,12000,18.5869197845459 +SV100-T5,camp,Eval Images Metrics/fine_psnr,12500,22.430057525634766 +SV100-T5,camp,Eval Images Metrics/fine_psnr,13000,22.204261779785156 +SV100-T5,camp,Eval Images Metrics/fine_psnr,13500,22.64179229736328 +SV100-T5,camp,Eval Images Metrics/fine_psnr,14000,19.103158950805664 +SV100-T5,camp,Eval Images Metrics/fine_psnr,14500,23.368022918701172 +SV100-T5,camp,Eval Images Metrics/fine_psnr,15000,18.783918380737305 +SV100-T5,camp,Eval Images Metrics/fine_psnr,15500,18.951847076416016 +SV100-T5,camp,Eval Images Metrics/fine_psnr,16000,18.58292007446289 +SV100-T5,camp,Eval Images Metrics/fine_psnr,16500,19.867511749267578 +SV100-T5,camp,Eval Images Metrics/fine_psnr,17000,19.14376449584961 +SV100-T5,camp,Eval Images Metrics/fine_psnr,17500,21.170608520507812 +SV100-T5,camp,Eval Images Metrics/fine_psnr,18000,19.80242919921875 +SV100-T5,camp,Eval Images Metrics/fine_psnr,18500,19.150575637817383 +SV100-T5,camp,Eval Images Metrics/fine_psnr,19000,23.489044189453125 +SV100-T5,camp,Eval Images Metrics/fine_psnr,19500,23.21710777282715 +SV100-T5,camp,Eval Images Metrics/fine_psnr,20000,19.080270767211914 +SV100-T5,camp,Eval Images Metrics/fine_psnr,20500,21.86496353149414 +SV100-T5,camp,Eval Images Metrics/fine_psnr,21000,18.664718627929688 +SV100-T5,camp,Eval Images Metrics/fine_psnr,21500,18.428438186645508 +SV100-T5,camp,Eval Images Metrics/fine_psnr,22000,18.595706939697266 +SV100-T5,camp,Eval Images Metrics/fine_psnr,22500,21.783878326416016 +SV100-T5,camp,Eval Images Metrics/fine_psnr,23000,24.24173355102539 +SV100-T5,camp,Eval Images Metrics/fine_psnr,23500,23.87531852722168 +SV100-T5,camp,Eval Images Metrics/fine_psnr,24000,18.35710334777832 +SV100-T5,camp,Eval Images Metrics/fine_psnr,24500,19.03396224975586 +SV100-T5,camp,Eval Images Metrics/fine_psnr,25000,17.18275260925293 +SV100-T5,camp,Eval Images Metrics/fine_psnr,25500,18.33152961730957 +SV100-T5,camp,Eval Images Metrics/fine_psnr,26000,18.96560287475586 +SV100-T5,camp,Eval Images Metrics/fine_psnr,26500,21.09923553466797 +SV100-T5,camp,Eval Images Metrics/fine_psnr,27000,19.263534545898438 +SV100-T5,camp,Eval Images Metrics/fine_psnr,27500,21.747316360473633 +SV100-T5,camp,Eval Images Metrics/fine_psnr,28000,17.498933792114258 +SV100-T5,camp,Eval Images Metrics/fine_psnr,28500,17.112773895263672 +SV100-T5,camp,Eval Images Metrics/fine_psnr,29000,17.513349533081055 +SV100-T5,camp,Eval Images Metrics/fine_psnr,29500,22.999557495117188 +SV100-T5,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,19.473155975341797 +SV100-T5,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7611512541770935 +SV100-T5,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.14430320262908936 +SV100-T5,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-T5,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-T5,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-T5,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-T5,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-T5,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-T5,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-T5,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-T5,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-T5,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-T5,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-T5,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-T5,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-T5,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-T5,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-T5,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-T5,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-T5,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-T5,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-T5,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-T5,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-T5,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-T5,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-T5,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-T5,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-T5,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-T5,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-T5,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-T5,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-T5,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-T5,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-T5,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-T5,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-T5,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-T5,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-T5,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-T5,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-T5,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-T5,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-T5,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-T5,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-T5,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-T5,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-T5,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-T5,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-T5,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-T5,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-T5,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-T5,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-T5,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-T5,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-T5,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-T5,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-T5,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-T5,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-T5,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-T5,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-T5,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-T5,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-T5,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-T5,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-T5,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-T5,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-T5,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-T5,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-T5,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-T5,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-T5,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-T5,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-T5,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-T5,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-T5,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-T5,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-T5,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-T5,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-T5,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-T5,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-T5,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-T5,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-T5,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-T5,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-T5,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-T5,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-T5,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-T5,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-T5,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-T5,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-T5,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-T5,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-T5,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-T5,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-T5,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-T5,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-T5,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-T5,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-T5,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-T5,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-T5,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-T5,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-T5,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-T5,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-T5,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-T5,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-T5,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-T5,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-T5,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-T5,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-T5,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-T5,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-T5,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-T5,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-T5,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-T5,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-T5,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-T5,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-T5,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-T5,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-T5,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-T5,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-T5,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-T5,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-T5,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-T5,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-T5,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-T5,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-T5,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-T5,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-T5,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-T5,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-T5,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-T5,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-T5,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-T5,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-T5,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-T5,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-T5,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-T5,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-T5,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-T5,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-T5,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-T5,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-T5,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-T5,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-T5,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-T5,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-T5,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-T5,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-T5,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-T5,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-T5,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-T5,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T5,naive_warmup,Train Loss,0,0.34214335680007935 +SV100-T5,naive_warmup,Train Loss,50,0.31843501329421997 +SV100-T5,naive_warmup,Train Loss,100,0.18490013480186462 +SV100-T5,naive_warmup,Train Loss,150,0.1771494597196579 +SV100-T5,naive_warmup,Train Loss,200,0.16447952389717102 +SV100-T5,naive_warmup,Train Loss,250,0.1533728688955307 +SV100-T5,naive_warmup,Train Loss,300,0.14676804840564728 +SV100-T5,naive_warmup,Train Loss,350,0.09506390243768692 +SV100-T5,naive_warmup,Train Loss,400,0.07759588211774826 +SV100-T5,naive_warmup,Train Loss,450,0.0650528222322464 +SV100-T5,naive_warmup,Train Loss,500,0.0629296749830246 +SV100-T5,naive_warmup,Train Loss,550,0.0571831576526165 +SV100-T5,naive_warmup,Train Loss,600,0.060102976858615875 +SV100-T5,naive_warmup,Train Loss,650,0.061691492795944214 +SV100-T5,naive_warmup,Train Loss,700,0.05202515050768852 +SV100-T5,naive_warmup,Train Loss,750,0.057461708784103394 +SV100-T5,naive_warmup,Train Loss,800,0.06050560623407364 +SV100-T5,naive_warmup,Train Loss,850,0.051976218819618225 +SV100-T5,naive_warmup,Train Loss,900,0.04023200646042824 +SV100-T5,naive_warmup,Train Loss,950,0.046202920377254486 +SV100-T5,naive_warmup,Train Loss,1000,0.04736360162496567 +SV100-T5,naive_warmup,Train Loss,1050,0.036963608115911484 +SV100-T5,naive_warmup,Train Loss,1100,0.04189906269311905 +SV100-T5,naive_warmup,Train Loss,1150,0.0434679239988327 +SV100-T5,naive_warmup,Train Loss,1200,0.036005035042762756 +SV100-T5,naive_warmup,Train Loss,1250,0.04177543520927429 +SV100-T5,naive_warmup,Train Loss,1300,0.03777136653661728 +SV100-T5,naive_warmup,Train Loss,1350,0.035861752927303314 +SV100-T5,naive_warmup,Train Loss,1400,0.0348551943898201 +SV100-T5,naive_warmup,Train Loss,1450,0.028546690940856934 +SV100-T5,naive_warmup,Train Loss,1500,0.03342486917972565 +SV100-T5,naive_warmup,Train Loss,1550,0.03830967843532562 +SV100-T5,naive_warmup,Train Loss,1600,0.03384973481297493 +SV100-T5,naive_warmup,Train Loss,1650,0.037772733718156815 +SV100-T5,naive_warmup,Train Loss,1700,0.03910238295793533 +SV100-T5,naive_warmup,Train Loss,1750,0.03615044057369232 +SV100-T5,naive_warmup,Train Loss,1800,0.033866167068481445 +SV100-T5,naive_warmup,Train Loss,1850,0.02836182899773121 +SV100-T5,naive_warmup,Train Loss,1900,0.030256593599915504 +SV100-T5,naive_warmup,Train Loss,1950,0.0340939462184906 +SV100-T5,naive_warmup,Train Loss,2000,0.030444100499153137 +SV100-T5,naive_warmup,Train Loss,2050,0.030572762712836266 +SV100-T5,naive_warmup,Train Loss,2100,0.03483235836029053 +SV100-T5,naive_warmup,Train Loss,2150,0.03526555001735687 +SV100-T5,naive_warmup,Train Loss,2200,0.03257781267166138 +SV100-T5,naive_warmup,Train Loss,2250,0.03339923173189163 +SV100-T5,naive_warmup,Train Loss,2300,0.02654389850795269 +SV100-T5,naive_warmup,Train Loss,2350,0.031145859509706497 +SV100-T5,naive_warmup,Train Loss,2400,0.034723129123449326 +SV100-T5,naive_warmup,Train Loss,2450,0.03196389228105545 +SV100-T5,naive_warmup,Train Loss,2500,0.029086876660585403 +SV100-T5,naive_warmup,Train Loss,2550,0.036621883511543274 +SV100-T5,naive_warmup,Train Loss,2600,0.03355971351265907 +SV100-T5,naive_warmup,Train Loss,2650,0.03379957005381584 +SV100-T5,naive_warmup,Train Loss,2700,0.03203413635492325 +SV100-T5,naive_warmup,Train Loss,2750,0.031341858208179474 +SV100-T5,naive_warmup,Train Loss,2800,0.030790217220783234 +SV100-T5,naive_warmup,Train Loss,2850,0.029512088745832443 +SV100-T5,naive_warmup,Train Loss,2900,0.024997130036354065 +SV100-T5,naive_warmup,Train Loss,2950,0.0298411026597023 +SV100-T5,naive_warmup,Train Loss,3000,0.030444514006376266 +SV100-T5,naive_warmup,Train Loss,3050,0.02361474744975567 +SV100-T5,naive_warmup,Train Loss,3100,0.028693797066807747 +SV100-T5,naive_warmup,Train Loss,3150,0.02696298435330391 +SV100-T5,naive_warmup,Train Loss,3200,0.025632895529270172 +SV100-T5,naive_warmup,Train Loss,3250,0.025298574939370155 +SV100-T5,naive_warmup,Train Loss,3300,0.027559487149119377 +SV100-T5,naive_warmup,Train Loss,3350,0.030283115804195404 +SV100-T5,naive_warmup,Train Loss,3400,0.02830559015274048 +SV100-T5,naive_warmup,Train Loss,3450,0.02622416242957115 +SV100-T5,naive_warmup,Train Loss,3500,0.024432756006717682 +SV100-T5,naive_warmup,Train Loss,3550,0.025526948273181915 +SV100-T5,naive_warmup,Train Loss,3600,0.026234883815050125 +SV100-T5,naive_warmup,Train Loss,3650,0.02801809087395668 +SV100-T5,naive_warmup,Train Loss,3700,0.024811191484332085 +SV100-T5,naive_warmup,Train Loss,3750,0.023095034062862396 +SV100-T5,naive_warmup,Train Loss,3800,0.027612881734967232 +SV100-T5,naive_warmup,Train Loss,3850,0.023670736700296402 +SV100-T5,naive_warmup,Train Loss,3900,0.029351182281970978 +SV100-T5,naive_warmup,Train Loss,3950,0.024336136877536774 +SV100-T5,naive_warmup,Train Loss,4000,0.02921958640217781 +SV100-T5,naive_warmup,Train Loss,4050,0.02088751830160618 +SV100-T5,naive_warmup,Train Loss,4100,0.02302740514278412 +SV100-T5,naive_warmup,Train Loss,4150,0.023728851228952408 +SV100-T5,naive_warmup,Train Loss,4200,0.02315458282828331 +SV100-T5,naive_warmup,Train Loss,4250,0.026489388197660446 +SV100-T5,naive_warmup,Train Loss,4300,0.019867273047566414 +SV100-T5,naive_warmup,Train Loss,4350,0.022296130657196045 +SV100-T5,naive_warmup,Train Loss,4400,0.02247401885688305 +SV100-T5,naive_warmup,Train Loss,4450,0.022501155734062195 +SV100-T5,naive_warmup,Train Loss,4500,0.025416811928153038 +SV100-T5,naive_warmup,Train Loss,4550,0.022754047065973282 +SV100-T5,naive_warmup,Train Loss,4600,0.024302130565047264 +SV100-T5,naive_warmup,Train Loss,4650,0.023146340623497963 +SV100-T5,naive_warmup,Train Loss,4700,0.024687808007001877 +SV100-T5,naive_warmup,Train Loss,4750,0.020594652742147446 +SV100-T5,naive_warmup,Train Loss,4800,0.02047663927078247 +SV100-T5,naive_warmup,Train Loss,4850,0.01904759556055069 +SV100-T5,naive_warmup,Train Loss,4900,0.02200252190232277 +SV100-T5,naive_warmup,Train Loss,4950,0.027117792516946793 +SV100-T5,naive_warmup,Train Loss,5000,0.021981630474328995 +SV100-T5,naive_warmup,Train Loss,5500,0.02302609197795391 +SV100-T5,naive_warmup,Train Loss,6000,0.014672502875328064 +SV100-T5,naive_warmup,Train Loss,6500,0.021738246083259583 +SV100-T5,naive_warmup,Train Loss,7000,0.02103915810585022 +SV100-T5,naive_warmup,Train Loss,7500,0.01705508679151535 +SV100-T5,naive_warmup,Train Loss,8000,0.015328953042626381 +SV100-T5,naive_warmup,Train Loss,8500,0.0146476523950696 +SV100-T5,naive_warmup,Train Loss,9000,0.017498519271612167 +SV100-T5,naive_warmup,Train Loss,9500,0.01377869863063097 +SV100-T5,naive_warmup,Train Loss,10000,0.015453841537237167 +SV100-T5,naive_warmup,Train Loss,10500,0.010249441489577293 +SV100-T5,naive_warmup,Train Loss,11000,0.011868815869092941 +SV100-T5,naive_warmup,Train Loss,11500,0.01059604063630104 +SV100-T5,naive_warmup,Train Loss,12000,0.00993221253156662 +SV100-T5,naive_warmup,Train Loss,12500,0.01776423305273056 +SV100-T5,naive_warmup,Train Loss,13000,0.013888288289308548 +SV100-T5,naive_warmup,Train Loss,13500,0.012004081159830093 +SV100-T5,naive_warmup,Train Loss,14000,0.012185906060039997 +SV100-T5,naive_warmup,Train Loss,14500,0.010334962978959084 +SV100-T5,naive_warmup,Train Loss,15000,0.010537632741034031 +SV100-T5,naive_warmup,Train Loss,15500,0.011285213753581047 +SV100-T5,naive_warmup,Train Loss,16000,0.010936861857771873 +SV100-T5,naive_warmup,Train Loss,16500,0.010142160579562187 +SV100-T5,naive_warmup,Train Loss,17000,0.0077413516119122505 +SV100-T5,naive_warmup,Train Loss,17500,0.008131624199450016 +SV100-T5,naive_warmup,Train Loss,18000,0.008014297112822533 +SV100-T5,naive_warmup,Train Loss,18500,0.008865350857377052 +SV100-T5,naive_warmup,Train Loss,19000,0.00880021695047617 +SV100-T5,naive_warmup,Train Loss,19500,0.01127544604241848 +SV100-T5,naive_warmup,Train Loss,20000,0.009830968454480171 +SV100-T5,naive_warmup,Train Loss,20500,0.009638462215662003 +SV100-T5,naive_warmup,Train Loss,21000,0.008398011326789856 +SV100-T5,naive_warmup,Train Loss,21500,0.007233531214296818 +SV100-T5,naive_warmup,Train Loss,22000,0.012060634791851044 +SV100-T5,naive_warmup,Train Loss,22500,0.007838161662220955 +SV100-T5,naive_warmup,Train Loss,23000,0.00813184306025505 +SV100-T5,naive_warmup,Train Loss,23500,0.008422257378697395 +SV100-T5,naive_warmup,Train Loss,24000,0.007031285669654608 +SV100-T5,naive_warmup,Train Loss,24500,0.007777957711368799 +SV100-T5,naive_warmup,Train Loss,25000,0.007529171649366617 +SV100-T5,naive_warmup,Train Loss,25500,0.00846927985548973 +SV100-T5,naive_warmup,Train Loss,26000,0.008512821048498154 +SV100-T5,naive_warmup,Train Loss,26500,0.0057538654655218124 +SV100-T5,naive_warmup,Train Loss,27000,0.00778617337346077 +SV100-T5,naive_warmup,Train Loss,27500,0.007410024758428335 +SV100-T5,naive_warmup,Train Loss,28000,0.0062248725444078445 +SV100-T5,naive_warmup,Train Loss,28500,0.007055928464978933 +SV100-T5,naive_warmup,Train Loss,29000,0.00848234910517931 +SV100-T5,naive_warmup,Train Loss,29500,0.008151393383741379 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,500,15.963422775268555 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,1000,18.81218910217285 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,1500,18.749923706054688 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,2000,19.009061813354492 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,2500,19.013572692871094 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,3000,19.665908813476562 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,3500,18.895702362060547 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,4000,20.95368766784668 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,4500,20.43135643005371 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,5000,19.931730270385742 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,5500,21.327970504760742 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,6000,21.025217056274414 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,6500,22.108013153076172 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,7000,21.429550170898438 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,7500,23.33948516845703 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,8000,23.289546966552734 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,8500,22.705720901489258 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,9000,21.511178970336914 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,9500,22.502782821655273 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,10000,22.567033767700195 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,10500,23.742685317993164 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,11000,21.956693649291992 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,11500,23.539348602294922 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,12000,21.02341079711914 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,12500,22.309146881103516 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,13000,22.10769271850586 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,13500,22.30223846435547 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,14000,23.324756622314453 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,14500,23.112579345703125 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,15000,22.92862319946289 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,15500,24.108200073242188 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,16000,21.407930374145508 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,16500,23.97904396057129 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,17000,22.77779769897461 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,17500,23.42352294921875 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,18000,22.957921981811523 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,18500,23.724252700805664 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,19000,25.861597061157227 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,19500,22.361942291259766 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,20000,23.988542556762695 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,20500,24.816425323486328 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,21000,22.96565818786621 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,21500,25.303651809692383 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,22000,23.6097469329834 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,22500,21.80759048461914 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,23000,22.44693946838379 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,23500,22.553020477294922 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,24000,24.549291610717773 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,24500,24.028915405273438 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,25000,21.043140411376953 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,25500,25.31397819519043 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,26000,21.763002395629883 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,26500,22.601259231567383 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,27000,23.949623107910156 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,27500,21.798046112060547 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,28000,21.9672908782959 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,28500,21.15901756286621 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,29000,21.71245002746582 +SV100-T5,naive_warmup,Eval Images Metrics/fine_psnr,29500,22.12578582763672 +SV100-T5,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,23.284435272216797 +SV100-T5,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.8253076076507568 +SV100-T5,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.12529417872428894 +SV100-T5,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-T5,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-T5,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-T5,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-T5,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-T5,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-T5,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-T5,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-T5,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-T5,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-T5,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-T5,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-T5,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-T5,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-T5,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-T5,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-T5,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-T5,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-T5,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-T5,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-T5,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-T5,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-T5,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-T5,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-T5,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-T5,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-T5,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-T5,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-T5,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-T5,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-T5,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-T5,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-T5,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-T5,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-T5,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-T5,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-T5,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-T5,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-T5,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-T5,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-T5,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-T5,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-T5,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-T5,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-T5,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-T5,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-T5,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-T5,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-T5,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-T5,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-T5,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-T5,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-T5,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-T5,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-T5,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-T5,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-T5,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-T5,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-T5,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-T5,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-T5,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-T5,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-T5,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-T5,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-T5,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-T5,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-T5,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-T5,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-T5,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-T5,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-T5,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-T5,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-T5,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-T5,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-T5,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-T5,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-T5,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-T5,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-T5,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-T5,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-T5,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-T5,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-T5,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-T5,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-T5,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-T5,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-T5,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-T5,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-T5,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-T5,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-T5,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-T5,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-T5,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-T5,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-T5,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-T5,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-T5,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-T5,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-T5,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-T5,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-T5,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-T5,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-T5,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-T5,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-T5,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-T5,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-T5,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-T5,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-T5,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-T5,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-T5,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-T5,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-T5,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-T5,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-T5,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-T5,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-T5,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-T5,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-T5,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-T5,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-T5,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-T5,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-T5,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-T5,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-T5,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-T5,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-T5,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-T5,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-T5,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-T5,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-T5,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-T5,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-T5,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-T5,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-T5,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-T5,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-T5,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-T5,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-T5,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-T5,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-T5,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-T5,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-T5,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-T5,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-T5,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-T5,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-T5,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-T5,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-T5,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-T5,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-T5,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-T5,camp_warmup,Train Loss,0,0.34214335680007935 +SV100-T5,camp_warmup,Train Loss,50,0.3184363842010498 +SV100-T5,camp_warmup,Train Loss,100,0.18494848906993866 +SV100-T5,camp_warmup,Train Loss,150,0.1770670861005783 +SV100-T5,camp_warmup,Train Loss,200,0.16447997093200684 +SV100-T5,camp_warmup,Train Loss,250,0.1531711220741272 +SV100-T5,camp_warmup,Train Loss,300,0.1469341665506363 +SV100-T5,camp_warmup,Train Loss,350,0.09510445594787598 +SV100-T5,camp_warmup,Train Loss,400,0.07912755012512207 +SV100-T5,camp_warmup,Train Loss,450,0.06568604707717896 +SV100-T5,camp_warmup,Train Loss,500,0.0645846351981163 +SV100-T5,camp_warmup,Train Loss,550,0.06273874640464783 +SV100-T5,camp_warmup,Train Loss,600,0.06304512172937393 +SV100-T5,camp_warmup,Train Loss,650,0.06797507405281067 +SV100-T5,camp_warmup,Train Loss,700,0.05209558829665184 +SV100-T5,camp_warmup,Train Loss,750,0.059365175664424896 +SV100-T5,camp_warmup,Train Loss,800,0.06306727230548859 +SV100-T5,camp_warmup,Train Loss,850,0.05178912729024887 +SV100-T5,camp_warmup,Train Loss,900,0.04715205729007721 +SV100-T5,camp_warmup,Train Loss,950,0.05096818506717682 +SV100-T5,camp_warmup,Train Loss,1000,0.041893213987350464 +SV100-T5,camp_warmup,Train Loss,1050,0.04522115737199783 +SV100-T5,camp_warmup,Train Loss,1100,0.04195472598075867 +SV100-T5,camp_warmup,Train Loss,1150,0.04375509172677994 +SV100-T5,camp_warmup,Train Loss,1200,0.043183475732803345 +SV100-T5,camp_warmup,Train Loss,1250,0.04480883851647377 +SV100-T5,camp_warmup,Train Loss,1300,0.045451194047927856 +SV100-T5,camp_warmup,Train Loss,1350,0.04201681166887283 +SV100-T5,camp_warmup,Train Loss,1400,0.040959540754556656 +SV100-T5,camp_warmup,Train Loss,1450,0.03327558934688568 +SV100-T5,camp_warmup,Train Loss,1500,0.03281374275684357 +SV100-T5,camp_warmup,Train Loss,1550,0.04098077863454819 +SV100-T5,camp_warmup,Train Loss,1600,0.036624472588300705 +SV100-T5,camp_warmup,Train Loss,1650,0.03702901676297188 +SV100-T5,camp_warmup,Train Loss,1700,0.034933801740407944 +SV100-T5,camp_warmup,Train Loss,1750,0.03930661454796791 +SV100-T5,camp_warmup,Train Loss,1800,0.033458586782217026 +SV100-T5,camp_warmup,Train Loss,1850,0.03169889748096466 +SV100-T5,camp_warmup,Train Loss,1900,0.03172988444566727 +SV100-T5,camp_warmup,Train Loss,1950,0.035035207867622375 +SV100-T5,camp_warmup,Train Loss,2000,0.03239737078547478 +SV100-T5,camp_warmup,Train Loss,2050,0.03240756690502167 +SV100-T5,camp_warmup,Train Loss,2100,0.03748233616352081 +SV100-T5,camp_warmup,Train Loss,2150,0.03515349328517914 +SV100-T5,camp_warmup,Train Loss,2200,0.034304846078157425 +SV100-T5,camp_warmup,Train Loss,2250,0.034404534846544266 +SV100-T5,camp_warmup,Train Loss,2300,0.029075862839818 +SV100-T5,camp_warmup,Train Loss,2350,0.0357343815267086 +SV100-T5,camp_warmup,Train Loss,2400,0.029733121395111084 +SV100-T5,camp_warmup,Train Loss,2450,0.03432062268257141 +SV100-T5,camp_warmup,Train Loss,2500,0.02784544602036476 +SV100-T5,camp_warmup,Train Loss,2550,0.039264824241399765 +SV100-T5,camp_warmup,Train Loss,2600,0.03570704162120819 +SV100-T5,camp_warmup,Train Loss,2650,0.030994538217782974 +SV100-T5,camp_warmup,Train Loss,2700,0.03370394930243492 +SV100-T5,camp_warmup,Train Loss,2750,0.033547330647706985 +SV100-T5,camp_warmup,Train Loss,2800,0.02959819883108139 +SV100-T5,camp_warmup,Train Loss,2850,0.02561553381383419 +SV100-T5,camp_warmup,Train Loss,2900,0.02686484158039093 +SV100-T5,camp_warmup,Train Loss,2950,0.02886214666068554 +SV100-T5,camp_warmup,Train Loss,3000,0.03254198282957077 +SV100-T5,camp_warmup,Train Loss,3050,0.028108056634664536 +SV100-T5,camp_warmup,Train Loss,3100,0.026699554175138474 +SV100-T5,camp_warmup,Train Loss,3150,0.02951347827911377 +SV100-T5,camp_warmup,Train Loss,3200,0.029160182923078537 +SV100-T5,camp_warmup,Train Loss,3250,0.02786020189523697 +SV100-T5,camp_warmup,Train Loss,3300,0.027076754719018936 +SV100-T5,camp_warmup,Train Loss,3350,0.02871040068566799 +SV100-T5,camp_warmup,Train Loss,3400,0.02781008929014206 +SV100-T5,camp_warmup,Train Loss,3450,0.026441726833581924 +SV100-T5,camp_warmup,Train Loss,3500,0.02541162818670273 +SV100-T5,camp_warmup,Train Loss,3550,0.02654922939836979 +SV100-T5,camp_warmup,Train Loss,3600,0.025923587381839752 +SV100-T5,camp_warmup,Train Loss,3650,0.027885854244232178 +SV100-T5,camp_warmup,Train Loss,3700,0.02581976354122162 +SV100-T5,camp_warmup,Train Loss,3750,0.02419641800224781 +SV100-T5,camp_warmup,Train Loss,3800,0.028312120586633682 +SV100-T5,camp_warmup,Train Loss,3850,0.027613632380962372 +SV100-T5,camp_warmup,Train Loss,3900,0.026801401749253273 +SV100-T5,camp_warmup,Train Loss,3950,0.0259498693048954 +SV100-T5,camp_warmup,Train Loss,4000,0.0346769280731678 +SV100-T5,camp_warmup,Train Loss,4050,0.02494543418288231 +SV100-T5,camp_warmup,Train Loss,4100,0.024445857852697372 +SV100-T5,camp_warmup,Train Loss,4150,0.02706827037036419 +SV100-T5,camp_warmup,Train Loss,4200,0.023155365139245987 +SV100-T5,camp_warmup,Train Loss,4250,0.028955914080142975 +SV100-T5,camp_warmup,Train Loss,4300,0.0220656655728817 +SV100-T5,camp_warmup,Train Loss,4350,0.02619418315589428 +SV100-T5,camp_warmup,Train Loss,4400,0.0216697808355093 +SV100-T5,camp_warmup,Train Loss,4450,0.022194955497980118 +SV100-T5,camp_warmup,Train Loss,4500,0.026189835742115974 +SV100-T5,camp_warmup,Train Loss,4550,0.022847477346658707 +SV100-T5,camp_warmup,Train Loss,4600,0.02774542197585106 +SV100-T5,camp_warmup,Train Loss,4650,0.021064208820462227 +SV100-T5,camp_warmup,Train Loss,4700,0.02786741778254509 +SV100-T5,camp_warmup,Train Loss,4750,0.023849736899137497 +SV100-T5,camp_warmup,Train Loss,4800,0.02400713600218296 +SV100-T5,camp_warmup,Train Loss,4850,0.02228003367781639 +SV100-T5,camp_warmup,Train Loss,4900,0.02589673362672329 +SV100-T5,camp_warmup,Train Loss,4950,0.021150941029191017 +SV100-T5,camp_warmup,Train Loss,5000,0.02605900913476944 +SV100-T5,camp_warmup,Train Loss,5500,0.022865742444992065 +SV100-T5,camp_warmup,Train Loss,6000,0.01874350756406784 +SV100-T5,camp_warmup,Train Loss,6500,0.019663583487272263 +SV100-T5,camp_warmup,Train Loss,7000,0.020557576790452003 +SV100-T5,camp_warmup,Train Loss,7500,0.0173720084130764 +SV100-T5,camp_warmup,Train Loss,8000,0.014548948034644127 +SV100-T5,camp_warmup,Train Loss,8500,0.013966340571641922 +SV100-T5,camp_warmup,Train Loss,9000,0.01656089350581169 +SV100-T5,camp_warmup,Train Loss,9500,0.013868017122149467 +SV100-T5,camp_warmup,Train Loss,10000,0.01409020647406578 +SV100-T5,camp_warmup,Train Loss,10500,0.011693610809743404 +SV100-T5,camp_warmup,Train Loss,11000,0.011411309242248535 +SV100-T5,camp_warmup,Train Loss,11500,0.010583274997770786 +SV100-T5,camp_warmup,Train Loss,12000,0.011323045939207077 +SV100-T5,camp_warmup,Train Loss,12500,0.01854756474494934 +SV100-T5,camp_warmup,Train Loss,13000,0.012239553965628147 +SV100-T5,camp_warmup,Train Loss,13500,0.012910805642604828 +SV100-T5,camp_warmup,Train Loss,14000,0.013800428248941898 +SV100-T5,camp_warmup,Train Loss,14500,0.00912429764866829 +SV100-T5,camp_warmup,Train Loss,15000,0.008514849469065666 +SV100-T5,camp_warmup,Train Loss,15500,0.01189005933701992 +SV100-T5,camp_warmup,Train Loss,16000,0.010245055891573429 +SV100-T5,camp_warmup,Train Loss,16500,0.008793763816356659 +SV100-T5,camp_warmup,Train Loss,17000,0.007925834506750107 +SV100-T5,camp_warmup,Train Loss,17500,0.00776094663888216 +SV100-T5,camp_warmup,Train Loss,18000,0.009210223332047462 +SV100-T5,camp_warmup,Train Loss,18500,0.008783171884715557 +SV100-T5,camp_warmup,Train Loss,19000,0.0076106032356619835 +SV100-T5,camp_warmup,Train Loss,19500,0.010587201453745365 +SV100-T5,camp_warmup,Train Loss,20000,0.008990871720016003 +SV100-T5,camp_warmup,Train Loss,20500,0.009925905615091324 +SV100-T5,camp_warmup,Train Loss,21000,0.008695578202605247 +SV100-T5,camp_warmup,Train Loss,21500,0.006916181184351444 +SV100-T5,camp_warmup,Train Loss,22000,0.011034045368432999 +SV100-T5,camp_warmup,Train Loss,22500,0.007840996608138084 +SV100-T5,camp_warmup,Train Loss,23000,0.007785216439515352 +SV100-T5,camp_warmup,Train Loss,23500,0.007708716206252575 +SV100-T5,camp_warmup,Train Loss,24000,0.006686653476208448 +SV100-T5,camp_warmup,Train Loss,24500,0.006820715963840485 +SV100-T5,camp_warmup,Train Loss,25000,0.008437898010015488 +SV100-T5,camp_warmup,Train Loss,25500,0.006619890220463276 +SV100-T5,camp_warmup,Train Loss,26000,0.006815916858613491 +SV100-T5,camp_warmup,Train Loss,26500,0.005613232031464577 +SV100-T5,camp_warmup,Train Loss,27000,0.007015534210950136 +SV100-T5,camp_warmup,Train Loss,27500,0.006064252927899361 +SV100-T5,camp_warmup,Train Loss,28000,0.007318028248846531 +SV100-T5,camp_warmup,Train Loss,28500,0.006127999164164066 +SV100-T5,camp_warmup,Train Loss,29000,0.0084192780777812 +SV100-T5,camp_warmup,Train Loss,29500,0.00667653838172555 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,500,15.937226295471191 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,1000,18.2410831451416 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,1500,18.61839485168457 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,2000,19.012365341186523 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,2500,19.144207000732422 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,3000,19.60517692565918 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,3500,17.774967193603516 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,4000,20.312707901000977 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,4500,19.739843368530273 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,5000,18.13857650756836 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,5500,20.991008758544922 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,6000,19.6980037689209 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,6500,21.094839096069336 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,7000,20.095382690429688 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,7500,23.112329483032227 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,8000,21.740703582763672 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,8500,21.162981033325195 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,9000,19.52327537536621 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,9500,20.83348274230957 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,10000,20.770193099975586 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,10500,21.159950256347656 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,11000,18.80765724182129 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,11500,20.928245544433594 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,12000,17.673248291015625 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,12500,19.09902000427246 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,13000,18.699857711791992 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,13500,18.5701847076416 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,14000,21.234302520751953 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,14500,19.548053741455078 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,15000,20.129636764526367 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,15500,22.16242027282715 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,16000,17.391305923461914 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,16500,21.11008644104004 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,17000,19.844263076782227 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,17500,19.758337020874023 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,18000,19.315582275390625 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,18500,20.7601375579834 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,19000,21.909753799438477 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,19500,18.39043617248535 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,20000,20.744159698486328 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,20500,21.538715362548828 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,21000,19.32182502746582 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,21500,23.408050537109375 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,22000,19.014942169189453 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,22500,17.83335304260254 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,23000,18.29853057861328 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,23500,18.35083770751953 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,24000,20.48263168334961 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,24500,20.317230224609375 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,25000,17.088214874267578 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,25500,21.6668701171875 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,26000,17.768775939941406 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,26500,18.338825225830078 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,27000,20.224910736083984 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,27500,17.814924240112305 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,28000,17.897186279296875 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,28500,17.143648147583008 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,29000,18.452049255371094 +SV100-T5,camp_warmup,Eval Images Metrics/fine_psnr,29500,17.85342788696289 +SV100-T5,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,19.454998016357422 +SV100-T5,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7694785594940186 +SV100-T5,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.1455099731683731 +SV100-R0.5,fixed,Train Loss,0,0.3426050841808319 +SV100-R0.5,fixed,Train Loss,50,0.31661051511764526 +SV100-R0.5,fixed,Train Loss,100,0.177931547164917 +SV100-R0.5,fixed,Train Loss,150,0.17643386125564575 +SV100-R0.5,fixed,Train Loss,200,0.17627021670341492 +SV100-R0.5,fixed,Train Loss,250,0.1646694839000702 +SV100-R0.5,fixed,Train Loss,300,0.13495472073554993 +SV100-R0.5,fixed,Train Loss,350,0.09066279977560043 +SV100-R0.5,fixed,Train Loss,400,0.058042168617248535 +SV100-R0.5,fixed,Train Loss,450,0.05713927000761032 +SV100-R0.5,fixed,Train Loss,500,0.04333268105983734 +SV100-R0.5,fixed,Train Loss,550,0.050452254712581635 +SV100-R0.5,fixed,Train Loss,600,0.040359511971473694 +SV100-R0.5,fixed,Train Loss,650,0.03861456364393234 +SV100-R0.5,fixed,Train Loss,700,0.037640973925590515 +SV100-R0.5,fixed,Train Loss,750,0.03961329907178879 +SV100-R0.5,fixed,Train Loss,800,0.03583446890115738 +SV100-R0.5,fixed,Train Loss,850,0.03620036691427231 +SV100-R0.5,fixed,Train Loss,900,0.03070661798119545 +SV100-R0.5,fixed,Train Loss,950,0.04005642235279083 +SV100-R0.5,fixed,Train Loss,1000,0.030894257128238678 +SV100-R0.5,fixed,Train Loss,1050,0.02952256053686142 +SV100-R0.5,fixed,Train Loss,1100,0.026663202792406082 +SV100-R0.5,fixed,Train Loss,1150,0.028446761891245842 +SV100-R0.5,fixed,Train Loss,1200,0.03390467166900635 +SV100-R0.5,fixed,Train Loss,1250,0.03550814837217331 +SV100-R0.5,fixed,Train Loss,1300,0.03194832056760788 +SV100-R0.5,fixed,Train Loss,1350,0.03223360702395439 +SV100-R0.5,fixed,Train Loss,1400,0.030715782195329666 +SV100-R0.5,fixed,Train Loss,1450,0.032016441226005554 +SV100-R0.5,fixed,Train Loss,1500,0.03235244005918503 +SV100-R0.5,fixed,Train Loss,1550,0.02899204194545746 +SV100-R0.5,fixed,Train Loss,1600,0.029573671519756317 +SV100-R0.5,fixed,Train Loss,1650,0.030256938189268112 +SV100-R0.5,fixed,Train Loss,1700,0.028855055570602417 +SV100-R0.5,fixed,Train Loss,1750,0.030330702662467957 +SV100-R0.5,fixed,Train Loss,1800,0.02618762105703354 +SV100-R0.5,fixed,Train Loss,1850,0.029502682387828827 +SV100-R0.5,fixed,Train Loss,1900,0.03099876455962658 +SV100-R0.5,fixed,Train Loss,1950,0.03260400518774986 +SV100-R0.5,fixed,Train Loss,2000,0.031142141669988632 +SV100-R0.5,fixed,Train Loss,2050,0.02549954503774643 +SV100-R0.5,fixed,Train Loss,2100,0.026119336485862732 +SV100-R0.5,fixed,Train Loss,2150,0.025835594162344933 +SV100-R0.5,fixed,Train Loss,2200,0.03185351565480232 +SV100-R0.5,fixed,Train Loss,2250,0.02614387311041355 +SV100-R0.5,fixed,Train Loss,2300,0.02501019649207592 +SV100-R0.5,fixed,Train Loss,2350,0.029205195605754852 +SV100-R0.5,fixed,Train Loss,2400,0.027457289397716522 +SV100-R0.5,fixed,Train Loss,2450,0.027392350137233734 +SV100-R0.5,fixed,Train Loss,2500,0.030851107090711594 +SV100-R0.5,fixed,Train Loss,2550,0.031223393976688385 +SV100-R0.5,fixed,Train Loss,2600,0.028770333155989647 +SV100-R0.5,fixed,Train Loss,2650,0.028914114460349083 +SV100-R0.5,fixed,Train Loss,2700,0.025551673024892807 +SV100-R0.5,fixed,Train Loss,2750,0.024894706904888153 +SV100-R0.5,fixed,Train Loss,2800,0.030969861894845963 +SV100-R0.5,fixed,Train Loss,2850,0.02825116738677025 +SV100-R0.5,fixed,Train Loss,2900,0.028334079310297966 +SV100-R0.5,fixed,Train Loss,2950,0.02610190212726593 +SV100-R0.5,fixed,Train Loss,3000,0.019605301320552826 +SV100-R0.5,fixed,Train Loss,3050,0.02790095843374729 +SV100-R0.5,fixed,Train Loss,3100,0.02366713620722294 +SV100-R0.5,fixed,Train Loss,3150,0.02453121915459633 +SV100-R0.5,fixed,Train Loss,3200,0.019938349723815918 +SV100-R0.5,fixed,Train Loss,3250,0.02652202732861042 +SV100-R0.5,fixed,Train Loss,3300,0.027068957686424255 +SV100-R0.5,fixed,Train Loss,3350,0.029185062274336815 +SV100-R0.5,fixed,Train Loss,3400,0.027299955487251282 +SV100-R0.5,fixed,Train Loss,3450,0.02914530411362648 +SV100-R0.5,fixed,Train Loss,3500,0.026928648352622986 +SV100-R0.5,fixed,Train Loss,3550,0.022861378267407417 +SV100-R0.5,fixed,Train Loss,3600,0.02393406257033348 +SV100-R0.5,fixed,Train Loss,3650,0.0275699682533741 +SV100-R0.5,fixed,Train Loss,3700,0.027905115857720375 +SV100-R0.5,fixed,Train Loss,3750,0.022355858236551285 +SV100-R0.5,fixed,Train Loss,3800,0.027414169162511826 +SV100-R0.5,fixed,Train Loss,3850,0.02716618962585926 +SV100-R0.5,fixed,Train Loss,3900,0.024323103949427605 +SV100-R0.5,fixed,Train Loss,3950,0.0207773856818676 +SV100-R0.5,fixed,Train Loss,4000,0.02667785808444023 +SV100-R0.5,fixed,Train Loss,4050,0.023993730545043945 +SV100-R0.5,fixed,Train Loss,4100,0.02229941636323929 +SV100-R0.5,fixed,Train Loss,4150,0.027777431532740593 +SV100-R0.5,fixed,Train Loss,4200,0.023322593420743942 +SV100-R0.5,fixed,Train Loss,4250,0.02149643748998642 +SV100-R0.5,fixed,Train Loss,4300,0.024616150185465813 +SV100-R0.5,fixed,Train Loss,4350,0.021006975322961807 +SV100-R0.5,fixed,Train Loss,4400,0.025669071823358536 +SV100-R0.5,fixed,Train Loss,4450,0.023381046950817108 +SV100-R0.5,fixed,Train Loss,4500,0.026264028623700142 +SV100-R0.5,fixed,Train Loss,4550,0.0237436480820179 +SV100-R0.5,fixed,Train Loss,4600,0.024792393669486046 +SV100-R0.5,fixed,Train Loss,4650,0.023933034390211105 +SV100-R0.5,fixed,Train Loss,4700,0.02410958707332611 +SV100-R0.5,fixed,Train Loss,4750,0.022589026018977165 +SV100-R0.5,fixed,Train Loss,4800,0.02586944028735161 +SV100-R0.5,fixed,Train Loss,4850,0.026165928691625595 +SV100-R0.5,fixed,Train Loss,4900,0.024757079780101776 +SV100-R0.5,fixed,Train Loss,4950,0.02916547656059265 +SV100-R0.5,fixed,Train Loss,5000,0.024450108408927917 +SV100-R0.5,fixed,Train Loss,5500,0.024975625798106194 +SV100-R0.5,fixed,Train Loss,6000,0.02128574624657631 +SV100-R0.5,fixed,Train Loss,6500,0.022555433213710785 +SV100-R0.5,fixed,Train Loss,7000,0.02148895151913166 +SV100-R0.5,fixed,Train Loss,7500,0.02584906853735447 +SV100-R0.5,fixed,Train Loss,8000,0.022902999073266983 +SV100-R0.5,fixed,Train Loss,8500,0.019430680200457573 +SV100-R0.5,fixed,Train Loss,9000,0.027407996356487274 +SV100-R0.5,fixed,Train Loss,9500,0.018810560926795006 +SV100-R0.5,fixed,Train Loss,10000,0.024720925837755203 +SV100-R0.5,fixed,Train Loss,10500,0.020370133221149445 +SV100-R0.5,fixed,Train Loss,11000,0.021145492792129517 +SV100-R0.5,fixed,Train Loss,11500,0.01909070461988449 +SV100-R0.5,fixed,Train Loss,12000,0.016990624368190765 +SV100-R0.5,fixed,Train Loss,12500,0.020169025287032127 +SV100-R0.5,fixed,Train Loss,13000,0.019529690966010094 +SV100-R0.5,fixed,Train Loss,13500,0.021609144285321236 +SV100-R0.5,fixed,Train Loss,14000,0.016572939231991768 +SV100-R0.5,fixed,Train Loss,14500,0.019718855619430542 +SV100-R0.5,fixed,Train Loss,15000,0.019908707588911057 +SV100-R0.5,fixed,Train Loss,15500,0.018650013953447342 +SV100-R0.5,fixed,Train Loss,16000,0.01860027387738228 +SV100-R0.5,fixed,Train Loss,16500,0.019743025302886963 +SV100-R0.5,fixed,Train Loss,17000,0.017868995666503906 +SV100-R0.5,fixed,Train Loss,17500,0.01790529116988182 +SV100-R0.5,fixed,Train Loss,18000,0.016104187816381454 +SV100-R0.5,fixed,Train Loss,18500,0.016677716746926308 +SV100-R0.5,fixed,Train Loss,19000,0.018613681197166443 +SV100-R0.5,fixed,Train Loss,19500,0.016722070053219795 +SV100-R0.5,fixed,Train Loss,20000,0.01662677340209484 +SV100-R0.5,fixed,Train Loss,20500,0.01628977619111538 +SV100-R0.5,fixed,Train Loss,21000,0.01647099293768406 +SV100-R0.5,fixed,Train Loss,21500,0.01522452849894762 +SV100-R0.5,fixed,Train Loss,22000,0.01964164525270462 +SV100-R0.5,fixed,Train Loss,22500,0.01604464277625084 +SV100-R0.5,fixed,Train Loss,23000,0.017894819378852844 +SV100-R0.5,fixed,Train Loss,23500,0.016831692308187485 +SV100-R0.5,fixed,Train Loss,24000,0.01748686656355858 +SV100-R0.5,fixed,Train Loss,24500,0.01628667302429676 +SV100-R0.5,fixed,Train Loss,25000,0.014986356720328331 +SV100-R0.5,fixed,Train Loss,25500,0.014248315244913101 +SV100-R0.5,fixed,Train Loss,26000,0.01691814325749874 +SV100-R0.5,fixed,Train Loss,26500,0.016237247735261917 +SV100-R0.5,fixed,Train Loss,27000,0.014787096530199051 +SV100-R0.5,fixed,Train Loss,27500,0.016205552965402603 +SV100-R0.5,fixed,Train Loss,28000,0.014452546834945679 +SV100-R0.5,fixed,Train Loss,28500,0.015245468355715275 +SV100-R0.5,fixed,Train Loss,29000,0.016308847814798355 +SV100-R0.5,fixed,Train Loss,29500,0.016657162457704544 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,500,16.27497100830078 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,1000,18.279823303222656 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,1500,18.228551864624023 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,2000,19.303813934326172 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,2500,19.21133804321289 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,3000,20.278425216674805 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,3500,19.82411766052246 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,4000,20.005374908447266 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,4500,21.293004989624023 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,5000,20.86427879333496 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,5500,20.196680068969727 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,6000,20.29141616821289 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,6500,20.160308837890625 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,7000,20.16357421875 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,7500,20.117931365966797 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,8000,20.72031593322754 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,8500,20.437620162963867 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,9000,20.31644630432129 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,9500,20.533058166503906 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,10000,20.101882934570312 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,10500,20.72261619567871 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,11000,22.325916290283203 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,11500,22.3449649810791 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,12000,18.718223571777344 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,12500,20.264585494995117 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,13000,20.162338256835938 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,13500,20.079330444335938 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,14000,22.503803253173828 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,14500,20.45411491394043 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,15000,22.034032821655273 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,15500,20.090118408203125 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,16000,20.282926559448242 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,16500,21.24732208251953 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,17000,21.285306930541992 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,17500,19.768672943115234 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,18000,20.514616012573242 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,18500,19.463790893554688 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,19000,19.90605354309082 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,19500,20.387264251708984 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,20000,20.31157875061035 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,20500,19.616174697875977 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,21000,20.56719398498535 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,21500,19.99665641784668 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,22000,18.610414505004883 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,22500,22.226207733154297 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,23000,21.323333740234375 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,23500,17.67469596862793 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,24000,20.979116439819336 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,24500,19.79706382751465 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,25000,19.946847915649414 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,25500,20.274181365966797 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,26000,20.065671920776367 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,26500,19.948854446411133 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,27000,19.92864227294922 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,27500,19.562257766723633 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,28000,18.15899085998535 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,28500,19.634916305541992 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,29000,19.64068031311035 +SV100-R0.5,fixed,Eval Images Metrics/fine_psnr,29500,18.018877029418945 +SV100-R0.5,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,20.16144561767578 +SV100-R0.5,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7764829993247986 +SV100-R0.5,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.2487417757511139 +SV100-R0.5,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-R0.5,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-R0.5,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-R0.5,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-R0.5,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-R0.5,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-R0.5,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-R0.5,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-R0.5,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-R0.5,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-R0.5,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-R0.5,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-R0.5,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-R0.5,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-R0.5,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-R0.5,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-R0.5,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-R0.5,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-R0.5,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-R0.5,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-R0.5,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-R0.5,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-R0.5,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-R0.5,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-R0.5,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-R0.5,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-R0.5,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-R0.5,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-R0.5,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-R0.5,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-R0.5,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-R0.5,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-R0.5,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-R0.5,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-R0.5,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-R0.5,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-R0.5,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-R0.5,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-R0.5,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-R0.5,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-R0.5,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-R0.5,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-R0.5,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-R0.5,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-R0.5,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-R0.5,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-R0.5,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-R0.5,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-R0.5,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-R0.5,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-R0.5,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-R0.5,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-R0.5,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-R0.5,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-R0.5,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-R0.5,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-R0.5,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-R0.5,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-R0.5,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-R0.5,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-R0.5,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-R0.5,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-R0.5,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-R0.5,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-R0.5,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-R0.5,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-R0.5,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-R0.5,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-R0.5,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-R0.5,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-R0.5,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-R0.5,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-R0.5,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-R0.5,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-R0.5,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-R0.5,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-R0.5,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-R0.5,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-R0.5,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-R0.5,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-R0.5,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-R0.5,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-R0.5,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-R0.5,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-R0.5,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-R0.5,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-R0.5,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-R0.5,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-R0.5,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-R0.5,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-R0.5,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-R0.5,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-R0.5,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-R0.5,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-R0.5,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-R0.5,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-R0.5,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-R0.5,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-R0.5,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-R0.5,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-R0.5,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-R0.5,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-R0.5,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-R0.5,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-R0.5,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-R0.5,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-R0.5,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-R0.5,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-R0.5,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-R0.5,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-R0.5,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-R0.5,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-R0.5,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-R0.5,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-R0.5,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-R0.5,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-R0.5,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-R0.5,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-R0.5,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-R0.5,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-R0.5,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-R0.5,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-R0.5,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-R0.5,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-R0.5,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-R0.5,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-R0.5,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-R0.5,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-R0.5,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-R0.5,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-R0.5,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-R0.5,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-R0.5,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-R0.5,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-R0.5,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-R0.5,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-R0.5,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-R0.5,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-R0.5,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-R0.5,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-R0.5,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-R0.5,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-R0.5,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-R0.5,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-R0.5,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-R0.5,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-R0.5,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-R0.5,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-R0.5,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-R0.5,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-R0.5,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R0.5,naive,Train Loss,0,0.3421495854854584 +SV100-R0.5,naive,Train Loss,50,0.31848740577697754 +SV100-R0.5,naive,Train Loss,100,0.18516257405281067 +SV100-R0.5,naive,Train Loss,150,0.17694278061389923 +SV100-R0.5,naive,Train Loss,200,0.16417989134788513 +SV100-R0.5,naive,Train Loss,250,0.1542152464389801 +SV100-R0.5,naive,Train Loss,300,0.1488405466079712 +SV100-R0.5,naive,Train Loss,350,0.10474283993244171 +SV100-R0.5,naive,Train Loss,400,0.09624972194433212 +SV100-R0.5,naive,Train Loss,450,0.08199574053287506 +SV100-R0.5,naive,Train Loss,500,0.08736134320497513 +SV100-R0.5,naive,Train Loss,550,0.08250444382429123 +SV100-R0.5,naive,Train Loss,600,0.080039381980896 +SV100-R0.5,naive,Train Loss,650,0.08049950748682022 +SV100-R0.5,naive,Train Loss,700,0.07442115247249603 +SV100-R0.5,naive,Train Loss,750,0.07607962936162949 +SV100-R0.5,naive,Train Loss,800,0.07982742041349411 +SV100-R0.5,naive,Train Loss,850,0.07058386504650116 +SV100-R0.5,naive,Train Loss,900,0.06048011779785156 +SV100-R0.5,naive,Train Loss,950,0.061978258192539215 +SV100-R0.5,naive,Train Loss,1000,0.059120625257492065 +SV100-R0.5,naive,Train Loss,1050,0.05263923853635788 +SV100-R0.5,naive,Train Loss,1100,0.05480971187353134 +SV100-R0.5,naive,Train Loss,1150,0.05919394642114639 +SV100-R0.5,naive,Train Loss,1200,0.05116724595427513 +SV100-R0.5,naive,Train Loss,1250,0.05083180591464043 +SV100-R0.5,naive,Train Loss,1300,0.05094114691019058 +SV100-R0.5,naive,Train Loss,1350,0.04543622210621834 +SV100-R0.5,naive,Train Loss,1400,0.047749362885951996 +SV100-R0.5,naive,Train Loss,1450,0.032443709671497345 +SV100-R0.5,naive,Train Loss,1500,0.03501714766025543 +SV100-R0.5,naive,Train Loss,1550,0.042039383202791214 +SV100-R0.5,naive,Train Loss,1600,0.03648754581809044 +SV100-R0.5,naive,Train Loss,1650,0.03707609698176384 +SV100-R0.5,naive,Train Loss,1700,0.0389174222946167 +SV100-R0.5,naive,Train Loss,1750,0.03561793267726898 +SV100-R0.5,naive,Train Loss,1800,0.035996418446302414 +SV100-R0.5,naive,Train Loss,1850,0.030712466686964035 +SV100-R0.5,naive,Train Loss,1900,0.03341720998287201 +SV100-R0.5,naive,Train Loss,1950,0.03418995812535286 +SV100-R0.5,naive,Train Loss,2000,0.030542710795998573 +SV100-R0.5,naive,Train Loss,2050,0.029667463153600693 +SV100-R0.5,naive,Train Loss,2100,0.031397946178913116 +SV100-R0.5,naive,Train Loss,2150,0.03201790899038315 +SV100-R0.5,naive,Train Loss,2200,0.02771301381289959 +SV100-R0.5,naive,Train Loss,2250,0.030757760629057884 +SV100-R0.5,naive,Train Loss,2300,0.025204230099916458 +SV100-R0.5,naive,Train Loss,2350,0.03225518390536308 +SV100-R0.5,naive,Train Loss,2400,0.030853699892759323 +SV100-R0.5,naive,Train Loss,2450,0.029779063537716866 +SV100-R0.5,naive,Train Loss,2500,0.025875378400087357 +SV100-R0.5,naive,Train Loss,2550,0.03326614573597908 +SV100-R0.5,naive,Train Loss,2600,0.03016670048236847 +SV100-R0.5,naive,Train Loss,2650,0.026288945227861404 +SV100-R0.5,naive,Train Loss,2700,0.028468122705817223 +SV100-R0.5,naive,Train Loss,2750,0.02823793515563011 +SV100-R0.5,naive,Train Loss,2800,0.026133758947253227 +SV100-R0.5,naive,Train Loss,2850,0.025801651179790497 +SV100-R0.5,naive,Train Loss,2900,0.023612041026353836 +SV100-R0.5,naive,Train Loss,2950,0.02647864818572998 +SV100-R0.5,naive,Train Loss,3000,0.027647828683257103 +SV100-R0.5,naive,Train Loss,3050,0.023024678230285645 +SV100-R0.5,naive,Train Loss,3100,0.024456767365336418 +SV100-R0.5,naive,Train Loss,3150,0.02499590441584587 +SV100-R0.5,naive,Train Loss,3200,0.02429582178592682 +SV100-R0.5,naive,Train Loss,3250,0.022208373993635178 +SV100-R0.5,naive,Train Loss,3300,0.023813579231500626 +SV100-R0.5,naive,Train Loss,3350,0.027577631175518036 +SV100-R0.5,naive,Train Loss,3400,0.02334989234805107 +SV100-R0.5,naive,Train Loss,3450,0.02444016933441162 +SV100-R0.5,naive,Train Loss,3500,0.021764351055026054 +SV100-R0.5,naive,Train Loss,3550,0.0200594924390316 +SV100-R0.5,naive,Train Loss,3600,0.022899001836776733 +SV100-R0.5,naive,Train Loss,3650,0.02280616946518421 +SV100-R0.5,naive,Train Loss,3700,0.021208859980106354 +SV100-R0.5,naive,Train Loss,3750,0.017827067524194717 +SV100-R0.5,naive,Train Loss,3800,0.023434340953826904 +SV100-R0.5,naive,Train Loss,3850,0.020223233848810196 +SV100-R0.5,naive,Train Loss,3900,0.02387375943362713 +SV100-R0.5,naive,Train Loss,3950,0.022413495928049088 +SV100-R0.5,naive,Train Loss,4000,0.02445182204246521 +SV100-R0.5,naive,Train Loss,4050,0.01957590878009796 +SV100-R0.5,naive,Train Loss,4100,0.01973285898566246 +SV100-R0.5,naive,Train Loss,4150,0.018971312791109085 +SV100-R0.5,naive,Train Loss,4200,0.01767931878566742 +SV100-R0.5,naive,Train Loss,4250,0.021529002115130424 +SV100-R0.5,naive,Train Loss,4300,0.017779868096113205 +SV100-R0.5,naive,Train Loss,4350,0.019107971340417862 +SV100-R0.5,naive,Train Loss,4400,0.01952999085187912 +SV100-R0.5,naive,Train Loss,4450,0.01886053755879402 +SV100-R0.5,naive,Train Loss,4500,0.01844853162765503 +SV100-R0.5,naive,Train Loss,4550,0.021394696086645126 +SV100-R0.5,naive,Train Loss,4600,0.020813295617699623 +SV100-R0.5,naive,Train Loss,4650,0.020751124247908592 +SV100-R0.5,naive,Train Loss,4700,0.02148647978901863 +SV100-R0.5,naive,Train Loss,4750,0.01721000298857689 +SV100-R0.5,naive,Train Loss,4800,0.020796295255422592 +SV100-R0.5,naive,Train Loss,4850,0.016064826399087906 +SV100-R0.5,naive,Train Loss,4900,0.019288627430796623 +SV100-R0.5,naive,Train Loss,4950,0.021304987370967865 +SV100-R0.5,naive,Train Loss,5000,0.017029713839292526 +SV100-R0.5,naive,Train Loss,5500,0.01642613857984543 +SV100-R0.5,naive,Train Loss,6000,0.014431996271014214 +SV100-R0.5,naive,Train Loss,6500,0.01918661780655384 +SV100-R0.5,naive,Train Loss,7000,0.015903471037745476 +SV100-R0.5,naive,Train Loss,7500,0.01492501050233841 +SV100-R0.5,naive,Train Loss,8000,0.0129669439047575 +SV100-R0.5,naive,Train Loss,8500,0.013873690739274025 +SV100-R0.5,naive,Train Loss,9000,0.013120860792696476 +SV100-R0.5,naive,Train Loss,9500,0.011855397373437881 +SV100-R0.5,naive,Train Loss,10000,0.011771950870752335 +SV100-R0.5,naive,Train Loss,10500,0.011688530445098877 +SV100-R0.5,naive,Train Loss,11000,0.011313362047076225 +SV100-R0.5,naive,Train Loss,11500,0.010929804295301437 +SV100-R0.5,naive,Train Loss,12000,0.010762919671833515 +SV100-R0.5,naive,Train Loss,12500,0.013281772844493389 +SV100-R0.5,naive,Train Loss,13000,0.00989740900695324 +SV100-R0.5,naive,Train Loss,13500,0.0106325913220644 +SV100-R0.5,naive,Train Loss,14000,0.01102676521986723 +SV100-R0.5,naive,Train Loss,14500,0.008595584891736507 +SV100-R0.5,naive,Train Loss,15000,0.008626018650829792 +SV100-R0.5,naive,Train Loss,15500,0.011037416756153107 +SV100-R0.5,naive,Train Loss,16000,0.0100927222520113 +SV100-R0.5,naive,Train Loss,16500,0.007940101437270641 +SV100-R0.5,naive,Train Loss,17000,0.006794665940105915 +SV100-R0.5,naive,Train Loss,17500,0.008305409923195839 +SV100-R0.5,naive,Train Loss,18000,0.008968100883066654 +SV100-R0.5,naive,Train Loss,18500,0.008569391444325447 +SV100-R0.5,naive,Train Loss,19000,0.007388328202068806 +SV100-R0.5,naive,Train Loss,19500,0.009650357998907566 +SV100-R0.5,naive,Train Loss,20000,0.008139558136463165 +SV100-R0.5,naive,Train Loss,20500,0.008125370368361473 +SV100-R0.5,naive,Train Loss,21000,0.007798362988978624 +SV100-R0.5,naive,Train Loss,21500,0.006377466954290867 +SV100-R0.5,naive,Train Loss,22000,0.011294539086520672 +SV100-R0.5,naive,Train Loss,22500,0.0068478030152618885 +SV100-R0.5,naive,Train Loss,23000,0.007870037108659744 +SV100-R0.5,naive,Train Loss,23500,0.008150567300617695 +SV100-R0.5,naive,Train Loss,24000,0.005587580148130655 +SV100-R0.5,naive,Train Loss,24500,0.008149012923240662 +SV100-R0.5,naive,Train Loss,25000,0.008135628886520863 +SV100-R0.5,naive,Train Loss,25500,0.006491381675004959 +SV100-R0.5,naive,Train Loss,26000,0.0067673129960894585 +SV100-R0.5,naive,Train Loss,26500,0.006152304820716381 +SV100-R0.5,naive,Train Loss,27000,0.006445780396461487 +SV100-R0.5,naive,Train Loss,27500,0.00588721688836813 +SV100-R0.5,naive,Train Loss,28000,0.005651629995554686 +SV100-R0.5,naive,Train Loss,28500,0.006837931927293539 +SV100-R0.5,naive,Train Loss,29000,0.008084483444690704 +SV100-R0.5,naive,Train Loss,29500,0.007447719108313322 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,500,15.044610977172852 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,1000,17.7683048248291 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,1500,18.67106056213379 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,2000,18.833585739135742 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,2500,19.614879608154297 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,3000,19.464109420776367 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,3500,18.81833267211914 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,4000,21.345170974731445 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,4500,20.42827796936035 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,5000,19.781435012817383 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,5500,21.6390323638916 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,6000,20.109743118286133 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,6500,21.57534408569336 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,7000,21.424428939819336 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,7500,23.385892868041992 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,8000,22.723739624023438 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,8500,21.244808197021484 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,9000,21.232820510864258 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,9500,20.028528213500977 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,10000,19.95352554321289 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,10500,22.027910232543945 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,11000,20.29019546508789 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,11500,21.849361419677734 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,12000,19.441747665405273 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,12500,20.22346305847168 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,13000,20.12886619567871 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,13500,19.982778549194336 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,14000,20.24353790283203 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,14500,20.34640121459961 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,15000,21.012969970703125 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,15500,20.951095581054688 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,16000,19.036666870117188 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,16500,21.206064224243164 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,17000,23.025087356567383 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,17500,23.448976516723633 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,18000,23.338886260986328 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,18500,21.051111221313477 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,19000,23.191967010498047 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,19500,19.955772399902344 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,20000,20.78289794921875 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,20500,22.484464645385742 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,21000,23.03607940673828 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,21500,22.134105682373047 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,22000,19.109378814697266 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,22500,20.18169403076172 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,23000,19.8851261138916 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,23500,19.828636169433594 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,24000,19.785215377807617 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,24500,20.766448974609375 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,25000,19.773000717163086 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,25500,20.722097396850586 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,26000,18.30108070373535 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,26500,19.61197853088379 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,27000,21.17158317565918 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,27500,20.094091415405273 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,28000,20.43736457824707 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,28500,19.68152618408203 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,29000,21.541954040527344 +SV100-R0.5,naive,Eval Images Metrics/fine_psnr,29500,19.7276554107666 +SV100-R0.5,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,20.883869171142578 +SV100-R0.5,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7895650267601013 +SV100-R0.5,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.14310580492019653 +SV100-R0.5,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-R0.5,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-R0.5,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-R0.5,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-R0.5,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-R0.5,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-R0.5,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-R0.5,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-R0.5,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-R0.5,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-R0.5,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-R0.5,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-R0.5,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-R0.5,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-R0.5,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-R0.5,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-R0.5,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-R0.5,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-R0.5,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-R0.5,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-R0.5,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-R0.5,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-R0.5,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-R0.5,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-R0.5,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-R0.5,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-R0.5,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-R0.5,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-R0.5,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-R0.5,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-R0.5,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-R0.5,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-R0.5,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-R0.5,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-R0.5,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-R0.5,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-R0.5,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-R0.5,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-R0.5,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-R0.5,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-R0.5,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-R0.5,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-R0.5,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-R0.5,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-R0.5,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-R0.5,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-R0.5,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-R0.5,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-R0.5,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-R0.5,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-R0.5,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-R0.5,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-R0.5,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-R0.5,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-R0.5,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-R0.5,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-R0.5,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-R0.5,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-R0.5,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-R0.5,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-R0.5,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-R0.5,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-R0.5,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-R0.5,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-R0.5,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-R0.5,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-R0.5,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-R0.5,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-R0.5,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-R0.5,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-R0.5,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-R0.5,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-R0.5,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-R0.5,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-R0.5,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-R0.5,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-R0.5,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-R0.5,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-R0.5,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-R0.5,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-R0.5,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-R0.5,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-R0.5,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-R0.5,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-R0.5,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-R0.5,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-R0.5,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-R0.5,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-R0.5,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-R0.5,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-R0.5,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-R0.5,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-R0.5,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-R0.5,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-R0.5,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-R0.5,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-R0.5,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-R0.5,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-R0.5,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-R0.5,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-R0.5,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-R0.5,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-R0.5,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-R0.5,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-R0.5,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-R0.5,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-R0.5,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-R0.5,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-R0.5,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-R0.5,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-R0.5,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-R0.5,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-R0.5,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-R0.5,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-R0.5,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-R0.5,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-R0.5,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-R0.5,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-R0.5,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-R0.5,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-R0.5,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-R0.5,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-R0.5,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-R0.5,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-R0.5,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-R0.5,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-R0.5,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-R0.5,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-R0.5,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-R0.5,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-R0.5,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-R0.5,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-R0.5,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-R0.5,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-R0.5,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-R0.5,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-R0.5,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-R0.5,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-R0.5,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-R0.5,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-R0.5,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-R0.5,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-R0.5,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-R0.5,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-R0.5,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-R0.5,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-R0.5,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-R0.5,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-R0.5,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-R0.5,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-R0.5,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R0.5,camp,Train Loss,0,0.3421495854854584 +SV100-R0.5,camp,Train Loss,50,0.31847071647644043 +SV100-R0.5,camp,Train Loss,100,0.18481959402561188 +SV100-R0.5,camp,Train Loss,150,0.1767377108335495 +SV100-R0.5,camp,Train Loss,200,0.16453152894973755 +SV100-R0.5,camp,Train Loss,250,0.1529327630996704 +SV100-R0.5,camp,Train Loss,300,0.14629268646240234 +SV100-R0.5,camp,Train Loss,350,0.09967218339443207 +SV100-R0.5,camp,Train Loss,400,0.08471553772687912 +SV100-R0.5,camp,Train Loss,450,0.07385890185832977 +SV100-R0.5,camp,Train Loss,500,0.07457469403743744 +SV100-R0.5,camp,Train Loss,550,0.0676979348063469 +SV100-R0.5,camp,Train Loss,600,0.0738445371389389 +SV100-R0.5,camp,Train Loss,650,0.07559540122747421 +SV100-R0.5,camp,Train Loss,700,0.0667327493429184 +SV100-R0.5,camp,Train Loss,750,0.06344635039567947 +SV100-R0.5,camp,Train Loss,800,0.06914899498224258 +SV100-R0.5,camp,Train Loss,850,0.06448426842689514 +SV100-R0.5,camp,Train Loss,900,0.056105248630046844 +SV100-R0.5,camp,Train Loss,950,0.06431563943624496 +SV100-R0.5,camp,Train Loss,1000,0.05850335955619812 +SV100-R0.5,camp,Train Loss,1050,0.05201806128025055 +SV100-R0.5,camp,Train Loss,1100,0.04945256561040878 +SV100-R0.5,camp,Train Loss,1150,0.05968449264764786 +SV100-R0.5,camp,Train Loss,1200,0.057200148701667786 +SV100-R0.5,camp,Train Loss,1250,0.05613711476325989 +SV100-R0.5,camp,Train Loss,1300,0.05249790847301483 +SV100-R0.5,camp,Train Loss,1350,0.05425693839788437 +SV100-R0.5,camp,Train Loss,1400,0.04841272160410881 +SV100-R0.5,camp,Train Loss,1450,0.039440348744392395 +SV100-R0.5,camp,Train Loss,1500,0.05270132049918175 +SV100-R0.5,camp,Train Loss,1550,0.05588304251432419 +SV100-R0.5,camp,Train Loss,1600,0.05182662606239319 +SV100-R0.5,camp,Train Loss,1650,0.047942981123924255 +SV100-R0.5,camp,Train Loss,1700,0.04549660533666611 +SV100-R0.5,camp,Train Loss,1750,0.05252477526664734 +SV100-R0.5,camp,Train Loss,1800,0.05185574293136597 +SV100-R0.5,camp,Train Loss,1850,0.03212329000234604 +SV100-R0.5,camp,Train Loss,1900,0.04839294031262398 +SV100-R0.5,camp,Train Loss,1950,0.04455164819955826 +SV100-R0.5,camp,Train Loss,2000,0.042562276124954224 +SV100-R0.5,camp,Train Loss,2050,0.03735547512769699 +SV100-R0.5,camp,Train Loss,2100,0.04376666620373726 +SV100-R0.5,camp,Train Loss,2150,0.04503454640507698 +SV100-R0.5,camp,Train Loss,2200,0.04061303287744522 +SV100-R0.5,camp,Train Loss,2250,0.037501148879528046 +SV100-R0.5,camp,Train Loss,2300,0.03869931027293205 +SV100-R0.5,camp,Train Loss,2350,0.04197320714592934 +SV100-R0.5,camp,Train Loss,2400,0.0352429524064064 +SV100-R0.5,camp,Train Loss,2450,0.0398038811981678 +SV100-R0.5,camp,Train Loss,2500,0.030831385403871536 +SV100-R0.5,camp,Train Loss,2550,0.04452516883611679 +SV100-R0.5,camp,Train Loss,2600,0.041163939982652664 +SV100-R0.5,camp,Train Loss,2650,0.037522219121456146 +SV100-R0.5,camp,Train Loss,2700,0.03865828365087509 +SV100-R0.5,camp,Train Loss,2750,0.041309524327516556 +SV100-R0.5,camp,Train Loss,2800,0.041090868413448334 +SV100-R0.5,camp,Train Loss,2850,0.03589722886681557 +SV100-R0.5,camp,Train Loss,2900,0.03138591721653938 +SV100-R0.5,camp,Train Loss,2950,0.03455667942762375 +SV100-R0.5,camp,Train Loss,3000,0.034643061459064484 +SV100-R0.5,camp,Train Loss,3050,0.030559955164790154 +SV100-R0.5,camp,Train Loss,3100,0.03318379074335098 +SV100-R0.5,camp,Train Loss,3150,0.03110947087407112 +SV100-R0.5,camp,Train Loss,3200,0.02998783439397812 +SV100-R0.5,camp,Train Loss,3250,0.028976738452911377 +SV100-R0.5,camp,Train Loss,3300,0.03103422373533249 +SV100-R0.5,camp,Train Loss,3350,0.03134816139936447 +SV100-R0.5,camp,Train Loss,3400,0.03384356200695038 +SV100-R0.5,camp,Train Loss,3450,0.03132082521915436 +SV100-R0.5,camp,Train Loss,3500,0.02831975929439068 +SV100-R0.5,camp,Train Loss,3550,0.02841103821992874 +SV100-R0.5,camp,Train Loss,3600,0.0313439704477787 +SV100-R0.5,camp,Train Loss,3650,0.030026523396372795 +SV100-R0.5,camp,Train Loss,3700,0.026368509978055954 +SV100-R0.5,camp,Train Loss,3750,0.024473130702972412 +SV100-R0.5,camp,Train Loss,3800,0.029145749285817146 +SV100-R0.5,camp,Train Loss,3850,0.028436528518795967 +SV100-R0.5,camp,Train Loss,3900,0.030848409980535507 +SV100-R0.5,camp,Train Loss,3950,0.023062311112880707 +SV100-R0.5,camp,Train Loss,4000,0.03388919308781624 +SV100-R0.5,camp,Train Loss,4050,0.024600055068731308 +SV100-R0.5,camp,Train Loss,4100,0.022638000547885895 +SV100-R0.5,camp,Train Loss,4150,0.028306767344474792 +SV100-R0.5,camp,Train Loss,4200,0.023958852514624596 +SV100-R0.5,camp,Train Loss,4250,0.03049902804195881 +SV100-R0.5,camp,Train Loss,4300,0.025961386039853096 +SV100-R0.5,camp,Train Loss,4350,0.02313460223376751 +SV100-R0.5,camp,Train Loss,4400,0.02128623239696026 +SV100-R0.5,camp,Train Loss,4450,0.025961019098758698 +SV100-R0.5,camp,Train Loss,4500,0.028404463082551956 +SV100-R0.5,camp,Train Loss,4550,0.02268083766102791 +SV100-R0.5,camp,Train Loss,4600,0.02344506047666073 +SV100-R0.5,camp,Train Loss,4650,0.022031214088201523 +SV100-R0.5,camp,Train Loss,4700,0.026313195005059242 +SV100-R0.5,camp,Train Loss,4750,0.021234091371297836 +SV100-R0.5,camp,Train Loss,4800,0.023029806092381477 +SV100-R0.5,camp,Train Loss,4850,0.017458096146583557 +SV100-R0.5,camp,Train Loss,4900,0.02559317834675312 +SV100-R0.5,camp,Train Loss,4950,0.02530810981988907 +SV100-R0.5,camp,Train Loss,5000,0.024813586845993996 +SV100-R0.5,camp,Train Loss,5500,0.022525852546095848 +SV100-R0.5,camp,Train Loss,6000,0.018795138224959373 +SV100-R0.5,camp,Train Loss,6500,0.01927000842988491 +SV100-R0.5,camp,Train Loss,7000,0.020111404359340668 +SV100-R0.5,camp,Train Loss,7500,0.018766488879919052 +SV100-R0.5,camp,Train Loss,8000,0.013782769441604614 +SV100-R0.5,camp,Train Loss,8500,0.015301024541258812 +SV100-R0.5,camp,Train Loss,9000,0.015976926311850548 +SV100-R0.5,camp,Train Loss,9500,0.014413736760616302 +SV100-R0.5,camp,Train Loss,10000,0.016112618148326874 +SV100-R0.5,camp,Train Loss,10500,0.013136973604559898 +SV100-R0.5,camp,Train Loss,11000,0.011096148751676083 +SV100-R0.5,camp,Train Loss,11500,0.011133863590657711 +SV100-R0.5,camp,Train Loss,12000,0.011529671959578991 +SV100-R0.5,camp,Train Loss,12500,0.01448957622051239 +SV100-R0.5,camp,Train Loss,13000,0.01287514716386795 +SV100-R0.5,camp,Train Loss,13500,0.010900390334427357 +SV100-R0.5,camp,Train Loss,14000,0.011625456623733044 +SV100-R0.5,camp,Train Loss,14500,0.010198784992098808 +SV100-R0.5,camp,Train Loss,15000,0.00885726697742939 +SV100-R0.5,camp,Train Loss,15500,0.01131748128682375 +SV100-R0.5,camp,Train Loss,16000,0.011644791811704636 +SV100-R0.5,camp,Train Loss,16500,0.008143638260662556 +SV100-R0.5,camp,Train Loss,17000,0.007659492082893848 +SV100-R0.5,camp,Train Loss,17500,0.008761102333664894 +SV100-R0.5,camp,Train Loss,18000,0.008682001382112503 +SV100-R0.5,camp,Train Loss,18500,0.009358646348118782 +SV100-R0.5,camp,Train Loss,19000,0.007511613890528679 +SV100-R0.5,camp,Train Loss,19500,0.010502115823328495 +SV100-R0.5,camp,Train Loss,20000,0.008249863982200623 +SV100-R0.5,camp,Train Loss,20500,0.008752590976655483 +SV100-R0.5,camp,Train Loss,21000,0.008172770962119102 +SV100-R0.5,camp,Train Loss,21500,0.00760410912334919 +SV100-R0.5,camp,Train Loss,22000,0.0087976586073637 +SV100-R0.5,camp,Train Loss,22500,0.0073536839336156845 +SV100-R0.5,camp,Train Loss,23000,0.0083715058863163 +SV100-R0.5,camp,Train Loss,23500,0.007508246228098869 +SV100-R0.5,camp,Train Loss,24000,0.006122747901827097 +SV100-R0.5,camp,Train Loss,24500,0.007938270457088947 +SV100-R0.5,camp,Train Loss,25000,0.0071752360090613365 +SV100-R0.5,camp,Train Loss,25500,0.00745926471427083 +SV100-R0.5,camp,Train Loss,26000,0.007194338366389275 +SV100-R0.5,camp,Train Loss,26500,0.006150831468403339 +SV100-R0.5,camp,Train Loss,27000,0.007142993621528149 +SV100-R0.5,camp,Train Loss,27500,0.006077417638152838 +SV100-R0.5,camp,Train Loss,28000,0.006942868232727051 +SV100-R0.5,camp,Train Loss,28500,0.0062303487211465836 +SV100-R0.5,camp,Train Loss,29000,0.009510391391813755 +SV100-R0.5,camp,Train Loss,29500,0.007531801238656044 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,500,15.142541885375977 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,1000,17.54619026184082 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,1500,17.963762283325195 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,2000,17.503990173339844 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,2500,18.317773818969727 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,3000,18.277280807495117 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,3500,17.741165161132812 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,4000,18.964262008666992 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,4500,18.67061996459961 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,5000,17.82707405090332 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,5500,18.525178909301758 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,6000,18.624343872070312 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,6500,19.112459182739258 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,7000,18.815031051635742 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,7500,20.849637985229492 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,8000,19.221235275268555 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,8500,18.274320602416992 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,9000,18.728618621826172 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,9500,17.80066680908203 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,10000,17.940492630004883 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,10500,19.03853416442871 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,11000,17.821706771850586 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,11500,18.81669807434082 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,12000,16.866729736328125 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,12500,17.821048736572266 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,13000,17.847949981689453 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,13500,17.715105056762695 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,14000,17.6120548248291 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,14500,17.922359466552734 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,15000,19.850732803344727 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,15500,18.335914611816406 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,16000,16.918941497802734 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,16500,18.68438148498535 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,17000,21.98184585571289 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,17500,19.617570877075195 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,18000,20.816781997680664 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,18500,18.44750213623047 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,19000,19.541149139404297 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,19500,17.587589263916016 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,20000,18.051877975463867 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,20500,19.216005325317383 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,21000,21.642623901367188 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,21500,18.59228515625 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,22000,16.90303611755371 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,22500,17.390138626098633 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,23000,17.117475509643555 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,23500,17.237979888916016 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,24000,17.6605167388916 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,24500,18.152666091918945 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,25000,19.252803802490234 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,25500,18.166824340820312 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,26000,16.287076950073242 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,26500,17.234006881713867 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,27000,18.406198501586914 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,27500,17.302955627441406 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,28000,20.21874237060547 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,28500,18.562936782836914 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,29000,21.835641860961914 +SV100-R0.5,camp,Eval Images Metrics/fine_psnr,29500,17.26285743713379 +SV100-R0.5,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,18.628984451293945 +SV100-R0.5,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7653336524963379 +SV100-R0.5,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.15461288392543793 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-R0.5,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R0.5,naive_warmup,Train Loss,0,0.3421495854854584 +SV100-R0.5,naive_warmup,Train Loss,50,0.31846851110458374 +SV100-R0.5,naive_warmup,Train Loss,100,0.1848783791065216 +SV100-R0.5,naive_warmup,Train Loss,150,0.17685160040855408 +SV100-R0.5,naive_warmup,Train Loss,200,0.16393624246120453 +SV100-R0.5,naive_warmup,Train Loss,250,0.15258364379405975 +SV100-R0.5,naive_warmup,Train Loss,300,0.14235922694206238 +SV100-R0.5,naive_warmup,Train Loss,350,0.08391131460666656 +SV100-R0.5,naive_warmup,Train Loss,400,0.06369214504957199 +SV100-R0.5,naive_warmup,Train Loss,450,0.05465569347143173 +SV100-R0.5,naive_warmup,Train Loss,500,0.05630714073777199 +SV100-R0.5,naive_warmup,Train Loss,550,0.051370490342378616 +SV100-R0.5,naive_warmup,Train Loss,600,0.0480753555893898 +SV100-R0.5,naive_warmup,Train Loss,650,0.05036090686917305 +SV100-R0.5,naive_warmup,Train Loss,700,0.046436045318841934 +SV100-R0.5,naive_warmup,Train Loss,750,0.04723919928073883 +SV100-R0.5,naive_warmup,Train Loss,800,0.04721112549304962 +SV100-R0.5,naive_warmup,Train Loss,850,0.04175480455160141 +SV100-R0.5,naive_warmup,Train Loss,900,0.03447195887565613 +SV100-R0.5,naive_warmup,Train Loss,950,0.04270562157034874 +SV100-R0.5,naive_warmup,Train Loss,1000,0.038628898561000824 +SV100-R0.5,naive_warmup,Train Loss,1050,0.029247496277093887 +SV100-R0.5,naive_warmup,Train Loss,1100,0.0322374626994133 +SV100-R0.5,naive_warmup,Train Loss,1150,0.03939664363861084 +SV100-R0.5,naive_warmup,Train Loss,1200,0.033735692501068115 +SV100-R0.5,naive_warmup,Train Loss,1250,0.036328211426734924 +SV100-R0.5,naive_warmup,Train Loss,1300,0.033524349331855774 +SV100-R0.5,naive_warmup,Train Loss,1350,0.030349528416991234 +SV100-R0.5,naive_warmup,Train Loss,1400,0.031174182891845703 +SV100-R0.5,naive_warmup,Train Loss,1450,0.024460311979055405 +SV100-R0.5,naive_warmup,Train Loss,1500,0.03044070303440094 +SV100-R0.5,naive_warmup,Train Loss,1550,0.03444439172744751 +SV100-R0.5,naive_warmup,Train Loss,1600,0.03244985267519951 +SV100-R0.5,naive_warmup,Train Loss,1650,0.031683072447776794 +SV100-R0.5,naive_warmup,Train Loss,1700,0.0342160239815712 +SV100-R0.5,naive_warmup,Train Loss,1750,0.03512270376086235 +SV100-R0.5,naive_warmup,Train Loss,1800,0.029710661619901657 +SV100-R0.5,naive_warmup,Train Loss,1850,0.024456312879920006 +SV100-R0.5,naive_warmup,Train Loss,1900,0.027571402490139008 +SV100-R0.5,naive_warmup,Train Loss,1950,0.03091232106089592 +SV100-R0.5,naive_warmup,Train Loss,2000,0.029154200106859207 +SV100-R0.5,naive_warmup,Train Loss,2050,0.02739652991294861 +SV100-R0.5,naive_warmup,Train Loss,2100,0.02979925274848938 +SV100-R0.5,naive_warmup,Train Loss,2150,0.028301868587732315 +SV100-R0.5,naive_warmup,Train Loss,2200,0.0299307219684124 +SV100-R0.5,naive_warmup,Train Loss,2250,0.02992616966366768 +SV100-R0.5,naive_warmup,Train Loss,2300,0.02710818499326706 +SV100-R0.5,naive_warmup,Train Loss,2350,0.028505321592092514 +SV100-R0.5,naive_warmup,Train Loss,2400,0.027478910982608795 +SV100-R0.5,naive_warmup,Train Loss,2450,0.03218401223421097 +SV100-R0.5,naive_warmup,Train Loss,2500,0.025989072397351265 +SV100-R0.5,naive_warmup,Train Loss,2550,0.032950181514024734 +SV100-R0.5,naive_warmup,Train Loss,2600,0.03114178031682968 +SV100-R0.5,naive_warmup,Train Loss,2650,0.03111102059483528 +SV100-R0.5,naive_warmup,Train Loss,2700,0.0365421436727047 +SV100-R0.5,naive_warmup,Train Loss,2750,0.028337642550468445 +SV100-R0.5,naive_warmup,Train Loss,2800,0.025530431419610977 +SV100-R0.5,naive_warmup,Train Loss,2850,0.02452985569834709 +SV100-R0.5,naive_warmup,Train Loss,2900,0.023853735998272896 +SV100-R0.5,naive_warmup,Train Loss,2950,0.027962323278188705 +SV100-R0.5,naive_warmup,Train Loss,3000,0.02868892438709736 +SV100-R0.5,naive_warmup,Train Loss,3050,0.023859357461333275 +SV100-R0.5,naive_warmup,Train Loss,3100,0.02444848045706749 +SV100-R0.5,naive_warmup,Train Loss,3150,0.026400186121463776 +SV100-R0.5,naive_warmup,Train Loss,3200,0.02469746395945549 +SV100-R0.5,naive_warmup,Train Loss,3250,0.026949940249323845 +SV100-R0.5,naive_warmup,Train Loss,3300,0.023545941337943077 +SV100-R0.5,naive_warmup,Train Loss,3350,0.026274356991052628 +SV100-R0.5,naive_warmup,Train Loss,3400,0.023010507225990295 +SV100-R0.5,naive_warmup,Train Loss,3450,0.025868255645036697 +SV100-R0.5,naive_warmup,Train Loss,3500,0.025139126926660538 +SV100-R0.5,naive_warmup,Train Loss,3550,0.022327013313770294 +SV100-R0.5,naive_warmup,Train Loss,3600,0.023411549627780914 +SV100-R0.5,naive_warmup,Train Loss,3650,0.023022135719656944 +SV100-R0.5,naive_warmup,Train Loss,3700,0.024805985391139984 +SV100-R0.5,naive_warmup,Train Loss,3750,0.0197993703186512 +SV100-R0.5,naive_warmup,Train Loss,3800,0.022137286141514778 +SV100-R0.5,naive_warmup,Train Loss,3850,0.022126473486423492 +SV100-R0.5,naive_warmup,Train Loss,3900,0.025238800793886185 +SV100-R0.5,naive_warmup,Train Loss,3950,0.02271319553256035 +SV100-R0.5,naive_warmup,Train Loss,4000,0.026637587696313858 +SV100-R0.5,naive_warmup,Train Loss,4050,0.018163129687309265 +SV100-R0.5,naive_warmup,Train Loss,4100,0.019892243668437004 +SV100-R0.5,naive_warmup,Train Loss,4150,0.020856492221355438 +SV100-R0.5,naive_warmup,Train Loss,4200,0.017295189201831818 +SV100-R0.5,naive_warmup,Train Loss,4250,0.02635490894317627 +SV100-R0.5,naive_warmup,Train Loss,4300,0.018112879246473312 +SV100-R0.5,naive_warmup,Train Loss,4350,0.022293884307146072 +SV100-R0.5,naive_warmup,Train Loss,4400,0.017576925456523895 +SV100-R0.5,naive_warmup,Train Loss,4450,0.019975662231445312 +SV100-R0.5,naive_warmup,Train Loss,4500,0.019463226199150085 +SV100-R0.5,naive_warmup,Train Loss,4550,0.01810896024107933 +SV100-R0.5,naive_warmup,Train Loss,4600,0.021368514746427536 +SV100-R0.5,naive_warmup,Train Loss,4650,0.01864626444876194 +SV100-R0.5,naive_warmup,Train Loss,4700,0.02184814028441906 +SV100-R0.5,naive_warmup,Train Loss,4750,0.01766338013112545 +SV100-R0.5,naive_warmup,Train Loss,4800,0.01900552213191986 +SV100-R0.5,naive_warmup,Train Loss,4850,0.019049394875764847 +SV100-R0.5,naive_warmup,Train Loss,4900,0.021516986191272736 +SV100-R0.5,naive_warmup,Train Loss,4950,0.022183945402503014 +SV100-R0.5,naive_warmup,Train Loss,5000,0.01603303663432598 +SV100-R0.5,naive_warmup,Train Loss,5500,0.018096841871738434 +SV100-R0.5,naive_warmup,Train Loss,6000,0.01496535912156105 +SV100-R0.5,naive_warmup,Train Loss,6500,0.019686028361320496 +SV100-R0.5,naive_warmup,Train Loss,7000,0.018167804926633835 +SV100-R0.5,naive_warmup,Train Loss,7500,0.017296824604272842 +SV100-R0.5,naive_warmup,Train Loss,8000,0.013774361461400986 +SV100-R0.5,naive_warmup,Train Loss,8500,0.015591153874993324 +SV100-R0.5,naive_warmup,Train Loss,9000,0.013640081509947777 +SV100-R0.5,naive_warmup,Train Loss,9500,0.013901587575674057 +SV100-R0.5,naive_warmup,Train Loss,10000,0.015175503678619862 +SV100-R0.5,naive_warmup,Train Loss,10500,0.012786542065441608 +SV100-R0.5,naive_warmup,Train Loss,11000,0.010908733122050762 +SV100-R0.5,naive_warmup,Train Loss,11500,0.010375733487308025 +SV100-R0.5,naive_warmup,Train Loss,12000,0.010058557614684105 +SV100-R0.5,naive_warmup,Train Loss,12500,0.014760833233594894 +SV100-R0.5,naive_warmup,Train Loss,13000,0.012533973902463913 +SV100-R0.5,naive_warmup,Train Loss,13500,0.010436484590172768 +SV100-R0.5,naive_warmup,Train Loss,14000,0.011949267238378525 +SV100-R0.5,naive_warmup,Train Loss,14500,0.010070323012769222 +SV100-R0.5,naive_warmup,Train Loss,15000,0.008967552334070206 +SV100-R0.5,naive_warmup,Train Loss,15500,0.010271321050822735 +SV100-R0.5,naive_warmup,Train Loss,16000,0.011765546165406704 +SV100-R0.5,naive_warmup,Train Loss,16500,0.008377380669116974 +SV100-R0.5,naive_warmup,Train Loss,17000,0.007054703310132027 +SV100-R0.5,naive_warmup,Train Loss,17500,0.007716938853263855 +SV100-R0.5,naive_warmup,Train Loss,18000,0.009204065427184105 +SV100-R0.5,naive_warmup,Train Loss,18500,0.008164748549461365 +SV100-R0.5,naive_warmup,Train Loss,19000,0.007555259391665459 +SV100-R0.5,naive_warmup,Train Loss,19500,0.009863000363111496 +SV100-R0.5,naive_warmup,Train Loss,20000,0.008478915318846703 +SV100-R0.5,naive_warmup,Train Loss,20500,0.008194114081561565 +SV100-R0.5,naive_warmup,Train Loss,21000,0.007565815933048725 +SV100-R0.5,naive_warmup,Train Loss,21500,0.0070262569934129715 +SV100-R0.5,naive_warmup,Train Loss,22000,0.010286686941981316 +SV100-R0.5,naive_warmup,Train Loss,22500,0.007325037382543087 +SV100-R0.5,naive_warmup,Train Loss,23000,0.007591321133077145 +SV100-R0.5,naive_warmup,Train Loss,23500,0.007871877402067184 +SV100-R0.5,naive_warmup,Train Loss,24000,0.006042747292667627 +SV100-R0.5,naive_warmup,Train Loss,24500,0.00737032201141119 +SV100-R0.5,naive_warmup,Train Loss,25000,0.006946638226509094 +SV100-R0.5,naive_warmup,Train Loss,25500,0.0070036896504461765 +SV100-R0.5,naive_warmup,Train Loss,26000,0.006935419514775276 +SV100-R0.5,naive_warmup,Train Loss,26500,0.0066366055980324745 +SV100-R0.5,naive_warmup,Train Loss,27000,0.007015763316303492 +SV100-R0.5,naive_warmup,Train Loss,27500,0.006431438960134983 +SV100-R0.5,naive_warmup,Train Loss,28000,0.00558349397033453 +SV100-R0.5,naive_warmup,Train Loss,28500,0.006543985102325678 +SV100-R0.5,naive_warmup,Train Loss,29000,0.009096472524106503 +SV100-R0.5,naive_warmup,Train Loss,29500,0.006399583537131548 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,500,16.048660278320312 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,1000,19.209453582763672 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,1500,19.043712615966797 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,2000,19.45796775817871 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,2500,19.593294143676758 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,3000,19.94193458557129 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,3500,19.370927810668945 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,4000,21.605377197265625 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,4500,21.090465545654297 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,5000,20.83400535583496 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,5500,21.732160568237305 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,6000,21.458606719970703 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,6500,22.27724266052246 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,7000,22.256322860717773 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,7500,24.0980167388916 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,8000,24.155908584594727 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,8500,22.351791381835938 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,9000,21.73921775817871 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,9500,22.210853576660156 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,10000,22.215787887573242 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,10500,24.158641815185547 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,11000,22.360904693603516 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,11500,24.080747604370117 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,12000,21.631839752197266 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,12500,22.651992797851562 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,13000,22.414615631103516 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,13500,22.40328598022461 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,14000,22.677988052368164 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,14500,22.89874839782715 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,15000,22.551616668701172 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,15500,23.07478904724121 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,16000,21.76535415649414 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,16500,23.655017852783203 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,17000,23.353858947753906 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,17500,24.53761100769043 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,18000,23.98659324645996 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,18500,23.205204010009766 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,19000,26.04596519470215 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,19500,22.838891983032227 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,20000,23.087181091308594 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,20500,25.100608825683594 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,21000,23.359771728515625 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,21500,23.84685707092285 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,22000,22.333229064941406 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,22500,22.639318466186523 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,23000,22.694520950317383 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,23500,22.724641799926758 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,24000,23.015716552734375 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,24500,22.70905113220215 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,25000,21.599882125854492 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,25500,23.36220932006836 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,26000,21.597972869873047 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,26500,21.89826774597168 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,27000,23.0965518951416 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,27500,22.405752182006836 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,28000,21.998676300048828 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,28500,21.94847869873047 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,29000,21.922880172729492 +SV100-R0.5,naive_warmup,Eval Images Metrics/fine_psnr,29500,22.467954635620117 +SV100-R0.5,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,23.285547256469727 +SV100-R0.5,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.8283773064613342 +SV100-R0.5,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.11839517951011658 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-R0.5,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R0.5,camp_warmup,Train Loss,0,0.3421495854854584 +SV100-R0.5,camp_warmup,Train Loss,50,0.31846916675567627 +SV100-R0.5,camp_warmup,Train Loss,100,0.18490302562713623 +SV100-R0.5,camp_warmup,Train Loss,150,0.17677776515483856 +SV100-R0.5,camp_warmup,Train Loss,200,0.1639614999294281 +SV100-R0.5,camp_warmup,Train Loss,250,0.15266239643096924 +SV100-R0.5,camp_warmup,Train Loss,300,0.1420721560716629 +SV100-R0.5,camp_warmup,Train Loss,350,0.08365744352340698 +SV100-R0.5,camp_warmup,Train Loss,400,0.05936852842569351 +SV100-R0.5,camp_warmup,Train Loss,450,0.05831301957368851 +SV100-R0.5,camp_warmup,Train Loss,500,0.05134851485490799 +SV100-R0.5,camp_warmup,Train Loss,550,0.04372788220643997 +SV100-R0.5,camp_warmup,Train Loss,600,0.046398334205150604 +SV100-R0.5,camp_warmup,Train Loss,650,0.0482344813644886 +SV100-R0.5,camp_warmup,Train Loss,700,0.041141923516988754 +SV100-R0.5,camp_warmup,Train Loss,750,0.0434529185295105 +SV100-R0.5,camp_warmup,Train Loss,800,0.0438089445233345 +SV100-R0.5,camp_warmup,Train Loss,850,0.03922396898269653 +SV100-R0.5,camp_warmup,Train Loss,900,0.03434794396162033 +SV100-R0.5,camp_warmup,Train Loss,950,0.041427627205848694 +SV100-R0.5,camp_warmup,Train Loss,1000,0.03333026170730591 +SV100-R0.5,camp_warmup,Train Loss,1050,0.035533592104911804 +SV100-R0.5,camp_warmup,Train Loss,1100,0.033075958490371704 +SV100-R0.5,camp_warmup,Train Loss,1150,0.04088936001062393 +SV100-R0.5,camp_warmup,Train Loss,1200,0.033665336668491364 +SV100-R0.5,camp_warmup,Train Loss,1250,0.03936516121029854 +SV100-R0.5,camp_warmup,Train Loss,1300,0.0380205437541008 +SV100-R0.5,camp_warmup,Train Loss,1350,0.03883284330368042 +SV100-R0.5,camp_warmup,Train Loss,1400,0.03261113166809082 +SV100-R0.5,camp_warmup,Train Loss,1450,0.02672620862722397 +SV100-R0.5,camp_warmup,Train Loss,1500,0.032890889793634415 +SV100-R0.5,camp_warmup,Train Loss,1550,0.03851976990699768 +SV100-R0.5,camp_warmup,Train Loss,1600,0.03074149787425995 +SV100-R0.5,camp_warmup,Train Loss,1650,0.03466881811618805 +SV100-R0.5,camp_warmup,Train Loss,1700,0.0341588631272316 +SV100-R0.5,camp_warmup,Train Loss,1750,0.03305839002132416 +SV100-R0.5,camp_warmup,Train Loss,1800,0.03893812745809555 +SV100-R0.5,camp_warmup,Train Loss,1850,0.026679199188947678 +SV100-R0.5,camp_warmup,Train Loss,1900,0.033149752765893936 +SV100-R0.5,camp_warmup,Train Loss,1950,0.03224370628595352 +SV100-R0.5,camp_warmup,Train Loss,2000,0.032337598502635956 +SV100-R0.5,camp_warmup,Train Loss,2050,0.02980506606400013 +SV100-R0.5,camp_warmup,Train Loss,2100,0.034012340009212494 +SV100-R0.5,camp_warmup,Train Loss,2150,0.031806956976652145 +SV100-R0.5,camp_warmup,Train Loss,2200,0.03156951814889908 +SV100-R0.5,camp_warmup,Train Loss,2250,0.031140072271227837 +SV100-R0.5,camp_warmup,Train Loss,2300,0.027184510603547096 +SV100-R0.5,camp_warmup,Train Loss,2350,0.03473345935344696 +SV100-R0.5,camp_warmup,Train Loss,2400,0.0312967412173748 +SV100-R0.5,camp_warmup,Train Loss,2450,0.03468882292509079 +SV100-R0.5,camp_warmup,Train Loss,2500,0.030383508652448654 +SV100-R0.5,camp_warmup,Train Loss,2550,0.03856141120195389 +SV100-R0.5,camp_warmup,Train Loss,2600,0.03516498953104019 +SV100-R0.5,camp_warmup,Train Loss,2650,0.03259549289941788 +SV100-R0.5,camp_warmup,Train Loss,2700,0.032820407301187515 +SV100-R0.5,camp_warmup,Train Loss,2750,0.03056669421494007 +SV100-R0.5,camp_warmup,Train Loss,2800,0.026699960231781006 +SV100-R0.5,camp_warmup,Train Loss,2850,0.029449086636304855 +SV100-R0.5,camp_warmup,Train Loss,2900,0.029467936605215073 +SV100-R0.5,camp_warmup,Train Loss,2950,0.0313662625849247 +SV100-R0.5,camp_warmup,Train Loss,3000,0.03028809279203415 +SV100-R0.5,camp_warmup,Train Loss,3050,0.02808764949440956 +SV100-R0.5,camp_warmup,Train Loss,3100,0.02949836291372776 +SV100-R0.5,camp_warmup,Train Loss,3150,0.03060818836092949 +SV100-R0.5,camp_warmup,Train Loss,3200,0.02849224954843521 +SV100-R0.5,camp_warmup,Train Loss,3250,0.030083967372775078 +SV100-R0.5,camp_warmup,Train Loss,3300,0.027059029787778854 +SV100-R0.5,camp_warmup,Train Loss,3350,0.03297080472111702 +SV100-R0.5,camp_warmup,Train Loss,3400,0.027959568426012993 +SV100-R0.5,camp_warmup,Train Loss,3450,0.027469400316476822 +SV100-R0.5,camp_warmup,Train Loss,3500,0.025997310876846313 +SV100-R0.5,camp_warmup,Train Loss,3550,0.026138614863157272 +SV100-R0.5,camp_warmup,Train Loss,3600,0.028436053544282913 +SV100-R0.5,camp_warmup,Train Loss,3650,0.025969307869672775 +SV100-R0.5,camp_warmup,Train Loss,3700,0.024987805634737015 +SV100-R0.5,camp_warmup,Train Loss,3750,0.02281143143773079 +SV100-R0.5,camp_warmup,Train Loss,3800,0.026576146483421326 +SV100-R0.5,camp_warmup,Train Loss,3850,0.022240187972784042 +SV100-R0.5,camp_warmup,Train Loss,3900,0.031017383560538292 +SV100-R0.5,camp_warmup,Train Loss,3950,0.022763844579458237 +SV100-R0.5,camp_warmup,Train Loss,4000,0.029076602309942245 +SV100-R0.5,camp_warmup,Train Loss,4050,0.02229692041873932 +SV100-R0.5,camp_warmup,Train Loss,4100,0.02530481666326523 +SV100-R0.5,camp_warmup,Train Loss,4150,0.02465001493692398 +SV100-R0.5,camp_warmup,Train Loss,4200,0.02156236208975315 +SV100-R0.5,camp_warmup,Train Loss,4250,0.027362382039427757 +SV100-R0.5,camp_warmup,Train Loss,4300,0.020830538123846054 +SV100-R0.5,camp_warmup,Train Loss,4350,0.02455172687768936 +SV100-R0.5,camp_warmup,Train Loss,4400,0.021367564797401428 +SV100-R0.5,camp_warmup,Train Loss,4450,0.022411715239286423 +SV100-R0.5,camp_warmup,Train Loss,4500,0.025243468582630157 +SV100-R0.5,camp_warmup,Train Loss,4550,0.02129480242729187 +SV100-R0.5,camp_warmup,Train Loss,4600,0.025454001501202583 +SV100-R0.5,camp_warmup,Train Loss,4650,0.021602047607302666 +SV100-R0.5,camp_warmup,Train Loss,4700,0.02706749550998211 +SV100-R0.5,camp_warmup,Train Loss,4750,0.020460324361920357 +SV100-R0.5,camp_warmup,Train Loss,4800,0.02196895144879818 +SV100-R0.5,camp_warmup,Train Loss,4850,0.01762063056230545 +SV100-R0.5,camp_warmup,Train Loss,4900,0.02319512702524662 +SV100-R0.5,camp_warmup,Train Loss,4950,0.024631980806589127 +SV100-R0.5,camp_warmup,Train Loss,5000,0.01871735230088234 +SV100-R0.5,camp_warmup,Train Loss,5500,0.023034919053316116 +SV100-R0.5,camp_warmup,Train Loss,6000,0.01726565882563591 +SV100-R0.5,camp_warmup,Train Loss,6500,0.017628788948059082 +SV100-R0.5,camp_warmup,Train Loss,7000,0.0189222302287817 +SV100-R0.5,camp_warmup,Train Loss,7500,0.014834923669695854 +SV100-R0.5,camp_warmup,Train Loss,8000,0.011370069347321987 +SV100-R0.5,camp_warmup,Train Loss,8500,0.01617082580924034 +SV100-R0.5,camp_warmup,Train Loss,9000,0.01734636165201664 +SV100-R0.5,camp_warmup,Train Loss,9500,0.013496024534106255 +SV100-R0.5,camp_warmup,Train Loss,10000,0.013322833925485611 +SV100-R0.5,camp_warmup,Train Loss,10500,0.01294323056936264 +SV100-R0.5,camp_warmup,Train Loss,11000,0.010549938306212425 +SV100-R0.5,camp_warmup,Train Loss,11500,0.012142056599259377 +SV100-R0.5,camp_warmup,Train Loss,12000,0.011983077973127365 +SV100-R0.5,camp_warmup,Train Loss,12500,0.015592137351632118 +SV100-R0.5,camp_warmup,Train Loss,13000,0.012177491560578346 +SV100-R0.5,camp_warmup,Train Loss,13500,0.013274489901959896 +SV100-R0.5,camp_warmup,Train Loss,14000,0.012228182516992092 +SV100-R0.5,camp_warmup,Train Loss,14500,0.010875728912651539 +SV100-R0.5,camp_warmup,Train Loss,15000,0.01049206405878067 +SV100-R0.5,camp_warmup,Train Loss,15500,0.0113749410957098 +SV100-R0.5,camp_warmup,Train Loss,16000,0.010814966633915901 +SV100-R0.5,camp_warmup,Train Loss,16500,0.0077669331803917885 +SV100-R0.5,camp_warmup,Train Loss,17000,0.007006593514233828 +SV100-R0.5,camp_warmup,Train Loss,17500,0.009052963927388191 +SV100-R0.5,camp_warmup,Train Loss,18000,0.008197473362088203 +SV100-R0.5,camp_warmup,Train Loss,18500,0.00901005044579506 +SV100-R0.5,camp_warmup,Train Loss,19000,0.008113661780953407 +SV100-R0.5,camp_warmup,Train Loss,19500,0.010377362370491028 +SV100-R0.5,camp_warmup,Train Loss,20000,0.007616265676915646 +SV100-R0.5,camp_warmup,Train Loss,20500,0.010328195989131927 +SV100-R0.5,camp_warmup,Train Loss,21000,0.008305316790938377 +SV100-R0.5,camp_warmup,Train Loss,21500,0.008106091991066933 +SV100-R0.5,camp_warmup,Train Loss,22000,0.009371252730488777 +SV100-R0.5,camp_warmup,Train Loss,22500,0.00676604313775897 +SV100-R0.5,camp_warmup,Train Loss,23000,0.0072589837945997715 +SV100-R0.5,camp_warmup,Train Loss,23500,0.008534671738743782 +SV100-R0.5,camp_warmup,Train Loss,24000,0.006389827001839876 +SV100-R0.5,camp_warmup,Train Loss,24500,0.007005887571722269 +SV100-R0.5,camp_warmup,Train Loss,25000,0.008148644119501114 +SV100-R0.5,camp_warmup,Train Loss,25500,0.006859271787106991 +SV100-R0.5,camp_warmup,Train Loss,26000,0.008903305977582932 +SV100-R0.5,camp_warmup,Train Loss,26500,0.005814004223793745 +SV100-R0.5,camp_warmup,Train Loss,27000,0.007296107243746519 +SV100-R0.5,camp_warmup,Train Loss,27500,0.007586969528347254 +SV100-R0.5,camp_warmup,Train Loss,28000,0.007290266454219818 +SV100-R0.5,camp_warmup,Train Loss,28500,0.005746936425566673 +SV100-R0.5,camp_warmup,Train Loss,29000,0.008898906409740448 +SV100-R0.5,camp_warmup,Train Loss,29500,0.006590673699975014 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,500,16.345844268798828 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,1000,19.0822811126709 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,1500,18.934587478637695 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,2000,18.657201766967773 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,2500,19.49402618408203 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,3000,19.447124481201172 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,3500,18.96347427368164 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,4000,20.9399356842041 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,4500,20.530378341674805 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,5000,19.66444206237793 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,5500,20.834497451782227 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,6000,20.605615615844727 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,6500,21.882020950317383 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,7000,21.75797462463379 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,7500,22.100406646728516 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,8000,22.789701461791992 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,8500,20.880857467651367 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,9000,21.785263061523438 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,9500,20.593624114990234 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,10000,20.31925392150879 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,10500,21.689340591430664 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,11000,21.533945083618164 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,11500,21.572072982788086 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,12000,21.150876998901367 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,12500,20.688316345214844 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,13000,20.91455841064453 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,13500,20.904451370239258 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,14000,20.091707229614258 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,14500,20.777421951293945 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,15000,21.894023895263672 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,15500,20.48528289794922 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,16000,21.280683517456055 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,16500,21.12744140625 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,17000,21.237945556640625 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,17500,21.287139892578125 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,18000,20.85920524597168 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,18500,20.804134368896484 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,19000,22.751197814941406 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,19500,20.67813491821289 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,20000,20.390583038330078 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,20500,21.81715202331543 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,21000,20.70503044128418 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,21500,19.97661018371582 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,22000,20.028446197509766 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,22500,20.472488403320312 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,23000,20.488229751586914 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,23500,20.571325302124023 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,24000,19.761978149414062 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,24500,20.14899444580078 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,25000,21.267545700073242 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,25500,19.712705612182617 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,26000,19.85309600830078 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,26500,20.039581298828125 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,27000,20.647701263427734 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,27500,20.194355010986328 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,28000,21.10325813293457 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,28500,20.480764389038086 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,29000,20.10080337524414 +SV100-R0.5,camp_warmup,Eval Images Metrics/fine_psnr,29500,19.837852478027344 +SV100-R0.5,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,20.847684860229492 +SV100-R0.5,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.793422520160675 +SV100-R0.5,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.131833016872406 +SV100-R1,fixed,Train Loss,0,0.3425855040550232 +SV100-R1,fixed,Train Loss,50,0.31657934188842773 +SV100-R1,fixed,Train Loss,100,0.17790073156356812 +SV100-R1,fixed,Train Loss,150,0.17650477588176727 +SV100-R1,fixed,Train Loss,200,0.17628145217895508 +SV100-R1,fixed,Train Loss,250,0.16484931111335754 +SV100-R1,fixed,Train Loss,300,0.13601982593536377 +SV100-R1,fixed,Train Loss,350,0.0943823903799057 +SV100-R1,fixed,Train Loss,400,0.06284718215465546 +SV100-R1,fixed,Train Loss,450,0.06266923248767853 +SV100-R1,fixed,Train Loss,500,0.04993434250354767 +SV100-R1,fixed,Train Loss,550,0.057992033660411835 +SV100-R1,fixed,Train Loss,600,0.05061867833137512 +SV100-R1,fixed,Train Loss,650,0.04584205523133278 +SV100-R1,fixed,Train Loss,700,0.047525689005851746 +SV100-R1,fixed,Train Loss,750,0.047485388815402985 +SV100-R1,fixed,Train Loss,800,0.04305632412433624 +SV100-R1,fixed,Train Loss,850,0.043827228248119354 +SV100-R1,fixed,Train Loss,900,0.03814547508955002 +SV100-R1,fixed,Train Loss,950,0.050784725695848465 +SV100-R1,fixed,Train Loss,1000,0.04011912643909454 +SV100-R1,fixed,Train Loss,1050,0.03834131360054016 +SV100-R1,fixed,Train Loss,1100,0.03592342510819435 +SV100-R1,fixed,Train Loss,1150,0.03797020763158798 +SV100-R1,fixed,Train Loss,1200,0.04145663231611252 +SV100-R1,fixed,Train Loss,1250,0.045891307294368744 +SV100-R1,fixed,Train Loss,1300,0.04348314553499222 +SV100-R1,fixed,Train Loss,1350,0.040032759308815 +SV100-R1,fixed,Train Loss,1400,0.03611742705106735 +SV100-R1,fixed,Train Loss,1450,0.039440855383872986 +SV100-R1,fixed,Train Loss,1500,0.04222314432263374 +SV100-R1,fixed,Train Loss,1550,0.04141389578580856 +SV100-R1,fixed,Train Loss,1600,0.038957640528678894 +SV100-R1,fixed,Train Loss,1650,0.040269482880830765 +SV100-R1,fixed,Train Loss,1700,0.040715355426073074 +SV100-R1,fixed,Train Loss,1750,0.0400388203561306 +SV100-R1,fixed,Train Loss,1800,0.035231709480285645 +SV100-R1,fixed,Train Loss,1850,0.04106837883591652 +SV100-R1,fixed,Train Loss,1900,0.04334907606244087 +SV100-R1,fixed,Train Loss,1950,0.04580055922269821 +SV100-R1,fixed,Train Loss,2000,0.04356566444039345 +SV100-R1,fixed,Train Loss,2050,0.03306693583726883 +SV100-R1,fixed,Train Loss,2100,0.038059573620557785 +SV100-R1,fixed,Train Loss,2150,0.03533557802438736 +SV100-R1,fixed,Train Loss,2200,0.04158581793308258 +SV100-R1,fixed,Train Loss,2250,0.0340736098587513 +SV100-R1,fixed,Train Loss,2300,0.03545559197664261 +SV100-R1,fixed,Train Loss,2350,0.03831595554947853 +SV100-R1,fixed,Train Loss,2400,0.03763161599636078 +SV100-R1,fixed,Train Loss,2450,0.03713049739599228 +SV100-R1,fixed,Train Loss,2500,0.042088672518730164 +SV100-R1,fixed,Train Loss,2550,0.04492712765932083 +SV100-R1,fixed,Train Loss,2600,0.04001149162650108 +SV100-R1,fixed,Train Loss,2650,0.04081764444708824 +SV100-R1,fixed,Train Loss,2700,0.0358705148100853 +SV100-R1,fixed,Train Loss,2750,0.03658616542816162 +SV100-R1,fixed,Train Loss,2800,0.0422431081533432 +SV100-R1,fixed,Train Loss,2850,0.04051756113767624 +SV100-R1,fixed,Train Loss,2900,0.03848300129175186 +SV100-R1,fixed,Train Loss,2950,0.03640276938676834 +SV100-R1,fixed,Train Loss,3000,0.02791348099708557 +SV100-R1,fixed,Train Loss,3050,0.03971860557794571 +SV100-R1,fixed,Train Loss,3100,0.037626150995492935 +SV100-R1,fixed,Train Loss,3150,0.03743718937039375 +SV100-R1,fixed,Train Loss,3200,0.02857416868209839 +SV100-R1,fixed,Train Loss,3250,0.03681962192058563 +SV100-R1,fixed,Train Loss,3300,0.042509544640779495 +SV100-R1,fixed,Train Loss,3350,0.039111703634262085 +SV100-R1,fixed,Train Loss,3400,0.03901650756597519 +SV100-R1,fixed,Train Loss,3450,0.03960759937763214 +SV100-R1,fixed,Train Loss,3500,0.03722613304853439 +SV100-R1,fixed,Train Loss,3550,0.03380049765110016 +SV100-R1,fixed,Train Loss,3600,0.0348067469894886 +SV100-R1,fixed,Train Loss,3650,0.04070863127708435 +SV100-R1,fixed,Train Loss,3700,0.04039359092712402 +SV100-R1,fixed,Train Loss,3750,0.031174249947071075 +SV100-R1,fixed,Train Loss,3800,0.03899439796805382 +SV100-R1,fixed,Train Loss,3850,0.03848978877067566 +SV100-R1,fixed,Train Loss,3900,0.034271322190761566 +SV100-R1,fixed,Train Loss,3950,0.032672345638275146 +SV100-R1,fixed,Train Loss,4000,0.03687000274658203 +SV100-R1,fixed,Train Loss,4050,0.03323695436120033 +SV100-R1,fixed,Train Loss,4100,0.033757321536540985 +SV100-R1,fixed,Train Loss,4150,0.03727675974369049 +SV100-R1,fixed,Train Loss,4200,0.03400135412812233 +SV100-R1,fixed,Train Loss,4250,0.02976963296532631 +SV100-R1,fixed,Train Loss,4300,0.03590179979801178 +SV100-R1,fixed,Train Loss,4350,0.02953280135989189 +SV100-R1,fixed,Train Loss,4400,0.035352520644664764 +SV100-R1,fixed,Train Loss,4450,0.03501305729150772 +SV100-R1,fixed,Train Loss,4500,0.03698481246829033 +SV100-R1,fixed,Train Loss,4550,0.0337560698390007 +SV100-R1,fixed,Train Loss,4600,0.03357521444559097 +SV100-R1,fixed,Train Loss,4650,0.033892881125211716 +SV100-R1,fixed,Train Loss,4700,0.03670881316065788 +SV100-R1,fixed,Train Loss,4750,0.03200306370854378 +SV100-R1,fixed,Train Loss,4800,0.03630973398685455 +SV100-R1,fixed,Train Loss,4850,0.036005862057209015 +SV100-R1,fixed,Train Loss,4900,0.03397856652736664 +SV100-R1,fixed,Train Loss,4950,0.036951251327991486 +SV100-R1,fixed,Train Loss,5000,0.034932006150484085 +SV100-R1,fixed,Train Loss,5500,0.03431181609630585 +SV100-R1,fixed,Train Loss,6000,0.029775064438581467 +SV100-R1,fixed,Train Loss,6500,0.031131014227867126 +SV100-R1,fixed,Train Loss,7000,0.028754916042089462 +SV100-R1,fixed,Train Loss,7500,0.03467173129320145 +SV100-R1,fixed,Train Loss,8000,0.029265638440847397 +SV100-R1,fixed,Train Loss,8500,0.025794558227062225 +SV100-R1,fixed,Train Loss,9000,0.03225681930780411 +SV100-R1,fixed,Train Loss,9500,0.027057001367211342 +SV100-R1,fixed,Train Loss,10000,0.03221601992845535 +SV100-R1,fixed,Train Loss,10500,0.02548825368285179 +SV100-R1,fixed,Train Loss,11000,0.027786098420619965 +SV100-R1,fixed,Train Loss,11500,0.02488219365477562 +SV100-R1,fixed,Train Loss,12000,0.02071196585893631 +SV100-R1,fixed,Train Loss,12500,0.024762189015746117 +SV100-R1,fixed,Train Loss,13000,0.02386493608355522 +SV100-R1,fixed,Train Loss,13500,0.026477430015802383 +SV100-R1,fixed,Train Loss,14000,0.02421974390745163 +SV100-R1,fixed,Train Loss,14500,0.024547137320041656 +SV100-R1,fixed,Train Loss,15000,0.023838583379983902 +SV100-R1,fixed,Train Loss,15500,0.025252453982830048 +SV100-R1,fixed,Train Loss,16000,0.023979444056749344 +SV100-R1,fixed,Train Loss,16500,0.0221441350877285 +SV100-R1,fixed,Train Loss,17000,0.020428262650966644 +SV100-R1,fixed,Train Loss,17500,0.0212299432605505 +SV100-R1,fixed,Train Loss,18000,0.019309453666210175 +SV100-R1,fixed,Train Loss,18500,0.02168056182563305 +SV100-R1,fixed,Train Loss,19000,0.021455304697155952 +SV100-R1,fixed,Train Loss,19500,0.020519735291600227 +SV100-R1,fixed,Train Loss,20000,0.020724421367049217 +SV100-R1,fixed,Train Loss,20500,0.021472550928592682 +SV100-R1,fixed,Train Loss,21000,0.01824099011719227 +SV100-R1,fixed,Train Loss,21500,0.01968114823102951 +SV100-R1,fixed,Train Loss,22000,0.0227858517318964 +SV100-R1,fixed,Train Loss,22500,0.018310174345970154 +SV100-R1,fixed,Train Loss,23000,0.01951700821518898 +SV100-R1,fixed,Train Loss,23500,0.020345697179436684 +SV100-R1,fixed,Train Loss,24000,0.020608648657798767 +SV100-R1,fixed,Train Loss,24500,0.019659578800201416 +SV100-R1,fixed,Train Loss,25000,0.020287390798330307 +SV100-R1,fixed,Train Loss,25500,0.017939846962690353 +SV100-R1,fixed,Train Loss,26000,0.021263454109430313 +SV100-R1,fixed,Train Loss,26500,0.018768150359392166 +SV100-R1,fixed,Train Loss,27000,0.017716143280267715 +SV100-R1,fixed,Train Loss,27500,0.020057640969753265 +SV100-R1,fixed,Train Loss,28000,0.018544530496001244 +SV100-R1,fixed,Train Loss,28500,0.0176076702773571 +SV100-R1,fixed,Train Loss,29000,0.01977553591132164 +SV100-R1,fixed,Train Loss,29500,0.017537787556648254 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,500,16.052223205566406 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,1000,17.619632720947266 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,1500,17.244386672973633 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,2000,18.27278709411621 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,2500,18.055225372314453 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,3000,19.248842239379883 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,3500,17.868141174316406 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,4000,18.2927303314209 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,4500,19.68120574951172 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,5000,18.982568740844727 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,5500,17.297666549682617 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,6000,18.597139358520508 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,6500,17.891021728515625 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,7000,17.973949432373047 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,7500,17.798145294189453 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,8000,18.36525535583496 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,8500,18.289106369018555 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,9000,18.175634384155273 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,9500,17.28325843811035 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,10000,16.66335678100586 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,10500,19.18504524230957 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,11000,18.73474884033203 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,11500,19.69626235961914 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,12000,16.620695114135742 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,12500,18.08959197998047 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,13000,17.556623458862305 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,13500,17.572771072387695 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,14000,19.720800399780273 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,14500,17.611703872680664 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,15000,19.048511505126953 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,15500,17.077905654907227 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,16000,17.43372917175293 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,16500,18.416259765625 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,17000,18.544599533081055 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,17500,16.802976608276367 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,18000,17.98133659362793 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,18500,16.200599670410156 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,19000,17.29433250427246 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,19500,16.924558639526367 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,20000,17.100494384765625 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,20500,16.943763732910156 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,21000,17.86543083190918 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,21500,16.311433792114258 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,22000,15.358806610107422 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,22500,19.204896926879883 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,23000,18.63450050354004 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,23500,15.352228164672852 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,24000,17.419931411743164 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,24500,17.211654663085938 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,25000,17.209999084472656 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,25500,17.531801223754883 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,26000,17.535741806030273 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,26500,16.948627471923828 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,27000,16.65577507019043 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,27500,15.793875694274902 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,28000,15.5616455078125 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,28500,16.11565399169922 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,29000,16.751771926879883 +SV100-R1,fixed,Eval Images Metrics/fine_psnr,29500,15.928789138793945 +SV100-R1,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,17.231599807739258 +SV100-R1,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7496548295021057 +SV100-R1,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.3104070723056793 +SV100-R1,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-R1,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-R1,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-R1,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-R1,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-R1,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-R1,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-R1,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-R1,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-R1,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-R1,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-R1,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-R1,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-R1,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-R1,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-R1,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-R1,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-R1,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-R1,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-R1,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-R1,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-R1,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-R1,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-R1,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-R1,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-R1,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-R1,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-R1,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-R1,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-R1,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-R1,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-R1,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-R1,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-R1,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-R1,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-R1,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-R1,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-R1,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-R1,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-R1,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-R1,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-R1,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-R1,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-R1,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-R1,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-R1,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-R1,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-R1,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-R1,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-R1,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-R1,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-R1,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-R1,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-R1,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-R1,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-R1,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-R1,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-R1,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-R1,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-R1,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-R1,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-R1,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-R1,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-R1,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-R1,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-R1,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-R1,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-R1,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-R1,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-R1,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-R1,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-R1,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-R1,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-R1,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-R1,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-R1,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-R1,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-R1,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-R1,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-R1,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-R1,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-R1,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-R1,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-R1,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-R1,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-R1,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-R1,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-R1,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-R1,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-R1,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-R1,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-R1,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-R1,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-R1,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-R1,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-R1,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-R1,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-R1,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-R1,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-R1,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-R1,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-R1,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-R1,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-R1,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-R1,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-R1,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-R1,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-R1,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-R1,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-R1,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-R1,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-R1,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-R1,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-R1,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-R1,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-R1,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-R1,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-R1,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-R1,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-R1,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-R1,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-R1,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-R1,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-R1,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-R1,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-R1,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-R1,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-R1,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-R1,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-R1,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-R1,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-R1,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-R1,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-R1,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-R1,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-R1,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-R1,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-R1,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-R1,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-R1,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-R1,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-R1,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-R1,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-R1,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-R1,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-R1,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-R1,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-R1,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-R1,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-R1,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-R1,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R1,naive,Train Loss,0,0.34218087792396545 +SV100-R1,naive,Train Loss,50,0.318564772605896 +SV100-R1,naive,Train Loss,100,0.18479295074939728 +SV100-R1,naive,Train Loss,150,0.17696602642536163 +SV100-R1,naive,Train Loss,200,0.16483858227729797 +SV100-R1,naive,Train Loss,250,0.15405721962451935 +SV100-R1,naive,Train Loss,300,0.15106749534606934 +SV100-R1,naive,Train Loss,350,0.10461883991956711 +SV100-R1,naive,Train Loss,400,0.09643690288066864 +SV100-R1,naive,Train Loss,450,0.0868770182132721 +SV100-R1,naive,Train Loss,500,0.08168524503707886 +SV100-R1,naive,Train Loss,550,0.078127920627594 +SV100-R1,naive,Train Loss,600,0.07427927106618881 +SV100-R1,naive,Train Loss,650,0.07742151618003845 +SV100-R1,naive,Train Loss,700,0.07460959255695343 +SV100-R1,naive,Train Loss,750,0.06564784049987793 +SV100-R1,naive,Train Loss,800,0.07241135835647583 +SV100-R1,naive,Train Loss,850,0.05827350541949272 +SV100-R1,naive,Train Loss,900,0.05173039808869362 +SV100-R1,naive,Train Loss,950,0.06067483127117157 +SV100-R1,naive,Train Loss,1000,0.05170410871505737 +SV100-R1,naive,Train Loss,1050,0.04483629763126373 +SV100-R1,naive,Train Loss,1100,0.04883350431919098 +SV100-R1,naive,Train Loss,1150,0.05385778844356537 +SV100-R1,naive,Train Loss,1200,0.0417209267616272 +SV100-R1,naive,Train Loss,1250,0.0458984375 +SV100-R1,naive,Train Loss,1300,0.04040874168276787 +SV100-R1,naive,Train Loss,1350,0.045447058975696564 +SV100-R1,naive,Train Loss,1400,0.04159359261393547 +SV100-R1,naive,Train Loss,1450,0.029290080070495605 +SV100-R1,naive,Train Loss,1500,0.03906731680035591 +SV100-R1,naive,Train Loss,1550,0.04404933750629425 +SV100-R1,naive,Train Loss,1600,0.037687163800001144 +SV100-R1,naive,Train Loss,1650,0.03718912973999977 +SV100-R1,naive,Train Loss,1700,0.04222419857978821 +SV100-R1,naive,Train Loss,1750,0.04062032699584961 +SV100-R1,naive,Train Loss,1800,0.037524983286857605 +SV100-R1,naive,Train Loss,1850,0.02876110002398491 +SV100-R1,naive,Train Loss,1900,0.0327325202524662 +SV100-R1,naive,Train Loss,1950,0.030188120901584625 +SV100-R1,naive,Train Loss,2000,0.03255628049373627 +SV100-R1,naive,Train Loss,2050,0.03174259513616562 +SV100-R1,naive,Train Loss,2100,0.029459279030561447 +SV100-R1,naive,Train Loss,2150,0.029673997312784195 +SV100-R1,naive,Train Loss,2200,0.02711668238043785 +SV100-R1,naive,Train Loss,2250,0.03083767183125019 +SV100-R1,naive,Train Loss,2300,0.027472078800201416 +SV100-R1,naive,Train Loss,2350,0.03353498876094818 +SV100-R1,naive,Train Loss,2400,0.030776437371969223 +SV100-R1,naive,Train Loss,2450,0.03194667398929596 +SV100-R1,naive,Train Loss,2500,0.02604258805513382 +SV100-R1,naive,Train Loss,2550,0.03303324431180954 +SV100-R1,naive,Train Loss,2600,0.03373688459396362 +SV100-R1,naive,Train Loss,2650,0.02794068120419979 +SV100-R1,naive,Train Loss,2700,0.029211390763521194 +SV100-R1,naive,Train Loss,2750,0.026885924860835075 +SV100-R1,naive,Train Loss,2800,0.025028131902217865 +SV100-R1,naive,Train Loss,2850,0.023504406213760376 +SV100-R1,naive,Train Loss,2900,0.024209164083003998 +SV100-R1,naive,Train Loss,2950,0.026868179440498352 +SV100-R1,naive,Train Loss,3000,0.026148252189159393 +SV100-R1,naive,Train Loss,3050,0.02209295704960823 +SV100-R1,naive,Train Loss,3100,0.028137827292084694 +SV100-R1,naive,Train Loss,3150,0.02611924707889557 +SV100-R1,naive,Train Loss,3200,0.02307247370481491 +SV100-R1,naive,Train Loss,3250,0.02315215766429901 +SV100-R1,naive,Train Loss,3300,0.023997463285923004 +SV100-R1,naive,Train Loss,3350,0.025998640805482864 +SV100-R1,naive,Train Loss,3400,0.025657543912529945 +SV100-R1,naive,Train Loss,3450,0.023268399760127068 +SV100-R1,naive,Train Loss,3500,0.02327878773212433 +SV100-R1,naive,Train Loss,3550,0.02311713807284832 +SV100-R1,naive,Train Loss,3600,0.024775605648756027 +SV100-R1,naive,Train Loss,3650,0.023110155016183853 +SV100-R1,naive,Train Loss,3700,0.02345871552824974 +SV100-R1,naive,Train Loss,3750,0.02303878590464592 +SV100-R1,naive,Train Loss,3800,0.021812260150909424 +SV100-R1,naive,Train Loss,3850,0.019875433295965195 +SV100-R1,naive,Train Loss,3900,0.02339697629213333 +SV100-R1,naive,Train Loss,3950,0.019729170948266983 +SV100-R1,naive,Train Loss,4000,0.027349844574928284 +SV100-R1,naive,Train Loss,4050,0.020007982850074768 +SV100-R1,naive,Train Loss,4100,0.01841561682522297 +SV100-R1,naive,Train Loss,4150,0.019779369235038757 +SV100-R1,naive,Train Loss,4200,0.020347960293293 +SV100-R1,naive,Train Loss,4250,0.024662692099809647 +SV100-R1,naive,Train Loss,4300,0.01704428158700466 +SV100-R1,naive,Train Loss,4350,0.019082535058259964 +SV100-R1,naive,Train Loss,4400,0.019555076956748962 +SV100-R1,naive,Train Loss,4450,0.017067231237888336 +SV100-R1,naive,Train Loss,4500,0.017787422984838486 +SV100-R1,naive,Train Loss,4550,0.019741758704185486 +SV100-R1,naive,Train Loss,4600,0.02042776718735695 +SV100-R1,naive,Train Loss,4650,0.021200399845838547 +SV100-R1,naive,Train Loss,4700,0.021004244685173035 +SV100-R1,naive,Train Loss,4750,0.016500957310199738 +SV100-R1,naive,Train Loss,4800,0.018932346254587173 +SV100-R1,naive,Train Loss,4850,0.01666095107793808 +SV100-R1,naive,Train Loss,4900,0.01923687756061554 +SV100-R1,naive,Train Loss,4950,0.017522377893328667 +SV100-R1,naive,Train Loss,5000,0.01970863714814186 +SV100-R1,naive,Train Loss,5500,0.017116079106926918 +SV100-R1,naive,Train Loss,6000,0.014458363875746727 +SV100-R1,naive,Train Loss,6500,0.018860572949051857 +SV100-R1,naive,Train Loss,7000,0.017068948596715927 +SV100-R1,naive,Train Loss,7500,0.014615023508667946 +SV100-R1,naive,Train Loss,8000,0.013075198978185654 +SV100-R1,naive,Train Loss,8500,0.013619215227663517 +SV100-R1,naive,Train Loss,9000,0.013290557079017162 +SV100-R1,naive,Train Loss,9500,0.013761598616838455 +SV100-R1,naive,Train Loss,10000,0.013403616845607758 +SV100-R1,naive,Train Loss,10500,0.011509813368320465 +SV100-R1,naive,Train Loss,11000,0.009881284087896347 +SV100-R1,naive,Train Loss,11500,0.00976424477994442 +SV100-R1,naive,Train Loss,12000,0.010306483134627342 +SV100-R1,naive,Train Loss,12500,0.014723991975188255 +SV100-R1,naive,Train Loss,13000,0.0118185356259346 +SV100-R1,naive,Train Loss,13500,0.010058274492621422 +SV100-R1,naive,Train Loss,14000,0.012061020359396935 +SV100-R1,naive,Train Loss,14500,0.010087553411722183 +SV100-R1,naive,Train Loss,15000,0.009450169280171394 +SV100-R1,naive,Train Loss,15500,0.010019352659583092 +SV100-R1,naive,Train Loss,16000,0.01003956887871027 +SV100-R1,naive,Train Loss,16500,0.008937292732298374 +SV100-R1,naive,Train Loss,17000,0.007931530475616455 +SV100-R1,naive,Train Loss,17500,0.009078806266188622 +SV100-R1,naive,Train Loss,18000,0.0076622976921498775 +SV100-R1,naive,Train Loss,18500,0.011160532012581825 +SV100-R1,naive,Train Loss,19000,0.007410008460283279 +SV100-R1,naive,Train Loss,19500,0.010226143524050713 +SV100-R1,naive,Train Loss,20000,0.007080464623868465 +SV100-R1,naive,Train Loss,20500,0.008812752552330494 +SV100-R1,naive,Train Loss,21000,0.008072594180703163 +SV100-R1,naive,Train Loss,21500,0.0068011111579835415 +SV100-R1,naive,Train Loss,22000,0.010101526975631714 +SV100-R1,naive,Train Loss,22500,0.00784966628998518 +SV100-R1,naive,Train Loss,23000,0.007128248456865549 +SV100-R1,naive,Train Loss,23500,0.006872203201055527 +SV100-R1,naive,Train Loss,24000,0.0063453237526118755 +SV100-R1,naive,Train Loss,24500,0.008014763705432415 +SV100-R1,naive,Train Loss,25000,0.007431777659803629 +SV100-R1,naive,Train Loss,25500,0.006765283644199371 +SV100-R1,naive,Train Loss,26000,0.0064431107603013515 +SV100-R1,naive,Train Loss,26500,0.0056060305796563625 +SV100-R1,naive,Train Loss,27000,0.005751906894147396 +SV100-R1,naive,Train Loss,27500,0.005913521163165569 +SV100-R1,naive,Train Loss,28000,0.006336490623652935 +SV100-R1,naive,Train Loss,28500,0.006674740929156542 +SV100-R1,naive,Train Loss,29000,0.007898010313510895 +SV100-R1,naive,Train Loss,29500,0.007315838243812323 +SV100-R1,naive,Eval Images Metrics/fine_psnr,500,15.317899703979492 +SV100-R1,naive,Eval Images Metrics/fine_psnr,1000,15.652840614318848 +SV100-R1,naive,Eval Images Metrics/fine_psnr,1500,17.78660011291504 +SV100-R1,naive,Eval Images Metrics/fine_psnr,2000,18.692718505859375 +SV100-R1,naive,Eval Images Metrics/fine_psnr,2500,17.779714584350586 +SV100-R1,naive,Eval Images Metrics/fine_psnr,3000,18.163192749023438 +SV100-R1,naive,Eval Images Metrics/fine_psnr,3500,13.720120429992676 +SV100-R1,naive,Eval Images Metrics/fine_psnr,4000,21.216386795043945 +SV100-R1,naive,Eval Images Metrics/fine_psnr,4500,17.371795654296875 +SV100-R1,naive,Eval Images Metrics/fine_psnr,5000,14.168835639953613 +SV100-R1,naive,Eval Images Metrics/fine_psnr,5500,18.94947624206543 +SV100-R1,naive,Eval Images Metrics/fine_psnr,6000,17.563325881958008 +SV100-R1,naive,Eval Images Metrics/fine_psnr,6500,22.337005615234375 +SV100-R1,naive,Eval Images Metrics/fine_psnr,7000,15.631081581115723 +SV100-R1,naive,Eval Images Metrics/fine_psnr,7500,17.76430892944336 +SV100-R1,naive,Eval Images Metrics/fine_psnr,8000,17.527542114257812 +SV100-R1,naive,Eval Images Metrics/fine_psnr,8500,21.329153060913086 +SV100-R1,naive,Eval Images Metrics/fine_psnr,9000,16.413066864013672 +SV100-R1,naive,Eval Images Metrics/fine_psnr,9500,18.152563095092773 +SV100-R1,naive,Eval Images Metrics/fine_psnr,10000,17.91707420349121 +SV100-R1,naive,Eval Images Metrics/fine_psnr,10500,16.411264419555664 +SV100-R1,naive,Eval Images Metrics/fine_psnr,11000,14.691195487976074 +SV100-R1,naive,Eval Images Metrics/fine_psnr,11500,16.27060890197754 +SV100-R1,naive,Eval Images Metrics/fine_psnr,12000,13.506536483764648 +SV100-R1,naive,Eval Images Metrics/fine_psnr,12500,15.479819297790527 +SV100-R1,naive,Eval Images Metrics/fine_psnr,13000,14.813775062561035 +SV100-R1,naive,Eval Images Metrics/fine_psnr,13500,14.779547691345215 +SV100-R1,naive,Eval Images Metrics/fine_psnr,14000,16.445781707763672 +SV100-R1,naive,Eval Images Metrics/fine_psnr,14500,16.131818771362305 +SV100-R1,naive,Eval Images Metrics/fine_psnr,15000,20.4043025970459 +SV100-R1,naive,Eval Images Metrics/fine_psnr,15500,17.628433227539062 +SV100-R1,naive,Eval Images Metrics/fine_psnr,16000,13.707870483398438 +SV100-R1,naive,Eval Images Metrics/fine_psnr,16500,24.37626075744629 +SV100-R1,naive,Eval Images Metrics/fine_psnr,17000,15.397404670715332 +SV100-R1,naive,Eval Images Metrics/fine_psnr,17500,14.97014331817627 +SV100-R1,naive,Eval Images Metrics/fine_psnr,18000,14.782647132873535 +SV100-R1,naive,Eval Images Metrics/fine_psnr,18500,24.131338119506836 +SV100-R1,naive,Eval Images Metrics/fine_psnr,19000,18.676761627197266 +SV100-R1,naive,Eval Images Metrics/fine_psnr,19500,14.654158592224121 +SV100-R1,naive,Eval Images Metrics/fine_psnr,20000,20.768869400024414 +SV100-R1,naive,Eval Images Metrics/fine_psnr,20500,20.286531448364258 +SV100-R1,naive,Eval Images Metrics/fine_psnr,21000,15.307364463806152 +SV100-R1,naive,Eval Images Metrics/fine_psnr,21500,18.046598434448242 +SV100-R1,naive,Eval Images Metrics/fine_psnr,22000,15.105897903442383 +SV100-R1,naive,Eval Images Metrics/fine_psnr,22500,14.47140884399414 +SV100-R1,naive,Eval Images Metrics/fine_psnr,23000,15.180978775024414 +SV100-R1,naive,Eval Images Metrics/fine_psnr,23500,15.295648574829102 +SV100-R1,naive,Eval Images Metrics/fine_psnr,24000,16.677270889282227 +SV100-R1,naive,Eval Images Metrics/fine_psnr,24500,22.544445037841797 +SV100-R1,naive,Eval Images Metrics/fine_psnr,25000,15.244847297668457 +SV100-R1,naive,Eval Images Metrics/fine_psnr,25500,17.471445083618164 +SV100-R1,naive,Eval Images Metrics/fine_psnr,26000,14.220392227172852 +SV100-R1,naive,Eval Images Metrics/fine_psnr,26500,16.670101165771484 +SV100-R1,naive,Eval Images Metrics/fine_psnr,27000,24.73940086364746 +SV100-R1,naive,Eval Images Metrics/fine_psnr,27500,14.465041160583496 +SV100-R1,naive,Eval Images Metrics/fine_psnr,28000,16.673381805419922 +SV100-R1,naive,Eval Images Metrics/fine_psnr,28500,14.929548263549805 +SV100-R1,naive,Eval Images Metrics/fine_psnr,29000,15.554624557495117 +SV100-R1,naive,Eval Images Metrics/fine_psnr,29500,14.566953659057617 +SV100-R1,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,16.777477264404297 +SV100-R1,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7434947490692139 +SV100-R1,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.19414617121219635 +SV100-R1,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-R1,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-R1,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-R1,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-R1,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-R1,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-R1,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-R1,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-R1,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-R1,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-R1,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-R1,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-R1,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-R1,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-R1,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-R1,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-R1,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-R1,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-R1,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-R1,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-R1,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-R1,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-R1,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-R1,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-R1,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-R1,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-R1,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-R1,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-R1,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-R1,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-R1,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-R1,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-R1,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-R1,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-R1,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-R1,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-R1,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-R1,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-R1,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-R1,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-R1,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-R1,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-R1,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-R1,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-R1,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-R1,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-R1,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-R1,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-R1,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-R1,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-R1,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-R1,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-R1,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-R1,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-R1,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-R1,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-R1,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-R1,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-R1,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-R1,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-R1,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-R1,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-R1,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-R1,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-R1,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-R1,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-R1,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-R1,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-R1,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-R1,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-R1,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-R1,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-R1,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-R1,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-R1,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-R1,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-R1,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-R1,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-R1,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-R1,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-R1,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-R1,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-R1,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-R1,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-R1,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-R1,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-R1,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-R1,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-R1,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-R1,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-R1,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-R1,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-R1,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-R1,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-R1,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-R1,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-R1,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-R1,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-R1,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-R1,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-R1,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-R1,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-R1,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-R1,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-R1,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-R1,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-R1,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-R1,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-R1,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-R1,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-R1,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-R1,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-R1,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-R1,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-R1,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-R1,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-R1,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-R1,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-R1,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-R1,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-R1,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-R1,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-R1,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-R1,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-R1,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-R1,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-R1,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-R1,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-R1,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-R1,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-R1,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-R1,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-R1,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-R1,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-R1,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-R1,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-R1,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-R1,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-R1,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-R1,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-R1,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-R1,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-R1,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-R1,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-R1,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-R1,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-R1,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-R1,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-R1,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-R1,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-R1,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R1,camp,Train Loss,0,0.34218087792396545 +SV100-R1,camp,Train Loss,50,0.3185320794582367 +SV100-R1,camp,Train Loss,100,0.1849105805158615 +SV100-R1,camp,Train Loss,150,0.17690251767635345 +SV100-R1,camp,Train Loss,200,0.16424891352653503 +SV100-R1,camp,Train Loss,250,0.15286827087402344 +SV100-R1,camp,Train Loss,300,0.1458391547203064 +SV100-R1,camp,Train Loss,350,0.09906986355781555 +SV100-R1,camp,Train Loss,400,0.08984141051769257 +SV100-R1,camp,Train Loss,450,0.07455730438232422 +SV100-R1,camp,Train Loss,500,0.07959063351154327 +SV100-R1,camp,Train Loss,550,0.07765349745750427 +SV100-R1,camp,Train Loss,600,0.07034862041473389 +SV100-R1,camp,Train Loss,650,0.07408773899078369 +SV100-R1,camp,Train Loss,700,0.07116074115037918 +SV100-R1,camp,Train Loss,750,0.07060841470956802 +SV100-R1,camp,Train Loss,800,0.07893234491348267 +SV100-R1,camp,Train Loss,850,0.07009734213352203 +SV100-R1,camp,Train Loss,900,0.05892772600054741 +SV100-R1,camp,Train Loss,950,0.06688646972179413 +SV100-R1,camp,Train Loss,1000,0.0592832937836647 +SV100-R1,camp,Train Loss,1050,0.0528971403837204 +SV100-R1,camp,Train Loss,1100,0.05721312016248703 +SV100-R1,camp,Train Loss,1150,0.059899695217609406 +SV100-R1,camp,Train Loss,1200,0.05596937984228134 +SV100-R1,camp,Train Loss,1250,0.05690379440784454 +SV100-R1,camp,Train Loss,1300,0.051076874136924744 +SV100-R1,camp,Train Loss,1350,0.057008981704711914 +SV100-R1,camp,Train Loss,1400,0.048798806965351105 +SV100-R1,camp,Train Loss,1450,0.04050242155790329 +SV100-R1,camp,Train Loss,1500,0.05296368896961212 +SV100-R1,camp,Train Loss,1550,0.05377081036567688 +SV100-R1,camp,Train Loss,1600,0.04631891846656799 +SV100-R1,camp,Train Loss,1650,0.052147723734378815 +SV100-R1,camp,Train Loss,1700,0.050459884107112885 +SV100-R1,camp,Train Loss,1750,0.047219015657901764 +SV100-R1,camp,Train Loss,1800,0.047119706869125366 +SV100-R1,camp,Train Loss,1850,0.0359422005712986 +SV100-R1,camp,Train Loss,1900,0.04282715171575546 +SV100-R1,camp,Train Loss,1950,0.042081765830516815 +SV100-R1,camp,Train Loss,2000,0.0464937761425972 +SV100-R1,camp,Train Loss,2050,0.03980378061532974 +SV100-R1,camp,Train Loss,2100,0.046536825597286224 +SV100-R1,camp,Train Loss,2150,0.04494539648294449 +SV100-R1,camp,Train Loss,2200,0.04416441544890404 +SV100-R1,camp,Train Loss,2250,0.04237719625234604 +SV100-R1,camp,Train Loss,2300,0.038981061428785324 +SV100-R1,camp,Train Loss,2350,0.04029664397239685 +SV100-R1,camp,Train Loss,2400,0.040851518511772156 +SV100-R1,camp,Train Loss,2450,0.04869193583726883 +SV100-R1,camp,Train Loss,2500,0.03413849323987961 +SV100-R1,camp,Train Loss,2550,0.03873830288648605 +SV100-R1,camp,Train Loss,2600,0.0454072430729866 +SV100-R1,camp,Train Loss,2650,0.04123855382204056 +SV100-R1,camp,Train Loss,2700,0.03623795509338379 +SV100-R1,camp,Train Loss,2750,0.03892607241868973 +SV100-R1,camp,Train Loss,2800,0.037760116159915924 +SV100-R1,camp,Train Loss,2850,0.03103054128587246 +SV100-R1,camp,Train Loss,2900,0.03612881898880005 +SV100-R1,camp,Train Loss,2950,0.03524894267320633 +SV100-R1,camp,Train Loss,3000,0.03555683791637421 +SV100-R1,camp,Train Loss,3050,0.03272383287549019 +SV100-R1,camp,Train Loss,3100,0.033696677535772324 +SV100-R1,camp,Train Loss,3150,0.038251299411058426 +SV100-R1,camp,Train Loss,3200,0.03140440210700035 +SV100-R1,camp,Train Loss,3250,0.03205890208482742 +SV100-R1,camp,Train Loss,3300,0.0304298996925354 +SV100-R1,camp,Train Loss,3350,0.03388788551092148 +SV100-R1,camp,Train Loss,3400,0.028707923367619514 +SV100-R1,camp,Train Loss,3450,0.03162766620516777 +SV100-R1,camp,Train Loss,3500,0.03235850855708122 +SV100-R1,camp,Train Loss,3550,0.03166963532567024 +SV100-R1,camp,Train Loss,3600,0.02989751100540161 +SV100-R1,camp,Train Loss,3650,0.03653791546821594 +SV100-R1,camp,Train Loss,3700,0.03233891353011131 +SV100-R1,camp,Train Loss,3750,0.024859702214598656 +SV100-R1,camp,Train Loss,3800,0.03238903731107712 +SV100-R1,camp,Train Loss,3850,0.026232818141579628 +SV100-R1,camp,Train Loss,3900,0.03207860514521599 +SV100-R1,camp,Train Loss,3950,0.027610797435045242 +SV100-R1,camp,Train Loss,4000,0.0336029976606369 +SV100-R1,camp,Train Loss,4050,0.023372862488031387 +SV100-R1,camp,Train Loss,4100,0.026317613199353218 +SV100-R1,camp,Train Loss,4150,0.028619486838579178 +SV100-R1,camp,Train Loss,4200,0.02420087531208992 +SV100-R1,camp,Train Loss,4250,0.02837887406349182 +SV100-R1,camp,Train Loss,4300,0.023721832782030106 +SV100-R1,camp,Train Loss,4350,0.025744980201125145 +SV100-R1,camp,Train Loss,4400,0.0240299291908741 +SV100-R1,camp,Train Loss,4450,0.024569375440478325 +SV100-R1,camp,Train Loss,4500,0.02571948617696762 +SV100-R1,camp,Train Loss,4550,0.025267623364925385 +SV100-R1,camp,Train Loss,4600,0.028961921110749245 +SV100-R1,camp,Train Loss,4650,0.024182209745049477 +SV100-R1,camp,Train Loss,4700,0.02456466108560562 +SV100-R1,camp,Train Loss,4750,0.02121558040380478 +SV100-R1,camp,Train Loss,4800,0.02624693140387535 +SV100-R1,camp,Train Loss,4850,0.022550730034708977 +SV100-R1,camp,Train Loss,4900,0.02182905189692974 +SV100-R1,camp,Train Loss,4950,0.026671316474676132 +SV100-R1,camp,Train Loss,5000,0.022048022598028183 +SV100-R1,camp,Train Loss,5500,0.02346307598054409 +SV100-R1,camp,Train Loss,6000,0.01583050563931465 +SV100-R1,camp,Train Loss,6500,0.01996838115155697 +SV100-R1,camp,Train Loss,7000,0.01847570762038231 +SV100-R1,camp,Train Loss,7500,0.015635328367352486 +SV100-R1,camp,Train Loss,8000,0.015307577326893806 +SV100-R1,camp,Train Loss,8500,0.012894101440906525 +SV100-R1,camp,Train Loss,9000,0.015324852429330349 +SV100-R1,camp,Train Loss,9500,0.01374678686261177 +SV100-R1,camp,Train Loss,10000,0.013227672316133976 +SV100-R1,camp,Train Loss,10500,0.013912086375057697 +SV100-R1,camp,Train Loss,11000,0.011664541438221931 +SV100-R1,camp,Train Loss,11500,0.011129956692457199 +SV100-R1,camp,Train Loss,12000,0.01053583063185215 +SV100-R1,camp,Train Loss,12500,0.015126422978937626 +SV100-R1,camp,Train Loss,13000,0.013360634446144104 +SV100-R1,camp,Train Loss,13500,0.010797392576932907 +SV100-R1,camp,Train Loss,14000,0.011241177096962929 +SV100-R1,camp,Train Loss,14500,0.010572080500423908 +SV100-R1,camp,Train Loss,15000,0.009723241440951824 +SV100-R1,camp,Train Loss,15500,0.012304089963436127 +SV100-R1,camp,Train Loss,16000,0.011861500330269337 +SV100-R1,camp,Train Loss,16500,0.009617858566343784 +SV100-R1,camp,Train Loss,17000,0.0078096832148730755 +SV100-R1,camp,Train Loss,17500,0.008447295054793358 +SV100-R1,camp,Train Loss,18000,0.007679313886910677 +SV100-R1,camp,Train Loss,18500,0.008068563416600227 +SV100-R1,camp,Train Loss,19000,0.008073225617408752 +SV100-R1,camp,Train Loss,19500,0.011827638372778893 +SV100-R1,camp,Train Loss,20000,0.00725738238543272 +SV100-R1,camp,Train Loss,20500,0.009349014610052109 +SV100-R1,camp,Train Loss,21000,0.007452287711203098 +SV100-R1,camp,Train Loss,21500,0.00689800875261426 +SV100-R1,camp,Train Loss,22000,0.008339745923876762 +SV100-R1,camp,Train Loss,22500,0.007001497782766819 +SV100-R1,camp,Train Loss,23000,0.006723345257341862 +SV100-R1,camp,Train Loss,23500,0.007706964388489723 +SV100-R1,camp,Train Loss,24000,0.007158513180911541 +SV100-R1,camp,Train Loss,24500,0.008101467043161392 +SV100-R1,camp,Train Loss,25000,0.009254724718630314 +SV100-R1,camp,Train Loss,25500,0.0068123373202979565 +SV100-R1,camp,Train Loss,26000,0.006230051163583994 +SV100-R1,camp,Train Loss,26500,0.0064610447734594345 +SV100-R1,camp,Train Loss,27000,0.006287896074354649 +SV100-R1,camp,Train Loss,27500,0.00562580581754446 +SV100-R1,camp,Train Loss,28000,0.0066715325228869915 +SV100-R1,camp,Train Loss,28500,0.006415908224880695 +SV100-R1,camp,Train Loss,29000,0.007554555777460337 +SV100-R1,camp,Train Loss,29500,0.007194106001406908 +SV100-R1,camp,Eval Images Metrics/fine_psnr,500,15.484538078308105 +SV100-R1,camp,Eval Images Metrics/fine_psnr,1000,17.122278213500977 +SV100-R1,camp,Eval Images Metrics/fine_psnr,1500,17.456174850463867 +SV100-R1,camp,Eval Images Metrics/fine_psnr,2000,17.53455352783203 +SV100-R1,camp,Eval Images Metrics/fine_psnr,2500,18.475234985351562 +SV100-R1,camp,Eval Images Metrics/fine_psnr,3000,18.31221580505371 +SV100-R1,camp,Eval Images Metrics/fine_psnr,3500,15.784661293029785 +SV100-R1,camp,Eval Images Metrics/fine_psnr,4000,19.722867965698242 +SV100-R1,camp,Eval Images Metrics/fine_psnr,4500,19.423192977905273 +SV100-R1,camp,Eval Images Metrics/fine_psnr,5000,16.495235443115234 +SV100-R1,camp,Eval Images Metrics/fine_psnr,5500,19.150455474853516 +SV100-R1,camp,Eval Images Metrics/fine_psnr,6000,17.73150062561035 +SV100-R1,camp,Eval Images Metrics/fine_psnr,6500,20.79111099243164 +SV100-R1,camp,Eval Images Metrics/fine_psnr,7000,17.798446655273438 +SV100-R1,camp,Eval Images Metrics/fine_psnr,7500,19.42402458190918 +SV100-R1,camp,Eval Images Metrics/fine_psnr,8000,18.19367027282715 +SV100-R1,camp,Eval Images Metrics/fine_psnr,8500,19.181808471679688 +SV100-R1,camp,Eval Images Metrics/fine_psnr,9000,20.089324951171875 +SV100-R1,camp,Eval Images Metrics/fine_psnr,9500,17.674942016601562 +SV100-R1,camp,Eval Images Metrics/fine_psnr,10000,17.81532859802246 +SV100-R1,camp,Eval Images Metrics/fine_psnr,10500,17.617868423461914 +SV100-R1,camp,Eval Images Metrics/fine_psnr,11000,16.28350257873535 +SV100-R1,camp,Eval Images Metrics/fine_psnr,11500,17.22197723388672 +SV100-R1,camp,Eval Images Metrics/fine_psnr,12000,15.506218910217285 +SV100-R1,camp,Eval Images Metrics/fine_psnr,12500,16.187477111816406 +SV100-R1,camp,Eval Images Metrics/fine_psnr,13000,16.122209548950195 +SV100-R1,camp,Eval Images Metrics/fine_psnr,13500,16.05941390991211 +SV100-R1,camp,Eval Images Metrics/fine_psnr,14000,16.781190872192383 +SV100-R1,camp,Eval Images Metrics/fine_psnr,14500,16.78666114807129 +SV100-R1,camp,Eval Images Metrics/fine_psnr,15000,23.778736114501953 +SV100-R1,camp,Eval Images Metrics/fine_psnr,15500,17.534242630004883 +SV100-R1,camp,Eval Images Metrics/fine_psnr,16000,15.329366683959961 +SV100-R1,camp,Eval Images Metrics/fine_psnr,16500,20.46012306213379 +SV100-R1,camp,Eval Images Metrics/fine_psnr,17000,17.899497985839844 +SV100-R1,camp,Eval Images Metrics/fine_psnr,17500,16.973892211914062 +SV100-R1,camp,Eval Images Metrics/fine_psnr,18000,16.781564712524414 +SV100-R1,camp,Eval Images Metrics/fine_psnr,18500,19.763469696044922 +SV100-R1,camp,Eval Images Metrics/fine_psnr,19000,19.06866455078125 +SV100-R1,camp,Eval Images Metrics/fine_psnr,19500,15.785080909729004 +SV100-R1,camp,Eval Images Metrics/fine_psnr,20000,18.303647994995117 +SV100-R1,camp,Eval Images Metrics/fine_psnr,20500,19.670015335083008 +SV100-R1,camp,Eval Images Metrics/fine_psnr,21000,17.552377700805664 +SV100-R1,camp,Eval Images Metrics/fine_psnr,21500,17.50130844116211 +SV100-R1,camp,Eval Images Metrics/fine_psnr,22000,15.873809814453125 +SV100-R1,camp,Eval Images Metrics/fine_psnr,22500,15.59477424621582 +SV100-R1,camp,Eval Images Metrics/fine_psnr,23000,16.005815505981445 +SV100-R1,camp,Eval Images Metrics/fine_psnr,23500,15.95559024810791 +SV100-R1,camp,Eval Images Metrics/fine_psnr,24000,16.7076473236084 +SV100-R1,camp,Eval Images Metrics/fine_psnr,24500,19.05261993408203 +SV100-R1,camp,Eval Images Metrics/fine_psnr,25000,17.651174545288086 +SV100-R1,camp,Eval Images Metrics/fine_psnr,25500,17.076995849609375 +SV100-R1,camp,Eval Images Metrics/fine_psnr,26000,15.074292182922363 +SV100-R1,camp,Eval Images Metrics/fine_psnr,26500,16.760950088500977 +SV100-R1,camp,Eval Images Metrics/fine_psnr,27000,20.32655143737793 +SV100-R1,camp,Eval Images Metrics/fine_psnr,27500,15.494400978088379 +SV100-R1,camp,Eval Images Metrics/fine_psnr,28000,20.59861946105957 +SV100-R1,camp,Eval Images Metrics/fine_psnr,28500,16.94151496887207 +SV100-R1,camp,Eval Images Metrics/fine_psnr,29000,17.505035400390625 +SV100-R1,camp,Eval Images Metrics/fine_psnr,29500,15.521408081054688 +SV100-R1,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,17.679004669189453 +SV100-R1,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.746929407119751 +SV100-R1,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.17274025082588196 +SV100-R1,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-R1,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-R1,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-R1,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-R1,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-R1,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-R1,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-R1,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-R1,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-R1,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-R1,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-R1,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-R1,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-R1,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-R1,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-R1,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-R1,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-R1,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-R1,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-R1,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-R1,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-R1,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-R1,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-R1,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-R1,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-R1,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-R1,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-R1,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-R1,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-R1,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-R1,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-R1,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-R1,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-R1,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-R1,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-R1,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-R1,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-R1,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-R1,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-R1,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-R1,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-R1,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-R1,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-R1,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-R1,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-R1,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-R1,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-R1,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-R1,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-R1,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-R1,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-R1,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-R1,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-R1,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-R1,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-R1,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-R1,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-R1,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-R1,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-R1,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-R1,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-R1,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-R1,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-R1,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-R1,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-R1,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-R1,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-R1,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-R1,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-R1,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-R1,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-R1,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-R1,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-R1,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-R1,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-R1,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-R1,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-R1,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-R1,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-R1,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-R1,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-R1,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-R1,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-R1,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-R1,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-R1,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-R1,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-R1,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-R1,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-R1,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-R1,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-R1,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-R1,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-R1,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-R1,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-R1,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-R1,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-R1,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-R1,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-R1,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-R1,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-R1,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-R1,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-R1,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-R1,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-R1,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-R1,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-R1,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-R1,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-R1,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-R1,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-R1,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-R1,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-R1,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-R1,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-R1,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-R1,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-R1,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-R1,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-R1,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-R1,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-R1,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-R1,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-R1,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-R1,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-R1,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-R1,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-R1,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-R1,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-R1,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-R1,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-R1,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-R1,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-R1,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-R1,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-R1,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-R1,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-R1,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-R1,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-R1,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-R1,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-R1,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-R1,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-R1,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-R1,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-R1,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-R1,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-R1,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-R1,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-R1,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-R1,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R1,naive_warmup,Train Loss,0,0.34218087792396545 +SV100-R1,naive_warmup,Train Loss,50,0.31848883628845215 +SV100-R1,naive_warmup,Train Loss,100,0.1848127692937851 +SV100-R1,naive_warmup,Train Loss,150,0.17689938843250275 +SV100-R1,naive_warmup,Train Loss,200,0.16411146521568298 +SV100-R1,naive_warmup,Train Loss,250,0.1529936045408249 +SV100-R1,naive_warmup,Train Loss,300,0.1440764218568802 +SV100-R1,naive_warmup,Train Loss,350,0.08658958971500397 +SV100-R1,naive_warmup,Train Loss,400,0.06551109254360199 +SV100-R1,naive_warmup,Train Loss,450,0.063032366335392 +SV100-R1,naive_warmup,Train Loss,500,0.055533189326524734 +SV100-R1,naive_warmup,Train Loss,550,0.050514817237854004 +SV100-R1,naive_warmup,Train Loss,600,0.04860776662826538 +SV100-R1,naive_warmup,Train Loss,650,0.05234219878911972 +SV100-R1,naive_warmup,Train Loss,700,0.04662705957889557 +SV100-R1,naive_warmup,Train Loss,750,0.04765765741467476 +SV100-R1,naive_warmup,Train Loss,800,0.04742664843797684 +SV100-R1,naive_warmup,Train Loss,850,0.04514584690332413 +SV100-R1,naive_warmup,Train Loss,900,0.038451626896858215 +SV100-R1,naive_warmup,Train Loss,950,0.04146373271942139 +SV100-R1,naive_warmup,Train Loss,1000,0.04047837108373642 +SV100-R1,naive_warmup,Train Loss,1050,0.03316405043005943 +SV100-R1,naive_warmup,Train Loss,1100,0.03490729257464409 +SV100-R1,naive_warmup,Train Loss,1150,0.040647562593221664 +SV100-R1,naive_warmup,Train Loss,1200,0.032120708376169205 +SV100-R1,naive_warmup,Train Loss,1250,0.03519986569881439 +SV100-R1,naive_warmup,Train Loss,1300,0.03342927619814873 +SV100-R1,naive_warmup,Train Loss,1350,0.03702271357178688 +SV100-R1,naive_warmup,Train Loss,1400,0.03292783722281456 +SV100-R1,naive_warmup,Train Loss,1450,0.02493070811033249 +SV100-R1,naive_warmup,Train Loss,1500,0.02808641828596592 +SV100-R1,naive_warmup,Train Loss,1550,0.037323348224163055 +SV100-R1,naive_warmup,Train Loss,1600,0.03274017572402954 +SV100-R1,naive_warmup,Train Loss,1650,0.03112705796957016 +SV100-R1,naive_warmup,Train Loss,1700,0.03590063750743866 +SV100-R1,naive_warmup,Train Loss,1750,0.03114347532391548 +SV100-R1,naive_warmup,Train Loss,1800,0.03194829821586609 +SV100-R1,naive_warmup,Train Loss,1850,0.025658398866653442 +SV100-R1,naive_warmup,Train Loss,1900,0.03589055687189102 +SV100-R1,naive_warmup,Train Loss,1950,0.028336279094219208 +SV100-R1,naive_warmup,Train Loss,2000,0.029824309051036835 +SV100-R1,naive_warmup,Train Loss,2050,0.029235996305942535 +SV100-R1,naive_warmup,Train Loss,2100,0.03590453416109085 +SV100-R1,naive_warmup,Train Loss,2150,0.0313468873500824 +SV100-R1,naive_warmup,Train Loss,2200,0.0315902903676033 +SV100-R1,naive_warmup,Train Loss,2250,0.03123704344034195 +SV100-R1,naive_warmup,Train Loss,2300,0.02592899464070797 +SV100-R1,naive_warmup,Train Loss,2350,0.03192102164030075 +SV100-R1,naive_warmup,Train Loss,2400,0.03145048767328262 +SV100-R1,naive_warmup,Train Loss,2450,0.02828802727162838 +SV100-R1,naive_warmup,Train Loss,2500,0.023984868079423904 +SV100-R1,naive_warmup,Train Loss,2550,0.029484014958143234 +SV100-R1,naive_warmup,Train Loss,2600,0.02859364077448845 +SV100-R1,naive_warmup,Train Loss,2650,0.025579221546649933 +SV100-R1,naive_warmup,Train Loss,2700,0.028032401576638222 +SV100-R1,naive_warmup,Train Loss,2750,0.028329771012067795 +SV100-R1,naive_warmup,Train Loss,2800,0.02983999438583851 +SV100-R1,naive_warmup,Train Loss,2850,0.02668815106153488 +SV100-R1,naive_warmup,Train Loss,2900,0.02445070818066597 +SV100-R1,naive_warmup,Train Loss,2950,0.03112465888261795 +SV100-R1,naive_warmup,Train Loss,3000,0.02740478701889515 +SV100-R1,naive_warmup,Train Loss,3050,0.02197064831852913 +SV100-R1,naive_warmup,Train Loss,3100,0.0231180340051651 +SV100-R1,naive_warmup,Train Loss,3150,0.026850800961256027 +SV100-R1,naive_warmup,Train Loss,3200,0.023241689428687096 +SV100-R1,naive_warmup,Train Loss,3250,0.025613002479076385 +SV100-R1,naive_warmup,Train Loss,3300,0.023033393546938896 +SV100-R1,naive_warmup,Train Loss,3350,0.026959411799907684 +SV100-R1,naive_warmup,Train Loss,3400,0.025974106043577194 +SV100-R1,naive_warmup,Train Loss,3450,0.023124895989894867 +SV100-R1,naive_warmup,Train Loss,3500,0.02249009534716606 +SV100-R1,naive_warmup,Train Loss,3550,0.02302752248942852 +SV100-R1,naive_warmup,Train Loss,3600,0.02537566050887108 +SV100-R1,naive_warmup,Train Loss,3650,0.02598460391163826 +SV100-R1,naive_warmup,Train Loss,3700,0.022124022245407104 +SV100-R1,naive_warmup,Train Loss,3750,0.021411092951893806 +SV100-R1,naive_warmup,Train Loss,3800,0.022316567599773407 +SV100-R1,naive_warmup,Train Loss,3850,0.019898798316717148 +SV100-R1,naive_warmup,Train Loss,3900,0.026974741369485855 +SV100-R1,naive_warmup,Train Loss,3950,0.02179291471838951 +SV100-R1,naive_warmup,Train Loss,4000,0.024905940517783165 +SV100-R1,naive_warmup,Train Loss,4050,0.018794313073158264 +SV100-R1,naive_warmup,Train Loss,4100,0.018941184505820274 +SV100-R1,naive_warmup,Train Loss,4150,0.022785760462284088 +SV100-R1,naive_warmup,Train Loss,4200,0.02153763547539711 +SV100-R1,naive_warmup,Train Loss,4250,0.024318397045135498 +SV100-R1,naive_warmup,Train Loss,4300,0.016882549971342087 +SV100-R1,naive_warmup,Train Loss,4350,0.017783664166927338 +SV100-R1,naive_warmup,Train Loss,4400,0.02100435271859169 +SV100-R1,naive_warmup,Train Loss,4450,0.017859596759080887 +SV100-R1,naive_warmup,Train Loss,4500,0.019638776779174805 +SV100-R1,naive_warmup,Train Loss,4550,0.01984718069434166 +SV100-R1,naive_warmup,Train Loss,4600,0.019422005861997604 +SV100-R1,naive_warmup,Train Loss,4650,0.023656629025936127 +SV100-R1,naive_warmup,Train Loss,4700,0.020947210490703583 +SV100-R1,naive_warmup,Train Loss,4750,0.018368303775787354 +SV100-R1,naive_warmup,Train Loss,4800,0.01970251277089119 +SV100-R1,naive_warmup,Train Loss,4850,0.01998371072113514 +SV100-R1,naive_warmup,Train Loss,4900,0.020185120403766632 +SV100-R1,naive_warmup,Train Loss,4950,0.0195237435400486 +SV100-R1,naive_warmup,Train Loss,5000,0.01686987839639187 +SV100-R1,naive_warmup,Train Loss,5500,0.01720377802848816 +SV100-R1,naive_warmup,Train Loss,6000,0.015234721824526787 +SV100-R1,naive_warmup,Train Loss,6500,0.02250489592552185 +SV100-R1,naive_warmup,Train Loss,7000,0.016631487756967545 +SV100-R1,naive_warmup,Train Loss,7500,0.017658807337284088 +SV100-R1,naive_warmup,Train Loss,8000,0.013554660603404045 +SV100-R1,naive_warmup,Train Loss,8500,0.012032526545226574 +SV100-R1,naive_warmup,Train Loss,9000,0.01494046300649643 +SV100-R1,naive_warmup,Train Loss,9500,0.013609128072857857 +SV100-R1,naive_warmup,Train Loss,10000,0.014287875033915043 +SV100-R1,naive_warmup,Train Loss,10500,0.012058420106768608 +SV100-R1,naive_warmup,Train Loss,11000,0.010219011455774307 +SV100-R1,naive_warmup,Train Loss,11500,0.011072006076574326 +SV100-R1,naive_warmup,Train Loss,12000,0.008939981460571289 +SV100-R1,naive_warmup,Train Loss,12500,0.013375720009207726 +SV100-R1,naive_warmup,Train Loss,13000,0.011441518552601337 +SV100-R1,naive_warmup,Train Loss,13500,0.01169493142515421 +SV100-R1,naive_warmup,Train Loss,14000,0.01199447549879551 +SV100-R1,naive_warmup,Train Loss,14500,0.010267136618494987 +SV100-R1,naive_warmup,Train Loss,15000,0.009468020871281624 +SV100-R1,naive_warmup,Train Loss,15500,0.011772222816944122 +SV100-R1,naive_warmup,Train Loss,16000,0.011069528758525848 +SV100-R1,naive_warmup,Train Loss,16500,0.008506939746439457 +SV100-R1,naive_warmup,Train Loss,17000,0.008766114711761475 +SV100-R1,naive_warmup,Train Loss,17500,0.007886504754424095 +SV100-R1,naive_warmup,Train Loss,18000,0.009308152832090855 +SV100-R1,naive_warmup,Train Loss,18500,0.007869170978665352 +SV100-R1,naive_warmup,Train Loss,19000,0.007853331044316292 +SV100-R1,naive_warmup,Train Loss,19500,0.010219014249742031 +SV100-R1,naive_warmup,Train Loss,20000,0.0087517611682415 +SV100-R1,naive_warmup,Train Loss,20500,0.008131582289934158 +SV100-R1,naive_warmup,Train Loss,21000,0.007838042452931404 +SV100-R1,naive_warmup,Train Loss,21500,0.0060562025755643845 +SV100-R1,naive_warmup,Train Loss,22000,0.01049246359616518 +SV100-R1,naive_warmup,Train Loss,22500,0.007374752778559923 +SV100-R1,naive_warmup,Train Loss,23000,0.008301209658384323 +SV100-R1,naive_warmup,Train Loss,23500,0.007881734520196915 +SV100-R1,naive_warmup,Train Loss,24000,0.005890302360057831 +SV100-R1,naive_warmup,Train Loss,24500,0.007894407026469707 +SV100-R1,naive_warmup,Train Loss,25000,0.007432299200445414 +SV100-R1,naive_warmup,Train Loss,25500,0.00817752443253994 +SV100-R1,naive_warmup,Train Loss,26000,0.006631028838455677 +SV100-R1,naive_warmup,Train Loss,26500,0.006057741120457649 +SV100-R1,naive_warmup,Train Loss,27000,0.007323883473873138 +SV100-R1,naive_warmup,Train Loss,27500,0.006040210835635662 +SV100-R1,naive_warmup,Train Loss,28000,0.006005941890180111 +SV100-R1,naive_warmup,Train Loss,28500,0.0065463087521493435 +SV100-R1,naive_warmup,Train Loss,29000,0.008833985775709152 +SV100-R1,naive_warmup,Train Loss,29500,0.007130018901079893 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,500,16.007659912109375 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,1000,18.87457847595215 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,1500,19.28984832763672 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,2000,18.915882110595703 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,2500,19.46721076965332 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,3000,19.49879264831543 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,3500,19.478572845458984 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,4000,19.931564331054688 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,4500,19.779071807861328 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,5000,20.512636184692383 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,5500,19.749847412109375 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,6000,20.63812828063965 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,6500,20.346492767333984 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,7000,21.651317596435547 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,7500,22.774417877197266 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,8000,22.37921714782715 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,8500,20.382143020629883 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,9000,20.83089828491211 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,9500,20.85381317138672 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,10000,20.65500259399414 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,10500,22.48480987548828 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,11000,22.414432525634766 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,11500,22.095539093017578 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,12000,23.135784149169922 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,12500,21.787538528442383 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,13000,21.91301155090332 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,13500,22.082717895507812 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,14000,20.95762062072754 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,14500,21.6381893157959 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,15000,21.282638549804688 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,15500,20.566133499145508 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,16000,23.680347442626953 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,16500,20.299924850463867 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,17000,21.7291316986084 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,17500,22.259862899780273 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,18000,21.9097957611084 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,18500,20.106483459472656 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,19000,22.24776268005371 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,19500,22.208290100097656 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,20000,20.133745193481445 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,20500,21.244142532348633 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,21000,21.317922592163086 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,21500,19.93851089477539 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,22000,21.742380142211914 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,22500,22.202810287475586 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,23000,21.456119537353516 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,23500,21.425209045410156 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,24000,20.39710807800293 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,24500,19.895751953125 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,25000,21.7547664642334 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,25500,20.172245025634766 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,26000,22.546842575073242 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,26500,20.752817153930664 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,27000,20.104082107543945 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,27500,22.116451263427734 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,28000,21.34547233581543 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,28500,21.674808502197266 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,29000,20.052568435668945 +SV100-R1,naive_warmup,Eval Images Metrics/fine_psnr,29500,21.850889205932617 +SV100-R1,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,21.64657211303711 +SV100-R1,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.8062994480133057 +SV100-R1,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.11748077720403671 +SV100-R1,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-R1,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-R1,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-R1,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-R1,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-R1,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-R1,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-R1,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-R1,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-R1,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-R1,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-R1,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-R1,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-R1,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-R1,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-R1,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-R1,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-R1,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-R1,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-R1,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-R1,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-R1,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-R1,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-R1,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-R1,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-R1,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-R1,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-R1,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-R1,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-R1,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-R1,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-R1,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-R1,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-R1,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-R1,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-R1,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-R1,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-R1,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-R1,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-R1,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-R1,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-R1,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-R1,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-R1,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-R1,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-R1,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-R1,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-R1,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-R1,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-R1,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-R1,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-R1,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-R1,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-R1,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-R1,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-R1,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-R1,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-R1,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-R1,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-R1,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-R1,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-R1,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-R1,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-R1,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-R1,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-R1,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-R1,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-R1,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-R1,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-R1,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-R1,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-R1,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-R1,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-R1,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-R1,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-R1,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-R1,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-R1,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-R1,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-R1,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-R1,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-R1,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-R1,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-R1,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-R1,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-R1,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-R1,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-R1,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-R1,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-R1,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-R1,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-R1,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-R1,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-R1,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-R1,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-R1,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-R1,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-R1,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-R1,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-R1,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-R1,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-R1,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-R1,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-R1,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-R1,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-R1,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-R1,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-R1,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-R1,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-R1,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-R1,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-R1,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-R1,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-R1,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-R1,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-R1,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-R1,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-R1,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-R1,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-R1,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-R1,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-R1,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-R1,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-R1,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-R1,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-R1,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-R1,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-R1,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-R1,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-R1,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-R1,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-R1,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-R1,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-R1,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-R1,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-R1,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-R1,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-R1,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-R1,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-R1,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-R1,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-R1,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-R1,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-R1,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-R1,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-R1,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-R1,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-R1,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-R1,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-R1,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-R1,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R1,camp_warmup,Train Loss,0,0.34218087792396545 +SV100-R1,camp_warmup,Train Loss,50,0.3184855580329895 +SV100-R1,camp_warmup,Train Loss,100,0.18487432599067688 +SV100-R1,camp_warmup,Train Loss,150,0.17688727378845215 +SV100-R1,camp_warmup,Train Loss,200,0.16408073902130127 +SV100-R1,camp_warmup,Train Loss,250,0.15297861397266388 +SV100-R1,camp_warmup,Train Loss,300,0.1437416970729828 +SV100-R1,camp_warmup,Train Loss,350,0.08723264932632446 +SV100-R1,camp_warmup,Train Loss,400,0.07049532234668732 +SV100-R1,camp_warmup,Train Loss,450,0.058894842863082886 +SV100-R1,camp_warmup,Train Loss,500,0.05619626119732857 +SV100-R1,camp_warmup,Train Loss,550,0.048094671219587326 +SV100-R1,camp_warmup,Train Loss,600,0.05082861706614494 +SV100-R1,camp_warmup,Train Loss,650,0.05353860557079315 +SV100-R1,camp_warmup,Train Loss,700,0.04739394783973694 +SV100-R1,camp_warmup,Train Loss,750,0.04407782107591629 +SV100-R1,camp_warmup,Train Loss,800,0.04909652844071388 +SV100-R1,camp_warmup,Train Loss,850,0.04606684297323227 +SV100-R1,camp_warmup,Train Loss,900,0.03695632517337799 +SV100-R1,camp_warmup,Train Loss,950,0.04108792543411255 +SV100-R1,camp_warmup,Train Loss,1000,0.03548991680145264 +SV100-R1,camp_warmup,Train Loss,1050,0.030685221776366234 +SV100-R1,camp_warmup,Train Loss,1100,0.03825294226408005 +SV100-R1,camp_warmup,Train Loss,1150,0.036224715411663055 +SV100-R1,camp_warmup,Train Loss,1200,0.03309572488069534 +SV100-R1,camp_warmup,Train Loss,1250,0.04182438552379608 +SV100-R1,camp_warmup,Train Loss,1300,0.03572654724121094 +SV100-R1,camp_warmup,Train Loss,1350,0.038827911019325256 +SV100-R1,camp_warmup,Train Loss,1400,0.03136194869875908 +SV100-R1,camp_warmup,Train Loss,1450,0.027836494147777557 +SV100-R1,camp_warmup,Train Loss,1500,0.03557639569044113 +SV100-R1,camp_warmup,Train Loss,1550,0.038186367601156235 +SV100-R1,camp_warmup,Train Loss,1600,0.03447331488132477 +SV100-R1,camp_warmup,Train Loss,1650,0.0374903604388237 +SV100-R1,camp_warmup,Train Loss,1700,0.03237644582986832 +SV100-R1,camp_warmup,Train Loss,1750,0.034982454031705856 +SV100-R1,camp_warmup,Train Loss,1800,0.03170855715870857 +SV100-R1,camp_warmup,Train Loss,1850,0.02548259310424328 +SV100-R1,camp_warmup,Train Loss,1900,0.03625566512346268 +SV100-R1,camp_warmup,Train Loss,1950,0.0329241082072258 +SV100-R1,camp_warmup,Train Loss,2000,0.03181244432926178 +SV100-R1,camp_warmup,Train Loss,2050,0.02776523306965828 +SV100-R1,camp_warmup,Train Loss,2100,0.03253508359193802 +SV100-R1,camp_warmup,Train Loss,2150,0.03215852007269859 +SV100-R1,camp_warmup,Train Loss,2200,0.03196943178772926 +SV100-R1,camp_warmup,Train Loss,2250,0.03118908405303955 +SV100-R1,camp_warmup,Train Loss,2300,0.028362927958369255 +SV100-R1,camp_warmup,Train Loss,2350,0.033824432641267776 +SV100-R1,camp_warmup,Train Loss,2400,0.03140633925795555 +SV100-R1,camp_warmup,Train Loss,2450,0.031024301424622536 +SV100-R1,camp_warmup,Train Loss,2500,0.02774903178215027 +SV100-R1,camp_warmup,Train Loss,2550,0.03917722404003143 +SV100-R1,camp_warmup,Train Loss,2600,0.0312531478703022 +SV100-R1,camp_warmup,Train Loss,2650,0.031455252319574356 +SV100-R1,camp_warmup,Train Loss,2700,0.033478207886219025 +SV100-R1,camp_warmup,Train Loss,2750,0.029351258650422096 +SV100-R1,camp_warmup,Train Loss,2800,0.02789614535868168 +SV100-R1,camp_warmup,Train Loss,2850,0.029617909342050552 +SV100-R1,camp_warmup,Train Loss,2900,0.022876594215631485 +SV100-R1,camp_warmup,Train Loss,2950,0.030076200142502785 +SV100-R1,camp_warmup,Train Loss,3000,0.027064604684710503 +SV100-R1,camp_warmup,Train Loss,3050,0.026530522853136063 +SV100-R1,camp_warmup,Train Loss,3100,0.02691139653325081 +SV100-R1,camp_warmup,Train Loss,3150,0.026775527745485306 +SV100-R1,camp_warmup,Train Loss,3200,0.028032336384058 +SV100-R1,camp_warmup,Train Loss,3250,0.026177316904067993 +SV100-R1,camp_warmup,Train Loss,3300,0.027807235717773438 +SV100-R1,camp_warmup,Train Loss,3350,0.031245116144418716 +SV100-R1,camp_warmup,Train Loss,3400,0.02578173391520977 +SV100-R1,camp_warmup,Train Loss,3450,0.02809710055589676 +SV100-R1,camp_warmup,Train Loss,3500,0.029259752482175827 +SV100-R1,camp_warmup,Train Loss,3550,0.02615983411669731 +SV100-R1,camp_warmup,Train Loss,3600,0.02793051302433014 +SV100-R1,camp_warmup,Train Loss,3650,0.028894618153572083 +SV100-R1,camp_warmup,Train Loss,3700,0.027376584708690643 +SV100-R1,camp_warmup,Train Loss,3750,0.021225033327937126 +SV100-R1,camp_warmup,Train Loss,3800,0.027217723429203033 +SV100-R1,camp_warmup,Train Loss,3850,0.024715539067983627 +SV100-R1,camp_warmup,Train Loss,3900,0.0333661288022995 +SV100-R1,camp_warmup,Train Loss,3950,0.025551140308380127 +SV100-R1,camp_warmup,Train Loss,4000,0.029329465702176094 +SV100-R1,camp_warmup,Train Loss,4050,0.022044111043214798 +SV100-R1,camp_warmup,Train Loss,4100,0.023821275681257248 +SV100-R1,camp_warmup,Train Loss,4150,0.025681272149086 +SV100-R1,camp_warmup,Train Loss,4200,0.020790088921785355 +SV100-R1,camp_warmup,Train Loss,4250,0.024820202961564064 +SV100-R1,camp_warmup,Train Loss,4300,0.019552435725927353 +SV100-R1,camp_warmup,Train Loss,4350,0.022457238286733627 +SV100-R1,camp_warmup,Train Loss,4400,0.021010559052228928 +SV100-R1,camp_warmup,Train Loss,4450,0.020934227854013443 +SV100-R1,camp_warmup,Train Loss,4500,0.023910589516162872 +SV100-R1,camp_warmup,Train Loss,4550,0.018846724182367325 +SV100-R1,camp_warmup,Train Loss,4600,0.02293221466243267 +SV100-R1,camp_warmup,Train Loss,4650,0.023703813552856445 +SV100-R1,camp_warmup,Train Loss,4700,0.023580681532621384 +SV100-R1,camp_warmup,Train Loss,4750,0.02102191373705864 +SV100-R1,camp_warmup,Train Loss,4800,0.022082213312387466 +SV100-R1,camp_warmup,Train Loss,4850,0.018387222662568092 +SV100-R1,camp_warmup,Train Loss,4900,0.02260863408446312 +SV100-R1,camp_warmup,Train Loss,4950,0.022269442677497864 +SV100-R1,camp_warmup,Train Loss,5000,0.024636059999465942 +SV100-R1,camp_warmup,Train Loss,5500,0.018655600026249886 +SV100-R1,camp_warmup,Train Loss,6000,0.015681296586990356 +SV100-R1,camp_warmup,Train Loss,6500,0.01840154640376568 +SV100-R1,camp_warmup,Train Loss,7000,0.01938510313630104 +SV100-R1,camp_warmup,Train Loss,7500,0.015211839228868484 +SV100-R1,camp_warmup,Train Loss,8000,0.015290545299649239 +SV100-R1,camp_warmup,Train Loss,8500,0.015380039811134338 +SV100-R1,camp_warmup,Train Loss,9000,0.01327882893383503 +SV100-R1,camp_warmup,Train Loss,9500,0.014387322589755058 +SV100-R1,camp_warmup,Train Loss,10000,0.013937294483184814 +SV100-R1,camp_warmup,Train Loss,10500,0.013187031261622906 +SV100-R1,camp_warmup,Train Loss,11000,0.011522850953042507 +SV100-R1,camp_warmup,Train Loss,11500,0.011441831476986408 +SV100-R1,camp_warmup,Train Loss,12000,0.01208803616464138 +SV100-R1,camp_warmup,Train Loss,12500,0.015668004751205444 +SV100-R1,camp_warmup,Train Loss,13000,0.012897109612822533 +SV100-R1,camp_warmup,Train Loss,13500,0.012555599212646484 +SV100-R1,camp_warmup,Train Loss,14000,0.01128001231700182 +SV100-R1,camp_warmup,Train Loss,14500,0.010235129855573177 +SV100-R1,camp_warmup,Train Loss,15000,0.010452119633555412 +SV100-R1,camp_warmup,Train Loss,15500,0.009807437658309937 +SV100-R1,camp_warmup,Train Loss,16000,0.010662859305739403 +SV100-R1,camp_warmup,Train Loss,16500,0.009012771770358086 +SV100-R1,camp_warmup,Train Loss,17000,0.008259119465947151 +SV100-R1,camp_warmup,Train Loss,17500,0.009128881618380547 +SV100-R1,camp_warmup,Train Loss,18000,0.008582279086112976 +SV100-R1,camp_warmup,Train Loss,18500,0.01010151021182537 +SV100-R1,camp_warmup,Train Loss,19000,0.007168788928538561 +SV100-R1,camp_warmup,Train Loss,19500,0.01082382258027792 +SV100-R1,camp_warmup,Train Loss,20000,0.007420832756906748 +SV100-R1,camp_warmup,Train Loss,20500,0.008053124882280827 +SV100-R1,camp_warmup,Train Loss,21000,0.008439688943326473 +SV100-R1,camp_warmup,Train Loss,21500,0.006566047202795744 +SV100-R1,camp_warmup,Train Loss,22000,0.009023593738675117 +SV100-R1,camp_warmup,Train Loss,22500,0.0067848339676856995 +SV100-R1,camp_warmup,Train Loss,23000,0.007755187340080738 +SV100-R1,camp_warmup,Train Loss,23500,0.007778925821185112 +SV100-R1,camp_warmup,Train Loss,24000,0.006199635099619627 +SV100-R1,camp_warmup,Train Loss,24500,0.007387552410364151 +SV100-R1,camp_warmup,Train Loss,25000,0.0075718071311712265 +SV100-R1,camp_warmup,Train Loss,25500,0.006858129519969225 +SV100-R1,camp_warmup,Train Loss,26000,0.006838776171207428 +SV100-R1,camp_warmup,Train Loss,26500,0.006447765976190567 +SV100-R1,camp_warmup,Train Loss,27000,0.007250129710882902 +SV100-R1,camp_warmup,Train Loss,27500,0.00547004071995616 +SV100-R1,camp_warmup,Train Loss,28000,0.005995036102831364 +SV100-R1,camp_warmup,Train Loss,28500,0.0057825809344649315 +SV100-R1,camp_warmup,Train Loss,29000,0.0076954662799835205 +SV100-R1,camp_warmup,Train Loss,29500,0.006576559506356716 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,500,15.827829360961914 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,1000,19.043472290039062 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,1500,19.168975830078125 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,2000,19.063129425048828 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,2500,19.305622100830078 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,3000,18.853172302246094 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,3500,18.891998291015625 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,4000,19.848892211914062 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,4500,20.165800094604492 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,5000,19.467527389526367 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,5500,19.893878936767578 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,6000,19.1223201751709 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,6500,20.45392417907715 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,7000,20.980876922607422 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,7500,21.263845443725586 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,8000,21.42787742614746 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,8500,19.399219512939453 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,9000,20.06521224975586 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,9500,18.766942977905273 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,10000,18.81949806213379 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,10500,20.615074157714844 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,11000,19.80656623840332 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,11500,19.99564552307129 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,12000,18.900972366333008 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,12500,19.08846092224121 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,13000,19.652467727661133 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,13500,19.379716873168945 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,14000,18.137414932250977 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,14500,18.717998504638672 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,15000,19.164609909057617 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,15500,18.25638771057129 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,16000,19.25369644165039 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,16500,19.07491111755371 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,17000,19.001859664916992 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,17500,19.560625076293945 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,18000,19.035846710205078 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,18500,18.665626525878906 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,19000,20.975624084472656 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,19500,18.992298126220703 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,20000,18.308788299560547 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,20500,19.532188415527344 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,21000,18.433395385742188 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,21500,17.907440185546875 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,22000,18.17597198486328 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,22500,18.732666015625 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,23000,18.447643280029297 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,23500,18.324569702148438 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,24000,17.767776489257812 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,24500,18.148326873779297 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,25000,17.829010009765625 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,25500,17.799755096435547 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,26000,17.6790771484375 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,26500,17.873783111572266 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,27000,18.410354614257812 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,27500,18.566598892211914 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,28000,18.04985237121582 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,28500,17.656259536743164 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,29000,17.81757354736328 +SV100-R1,camp_warmup,Eval Images Metrics/fine_psnr,29500,18.651533126831055 +SV100-R1,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,18.547117233276367 +SV100-R1,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7592892646789551 +SV100-R1,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.1623881757259369 +SV100-R2,fixed,Train Loss,0,0.3426017463207245 +SV100-R2,fixed,Train Loss,50,0.31655630469322205 +SV100-R2,fixed,Train Loss,100,0.1779167503118515 +SV100-R2,fixed,Train Loss,150,0.17670375108718872 +SV100-R2,fixed,Train Loss,200,0.17682889103889465 +SV100-R2,fixed,Train Loss,250,0.16579750180244446 +SV100-R2,fixed,Train Loss,300,0.13950115442276 +SV100-R2,fixed,Train Loss,350,0.10155923664569855 +SV100-R2,fixed,Train Loss,400,0.07739025354385376 +SV100-R2,fixed,Train Loss,450,0.07475785911083221 +SV100-R2,fixed,Train Loss,500,0.0630943775177002 +SV100-R2,fixed,Train Loss,550,0.07444623112678528 +SV100-R2,fixed,Train Loss,600,0.06342814862728119 +SV100-R2,fixed,Train Loss,650,0.059522055089473724 +SV100-R2,fixed,Train Loss,700,0.06355404853820801 +SV100-R2,fixed,Train Loss,750,0.06329989433288574 +SV100-R2,fixed,Train Loss,800,0.05869322270154953 +SV100-R2,fixed,Train Loss,850,0.05492236092686653 +SV100-R2,fixed,Train Loss,900,0.05187178775668144 +SV100-R2,fixed,Train Loss,950,0.06353721022605896 +SV100-R2,fixed,Train Loss,1000,0.05451669916510582 +SV100-R2,fixed,Train Loss,1050,0.053943388164043427 +SV100-R2,fixed,Train Loss,1100,0.05066845566034317 +SV100-R2,fixed,Train Loss,1150,0.05393359065055847 +SV100-R2,fixed,Train Loss,1200,0.05607249587774277 +SV100-R2,fixed,Train Loss,1250,0.06192164495587349 +SV100-R2,fixed,Train Loss,1300,0.060916412621736526 +SV100-R2,fixed,Train Loss,1350,0.05511984974145889 +SV100-R2,fixed,Train Loss,1400,0.04876655712723732 +SV100-R2,fixed,Train Loss,1450,0.05472833663225174 +SV100-R2,fixed,Train Loss,1500,0.05849513038992882 +SV100-R2,fixed,Train Loss,1550,0.060062479227781296 +SV100-R2,fixed,Train Loss,1600,0.050541896373033524 +SV100-R2,fixed,Train Loss,1650,0.05832507461309433 +SV100-R2,fixed,Train Loss,1700,0.057891495525836945 +SV100-R2,fixed,Train Loss,1750,0.05358939990401268 +SV100-R2,fixed,Train Loss,1800,0.0492234006524086 +SV100-R2,fixed,Train Loss,1850,0.05652007460594177 +SV100-R2,fixed,Train Loss,1900,0.05907056853175163 +SV100-R2,fixed,Train Loss,1950,0.06081731617450714 +SV100-R2,fixed,Train Loss,2000,0.057148076593875885 +SV100-R2,fixed,Train Loss,2050,0.048780571669340134 +SV100-R2,fixed,Train Loss,2100,0.05679113790392876 +SV100-R2,fixed,Train Loss,2150,0.05186450853943825 +SV100-R2,fixed,Train Loss,2200,0.056045569479465485 +SV100-R2,fixed,Train Loss,2250,0.043554939329624176 +SV100-R2,fixed,Train Loss,2300,0.050379540771245956 +SV100-R2,fixed,Train Loss,2350,0.05665234848856926 +SV100-R2,fixed,Train Loss,2400,0.052120279520750046 +SV100-R2,fixed,Train Loss,2450,0.05408176779747009 +SV100-R2,fixed,Train Loss,2500,0.0556955523788929 +SV100-R2,fixed,Train Loss,2550,0.061995748430490494 +SV100-R2,fixed,Train Loss,2600,0.05677339434623718 +SV100-R2,fixed,Train Loss,2650,0.054185476154088974 +SV100-R2,fixed,Train Loss,2700,0.05076653137803078 +SV100-R2,fixed,Train Loss,2750,0.048011165112257004 +SV100-R2,fixed,Train Loss,2800,0.05788414925336838 +SV100-R2,fixed,Train Loss,2850,0.050936948508024216 +SV100-R2,fixed,Train Loss,2900,0.051110878586769104 +SV100-R2,fixed,Train Loss,2950,0.048706021159887314 +SV100-R2,fixed,Train Loss,3000,0.04318977892398834 +SV100-R2,fixed,Train Loss,3050,0.05814271420240402 +SV100-R2,fixed,Train Loss,3100,0.050650179386138916 +SV100-R2,fixed,Train Loss,3150,0.05468776077032089 +SV100-R2,fixed,Train Loss,3200,0.044259749352931976 +SV100-R2,fixed,Train Loss,3250,0.047857895493507385 +SV100-R2,fixed,Train Loss,3300,0.057427339255809784 +SV100-R2,fixed,Train Loss,3350,0.05137735232710838 +SV100-R2,fixed,Train Loss,3400,0.05501682311296463 +SV100-R2,fixed,Train Loss,3450,0.05086265876889229 +SV100-R2,fixed,Train Loss,3500,0.04813039302825928 +SV100-R2,fixed,Train Loss,3550,0.04603075981140137 +SV100-R2,fixed,Train Loss,3600,0.04813552647829056 +SV100-R2,fixed,Train Loss,3650,0.052169911563396454 +SV100-R2,fixed,Train Loss,3700,0.05249064415693283 +SV100-R2,fixed,Train Loss,3750,0.04313347488641739 +SV100-R2,fixed,Train Loss,3800,0.04974409192800522 +SV100-R2,fixed,Train Loss,3850,0.04925820231437683 +SV100-R2,fixed,Train Loss,3900,0.049058444797992706 +SV100-R2,fixed,Train Loss,3950,0.04424024000763893 +SV100-R2,fixed,Train Loss,4000,0.04743090644478798 +SV100-R2,fixed,Train Loss,4050,0.042936183512210846 +SV100-R2,fixed,Train Loss,4100,0.0456145741045475 +SV100-R2,fixed,Train Loss,4150,0.04749704524874687 +SV100-R2,fixed,Train Loss,4200,0.047113411128520966 +SV100-R2,fixed,Train Loss,4250,0.039415329694747925 +SV100-R2,fixed,Train Loss,4300,0.048692163079977036 +SV100-R2,fixed,Train Loss,4350,0.03940708190202713 +SV100-R2,fixed,Train Loss,4400,0.0456634946167469 +SV100-R2,fixed,Train Loss,4450,0.044628869742155075 +SV100-R2,fixed,Train Loss,4500,0.04812269285321236 +SV100-R2,fixed,Train Loss,4550,0.045590564608573914 +SV100-R2,fixed,Train Loss,4600,0.04368651658296585 +SV100-R2,fixed,Train Loss,4650,0.04687417298555374 +SV100-R2,fixed,Train Loss,4700,0.04508167877793312 +SV100-R2,fixed,Train Loss,4750,0.03981412202119827 +SV100-R2,fixed,Train Loss,4800,0.0439055897295475 +SV100-R2,fixed,Train Loss,4850,0.04413861781358719 +SV100-R2,fixed,Train Loss,4900,0.04423268884420395 +SV100-R2,fixed,Train Loss,4950,0.046146370470523834 +SV100-R2,fixed,Train Loss,5000,0.04186459630727768 +SV100-R2,fixed,Train Loss,5500,0.045840419828891754 +SV100-R2,fixed,Train Loss,6000,0.03930383175611496 +SV100-R2,fixed,Train Loss,6500,0.039685823023319244 +SV100-R2,fixed,Train Loss,7000,0.03690837323665619 +SV100-R2,fixed,Train Loss,7500,0.039041534066200256 +SV100-R2,fixed,Train Loss,8000,0.037530384957790375 +SV100-R2,fixed,Train Loss,8500,0.03174229711294174 +SV100-R2,fixed,Train Loss,9000,0.033858854323625565 +SV100-R2,fixed,Train Loss,9500,0.03448174148797989 +SV100-R2,fixed,Train Loss,10000,0.03641808032989502 +SV100-R2,fixed,Train Loss,10500,0.028613155707716942 +SV100-R2,fixed,Train Loss,11000,0.03149465471506119 +SV100-R2,fixed,Train Loss,11500,0.02876470796763897 +SV100-R2,fixed,Train Loss,12000,0.02611609920859337 +SV100-R2,fixed,Train Loss,12500,0.028299203142523766 +SV100-R2,fixed,Train Loss,13000,0.02646724320948124 +SV100-R2,fixed,Train Loss,13500,0.030750636011362076 +SV100-R2,fixed,Train Loss,14000,0.025674549862742424 +SV100-R2,fixed,Train Loss,14500,0.027791820466518402 +SV100-R2,fixed,Train Loss,15000,0.02670006826519966 +SV100-R2,fixed,Train Loss,15500,0.02802446112036705 +SV100-R2,fixed,Train Loss,16000,0.029544219374656677 +SV100-R2,fixed,Train Loss,16500,0.022899556905031204 +SV100-R2,fixed,Train Loss,17000,0.023567862808704376 +SV100-R2,fixed,Train Loss,17500,0.02400146797299385 +SV100-R2,fixed,Train Loss,18000,0.02332659810781479 +SV100-R2,fixed,Train Loss,18500,0.024009251967072487 +SV100-R2,fixed,Train Loss,19000,0.0239543579518795 +SV100-R2,fixed,Train Loss,19500,0.023498650640249252 +SV100-R2,fixed,Train Loss,20000,0.021662812680006027 +SV100-R2,fixed,Train Loss,20500,0.025151271373033524 +SV100-R2,fixed,Train Loss,21000,0.019546104595065117 +SV100-R2,fixed,Train Loss,21500,0.023218143731355667 +SV100-R2,fixed,Train Loss,22000,0.025187715888023376 +SV100-R2,fixed,Train Loss,22500,0.020854249596595764 +SV100-R2,fixed,Train Loss,23000,0.02325320988893509 +SV100-R2,fixed,Train Loss,23500,0.02330617979168892 +SV100-R2,fixed,Train Loss,24000,0.022597042843699455 +SV100-R2,fixed,Train Loss,24500,0.02231220155954361 +SV100-R2,fixed,Train Loss,25000,0.02033664658665657 +SV100-R2,fixed,Train Loss,25500,0.02051878720521927 +SV100-R2,fixed,Train Loss,26000,0.02300407737493515 +SV100-R2,fixed,Train Loss,26500,0.020443450659513474 +SV100-R2,fixed,Train Loss,27000,0.02124965749680996 +SV100-R2,fixed,Train Loss,27500,0.021778665482997894 +SV100-R2,fixed,Train Loss,28000,0.021269505843520164 +SV100-R2,fixed,Train Loss,28500,0.01916317641735077 +SV100-R2,fixed,Train Loss,29000,0.021895339712500572 +SV100-R2,fixed,Train Loss,29500,0.022010698914527893 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,500,15.24155044555664 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,1000,16.409799575805664 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,1500,16.00534439086914 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,2000,16.695823669433594 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,2500,16.43050193786621 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,3000,17.335493087768555 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,3500,15.330598831176758 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,4000,16.51594352722168 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,4500,16.912336349487305 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,5000,16.96994400024414 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,5500,14.178232192993164 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,6000,16.0938663482666 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,6500,15.245589256286621 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,7000,15.173754692077637 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,7500,15.031888008117676 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,8000,16.005210876464844 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,8500,15.787994384765625 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,9000,16.18297004699707 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,9500,15.591658592224121 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,10000,14.307063102722168 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,10500,15.99468994140625 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,11000,15.984054565429688 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,11500,16.794950485229492 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,12000,12.9042387008667 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,12500,15.369566917419434 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,13000,15.073026657104492 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,13500,15.256718635559082 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,14000,16.826786041259766 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,14500,15.741917610168457 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,15000,16.260517120361328 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,15500,14.374125480651855 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,16000,14.895730972290039 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,16500,16.774845123291016 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,17000,16.482009887695312 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,17500,13.553251266479492 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,18000,15.578368186950684 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,18500,14.145970344543457 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,19000,15.022339820861816 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,19500,14.56637954711914 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,20000,14.235018730163574 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,20500,14.065412521362305 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,21000,14.948455810546875 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,21500,13.553434371948242 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,22000,13.691211700439453 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,22500,15.619081497192383 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,23000,16.555768966674805 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,23500,12.347585678100586 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,24000,15.65654182434082 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,24500,13.90734577178955 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,25000,14.736638069152832 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,25500,15.020541191101074 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,26000,15.327319145202637 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,26500,14.213504791259766 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,27000,14.244468688964844 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,27500,13.7826509475708 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,28000,12.924806594848633 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,28500,15.145392417907715 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,29000,14.64836597442627 +SV100-R2,fixed,Eval Images Metrics/fine_psnr,29500,13.705888748168945 +SV100-R2,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,14.783660888671875 +SV100-R2,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7269145250320435 +SV100-R2,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.3795425295829773 +SV100-R2,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-R2,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-R2,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-R2,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-R2,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-R2,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-R2,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-R2,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-R2,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-R2,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-R2,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-R2,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-R2,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-R2,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-R2,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-R2,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-R2,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-R2,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-R2,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-R2,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-R2,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-R2,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-R2,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-R2,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-R2,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-R2,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-R2,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-R2,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-R2,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-R2,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-R2,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-R2,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-R2,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-R2,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-R2,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-R2,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-R2,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-R2,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-R2,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-R2,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-R2,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-R2,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-R2,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-R2,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-R2,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-R2,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-R2,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-R2,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-R2,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-R2,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-R2,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-R2,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-R2,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-R2,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-R2,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-R2,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-R2,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-R2,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-R2,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-R2,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-R2,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-R2,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-R2,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-R2,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-R2,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-R2,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-R2,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-R2,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-R2,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-R2,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-R2,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-R2,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-R2,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-R2,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-R2,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-R2,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-R2,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-R2,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-R2,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-R2,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-R2,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-R2,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-R2,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-R2,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-R2,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-R2,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-R2,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-R2,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-R2,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-R2,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-R2,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-R2,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-R2,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-R2,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-R2,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-R2,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-R2,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-R2,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-R2,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-R2,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-R2,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-R2,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-R2,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-R2,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-R2,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-R2,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-R2,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-R2,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-R2,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-R2,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-R2,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-R2,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-R2,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-R2,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-R2,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-R2,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-R2,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-R2,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-R2,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-R2,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-R2,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-R2,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-R2,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-R2,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-R2,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-R2,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-R2,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-R2,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-R2,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-R2,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-R2,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-R2,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-R2,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-R2,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-R2,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-R2,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-R2,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-R2,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-R2,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-R2,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-R2,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-R2,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-R2,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-R2,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-R2,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-R2,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-R2,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-R2,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-R2,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-R2,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-R2,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R2,naive,Train Loss,0,0.342212051153183 +SV100-R2,naive,Train Loss,50,0.3185473680496216 +SV100-R2,naive,Train Loss,100,0.18490080535411835 +SV100-R2,naive,Train Loss,150,0.1771533191204071 +SV100-R2,naive,Train Loss,200,0.16458891332149506 +SV100-R2,naive,Train Loss,250,0.1546318531036377 +SV100-R2,naive,Train Loss,300,0.15159201622009277 +SV100-R2,naive,Train Loss,350,0.10967867076396942 +SV100-R2,naive,Train Loss,400,0.09041552245616913 +SV100-R2,naive,Train Loss,450,0.0967329666018486 +SV100-R2,naive,Train Loss,500,0.08998702466487885 +SV100-R2,naive,Train Loss,550,0.0783492773771286 +SV100-R2,naive,Train Loss,600,0.08260299265384674 +SV100-R2,naive,Train Loss,650,0.08133978396654129 +SV100-R2,naive,Train Loss,700,0.0694912001490593 +SV100-R2,naive,Train Loss,750,0.06511597335338593 +SV100-R2,naive,Train Loss,800,0.0719711184501648 +SV100-R2,naive,Train Loss,850,0.06527434289455414 +SV100-R2,naive,Train Loss,900,0.06111808866262436 +SV100-R2,naive,Train Loss,950,0.06441236287355423 +SV100-R2,naive,Train Loss,1000,0.05509686470031738 +SV100-R2,naive,Train Loss,1050,0.0524558499455452 +SV100-R2,naive,Train Loss,1100,0.05504487827420235 +SV100-R2,naive,Train Loss,1150,0.05857091397047043 +SV100-R2,naive,Train Loss,1200,0.05252095311880112 +SV100-R2,naive,Train Loss,1250,0.0531136617064476 +SV100-R2,naive,Train Loss,1300,0.04535743594169617 +SV100-R2,naive,Train Loss,1350,0.04629009962081909 +SV100-R2,naive,Train Loss,1400,0.045895520597696304 +SV100-R2,naive,Train Loss,1450,0.034673724323511124 +SV100-R2,naive,Train Loss,1500,0.041697219014167786 +SV100-R2,naive,Train Loss,1550,0.04344666749238968 +SV100-R2,naive,Train Loss,1600,0.03957337886095047 +SV100-R2,naive,Train Loss,1650,0.03561938926577568 +SV100-R2,naive,Train Loss,1700,0.036395855247974396 +SV100-R2,naive,Train Loss,1750,0.04036187008023262 +SV100-R2,naive,Train Loss,1800,0.03662077337503433 +SV100-R2,naive,Train Loss,1850,0.028818730264902115 +SV100-R2,naive,Train Loss,1900,0.03625920042395592 +SV100-R2,naive,Train Loss,1950,0.039929550141096115 +SV100-R2,naive,Train Loss,2000,0.0351877436041832 +SV100-R2,naive,Train Loss,2050,0.03218972310423851 +SV100-R2,naive,Train Loss,2100,0.03496934100985527 +SV100-R2,naive,Train Loss,2150,0.03385182470083237 +SV100-R2,naive,Train Loss,2200,0.03300805017352104 +SV100-R2,naive,Train Loss,2250,0.030379008501768112 +SV100-R2,naive,Train Loss,2300,0.029087405651807785 +SV100-R2,naive,Train Loss,2350,0.02990184724330902 +SV100-R2,naive,Train Loss,2400,0.028471898287534714 +SV100-R2,naive,Train Loss,2450,0.03162968158721924 +SV100-R2,naive,Train Loss,2500,0.02790539711713791 +SV100-R2,naive,Train Loss,2550,0.03142169862985611 +SV100-R2,naive,Train Loss,2600,0.03434823825955391 +SV100-R2,naive,Train Loss,2650,0.030559709295630455 +SV100-R2,naive,Train Loss,2700,0.029157884418964386 +SV100-R2,naive,Train Loss,2750,0.030593818053603172 +SV100-R2,naive,Train Loss,2800,0.027612164616584778 +SV100-R2,naive,Train Loss,2850,0.02667992003262043 +SV100-R2,naive,Train Loss,2900,0.0250377357006073 +SV100-R2,naive,Train Loss,2950,0.026383502408862114 +SV100-R2,naive,Train Loss,3000,0.027689877897500992 +SV100-R2,naive,Train Loss,3050,0.02315613254904747 +SV100-R2,naive,Train Loss,3100,0.023543674498796463 +SV100-R2,naive,Train Loss,3150,0.023953843861818314 +SV100-R2,naive,Train Loss,3200,0.02466810867190361 +SV100-R2,naive,Train Loss,3250,0.0250073354691267 +SV100-R2,naive,Train Loss,3300,0.024595145136117935 +SV100-R2,naive,Train Loss,3350,0.02707536891102791 +SV100-R2,naive,Train Loss,3400,0.0234055295586586 +SV100-R2,naive,Train Loss,3450,0.024441633373498917 +SV100-R2,naive,Train Loss,3500,0.022023223340511322 +SV100-R2,naive,Train Loss,3550,0.025831889361143112 +SV100-R2,naive,Train Loss,3600,0.021677788347005844 +SV100-R2,naive,Train Loss,3650,0.02407240681350231 +SV100-R2,naive,Train Loss,3700,0.021481787785887718 +SV100-R2,naive,Train Loss,3750,0.02216678485274315 +SV100-R2,naive,Train Loss,3800,0.024535365402698517 +SV100-R2,naive,Train Loss,3850,0.02258351817727089 +SV100-R2,naive,Train Loss,3900,0.029617469757795334 +SV100-R2,naive,Train Loss,3950,0.022153999656438828 +SV100-R2,naive,Train Loss,4000,0.027153072878718376 +SV100-R2,naive,Train Loss,4050,0.018079232424497604 +SV100-R2,naive,Train Loss,4100,0.019523005932569504 +SV100-R2,naive,Train Loss,4150,0.020130332559347153 +SV100-R2,naive,Train Loss,4200,0.018023476004600525 +SV100-R2,naive,Train Loss,4250,0.022910868749022484 +SV100-R2,naive,Train Loss,4300,0.01871609315276146 +SV100-R2,naive,Train Loss,4350,0.021748807281255722 +SV100-R2,naive,Train Loss,4400,0.019146936014294624 +SV100-R2,naive,Train Loss,4450,0.019462237134575844 +SV100-R2,naive,Train Loss,4500,0.022724099457263947 +SV100-R2,naive,Train Loss,4550,0.01807978004217148 +SV100-R2,naive,Train Loss,4600,0.018531326204538345 +SV100-R2,naive,Train Loss,4650,0.018643472343683243 +SV100-R2,naive,Train Loss,4700,0.023824330419301987 +SV100-R2,naive,Train Loss,4750,0.017255248501896858 +SV100-R2,naive,Train Loss,4800,0.017992334440350533 +SV100-R2,naive,Train Loss,4850,0.01564430445432663 +SV100-R2,naive,Train Loss,4900,0.020664416253566742 +SV100-R2,naive,Train Loss,4950,0.019819580018520355 +SV100-R2,naive,Train Loss,5000,0.017115911468863487 +SV100-R2,naive,Train Loss,5500,0.018189260736107826 +SV100-R2,naive,Train Loss,6000,0.014141963794827461 +SV100-R2,naive,Train Loss,6500,0.01666891574859619 +SV100-R2,naive,Train Loss,7000,0.016542386263608932 +SV100-R2,naive,Train Loss,7500,0.012694823555648327 +SV100-R2,naive,Train Loss,8000,0.01218590047210455 +SV100-R2,naive,Train Loss,8500,0.013221054337918758 +SV100-R2,naive,Train Loss,9000,0.015517931431531906 +SV100-R2,naive,Train Loss,9500,0.012578542344272137 +SV100-R2,naive,Train Loss,10000,0.014160377904772758 +SV100-R2,naive,Train Loss,10500,0.011148038320243359 +SV100-R2,naive,Train Loss,11000,0.01024032011628151 +SV100-R2,naive,Train Loss,11500,0.009966140612959862 +SV100-R2,naive,Train Loss,12000,0.009630926884710789 +SV100-R2,naive,Train Loss,12500,0.012952830642461777 +SV100-R2,naive,Train Loss,13000,0.01190912164747715 +SV100-R2,naive,Train Loss,13500,0.010314167477190495 +SV100-R2,naive,Train Loss,14000,0.010553057305514812 +SV100-R2,naive,Train Loss,14500,0.009375669993460178 +SV100-R2,naive,Train Loss,15000,0.008437953889369965 +SV100-R2,naive,Train Loss,15500,0.010585261508822441 +SV100-R2,naive,Train Loss,16000,0.011471129953861237 +SV100-R2,naive,Train Loss,16500,0.00982046127319336 +SV100-R2,naive,Train Loss,17000,0.006576797924935818 +SV100-R2,naive,Train Loss,17500,0.007818737998604774 +SV100-R2,naive,Train Loss,18000,0.008794345892965794 +SV100-R2,naive,Train Loss,18500,0.008009681478142738 +SV100-R2,naive,Train Loss,19000,0.007673555985093117 +SV100-R2,naive,Train Loss,19500,0.009195131249725819 +SV100-R2,naive,Train Loss,20000,0.007582633290439844 +SV100-R2,naive,Train Loss,20500,0.008060035295784473 +SV100-R2,naive,Train Loss,21000,0.007512358017265797 +SV100-R2,naive,Train Loss,21500,0.006783242337405682 +SV100-R2,naive,Train Loss,22000,0.008991923183202744 +SV100-R2,naive,Train Loss,22500,0.007420503068715334 +SV100-R2,naive,Train Loss,23000,0.007369478233158588 +SV100-R2,naive,Train Loss,23500,0.006004365161061287 +SV100-R2,naive,Train Loss,24000,0.006392201874405146 +SV100-R2,naive,Train Loss,24500,0.006290963850915432 +SV100-R2,naive,Train Loss,25000,0.006644479930400848 +SV100-R2,naive,Train Loss,25500,0.007341529708355665 +SV100-R2,naive,Train Loss,26000,0.006803900934755802 +SV100-R2,naive,Train Loss,26500,0.005854426883161068 +SV100-R2,naive,Train Loss,27000,0.007373628206551075 +SV100-R2,naive,Train Loss,27500,0.006613272242248058 +SV100-R2,naive,Train Loss,28000,0.006425017025321722 +SV100-R2,naive,Train Loss,28500,0.007731073535978794 +SV100-R2,naive,Train Loss,29000,0.008677894249558449 +SV100-R2,naive,Train Loss,29500,0.006891350261867046 +SV100-R2,naive,Eval Images Metrics/fine_psnr,500,14.41421890258789 +SV100-R2,naive,Eval Images Metrics/fine_psnr,1000,16.764881134033203 +SV100-R2,naive,Eval Images Metrics/fine_psnr,1500,17.58102798461914 +SV100-R2,naive,Eval Images Metrics/fine_psnr,2000,16.15349769592285 +SV100-R2,naive,Eval Images Metrics/fine_psnr,2500,18.575830459594727 +SV100-R2,naive,Eval Images Metrics/fine_psnr,3000,16.60118293762207 +SV100-R2,naive,Eval Images Metrics/fine_psnr,3500,15.527283668518066 +SV100-R2,naive,Eval Images Metrics/fine_psnr,4000,17.44096565246582 +SV100-R2,naive,Eval Images Metrics/fine_psnr,4500,20.413110733032227 +SV100-R2,naive,Eval Images Metrics/fine_psnr,5000,16.137327194213867 +SV100-R2,naive,Eval Images Metrics/fine_psnr,5500,16.450328826904297 +SV100-R2,naive,Eval Images Metrics/fine_psnr,6000,15.974384307861328 +SV100-R2,naive,Eval Images Metrics/fine_psnr,6500,17.62675666809082 +SV100-R2,naive,Eval Images Metrics/fine_psnr,7000,16.862863540649414 +SV100-R2,naive,Eval Images Metrics/fine_psnr,7500,17.52627182006836 +SV100-R2,naive,Eval Images Metrics/fine_psnr,8000,16.73646354675293 +SV100-R2,naive,Eval Images Metrics/fine_psnr,8500,16.19072151184082 +SV100-R2,naive,Eval Images Metrics/fine_psnr,9000,20.381921768188477 +SV100-R2,naive,Eval Images Metrics/fine_psnr,9500,15.714341163635254 +SV100-R2,naive,Eval Images Metrics/fine_psnr,10000,15.534405708312988 +SV100-R2,naive,Eval Images Metrics/fine_psnr,10500,16.19922637939453 +SV100-R2,naive,Eval Images Metrics/fine_psnr,11000,15.359529495239258 +SV100-R2,naive,Eval Images Metrics/fine_psnr,11500,15.8539400100708 +SV100-R2,naive,Eval Images Metrics/fine_psnr,12000,15.143758773803711 +SV100-R2,naive,Eval Images Metrics/fine_psnr,12500,15.04245662689209 +SV100-R2,naive,Eval Images Metrics/fine_psnr,13000,15.171725273132324 +SV100-R2,naive,Eval Images Metrics/fine_psnr,13500,14.922408103942871 +SV100-R2,naive,Eval Images Metrics/fine_psnr,14000,15.300662994384766 +SV100-R2,naive,Eval Images Metrics/fine_psnr,14500,15.48306941986084 +SV100-R2,naive,Eval Images Metrics/fine_psnr,15000,18.867712020874023 +SV100-R2,naive,Eval Images Metrics/fine_psnr,15500,15.772655487060547 +SV100-R2,naive,Eval Images Metrics/fine_psnr,16000,15.196969985961914 +SV100-R2,naive,Eval Images Metrics/fine_psnr,16500,17.27490997314453 +SV100-R2,naive,Eval Images Metrics/fine_psnr,17000,17.5081844329834 +SV100-R2,naive,Eval Images Metrics/fine_psnr,17500,16.33540916442871 +SV100-R2,naive,Eval Images Metrics/fine_psnr,18000,16.2531795501709 +SV100-R2,naive,Eval Images Metrics/fine_psnr,18500,16.560943603515625 +SV100-R2,naive,Eval Images Metrics/fine_psnr,19000,17.571151733398438 +SV100-R2,naive,Eval Images Metrics/fine_psnr,19500,14.743366241455078 +SV100-R2,naive,Eval Images Metrics/fine_psnr,20000,15.860189437866211 +SV100-R2,naive,Eval Images Metrics/fine_psnr,20500,17.674419403076172 +SV100-R2,naive,Eval Images Metrics/fine_psnr,21000,17.200185775756836 +SV100-R2,naive,Eval Images Metrics/fine_psnr,21500,15.612580299377441 +SV100-R2,naive,Eval Images Metrics/fine_psnr,22000,14.795042037963867 +SV100-R2,naive,Eval Images Metrics/fine_psnr,22500,14.96241283416748 +SV100-R2,naive,Eval Images Metrics/fine_psnr,23000,14.888774871826172 +SV100-R2,naive,Eval Images Metrics/fine_psnr,23500,14.950922966003418 +SV100-R2,naive,Eval Images Metrics/fine_psnr,24000,15.257502555847168 +SV100-R2,naive,Eval Images Metrics/fine_psnr,24500,16.153703689575195 +SV100-R2,naive,Eval Images Metrics/fine_psnr,25000,18.8560848236084 +SV100-R2,naive,Eval Images Metrics/fine_psnr,25500,15.461666107177734 +SV100-R2,naive,Eval Images Metrics/fine_psnr,26000,14.502653121948242 +SV100-R2,naive,Eval Images Metrics/fine_psnr,26500,15.358991622924805 +SV100-R2,naive,Eval Images Metrics/fine_psnr,27000,17.11166000366211 +SV100-R2,naive,Eval Images Metrics/fine_psnr,27500,14.92859935760498 +SV100-R2,naive,Eval Images Metrics/fine_psnr,28000,21.314817428588867 +SV100-R2,naive,Eval Images Metrics/fine_psnr,28500,18.31194305419922 +SV100-R2,naive,Eval Images Metrics/fine_psnr,29000,17.6285343170166 +SV100-R2,naive,Eval Images Metrics/fine_psnr,29500,14.810489654541016 +SV100-R2,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,16.688199996948242 +SV100-R2,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7407110333442688 +SV100-R2,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.19047832489013672 +SV100-R2,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-R2,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-R2,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-R2,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-R2,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-R2,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-R2,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-R2,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-R2,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-R2,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-R2,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-R2,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-R2,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-R2,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-R2,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-R2,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-R2,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-R2,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-R2,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-R2,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-R2,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-R2,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-R2,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-R2,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-R2,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-R2,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-R2,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-R2,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-R2,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-R2,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-R2,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-R2,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-R2,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-R2,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-R2,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-R2,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-R2,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-R2,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-R2,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-R2,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-R2,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-R2,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-R2,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-R2,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-R2,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-R2,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-R2,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-R2,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-R2,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-R2,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-R2,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-R2,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-R2,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-R2,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-R2,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-R2,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-R2,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-R2,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-R2,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-R2,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-R2,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-R2,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-R2,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-R2,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-R2,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-R2,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-R2,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-R2,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-R2,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-R2,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-R2,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-R2,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-R2,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-R2,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-R2,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-R2,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-R2,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-R2,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-R2,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-R2,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-R2,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-R2,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-R2,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-R2,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-R2,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-R2,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-R2,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-R2,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-R2,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-R2,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-R2,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-R2,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-R2,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-R2,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-R2,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-R2,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-R2,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-R2,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-R2,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-R2,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-R2,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-R2,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-R2,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-R2,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-R2,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-R2,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-R2,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-R2,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-R2,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-R2,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-R2,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-R2,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-R2,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-R2,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-R2,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-R2,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-R2,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-R2,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-R2,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-R2,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-R2,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-R2,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-R2,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-R2,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-R2,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-R2,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-R2,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-R2,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-R2,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-R2,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-R2,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-R2,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-R2,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-R2,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-R2,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-R2,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-R2,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-R2,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-R2,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-R2,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-R2,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-R2,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-R2,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-R2,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-R2,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-R2,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-R2,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-R2,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-R2,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-R2,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-R2,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R2,camp,Train Loss,0,0.342212051153183 +SV100-R2,camp,Train Loss,50,0.3184325695037842 +SV100-R2,camp,Train Loss,100,0.18497467041015625 +SV100-R2,camp,Train Loss,150,0.17700356245040894 +SV100-R2,camp,Train Loss,200,0.16433066129684448 +SV100-R2,camp,Train Loss,250,0.1538870632648468 +SV100-R2,camp,Train Loss,300,0.15054115653038025 +SV100-R2,camp,Train Loss,350,0.10530562698841095 +SV100-R2,camp,Train Loss,400,0.09394218772649765 +SV100-R2,camp,Train Loss,450,0.08647533506155014 +SV100-R2,camp,Train Loss,500,0.08245817571878433 +SV100-R2,camp,Train Loss,550,0.07799512892961502 +SV100-R2,camp,Train Loss,600,0.07898420840501785 +SV100-R2,camp,Train Loss,650,0.08008605986833572 +SV100-R2,camp,Train Loss,700,0.07773555815219879 +SV100-R2,camp,Train Loss,750,0.07169803977012634 +SV100-R2,camp,Train Loss,800,0.0741085335612297 +SV100-R2,camp,Train Loss,850,0.07015562057495117 +SV100-R2,camp,Train Loss,900,0.07059916108846664 +SV100-R2,camp,Train Loss,950,0.0701998919248581 +SV100-R2,camp,Train Loss,1000,0.06177443265914917 +SV100-R2,camp,Train Loss,1050,0.05647144094109535 +SV100-R2,camp,Train Loss,1100,0.05957072973251343 +SV100-R2,camp,Train Loss,1150,0.06822918355464935 +SV100-R2,camp,Train Loss,1200,0.061502162367105484 +SV100-R2,camp,Train Loss,1250,0.06091002747416496 +SV100-R2,camp,Train Loss,1300,0.06007802486419678 +SV100-R2,camp,Train Loss,1350,0.05874950438737869 +SV100-R2,camp,Train Loss,1400,0.05827968567609787 +SV100-R2,camp,Train Loss,1450,0.042243294417858124 +SV100-R2,camp,Train Loss,1500,0.05087735876441002 +SV100-R2,camp,Train Loss,1550,0.061998240649700165 +SV100-R2,camp,Train Loss,1600,0.05201486498117447 +SV100-R2,camp,Train Loss,1650,0.054741278290748596 +SV100-R2,camp,Train Loss,1700,0.05183990299701691 +SV100-R2,camp,Train Loss,1750,0.0572422593832016 +SV100-R2,camp,Train Loss,1800,0.051299888640642166 +SV100-R2,camp,Train Loss,1850,0.04192523658275604 +SV100-R2,camp,Train Loss,1900,0.05007925257086754 +SV100-R2,camp,Train Loss,1950,0.04645046219229698 +SV100-R2,camp,Train Loss,2000,0.04608170688152313 +SV100-R2,camp,Train Loss,2050,0.043789997696876526 +SV100-R2,camp,Train Loss,2100,0.05339672788977623 +SV100-R2,camp,Train Loss,2150,0.04433922469615936 +SV100-R2,camp,Train Loss,2200,0.04453089460730553 +SV100-R2,camp,Train Loss,2250,0.041431378573179245 +SV100-R2,camp,Train Loss,2300,0.03984060883522034 +SV100-R2,camp,Train Loss,2350,0.042329367250204086 +SV100-R2,camp,Train Loss,2400,0.040769174695014954 +SV100-R2,camp,Train Loss,2450,0.0392957478761673 +SV100-R2,camp,Train Loss,2500,0.04046206921339035 +SV100-R2,camp,Train Loss,2550,0.04708214849233627 +SV100-R2,camp,Train Loss,2600,0.050008535385131836 +SV100-R2,camp,Train Loss,2650,0.03994046151638031 +SV100-R2,camp,Train Loss,2700,0.04352405667304993 +SV100-R2,camp,Train Loss,2750,0.03987715393304825 +SV100-R2,camp,Train Loss,2800,0.0359472893178463 +SV100-R2,camp,Train Loss,2850,0.035443950444459915 +SV100-R2,camp,Train Loss,2900,0.0352310985326767 +SV100-R2,camp,Train Loss,2950,0.03493131697177887 +SV100-R2,camp,Train Loss,3000,0.03688737377524376 +SV100-R2,camp,Train Loss,3050,0.038910798728466034 +SV100-R2,camp,Train Loss,3100,0.034341998398303986 +SV100-R2,camp,Train Loss,3150,0.033602580428123474 +SV100-R2,camp,Train Loss,3200,0.03397691994905472 +SV100-R2,camp,Train Loss,3250,0.03230404853820801 +SV100-R2,camp,Train Loss,3300,0.02659941278398037 +SV100-R2,camp,Train Loss,3350,0.03859227895736694 +SV100-R2,camp,Train Loss,3400,0.031116273254156113 +SV100-R2,camp,Train Loss,3450,0.02864162251353264 +SV100-R2,camp,Train Loss,3500,0.029354672878980637 +SV100-R2,camp,Train Loss,3550,0.029482319951057434 +SV100-R2,camp,Train Loss,3600,0.028849270194768906 +SV100-R2,camp,Train Loss,3650,0.03362629562616348 +SV100-R2,camp,Train Loss,3700,0.03094974346458912 +SV100-R2,camp,Train Loss,3750,0.029485328122973442 +SV100-R2,camp,Train Loss,3800,0.03250561282038689 +SV100-R2,camp,Train Loss,3850,0.03002188168466091 +SV100-R2,camp,Train Loss,3900,0.033378709107637405 +SV100-R2,camp,Train Loss,3950,0.02684229612350464 +SV100-R2,camp,Train Loss,4000,0.03497578203678131 +SV100-R2,camp,Train Loss,4050,0.02454158291220665 +SV100-R2,camp,Train Loss,4100,0.03009355627000332 +SV100-R2,camp,Train Loss,4150,0.029362736269831657 +SV100-R2,camp,Train Loss,4200,0.02588745765388012 +SV100-R2,camp,Train Loss,4250,0.027140051126480103 +SV100-R2,camp,Train Loss,4300,0.0241707656532526 +SV100-R2,camp,Train Loss,4350,0.026377713307738304 +SV100-R2,camp,Train Loss,4400,0.026853438466787338 +SV100-R2,camp,Train Loss,4450,0.023666227236390114 +SV100-R2,camp,Train Loss,4500,0.03246340900659561 +SV100-R2,camp,Train Loss,4550,0.02854296751320362 +SV100-R2,camp,Train Loss,4600,0.030125470831990242 +SV100-R2,camp,Train Loss,4650,0.025638436898589134 +SV100-R2,camp,Train Loss,4700,0.028114624321460724 +SV100-R2,camp,Train Loss,4750,0.023059982806444168 +SV100-R2,camp,Train Loss,4800,0.0248861126601696 +SV100-R2,camp,Train Loss,4850,0.022700924426317215 +SV100-R2,camp,Train Loss,4900,0.026356017217040062 +SV100-R2,camp,Train Loss,4950,0.0278627872467041 +SV100-R2,camp,Train Loss,5000,0.023645855486392975 +SV100-R2,camp,Train Loss,5500,0.02073514834046364 +SV100-R2,camp,Train Loss,6000,0.018261516466736794 +SV100-R2,camp,Train Loss,6500,0.020353101193904877 +SV100-R2,camp,Train Loss,7000,0.01928965002298355 +SV100-R2,camp,Train Loss,7500,0.017353180795907974 +SV100-R2,camp,Train Loss,8000,0.0155040817335248 +SV100-R2,camp,Train Loss,8500,0.013389552012085915 +SV100-R2,camp,Train Loss,9000,0.01686767116189003 +SV100-R2,camp,Train Loss,9500,0.017060033977031708 +SV100-R2,camp,Train Loss,10000,0.013953699730336666 +SV100-R2,camp,Train Loss,10500,0.012349739670753479 +SV100-R2,camp,Train Loss,11000,0.011524230241775513 +SV100-R2,camp,Train Loss,11500,0.010655637830495834 +SV100-R2,camp,Train Loss,12000,0.009438307955861092 +SV100-R2,camp,Train Loss,12500,0.014422598294913769 +SV100-R2,camp,Train Loss,13000,0.012337032705545425 +SV100-R2,camp,Train Loss,13500,0.010691230185329914 +SV100-R2,camp,Train Loss,14000,0.011225206777453423 +SV100-R2,camp,Train Loss,14500,0.011962390504777431 +SV100-R2,camp,Train Loss,15000,0.010358434170484543 +SV100-R2,camp,Train Loss,15500,0.011313576251268387 +SV100-R2,camp,Train Loss,16000,0.01157840620726347 +SV100-R2,camp,Train Loss,16500,0.008888580836355686 +SV100-R2,camp,Train Loss,17000,0.0077784983441233635 +SV100-R2,camp,Train Loss,17500,0.008897321298718452 +SV100-R2,camp,Train Loss,18000,0.008053310215473175 +SV100-R2,camp,Train Loss,18500,0.008213819935917854 +SV100-R2,camp,Train Loss,19000,0.007459403946995735 +SV100-R2,camp,Train Loss,19500,0.010168018750846386 +SV100-R2,camp,Train Loss,20000,0.008852474391460419 +SV100-R2,camp,Train Loss,20500,0.007203057408332825 +SV100-R2,camp,Train Loss,21000,0.007152441889047623 +SV100-R2,camp,Train Loss,21500,0.007494164630770683 +SV100-R2,camp,Train Loss,22000,0.010540129616856575 +SV100-R2,camp,Train Loss,22500,0.006882529705762863 +SV100-R2,camp,Train Loss,23000,0.0071230302564799786 +SV100-R2,camp,Train Loss,23500,0.008933866396546364 +SV100-R2,camp,Train Loss,24000,0.006373823620378971 +SV100-R2,camp,Train Loss,24500,0.007144480012357235 +SV100-R2,camp,Train Loss,25000,0.007144986651837826 +SV100-R2,camp,Train Loss,25500,0.007807505317032337 +SV100-R2,camp,Train Loss,26000,0.0070441169664263725 +SV100-R2,camp,Train Loss,26500,0.0061527821235358715 +SV100-R2,camp,Train Loss,27000,0.006377410609275103 +SV100-R2,camp,Train Loss,27500,0.006244952324777842 +SV100-R2,camp,Train Loss,28000,0.00574879627674818 +SV100-R2,camp,Train Loss,28500,0.006956394296139479 +SV100-R2,camp,Train Loss,29000,0.0085664764046669 +SV100-R2,camp,Train Loss,29500,0.006555300205945969 +SV100-R2,camp,Eval Images Metrics/fine_psnr,500,14.415773391723633 +SV100-R2,camp,Eval Images Metrics/fine_psnr,1000,17.029569625854492 +SV100-R2,camp,Eval Images Metrics/fine_psnr,1500,17.109203338623047 +SV100-R2,camp,Eval Images Metrics/fine_psnr,2000,17.050315856933594 +SV100-R2,camp,Eval Images Metrics/fine_psnr,2500,17.54900550842285 +SV100-R2,camp,Eval Images Metrics/fine_psnr,3000,17.963314056396484 +SV100-R2,camp,Eval Images Metrics/fine_psnr,3500,17.866107940673828 +SV100-R2,camp,Eval Images Metrics/fine_psnr,4000,19.418704986572266 +SV100-R2,camp,Eval Images Metrics/fine_psnr,4500,18.470195770263672 +SV100-R2,camp,Eval Images Metrics/fine_psnr,5000,17.642112731933594 +SV100-R2,camp,Eval Images Metrics/fine_psnr,5500,18.679691314697266 +SV100-R2,camp,Eval Images Metrics/fine_psnr,6000,20.05659294128418 +SV100-R2,camp,Eval Images Metrics/fine_psnr,6500,19.347042083740234 +SV100-R2,camp,Eval Images Metrics/fine_psnr,7000,19.229949951171875 +SV100-R2,camp,Eval Images Metrics/fine_psnr,7500,21.05779457092285 +SV100-R2,camp,Eval Images Metrics/fine_psnr,8000,22.755544662475586 +SV100-R2,camp,Eval Images Metrics/fine_psnr,8500,18.767637252807617 +SV100-R2,camp,Eval Images Metrics/fine_psnr,9000,18.29390525817871 +SV100-R2,camp,Eval Images Metrics/fine_psnr,9500,19.620742797851562 +SV100-R2,camp,Eval Images Metrics/fine_psnr,10000,19.4151554107666 +SV100-R2,camp,Eval Images Metrics/fine_psnr,10500,23.14397430419922 +SV100-R2,camp,Eval Images Metrics/fine_psnr,11000,21.034894943237305 +SV100-R2,camp,Eval Images Metrics/fine_psnr,11500,23.78538703918457 +SV100-R2,camp,Eval Images Metrics/fine_psnr,12000,18.03582763671875 +SV100-R2,camp,Eval Images Metrics/fine_psnr,12500,23.344738006591797 +SV100-R2,camp,Eval Images Metrics/fine_psnr,13000,22.34304428100586 +SV100-R2,camp,Eval Images Metrics/fine_psnr,13500,21.988494873046875 +SV100-R2,camp,Eval Images Metrics/fine_psnr,14000,18.959991455078125 +SV100-R2,camp,Eval Images Metrics/fine_psnr,14500,23.23167610168457 +SV100-R2,camp,Eval Images Metrics/fine_psnr,15000,19.056047439575195 +SV100-R2,camp,Eval Images Metrics/fine_psnr,15500,18.705902099609375 +SV100-R2,camp,Eval Images Metrics/fine_psnr,16000,18.13915252685547 +SV100-R2,camp,Eval Images Metrics/fine_psnr,16500,18.860958099365234 +SV100-R2,camp,Eval Images Metrics/fine_psnr,17000,18.687700271606445 +SV100-R2,camp,Eval Images Metrics/fine_psnr,17500,19.769193649291992 +SV100-R2,camp,Eval Images Metrics/fine_psnr,18000,19.54527473449707 +SV100-R2,camp,Eval Images Metrics/fine_psnr,18500,18.493478775024414 +SV100-R2,camp,Eval Images Metrics/fine_psnr,19000,21.168102264404297 +SV100-R2,camp,Eval Images Metrics/fine_psnr,19500,22.285871505737305 +SV100-R2,camp,Eval Images Metrics/fine_psnr,20000,18.474056243896484 +SV100-R2,camp,Eval Images Metrics/fine_psnr,20500,20.31492805480957 +SV100-R2,camp,Eval Images Metrics/fine_psnr,21000,18.364721298217773 +SV100-R2,camp,Eval Images Metrics/fine_psnr,21500,18.046987533569336 +SV100-R2,camp,Eval Images Metrics/fine_psnr,22000,18.958065032958984 +SV100-R2,camp,Eval Images Metrics/fine_psnr,22500,20.737028121948242 +SV100-R2,camp,Eval Images Metrics/fine_psnr,23000,22.765398025512695 +SV100-R2,camp,Eval Images Metrics/fine_psnr,23500,22.557336807250977 +SV100-R2,camp,Eval Images Metrics/fine_psnr,24000,18.300790786743164 +SV100-R2,camp,Eval Images Metrics/fine_psnr,24500,18.434988021850586 +SV100-R2,camp,Eval Images Metrics/fine_psnr,25000,17.33426284790039 +SV100-R2,camp,Eval Images Metrics/fine_psnr,25500,18.270681381225586 +SV100-R2,camp,Eval Images Metrics/fine_psnr,26000,19.146215438842773 +SV100-R2,camp,Eval Images Metrics/fine_psnr,26500,20.55152702331543 +SV100-R2,camp,Eval Images Metrics/fine_psnr,27000,18.724647521972656 +SV100-R2,camp,Eval Images Metrics/fine_psnr,27500,20.511884689331055 +SV100-R2,camp,Eval Images Metrics/fine_psnr,28000,17.568880081176758 +SV100-R2,camp,Eval Images Metrics/fine_psnr,28500,17.122896194458008 +SV100-R2,camp,Eval Images Metrics/fine_psnr,29000,17.51453399658203 +SV100-R2,camp,Eval Images Metrics/fine_psnr,29500,21.662498474121094 +SV100-R2,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,19.065595626831055 +SV100-R2,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7567577958106995 +SV100-R2,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.15122584998607635 +SV100-R2,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-R2,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-R2,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-R2,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-R2,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-R2,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-R2,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-R2,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-R2,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-R2,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-R2,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-R2,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-R2,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-R2,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-R2,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-R2,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-R2,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-R2,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-R2,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-R2,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-R2,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-R2,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-R2,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-R2,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-R2,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-R2,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-R2,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-R2,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-R2,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-R2,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-R2,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-R2,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-R2,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-R2,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-R2,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-R2,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-R2,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-R2,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-R2,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-R2,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-R2,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-R2,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-R2,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-R2,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-R2,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-R2,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-R2,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-R2,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-R2,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-R2,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-R2,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-R2,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-R2,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-R2,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-R2,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-R2,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-R2,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-R2,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-R2,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-R2,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-R2,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-R2,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-R2,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-R2,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-R2,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-R2,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-R2,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-R2,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-R2,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-R2,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-R2,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-R2,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-R2,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-R2,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-R2,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-R2,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-R2,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-R2,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-R2,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-R2,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-R2,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-R2,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-R2,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-R2,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-R2,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-R2,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-R2,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-R2,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-R2,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-R2,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-R2,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-R2,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-R2,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-R2,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-R2,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-R2,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-R2,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-R2,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-R2,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-R2,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-R2,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-R2,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-R2,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-R2,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-R2,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-R2,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-R2,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-R2,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-R2,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-R2,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-R2,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-R2,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-R2,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-R2,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-R2,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-R2,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-R2,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-R2,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-R2,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-R2,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-R2,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-R2,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-R2,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-R2,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-R2,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-R2,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-R2,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-R2,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-R2,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-R2,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-R2,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-R2,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-R2,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-R2,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-R2,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-R2,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-R2,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-R2,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-R2,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-R2,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-R2,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-R2,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-R2,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-R2,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-R2,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-R2,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-R2,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-R2,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-R2,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-R2,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-R2,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R2,naive_warmup,Train Loss,0,0.342212051153183 +SV100-R2,naive_warmup,Train Loss,50,0.3185352683067322 +SV100-R2,naive_warmup,Train Loss,100,0.1848943680524826 +SV100-R2,naive_warmup,Train Loss,150,0.17702001333236694 +SV100-R2,naive_warmup,Train Loss,200,0.1644730567932129 +SV100-R2,naive_warmup,Train Loss,250,0.1536954641342163 +SV100-R2,naive_warmup,Train Loss,300,0.14755047857761383 +SV100-R2,naive_warmup,Train Loss,350,0.09524302184581757 +SV100-R2,naive_warmup,Train Loss,400,0.07457967102527618 +SV100-R2,naive_warmup,Train Loss,450,0.06385785341262817 +SV100-R2,naive_warmup,Train Loss,500,0.06304875016212463 +SV100-R2,naive_warmup,Train Loss,550,0.055382419377565384 +SV100-R2,naive_warmup,Train Loss,600,0.06048666685819626 +SV100-R2,naive_warmup,Train Loss,650,0.06302868574857712 +SV100-R2,naive_warmup,Train Loss,700,0.054773636162281036 +SV100-R2,naive_warmup,Train Loss,750,0.053150616586208344 +SV100-R2,naive_warmup,Train Loss,800,0.055986370891332626 +SV100-R2,naive_warmup,Train Loss,850,0.050371959805488586 +SV100-R2,naive_warmup,Train Loss,900,0.03943648934364319 +SV100-R2,naive_warmup,Train Loss,950,0.04329400882124901 +SV100-R2,naive_warmup,Train Loss,1000,0.04247838258743286 +SV100-R2,naive_warmup,Train Loss,1050,0.03722604364156723 +SV100-R2,naive_warmup,Train Loss,1100,0.03845004737377167 +SV100-R2,naive_warmup,Train Loss,1150,0.041713833808898926 +SV100-R2,naive_warmup,Train Loss,1200,0.040864236652851105 +SV100-R2,naive_warmup,Train Loss,1250,0.04135838896036148 +SV100-R2,naive_warmup,Train Loss,1300,0.038644056767225266 +SV100-R2,naive_warmup,Train Loss,1350,0.0355302058160305 +SV100-R2,naive_warmup,Train Loss,1400,0.0355403870344162 +SV100-R2,naive_warmup,Train Loss,1450,0.026079170405864716 +SV100-R2,naive_warmup,Train Loss,1500,0.0333031490445137 +SV100-R2,naive_warmup,Train Loss,1550,0.04297376424074173 +SV100-R2,naive_warmup,Train Loss,1600,0.035493701696395874 +SV100-R2,naive_warmup,Train Loss,1650,0.03462904691696167 +SV100-R2,naive_warmup,Train Loss,1700,0.03701184317469597 +SV100-R2,naive_warmup,Train Loss,1750,0.03495321795344353 +SV100-R2,naive_warmup,Train Loss,1800,0.032735370099544525 +SV100-R2,naive_warmup,Train Loss,1850,0.023304730653762817 +SV100-R2,naive_warmup,Train Loss,1900,0.033757466822862625 +SV100-R2,naive_warmup,Train Loss,1950,0.03219480812549591 +SV100-R2,naive_warmup,Train Loss,2000,0.031401269137859344 +SV100-R2,naive_warmup,Train Loss,2050,0.031796786934137344 +SV100-R2,naive_warmup,Train Loss,2100,0.034716010093688965 +SV100-R2,naive_warmup,Train Loss,2150,0.03310481086373329 +SV100-R2,naive_warmup,Train Loss,2200,0.02928473986685276 +SV100-R2,naive_warmup,Train Loss,2250,0.029328176751732826 +SV100-R2,naive_warmup,Train Loss,2300,0.02629200741648674 +SV100-R2,naive_warmup,Train Loss,2350,0.027981344610452652 +SV100-R2,naive_warmup,Train Loss,2400,0.02865171618759632 +SV100-R2,naive_warmup,Train Loss,2450,0.03450936824083328 +SV100-R2,naive_warmup,Train Loss,2500,0.02638605609536171 +SV100-R2,naive_warmup,Train Loss,2550,0.034025661647319794 +SV100-R2,naive_warmup,Train Loss,2600,0.02783726155757904 +SV100-R2,naive_warmup,Train Loss,2650,0.028346069157123566 +SV100-R2,naive_warmup,Train Loss,2700,0.03305027261376381 +SV100-R2,naive_warmup,Train Loss,2750,0.028230294585227966 +SV100-R2,naive_warmup,Train Loss,2800,0.026937564834952354 +SV100-R2,naive_warmup,Train Loss,2850,0.02466943860054016 +SV100-R2,naive_warmup,Train Loss,2900,0.025881297886371613 +SV100-R2,naive_warmup,Train Loss,2950,0.027820782735943794 +SV100-R2,naive_warmup,Train Loss,3000,0.028410620987415314 +SV100-R2,naive_warmup,Train Loss,3050,0.025009922683238983 +SV100-R2,naive_warmup,Train Loss,3100,0.025360820814967155 +SV100-R2,naive_warmup,Train Loss,3150,0.025101106613874435 +SV100-R2,naive_warmup,Train Loss,3200,0.026380978524684906 +SV100-R2,naive_warmup,Train Loss,3250,0.024204079061746597 +SV100-R2,naive_warmup,Train Loss,3300,0.02375449612736702 +SV100-R2,naive_warmup,Train Loss,3350,0.02659936249256134 +SV100-R2,naive_warmup,Train Loss,3400,0.024575475603342056 +SV100-R2,naive_warmup,Train Loss,3450,0.026450656354427338 +SV100-R2,naive_warmup,Train Loss,3500,0.024329334497451782 +SV100-R2,naive_warmup,Train Loss,3550,0.022699208930134773 +SV100-R2,naive_warmup,Train Loss,3600,0.02216993272304535 +SV100-R2,naive_warmup,Train Loss,3650,0.022732291370630264 +SV100-R2,naive_warmup,Train Loss,3700,0.023052390664815903 +SV100-R2,naive_warmup,Train Loss,3750,0.020724866539239883 +SV100-R2,naive_warmup,Train Loss,3800,0.023982934653759003 +SV100-R2,naive_warmup,Train Loss,3850,0.022313889116048813 +SV100-R2,naive_warmup,Train Loss,3900,0.028190305456519127 +SV100-R2,naive_warmup,Train Loss,3950,0.021039526909589767 +SV100-R2,naive_warmup,Train Loss,4000,0.02672760747373104 +SV100-R2,naive_warmup,Train Loss,4050,0.020668912678956985 +SV100-R2,naive_warmup,Train Loss,4100,0.024036582559347153 +SV100-R2,naive_warmup,Train Loss,4150,0.021388720721006393 +SV100-R2,naive_warmup,Train Loss,4200,0.019361838698387146 +SV100-R2,naive_warmup,Train Loss,4250,0.021769262850284576 +SV100-R2,naive_warmup,Train Loss,4300,0.01814291998744011 +SV100-R2,naive_warmup,Train Loss,4350,0.020812619477510452 +SV100-R2,naive_warmup,Train Loss,4400,0.019469615072011948 +SV100-R2,naive_warmup,Train Loss,4450,0.021460136398673058 +SV100-R2,naive_warmup,Train Loss,4500,0.0203220397233963 +SV100-R2,naive_warmup,Train Loss,4550,0.022197935730218887 +SV100-R2,naive_warmup,Train Loss,4600,0.020083559677004814 +SV100-R2,naive_warmup,Train Loss,4650,0.020350052043795586 +SV100-R2,naive_warmup,Train Loss,4700,0.025143329054117203 +SV100-R2,naive_warmup,Train Loss,4750,0.018328271806240082 +SV100-R2,naive_warmup,Train Loss,4800,0.021919868886470795 +SV100-R2,naive_warmup,Train Loss,4850,0.017285430803894997 +SV100-R2,naive_warmup,Train Loss,4900,0.020677994936704636 +SV100-R2,naive_warmup,Train Loss,4950,0.020488671958446503 +SV100-R2,naive_warmup,Train Loss,5000,0.01862260140478611 +SV100-R2,naive_warmup,Train Loss,5500,0.02092146873474121 +SV100-R2,naive_warmup,Train Loss,6000,0.012785196304321289 +SV100-R2,naive_warmup,Train Loss,6500,0.01852787286043167 +SV100-R2,naive_warmup,Train Loss,7000,0.016398683190345764 +SV100-R2,naive_warmup,Train Loss,7500,0.016933582723140717 +SV100-R2,naive_warmup,Train Loss,8000,0.013125916942954063 +SV100-R2,naive_warmup,Train Loss,8500,0.013808546587824821 +SV100-R2,naive_warmup,Train Loss,9000,0.015121657401323318 +SV100-R2,naive_warmup,Train Loss,9500,0.010972374118864536 +SV100-R2,naive_warmup,Train Loss,10000,0.013189813122153282 +SV100-R2,naive_warmup,Train Loss,10500,0.011492161080241203 +SV100-R2,naive_warmup,Train Loss,11000,0.012767542153596878 +SV100-R2,naive_warmup,Train Loss,11500,0.011703157797455788 +SV100-R2,naive_warmup,Train Loss,12000,0.01056221965700388 +SV100-R2,naive_warmup,Train Loss,12500,0.014865823090076447 +SV100-R2,naive_warmup,Train Loss,13000,0.012715904042124748 +SV100-R2,naive_warmup,Train Loss,13500,0.011496331542730331 +SV100-R2,naive_warmup,Train Loss,14000,0.011728467419743538 +SV100-R2,naive_warmup,Train Loss,14500,0.01101042702794075 +SV100-R2,naive_warmup,Train Loss,15000,0.007892858237028122 +SV100-R2,naive_warmup,Train Loss,15500,0.010701249353587627 +SV100-R2,naive_warmup,Train Loss,16000,0.011944468133151531 +SV100-R2,naive_warmup,Train Loss,16500,0.00966162420809269 +SV100-R2,naive_warmup,Train Loss,17000,0.007600286975502968 +SV100-R2,naive_warmup,Train Loss,17500,0.008433050476014614 +SV100-R2,naive_warmup,Train Loss,18000,0.008486009202897549 +SV100-R2,naive_warmup,Train Loss,18500,0.00810785312205553 +SV100-R2,naive_warmup,Train Loss,19000,0.007714077830314636 +SV100-R2,naive_warmup,Train Loss,19500,0.00841063167899847 +SV100-R2,naive_warmup,Train Loss,20000,0.0075668469071388245 +SV100-R2,naive_warmup,Train Loss,20500,0.008016927167773247 +SV100-R2,naive_warmup,Train Loss,21000,0.007527275010943413 +SV100-R2,naive_warmup,Train Loss,21500,0.006014774553477764 +SV100-R2,naive_warmup,Train Loss,22000,0.009314418770372868 +SV100-R2,naive_warmup,Train Loss,22500,0.007343999110162258 +SV100-R2,naive_warmup,Train Loss,23000,0.007968449965119362 +SV100-R2,naive_warmup,Train Loss,23500,0.007407506462186575 +SV100-R2,naive_warmup,Train Loss,24000,0.0061436309479177 +SV100-R2,naive_warmup,Train Loss,24500,0.007701005786657333 +SV100-R2,naive_warmup,Train Loss,25000,0.006504564080387354 +SV100-R2,naive_warmup,Train Loss,25500,0.007956257089972496 +SV100-R2,naive_warmup,Train Loss,26000,0.006414775736629963 +SV100-R2,naive_warmup,Train Loss,26500,0.005340462550520897 +SV100-R2,naive_warmup,Train Loss,27000,0.006783606484532356 +SV100-R2,naive_warmup,Train Loss,27500,0.006125167012214661 +SV100-R2,naive_warmup,Train Loss,28000,0.007000878918915987 +SV100-R2,naive_warmup,Train Loss,28500,0.00682637095451355 +SV100-R2,naive_warmup,Train Loss,29000,0.008255364373326302 +SV100-R2,naive_warmup,Train Loss,29500,0.008448900654911995 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,500,15.398482322692871 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,1000,18.412126541137695 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,1500,18.41927146911621 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,2000,18.26837158203125 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,2500,18.7890682220459 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,3000,18.5944766998291 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,3500,18.62523651123047 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,4000,19.465579986572266 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,4500,19.216537475585938 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,5000,18.677913665771484 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,5500,18.640932083129883 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,6000,20.207538604736328 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,6500,19.080684661865234 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,7000,19.779136657714844 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,7500,21.144453048706055 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,8000,22.08098793029785 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,8500,18.508386611938477 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,9000,18.87665367126465 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,9500,18.54328155517578 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,10000,18.645883560180664 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,10500,23.018081665039062 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,11000,21.78911590576172 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,11500,23.016691207885742 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,12000,19.067718505859375 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,12500,21.132762908935547 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,13000,22.034547805786133 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,13500,21.988754272460938 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,14000,18.169227600097656 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,14500,21.39284324645996 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,15000,18.76900863647461 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,15500,18.15631103515625 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,16000,18.50642204284668 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,16500,18.479389190673828 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,17000,19.82901382446289 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,17500,23.523887634277344 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,18000,21.44292449951172 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,18500,18.04269027709961 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,19000,21.642147064208984 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,19500,21.868907928466797 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,20000,17.94313621520996 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,20500,20.07071304321289 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,21000,19.759267807006836 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,21500,18.0015811920166 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,22000,18.023046493530273 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,22500,21.778709411621094 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,23000,20.857370376586914 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,23500,20.805105209350586 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,24000,17.718029022216797 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,24500,17.917898178100586 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,25000,17.745311737060547 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,25500,17.800729751586914 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,26000,18.629873275756836 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,26500,18.700380325317383 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,27000,18.160404205322266 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,27500,21.996660232543945 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,28000,17.94150161743164 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,28500,17.42328453063965 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,29000,18.255449295043945 +SV100-R2,naive_warmup,Eval Images Metrics/fine_psnr,29500,21.730520248413086 +SV100-R2,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,19.277637481689453 +SV100-R2,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7563754320144653 +SV100-R2,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.14092589914798737 +SV100-R2,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-R2,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-R2,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-R2,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-R2,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-R2,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-R2,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-R2,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-R2,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-R2,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-R2,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-R2,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-R2,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-R2,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-R2,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-R2,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-R2,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-R2,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-R2,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-R2,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-R2,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-R2,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-R2,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-R2,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-R2,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-R2,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-R2,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-R2,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-R2,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-R2,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-R2,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-R2,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-R2,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-R2,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-R2,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-R2,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-R2,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-R2,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-R2,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-R2,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-R2,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-R2,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-R2,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-R2,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-R2,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-R2,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-R2,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-R2,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-R2,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-R2,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-R2,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-R2,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-R2,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-R2,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-R2,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-R2,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-R2,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-R2,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-R2,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-R2,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-R2,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-R2,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-R2,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-R2,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-R2,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-R2,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-R2,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-R2,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-R2,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-R2,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-R2,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-R2,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-R2,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-R2,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-R2,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-R2,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-R2,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-R2,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-R2,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-R2,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-R2,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-R2,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-R2,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-R2,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-R2,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-R2,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-R2,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-R2,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-R2,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-R2,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-R2,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-R2,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-R2,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-R2,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-R2,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-R2,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-R2,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-R2,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-R2,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-R2,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-R2,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-R2,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-R2,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-R2,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-R2,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-R2,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-R2,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-R2,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-R2,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-R2,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-R2,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-R2,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-R2,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-R2,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-R2,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-R2,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-R2,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-R2,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-R2,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-R2,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-R2,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-R2,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-R2,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-R2,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-R2,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-R2,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-R2,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-R2,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-R2,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-R2,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-R2,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-R2,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-R2,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-R2,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-R2,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-R2,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-R2,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-R2,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-R2,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-R2,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-R2,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-R2,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-R2,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-R2,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-R2,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-R2,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-R2,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-R2,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-R2,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-R2,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-R2,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R2,camp_warmup,Train Loss,0,0.342212051153183 +SV100-R2,camp_warmup,Train Loss,50,0.3185370862483978 +SV100-R2,camp_warmup,Train Loss,100,0.18492381274700165 +SV100-R2,camp_warmup,Train Loss,150,0.17704257369041443 +SV100-R2,camp_warmup,Train Loss,200,0.1644555777311325 +SV100-R2,camp_warmup,Train Loss,250,0.15368881821632385 +SV100-R2,camp_warmup,Train Loss,300,0.14820435643196106 +SV100-R2,camp_warmup,Train Loss,350,0.09535928815603256 +SV100-R2,camp_warmup,Train Loss,400,0.07476605474948883 +SV100-R2,camp_warmup,Train Loss,450,0.06669899821281433 +SV100-R2,camp_warmup,Train Loss,500,0.06403173506259918 +SV100-R2,camp_warmup,Train Loss,550,0.05362539365887642 +SV100-R2,camp_warmup,Train Loss,600,0.05813945457339287 +SV100-R2,camp_warmup,Train Loss,650,0.06244809180498123 +SV100-R2,camp_warmup,Train Loss,700,0.057656705379486084 +SV100-R2,camp_warmup,Train Loss,750,0.05314810574054718 +SV100-R2,camp_warmup,Train Loss,800,0.0578484907746315 +SV100-R2,camp_warmup,Train Loss,850,0.0495145209133625 +SV100-R2,camp_warmup,Train Loss,900,0.04183105751872063 +SV100-R2,camp_warmup,Train Loss,950,0.04618167132139206 +SV100-R2,camp_warmup,Train Loss,1000,0.03926810622215271 +SV100-R2,camp_warmup,Train Loss,1050,0.03892245888710022 +SV100-R2,camp_warmup,Train Loss,1100,0.04350289702415466 +SV100-R2,camp_warmup,Train Loss,1150,0.04141978174448013 +SV100-R2,camp_warmup,Train Loss,1200,0.032533612102270126 +SV100-R2,camp_warmup,Train Loss,1250,0.04087284207344055 +SV100-R2,camp_warmup,Train Loss,1300,0.03732061758637428 +SV100-R2,camp_warmup,Train Loss,1350,0.0399085208773613 +SV100-R2,camp_warmup,Train Loss,1400,0.036261361092329025 +SV100-R2,camp_warmup,Train Loss,1450,0.024500176310539246 +SV100-R2,camp_warmup,Train Loss,1500,0.032435692846775055 +SV100-R2,camp_warmup,Train Loss,1550,0.04178351163864136 +SV100-R2,camp_warmup,Train Loss,1600,0.034661680459976196 +SV100-R2,camp_warmup,Train Loss,1650,0.03703320771455765 +SV100-R2,camp_warmup,Train Loss,1700,0.03862042725086212 +SV100-R2,camp_warmup,Train Loss,1750,0.036009155213832855 +SV100-R2,camp_warmup,Train Loss,1800,0.03254401683807373 +SV100-R2,camp_warmup,Train Loss,1850,0.026216939091682434 +SV100-R2,camp_warmup,Train Loss,1900,0.03413619101047516 +SV100-R2,camp_warmup,Train Loss,1950,0.03498220816254616 +SV100-R2,camp_warmup,Train Loss,2000,0.031764693558216095 +SV100-R2,camp_warmup,Train Loss,2050,0.032999470829963684 +SV100-R2,camp_warmup,Train Loss,2100,0.03474777564406395 +SV100-R2,camp_warmup,Train Loss,2150,0.03310316056013107 +SV100-R2,camp_warmup,Train Loss,2200,0.029970359057188034 +SV100-R2,camp_warmup,Train Loss,2250,0.03201412782073021 +SV100-R2,camp_warmup,Train Loss,2300,0.027254967018961906 +SV100-R2,camp_warmup,Train Loss,2350,0.033572111278772354 +SV100-R2,camp_warmup,Train Loss,2400,0.03133176267147064 +SV100-R2,camp_warmup,Train Loss,2450,0.03466786444187164 +SV100-R2,camp_warmup,Train Loss,2500,0.02743169292807579 +SV100-R2,camp_warmup,Train Loss,2550,0.03506341204047203 +SV100-R2,camp_warmup,Train Loss,2600,0.032713957130908966 +SV100-R2,camp_warmup,Train Loss,2650,0.029031822457909584 +SV100-R2,camp_warmup,Train Loss,2700,0.03496721759438515 +SV100-R2,camp_warmup,Train Loss,2750,0.03382692113518715 +SV100-R2,camp_warmup,Train Loss,2800,0.031251564621925354 +SV100-R2,camp_warmup,Train Loss,2850,0.03030790016055107 +SV100-R2,camp_warmup,Train Loss,2900,0.025559958070516586 +SV100-R2,camp_warmup,Train Loss,2950,0.030650462955236435 +SV100-R2,camp_warmup,Train Loss,3000,0.02935408428311348 +SV100-R2,camp_warmup,Train Loss,3050,0.029780516400933266 +SV100-R2,camp_warmup,Train Loss,3100,0.030529238283634186 +SV100-R2,camp_warmup,Train Loss,3150,0.031190356239676476 +SV100-R2,camp_warmup,Train Loss,3200,0.0275593139231205 +SV100-R2,camp_warmup,Train Loss,3250,0.02837967686355114 +SV100-R2,camp_warmup,Train Loss,3300,0.028755225241184235 +SV100-R2,camp_warmup,Train Loss,3350,0.028287123888731003 +SV100-R2,camp_warmup,Train Loss,3400,0.025668838992714882 +SV100-R2,camp_warmup,Train Loss,3450,0.029370145872235298 +SV100-R2,camp_warmup,Train Loss,3500,0.027054741978645325 +SV100-R2,camp_warmup,Train Loss,3550,0.02743028663098812 +SV100-R2,camp_warmup,Train Loss,3600,0.025586774572730064 +SV100-R2,camp_warmup,Train Loss,3650,0.02939189225435257 +SV100-R2,camp_warmup,Train Loss,3700,0.02974947728216648 +SV100-R2,camp_warmup,Train Loss,3750,0.023429173976182938 +SV100-R2,camp_warmup,Train Loss,3800,0.028900381177663803 +SV100-R2,camp_warmup,Train Loss,3850,0.0252080000936985 +SV100-R2,camp_warmup,Train Loss,3900,0.02832440473139286 +SV100-R2,camp_warmup,Train Loss,3950,0.027240291237831116 +SV100-R2,camp_warmup,Train Loss,4000,0.02824346534907818 +SV100-R2,camp_warmup,Train Loss,4050,0.026212777942419052 +SV100-R2,camp_warmup,Train Loss,4100,0.02224157750606537 +SV100-R2,camp_warmup,Train Loss,4150,0.023757243528962135 +SV100-R2,camp_warmup,Train Loss,4200,0.02516299858689308 +SV100-R2,camp_warmup,Train Loss,4250,0.027218621224164963 +SV100-R2,camp_warmup,Train Loss,4300,0.021028880029916763 +SV100-R2,camp_warmup,Train Loss,4350,0.02139277756214142 +SV100-R2,camp_warmup,Train Loss,4400,0.023936554789543152 +SV100-R2,camp_warmup,Train Loss,4450,0.02254917100071907 +SV100-R2,camp_warmup,Train Loss,4500,0.021864045411348343 +SV100-R2,camp_warmup,Train Loss,4550,0.02086634747684002 +SV100-R2,camp_warmup,Train Loss,4600,0.026178346946835518 +SV100-R2,camp_warmup,Train Loss,4650,0.023898998275399208 +SV100-R2,camp_warmup,Train Loss,4700,0.02626018039882183 +SV100-R2,camp_warmup,Train Loss,4750,0.021210942417383194 +SV100-R2,camp_warmup,Train Loss,4800,0.02071749046444893 +SV100-R2,camp_warmup,Train Loss,4850,0.02200319990515709 +SV100-R2,camp_warmup,Train Loss,4900,0.021748226135969162 +SV100-R2,camp_warmup,Train Loss,4950,0.025471989065408707 +SV100-R2,camp_warmup,Train Loss,5000,0.0230550579726696 +SV100-R2,camp_warmup,Train Loss,5500,0.02056870609521866 +SV100-R2,camp_warmup,Train Loss,6000,0.01635066419839859 +SV100-R2,camp_warmup,Train Loss,6500,0.02161509171128273 +SV100-R2,camp_warmup,Train Loss,7000,0.021529607474803925 +SV100-R2,camp_warmup,Train Loss,7500,0.017976101487874985 +SV100-R2,camp_warmup,Train Loss,8000,0.012863379903137684 +SV100-R2,camp_warmup,Train Loss,8500,0.014058446511626244 +SV100-R2,camp_warmup,Train Loss,9000,0.01594780758023262 +SV100-R2,camp_warmup,Train Loss,9500,0.015874778851866722 +SV100-R2,camp_warmup,Train Loss,10000,0.015511566773056984 +SV100-R2,camp_warmup,Train Loss,10500,0.011095402762293816 +SV100-R2,camp_warmup,Train Loss,11000,0.011533119715750217 +SV100-R2,camp_warmup,Train Loss,11500,0.01062038354575634 +SV100-R2,camp_warmup,Train Loss,12000,0.009493337012827396 +SV100-R2,camp_warmup,Train Loss,12500,0.01636520028114319 +SV100-R2,camp_warmup,Train Loss,13000,0.012698564678430557 +SV100-R2,camp_warmup,Train Loss,13500,0.011615261435508728 +SV100-R2,camp_warmup,Train Loss,14000,0.012355608865618706 +SV100-R2,camp_warmup,Train Loss,14500,0.010474918410182 +SV100-R2,camp_warmup,Train Loss,15000,0.009966352954506874 +SV100-R2,camp_warmup,Train Loss,15500,0.01099366694688797 +SV100-R2,camp_warmup,Train Loss,16000,0.011371281929314137 +SV100-R2,camp_warmup,Train Loss,16500,0.0083903968334198 +SV100-R2,camp_warmup,Train Loss,17000,0.00731579028069973 +SV100-R2,camp_warmup,Train Loss,17500,0.00851887371391058 +SV100-R2,camp_warmup,Train Loss,18000,0.007663602940738201 +SV100-R2,camp_warmup,Train Loss,18500,0.009520001709461212 +SV100-R2,camp_warmup,Train Loss,19000,0.008850226178765297 +SV100-R2,camp_warmup,Train Loss,19500,0.00985006708651781 +SV100-R2,camp_warmup,Train Loss,20000,0.0076440926641225815 +SV100-R2,camp_warmup,Train Loss,20500,0.00815444253385067 +SV100-R2,camp_warmup,Train Loss,21000,0.008416961878538132 +SV100-R2,camp_warmup,Train Loss,21500,0.006446158513426781 +SV100-R2,camp_warmup,Train Loss,22000,0.00828295573592186 +SV100-R2,camp_warmup,Train Loss,22500,0.007056073285639286 +SV100-R2,camp_warmup,Train Loss,23000,0.008045455440878868 +SV100-R2,camp_warmup,Train Loss,23500,0.008359242230653763 +SV100-R2,camp_warmup,Train Loss,24000,0.00703977607190609 +SV100-R2,camp_warmup,Train Loss,24500,0.007883435115218163 +SV100-R2,camp_warmup,Train Loss,25000,0.007830537855625153 +SV100-R2,camp_warmup,Train Loss,25500,0.006431824527680874 +SV100-R2,camp_warmup,Train Loss,26000,0.008030536584556103 +SV100-R2,camp_warmup,Train Loss,26500,0.006619124207645655 +SV100-R2,camp_warmup,Train Loss,27000,0.00628270348533988 +SV100-R2,camp_warmup,Train Loss,27500,0.005858509335666895 +SV100-R2,camp_warmup,Train Loss,28000,0.006875280756503344 +SV100-R2,camp_warmup,Train Loss,28500,0.00602191686630249 +SV100-R2,camp_warmup,Train Loss,29000,0.008462585508823395 +SV100-R2,camp_warmup,Train Loss,29500,0.007628777530044317 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,500,15.461417198181152 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,1000,18.737871170043945 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,1500,18.67271614074707 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,2000,18.651275634765625 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,2500,18.94829750061035 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,3000,18.647964477539062 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,3500,17.7752742767334 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,4000,20.36864471435547 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,4500,18.963970184326172 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,5000,18.474655151367188 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,5500,19.51397132873535 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,6000,20.138999938964844 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,6500,21.137277603149414 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,7000,19.775188446044922 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,7500,21.431819915771484 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,8000,23.492292404174805 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,8500,20.381160736083984 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,9000,19.4055233001709 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,9500,20.0039119720459 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,10000,20.387859344482422 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,10500,22.859012603759766 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,11000,20.038467407226562 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,11500,22.65331268310547 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,12000,18.49935531616211 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,12500,21.093997955322266 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,13000,20.54001808166504 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,13500,20.370670318603516 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,14000,19.205734252929688 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,14500,22.010221481323242 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,15000,20.238948822021484 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,15500,19.34341812133789 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,16000,18.38436508178711 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,16500,20.43551254272461 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,17000,19.37558937072754 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,17500,21.220870971679688 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,18000,19.819334030151367 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,18500,19.730478286743164 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,19000,22.977163314819336 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,19500,20.5824031829834 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,20000,19.587160110473633 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,20500,22.75396728515625 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,21000,19.202390670776367 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,21500,19.155813217163086 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,22000,18.786724090576172 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,22500,20.059829711914062 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,23000,20.8170108795166 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,23500,20.594013214111328 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,24000,18.91299819946289 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,24500,19.42038917541504 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,25000,18.230995178222656 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,25500,18.861190795898438 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,26000,18.615013122558594 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,26500,19.444581985473633 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,27000,19.90078353881836 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,27500,19.64800453186035 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,28000,18.80756187438965 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,28500,18.105575561523438 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,29000,18.350341796875 +SV100-R2,camp_warmup,Eval Images Metrics/fine_psnr,29500,20.216331481933594 +SV100-R2,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,19.76424217224121 +SV100-R2,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7712345719337463 +SV100-R2,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.14174804091453552 +SV100-R5,fixed,Train Loss,0,0.3426312208175659 +SV100-R5,fixed,Train Loss,50,0.31651008129119873 +SV100-R5,fixed,Train Loss,100,0.1783408671617508 +SV100-R5,fixed,Train Loss,150,0.17716848850250244 +SV100-R5,fixed,Train Loss,200,0.17786474525928497 +SV100-R5,fixed,Train Loss,250,0.17052215337753296 +SV100-R5,fixed,Train Loss,300,0.15360474586486816 +SV100-R5,fixed,Train Loss,350,0.12332426011562347 +SV100-R5,fixed,Train Loss,400,0.10734893381595612 +SV100-R5,fixed,Train Loss,450,0.10372781753540039 +SV100-R5,fixed,Train Loss,500,0.09817151725292206 +SV100-R5,fixed,Train Loss,550,0.11209894716739655 +SV100-R5,fixed,Train Loss,600,0.09730596840381622 +SV100-R5,fixed,Train Loss,650,0.08982590585947037 +SV100-R5,fixed,Train Loss,700,0.10029768198728561 +SV100-R5,fixed,Train Loss,750,0.10048319399356842 +SV100-R5,fixed,Train Loss,800,0.10066564381122589 +SV100-R5,fixed,Train Loss,850,0.09423162788152695 +SV100-R5,fixed,Train Loss,900,0.09360438585281372 +SV100-R5,fixed,Train Loss,950,0.10054735094308853 +SV100-R5,fixed,Train Loss,1000,0.08818017691373825 +SV100-R5,fixed,Train Loss,1050,0.09492844343185425 +SV100-R5,fixed,Train Loss,1100,0.08754651248455048 +SV100-R5,fixed,Train Loss,1150,0.09309220314025879 +SV100-R5,fixed,Train Loss,1200,0.09105706214904785 +SV100-R5,fixed,Train Loss,1250,0.09222617000341415 +SV100-R5,fixed,Train Loss,1300,0.09513434022665024 +SV100-R5,fixed,Train Loss,1350,0.09248708188533783 +SV100-R5,fixed,Train Loss,1400,0.08284986019134521 +SV100-R5,fixed,Train Loss,1450,0.08740587532520294 +SV100-R5,fixed,Train Loss,1500,0.09381704777479172 +SV100-R5,fixed,Train Loss,1550,0.09493988752365112 +SV100-R5,fixed,Train Loss,1600,0.08366045355796814 +SV100-R5,fixed,Train Loss,1650,0.09519871324300766 +SV100-R5,fixed,Train Loss,1700,0.0881524384021759 +SV100-R5,fixed,Train Loss,1750,0.0826341062784195 +SV100-R5,fixed,Train Loss,1800,0.08523474633693695 +SV100-R5,fixed,Train Loss,1850,0.08272705972194672 +SV100-R5,fixed,Train Loss,1900,0.08373638987541199 +SV100-R5,fixed,Train Loss,1950,0.08740638941526413 +SV100-R5,fixed,Train Loss,2000,0.08465490490198135 +SV100-R5,fixed,Train Loss,2050,0.07805372774600983 +SV100-R5,fixed,Train Loss,2100,0.08531057834625244 +SV100-R5,fixed,Train Loss,2150,0.0807090699672699 +SV100-R5,fixed,Train Loss,2200,0.08742376416921616 +SV100-R5,fixed,Train Loss,2250,0.07053384929895401 +SV100-R5,fixed,Train Loss,2300,0.07455176115036011 +SV100-R5,fixed,Train Loss,2350,0.08614148944616318 +SV100-R5,fixed,Train Loss,2400,0.07647663354873657 +SV100-R5,fixed,Train Loss,2450,0.08380964398384094 +SV100-R5,fixed,Train Loss,2500,0.07459895312786102 +SV100-R5,fixed,Train Loss,2550,0.08370612561702728 +SV100-R5,fixed,Train Loss,2600,0.08173994719982147 +SV100-R5,fixed,Train Loss,2650,0.08080527186393738 +SV100-R5,fixed,Train Loss,2700,0.07427816092967987 +SV100-R5,fixed,Train Loss,2750,0.0724705308675766 +SV100-R5,fixed,Train Loss,2800,0.07221055030822754 +SV100-R5,fixed,Train Loss,2850,0.0664183720946312 +SV100-R5,fixed,Train Loss,2900,0.06981668621301651 +SV100-R5,fixed,Train Loss,2950,0.06756820529699326 +SV100-R5,fixed,Train Loss,3000,0.0586225688457489 +SV100-R5,fixed,Train Loss,3050,0.07651733607053757 +SV100-R5,fixed,Train Loss,3100,0.07138267159461975 +SV100-R5,fixed,Train Loss,3150,0.07419775426387787 +SV100-R5,fixed,Train Loss,3200,0.06470596790313721 +SV100-R5,fixed,Train Loss,3250,0.06496548652648926 +SV100-R5,fixed,Train Loss,3300,0.07482098788022995 +SV100-R5,fixed,Train Loss,3350,0.06755106896162033 +SV100-R5,fixed,Train Loss,3400,0.06940563023090363 +SV100-R5,fixed,Train Loss,3450,0.06689739227294922 +SV100-R5,fixed,Train Loss,3500,0.06522850692272186 +SV100-R5,fixed,Train Loss,3550,0.06282749027013779 +SV100-R5,fixed,Train Loss,3600,0.06265518814325333 +SV100-R5,fixed,Train Loss,3650,0.06347255408763885 +SV100-R5,fixed,Train Loss,3700,0.06628800183534622 +SV100-R5,fixed,Train Loss,3750,0.057733241468667984 +SV100-R5,fixed,Train Loss,3800,0.06041180342435837 +SV100-R5,fixed,Train Loss,3850,0.06311029195785522 +SV100-R5,fixed,Train Loss,3900,0.06238645315170288 +SV100-R5,fixed,Train Loss,3950,0.060770183801651 +SV100-R5,fixed,Train Loss,4000,0.06343333423137665 +SV100-R5,fixed,Train Loss,4050,0.05714856833219528 +SV100-R5,fixed,Train Loss,4100,0.05543851479887962 +SV100-R5,fixed,Train Loss,4150,0.06082097813487053 +SV100-R5,fixed,Train Loss,4200,0.06568720936775208 +SV100-R5,fixed,Train Loss,4250,0.05583340302109718 +SV100-R5,fixed,Train Loss,4300,0.06469221413135529 +SV100-R5,fixed,Train Loss,4350,0.04893719404935837 +SV100-R5,fixed,Train Loss,4400,0.057454366236925125 +SV100-R5,fixed,Train Loss,4450,0.059240736067295074 +SV100-R5,fixed,Train Loss,4500,0.058057814836502075 +SV100-R5,fixed,Train Loss,4550,0.0559212863445282 +SV100-R5,fixed,Train Loss,4600,0.05755964666604996 +SV100-R5,fixed,Train Loss,4650,0.05746994912624359 +SV100-R5,fixed,Train Loss,4700,0.0564672127366066 +SV100-R5,fixed,Train Loss,4750,0.05409367382526398 +SV100-R5,fixed,Train Loss,4800,0.055617623031139374 +SV100-R5,fixed,Train Loss,4850,0.05332448333501816 +SV100-R5,fixed,Train Loss,4900,0.05401546508073807 +SV100-R5,fixed,Train Loss,4950,0.05895614251494408 +SV100-R5,fixed,Train Loss,5000,0.05274561792612076 +SV100-R5,fixed,Train Loss,5500,0.057244908064603806 +SV100-R5,fixed,Train Loss,6000,0.04737146571278572 +SV100-R5,fixed,Train Loss,6500,0.04998735710978508 +SV100-R5,fixed,Train Loss,7000,0.04368911683559418 +SV100-R5,fixed,Train Loss,7500,0.050477489829063416 +SV100-R5,fixed,Train Loss,8000,0.045565709471702576 +SV100-R5,fixed,Train Loss,8500,0.039655089378356934 +SV100-R5,fixed,Train Loss,9000,0.03945092111825943 +SV100-R5,fixed,Train Loss,9500,0.040545009076595306 +SV100-R5,fixed,Train Loss,10000,0.04029611498117447 +SV100-R5,fixed,Train Loss,10500,0.032259345054626465 +SV100-R5,fixed,Train Loss,11000,0.03718829154968262 +SV100-R5,fixed,Train Loss,11500,0.03290005773305893 +SV100-R5,fixed,Train Loss,12000,0.030733108520507812 +SV100-R5,fixed,Train Loss,12500,0.03299793228507042 +SV100-R5,fixed,Train Loss,13000,0.03095000982284546 +SV100-R5,fixed,Train Loss,13500,0.03471162170171738 +SV100-R5,fixed,Train Loss,14000,0.03153152018785477 +SV100-R5,fixed,Train Loss,14500,0.03168296068906784 +SV100-R5,fixed,Train Loss,15000,0.029730675742030144 +SV100-R5,fixed,Train Loss,15500,0.032300226390361786 +SV100-R5,fixed,Train Loss,16000,0.03497003763914108 +SV100-R5,fixed,Train Loss,16500,0.026894347742199898 +SV100-R5,fixed,Train Loss,17000,0.0288382638245821 +SV100-R5,fixed,Train Loss,17500,0.029140513390302658 +SV100-R5,fixed,Train Loss,18000,0.025388561189174652 +SV100-R5,fixed,Train Loss,18500,0.028196800500154495 +SV100-R5,fixed,Train Loss,19000,0.02784530073404312 +SV100-R5,fixed,Train Loss,19500,0.027798015624284744 +SV100-R5,fixed,Train Loss,20000,0.02444007433950901 +SV100-R5,fixed,Train Loss,20500,0.026301251724362373 +SV100-R5,fixed,Train Loss,21000,0.024682192131876945 +SV100-R5,fixed,Train Loss,21500,0.029999753460288048 +SV100-R5,fixed,Train Loss,22000,0.027224551886320114 +SV100-R5,fixed,Train Loss,22500,0.02610265277326107 +SV100-R5,fixed,Train Loss,23000,0.025006501004099846 +SV100-R5,fixed,Train Loss,23500,0.023443259298801422 +SV100-R5,fixed,Train Loss,24000,0.026021530851721764 +SV100-R5,fixed,Train Loss,24500,0.02502775378525257 +SV100-R5,fixed,Train Loss,25000,0.023993629962205887 +SV100-R5,fixed,Train Loss,25500,0.022939207032322884 +SV100-R5,fixed,Train Loss,26000,0.024124834686517715 +SV100-R5,fixed,Train Loss,26500,0.02583819255232811 +SV100-R5,fixed,Train Loss,27000,0.024008464068174362 +SV100-R5,fixed,Train Loss,27500,0.024819066748023033 +SV100-R5,fixed,Train Loss,28000,0.021985188126564026 +SV100-R5,fixed,Train Loss,28500,0.020963814109563828 +SV100-R5,fixed,Train Loss,29000,0.026158900931477547 +SV100-R5,fixed,Train Loss,29500,0.021957501769065857 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,500,13.363815307617188 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,1000,14.271648406982422 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,1500,14.064286231994629 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,2000,14.23716926574707 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,2500,14.082254409790039 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,3000,14.725044250488281 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,3500,11.555006980895996 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,4000,13.227476119995117 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,4500,13.662124633789062 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,5000,13.324982643127441 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,5500,11.330878257751465 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,6000,12.901887893676758 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,6500,12.61206340789795 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,7000,12.243670463562012 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,7500,13.374165534973145 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,8000,13.028693199157715 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,8500,12.27437686920166 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,9000,13.395776748657227 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,9500,12.660674095153809 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,10000,11.887337684631348 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,10500,11.77602481842041 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,11000,10.9122896194458 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,11500,13.58340072631836 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,12000,10.403239250183105 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,12500,12.489693641662598 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,13000,11.782455444335938 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,13500,11.704009056091309 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,14000,13.918421745300293 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,14500,13.848318099975586 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,15000,13.823826789855957 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,15500,11.598946571350098 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,16000,12.308515548706055 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,16500,14.534549713134766 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,17000,14.66511344909668 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,17500,10.656895637512207 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,18000,12.75001335144043 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,18500,10.931697845458984 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,19000,11.561453819274902 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,19500,11.28639030456543 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,20000,11.793639183044434 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,20500,10.573431968688965 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,21000,11.547407150268555 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,21500,10.627184867858887 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,22000,11.229768753051758 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,22500,11.887431144714355 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,23000,14.437925338745117 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,23500,9.926408767700195 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,24000,13.096471786499023 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,24500,10.537571907043457 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,25000,12.444952964782715 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,25500,12.167045593261719 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,26000,13.442536354064941 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,26500,12.157715797424316 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,27000,12.088332176208496 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,27500,10.649872779846191 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,28000,10.811569213867188 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,28500,11.325543403625488 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,29000,11.840847969055176 +SV100-R5,fixed,Eval Images Metrics/fine_psnr,29500,10.102108001708984 +SV100-R5,fixed,Eval Images Metrics Dict (all images)/fine_psnr,25000,11.955204010009766 +SV100-R5,fixed,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.6943836808204651 +SV100-R5,fixed,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.477721244096756 +SV100-R5,naive,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-R5,naive,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-R5,naive,learning_rate/camera_opt,100,0.000992277986370027 +SV100-R5,naive,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-R5,naive,learning_rate/camera_opt,200,0.000984691083431244 +SV100-R5,naive,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-R5,naive,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-R5,naive,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-R5,naive,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-R5,naive,learning_rate/camera_opt,450,0.000965976738370955 +SV100-R5,naive,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-R5,naive,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-R5,naive,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-R5,naive,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-R5,naive,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-R5,naive,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-R5,naive,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-R5,naive,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-R5,naive,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-R5,naive,learning_rate/camera_opt,950,0.000929608300793916 +SV100-R5,naive,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-R5,naive,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-R5,naive,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-R5,naive,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-R5,naive,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-R5,naive,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-R5,naive,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-R5,naive,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-R5,naive,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-R5,naive,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-R5,naive,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-R5,naive,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-R5,naive,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-R5,naive,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-R5,naive,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-R5,naive,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-R5,naive,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-R5,naive,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-R5,naive,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-R5,naive,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-R5,naive,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-R5,naive,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-R5,naive,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-R5,naive,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-R5,naive,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-R5,naive,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-R5,naive,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-R5,naive,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-R5,naive,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-R5,naive,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-R5,naive,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-R5,naive,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-R5,naive,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-R5,naive,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-R5,naive,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-R5,naive,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-R5,naive,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-R5,naive,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-R5,naive,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-R5,naive,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-R5,naive,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-R5,naive,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-R5,naive,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-R5,naive,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-R5,naive,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-R5,naive,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-R5,naive,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-R5,naive,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-R5,naive,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-R5,naive,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-R5,naive,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-R5,naive,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-R5,naive,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-R5,naive,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-R5,naive,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-R5,naive,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-R5,naive,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-R5,naive,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-R5,naive,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-R5,naive,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-R5,naive,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-R5,naive,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-R5,naive,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-R5,naive,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-R5,naive,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-R5,naive,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-R5,naive,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-R5,naive,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-R5,naive,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-R5,naive,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-R5,naive,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-R5,naive,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-R5,naive,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-R5,naive,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-R5,naive,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-R5,naive,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-R5,naive,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-R5,naive,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-R5,naive,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-R5,naive,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-R5,naive,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-R5,naive,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-R5,naive,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-R5,naive,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-R5,naive,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-R5,naive,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-R5,naive,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-R5,naive,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-R5,naive,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-R5,naive,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-R5,naive,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-R5,naive,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-R5,naive,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-R5,naive,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-R5,naive,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-R5,naive,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-R5,naive,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-R5,naive,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-R5,naive,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-R5,naive,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-R5,naive,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-R5,naive,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-R5,naive,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-R5,naive,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-R5,naive,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-R5,naive,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-R5,naive,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-R5,naive,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-R5,naive,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-R5,naive,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-R5,naive,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-R5,naive,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-R5,naive,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-R5,naive,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-R5,naive,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-R5,naive,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-R5,naive,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-R5,naive,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-R5,naive,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-R5,naive,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-R5,naive,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-R5,naive,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-R5,naive,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-R5,naive,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-R5,naive,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-R5,naive,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-R5,naive,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-R5,naive,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-R5,naive,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-R5,naive,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-R5,naive,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R5,naive,Train Loss,0,0.34217119216918945 +SV100-R5,naive,Train Loss,50,0.31854361295700073 +SV100-R5,naive,Train Loss,100,0.18487578630447388 +SV100-R5,naive,Train Loss,150,0.17764000594615936 +SV100-R5,naive,Train Loss,200,0.16517524421215057 +SV100-R5,naive,Train Loss,250,0.1577916145324707 +SV100-R5,naive,Train Loss,300,0.16529949009418488 +SV100-R5,naive,Train Loss,350,0.12073265761137009 +SV100-R5,naive,Train Loss,400,0.10593149065971375 +SV100-R5,naive,Train Loss,450,0.09156230837106705 +SV100-R5,naive,Train Loss,500,0.0900208055973053 +SV100-R5,naive,Train Loss,550,0.08561436831951141 +SV100-R5,naive,Train Loss,600,0.08521616458892822 +SV100-R5,naive,Train Loss,650,0.08572884649038315 +SV100-R5,naive,Train Loss,700,0.07588118314743042 +SV100-R5,naive,Train Loss,750,0.07651811838150024 +SV100-R5,naive,Train Loss,800,0.08047346025705338 +SV100-R5,naive,Train Loss,850,0.07333067059516907 +SV100-R5,naive,Train Loss,900,0.059250496327877045 +SV100-R5,naive,Train Loss,950,0.06568871438503265 +SV100-R5,naive,Train Loss,1000,0.059622593224048615 +SV100-R5,naive,Train Loss,1050,0.05075245350599289 +SV100-R5,naive,Train Loss,1100,0.049640849232673645 +SV100-R5,naive,Train Loss,1150,0.055547602474689484 +SV100-R5,naive,Train Loss,1200,0.04630196839570999 +SV100-R5,naive,Train Loss,1250,0.05128433555364609 +SV100-R5,naive,Train Loss,1300,0.04499342292547226 +SV100-R5,naive,Train Loss,1350,0.05018937215209007 +SV100-R5,naive,Train Loss,1400,0.04272833094000816 +SV100-R5,naive,Train Loss,1450,0.03237597644329071 +SV100-R5,naive,Train Loss,1500,0.040394775569438934 +SV100-R5,naive,Train Loss,1550,0.04941198229789734 +SV100-R5,naive,Train Loss,1600,0.043814316391944885 +SV100-R5,naive,Train Loss,1650,0.04127476364374161 +SV100-R5,naive,Train Loss,1700,0.04211818799376488 +SV100-R5,naive,Train Loss,1750,0.04299942031502724 +SV100-R5,naive,Train Loss,1800,0.0389740914106369 +SV100-R5,naive,Train Loss,1850,0.03488878905773163 +SV100-R5,naive,Train Loss,1900,0.037059884518384933 +SV100-R5,naive,Train Loss,1950,0.036554351449012756 +SV100-R5,naive,Train Loss,2000,0.037787459790706635 +SV100-R5,naive,Train Loss,2050,0.03028608299791813 +SV100-R5,naive,Train Loss,2100,0.03412323445081711 +SV100-R5,naive,Train Loss,2150,0.03433282673358917 +SV100-R5,naive,Train Loss,2200,0.03289518132805824 +SV100-R5,naive,Train Loss,2250,0.03112962283194065 +SV100-R5,naive,Train Loss,2300,0.028187284246087074 +SV100-R5,naive,Train Loss,2350,0.03337590768933296 +SV100-R5,naive,Train Loss,2400,0.03159186244010925 +SV100-R5,naive,Train Loss,2450,0.03231285884976387 +SV100-R5,naive,Train Loss,2500,0.030450711026787758 +SV100-R5,naive,Train Loss,2550,0.03592211753129959 +SV100-R5,naive,Train Loss,2600,0.034507133066654205 +SV100-R5,naive,Train Loss,2650,0.03091259114444256 +SV100-R5,naive,Train Loss,2700,0.03249194473028183 +SV100-R5,naive,Train Loss,2750,0.02872256189584732 +SV100-R5,naive,Train Loss,2800,0.029896121472120285 +SV100-R5,naive,Train Loss,2850,0.030215557664632797 +SV100-R5,naive,Train Loss,2900,0.026686720550060272 +SV100-R5,naive,Train Loss,2950,0.029510676860809326 +SV100-R5,naive,Train Loss,3000,0.02525334432721138 +SV100-R5,naive,Train Loss,3050,0.022153420373797417 +SV100-R5,naive,Train Loss,3100,0.026403769850730896 +SV100-R5,naive,Train Loss,3150,0.02790353074669838 +SV100-R5,naive,Train Loss,3200,0.027209442108869553 +SV100-R5,naive,Train Loss,3250,0.024892058223485947 +SV100-R5,naive,Train Loss,3300,0.02757943980395794 +SV100-R5,naive,Train Loss,3350,0.026901697739958763 +SV100-R5,naive,Train Loss,3400,0.027266744524240494 +SV100-R5,naive,Train Loss,3450,0.02551370859146118 +SV100-R5,naive,Train Loss,3500,0.023788999766111374 +SV100-R5,naive,Train Loss,3550,0.024163315072655678 +SV100-R5,naive,Train Loss,3600,0.021962419152259827 +SV100-R5,naive,Train Loss,3650,0.02658100798726082 +SV100-R5,naive,Train Loss,3700,0.022957537323236465 +SV100-R5,naive,Train Loss,3750,0.02288523130118847 +SV100-R5,naive,Train Loss,3800,0.024581972509622574 +SV100-R5,naive,Train Loss,3850,0.020995745435357094 +SV100-R5,naive,Train Loss,3900,0.025562703609466553 +SV100-R5,naive,Train Loss,3950,0.02210734784603119 +SV100-R5,naive,Train Loss,4000,0.024514848366379738 +SV100-R5,naive,Train Loss,4050,0.019187191501259804 +SV100-R5,naive,Train Loss,4100,0.02121381089091301 +SV100-R5,naive,Train Loss,4150,0.023575492203235626 +SV100-R5,naive,Train Loss,4200,0.01970452256500721 +SV100-R5,naive,Train Loss,4250,0.023275941610336304 +SV100-R5,naive,Train Loss,4300,0.017915189266204834 +SV100-R5,naive,Train Loss,4350,0.020379342138767242 +SV100-R5,naive,Train Loss,4400,0.02073456533253193 +SV100-R5,naive,Train Loss,4450,0.01850086823105812 +SV100-R5,naive,Train Loss,4500,0.020448878407478333 +SV100-R5,naive,Train Loss,4550,0.020128127187490463 +SV100-R5,naive,Train Loss,4600,0.02030186355113983 +SV100-R5,naive,Train Loss,4650,0.018183069303631783 +SV100-R5,naive,Train Loss,4700,0.020757121965289116 +SV100-R5,naive,Train Loss,4750,0.019593890756368637 +SV100-R5,naive,Train Loss,4800,0.01878509670495987 +SV100-R5,naive,Train Loss,4850,0.017318498343229294 +SV100-R5,naive,Train Loss,4900,0.022052813321352005 +SV100-R5,naive,Train Loss,4950,0.023360298946499825 +SV100-R5,naive,Train Loss,5000,0.018540505319833755 +SV100-R5,naive,Train Loss,5500,0.01780467852950096 +SV100-R5,naive,Train Loss,6000,0.014236025512218475 +SV100-R5,naive,Train Loss,6500,0.018705114722251892 +SV100-R5,naive,Train Loss,7000,0.01657089963555336 +SV100-R5,naive,Train Loss,7500,0.015976322814822197 +SV100-R5,naive,Train Loss,8000,0.012830093502998352 +SV100-R5,naive,Train Loss,8500,0.01189480721950531 +SV100-R5,naive,Train Loss,9000,0.014474268071353436 +SV100-R5,naive,Train Loss,9500,0.011151865124702454 +SV100-R5,naive,Train Loss,10000,0.012457374483346939 +SV100-R5,naive,Train Loss,10500,0.011067571118474007 +SV100-R5,naive,Train Loss,11000,0.010716063901782036 +SV100-R5,naive,Train Loss,11500,0.010310908779501915 +SV100-R5,naive,Train Loss,12000,0.011211724951863289 +SV100-R5,naive,Train Loss,12500,0.015253324061632156 +SV100-R5,naive,Train Loss,13000,0.013182533904910088 +SV100-R5,naive,Train Loss,13500,0.011997049674391747 +SV100-R5,naive,Train Loss,14000,0.013869312591850758 +SV100-R5,naive,Train Loss,14500,0.009610716253519058 +SV100-R5,naive,Train Loss,15000,0.00940687395632267 +SV100-R5,naive,Train Loss,15500,0.010763568803668022 +SV100-R5,naive,Train Loss,16000,0.011342293582856655 +SV100-R5,naive,Train Loss,16500,0.00925067812204361 +SV100-R5,naive,Train Loss,17000,0.00688428757712245 +SV100-R5,naive,Train Loss,17500,0.008046313188970089 +SV100-R5,naive,Train Loss,18000,0.008594396524131298 +SV100-R5,naive,Train Loss,18500,0.009490257129073143 +SV100-R5,naive,Train Loss,19000,0.008409475907683372 +SV100-R5,naive,Train Loss,19500,0.00883939117193222 +SV100-R5,naive,Train Loss,20000,0.007656361907720566 +SV100-R5,naive,Train Loss,20500,0.007891809567809105 +SV100-R5,naive,Train Loss,21000,0.008015681058168411 +SV100-R5,naive,Train Loss,21500,0.007643317803740501 +SV100-R5,naive,Train Loss,22000,0.008302951231598854 +SV100-R5,naive,Train Loss,22500,0.006778205744922161 +SV100-R5,naive,Train Loss,23000,0.007268249988555908 +SV100-R5,naive,Train Loss,23500,0.008221800439059734 +SV100-R5,naive,Train Loss,24000,0.006233289837837219 +SV100-R5,naive,Train Loss,24500,0.007330567110329866 +SV100-R5,naive,Train Loss,25000,0.006988709792494774 +SV100-R5,naive,Train Loss,25500,0.007465776987373829 +SV100-R5,naive,Train Loss,26000,0.005988255143165588 +SV100-R5,naive,Train Loss,26500,0.0063184164464473724 +SV100-R5,naive,Train Loss,27000,0.006465996615588665 +SV100-R5,naive,Train Loss,27500,0.006296504754573107 +SV100-R5,naive,Train Loss,28000,0.00648743100464344 +SV100-R5,naive,Train Loss,28500,0.006019976455718279 +SV100-R5,naive,Train Loss,29000,0.007953774183988571 +SV100-R5,naive,Train Loss,29500,0.007003413513302803 +SV100-R5,naive,Eval Images Metrics/fine_psnr,500,14.373655319213867 +SV100-R5,naive,Eval Images Metrics/fine_psnr,1000,16.429067611694336 +SV100-R5,naive,Eval Images Metrics/fine_psnr,1500,17.932327270507812 +SV100-R5,naive,Eval Images Metrics/fine_psnr,2000,17.67595100402832 +SV100-R5,naive,Eval Images Metrics/fine_psnr,2500,18.163738250732422 +SV100-R5,naive,Eval Images Metrics/fine_psnr,3000,17.561237335205078 +SV100-R5,naive,Eval Images Metrics/fine_psnr,3500,16.805654525756836 +SV100-R5,naive,Eval Images Metrics/fine_psnr,4000,19.15096092224121 +SV100-R5,naive,Eval Images Metrics/fine_psnr,4500,18.50146484375 +SV100-R5,naive,Eval Images Metrics/fine_psnr,5000,17.337785720825195 +SV100-R5,naive,Eval Images Metrics/fine_psnr,5500,17.957706451416016 +SV100-R5,naive,Eval Images Metrics/fine_psnr,6000,17.57441520690918 +SV100-R5,naive,Eval Images Metrics/fine_psnr,6500,19.27889060974121 +SV100-R5,naive,Eval Images Metrics/fine_psnr,7000,18.631677627563477 +SV100-R5,naive,Eval Images Metrics/fine_psnr,7500,19.151613235473633 +SV100-R5,naive,Eval Images Metrics/fine_psnr,8000,19.723838806152344 +SV100-R5,naive,Eval Images Metrics/fine_psnr,8500,17.628005981445312 +SV100-R5,naive,Eval Images Metrics/fine_psnr,9000,18.184856414794922 +SV100-R5,naive,Eval Images Metrics/fine_psnr,9500,17.06817054748535 +SV100-R5,naive,Eval Images Metrics/fine_psnr,10000,16.96709442138672 +SV100-R5,naive,Eval Images Metrics/fine_psnr,10500,18.522640228271484 +SV100-R5,naive,Eval Images Metrics/fine_psnr,11000,16.7218074798584 +SV100-R5,naive,Eval Images Metrics/fine_psnr,11500,18.132949829101562 +SV100-R5,naive,Eval Images Metrics/fine_psnr,12000,16.413253784179688 +SV100-R5,naive,Eval Images Metrics/fine_psnr,12500,17.118471145629883 +SV100-R5,naive,Eval Images Metrics/fine_psnr,13000,16.95258140563965 +SV100-R5,naive,Eval Images Metrics/fine_psnr,13500,16.98011589050293 +SV100-R5,naive,Eval Images Metrics/fine_psnr,14000,16.81708335876465 +SV100-R5,naive,Eval Images Metrics/fine_psnr,14500,17.388113021850586 +SV100-R5,naive,Eval Images Metrics/fine_psnr,15000,19.49115753173828 +SV100-R5,naive,Eval Images Metrics/fine_psnr,15500,17.253231048583984 +SV100-R5,naive,Eval Images Metrics/fine_psnr,16000,16.32672119140625 +SV100-R5,naive,Eval Images Metrics/fine_psnr,16500,18.710092544555664 +SV100-R5,naive,Eval Images Metrics/fine_psnr,17000,17.199504852294922 +SV100-R5,naive,Eval Images Metrics/fine_psnr,17500,17.411184310913086 +SV100-R5,naive,Eval Images Metrics/fine_psnr,18000,16.696226119995117 +SV100-R5,naive,Eval Images Metrics/fine_psnr,18500,17.794893264770508 +SV100-R5,naive,Eval Images Metrics/fine_psnr,19000,20.57261848449707 +SV100-R5,naive,Eval Images Metrics/fine_psnr,19500,16.890018463134766 +SV100-R5,naive,Eval Images Metrics/fine_psnr,20000,17.181140899658203 +SV100-R5,naive,Eval Images Metrics/fine_psnr,20500,21.04644775390625 +SV100-R5,naive,Eval Images Metrics/fine_psnr,21000,17.051300048828125 +SV100-R5,naive,Eval Images Metrics/fine_psnr,21500,17.208024978637695 +SV100-R5,naive,Eval Images Metrics/fine_psnr,22000,16.113861083984375 +SV100-R5,naive,Eval Images Metrics/fine_psnr,22500,16.502084732055664 +SV100-R5,naive,Eval Images Metrics/fine_psnr,23000,16.76935577392578 +SV100-R5,naive,Eval Images Metrics/fine_psnr,23500,16.79435920715332 +SV100-R5,naive,Eval Images Metrics/fine_psnr,24000,16.629329681396484 +SV100-R5,naive,Eval Images Metrics/fine_psnr,24500,17.374526977539062 +SV100-R5,naive,Eval Images Metrics/fine_psnr,25000,16.94172477722168 +SV100-R5,naive,Eval Images Metrics/fine_psnr,25500,17.105140686035156 +SV100-R5,naive,Eval Images Metrics/fine_psnr,26000,16.024425506591797 +SV100-R5,naive,Eval Images Metrics/fine_psnr,26500,16.728246688842773 +SV100-R5,naive,Eval Images Metrics/fine_psnr,27000,18.46112632751465 +SV100-R5,naive,Eval Images Metrics/fine_psnr,27500,16.35856819152832 +SV100-R5,naive,Eval Images Metrics/fine_psnr,28000,18.108449935913086 +SV100-R5,naive,Eval Images Metrics/fine_psnr,28500,17.522214889526367 +SV100-R5,naive,Eval Images Metrics/fine_psnr,29000,16.994131088256836 +SV100-R5,naive,Eval Images Metrics/fine_psnr,29500,16.60027503967285 +SV100-R5,naive,Eval Images Metrics Dict (all images)/fine_psnr,25000,17.665342330932617 +SV100-R5,naive,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7476431131362915 +SV100-R5,naive,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.17113928496837616 +SV100-R5,camp,learning_rate/camera_opt,0,0.0009999232133850455 +SV100-R5,camp,learning_rate/camera_opt,50,0.0009960932657122612 +SV100-R5,camp,learning_rate/camera_opt,100,0.000992277986370027 +SV100-R5,camp,learning_rate/camera_opt,150,0.0009884772589430213 +SV100-R5,camp,learning_rate/camera_opt,200,0.000984691083431244 +SV100-R5,camp,learning_rate/camera_opt,250,0.0009809194598346949 +SV100-R5,camp,learning_rate/camera_opt,300,0.0009771622717380524 +SV100-R5,camp,learning_rate/camera_opt,350,0.0009734194027259946 +SV100-R5,camp,learning_rate/camera_opt,400,0.0009696909110061824 +SV100-R5,camp,learning_rate/camera_opt,450,0.000965976738370955 +SV100-R5,camp,learning_rate/camera_opt,500,0.0009622767684049904 +SV100-R5,camp,learning_rate/camera_opt,550,0.0009585909429006279 +SV100-R5,camp,learning_rate/camera_opt,600,0.0009549192618578672 +SV100-R5,camp,learning_rate/camera_opt,650,0.0009512616670690477 +SV100-R5,camp,learning_rate/camera_opt,700,0.0009476180421188474 +SV100-R5,camp,learning_rate/camera_opt,750,0.0009439884452149272 +SV100-R5,camp,learning_rate/camera_opt,800,0.0009403727017343044 +SV100-R5,camp,learning_rate/camera_opt,850,0.0009367707534693182 +SV100-R5,camp,learning_rate/camera_opt,900,0.0009331826586276293 +SV100-R5,camp,learning_rate/camera_opt,950,0.000929608300793916 +SV100-R5,camp,learning_rate/camera_opt,1000,0.0009260476217605174 +SV100-R5,camp,learning_rate/camera_opt,1050,0.0009225006215274334 +SV100-R5,camp,learning_rate/camera_opt,1100,0.0009189671836793423 +SV100-R5,camp,learning_rate/camera_opt,1150,0.0009154472500085831 +SV100-R5,camp,learning_rate/camera_opt,1200,0.0009119408205151558 +SV100-R5,camp,learning_rate/camera_opt,1250,0.0009084478369913995 +SV100-R5,camp,learning_rate/camera_opt,1300,0.0009049682412296534 +SV100-R5,camp,learning_rate/camera_opt,1350,0.0009015019168145955 +SV100-R5,camp,learning_rate/camera_opt,1400,0.0008980489219538867 +SV100-R5,camp,learning_rate/camera_opt,1450,0.0008946091402322054 +SV100-R5,camp,learning_rate/camera_opt,1500,0.0008911825134418905 +SV100-R5,camp,learning_rate/camera_opt,1550,0.000887769041582942 +SV100-R5,camp,learning_rate/camera_opt,1600,0.0008843686664476991 +SV100-R5,camp,learning_rate/camera_opt,1650,0.0008809812716208398 +SV100-R5,camp,learning_rate/camera_opt,1700,0.0008776068571023643 +SV100-R5,camp,learning_rate/camera_opt,1750,0.0008742453646846116 +SV100-R5,camp,learning_rate/camera_opt,1800,0.0008708967361599207 +SV100-R5,camp,learning_rate/camera_opt,1850,0.0008675609715282917 +SV100-R5,camp,learning_rate/camera_opt,1900,0.0008642379543744028 +SV100-R5,camp,learning_rate/camera_opt,1950,0.0008609276846982539 +SV100-R5,camp,learning_rate/camera_opt,2000,0.0008576300460845232 +SV100-R5,camp,learning_rate/camera_opt,2050,0.0008543450967408717 +SV100-R5,camp,learning_rate/camera_opt,2100,0.0008510727202519774 +SV100-R5,camp,learning_rate/camera_opt,2150,0.0008478128584101796 +SV100-R5,camp,learning_rate/camera_opt,2200,0.0008445655112154782 +SV100-R5,camp,learning_rate/camera_opt,2250,0.0008413305622525513 +SV100-R5,camp,learning_rate/camera_opt,2300,0.000838108011521399 +SV100-R5,camp,learning_rate/camera_opt,2350,0.0008348978590220213 +SV100-R5,camp,learning_rate/camera_opt,2400,0.0008316999301314354 +SV100-R5,camp,learning_rate/camera_opt,2450,0.0008285142830573022 +SV100-R5,camp,learning_rate/camera_opt,2500,0.0008253408595919609 +SV100-R5,camp,learning_rate/camera_opt,2550,0.0008221795433200896 +SV100-R5,camp,learning_rate/camera_opt,2600,0.0008190303342416883 +SV100-R5,camp,learning_rate/camera_opt,2650,0.0008158932323567569 +SV100-R5,camp,learning_rate/camera_opt,2700,0.0008127681212499738 +SV100-R5,camp,learning_rate/camera_opt,2750,0.0008096550009213388 +SV100-R5,camp,learning_rate/camera_opt,2800,0.0008065538131631911 +SV100-R5,camp,learning_rate/camera_opt,2850,0.0008034644415602088 +SV100-R5,camp,learning_rate/camera_opt,2900,0.0008003869443200529 +SV100-R5,camp,learning_rate/camera_opt,2950,0.0007973212632350624 +SV100-R5,camp,learning_rate/camera_opt,3000,0.0007942672818899155 +SV100-R5,camp,learning_rate/camera_opt,3050,0.0007912250002846122 +SV100-R5,camp,learning_rate/camera_opt,3100,0.0007881943602114916 +SV100-R5,camp,learning_rate/camera_opt,3150,0.0007851753616705537 +SV100-R5,camp,learning_rate/camera_opt,3200,0.0007821679464541376 +SV100-R5,camp,learning_rate/camera_opt,3250,0.0007791719981469214 +SV100-R5,camp,learning_rate/camera_opt,3300,0.0007761875167489052 +SV100-R5,camp,learning_rate/camera_opt,3350,0.0007732145022600889 +SV100-R5,camp,learning_rate/camera_opt,3400,0.0007702528964728117 +SV100-R5,camp,learning_rate/camera_opt,3450,0.0007673025829717517 +SV100-R5,camp,learning_rate/camera_opt,3500,0.0007643636199645698 +SV100-R5,camp,learning_rate/camera_opt,3550,0.0007614358910359442 +SV100-R5,camp,learning_rate/camera_opt,3600,0.000758519337978214 +SV100-R5,camp,learning_rate/camera_opt,3650,0.0007556140189990401 +SV100-R5,camp,learning_rate/camera_opt,3700,0.0007527197594754398 +SV100-R5,camp,learning_rate/camera_opt,3750,0.0007498366758227348 +SV100-R5,camp,learning_rate/camera_opt,3800,0.0007469645934179425 +SV100-R5,camp,learning_rate/camera_opt,3850,0.000744103454053402 +SV100-R5,camp,learning_rate/camera_opt,3900,0.0007412533741444349 +SV100-R5,camp,learning_rate/camera_opt,3950,0.0007384141208603978 +SV100-R5,camp,learning_rate/camera_opt,4000,0.0007355858106166124 +SV100-R5,camp,learning_rate/camera_opt,4050,0.000732768268790096 +SV100-R5,camp,learning_rate/camera_opt,4100,0.0007299615535885096 +SV100-R5,camp,learning_rate/camera_opt,4150,0.0007271656068041921 +SV100-R5,camp,learning_rate/camera_opt,4200,0.0007243803702294827 +SV100-R5,camp,learning_rate/camera_opt,4250,0.0007216057856567204 +SV100-R5,camp,learning_rate/camera_opt,4300,0.0007188417948782444 +SV100-R5,camp,learning_rate/camera_opt,4350,0.0007160884561017156 +SV100-R5,camp,learning_rate/camera_opt,4400,0.0007133455947041512 +SV100-R5,camp,learning_rate/camera_opt,4450,0.000710613327100873 +SV100-R5,camp,learning_rate/camera_opt,4500,0.0007078914786688983 +SV100-R5,camp,learning_rate/camera_opt,4550,0.0007051800494082272 +SV100-R5,camp,learning_rate/camera_opt,4600,0.0007024789811111987 +SV100-R5,camp,learning_rate/camera_opt,4650,0.0006997882737778127 +SV100-R5,camp,learning_rate/camera_opt,4700,0.0006971078692004085 +SV100-R5,camp,learning_rate/camera_opt,4750,0.0006944377673789859 +SV100-R5,camp,learning_rate/camera_opt,4800,0.0006917778518982232 +SV100-R5,camp,learning_rate/camera_opt,4850,0.0006891281809657812 +SV100-R5,camp,learning_rate/camera_opt,4900,0.0006864885799586773 +SV100-R5,camp,learning_rate/camera_opt,4950,0.0006838591652922332 +SV100-R5,camp,learning_rate/camera_opt,5000,0.0006812397623434663 +SV100-R5,camp,learning_rate/camera_opt,5500,0.0006555915460921824 +SV100-R5,camp,learning_rate/camera_opt,6000,0.000630908936727792 +SV100-R5,camp,learning_rate/camera_opt,6500,0.0006071556126698852 +SV100-R5,camp,learning_rate/camera_opt,7000,0.0005842965911142528 +SV100-R5,camp,learning_rate/camera_opt,7500,0.0005622981698252261 +SV100-R5,camp,learning_rate/camera_opt,8000,0.0005411279853433371 +SV100-R5,camp,learning_rate/camera_opt,8500,0.0005207548383623362 +SV100-R5,camp,learning_rate/camera_opt,9000,0.0005011487519368529 +SV100-R5,camp,learning_rate/camera_opt,9500,0.00048228082596324384 +SV100-R5,camp,learning_rate/camera_opt,10000,0.0004641232662834227 +SV100-R5,camp,learning_rate/camera_opt,10500,0.00044664929737336934 +SV100-R5,camp,learning_rate/camera_opt,11000,0.0004298332496546209 +SV100-R5,camp,learning_rate/camera_opt,11500,0.00041365029755979776 +SV100-R5,camp,learning_rate/camera_opt,12000,0.0003980766050517559 +SV100-R5,camp,learning_rate/camera_opt,12500,0.00038308926741592586 +SV100-R5,camp,learning_rate/camera_opt,13000,0.00036866619484499097 +SV100-R5,camp,learning_rate/camera_opt,13500,0.00035478617064654827 +SV100-R5,camp,learning_rate/camera_opt,14000,0.00034142867662012577 +SV100-R5,camp,learning_rate/camera_opt,14500,0.00032857409678399563 +SV100-R5,camp,learning_rate/camera_opt,15000,0.0003162034845445305 +SV100-R5,camp,learning_rate/camera_opt,15500,0.0003042986209038645 +SV100-R5,camp,learning_rate/camera_opt,16000,0.00029284198535606265 +SV100-R5,camp,learning_rate/camera_opt,16500,0.0002818166685756296 +SV100-R5,camp,learning_rate/camera_opt,17000,0.00027120643062517047 +SV100-R5,camp,learning_rate/camera_opt,17500,0.00026099570095539093 +SV100-R5,camp,learning_rate/camera_opt,18000,0.00025116937467828393 +SV100-R5,camp,learning_rate/camera_opt,18500,0.0002417130017420277 +SV100-R5,camp,learning_rate/camera_opt,19000,0.0002326126559637487 +SV100-R5,camp,learning_rate/camera_opt,19500,0.00022385493502952158 +SV100-R5,camp,learning_rate/camera_opt,20000,0.0002154269313905388 +SV100-R5,camp,learning_rate/camera_opt,20500,0.0002073162468150258 +SV100-R5,camp,learning_rate/camera_opt,21000,0.00019951091962866485 +SV100-R5,camp,learning_rate/camera_opt,21500,0.00019199945381842554 +SV100-R5,camp,learning_rate/camera_opt,22000,0.00018477080448064953 +SV100-R5,camp,learning_rate/camera_opt,22500,0.00017781429050955921 +SV100-R5,camp,learning_rate/camera_opt,23000,0.00017111969646066427 +SV100-R5,camp,learning_rate/camera_opt,23500,0.00016467714158352464 +SV100-R5,camp,learning_rate/camera_opt,24000,0.00015847715258132666 +SV100-R5,camp,learning_rate/camera_opt,24500,0.00015251059085130692 +SV100-R5,camp,learning_rate/camera_opt,25000,0.00014676866703666747 +SV100-R5,camp,learning_rate/camera_opt,25500,0.0001412429119227454 +SV100-R5,camp,learning_rate/camera_opt,26000,0.0001359252055408433 +SV100-R5,camp,learning_rate/camera_opt,26500,0.00013080770440865308 +SV100-R5,camp,learning_rate/camera_opt,27000,0.00012588288518600166 +SV100-R5,camp,learning_rate/camera_opt,27500,0.00012114346463931724 +SV100-R5,camp,learning_rate/camera_opt,28000,0.00011658249422907829 +SV100-R5,camp,learning_rate/camera_opt,28500,0.00011219323641853407 +SV100-R5,camp,learning_rate/camera_opt,29000,0.00010796923015732318 +SV100-R5,camp,learning_rate/camera_opt,29500,0.0001039042545016855 +SV100-R5,camp,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R5,camp,Train Loss,0,0.34217119216918945 +SV100-R5,camp,Train Loss,50,0.3183940649032593 +SV100-R5,camp,Train Loss,100,0.18500232696533203 +SV100-R5,camp,Train Loss,150,0.17755918204784393 +SV100-R5,camp,Train Loss,200,0.16500478982925415 +SV100-R5,camp,Train Loss,250,0.1579183042049408 +SV100-R5,camp,Train Loss,300,0.16393059492111206 +SV100-R5,camp,Train Loss,350,0.12232537567615509 +SV100-R5,camp,Train Loss,400,0.10730120539665222 +SV100-R5,camp,Train Loss,450,0.09167809784412384 +SV100-R5,camp,Train Loss,500,0.09055082499980927 +SV100-R5,camp,Train Loss,550,0.08297772705554962 +SV100-R5,camp,Train Loss,600,0.08516321331262589 +SV100-R5,camp,Train Loss,650,0.09295482188463211 +SV100-R5,camp,Train Loss,700,0.08498437702655792 +SV100-R5,camp,Train Loss,750,0.07482277601957321 +SV100-R5,camp,Train Loss,800,0.08218967169523239 +SV100-R5,camp,Train Loss,850,0.07425229251384735 +SV100-R5,camp,Train Loss,900,0.06935188919305801 +SV100-R5,camp,Train Loss,950,0.07329981029033661 +SV100-R5,camp,Train Loss,1000,0.07259290665388107 +SV100-R5,camp,Train Loss,1050,0.06084376201033592 +SV100-R5,camp,Train Loss,1100,0.06373175978660583 +SV100-R5,camp,Train Loss,1150,0.07342537492513657 +SV100-R5,camp,Train Loss,1200,0.06127418577671051 +SV100-R5,camp,Train Loss,1250,0.06174888461828232 +SV100-R5,camp,Train Loss,1300,0.05820005014538765 +SV100-R5,camp,Train Loss,1350,0.06300386041402817 +SV100-R5,camp,Train Loss,1400,0.05762346088886261 +SV100-R5,camp,Train Loss,1450,0.05234391614794731 +SV100-R5,camp,Train Loss,1500,0.05311840772628784 +SV100-R5,camp,Train Loss,1550,0.064293771982193 +SV100-R5,camp,Train Loss,1600,0.052671827375888824 +SV100-R5,camp,Train Loss,1650,0.058144815266132355 +SV100-R5,camp,Train Loss,1700,0.05695774406194687 +SV100-R5,camp,Train Loss,1750,0.05449170619249344 +SV100-R5,camp,Train Loss,1800,0.05219040811061859 +SV100-R5,camp,Train Loss,1850,0.04060806334018707 +SV100-R5,camp,Train Loss,1900,0.04588230699300766 +SV100-R5,camp,Train Loss,1950,0.05329044163227081 +SV100-R5,camp,Train Loss,2000,0.04463452473282814 +SV100-R5,camp,Train Loss,2050,0.04328031837940216 +SV100-R5,camp,Train Loss,2100,0.05449565500020981 +SV100-R5,camp,Train Loss,2150,0.05011778324842453 +SV100-R5,camp,Train Loss,2200,0.04978499561548233 +SV100-R5,camp,Train Loss,2250,0.042517948895692825 +SV100-R5,camp,Train Loss,2300,0.041283831000328064 +SV100-R5,camp,Train Loss,2350,0.03952948749065399 +SV100-R5,camp,Train Loss,2400,0.03869938105344772 +SV100-R5,camp,Train Loss,2450,0.042128972709178925 +SV100-R5,camp,Train Loss,2500,0.0355038046836853 +SV100-R5,camp,Train Loss,2550,0.0423952080309391 +SV100-R5,camp,Train Loss,2600,0.04169781878590584 +SV100-R5,camp,Train Loss,2650,0.039649106562137604 +SV100-R5,camp,Train Loss,2700,0.045012474060058594 +SV100-R5,camp,Train Loss,2750,0.035548899322748184 +SV100-R5,camp,Train Loss,2800,0.042679313570261 +SV100-R5,camp,Train Loss,2850,0.03417530655860901 +SV100-R5,camp,Train Loss,2900,0.03129791468381882 +SV100-R5,camp,Train Loss,2950,0.034662071615457535 +SV100-R5,camp,Train Loss,3000,0.03833726793527603 +SV100-R5,camp,Train Loss,3050,0.03373522683978081 +SV100-R5,camp,Train Loss,3100,0.032638318836688995 +SV100-R5,camp,Train Loss,3150,0.03339804708957672 +SV100-R5,camp,Train Loss,3200,0.03309731185436249 +SV100-R5,camp,Train Loss,3250,0.03163260594010353 +SV100-R5,camp,Train Loss,3300,0.030130840837955475 +SV100-R5,camp,Train Loss,3350,0.03357440233230591 +SV100-R5,camp,Train Loss,3400,0.036375947296619415 +SV100-R5,camp,Train Loss,3450,0.031662438064813614 +SV100-R5,camp,Train Loss,3500,0.0335000678896904 +SV100-R5,camp,Train Loss,3550,0.030027152970433235 +SV100-R5,camp,Train Loss,3600,0.02733888104557991 +SV100-R5,camp,Train Loss,3650,0.03147368133068085 +SV100-R5,camp,Train Loss,3700,0.03528697043657303 +SV100-R5,camp,Train Loss,3750,0.02843960002064705 +SV100-R5,camp,Train Loss,3800,0.028828199952840805 +SV100-R5,camp,Train Loss,3850,0.026483554393053055 +SV100-R5,camp,Train Loss,3900,0.03124815784394741 +SV100-R5,camp,Train Loss,3950,0.02754286676645279 +SV100-R5,camp,Train Loss,4000,0.036768343299627304 +SV100-R5,camp,Train Loss,4050,0.022378912195563316 +SV100-R5,camp,Train Loss,4100,0.024839427322149277 +SV100-R5,camp,Train Loss,4150,0.031622886657714844 +SV100-R5,camp,Train Loss,4200,0.02618422731757164 +SV100-R5,camp,Train Loss,4250,0.03083142265677452 +SV100-R5,camp,Train Loss,4300,0.022113174200057983 +SV100-R5,camp,Train Loss,4350,0.02330966293811798 +SV100-R5,camp,Train Loss,4400,0.02267163246870041 +SV100-R5,camp,Train Loss,4450,0.023887811228632927 +SV100-R5,camp,Train Loss,4500,0.028386298567056656 +SV100-R5,camp,Train Loss,4550,0.022729065269231796 +SV100-R5,camp,Train Loss,4600,0.025485960766673088 +SV100-R5,camp,Train Loss,4650,0.027613893151283264 +SV100-R5,camp,Train Loss,4700,0.031644970178604126 +SV100-R5,camp,Train Loss,4750,0.02139826864004135 +SV100-R5,camp,Train Loss,4800,0.02963763102889061 +SV100-R5,camp,Train Loss,4850,0.022410456091165543 +SV100-R5,camp,Train Loss,4900,0.026925619691610336 +SV100-R5,camp,Train Loss,4950,0.0255145151168108 +SV100-R5,camp,Train Loss,5000,0.025640971958637238 +SV100-R5,camp,Train Loss,5500,0.026495762169361115 +SV100-R5,camp,Train Loss,6000,0.018269848078489304 +SV100-R5,camp,Train Loss,6500,0.018670352175831795 +SV100-R5,camp,Train Loss,7000,0.019390737637877464 +SV100-R5,camp,Train Loss,7500,0.01620805822312832 +SV100-R5,camp,Train Loss,8000,0.017712924629449844 +SV100-R5,camp,Train Loss,8500,0.0148462587967515 +SV100-R5,camp,Train Loss,9000,0.014255323447287083 +SV100-R5,camp,Train Loss,9500,0.013549706898629665 +SV100-R5,camp,Train Loss,10000,0.016134053468704224 +SV100-R5,camp,Train Loss,10500,0.01310655102133751 +SV100-R5,camp,Train Loss,11000,0.013966547325253487 +SV100-R5,camp,Train Loss,11500,0.012704533524811268 +SV100-R5,camp,Train Loss,12000,0.01018986850976944 +SV100-R5,camp,Train Loss,12500,0.015158815309405327 +SV100-R5,camp,Train Loss,13000,0.01158730685710907 +SV100-R5,camp,Train Loss,13500,0.012189560569822788 +SV100-R5,camp,Train Loss,14000,0.011753485538065434 +SV100-R5,camp,Train Loss,14500,0.010062393732368946 +SV100-R5,camp,Train Loss,15000,0.010686744004487991 +SV100-R5,camp,Train Loss,15500,0.01064274087548256 +SV100-R5,camp,Train Loss,16000,0.011859050020575523 +SV100-R5,camp,Train Loss,16500,0.009269658476114273 +SV100-R5,camp,Train Loss,17000,0.00827307440340519 +SV100-R5,camp,Train Loss,17500,0.008510435931384563 +SV100-R5,camp,Train Loss,18000,0.007444116752594709 +SV100-R5,camp,Train Loss,18500,0.010477330535650253 +SV100-R5,camp,Train Loss,19000,0.007692469283938408 +SV100-R5,camp,Train Loss,19500,0.010648852214217186 +SV100-R5,camp,Train Loss,20000,0.007776004262268543 +SV100-R5,camp,Train Loss,20500,0.010557842440903187 +SV100-R5,camp,Train Loss,21000,0.007672432344406843 +SV100-R5,camp,Train Loss,21500,0.007340873591601849 +SV100-R5,camp,Train Loss,22000,0.010149583220481873 +SV100-R5,camp,Train Loss,22500,0.006524704396724701 +SV100-R5,camp,Train Loss,23000,0.007116579916328192 +SV100-R5,camp,Train Loss,23500,0.006747608073055744 +SV100-R5,camp,Train Loss,24000,0.006379317957907915 +SV100-R5,camp,Train Loss,24500,0.00686862925067544 +SV100-R5,camp,Train Loss,25000,0.008061569184064865 +SV100-R5,camp,Train Loss,25500,0.00614018552005291 +SV100-R5,camp,Train Loss,26000,0.0063021304085850716 +SV100-R5,camp,Train Loss,26500,0.005543065257370472 +SV100-R5,camp,Train Loss,27000,0.006968233268707991 +SV100-R5,camp,Train Loss,27500,0.006481077987700701 +SV100-R5,camp,Train Loss,28000,0.006373709067702293 +SV100-R5,camp,Train Loss,28500,0.0069118039682507515 +SV100-R5,camp,Train Loss,29000,0.00885150395333767 +SV100-R5,camp,Train Loss,29500,0.007491299882531166 +SV100-R5,camp,Eval Images Metrics/fine_psnr,500,14.268486976623535 +SV100-R5,camp,Eval Images Metrics/fine_psnr,1000,15.708683013916016 +SV100-R5,camp,Eval Images Metrics/fine_psnr,1500,16.39742088317871 +SV100-R5,camp,Eval Images Metrics/fine_psnr,2000,15.665182113647461 +SV100-R5,camp,Eval Images Metrics/fine_psnr,2500,17.441753387451172 +SV100-R5,camp,Eval Images Metrics/fine_psnr,3000,16.766462326049805 +SV100-R5,camp,Eval Images Metrics/fine_psnr,3500,14.375364303588867 +SV100-R5,camp,Eval Images Metrics/fine_psnr,4000,16.689388275146484 +SV100-R5,camp,Eval Images Metrics/fine_psnr,4500,19.547109603881836 +SV100-R5,camp,Eval Images Metrics/fine_psnr,5000,15.052139282226562 +SV100-R5,camp,Eval Images Metrics/fine_psnr,5500,16.666154861450195 +SV100-R5,camp,Eval Images Metrics/fine_psnr,6000,15.480558395385742 +SV100-R5,camp,Eval Images Metrics/fine_psnr,6500,17.161556243896484 +SV100-R5,camp,Eval Images Metrics/fine_psnr,7000,16.160785675048828 +SV100-R5,camp,Eval Images Metrics/fine_psnr,7500,17.450119018554688 +SV100-R5,camp,Eval Images Metrics/fine_psnr,8000,16.11530876159668 +SV100-R5,camp,Eval Images Metrics/fine_psnr,8500,15.872003555297852 +SV100-R5,camp,Eval Images Metrics/fine_psnr,9000,21.172321319580078 +SV100-R5,camp,Eval Images Metrics/fine_psnr,9500,15.24163818359375 +SV100-R5,camp,Eval Images Metrics/fine_psnr,10000,15.181404113769531 +SV100-R5,camp,Eval Images Metrics/fine_psnr,10500,15.245023727416992 +SV100-R5,camp,Eval Images Metrics/fine_psnr,11000,14.399842262268066 +SV100-R5,camp,Eval Images Metrics/fine_psnr,11500,14.906484603881836 +SV100-R5,camp,Eval Images Metrics/fine_psnr,12000,13.709091186523438 +SV100-R5,camp,Eval Images Metrics/fine_psnr,12500,14.200313568115234 +SV100-R5,camp,Eval Images Metrics/fine_psnr,13000,14.07754135131836 +SV100-R5,camp,Eval Images Metrics/fine_psnr,13500,14.078758239746094 +SV100-R5,camp,Eval Images Metrics/fine_psnr,14000,14.591981887817383 +SV100-R5,camp,Eval Images Metrics/fine_psnr,14500,14.556619644165039 +SV100-R5,camp,Eval Images Metrics/fine_psnr,15000,18.555543899536133 +SV100-R5,camp,Eval Images Metrics/fine_psnr,15500,15.137465476989746 +SV100-R5,camp,Eval Images Metrics/fine_psnr,16000,13.853730201721191 +SV100-R5,camp,Eval Images Metrics/fine_psnr,16500,16.34765625 +SV100-R5,camp,Eval Images Metrics/fine_psnr,17000,17.35651397705078 +SV100-R5,camp,Eval Images Metrics/fine_psnr,17500,15.21131420135498 +SV100-R5,camp,Eval Images Metrics/fine_psnr,18000,15.731937408447266 +SV100-R5,camp,Eval Images Metrics/fine_psnr,18500,16.235130310058594 +SV100-R5,camp,Eval Images Metrics/fine_psnr,19000,16.54365348815918 +SV100-R5,camp,Eval Images Metrics/fine_psnr,19500,13.849538803100586 +SV100-R5,camp,Eval Images Metrics/fine_psnr,20000,15.553255081176758 +SV100-R5,camp,Eval Images Metrics/fine_psnr,20500,16.78072166442871 +SV100-R5,camp,Eval Images Metrics/fine_psnr,21000,17.151384353637695 +SV100-R5,camp,Eval Images Metrics/fine_psnr,21500,15.248897552490234 +SV100-R5,camp,Eval Images Metrics/fine_psnr,22000,13.872645378112793 +SV100-R5,camp,Eval Images Metrics/fine_psnr,22500,14.091567993164062 +SV100-R5,camp,Eval Images Metrics/fine_psnr,23000,13.938680648803711 +SV100-R5,camp,Eval Images Metrics/fine_psnr,23500,13.977609634399414 +SV100-R5,camp,Eval Images Metrics/fine_psnr,24000,14.698776245117188 +SV100-R5,camp,Eval Images Metrics/fine_psnr,24500,15.817867279052734 +SV100-R5,camp,Eval Images Metrics/fine_psnr,25000,16.874794006347656 +SV100-R5,camp,Eval Images Metrics/fine_psnr,25500,14.966952323913574 +SV100-R5,camp,Eval Images Metrics/fine_psnr,26000,13.651590347290039 +SV100-R5,camp,Eval Images Metrics/fine_psnr,26500,14.408845901489258 +SV100-R5,camp,Eval Images Metrics/fine_psnr,27000,16.220722198486328 +SV100-R5,camp,Eval Images Metrics/fine_psnr,27500,14.050288200378418 +SV100-R5,camp,Eval Images Metrics/fine_psnr,28000,21.42155647277832 +SV100-R5,camp,Eval Images Metrics/fine_psnr,28500,15.879293441772461 +SV100-R5,camp,Eval Images Metrics/fine_psnr,29000,17.909744262695312 +SV100-R5,camp,Eval Images Metrics/fine_psnr,29500,13.773707389831543 +SV100-R5,camp,Eval Images Metrics Dict (all images)/fine_psnr,25000,15.832380294799805 +SV100-R5,camp,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7317739129066467 +SV100-R5,camp,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.20923517644405365 +SV100-R5,naive_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-R5,naive_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-R5,naive_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-R5,naive_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-R5,naive_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-R5,naive_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-R5,naive_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-R5,naive_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-R5,naive_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-R5,naive_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-R5,naive_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-R5,naive_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-R5,naive_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-R5,naive_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-R5,naive_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-R5,naive_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-R5,naive_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-R5,naive_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-R5,naive_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-R5,naive_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-R5,naive_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-R5,naive_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-R5,naive_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-R5,naive_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-R5,naive_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-R5,naive_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-R5,naive_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-R5,naive_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-R5,naive_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-R5,naive_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-R5,naive_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-R5,naive_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-R5,naive_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-R5,naive_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-R5,naive_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-R5,naive_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-R5,naive_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-R5,naive_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-R5,naive_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-R5,naive_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-R5,naive_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-R5,naive_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-R5,naive_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-R5,naive_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-R5,naive_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-R5,naive_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-R5,naive_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-R5,naive_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-R5,naive_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-R5,naive_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-R5,naive_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-R5,naive_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-R5,naive_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-R5,naive_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-R5,naive_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-R5,naive_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-R5,naive_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-R5,naive_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-R5,naive_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-R5,naive_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-R5,naive_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-R5,naive_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-R5,naive_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-R5,naive_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-R5,naive_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-R5,naive_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-R5,naive_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-R5,naive_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-R5,naive_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-R5,naive_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-R5,naive_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-R5,naive_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-R5,naive_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-R5,naive_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-R5,naive_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-R5,naive_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-R5,naive_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-R5,naive_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-R5,naive_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-R5,naive_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-R5,naive_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-R5,naive_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-R5,naive_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-R5,naive_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-R5,naive_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-R5,naive_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-R5,naive_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-R5,naive_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-R5,naive_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-R5,naive_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-R5,naive_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-R5,naive_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-R5,naive_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-R5,naive_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-R5,naive_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-R5,naive_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-R5,naive_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-R5,naive_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-R5,naive_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-R5,naive_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-R5,naive_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-R5,naive_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-R5,naive_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-R5,naive_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-R5,naive_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-R5,naive_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-R5,naive_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-R5,naive_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-R5,naive_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-R5,naive_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-R5,naive_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-R5,naive_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-R5,naive_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-R5,naive_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-R5,naive_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-R5,naive_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-R5,naive_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-R5,naive_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-R5,naive_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-R5,naive_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-R5,naive_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-R5,naive_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-R5,naive_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-R5,naive_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-R5,naive_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-R5,naive_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-R5,naive_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-R5,naive_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-R5,naive_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-R5,naive_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-R5,naive_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-R5,naive_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-R5,naive_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-R5,naive_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-R5,naive_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-R5,naive_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-R5,naive_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-R5,naive_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-R5,naive_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-R5,naive_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-R5,naive_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-R5,naive_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-R5,naive_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-R5,naive_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-R5,naive_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-R5,naive_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-R5,naive_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-R5,naive_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-R5,naive_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-R5,naive_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-R5,naive_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R5,naive_warmup,Train Loss,0,0.34217119216918945 +SV100-R5,naive_warmup,Train Loss,50,0.31849706172943115 +SV100-R5,naive_warmup,Train Loss,100,0.18499453365802765 +SV100-R5,naive_warmup,Train Loss,150,0.17761987447738647 +SV100-R5,naive_warmup,Train Loss,200,0.16538384556770325 +SV100-R5,naive_warmup,Train Loss,250,0.15739163756370544 +SV100-R5,naive_warmup,Train Loss,300,0.1641966849565506 +SV100-R5,naive_warmup,Train Loss,350,0.12046338617801666 +SV100-R5,naive_warmup,Train Loss,400,0.10376758128404617 +SV100-R5,naive_warmup,Train Loss,450,0.09057946503162384 +SV100-R5,naive_warmup,Train Loss,500,0.09235312044620514 +SV100-R5,naive_warmup,Train Loss,550,0.08527329564094543 +SV100-R5,naive_warmup,Train Loss,600,0.08471733331680298 +SV100-R5,naive_warmup,Train Loss,650,0.08728654682636261 +SV100-R5,naive_warmup,Train Loss,700,0.08452750742435455 +SV100-R5,naive_warmup,Train Loss,750,0.07575519382953644 +SV100-R5,naive_warmup,Train Loss,800,0.07993527501821518 +SV100-R5,naive_warmup,Train Loss,850,0.07498537003993988 +SV100-R5,naive_warmup,Train Loss,900,0.06465856730937958 +SV100-R5,naive_warmup,Train Loss,950,0.07034999877214432 +SV100-R5,naive_warmup,Train Loss,1000,0.06341193616390228 +SV100-R5,naive_warmup,Train Loss,1050,0.0535883828997612 +SV100-R5,naive_warmup,Train Loss,1100,0.05599759891629219 +SV100-R5,naive_warmup,Train Loss,1150,0.06456071138381958 +SV100-R5,naive_warmup,Train Loss,1200,0.05188837647438049 +SV100-R5,naive_warmup,Train Loss,1250,0.04984486475586891 +SV100-R5,naive_warmup,Train Loss,1300,0.0495048463344574 +SV100-R5,naive_warmup,Train Loss,1350,0.05069179832935333 +SV100-R5,naive_warmup,Train Loss,1400,0.051324453204870224 +SV100-R5,naive_warmup,Train Loss,1450,0.03325193375349045 +SV100-R5,naive_warmup,Train Loss,1500,0.041187651455402374 +SV100-R5,naive_warmup,Train Loss,1550,0.04536401480436325 +SV100-R5,naive_warmup,Train Loss,1600,0.045052386820316315 +SV100-R5,naive_warmup,Train Loss,1650,0.03778865188360214 +SV100-R5,naive_warmup,Train Loss,1700,0.0399363711476326 +SV100-R5,naive_warmup,Train Loss,1750,0.04394887387752533 +SV100-R5,naive_warmup,Train Loss,1800,0.036151379346847534 +SV100-R5,naive_warmup,Train Loss,1850,0.03012481890618801 +SV100-R5,naive_warmup,Train Loss,1900,0.038285914808511734 +SV100-R5,naive_warmup,Train Loss,1950,0.035985708236694336 +SV100-R5,naive_warmup,Train Loss,2000,0.03522671014070511 +SV100-R5,naive_warmup,Train Loss,2050,0.034252434968948364 +SV100-R5,naive_warmup,Train Loss,2100,0.034683190286159515 +SV100-R5,naive_warmup,Train Loss,2150,0.03732115030288696 +SV100-R5,naive_warmup,Train Loss,2200,0.03317887336015701 +SV100-R5,naive_warmup,Train Loss,2250,0.03541473299264908 +SV100-R5,naive_warmup,Train Loss,2300,0.031054632738232613 +SV100-R5,naive_warmup,Train Loss,2350,0.035618338733911514 +SV100-R5,naive_warmup,Train Loss,2400,0.03321477770805359 +SV100-R5,naive_warmup,Train Loss,2450,0.03527521342039108 +SV100-R5,naive_warmup,Train Loss,2500,0.028800053521990776 +SV100-R5,naive_warmup,Train Loss,2550,0.036795783787965775 +SV100-R5,naive_warmup,Train Loss,2600,0.033795442432165146 +SV100-R5,naive_warmup,Train Loss,2650,0.03700882941484451 +SV100-R5,naive_warmup,Train Loss,2700,0.03244365006685257 +SV100-R5,naive_warmup,Train Loss,2750,0.030262691900134087 +SV100-R5,naive_warmup,Train Loss,2800,0.0293310284614563 +SV100-R5,naive_warmup,Train Loss,2850,0.02929632179439068 +SV100-R5,naive_warmup,Train Loss,2900,0.028338566422462463 +SV100-R5,naive_warmup,Train Loss,2950,0.03261023387312889 +SV100-R5,naive_warmup,Train Loss,3000,0.03102877363562584 +SV100-R5,naive_warmup,Train Loss,3050,0.02628564089536667 +SV100-R5,naive_warmup,Train Loss,3100,0.027222685515880585 +SV100-R5,naive_warmup,Train Loss,3150,0.029773680493235588 +SV100-R5,naive_warmup,Train Loss,3200,0.0278719961643219 +SV100-R5,naive_warmup,Train Loss,3250,0.025405727326869965 +SV100-R5,naive_warmup,Train Loss,3300,0.02734455280005932 +SV100-R5,naive_warmup,Train Loss,3350,0.028433557599782944 +SV100-R5,naive_warmup,Train Loss,3400,0.029375657439231873 +SV100-R5,naive_warmup,Train Loss,3450,0.027570249512791634 +SV100-R5,naive_warmup,Train Loss,3500,0.026370124891400337 +SV100-R5,naive_warmup,Train Loss,3550,0.024649936705827713 +SV100-R5,naive_warmup,Train Loss,3600,0.027155764400959015 +SV100-R5,naive_warmup,Train Loss,3650,0.02557026781141758 +SV100-R5,naive_warmup,Train Loss,3700,0.022673696279525757 +SV100-R5,naive_warmup,Train Loss,3750,0.025021692737936974 +SV100-R5,naive_warmup,Train Loss,3800,0.02532046288251877 +SV100-R5,naive_warmup,Train Loss,3850,0.023754533380270004 +SV100-R5,naive_warmup,Train Loss,3900,0.02910713665187359 +SV100-R5,naive_warmup,Train Loss,3950,0.023043036460876465 +SV100-R5,naive_warmup,Train Loss,4000,0.0280509851872921 +SV100-R5,naive_warmup,Train Loss,4050,0.021932832896709442 +SV100-R5,naive_warmup,Train Loss,4100,0.02432451955974102 +SV100-R5,naive_warmup,Train Loss,4150,0.022502627223730087 +SV100-R5,naive_warmup,Train Loss,4200,0.020078135654330254 +SV100-R5,naive_warmup,Train Loss,4250,0.02499794028699398 +SV100-R5,naive_warmup,Train Loss,4300,0.019784148782491684 +SV100-R5,naive_warmup,Train Loss,4350,0.020250936970114708 +SV100-R5,naive_warmup,Train Loss,4400,0.021605947986245155 +SV100-R5,naive_warmup,Train Loss,4450,0.019940918311476707 +SV100-R5,naive_warmup,Train Loss,4500,0.020457375794649124 +SV100-R5,naive_warmup,Train Loss,4550,0.01930958963930607 +SV100-R5,naive_warmup,Train Loss,4600,0.02387041226029396 +SV100-R5,naive_warmup,Train Loss,4650,0.022223079577088356 +SV100-R5,naive_warmup,Train Loss,4700,0.02138884738087654 +SV100-R5,naive_warmup,Train Loss,4750,0.020964927971363068 +SV100-R5,naive_warmup,Train Loss,4800,0.019533462822437286 +SV100-R5,naive_warmup,Train Loss,4850,0.01846763677895069 +SV100-R5,naive_warmup,Train Loss,4900,0.022788751870393753 +SV100-R5,naive_warmup,Train Loss,4950,0.019285505637526512 +SV100-R5,naive_warmup,Train Loss,5000,0.01934872195124626 +SV100-R5,naive_warmup,Train Loss,5500,0.018550865352153778 +SV100-R5,naive_warmup,Train Loss,6000,0.014546717517077923 +SV100-R5,naive_warmup,Train Loss,6500,0.019586659967899323 +SV100-R5,naive_warmup,Train Loss,7000,0.017520667985081673 +SV100-R5,naive_warmup,Train Loss,7500,0.01847134903073311 +SV100-R5,naive_warmup,Train Loss,8000,0.013786912895739079 +SV100-R5,naive_warmup,Train Loss,8500,0.014670047909021378 +SV100-R5,naive_warmup,Train Loss,9000,0.014273889362812042 +SV100-R5,naive_warmup,Train Loss,9500,0.013003423810005188 +SV100-R5,naive_warmup,Train Loss,10000,0.011981314048171043 +SV100-R5,naive_warmup,Train Loss,10500,0.012773136608302593 +SV100-R5,naive_warmup,Train Loss,11000,0.01302848756313324 +SV100-R5,naive_warmup,Train Loss,11500,0.012621761299669743 +SV100-R5,naive_warmup,Train Loss,12000,0.010339885950088501 +SV100-R5,naive_warmup,Train Loss,12500,0.012650759890675545 +SV100-R5,naive_warmup,Train Loss,13000,0.012514454312622547 +SV100-R5,naive_warmup,Train Loss,13500,0.0105910524725914 +SV100-R5,naive_warmup,Train Loss,14000,0.012705560773611069 +SV100-R5,naive_warmup,Train Loss,14500,0.010289824567735195 +SV100-R5,naive_warmup,Train Loss,15000,0.009289300069212914 +SV100-R5,naive_warmup,Train Loss,15500,0.010602178052067757 +SV100-R5,naive_warmup,Train Loss,16000,0.010194147005677223 +SV100-R5,naive_warmup,Train Loss,16500,0.008544131182134151 +SV100-R5,naive_warmup,Train Loss,17000,0.00737592950463295 +SV100-R5,naive_warmup,Train Loss,17500,0.009022464975714684 +SV100-R5,naive_warmup,Train Loss,18000,0.007710079662501812 +SV100-R5,naive_warmup,Train Loss,18500,0.008610202930867672 +SV100-R5,naive_warmup,Train Loss,19000,0.007108348421752453 +SV100-R5,naive_warmup,Train Loss,19500,0.010184947401285172 +SV100-R5,naive_warmup,Train Loss,20000,0.008216330781579018 +SV100-R5,naive_warmup,Train Loss,20500,0.008506057783961296 +SV100-R5,naive_warmup,Train Loss,21000,0.0073794471099972725 +SV100-R5,naive_warmup,Train Loss,21500,0.007138856686651707 +SV100-R5,naive_warmup,Train Loss,22000,0.010101180523633957 +SV100-R5,naive_warmup,Train Loss,22500,0.007813732139766216 +SV100-R5,naive_warmup,Train Loss,23000,0.008024475537240505 +SV100-R5,naive_warmup,Train Loss,23500,0.007543191313743591 +SV100-R5,naive_warmup,Train Loss,24000,0.006286565214395523 +SV100-R5,naive_warmup,Train Loss,24500,0.007497317157685757 +SV100-R5,naive_warmup,Train Loss,25000,0.007181661203503609 +SV100-R5,naive_warmup,Train Loss,25500,0.0072626820765435696 +SV100-R5,naive_warmup,Train Loss,26000,0.007014562375843525 +SV100-R5,naive_warmup,Train Loss,26500,0.006139222998172045 +SV100-R5,naive_warmup,Train Loss,27000,0.006609214469790459 +SV100-R5,naive_warmup,Train Loss,27500,0.006630868650972843 +SV100-R5,naive_warmup,Train Loss,28000,0.006080241873860359 +SV100-R5,naive_warmup,Train Loss,28500,0.006368360947817564 +SV100-R5,naive_warmup,Train Loss,29000,0.008221857249736786 +SV100-R5,naive_warmup,Train Loss,29500,0.006867440417408943 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,500,13.864641189575195 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,1000,16.276031494140625 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,1500,16.54705810546875 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,2000,16.555194854736328 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,2500,17.3085880279541 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,3000,16.974443435668945 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,3500,17.899961471557617 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,4000,17.14349937438965 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,4500,17.21393394470215 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,5000,17.731569290161133 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,5500,17.03827476501465 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,6000,17.784399032592773 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,6500,16.936397552490234 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,7000,18.642404556274414 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,7500,19.70865249633789 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,8000,19.668947219848633 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,8500,16.718461990356445 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,9000,17.451940536499023 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,9500,17.283672332763672 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,10000,17.128528594970703 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,10500,20.173723220825195 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,11000,22.231609344482422 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,11500,19.865163803100586 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,12000,18.672719955444336 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,12500,19.199804306030273 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,13000,21.11174964904785 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,13500,21.58641242980957 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,14000,16.813438415527344 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,14500,18.90953826904297 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,15000,17.10456657409668 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,15500,16.792156219482422 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,16000,18.2772159576416 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,16500,16.631162643432617 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,17000,18.88804817199707 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,17500,21.180644989013672 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,18000,20.486160278320312 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,18500,16.317276000976562 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,19000,19.030614852905273 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,19500,21.204505920410156 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,20000,16.21377944946289 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,20500,17.939754486083984 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,21000,18.601398468017578 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,21500,16.535701751708984 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,22000,16.90262794494629 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,22500,22.227214813232422 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,23000,18.785734176635742 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,23500,18.895923614501953 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,24000,16.4388484954834 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,24500,16.268489837646484 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,25000,16.94045066833496 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,25500,16.489953994750977 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,26000,17.700668334960938 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,26500,17.082927703857422 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,27000,16.48807716369629 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,27500,21.841081619262695 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,28000,16.839757919311523 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,28500,16.605751037597656 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,29000,17.26569175720215 +SV100-R5,naive_warmup,Eval Images Metrics/fine_psnr,29500,20.359201431274414 +SV100-R5,naive_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,17.8622989654541 +SV100-R5,naive_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7439482808113098 +SV100-R5,naive_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.16020864248275757 +SV100-R5,camp_warmup,learning_rate/camera_opt,0,6.383122013176035e-07 +SV100-R5,camp_warmup,learning_rate/camera_opt,50,3.204843960702419e-05 +SV100-R5,camp_warmup,learning_rate/camera_opt,100,6.342695269268006e-05 +SV100-R5,camp_warmup,learning_rate/camera_opt,150,9.474287799093872e-05 +SV100-R5,camp_warmup,learning_rate/camera_opt,200,0.00012596530723385513 +SV100-R5,camp_warmup,learning_rate/camera_opt,250,0.00015706344856880605 +SV100-R5,camp_warmup,learning_rate/camera_opt,300,0.0001880065829027444 +SV100-R5,camp_warmup,learning_rate/camera_opt,350,0.00021876419486943632 +SV100-R5,camp_warmup,learning_rate/camera_opt,400,0.0002493059146218002 +SV100-R5,camp_warmup,learning_rate/camera_opt,450,0.0002796016342472285 +SV100-R5,camp_warmup,learning_rate/camera_opt,500,0.0003096213913522661 +SV100-R5,camp_warmup,learning_rate/camera_opt,550,0.0003393356455489993 +SV100-R5,camp_warmup,learning_rate/camera_opt,600,0.0003687150019686669 +SV100-R5,camp_warmup,learning_rate/camera_opt,650,0.00039773047319613397 +SV100-R5,camp_warmup,learning_rate/camera_opt,700,0.0004263534501660615 +SV100-R5,camp_warmup,learning_rate/camera_opt,750,0.00045455570216290653 +SV100-R5,camp_warmup,learning_rate/camera_opt,800,0.00048230934771709144 +SV100-R5,camp_warmup,learning_rate/camera_opt,850,0.0005095870583318174 +SV100-R5,camp_warmup,learning_rate/camera_opt,900,0.0005363618256524205 +SV100-R5,camp_warmup,learning_rate/camera_opt,950,0.0005626073107123375 +SV100-R5,camp_warmup,learning_rate/camera_opt,1000,0.0005882975528948009 +SV100-R5,camp_warmup,learning_rate/camera_opt,1050,0.0006134072900749743 +SV100-R5,camp_warmup,learning_rate/camera_opt,1100,0.0006379116093739867 +SV100-R5,camp_warmup,learning_rate/camera_opt,1150,0.00066178641282022 +SV100-R5,camp_warmup,learning_rate/camera_opt,1200,0.0006850081263110042 +SV100-R5,camp_warmup,learning_rate/camera_opt,1250,0.0007075538742356002 +SV100-R5,camp_warmup,learning_rate/camera_opt,1300,0.0007294013048522174 +SV100-R5,camp_warmup,learning_rate/camera_opt,1350,0.0007505289395339787 +SV100-R5,camp_warmup,learning_rate/camera_opt,1400,0.0007709158817306161 +SV100-R5,camp_warmup,learning_rate/camera_opt,1450,0.0007905420497991145 +SV100-R5,camp_warmup,learning_rate/camera_opt,1500,0.0008093880605883896 +SV100-R5,camp_warmup,learning_rate/camera_opt,1550,0.0008274352876469493 +SV100-R5,camp_warmup,learning_rate/camera_opt,1600,0.0008446659776382148 +SV100-R5,camp_warmup,learning_rate/camera_opt,1650,0.0008610630757175386 +SV100-R5,camp_warmup,learning_rate/camera_opt,1700,0.0008766104583628476 +SV100-R5,camp_warmup,learning_rate/camera_opt,1750,0.0008912927005439997 +SV100-R5,camp_warmup,learning_rate/camera_opt,1800,0.0009050953667610884 +SV100-R5,camp_warmup,learning_rate/camera_opt,1850,0.000918004778213799 +SV100-R5,camp_warmup,learning_rate/camera_opt,1900,0.0009300083038397133 +SV100-R5,camp_warmup,learning_rate/camera_opt,1950,0.0009410940110683441 +SV100-R5,camp_warmup,learning_rate/camera_opt,2000,0.0009512509568594396 +SV100-R5,camp_warmup,learning_rate/camera_opt,2050,0.0009604691877029836 +SV100-R5,camp_warmup,learning_rate/camera_opt,2100,0.0009687395649962127 +SV100-R5,camp_warmup,learning_rate/camera_opt,2150,0.0009760538814589381 +SV100-R5,camp_warmup,learning_rate/camera_opt,2200,0.0009824049193412066 +SV100-R5,camp_warmup,learning_rate/camera_opt,2250,0.000987786566838622 +SV100-R5,camp_warmup,learning_rate/camera_opt,2300,0.0009921933524310589 +SV100-R5,camp_warmup,learning_rate/camera_opt,2350,0.0009956209687516093 +SV100-R5,camp_warmup,learning_rate/camera_opt,2400,0.0009980660397559404 +SV100-R5,camp_warmup,learning_rate/camera_opt,2450,0.0009995261207222939 +SV100-R5,camp_warmup,learning_rate/camera_opt,2500,0.000999916228465736 +SV100-R5,camp_warmup,learning_rate/camera_opt,2550,0.00099573889747262 +SV100-R5,camp_warmup,learning_rate/camera_opt,2600,0.0009915789123624563 +SV100-R5,camp_warmup,learning_rate/camera_opt,2650,0.0009874362731352448 +SV100-R5,camp_warmup,learning_rate/camera_opt,2700,0.0009833109797909856 +SV100-R5,camp_warmup,learning_rate/camera_opt,2750,0.0009792030323296785 +SV100-R5,camp_warmup,learning_rate/camera_opt,2800,0.0009751120815053582 +SV100-R5,camp_warmup,learning_rate/camera_opt,2850,0.0009710383019410074 +SV100-R5,camp_warmup,learning_rate/camera_opt,2900,0.0009669815190136433 +SV100-R5,camp_warmup,learning_rate/camera_opt,2950,0.0009629417327232659 +SV100-R5,camp_warmup,learning_rate/camera_opt,3000,0.0009589187684468925 +SV100-R5,camp_warmup,learning_rate/camera_opt,3050,0.0009549126261845231 +SV100-R5,camp_warmup,learning_rate/camera_opt,3100,0.0009509232477284968 +SV100-R5,camp_warmup,learning_rate/camera_opt,3150,0.0009469505166634917 +SV100-R5,camp_warmup,learning_rate/camera_opt,3200,0.000942994374781847 +SV100-R5,camp_warmup,learning_rate/camera_opt,3250,0.0009390547638759017 +SV100-R5,camp_warmup,learning_rate/camera_opt,3300,0.000935131567530334 +SV100-R5,camp_warmup,learning_rate/camera_opt,3350,0.0009312248439528048 +SV100-R5,camp_warmup,learning_rate/camera_opt,3400,0.0009273343603126705 +SV100-R5,camp_warmup,learning_rate/camera_opt,3450,0.0009234601748175919 +SV100-R5,camp_warmup,learning_rate/camera_opt,3500,0.0009196021710522473 +SV100-R5,camp_warmup,learning_rate/camera_opt,3550,0.0009157602908089757 +SV100-R5,camp_warmup,learning_rate/camera_opt,3600,0.0009119344758801162 +SV100-R5,camp_warmup,learning_rate/camera_opt,3650,0.000908124609850347 +SV100-R5,camp_warmup,learning_rate/camera_opt,3700,0.0009043306927196681 +SV100-R5,camp_warmup,learning_rate/camera_opt,3750,0.0009005526080727577 +SV100-R5,camp_warmup,learning_rate/camera_opt,3800,0.0008967902977019548 +SV100-R5,camp_warmup,learning_rate/camera_opt,3850,0.0008930437616072595 +SV100-R5,camp_warmup,learning_rate/camera_opt,3900,0.000889312825165689 +SV100-R5,camp_warmup,learning_rate/camera_opt,3950,0.0008855974883772433 +SV100-R5,camp_warmup,learning_rate/camera_opt,4000,0.0008818976348266006 +SV100-R5,camp_warmup,learning_rate/camera_opt,4050,0.0008782132645137608 +SV100-R5,camp_warmup,learning_rate/camera_opt,4100,0.0008745443192310631 +SV100-R5,camp_warmup,learning_rate/camera_opt,4150,0.0008708906825631857 +SV100-R5,camp_warmup,learning_rate/camera_opt,4200,0.0008672522963024676 +SV100-R5,camp_warmup,learning_rate/camera_opt,4250,0.0008636291022412479 +SV100-R5,camp_warmup,learning_rate/camera_opt,4300,0.0008600210421718657 +SV100-R5,camp_warmup,learning_rate/camera_opt,4350,0.000856428116094321 +SV100-R5,camp_warmup,learning_rate/camera_opt,4400,0.0008528501493856311 +SV100-R5,camp_warmup,learning_rate/camera_opt,4450,0.0008492871420457959 +SV100-R5,camp_warmup,learning_rate/camera_opt,4500,0.0008457390358671546 +SV100-R5,camp_warmup,learning_rate/camera_opt,4550,0.0008422057144343853 +SV100-R5,camp_warmup,learning_rate/camera_opt,4600,0.000838687177747488 +SV100-R5,camp_warmup,learning_rate/camera_opt,4650,0.0008351833093911409 +SV100-R5,camp_warmup,learning_rate/camera_opt,4700,0.000831694109365344 +SV100-R5,camp_warmup,learning_rate/camera_opt,4750,0.0008282195194624364 +SV100-R5,camp_warmup,learning_rate/camera_opt,4800,0.0008247594232670963 +SV100-R5,camp_warmup,learning_rate/camera_opt,4850,0.0008213137625716627 +SV100-R5,camp_warmup,learning_rate/camera_opt,4900,0.0008178824791684747 +SV100-R5,camp_warmup,learning_rate/camera_opt,4950,0.0008144655730575323 +SV100-R5,camp_warmup,learning_rate/camera_opt,5000,0.0008110629278235137 +SV100-R5,camp_warmup,learning_rate/camera_opt,5500,0.0007778086001053452 +SV100-R5,camp_warmup,learning_rate/camera_opt,6000,0.0007459176704287529 +SV100-R5,camp_warmup,learning_rate/camera_opt,6500,0.0007153343758545816 +SV100-R5,camp_warmup,learning_rate/camera_opt,7000,0.0006860049907118082 +SV100-R5,camp_warmup,learning_rate/camera_opt,7500,0.0006578781176358461 +SV100-R5,camp_warmup,learning_rate/camera_opt,8000,0.0006309045129455626 +SV100-R5,camp_warmup,learning_rate/camera_opt,8500,0.0006050368538126349 +SV100-R5,camp_warmup,learning_rate/camera_opt,9000,0.0005802297382615507 +SV100-R5,camp_warmup,learning_rate/camera_opt,9500,0.0005564398015849292 +SV100-R5,camp_warmup,learning_rate/camera_opt,10000,0.0005336252506822348 +SV100-R5,camp_warmup,learning_rate/camera_opt,10500,0.0005117460968904197 +SV100-R5,camp_warmup,learning_rate/camera_opt,11000,0.000490764039568603 +SV100-R5,camp_warmup,learning_rate/camera_opt,11500,0.0004706422332674265 +SV100-R5,camp_warmup,learning_rate/camera_opt,12000,0.00045134546235203743 +SV100-R5,camp_warmup,learning_rate/camera_opt,12500,0.0004328398790676147 +SV100-R5,camp_warmup,learning_rate/camera_opt,13000,0.00041509303264319897 +SV100-R5,camp_warmup,learning_rate/camera_opt,13500,0.0003980738401878625 +SV100-R5,camp_warmup,learning_rate/camera_opt,14000,0.0003817524411715567 +SV100-R5,camp_warmup,learning_rate/camera_opt,14500,0.0003661002265289426 +SV100-R5,camp_warmup,learning_rate/camera_opt,15000,0.0003510897804517299 +SV100-R5,camp_warmup,learning_rate/camera_opt,15500,0.0003366947639733553 +SV100-R5,camp_warmup,learning_rate/camera_opt,16000,0.00032288997317664325 +SV100-R5,camp_warmup,learning_rate/camera_opt,16500,0.0003096511645708233 +SV100-R5,camp_warmup,learning_rate/camera_opt,17000,0.0002969551715068519 +SV100-R5,camp_warmup,learning_rate/camera_opt,17500,0.00028477972955442965 +SV100-R5,camp_warmup,learning_rate/camera_opt,18000,0.00027310350560583174 +SV100-R5,camp_warmup,learning_rate/camera_opt,18500,0.00026190601056441665 +SV100-R5,camp_warmup,learning_rate/camera_opt,19000,0.00025116759934462607 +SV100-R5,camp_warmup,learning_rate/camera_opt,19500,0.00024086949997581542 +SV100-R5,camp_warmup,learning_rate/camera_opt,20000,0.00023099362442735583 +SV100-R5,camp_warmup,learning_rate/camera_opt,20500,0.00022152267047204077 +SV100-R5,camp_warmup,learning_rate/camera_opt,21000,0.0002124400343745947 +SV100-R5,camp_warmup,learning_rate/camera_opt,21500,0.00020372979633975774 +SV100-R5,camp_warmup,learning_rate/camera_opt,22000,0.00019537667685654014 +SV100-R5,camp_warmup,learning_rate/camera_opt,22500,0.0001873660512501374 +SV100-R5,camp_warmup,learning_rate/camera_opt,23000,0.00017968386237043887 +SV100-R5,camp_warmup,learning_rate/camera_opt,23500,0.0001723166642477736 +SV100-R5,camp_warmup,learning_rate/camera_opt,24000,0.0001652515202295035 +SV100-R5,camp_warmup,learning_rate/camera_opt,24500,0.0001584760466357693 +SV100-R5,camp_warmup,learning_rate/camera_opt,25000,0.00015197838365565985 +SV100-R5,camp_warmup,learning_rate/camera_opt,25500,0.0001457471225876361 +SV100-R5,camp_warmup,learning_rate/camera_opt,26000,0.00013977136404719204 +SV100-R5,camp_warmup,learning_rate/camera_opt,26500,0.00013404060155153275 +SV100-R5,camp_warmup,learning_rate/camera_opt,27000,0.0001285448088310659 +SV100-R5,camp_warmup,learning_rate/camera_opt,27500,0.0001232743525179103 +SV100-R5,camp_warmup,learning_rate/camera_opt,28000,0.00011821998486993834 +SV100-R5,camp_warmup,learning_rate/camera_opt,28500,0.00011337285832269117 +SV100-R5,camp_warmup,learning_rate/camera_opt,29000,0.00010872446000576019 +SV100-R5,camp_warmup,learning_rate/camera_opt,29500,0.00010426665539853275 +SV100-R5,camp_warmup,learning_rate/camera_opt,29999,9.999999747378752e-05 +SV100-R5,camp_warmup,Train Loss,0,0.34217119216918945 +SV100-R5,camp_warmup,Train Loss,50,0.3184991478919983 +SV100-R5,camp_warmup,Train Loss,100,0.1849726140499115 +SV100-R5,camp_warmup,Train Loss,150,0.17758427560329437 +SV100-R5,camp_warmup,Train Loss,200,0.1652793288230896 +SV100-R5,camp_warmup,Train Loss,250,0.15735024213790894 +SV100-R5,camp_warmup,Train Loss,300,0.1638745367527008 +SV100-R5,camp_warmup,Train Loss,350,0.12018615007400513 +SV100-R5,camp_warmup,Train Loss,400,0.10686562210321426 +SV100-R5,camp_warmup,Train Loss,450,0.10180032253265381 +SV100-R5,camp_warmup,Train Loss,500,0.09575449675321579 +SV100-R5,camp_warmup,Train Loss,550,0.09129701554775238 +SV100-R5,camp_warmup,Train Loss,600,0.09133245795965195 +SV100-R5,camp_warmup,Train Loss,650,0.09600412845611572 +SV100-R5,camp_warmup,Train Loss,700,0.09295341372489929 +SV100-R5,camp_warmup,Train Loss,750,0.08344389498233795 +SV100-R5,camp_warmup,Train Loss,800,0.08947943896055222 +SV100-R5,camp_warmup,Train Loss,850,0.08559335768222809 +SV100-R5,camp_warmup,Train Loss,900,0.07692337036132812 +SV100-R5,camp_warmup,Train Loss,950,0.08312906324863434 +SV100-R5,camp_warmup,Train Loss,1000,0.0723501443862915 +SV100-R5,camp_warmup,Train Loss,1050,0.06670859456062317 +SV100-R5,camp_warmup,Train Loss,1100,0.07063939422369003 +SV100-R5,camp_warmup,Train Loss,1150,0.07889588177204132 +SV100-R5,camp_warmup,Train Loss,1200,0.0656280666589737 +SV100-R5,camp_warmup,Train Loss,1250,0.06773297488689423 +SV100-R5,camp_warmup,Train Loss,1300,0.06566627323627472 +SV100-R5,camp_warmup,Train Loss,1350,0.06675039231777191 +SV100-R5,camp_warmup,Train Loss,1400,0.06094513088464737 +SV100-R5,camp_warmup,Train Loss,1450,0.04334454610943794 +SV100-R5,camp_warmup,Train Loss,1500,0.05631673336029053 +SV100-R5,camp_warmup,Train Loss,1550,0.059827178716659546 +SV100-R5,camp_warmup,Train Loss,1600,0.04920513182878494 +SV100-R5,camp_warmup,Train Loss,1650,0.04906821250915527 +SV100-R5,camp_warmup,Train Loss,1700,0.055437374860048294 +SV100-R5,camp_warmup,Train Loss,1750,0.05481924116611481 +SV100-R5,camp_warmup,Train Loss,1800,0.04962218180298805 +SV100-R5,camp_warmup,Train Loss,1850,0.035287726670503616 +SV100-R5,camp_warmup,Train Loss,1900,0.04359729215502739 +SV100-R5,camp_warmup,Train Loss,1950,0.04567832127213478 +SV100-R5,camp_warmup,Train Loss,2000,0.03890397399663925 +SV100-R5,camp_warmup,Train Loss,2050,0.035663146525621414 +SV100-R5,camp_warmup,Train Loss,2100,0.045240335166454315 +SV100-R5,camp_warmup,Train Loss,2150,0.037578850984573364 +SV100-R5,camp_warmup,Train Loss,2200,0.03904791176319122 +SV100-R5,camp_warmup,Train Loss,2250,0.034585654735565186 +SV100-R5,camp_warmup,Train Loss,2300,0.03470512479543686 +SV100-R5,camp_warmup,Train Loss,2350,0.035923734307289124 +SV100-R5,camp_warmup,Train Loss,2400,0.03395291417837143 +SV100-R5,camp_warmup,Train Loss,2450,0.03668016567826271 +SV100-R5,camp_warmup,Train Loss,2500,0.031121544539928436 +SV100-R5,camp_warmup,Train Loss,2550,0.038995154201984406 +SV100-R5,camp_warmup,Train Loss,2600,0.03348381444811821 +SV100-R5,camp_warmup,Train Loss,2650,0.03176341950893402 +SV100-R5,camp_warmup,Train Loss,2700,0.03558662161231041 +SV100-R5,camp_warmup,Train Loss,2750,0.03875373303890228 +SV100-R5,camp_warmup,Train Loss,2800,0.0362631231546402 +SV100-R5,camp_warmup,Train Loss,2850,0.027478255331516266 +SV100-R5,camp_warmup,Train Loss,2900,0.031031085178256035 +SV100-R5,camp_warmup,Train Loss,2950,0.03287822753190994 +SV100-R5,camp_warmup,Train Loss,3000,0.03340946510434151 +SV100-R5,camp_warmup,Train Loss,3050,0.028287412598729134 +SV100-R5,camp_warmup,Train Loss,3100,0.027473151683807373 +SV100-R5,camp_warmup,Train Loss,3150,0.030569272115826607 +SV100-R5,camp_warmup,Train Loss,3200,0.029077112674713135 +SV100-R5,camp_warmup,Train Loss,3250,0.030475640669465065 +SV100-R5,camp_warmup,Train Loss,3300,0.02897125482559204 +SV100-R5,camp_warmup,Train Loss,3350,0.027304328978061676 +SV100-R5,camp_warmup,Train Loss,3400,0.03181956335902214 +SV100-R5,camp_warmup,Train Loss,3450,0.030527882277965546 +SV100-R5,camp_warmup,Train Loss,3500,0.028032265603542328 +SV100-R5,camp_warmup,Train Loss,3550,0.028230946511030197 +SV100-R5,camp_warmup,Train Loss,3600,0.0294189490377903 +SV100-R5,camp_warmup,Train Loss,3650,0.030697811394929886 +SV100-R5,camp_warmup,Train Loss,3700,0.02786562219262123 +SV100-R5,camp_warmup,Train Loss,3750,0.02462356723845005 +SV100-R5,camp_warmup,Train Loss,3800,0.03000359795987606 +SV100-R5,camp_warmup,Train Loss,3850,0.02715950459241867 +SV100-R5,camp_warmup,Train Loss,3900,0.035890884697437286 +SV100-R5,camp_warmup,Train Loss,3950,0.026048628613352776 +SV100-R5,camp_warmup,Train Loss,4000,0.03126026690006256 +SV100-R5,camp_warmup,Train Loss,4050,0.02635294571518898 +SV100-R5,camp_warmup,Train Loss,4100,0.025120269507169724 +SV100-R5,camp_warmup,Train Loss,4150,0.02395576611161232 +SV100-R5,camp_warmup,Train Loss,4200,0.0220913365483284 +SV100-R5,camp_warmup,Train Loss,4250,0.028008490800857544 +SV100-R5,camp_warmup,Train Loss,4300,0.020050738006830215 +SV100-R5,camp_warmup,Train Loss,4350,0.019765779376029968 +SV100-R5,camp_warmup,Train Loss,4400,0.025033878162503242 +SV100-R5,camp_warmup,Train Loss,4450,0.025284484028816223 +SV100-R5,camp_warmup,Train Loss,4500,0.02663380652666092 +SV100-R5,camp_warmup,Train Loss,4550,0.020899737253785133 +SV100-R5,camp_warmup,Train Loss,4600,0.026283927261829376 +SV100-R5,camp_warmup,Train Loss,4650,0.024798231199383736 +SV100-R5,camp_warmup,Train Loss,4700,0.02480771578848362 +SV100-R5,camp_warmup,Train Loss,4750,0.022573411464691162 +SV100-R5,camp_warmup,Train Loss,4800,0.019817175343632698 +SV100-R5,camp_warmup,Train Loss,4850,0.0208740197122097 +SV100-R5,camp_warmup,Train Loss,4900,0.023658517748117447 +SV100-R5,camp_warmup,Train Loss,4950,0.026061251759529114 +SV100-R5,camp_warmup,Train Loss,5000,0.023105524480342865 +SV100-R5,camp_warmup,Train Loss,5500,0.020413214340806007 +SV100-R5,camp_warmup,Train Loss,6000,0.015403837896883488 +SV100-R5,camp_warmup,Train Loss,6500,0.02056131884455681 +SV100-R5,camp_warmup,Train Loss,7000,0.017183922231197357 +SV100-R5,camp_warmup,Train Loss,7500,0.01613948866724968 +SV100-R5,camp_warmup,Train Loss,8000,0.013849303126335144 +SV100-R5,camp_warmup,Train Loss,8500,0.014720043167471886 +SV100-R5,camp_warmup,Train Loss,9000,0.015571189112961292 +SV100-R5,camp_warmup,Train Loss,9500,0.013463614508509636 +SV100-R5,camp_warmup,Train Loss,10000,0.013296605087816715 +SV100-R5,camp_warmup,Train Loss,10500,0.012112248688936234 +SV100-R5,camp_warmup,Train Loss,11000,0.010777898132801056 +SV100-R5,camp_warmup,Train Loss,11500,0.012132704257965088 +SV100-R5,camp_warmup,Train Loss,12000,0.010037831962108612 +SV100-R5,camp_warmup,Train Loss,12500,0.014468333683907986 +SV100-R5,camp_warmup,Train Loss,13000,0.012254323810338974 +SV100-R5,camp_warmup,Train Loss,13500,0.010558861307799816 +SV100-R5,camp_warmup,Train Loss,14000,0.01287781074643135 +SV100-R5,camp_warmup,Train Loss,14500,0.011547693982720375 +SV100-R5,camp_warmup,Train Loss,15000,0.009322917088866234 +SV100-R5,camp_warmup,Train Loss,15500,0.011586954817175865 +SV100-R5,camp_warmup,Train Loss,16000,0.009850841015577316 +SV100-R5,camp_warmup,Train Loss,16500,0.009494864381849766 +SV100-R5,camp_warmup,Train Loss,17000,0.0072933342307806015 +SV100-R5,camp_warmup,Train Loss,17500,0.008617637678980827 +SV100-R5,camp_warmup,Train Loss,18000,0.009034823626279831 +SV100-R5,camp_warmup,Train Loss,18500,0.007738403044641018 +SV100-R5,camp_warmup,Train Loss,19000,0.00947592779994011 +SV100-R5,camp_warmup,Train Loss,19500,0.010975712910294533 +SV100-R5,camp_warmup,Train Loss,20000,0.009612742811441422 +SV100-R5,camp_warmup,Train Loss,20500,0.009087424725294113 +SV100-R5,camp_warmup,Train Loss,21000,0.008437467738986015 +SV100-R5,camp_warmup,Train Loss,21500,0.0067484378814697266 +SV100-R5,camp_warmup,Train Loss,22000,0.01152753084897995 +SV100-R5,camp_warmup,Train Loss,22500,0.006977889686822891 +SV100-R5,camp_warmup,Train Loss,23000,0.008116592653095722 +SV100-R5,camp_warmup,Train Loss,23500,0.009959455579519272 +SV100-R5,camp_warmup,Train Loss,24000,0.007009998895227909 +SV100-R5,camp_warmup,Train Loss,24500,0.008384681306779385 +SV100-R5,camp_warmup,Train Loss,25000,0.007566886022686958 +SV100-R5,camp_warmup,Train Loss,25500,0.00697610666975379 +SV100-R5,camp_warmup,Train Loss,26000,0.006380648817867041 +SV100-R5,camp_warmup,Train Loss,26500,0.006084754131734371 +SV100-R5,camp_warmup,Train Loss,27000,0.0077676838263869286 +SV100-R5,camp_warmup,Train Loss,27500,0.006787917576730251 +SV100-R5,camp_warmup,Train Loss,28000,0.00644606864079833 +SV100-R5,camp_warmup,Train Loss,28500,0.0068975226022303104 +SV100-R5,camp_warmup,Train Loss,29000,0.008489493280649185 +SV100-R5,camp_warmup,Train Loss,29500,0.007372246123850346 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,500,13.50552749633789 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,1000,15.75641918182373 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,1500,16.275312423706055 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,2000,16.622804641723633 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,2500,17.24056053161621 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,3000,16.210538864135742 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,3500,16.894790649414062 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,4000,16.044525146484375 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,4500,16.552392959594727 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,5000,16.398916244506836 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,5500,15.908614158630371 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,6000,15.907505989074707 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,6500,15.69629955291748 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,7000,17.04118537902832 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,7500,18.14349937438965 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,8000,17.665857315063477 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,8500,14.828317642211914 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,9000,15.818541526794434 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,9500,14.963336944580078 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,10000,15.147295951843262 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,10500,18.134008407592773 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,11000,19.61085319519043 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,11500,17.985881805419922 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,12000,16.042577743530273 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,12500,16.808732986450195 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,13000,18.897058486938477 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,13500,18.79706573486328 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,14000,14.775435447692871 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,14500,16.816431045532227 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,15000,15.320518493652344 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,15500,14.859130859375 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,16000,15.929635047912598 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,16500,14.992341995239258 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,17000,16.780202865600586 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,17500,19.152971267700195 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,18000,18.107751846313477 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,18500,14.724868774414062 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,19000,17.40652084350586 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,19500,18.363420486450195 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,20000,14.52501392364502 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,20500,16.543214797973633 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,21000,16.57745361328125 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,21500,14.712193489074707 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,22000,14.679012298583984 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,22500,18.58909797668457 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,23000,16.47370147705078 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,23500,16.447175979614258 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,24000,14.414145469665527 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,24500,14.519681930541992 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,25000,15.360528945922852 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,25500,14.572168350219727 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,26000,15.799230575561523 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,26500,14.944390296936035 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,27000,14.828423500061035 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,27500,18.454418182373047 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,28000,15.21495532989502 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,28500,14.842432022094727 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,29000,15.500445365905762 +SV100-R5,camp_warmup,Eval Images Metrics/fine_psnr,29500,17.742839813232422 +SV100-R5,camp_warmup,Eval Images Metrics Dict (all images)/fine_psnr,25000,15.977583885192871 +SV100-R5,camp_warmup,Eval Images Metrics Dict (all images)/fine_ssim,25000,0.7313196063041687 +SV100-R5,camp_warmup,Eval Images Metrics Dict (all images)/fine_lpips,25000,0.2179790884256363 diff --git a/artifacts/records/showcase/DELIVERY_REPORT.md b/artifacts/records/showcase/DELIVERY_REPORT.md new file mode 100644 index 0000000..658aa6c --- /dev/null +++ b/artifacts/records/showcase/DELIVERY_REPORT.md @@ -0,0 +1,145 @@ +# PoseGuard-NeRF delivery + +找到 45 个run;缺失 0 个。核心15个PSNR及两个参考checkpoint哈希已通过。 +P0/P1:96张800×800渲染、96张误差图、16张GT;视角0、50、100、175(175展示斜侧机械细节)。 +P2:4段200帧400×400视频、4个GIF和带标签的T5并排MP4。P3标量与36份diagnostics;P4见checkpoints_index.json。 +raw均值检查最大偏差为 3.6 dB(精确 3.617626826 dB)。raw检查主要只做均值级比对,没有原始raw全分辨率逐图记录可供核对;例外是GT/fixed另用历史恒等对齐逐图指标核对过4张图,偏差0。不能把均值检查当成0.05 dB逐图验证。 +四种aligned方法的16张800×800图严格核对历史逐图指标,最大偏差0 dB;400×400指标单独记录,不与800×800比较。 +raw实际near=0、far=6;aligned调用原transform_poses,实际near=0、far=6×scale,reset_near_plane=true。白背景,rgb_fine。误差图为未量化RGB每像素L2,turbo [0,0.3]。 +目录差异:outputs及poseopt_sv100、部分warmup attempt通过软链接指向/root/autodl-tmp;fixed/T1为lego_tnoise_1pct;aligned progress实际在results/alignment_gt_full。 +原代码、实验输出、checkpoint、数据及event文件未修改;没有新训练。 +逐帧PNG未超过300MB,已纳入压缩包。 +各关耗时和验收见gates/A.json、B.json及C.json;关卡不会自动衔接。 +包路径、大小、SHA256见包外gates/C.md及archive_receipt.json;哈希无法自包含于其所校验的压缩包。 + +## CSV标签行数 + +| tag | rows | +|---|---:| +| ETA (time) | 1350000 | +| Eval Images Metrics Dict (all images)/coarse_psnr | 45 | +| Eval Images Metrics Dict (all images)/fine_lpips | 45 | +| Eval Images Metrics Dict (all images)/fine_psnr | 45 | +| Eval Images Metrics Dict (all images)/fine_ssim | 45 | +| Eval Images Metrics Dict (all images)/fps | 45 | +| Eval Images Metrics Dict (all images)/num_rays_per_sec | 45 | +| Eval Images Metrics Dict (all images)/psnr | 45 | +| Eval Images Metrics/coarse_psnr | 2655 | +| Eval Images Metrics/fine_lpips | 2655 | +| Eval Images Metrics/fine_psnr | 2655 | +| Eval Images Metrics/fine_ssim | 2655 | +| Eval Images Metrics/num_rays | 2655 | +| Eval Images Metrics/psnr | 2655 | +| Eval Loss | 2655 | +| Eval Loss Dict/rgb_loss_coarse | 2655 | +| Eval Loss Dict/rgb_loss_fine | 2655 | +| GPU Memory (MB) | 135000 | +| Test Rays / Sec | 2655 | +| Train Iter (time) | 1350000 | +| Train Loss | 135000 | +| Train Loss Dict/rgb_loss_coarse | 135000 | +| Train Loss Dict/rgb_loss_fine | 135000 | +| Train Rays / Sec | 1349910 | +| Train Total (time) | 45 | +| learning_rate/camera_opt | 1080000 | + +## P0/P1 PSNR + +| condition | method | mode | view | PSNR | +|---|---|---|---:|---:| +| SV100-GT | fixed | raw | 0 | 27.223795 | +| SV100-GT | fixed | raw | 50 | 28.454309 | +| SV100-GT | fixed | raw | 100 | 28.452311 | +| SV100-GT | fixed | raw | 175 | 26.635462 | +| SV100-GT | naive | raw | 0 | 17.735168 | +| SV100-GT | naive | raw | 50 | 20.259108 | +| SV100-GT | naive | raw | 100 | 18.841879 | +| SV100-GT | naive | raw | 175 | 16.385822 | +| SV100-GT | naive | aligned | 0 | 24.344198 | +| SV100-GT | naive | aligned | 50 | 25.700920 | +| SV100-GT | naive | aligned | 100 | 24.643089 | +| SV100-GT | naive | aligned | 175 | 22.571732 | +| SV100-GT | camp | raw | 0 | 20.480253 | +| SV100-GT | camp | raw | 50 | 21.083437 | +| SV100-GT | camp | raw | 100 | 21.441933 | +| SV100-GT | camp | raw | 175 | 17.739981 | +| SV100-GT | camp | aligned | 0 | 25.650791 | +| SV100-GT | camp | aligned | 50 | 27.302214 | +| SV100-GT | camp | aligned | 100 | 27.523165 | +| SV100-GT | camp | aligned | 175 | 25.491484 | +| SV100-GT | naive_warmup | raw | 0 | 22.124289 | +| SV100-GT | naive_warmup | raw | 50 | 28.044697 | +| SV100-GT | naive_warmup | raw | 100 | 25.289804 | +| SV100-GT | naive_warmup | raw | 175 | 21.499994 | +| SV100-GT | naive_warmup | aligned | 0 | 26.497204 | +| SV100-GT | naive_warmup | aligned | 50 | 28.129665 | +| SV100-GT | naive_warmup | aligned | 100 | 27.915257 | +| SV100-GT | naive_warmup | aligned | 175 | 25.803513 | +| SV100-GT | camp_warmup | raw | 0 | 24.318935 | +| SV100-GT | camp_warmup | raw | 50 | 23.411909 | +| SV100-GT | camp_warmup | raw | 100 | 23.329647 | +| SV100-GT | camp_warmup | raw | 175 | 19.434631 | +| SV100-GT | camp_warmup | aligned | 0 | 26.323505 | +| SV100-GT | camp_warmup | aligned | 50 | 28.027498 | +| SV100-GT | camp_warmup | aligned | 100 | 27.821537 | +| SV100-GT | camp_warmup | aligned | 175 | 24.991163 | +| SV100-T5 | fixed | raw | 0 | 14.531160 | +| SV100-T5 | fixed | raw | 50 | 15.424973 | +| SV100-T5 | fixed | raw | 100 | 13.503274 | +| SV100-T5 | fixed | raw | 175 | 13.722331 | +| SV100-T5 | naive | raw | 0 | 19.539042 | +| SV100-T5 | naive | raw | 50 | 20.405630 | +| SV100-T5 | naive | raw | 100 | 18.844475 | +| SV100-T5 | naive | raw | 175 | 17.436981 | +| SV100-T5 | camp | raw | 0 | 17.767853 | +| SV100-T5 | camp | raw | 50 | 22.052055 | +| SV100-T5 | camp | raw | 100 | 20.516823 | +| SV100-T5 | camp | raw | 175 | 20.106083 | +| SV100-T5 | naive_warmup | raw | 0 | 25.462740 | +| SV100-T5 | naive_warmup | raw | 50 | 25.092705 | +| SV100-T5 | naive_warmup | raw | 100 | 25.244631 | +| SV100-T5 | naive_warmup | raw | 175 | 22.168625 | +| SV100-T5 | camp_warmup | raw | 0 | 22.368828 | +| SV100-T5 | camp_warmup | raw | 50 | 21.705992 | +| SV100-T5 | camp_warmup | raw | 100 | 21.443264 | +| SV100-T5 | camp_warmup | raw | 175 | 17.540792 | +| SV100-R5 | fixed | raw | 0 | 12.795829 | +| SV100-R5 | fixed | raw | 50 | 13.024708 | +| SV100-R5 | fixed | raw | 100 | 12.221133 | +| SV100-R5 | fixed | raw | 175 | 13.117497 | +| SV100-R5 | naive | raw | 0 | 17.253752 | +| SV100-R5 | naive | raw | 50 | 22.198116 | +| SV100-R5 | naive | raw | 100 | 18.877028 | +| SV100-R5 | naive | raw | 175 | 15.778337 | +| SV100-R5 | camp | raw | 0 | 15.722897 | +| SV100-R5 | camp | raw | 50 | 17.246365 | +| SV100-R5 | camp | raw | 100 | 15.959490 | +| SV100-R5 | camp | raw | 175 | 13.488349 | +| SV100-R5 | naive_warmup | raw | 0 | 16.682283 | +| SV100-R5 | naive_warmup | raw | 50 | 18.993124 | +| SV100-R5 | naive_warmup | raw | 100 | 19.988968 | +| SV100-R5 | naive_warmup | raw | 175 | 16.819361 | +| SV100-R5 | camp_warmup | raw | 0 | 14.963828 | +| SV100-R5 | camp_warmup | raw | 50 | 17.226337 | +| SV100-R5 | camp_warmup | raw | 100 | 17.961039 | +| SV100-R5 | camp_warmup | raw | 175 | 14.719579 | +| SV100-T1 | fixed | raw | 0 | 20.045074 | +| SV100-T1 | fixed | raw | 50 | 22.311666 | +| SV100-T1 | fixed | raw | 100 | 21.249514 | +| SV100-T1 | fixed | raw | 175 | 20.195431 | +| SV100-T1 | naive | raw | 0 | 22.063765 | +| SV100-T1 | naive | raw | 50 | 18.897251 | +| SV100-T1 | naive | raw | 100 | 17.592247 | +| SV100-T1 | naive | raw | 175 | 14.783033 | +| SV100-T1 | camp | raw | 0 | 17.207783 | +| SV100-T1 | camp | raw | 50 | 18.507387 | +| SV100-T1 | camp | raw | 100 | 17.706535 | +| SV100-T1 | camp | raw | 175 | 14.673221 | +| SV100-T1 | naive_warmup | raw | 0 | 22.561476 | +| SV100-T1 | naive_warmup | raw | 50 | 25.099747 | +| SV100-T1 | naive_warmup | raw | 100 | 24.968843 | +| SV100-T1 | naive_warmup | raw | 175 | 23.785057 | +| SV100-T1 | camp_warmup | raw | 0 | 20.870274 | +| SV100-T1 | camp_warmup | raw | 50 | 22.538006 | +| SV100-T1 | camp_warmup | raw | 100 | 23.000193 | +| SV100-T1 | camp_warmup | raw | 175 | 19.509480 | diff --git a/artifacts/records/showcase/checkpoints_index.json b/artifacts/records/showcase/checkpoints_index.json new file mode 100644 index 0000000..9f3dec0 --- /dev/null +++ b/artifacts/records/showcase/checkpoints_index.json @@ -0,0 +1,34 @@ +[ + { + "condition": "SV100-GT", + "method": "fixed", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/nerfstudio_models/step-000029999.ckpt", + "resolved_path": "/root/autodl-tmp/poseguard-nerf/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/nerfstudio_models/step-000029999.ckpt", + "bytes": 23071966, + "sha256": "c3d47101d4df1e2039ba3aa1667a7c1c98c7d12fb2e1b5d89cb1b8d31c785a6e" + }, + { + "condition": "SV100-GT", + "method": "naive_warmup", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "resolved_path": "/root/autodl-tmp/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "bytes": 23100732, + "sha256": "1118fdccb527a71bcc5d8d966839513978c1d4836628d88796637f3ddc23b78a" + }, + { + "condition": "SV100-T5", + "method": "fixed", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/nerfstudio_models/step-000029999.ckpt", + "resolved_path": "/root/autodl-tmp/poseguard-nerf/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/nerfstudio_models/step-000029999.ckpt", + "bytes": 23071966, + "sha256": "89134af0a04380cea1744aa189003cc7a2b070a0ab636b2db8508254992b1795" + }, + { + "condition": "SV100-T5", + "method": "naive_warmup", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "resolved_path": "/root/autodl-tmp/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "bytes": 23100732, + "sha256": "bc4bfb89aa4f9f1217bab8afeedb55de5161d0a0ef7f576d96efe62d9a39c724" + } +] diff --git a/artifacts/records/showcase/inventory.json b/artifacts/records/showcase/inventory.json new file mode 100644 index 0000000..e04011f --- /dev/null +++ b/artifacts/records/showcase/inventory.json @@ -0,0 +1,1044 @@ +{ + "render_gate_passed": true, + "runs": [ + { + "condition": "SV100-GT", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100/vanilla-nerf/2026-09-30_141114/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-GT/metrics.json" + ], + "PSNR": 27.117351531982422, + "expected_PSNR": 27.117, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "sha256": "c3d47101d4df1e2039ba3aa1667a7c1c98c7d12fb2e1b5d89cb1b8d31c785a6e", + "sha256_passed": true, + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-GT", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-GT/attempt_001/metrics.json" + ], + "PSNR": 17.908571243286133, + "expected_PSNR": 17.909, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-GT", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-GT/attempt_001/metrics.json" + ], + "PSNR": 19.900388717651367, + "expected_PSNR": 19.9, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-GT", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-GT/attempt_001/metrics.json" + ], + "PSNR": 22.707406997680664, + "expected_PSNR": 22.707, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-GT", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/outputs/SV100-GT/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-GT/attempt_001/metrics.json" + ], + "PSNR": 21.07567024230957, + "expected_PSNR": 21.076, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T0.5", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100_tnoise_0p5pct/vanilla-nerf/2026-09-30_170408/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-T0.5/metrics.json" + ], + "PSNR": 23.16393280029297, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_0p5pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T0.5", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T0.5/attempt_001/metrics.json" + ], + "PSNR": 17.72048568725586, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_0p5pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T0.5", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T0.5/attempt_001/metrics.json" + ], + "PSNR": 16.106420516967773, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_0p5pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T0.5", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T0.5/attempt_001/metrics.json" + ], + "PSNR": 21.728418350219727, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_0p5pct", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T0.5", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/outputs/SV100-T0.5/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T0.5/attempt_001/metrics.json" + ], + "PSNR": 20.58088493347168, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_0p5pct", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T1", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_tnoise_1pct/vanilla-nerf/2026-09-30_195553/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-T1/metrics.json" + ], + "PSNR": 20.352632522583008, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_tnoise_1pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T1", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T1/attempt_001/metrics.json" + ], + "PSNR": 15.900127410888672, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_tnoise_1pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T1", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T1/attempt_001/metrics.json" + ], + "PSNR": 16.826087951660156, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_tnoise_1pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T1", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T1/attempt_001/metrics.json" + ], + "PSNR": 23.830036163330078, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_tnoise_1pct", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T1", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/outputs/SV100-T1/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T1/attempt_001/metrics.json" + ], + "PSNR": 20.539615631103516, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_tnoise_1pct", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T2", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100_tnoise_2pct/vanilla-nerf/2026-09-30_224750/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-T2/metrics.json" + ], + "PSNR": 17.410005569458008, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_2pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T2", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T2/attempt_001/metrics.json" + ], + "PSNR": 16.844139099121094, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_2pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T2", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T2/attempt_001/metrics.json" + ], + "PSNR": 19.009138107299805, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_2pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T2", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T2/attempt_001/metrics.json" + ], + "PSNR": 20.140737533569336, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_2pct", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T2", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/outputs/SV100-T2/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T2/attempt_001/metrics.json" + ], + "PSNR": 19.7944278717041, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_2pct", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T5", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100_tnoise_5pct/vanilla-nerf/2026-10-01_013952/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-T5/metrics.json" + ], + "PSNR": 14.144984245300293, + "expected_PSNR": 14.145, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_5pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "sha256": "89134af0a04380cea1744aa189003cc7a2b070a0ab636b2db8508254992b1795", + "sha256_passed": true, + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T5", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-T5/attempt_001/metrics.json" + ], + "PSNR": 17.533849716186523, + "expected_PSNR": 17.534, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_5pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T5", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-T5/attempt_001/metrics.json" + ], + "PSNR": 19.71722412109375, + "expected_PSNR": 19.717, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_5pct", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T5", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-T5/attempt_001/metrics.json" + ], + "PSNR": 22.680654525756836, + "expected_PSNR": 22.681, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_5pct", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-T5", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/outputs/SV100-T5/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-T5/attempt_001/metrics.json" + ], + "PSNR": 18.730865478515625, + "expected_PSNR": 18.731, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_tnoise_5pct", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R0.5", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_0p5deg/vanilla-nerf/2026-10-01_043150/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-R0.5/metrics.json" + ], + "PSNR": 20.094165802001953, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_0p5deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R0.5", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R0.5/attempt_001/metrics.json" + ], + "PSNR": 20.562286376953125, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_0p5deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R0.5", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R0.5/attempt_001/metrics.json" + ], + "PSNR": 18.255605697631836, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_0p5deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R0.5", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R0.5/attempt_001/metrics.json" + ], + "PSNR": 23.217727661132812, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_0p5deg", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R0.5", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/outputs/SV100-R0.5/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R0.5/attempt_001/metrics.json" + ], + "PSNR": 20.347471237182617, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_0p5deg", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R1", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_1deg/vanilla-nerf/2026-10-01_072344/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-R1/metrics.json" + ], + "PSNR": 17.114395141601562, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_1deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R1", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R1/attempt_001/metrics.json" + ], + "PSNR": 15.528212547302246, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_1deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R1", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R1/attempt_001/metrics.json" + ], + "PSNR": 16.700990676879883, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_1deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R1", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R1/attempt_001/metrics.json" + ], + "PSNR": 21.86933135986328, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_1deg", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R1", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/outputs/SV100-R1/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R1/attempt_001/metrics.json" + ], + "PSNR": 18.38273811340332, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_1deg", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R2", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_2deg/vanilla-nerf/2026-10-01_101553/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-R2/metrics.json" + ], + "PSNR": 14.811619758605957, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_2deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R2", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R2/attempt_001/metrics.json" + ], + "PSNR": 16.13628387451172, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_2deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R2", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R2/attempt_001/metrics.json" + ], + "PSNR": 19.151582717895508, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_2deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R2", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R2/attempt_001/metrics.json" + ], + "PSNR": 19.607765197753906, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_2deg", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R2", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/outputs/SV100-R2/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R2/attempt_001/metrics.json" + ], + "PSNR": 19.696561813354492, + "expected_PSNR": null, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_2deg", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": false, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R5", + "method": "fixed", + "config": "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/outputs/lego_sv100_rnoise_5deg/vanilla-nerf/2026-10-01_130748/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/SV100-R5/metrics.json" + ], + "PSNR": 12.007059097290039, + "expected_PSNR": 12.007, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_5deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R5", + "method": "naive", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/naive/SV100-R5/attempt_001/metrics.json" + ], + "PSNR": 17.4700870513916, + "expected_PSNR": 17.47, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_5deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R5", + "method": "camp", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100/experiments/camp/SV100-R5/attempt_001/metrics.json" + ], + "PSNR": 15.084413528442383, + "expected_PSNR": 15.084, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_5deg", + "warmup_steps": 0, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R5", + "method": "naive_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-naive/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/naive/SV100-R5/attempt_001/metrics.json" + ], + "PSNR": 18.333772659301758, + "expected_PSNR": 18.334, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_5deg", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + }, + { + "condition": "SV100-R5", + "method": "camp_warmup", + "config": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/config.yml", + "checkpoint": "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/outputs/SV100-R5/poseguard-camp/run/nerfstudio_models/step-000029999.ckpt", + "metrics": [ + "/root/workspace/poseguard-nerf/results/poseopt_sv100_warmup2500/experiments/camp/SV100-R5/attempt_001/metrics.json" + ], + "PSNR": 16.24745750427246, + "expected_PSNR": 16.247, + "verification_passed": true, + "data": "/root/workspace/data/nerf_synthetic/lego_sv100_rnoise_5deg", + "warmup_steps": 2500, + "seed": "42", + "steps": "30000", + "reference_psnr_checked": true, + "identification_unique": true, + "data_split_counts": { + "train": 100, + "val": 100, + "test": 200 + } + } + ] +} diff --git a/artifacts/records/showcase/server_scripts/complete_delivery.py b/artifacts/records/showcase/server_scripts/complete_delivery.py new file mode 100644 index 0000000..563602f --- /dev/null +++ b/artifacts/records/showcase/server_scripts/complete_delivery.py @@ -0,0 +1 @@ +raise SystemExit('Disabled: invoke scripts/run_gate.sh A, B or C separately.') diff --git a/artifacts/records/showcase/server_scripts/encode_videos.py b/artifacts/records/showcase/server_scripts/encode_videos.py new file mode 100644 index 0000000..bb98617 --- /dev/null +++ b/artifacts/records/showcase/server_scripts/encode_videos.py @@ -0,0 +1,38 @@ +"""Encode native 400x400 PNG frames at 30 fps using local PyAV/libx264.""" +import json,sys +from pathlib import Path +from fractions import Fraction +import av,numpy as np +from PIL import Image,ImageDraw,ImageFont +D=Path(__file__).resolve().parents[1];V=D/'videos';records=[] +command='PYTHONDONTWRITEBYTECODE=1 /root/miniconda3/bin/python '+str(Path(__file__)) +fontpaths=list(Path('/usr/share/fonts').rglob('DejaVuSans.ttf'));font=ImageFont.truetype(str(fontpaths[0]),18) if fontpaths else ImageFont.load_default() +def encode(name,images,sources): + p=V/(name+'.mp4');container=av.open(str(p),'w');s=container.add_stream('libx264',rate=30);s.width=images[0].width;s.height=images[0].height;s.pix_fmt='yuv420p';s.options={'crf':'18','preset':'medium'} + for i,im in enumerate(images): + frame=av.VideoFrame.from_image(im);frame.pts=i;frame.time_base=Fraction(1,30) + for packet in s.encode(frame):container.mux(packet) + for packet in s.encode():container.mux(packet) + container.close() + with av.open(str(p)) as check: + stream=check.streams.video[0];n=sum(1 for f in check.decode(video=0));assert n==200 and stream.codec_context.name=='h264' and stream.pix_fmt=='yuv420p';info=dict(frames=n,width=stream.width,height=stream.height,fps=str(stream.average_rate),codec=stream.codec_context.name,pix_fmt=stream.pix_fmt) + records.append(dict(file=str(p.relative_to(D)),kind='video',sources=sources,crf=18,fps=30,validation=info,generation_command=command)) + if name=='side_by_side_T5':return + gif=V/(name+'.gif');small=[] + for i in range(0,200,3): + im=images[i].copy();im.thumbnail((400,400));small.append(im.convert('P',palette=Image.ADAPTIVE,colors=128)) + small[0].save(gif,save_all=True,append_images=small[1:],duration=[100]*66+[67],loop=0,optimize=True,disposal=2) + assert gif.stat().st_size<8_000_000 + records.append(dict(file=str(gif.relative_to(D)),kind='gif',sources=sources,width=small[0].width,frames=len(small),bytes=gif.stat().st_size,sampled_indices=list(range(0,200,3)),generation_command=command)) + print(name,info,'GIF bytes',gif.stat().st_size,flush=True) +loaded={} +for name in ['SV100-GT_fixed_raw','SV100-GT_naive_warmup_aligned','SV100-T5_fixed_raw','SV100-T5_naive_warmup_raw']: + paths=sorted((V/'frames'/name).glob('view_*.png'));assert len(paths)==200 + images=[Image.open(p).convert('RGB') for p in paths];assert all(im.size==(400,400) for im in images) + encode(name,images,[str(p.relative_to(D)) for p in paths]) + if name.startswith('SV100-T5'):loaded[name]=images +sides=[] +for left,right in zip(loaded['SV100-T5_fixed_raw'],loaded['SV100-T5_naive_warmup_raw']): + im=Image.new('RGB',(800,432),'white');im.paste(left,(0,32));im.paste(right,(400,32));draw=ImageDraw.Draw(im);draw.rectangle((0,0,799,31),fill='#20252b');draw.text((12,5),'T5 / fixed (raw)',font=font,fill='white');draw.text((412,5),'T5 / naive_warmup (raw)',font=font,fill='white');sides.append(im) +encode('side_by_side_T5',sides,['videos/SV100-T5_fixed_raw.mp4','videos/SV100-T5_naive_warmup_raw.mp4']) +(V/'encoding_summary.json').write_text(json.dumps(records,indent=2)+'\n') diff --git a/artifacts/records/showcase/server_scripts/export_curves.py b/artifacts/records/showcase/server_scripts/export_curves.py new file mode 100644 index 0000000..f3e1f6f --- /dev/null +++ b/artifacts/records/showcase/server_scripts/export_curves.py @@ -0,0 +1,34 @@ +"""Export every available TensorBoard scalar; never copy event files.""" +import os,json,csv,shutil,hashlib +from pathlib import Path +os.environ['CUDA_VISIBLE_DEVICES']='' +os.environ['PYTHONDONTWRITEBYTECODE']='1' +from tensorboard.backend.event_processing.event_accumulator import EventAccumulator +from tensorboard.util import tensor_util +D=Path(__file__).resolve().parents[1];runs=json.loads((D/'inventory.json').read_text())['runs'];out=D/'curves';(out/'diagnostics').mkdir(parents=True,exist_ok=True) +summary=[] +with (out/'tb_scalars.csv').open('w',newline='') as f: + w=csv.writer(f);w.writerow(['condition','method','tag','step','value']) + for r in runs: + run=Path(r['config']).parent;files=list(run.glob('*tfevents*'));tags={};count=0 + if files: + acc=EventAccumulator(str(run),size_guidance={'scalars':0,'tensors':0},purge_orphaned_data=False);acc.Reload() + for tag in acc.Tags()['scalars']: + vals=acc.Scalars(tag);tags[tag]=len(vals) + for v in vals:w.writerow([r['condition'],r['method'],tag,v.step,v.value]);count+=1 + for tag in acc.Tags().get('tensors',[]): + for v in acc.Tensors(tag): + arr=tensor_util.make_ndarray(v.tensor_proto) + if arr.size==1 and arr.dtype.kind in 'biuf': + w.writerow([r['condition'],r['method'],tag,v.step,float(arr.reshape(-1)[0])]);count+=1;tags[tag]=tags.get(tag,0)+1 + diagnostics=[] + if r['method']!='fixed': + attempt=next((p for p in run.parents if p.name.startswith('attempt_')),None) + if attempt: + src=attempt/'diagnostics.jsonl' + if src.exists(): + dst=out/'diagnostics'/('%s_%s.jsonl'%(r['method'],r['condition']));shutil.copyfile(str(src),str(dst));diagnostics=[dict(source=str(src),output=str(dst.relative_to(D)),sha256=hashlib.sha256(dst.read_bytes()).hexdigest())] + summary.append(dict(condition=r['condition'],method=r['method'],config=r['config'],checkpoint=r['checkpoint'],events=[str(p) for p in files],rows=count,tags=tags,diagnostics=diagnostics)) + print(r['condition'],r['method'],count,len(tags),flush=True) +(out/'export_summary.json').write_text(json.dumps(summary,indent=2)+'\n') +print('TOTAL',sum(r['rows'] for r in summary),'DIAGNOSTICS',sum(len(r['diagnostics']) for r in summary)) diff --git a/artifacts/records/showcase/server_scripts/finalize.py b/artifacts/records/showcase/server_scripts/finalize.py new file mode 100644 index 0000000..d296fc1 --- /dev/null +++ b/artifacts/records/showcase/server_scripts/finalize.py @@ -0,0 +1 @@ +raise SystemExit('Use bash scripts/run_gate.sh C; legacy packaging disabled.') diff --git a/artifacts/records/showcase/server_scripts/gates.py b/artifacts/records/showcase/server_scripts/gates.py new file mode 100644 index 0000000..066c430 --- /dev/null +++ b/artifacts/records/showcase/server_scripts/gates.py @@ -0,0 +1,128 @@ +"""Independent delivery gates. Never invokes the next gate.""" +import os,sys,json,time,subprocess,shutil,hashlib,tarfile,csv,traceback +from pathlib import Path +from fractions import Fraction +import numpy as np +from PIL import Image,ImageDraw,ImageFont +from resume_io import atomic_json,png,valid,records,lock +D=Path(__file__).resolve().parents[1];G=D/'gates';G.mkdir(exist_ok=True) +SEQS=[('SV100-GT','fixed','raw'),('SV100-GT','naive_warmup','aligned'),('SV100-T5','fixed','raw'),('SV100-T5','naive_warmup','raw')] +checks=[];details={};fd=None +FONT=ImageFont.truetype('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf',14) if Path('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf').exists() else ImageFont.load_default() +def check(name,ok,detail=None): + checks.append(dict(name=name,passed=bool(ok),detail=detail)) + if not ok:raise RuntimeError(name+': '+str(detail)) +def run(script,args=[]): + env=os.environ.copy();env['PYTHONDONTWRITEBYTECODE']='1';env['POSEGUARD_LOCK_FD']=str(fd) + subprocess.run([sys.executable,str(D/'scripts'/script)]+args,env=env,pass_fds=(fd,),check=True) +def prereq(g):check('Gate '+g+' PASSED',(G/(g+'.json')).exists() and json.loads((G/(g+'.json')).read_text())['status']=='PASSED') +def audit_frames(): + rs={r['file']:r for r in records()};video=[];sizes=0 + for c,m,mode in SEQS: + name='_'.join((c,m,mode));folder=D/'videos/frames'/name;ps=sorted(folder.glob('*.png')) + check(name+' count and indices',set(p.name for p in ps)=={'view_%03d.png'%i for i in range(200)},len(ps)) + scale=json.loads((D.parent/'delivery_ref/alignment_full'/m/'SV100-GT/alignment.json').read_text())['scale'] if mode=='aligned' else 1 + for i in range(200): + p=folder/('view_%03d.png'%i);check(name+' frame '+str(i)+' readable/size',valid(p,(400,400))) + arr=np.asarray(Image.open(p));check(name+' frame '+str(i)+' content',np.isfinite(arr).all() and not np.all(arr==255) and not np.all(arr==0)) + r=rs.get(str(p.relative_to(D)));check(name+' frame '+str(i)+' metrics',r is not None and r['video'] and r['width']==400 and r['height']==400 and all(np.isfinite(r['metrics'][k]) for k in ['psnr','ssim','lpips'])) + check(name+' frame '+str(i)+' effective bounds',r['near_effective']==0 and abs(r['far_effective']-6*scale)<1e-10 and r['reset_near_plane']) + video.append(r);sizes+=p.stat().st_size + atomic_json(G/'A_metrics_400.json',dict(resolution=[400,400],comparison_with_800_metrics=False,note='400x400 metrics are independent; not compared against 800x800 references. PNG cannot encode floating NaN; decoded pixels and metric finiteness checked.',frames=video)) + return sizes + +def A(): + old=records();lookup={r['file']:r for r in old} + for c,m,mode in SEQS: + folder=D/'videos/frames'/('_'.join((c,m,mode))) + if all(valid(folder/('view_%03d.png'%i),(400,400)) and str((folder/('view_%03d.png'%i)).relative_to(D)) in lookup for i in range(200)): + print('REUSE COMPLETE',folder.name,flush=True);continue + run('render.py',['--condition',c,'--method',m,'--mode',mode,'--video']) + details['frame_bytes']=audit_frames() + canvas=Image.new('RGB',(1600,920),'white');draw=ImageDraw.Draw(canvas) + for row,(c,m,mode) in enumerate(SEQS): + name='_'.join((c,m,mode));draw.text((5,row*230+2),name,font=FONT,fill='black') + for col,i in enumerate(range(0,200,25)): + with Image.open(D/'videos/frames'/name/('view_%03d.png'%i)) as im:canvas.paste(im.resize((200,200)),(col*200,row*230+30)) + draw.text((col*200+4,row*230+16),str(i),fill='black') + png(canvas,G/'A_contact_sheet.png');check('contact sheet <=1600px',canvas.width<=1600) + +def B(): + prereq('A');probe=shutil.which('ffprobe');check('ffprobe available',probe is not None,'Required ffprobe not found; no installation or substitute attempted.') + details['frame_bytes']=audit_frames();details['exclude_frames_from_archive']=details['frame_bytes']>300_000_000 + run('encode_videos.py') + names=['_'.join(s) for s in SEQS]+['side_by_side_T5'] + for name in names: + p=D/'videos'/(name+'.mp4');j=json.loads(subprocess.check_output([probe,'-v','error','-count_frames','-select_streams','v:0','-show_entries','stream=codec_name,pix_fmt,avg_frame_rate,nb_read_frames,duration:format=duration','-of','json',str(p)],text=True));s=j['streams'][0];duration=float(s.get('duration',j['format']['duration'])) + check(name+' ffprobe',s['codec_name']=='h264' and s['pix_fmt']=='yuv420p' and Fraction(s['avg_frame_rate'])==30 and int(s['nb_read_frames'])==200 and abs(duration-200/30)<.05,j) + if name!='side_by_side_T5': + p=D/'videos'/(name+'.gif') + with Image.open(p) as im:check(name+' GIF',im.width<=400 and p.stat().st_size<8_000_000,dict(width=im.width,bytes=p.stat().st_size)) + import av + with av.open(str(D/'videos/side_by_side_T5.mp4')) as container: + for idx,frame in enumerate(container.decode(video=0)): + if idx in [0,100]: + im=frame.to_image();png(im,G/('B_preview_%03d.png'%idx));arr=np.asarray(im) + check('top labels frame '+str(idx),all(np.count_nonzero(np.all(arr[:32,x:x+400,:]>180,axis=-1))>30 for x in [0,400]),'Both label regions contain bright text on dark top strip; preview retained for human inspection.') + +def sha(p): + h=hashlib.sha256() + with p.open('rb') as f: + for b in iter(lambda:f.read(8388608),b''):h.update(b) + return h.hexdigest() +def C(): + prereq('A');prereq('B');run('export_curves.py') + inv=json.loads((D/'inventory.json').read_text());runs=inv['runs'];found=sum(bool(r.get('checkpoint')) for r in runs);summary=json.loads((D/'curves/export_summary.json').read_text());tags={} + for r in summary: + for tag,n in r['tags'].items():tags[tag]=tags.get(tag,0)+n + check('all found runs exported',all(r['rows']>0 for r in summary));details.update(found_runs=found,missing_runs=len(runs)-found,tag_rows=tags) + rs=records();rawchecks=[json.loads(p.read_text()) for p in (D/'checks').glob('*.json')];delta=max(r['delta_dB'] for r in rawchecks) + exclusion=json.loads((G/'B.json').read_text())['details']['exclude_frames_from_archive'];details['exclude_frames_from_archive']=exclusion + lines=['# PoseGuard-NeRF delivery','',f'找到 {found} 个run;缺失 {len(runs)-found} 个。核心15个PSNR及两个参考checkpoint哈希已通过。','P0/P1:96张800×800渲染、96张误差图、16张GT;视角0、50、100、175(175展示斜侧机械细节)。','P2:4段200帧400×400视频、4个GIF和带标签的T5并排MP4。P3标量与36份diagnostics;P4见checkpoints_index.json。','raw均值检查最大偏差为 %.1f dB(精确 %.9f dB)。raw检查主要只做均值级比对,没有原始raw全分辨率逐图记录可供核对;例外是GT/fixed另用历史恒等对齐逐图指标核对过4张图,偏差0。不能把均值检查当成0.05 dB逐图验证。'%(delta,delta),'四种aligned方法的16张800×800图严格核对历史逐图指标,最大偏差0 dB;400×400指标单独记录,不与800×800比较。','raw实际near=0、far=6;aligned调用原transform_poses,实际near=0、far=6×scale,reset_near_plane=true。白背景,rgb_fine。误差图为未量化RGB每像素L2,turbo [0,0.3]。','目录差异:outputs及poseopt_sv100、部分warmup attempt通过软链接指向/root/autodl-tmp;fixed/T1为lego_tnoise_1pct;aligned progress实际在results/alignment_gt_full。','原代码、实验输出、checkpoint、数据及event文件未修改;没有新训练。','逐帧PNG超过300MB,已从压缩包排除但保留服务器原文件。' if exclusion else '逐帧PNG未超过300MB,已纳入压缩包。','各关耗时和验收见gates/A.json、B.json及C.json;关卡不会自动衔接。','包路径、大小、SHA256见包外gates/C.md及archive_receipt.json;哈希无法自包含于其所校验的压缩包。','','## CSV标签行数','','| tag | rows |','|---|---:|']+[f'| {k} | {n} |' for k,n in sorted(tags.items())] + lines+=['','## P0/P1 PSNR','','| condition | method | mode | view | PSNR |','|---|---|---|---:|---:|']+[f"| {r['condition']} | {r['method']} | {r['mode']} | {r['view']} | {r['metrics']['psnr']:.6f} |" for r in rs if not r['video']] + (D/'README.md').write_text('\n'.join(lines)+'\n') + files={} + for r in rs: + for key,kind in [('file','render'),('error_file','error_map'),('gt_file','ground_truth')]: + if r.get(key):files[r[key]]=dict(r,kind=kind) + for r in summary: + for x in r['diagnostics']:files[x['output']]=dict(x,kind='diagnostics',condition=r['condition'],method=r['method'],checkpoint=r['checkpoint']) + for r in json.loads((D/'videos/encoding_summary.json').read_text()):files[r['file']]=r + files['curves/tb_scalars.csv']=dict(sources=summary,tag_rows=tags,generation_command='scripts/run_gate.sh C') + excluded=['runtime_cache/','logs/','gates/C.json','gates/C.md','archive_receipt.json','*.tar.gz','manifest.json','.render.lock','completion.log','finalize.log'] + def include(rel):return not any(rel==x or (x.endswith('/') and rel.startswith(x)) for x in excluded) and not rel.endswith(('.tmp','.tar.gz')) and not (exclusion and rel.startswith('videos/frames/')) + for p in D.rglob('*'): + rel=str(p.relative_to(D)) + if p.is_file() and include(rel):files.setdefault(rel,dict(kind='supporting_file',generation_command='scripts/run_gate.sh C'));files[rel].update(bytes=p.stat().st_size,sha256=sha(p),included_in_archive=True) + for rel,v in files.items():v['included_in_archive']=include(rel) + atomic_json(D/'manifest.json',dict(files=files,error_map=dict(range=[0,.3],colormap='turbo'),excluded=excluded,raw_mean_max_delta_dB=delta)) + archive=D.parent/'delivery_20261014_final.tar.gz';tmp=D/'delivery_20261014_final.tar.gz.tmp' + tar_args=['tar','-czf',str(tmp),'--exclude=*.tar.gz','--exclude=*.tmp'] + for rel in excluded: + if rel not in ['manifest.json','*.tar.gz']:tar_args.append('--exclude='+D.name+'/'+rel.rstrip('/')) + if exclusion:tar_args.append('--exclude='+D.name+'/videos/frames') + # Create the excluded output before tar snapshots the source directory metadata. + tmp.touch(exist_ok=True) + subprocess.run(tar_args+['--',D.name+'/'],cwd=D.parent,check=True) + with tarfile.open(tmp,'r:gz') as t: + members=t.getmembers();file_count=sum(m.isfile() for m in members) + check('archive readable, no checkpoints/events',all(not m.name.endswith('.ckpt') and 'tfevents' not in m.name for m in members)) + check('archive contains no tar.gz',all(not m.name.endswith('.tar.gz') for m in members)) + os.replace(tmp,archive) + receipt=dict(path=str(archive),bytes=archive.stat().st_size,sha256=sha(archive),file_count=file_count);atomic_json(D/'archive_receipt.json',receipt);details['archive']=receipt + +def main(): + global fd + gate=sys.argv[1] if len(sys.argv)==2 else '';assert gate in ['A','B','C'],'Usage: run_gate.sh A|B|C' + start=time.time();status='FAILED';error=None + try: + fd=lock();os.set_inheritable(fd,True) + gpu=subprocess.check_output(['nvidia-smi','--query-compute-apps=pid,process_name','--format=csv,noheader'],text=True).strip();check('GPU idle at startup',not gpu,gpu or 'No compute process') + globals()[gate]();status='PASSED' + except BaseException as e:error=str(e);traceback.print_exc() + result=dict(gate=gate,status=status,checks=checks,details=details,error=error,elapsed_seconds=time.time()-start) + atomic_json(G/(gate+'.json'),result) + report=['# Gate '+gate,status,'Elapsed seconds: %.2f'%result['elapsed_seconds'],'', 'Error: '+str(error) if error else 'All checks passed.','',json.dumps(details,indent=2,ensure_ascii=False),'','| Check | Passed |','|---|---|']+[f"| {x['name']} | {x['passed']} |" for x in checks] + (G/(gate+'.md')).write_text('\n'.join(report)+'\n');print(gate,status,flush=True) + return 0 if status=='PASSED' else 1 +if __name__=='__main__':sys.exit(main()) diff --git a/artifacts/records/showcase/server_scripts/inventory.py b/artifacts/records/showcase/server_scripts/inventory.py new file mode 100644 index 0000000..f926bcb --- /dev/null +++ b/artifacts/records/showcase/server_scripts/inventory.py @@ -0,0 +1,56 @@ +import os,json,re,hashlib,time +from pathlib import Path +import yaml +ROOT=Path('/root/workspace/poseguard-nerf'); OUT=ROOT/'delivery_20261014' +def parse(node): + if isinstance(node,yaml.MappingNode): return {k.value:parse(v) for k,v in node.value} + if isinstance(node,yaml.SequenceNode): + vals=[parse(x) for x in node.value] + return str(Path(*vals)) if 'pathlib' in node.tag else vals + return node.value +expected={'SV100-GT':[27.117,17.909,19.900,22.707,21.076],'SV100-T5':[14.145,17.534,19.717,22.681,18.731],'SV100-R5':[12.007,17.470,15.084,18.334,16.247]} +methods=['fixed','naive','camp','naive_warmup','camp_warmup']; candidates=[] +metrics={} +for base in [ROOT/'results']: + for directory,dirs,files in os.walk(str(base),followlinks=True): + if 'metrics.json' in files: + p=Path(directory)/'metrics.json' + try: + m=json.loads(p.read_text()); ck=Path(m['checkpoint']); ck=ck if ck.is_absolute() else ROOT/ck + metrics.setdefault(str(ck.resolve()),[]).append((p,m)) + except (KeyError,ValueError): pass +for base in [ROOT/'outputs',ROOT/'results']: + for directory,dirs,files in os.walk(str(base),followlinks=True): + if 'step-000029999.ckpt' not in files: continue + ck=Path(directory)/'step-000029999.ckpt'; cfg=ck.parent.parent/'config.yml' + if not cfg.exists(): continue + c=parse(yaml.compose(cfg.read_text())); name=c['method_name'] + if name not in ['vanilla-nerf','poseguard-naive','poseguard-camp']: continue + dm=c['pipeline']['datamanager']; data=c.get('data') if c.get('data') not in [None,'null'] else (dm.get('data') if dm.get('data') not in [None,'null'] else dm['dataparser']['data']); d=Path(data).name + if d in ['lego','lego_sv100']: cond='SV100-GT' + else: + match=re.search(r'([tr])noise_(\d+(?:p\d+)?)(?:pct|deg)',d) + if not match: continue + cond='SV100-'+match[1].upper()+match[2].replace('p','.') + warm=0 if name=='vanilla-nerf' else int(c['optimizers']['camera_opt']['scheduler']['warmup_steps']) + method='fixed' if name=='vanilla-nerf' else name.replace('poseguard-','')+('_warmup' if warm==2500 else '') + mm=metrics.get(str(ck.resolve()),[]) + psnrs=[float(m['results']['fine_psnr']) for p,m in mm] + exp=expected.get(cond,[None]*5)[methods.index(method)] + passed=bool(mm) and len(set(psnrs))==1 and (exp is None or abs(psnrs[0]-exp)<=.01) and warm in [0,2500] + candidates.append(dict(condition=cond,method=method,config=str(cfg),checkpoint=str(ck),metrics=[str(p) for p,m in mm],PSNR=psnrs[0] if mm else None,expected_PSNR=exp,verification_passed=passed,data=data,warmup_steps=warm,seed=c['machine']['seed'],steps=c['max_num_iterations'])) +rows=[] +for cond in ['SV100-GT']+['SV100-'+x+y for x in 'TR' for y in ['0.5','1','2','5']]: + for method in methods: + hits=[r for r in candidates if r['condition']==cond and r['method']==method] + if len(hits)==1: rows.append(hits[0]) + else: rows.append(dict(condition=cond,method=method,verification_passed=False,status='missing' if not hits else 'ambiguous',candidates=hits)) +for r in rows: + if 'checkpoint' in r and (r['condition'],r['method']) in [('SV100-GT','fixed'),('SV100-T5','fixed')]: + h=hashlib.sha256(Path(r['checkpoint']).read_bytes()).hexdigest(); r['sha256']=h + target={'SV100-GT':'c3d47101d4df1e2039ba3aa1667a7c1c98c7d12fb2e1b5d89cb1b8d31c785a6e','SV100-T5':'89134af0a04380cea1744aa189003cc7a2b070a0ab636b2db8508254992b1795'}[r['condition']] + r['sha256_passed']=h==target; r['verification_passed'] &= h==target +ready=all(r['verification_passed'] for r in rows if r['condition'] in expected) +(OUT/'inventory.json').write_text(json.dumps(dict(render_gate_passed=ready,runs=rows),indent=2)+'\n') +for r in rows: print(r['condition'],r['method'],r.get('PSNR'),r['verification_passed'],r.get('status','')) +print('GATE',ready) diff --git a/artifacts/records/showcase/server_scripts/render.py b/artifacts/records/showcase/server_scripts/render.py new file mode 100644 index 0000000..8ec3bb7 --- /dev/null +++ b/artifacts/records/showcase/server_scripts/render.py @@ -0,0 +1,139 @@ +"""Inference only. Uses installed training environment and original transform_poses.""" +import os,sys,json,time,copy,argparse,subprocess +from pathlib import Path +ROOT=Path('/root/workspace/poseguard-nerf'); OUT=ROOT/'delivery_20261014' +os.environ['PYTHONDONTWRITEBYTECODE']='1' +os.environ['MPLCONFIGDIR']=str(OUT/'runtime_cache/matplotlib') +os.environ['NERFSTUDIO_METHOD_CONFIGS']='poseguard-naive=poseguard.methods:naive,poseguard-camp=poseguard.methods:camp' +sys.path.insert(0,str(ROOT));os.chdir(str(ROOT)) +import numpy as np +from resume_io import png, valid, records, save_record, lock + +def write_json(path,obj): + path.parent.mkdir(parents=True,exist_ok=True);path.write_text(json.dumps(obj,indent=2,allow_nan=False)+'\n') +def append(row): + with (OUT/'render_records.jsonl').open('a') as f:f.write(json.dumps(row,allow_nan=False)+'\n') +def safety(): + gpu=subprocess.check_output(['nvidia-smi','--query-compute-apps=pid,process_name','--format=csv,noheader'],text=True).strip() + if gpu:raise RuntimeError('GPU has running compute processes: '+gpu) + p=ROOT/'.sv100_pipeline.lock';s=p.stat();key='%02x:%02x:%d'%(os.major(s.st_dev),os.minor(s.st_dev),s.st_ino) + if key in Path('/proc/locks').read_text():raise RuntimeError('Pipeline lock occupied') + processes=subprocess.check_output(['ps','-eo','pid,args'],text=True) + for line in processes.splitlines(): + if any(x in line for x in ['ns-train ', 'ns-eval ', 'poseguard.worker train', 'poseguard.worker evaluate']): + raise RuntimeError('Training/evaluation process: '+line) + +def main(): + ap=argparse.ArgumentParser();ap.add_argument('--condition',required=True);ap.add_argument('--method',required=True);ap.add_argument('--mode',choices=['raw','aligned'],default='raw');ap.add_argument('--video',action='store_true');ap.add_argument('--benchmark',action='store_true');a=ap.parse_args() + lock_fd=lock();safety();start=time.time() + import torch + from PIL import Image + import matplotlib.cm as cm + from nerfstudio.utils.eval_utils import eval_setup + from nerfstudio.model_components.scene_colliders import NearFarCollider + from poseguard.alignment import transform_poses + inventory=json.loads((OUT/'inventory.json').read_text());assert inventory['render_gate_passed'] + job=next(r for r in inventory['runs'] if r['condition']==a.condition and r['method']==a.method) + assert job['verification_passed'] + def configure(c): + c.load_step=29999 + c.pipeline.datamanager.camera_res_scale_factor=.5 if a.video else 1. + return c + torch.manual_seed(42) + config,pipeline,checkpoint,step=eval_setup(Path(job['config']),test_mode='test',update_config_callback=configure) + assert checkpoint.resolve()==Path(job['checkpoint']).resolve() and step==29999 + pipeline.eval();model=pipeline.model + for p in model.parameters():p.requires_grad_(False) + assert isinstance(model.collider,NearFarCollider) + assert model.collider.reset_near_plane and model.collider.near_plane==2 and model.collider.far_plane==6 + assert model.config.background_color=='white' + loader=pipeline.datamanager.fixed_indices_eval_dataloader + assert len(loader.cameras)==200 + dp=copy.deepcopy(config.pipeline.datamanager.dataparser);dp.data=Path('/root/workspace/data/nerf_synthetic/lego') + gt=dp.setup().get_dataparser_outputs(split='test');gt.cameras.rescale_output_resolution(.5 if a.video else 1.) + np.testing.assert_allclose(loader.cameras.camera_to_worlds.cpu().numpy(),gt.cameras.camera_to_worlds.numpy(),atol=1e-6) + for key in ['fx','fy','cx','cy','width','height']: + np.testing.assert_allclose(getattr(loader.cameras,key).cpu().numpy(),getattr(gt.cameras,key).numpy(),atol=1e-6) + assert [p.name for p in loader.input_dataset.image_filenames]==[p.name for p in gt.image_filenames] + sim=None;reference={};refpath=None + if a.mode=='aligned': + assert a.condition=='SV100-GT' and a.method!='fixed' + sp=ROOT/'delivery_ref/alignment_full'/a.method/'SV100-GT/alignment.json';sim=json.loads(sp.read_text()) + original=json.loads((ROOT/'results/alignment_gt_full'/a.method/'alignment.json').read_text()) + for key in ['scale','rotation','translation']:np.testing.assert_allclose(sim[key],original[key],rtol=0,atol=1e-12) + if a.method=='naive':assert abs(sim['scale']-1.0108)<.0001 + near,far=model.collider.near_plane,model.collider.far_plane + model.collider.near_plane=near*sim['scale'];model.collider.far_plane=far*sim['scale'] + refpath=ROOT/'results/alignment_gt_full'/a.method/'progress.jsonl' + elif a.condition=='SV100-GT' and a.method=='fixed': + # Historical aligned fixed uses exactly identity Sim(3), hence is a raw reference. + ident=json.loads((ROOT/'results/alignment_gt_full/fixed/alignment.json').read_text()) + assert abs(ident['scale']-1)<1e-12;np.testing.assert_allclose(ident['rotation'],np.eye(3),atol=1e-12);np.testing.assert_allclose(ident['translation'],np.zeros(3),atol=1e-12) + refpath=ROOT/'results/alignment_gt_full/fixed/progress.jsonl' + if refpath: + result=json.loads((refpath.parent/'result.json').read_text());assert result['resolution']==1 and len(result['indices'])==200 + for row in map(json.loads,refpath.read_text().splitlines()): + if row['mode']=='aligned':reference[row['view']]=row + assert len(reference)==200 + indices=list(range(200)) if a.video else ([0] if a.benchmark else [0,50,100,175]) + previous=records() + command='PYTHONDONTWRITEBYTECODE=1 /root/miniconda3/bin/python '+str(Path(__file__))+' '+' '.join(sys.argv[1:]) + rows=[] + for idx in indices: + matching=[r for r in previous if r['condition']==a.condition and r['method']==a.method and r['mode']==a.mode and r['view']==idx and r['video']==a.video] + target_check=OUT/'videos/frames'/('%s_%s_%s'%(a.condition,a.method,a.mode))/('view_%03d.png'%idx) if a.video else OUT/'stills'/a.condition/a.method/('view_%03d_%s.png'%(idx,a.mode)) + image_ok=valid(target_check,(400,400) if a.video else (800,800)) + if image_ok and matching: + assert len(matching)==1;rows.append(matching[0]);continue + if target_check.exists() and not image_ok:target_check.unlink() + camera,batch=loader.get_camera(idx);current=copy.deepcopy(camera) + if sim: + pose=transform_poses(current.camera_to_worlds.cpu().numpy(),sim) + current.camera_to_worlds=torch.as_tensor(pose,dtype=current.camera_to_worlds.dtype,device=current.device) + torch.cuda.synchronize();tic=time.time() + with torch.no_grad(): + outputs=model.get_outputs_for_camera(current) + torch.cuda.synchronize();render_seconds=time.time()-tic + metrics,_=model.get_image_metrics_and_images(outputs,batch) + metrics={k:float(metrics['fine_'+k]) for k in ['psnr','ssim','lpips']} + pred=outputs['rgb_fine'].clamp(0,1).cpu().numpy() + truth=model.renderer_rgb.blend_background(batch['image'].to(model.device)).clamp(0,1).cpu().numpy() + assert all(np.isfinite(list(metrics.values()))) + assert np.isfinite(pred).all() and np.isfinite(truth).all() + check=None + if not a.video and idx in reference: + delta=abs(metrics['psnr']-reference[idx]['psnr']) + check=dict(type='per_view',source=str(refpath),reference_PSNR=reference[idx]['psnr'],delta_dB=delta,tolerance_dB=.05,passed=delta<=.05) + if delta>.05: + write_json(OUT/'STOP.json',dict(condition=a.condition,method=a.method,mode=a.mode,view=idx,metrics=metrics,check=check));raise RuntimeError('PSNR self-check failed: '+str(check)) + if not a.video and a.mode=='aligned': + raw=next(r for r in previous if r['condition']==a.condition and r['method']==a.method and r['mode']=='raw' and r['view']==idx and not r['video']) + if metrics['psnr']8*3600,include_T1=True)) + if not a.video and not a.benchmark and a.mode=='raw': + selected=[r['metrics']['psnr'] for r in rows if r['view'] in [0,50,100]];avg=float(np.mean(selected));historical=json.loads(Path(job['metrics'][0]).read_text())['results'];tol=max(3.,3*historical['fine_psnr_std']);delta=abs(avg-job['PSNR']) + summary=dict(condition=a.condition,method=a.method,mode='raw',views=[0,50,100],mean_psnr=avg,full_200_PSNR=job['PSNR'],delta_dB=delta,same_magnitude_criterion_dB=tol,passed=delta<=tol,per_view_reference_available=bool(reference)) + write_json(OUT/'checks'/('%s_%s_raw.json'%(a.condition,a.method)),summary) + if not summary['passed']:write_json(OUT/'STOP.json',summary);raise RuntimeError('Raw three-view mean far from historical full mean') + print('DONE',a.condition,a.method,a.mode,'elapsed',round(time.time()-start,2),flush=True) +if __name__=='__main__':main() diff --git a/artifacts/records/showcase/server_scripts/resume_io.py b/artifacts/records/showcase/server_scripts/resume_io.py new file mode 100644 index 0000000..e03d73f --- /dev/null +++ b/artifacts/records/showcase/server_scripts/resume_io.py @@ -0,0 +1,29 @@ +import json,os,fcntl +from pathlib import Path +from PIL import Image +D=Path(__file__).resolve().parents[1] +def atomic_json(p,obj): + p=Path(p);p.parent.mkdir(parents=True,exist_ok=True);t=p.with_name(p.name+'.tmp');t.write_text(json.dumps(obj,indent=2,allow_nan=False)+'\n');os.replace(t,p) +def png(im,p): + p=Path(p);p.parent.mkdir(parents=True,exist_ok=True);t=p.with_name(p.name+'.tmp');im.save(t,format='PNG');os.replace(t,p) +def valid(p,size): + try: + with Image.open(p) as im:im.load();return im.size==size and im.mode=='RGB' + except (OSError,ValueError):return False +def records(): + p=D/'render_records.jsonl';out={} + if p.exists(): + for line in p.read_text().splitlines(): + try:r=json.loads(line);out[r['file']]=r + except (ValueError,KeyError):continue + return list(out.values()) +def save_record(r): + # Record first: an interrupted PNG write can then be safely retried. + atomic_json(D/'frame_records'/Path(r['file']).parent.name/(Path(r['file']).stem+'.json'),r) + rows={v['file']:v for v in records()};rows[r['file']]=r + p=D/'render_records.jsonl';t=p.with_name(p.name+'.tmp');t.write_text(''.join(json.dumps(v,allow_nan=False)+'\n' for v in rows.values()));os.replace(t,p) +def lock(): + inherited=os.environ.get('POSEGUARD_LOCK_FD') + if inherited: + fd=int(inherited);assert os.fstat(fd).st_ino==(D/'.render.lock').stat().st_ino;return fd + fd=os.open(str(D/'.render.lock'),os.O_CREAT|os.O_RDWR,0o600);fcntl.flock(fd,fcntl.LOCK_EX|fcntl.LOCK_NB);return fd diff --git a/artifacts/records/showcase/server_scripts/run_gate.sh b/artifacts/records/showcase/server_scripts/run_gate.sh new file mode 100644 index 0000000..4463bfd --- /dev/null +++ b/artifacts/records/showcase/server_scripts/run_gate.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail +export PYTHONDONTWRITEBYTECODE=1 +DELIVERY_DIR="$(cd "$(dirname "$0")/.." && pwd)" +exec /root/miniconda3/bin/python "$DELIVERY_DIR/scripts/gates.py" "$@" diff --git a/artifacts/records/showcase/server_scripts/run_stages.py b/artifacts/records/showcase/server_scripts/run_stages.py new file mode 100644 index 0000000..7166820 --- /dev/null +++ b/artifacts/records/showcase/server_scripts/run_stages.py @@ -0,0 +1,28 @@ +"""Serial inference jobs; stop immediately on any failed self-check or worker error.""" +import os,sys,json,subprocess,time +from pathlib import Path +D=Path(__file__).resolve().parents[1];env=os.environ.copy();env['PYTHONDONTWRITEBYTECODE']='1' +(D/'logs').mkdir(exist_ok=True) +def run(condition,method,mode='raw',video=False): + label='_'.join([condition,method,mode,'video' if video else 'still']);cmd=[sys.executable,str(D/'scripts/render.py'),'--condition',condition,'--method',method,'--mode',mode]+(['--video'] if video else []) + print('START',label,flush=True) + with (D/'logs'/(label+'.log')).open('a') as f: + code=subprocess.call(cmd,stdout=f,stderr=subprocess.STDOUT,env=env) + if code:raise RuntimeError('STOP: failed '+label+'; see log') + print('DONE',label,flush=True) +if __name__=='__main__': + stage=sys.argv[1] + if (D/'STOP.json').exists():raise RuntimeError('STOP.json exists; review required') + methods=['fixed','naive','camp','naive_warmup','camp_warmup'] + if stage=='P0': + for m in methods: + run('SV100-GT',m) + if m!='fixed':run('SV100-GT',m,'aligned') + elif stage=='P1': + for c in ['SV100-T5','SV100-R5','SV100-T1']: + for m in methods:run(c,m) + elif stage=='P2': + if json.loads((D/'timing_estimate.json').read_text())['exceeds_8_hours']:raise RuntimeError('P2 skipped by 8-hour rule') + for c,m,mode in [('SV100-GT','fixed','raw'),('SV100-GT','naive_warmup','aligned'),('SV100-T5','fixed','raw'),('SV100-T5','naive_warmup','raw')]:run(c,m,mode,True) + else:raise ValueError(stage) + print(stage+' COMPLETE',flush=True) diff --git a/artifacts/records/showcase/server_scripts/save_report.py b/artifacts/records/showcase/server_scripts/save_report.py new file mode 100644 index 0000000..d296fc1 --- /dev/null +++ b/artifacts/records/showcase/server_scripts/save_report.py @@ -0,0 +1 @@ +raise SystemExit('Use bash scripts/run_gate.sh C; legacy packaging disabled.') diff --git a/artifacts/records/showcase/server_scripts/status.py b/artifacts/records/showcase/server_scripts/status.py new file mode 100644 index 0000000..f70e324 --- /dev/null +++ b/artifacts/records/showcase/server_scripts/status.py @@ -0,0 +1,11 @@ +import json +from pathlib import Path +D=Path(__file__).resolve().parents[1] +p=D/'render_records.jsonl';rows=[json.loads(x) for x in p.read_text().splitlines()] if p.exists() else [] +print('stills',sum(not r['video'] for r in rows),'video_frames',sum(r['video'] for r in rows)) +if rows: + r=rows[-1];print({k:r[k] for k in ['condition','method','mode','view','video','metrics']}) +for name in ['P0.log','P1.log','P2.log','completion.log']: + p=D/name + if p.exists():print(name,p.read_text().splitlines()[-2:]) +if (D/'STOP.json').exists():print('STOP', (D/'STOP.json').read_text()) diff --git a/artifacts/records/showcase/server_scripts/watch.py b/artifacts/records/showcase/server_scripts/watch.py new file mode 100644 index 0000000..4bede9e --- /dev/null +++ b/artifacts/records/showcase/server_scripts/watch.py @@ -0,0 +1,15 @@ +"""Read-only progress monitor for the delivery controller.""" +import json,time +from pathlib import Path +D=Path(__file__).resolve().parents[1] +while True: + rows=[json.loads(x) for x in (D/'render_records.jsonl').read_text().splitlines()] + videos=[r for r in rows if r['video']];r=rows[-1] + print(json.dumps(dict(stills=len(rows)-len(videos),video_frames=len(videos),condition=r['condition'],method=r['method'],mode=r['mode'],last_view=r['view'],video=r['video'],seconds=round(r['render_seconds'],3))),flush=True) + control=(D/'completion.log').read_text() + if (D/'STOP.json').exists() or 'Traceback' in control: + print('FAILED',control[-2000:],flush=True);break + if control.rstrip().endswith('COMPLETE'): + print('ALL COMPLETE',flush=True);break + if 'export_curves.py' in control and (D/'curves.log').exists():print('CURVES',(D/'curves.log').read_text().splitlines()[-2:],flush=True) + time.sleep(45) diff --git a/docs/assets/drift_over_training.png b/docs/assets/drift_over_training.png new file mode 100644 index 0000000000000000000000000000000000000000..61dd4813150618fbeba8c7326dd161dcb89cd76f GIT binary patch literal 89658 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
  • n(8qrYrM8dS@x|g5>K%R{M5bd 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%0Dkr%6A87*(F3 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%0DFcGXy-RF#L98*%W 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 z |dw9ZJq=}(ifn_ir$8$-vnN&m>8EjVA>Lf2KH^h`E_G}>b+;e#(X$Z0RB?sDp zQ?98c@o6&J`G2fnFM9nc@j(*@qwOk=+jvXW>O4SGs^Z-ft z3v)G3NY_n?)0c`)fzI6Zl?qk^pUxd!C_a751uM$DgpT5JZSFQQ;foDzuo5c;qLPq` z*7^a3@6LT;Q&YmIH=;-_ofT)+tm77y#VxWq%Ypa+cl4IoX%LQzLV2v$VIryKBJY8t zMVYECo_sv|Il+x}n3jpocniny3h(U&Ihs zD6p*l$*XKy#toVj-=FM?Fpuq%bW-Se^;JtXOrEmPN1Q0T(bCvSn`U#Oe6oRWWY|90 z-=R@wK7zd@z#Z{~;f=+sR^P>b%*^;a6PBwJH$wH-&`n@BfYQKwGZPaMY^DB*)H|E6 z5u0l71qlc}T*DGR<%qt>4c+FIMFy2i6DmVhz*$iS49=u3C@KKm7Zq?MP-W{k3UxjG zY(^+9#?YT!8lHKcr zCod)9iZ-WwEnrims0l#}Wh1o@PMcsq-n4ss9v!Im8Ba}kLit1_N8sNH3t0ZWyRwFo8?O^T! z@m$0pj9v*DDoHjcX3?Jb)<+mRJIwM%o`dRqG5h5o?;UEPO6uhs-ngFElyM+;RqDXO z8*461;`V$go5~N}vp;;|tmrAiC$52poJ|=8u8n$dM3q4da{!6>kSn}oGARjEW*iW< zL8d<@c^z$eoy)ll6>)<#WqP zc~RMk{8hFu&YdPl0kxuCRx$CIs&E74iANJLhM2@j_pw&z73bLZ7%>knXeG81*FZoe zc0^9>t=$Y^%@^S3XO1$N>^s`FkfSM3_ zk}!ok_k@iu`Cva0&>MPbNVII-ZIF_kVHYsO3GQhRcs-W674EwDurH&8)faOresU%^Vj(?2;nwn8iP~>Oz{;B#cp!gw zgAau59j|pTl-JKgISK3X?ypsy>~}YEoWVwKPnx~(OdAtf*+eebxg&hvZ}+8hoT3r?2OXtWIven>$HArAIh)u>9{;F_*3QCOX_vL`D?%F{4I9O4EPz4?Q zN7p+OG}7QeW`Z$DtQcb;b9!tf-b)jeU+A;%oeu0UtGth0K%^bnYS1=VK&6Q8nOZsy zSFDc~OPITz$+2pV?{<2j2^HLLl}<1 zcT*IJVz=e6)!~wV!`?eh`E4i>%{B%)n?R>;feq=%RA2@Z$J6TwTHXftAnw~F;h#Z{ zm^BR3=io<_d!=2T+@a-##lT@s0f4uEcc?OgYngFYv$*L}OZOhh&gz@{5zd&G>@mcErEX#w6pso#2N@dS? zVcgYPw*X@v_r1-2Nvy_bQqE!83(D(AyZ`R0N%VH}O$&g*--om3^=Bx*Z<}Q!b=FHm zup@S%jOFJEq*w!or*P7VS5_dAc*n*ncd6?-1-%dEWNO1Rwfmh>Y1J~g9K*4zrK)&T z52?QH%^lWQB|0*~3)!=O;HuL_$-#d6uqGb+!n4ZrqV6M%-K2EbzJ5*Ndn6uciJ?T* z$JXK(Q)Zshu^>~XGSTQQu{sE;N99_s?v~bwkQx1I!cS+n>(ZXyWG$T4Wq%#jy>zmR z>3A)!+SksF)sw}x>YTz=TRlV6*$*uZ)73TcazOE&*!BJdoG|lT?f@iK>$DL083ezu zE$coPG}_mW3{16j&V6-NbZc5xS|6vWZLCdc4Qim zTKzxlkpF{1QU=SOeO{CsQjSbc1}ibL#(K0j3295U^NcQSAYSS!0E=5-#zyQxdl8FlyleDKoQ;#xRH9g9j3(m!x|+~c*sOq6NKr$6brX#n^)nZ!385{% z){8y4QRbi_gvKAN2)#m!k2Dkq??QNnzvsHJQuX*_?*N z9xQ|G6#$qL(&RwpSvs!Lsz2P-OZSKs7(OWE%G{Xj;#vyZRmMA`bPAHfs|`a2*o`1fHe>mSBV_`jf-hfel(%D;g)tN6gJ2R z)?OnmXh27cwzkNR-v8{i4@5BqRCG1w7AQ+COQ=+*0z<}sOl*wtbW7$;0dsE+6*HmQp)gBC>ga)vdE25=Zat8o z%H+&-Cnq(YoroIe7uF%bY5ZQMC9?BD=@5b%n@x|rooOtVn@B$JXR!l+=TroY)%R4~ z{I!}c91i}=c;Y;r#ytU7KO)P0KPMJ(+RMXY9%uDo{eAT*V&9^E@U{?)^>?RV8oJ!V zzF1NK>7moF{C3GG*2o8v=z7}Qk#xtHRr_e^IWJG)~BhOhtX zDiFF3deij9=LH!YyTSk)yJqLd2=QNbe0>7|8LsyaI7OkLt^w+Z9!wMS0Za<=iqV3o z#UDOV9Q-H$>7qXG5ET66Wq}apej0;xVdtoW9hpe_q75v*863((sx$7q7w3tEQR~Sc zJ<2%B82W5<{r{{LxN-4q;^NkrGzV%yF05nC-lbrGC_-+l3Nuv(3ObIUxmqTVC6vEJ zOqs6*Z`gJ`H~MtX=s-0%p@K)^6*3{kP{z#nCMR}~D8-N$Mlw%Opu$UabF$kL-XvTf2Hc6fN!TMQT7Ao$ zMKD8J@gR+h)o4Dkch5CZX#C7^{FH`H2(Bu9iLXj z3dTnbSn~FBPKPvvPlK3+1yJFNU%?iP$iM=uL#3FcoHK(Iu09yOnnOa(&nyY1jKN8M zAiT8EM(FirTr{+E0ZP+_XT*gFBanDBcaMo;+W6Co%Pd3V)gqMt{-c@~D^Q*ZCJFsX z*fi^QMG$R6@7;M-@R7s2kK0*p3;3d;B+%ESBJ9(taq8;D5H~aPZua)w$}J!?F*|fd z7I7jiGE*X#fdgTIEI$zTv=oj*=f@#W6j8&7wC1isgF?nCm}%>4pU)^oMQzAX;h&!+ z*ALE(8(%Als6RgCq=f^!JAs!xFWaL3?+UqW*EBdBphuuGcZrIZ0?0@<`7^tjM8vNV z#>2pzsyVQnh=CYcKI+XZnVfh~qZ!I^)X#N9y1rMqa%OmRA^pZYP{hz3o=9P5Y;TR6 z$`fJT7x$hALv?7_Dr6)JpI;<*5FP2AZJFr36{PNMfTavIXh9=x^^0pQT5I$VdIRLu zf8yk!d1!M>(+(mY2>HXfeOaPhClY0Bw^u zEVvy71bupcHa&nwPf@M3GbR3sLrrjv3Z}O+mStni62g_9E|W5BCxeRPob!>JPO*Qq zhuJXwD3s|T&?a!k2Q{Xyfx{QUr|F%c=Jl{FX1l0lV{%~Wc-W) z18?wT?TM^)#J#jYp_oj@yyDO3S73I!Q4bD`JMr(G$7yz`w@zDr_6evZch8U24PY;> zGqOe+a{rI6Yf#awMmyr zbQFI7W0wz=1Dao`miv#i)KyCMrz0cipJ2`)?rPirx`23hCSLT$n4uv|4>hWurawab zj^C32=iJf8xL5GX!G|i&3iS0mX-oN((_2V3pZiDc`U5 z2Qyk`MTypctV)7@QhH{;?`FaEx? z=H&kPR-`Y3tV=9&HV(f+)HZ`wsa-Q60D@d0DjO3N&jP!mE0MeoRT zXw$2r$sz|5^rkOL@hCV8##5%H-cIh@4;{wFXV?!mm7*9rq`eHw;lk+px2p+j@QUVY zhPpU~D{A1iJLecFz=(fypAme+A05WDy3Zu|EURa!a44=iFSpsR5R=6m_qZz!eR?<|G!OcwoX}1>ZBaLLZgLBH<}o+Zmn6~ zY?osM7WZM1sI?eQ4v8&;UcARWm!Yys0>SH~GH9p*gzAzs20~g|X1@q2PkIFh?2UAI zTxVBG66XUBkMc%N$f>uVM^SwKKdeEmBnLbMB5`6x+B^(kc!1Y>)Fe9z!(ob9`XaTs zU4WGpW_4|5{~{f#wvmsT{_xlxHIJ#!2v`SJHOyS`&?-%p8EtoZWypZ4Dx5tGE#Mpy zMVdsehKrjcg-Z8wKri6^ti$8q{M6KD*vg|Uhx@>4O(h1M%ANjXq2 ztB3TXU~DWGlm~MFSfM3W<4@>~h{oVG=5)#vMj$2M{nsC3n$K_8s0}^qo_P<$!I(^1 z@`_uwT2zp_?kfLV#EdqMCvyb4_Td2i=3}Bub86w*V?WpVJrbgfryXj<1liOgR5~cI zl0n3@B0?7cZB8C-z940FE1hx3Q)aP~N>nQJ?!<80ba`;~SIB*HLwSw|P<9iPKDJhy|*e{epK{8WD`0AF_|&^?+C zaddLiXR0BF$P|GA`-48u)A@5PnC`P`!f&024f03?)yEnUY*N$B8%#o}f;B}fNj%Sj zHVIGgypgV{?4L7m(S+gL=tPz8je+P$STtXDU#d9o?Dk(Utt4c-xI^OaxiAb1|9@M)ZlKa}-WyB;=VZV#Ys&TQ97! za8hSrl)Qd;?kQp}bkZidLDDLS=Ef+~6H5jBe1YgQd;DB76J*ssi@qqs3)!_7D?exV zT(F*S(IaP*;zP2ZNa~@M2FfJIE<*%p+_6$Ji%pj$n*!AJFjKNPHg|YKP39R~Wtp{H z{9-{`GHyF95|s?<#IL(-YBGu7TEK%b>AY`a*bF28-<&gjJjdR+G`f5aaHbI^U*M|tcmY4LkW{pCP*CK| zj{`cHjJE&8qh#?T6q@x!gW~r@=qMb@{&wauq1-rBNaZmZko_&&|0|6J;TFHTOPWI>EFv`_;bipeqPRgG%CQ$@s++;uw$)wi%OMWsyWFhRLq^#~m| ziAZn>dHET@mX8L?Ir{Q?Geo>xWe71SnHz$858NAlRJgzSCJDC14!B=d(C2nX9C%hr_(Or%MEFdO299LK*0Kecm6VUwLfKVoLUu9+RZn|T z8a)4v=x3IDkLqdvxG0jxk*qM`PQ_H7azQPMq#WBQ?R2pNhudk1B!j$PVrUtJI_hwUsXj;V+A-QFBLm(8kF#EiW(7hw#TVjO59Vw7h9M;9e5%q z!U~OPyzJl`6oo6_PNQWTZl+Od{-pPhF~h;c?RI*`o+L1V=X{7%)eshL#pL^6JSgVq z`rqQ#pZrx>c4c#?KfEtSt9PR=)BoZcnVvYAv9NuHITP*J98(sSoF@CXNPhrOt+<9+ z{vJp&WBcg;aoAzA=bKT?%0$&}c)@Pse=og+S8YlKy~8TE21)V{U)-{06x;EKB~X}A zRnsG4DkB2H$0jn$aHN#AQ7E>M5ASMyaXp`rsP*COsqEv3#aI(i1DgMe*65pjy36U+fl{YdqPm0>g`7%OjiZxDvaL(%+1yKZZQEC@ zeWnC;Y=sag)6a7>lD=?@12iNM9$jJV-gi*zIYO|i2U_>6CJRK3KmTLN#E5^It~=lVX27cR zuTr(p>yGBJ`^3zw9dp#M#5)_Mj&)f?@u&)1)+wHP#&k`EMVio^I2g05Fb(mU3^6AP zy1M^^3LFh!2UQY^$HQC$1}gvPnNn4jz;OC7ge)wEiovL^EQ*q380W~GDu$%Al13jw zZ&do7`Z?8XjTdb8ki}PBjL=1p5DUSBtP3W=#pGR@{+uz(-GRU;`-dltP^oJ^9+|O& zqdhgZr;?ZUU#4K?ZkpL8Bms-hcqQ_*0We>LR)caz*1*I^z9je1+cQ_#+8Sd8O9*R) zEF-Y(ot2&HX#DLl)zUzK=l~O!T=74#HnoGm10?K`uk@EK-uj}Q&qrI>Pj!gXxDbbH zomfPxL0LLt`jT*4+hIo+o>FiA!3gu5qPK{7&cMwy?|fwM1Btk70`JKl_T-3Kw2uPq zP5|2fXD|_Fk&sPcP_Cq?f{3{y8LpGQr4v`o6Ax2UhJ|u*E+0PZgZ_A7Ii>rAge-NiYKLVrW1DB3?-**O8SRtS8eia=UyJkf9e0d__eQ5+2- zE0*OfhIN%8$LU24ARCnb>ay1AJ-r?_eSvm%qJN5eaSZ0_^_jmhW$2j~YIIDB&&(=~P=#MJ5MqCD=@ zww*R~`%yhEaJd(Mt1OaOqS?rZ4>vCydy04P%%7cJRlJ>jPJ3@Tw|-m@4aF8J9(;lY_`G zIGOTcX|>u0A^mFHUT3>Y34$8TDeMTk+vBWFe)szJj!&_I1dIdYlL zK>6(qeQF44(m2{#LWcOU_c4K#65hKcIghkW;iEpgqf3z6g4G@50 zuT9gqp$J~C-o^80roXPCBS%{?RFIs+;NqSFLD~>8*6-o^yE{MLn#L;3Qr@0|v&AP8 z+Y^Ae;p=lcMvULmjc-1Am_9}Bbi*^nZo#`#auo)eK&W=_LT(G!-%fm*LQ(S=>BSM`HTOMxX2L2%jfjy>7A%rT{qKY!eL_$T0HP7r+;{HkHuzd(9t*l5FK6 z!E;;F{U`fdo*ADMR{nqMVJ{@73R8+j8Iu{Wh&QYAbUzTdof~1M zfP*-qp*1F)0t@L_7W|;OY4nG{USaOhl5t855GDNDhlVXzY?3X}jriBF`&`4Re%RM` zkV)?J_IZ(V9vS-y!v#fPVVkS&IUvx6dl+xOaH z+jJRviQ8Fze>&sod4Ud0YklOkXg)J=&dB*Ig7C$+9pUzK{veYv;);zI~zqyN^Hw}T9iB@E5*1)HIwt>vmU>O#U>l6vVs ze!;4({lP6R!~ZXQt+s3aP5!nYyy?geM@kl)pPB+=lGwPjujI&crwL!U7@=(-Xq$3! zNyVtxgMADJbsd~)G(#d9X^Kp9o^F536c0(*S)N$0Bfdn&yv+9RZVIJJ>%8bZ12a8Zf4JK5RA-}Hn<%oP9hb)D^ zS2N$}kG0v8HZ!xR9`W-MTahF^!75x6yXk7p<9VD0BmOQ>0H6D=@L|Yfg%9N7JfR!E zh!~z8kvHh%VilsT)!UX}C(~|VTkPtfG;jBRl<=Z*5G{C><^Z!2iF{=6Vxy2FNlYMy zsXBSLQE;YL&ycur5AkFVA**C831UUOVG``TgE#x}~Bs|tn({+~QgQg*RRwWVY`e`0)~X>OER zMRCax4)bDp(IupL(xQg7I-YUS@xF{avWVLa3-D53QmX-htqOv)GPE_9$0c!%`4-s8 zYVbf{*bIILT4CMj*Y=lOXy|(Q(2*m1O$(HE->HO)_AVk)upsCh&R|v2+&a!^^EqX@ z-G^!VkUOu)s4cOA7pAV}0G)GO0^BmwpQ`sIE^^HL9*SODkse8xDJt~^y`Aau zXQeULJt|H}&yqI2FACB#)9z7&`22`Rg6=2*>~HLE^-j=RntjLsx5ns0`(x2~R8jzo z^gZ>>+vsx#;}Tp#W@li;gqy==2FpPtIELRRx4a#^!{zjE)I090HfEUs#P7eC1fw`) zS@VWV&HO`?o9=mXDdj8UQ^(0vZ>s4eDut6XeB=MNH~rleV8-+lVeTKR(mv=F2EU>w z@e+G+Z@chR_W<^ZOxpyt1Lv=+#QdvlGvXJcP%uxo1{KA?maRffqFruxv;U zl9L+an0^RD?FGKMG@{Uu)&mP{k-R^qXeDF~=3`)d3DJ#w3=V}o#m)1#zn4$i%VP`S zPbmSp z_Hx*eEGnm5gjr)PUA?5{&c8iGZz$;F&OOe-`$S^}AFt%EWrTNRCD-BE081-Y5^wUo zD{cZdQ%V(hQ(#@1a607OiyB=Tj8;u9*GMMM{)WJ2MCm)`xd;oXH>nx0`eYSVxF*=* zEG_xN$#_0WX8E3IRT(0>)5mVHy@;~3E*U|wCF$s> zMaU3MwkSbd-Cv_{gj-B!4c&<(#6DJT$ac}`x5Qv=eB(#Jg>mN>ZA9{=C^`1+q@>An zX&I@qDrXO_x&@n|aK0LDqv#f;7>)qA7JNI7^ex#Xo3E%Gz>f?7TygJY5C8U4W0Th4Jw7$ZNp z*IBT%i=*ieINa+L9Zn=bAwz3i8+ zAlaYwcORlKZ-go<<2@G-ZRUNsrC2qPYadM0)ath|aSwHIw(HwdcRAj%*5Xx4Bz*@L4?UmO6 z&dYrrYU+kGT2g4JjHy?GipZX1Q;F?d&1!&Hu zsusz#yor4SpSWG6cn;4MckyfCg6q=!?6u*W%cCxBsPYLIR_;KM#^UXi(D(Xz0yZzK zYuKufRmQzLZNfPAgD9vOG)VoPDCI+*oIrTtGxIczp?uFH^j!>9?6|E7eHGC?ABU4e zq*mP=x3}Y)cYMcL<#F!bUt;#Y{oxx6-C3nIFaG>#Pg50&FT1dD zwa+Lqs1=_q`K;*N;`jBI3q~bEj*;IsXNLfy(cgb^Qk5g#4kYwp2nziXSe1;o_WP}N zk-I15@!QNp%_}UjFQ1bNFA?nRj15$>dLq#5>LZc^Q?m3SkxPl&_oKvZ5m+N0ss)xG?3trA>^zuyk% zb9bZFX-Scb!5RRI6gZup>AYw3EHhw}gnXWnA~pbIvGMA++O}3T z`i=35g+Uc^t=~SxM-B(J5Y>)@j7wF8!*1CN^%uv)+aU$h+NXA*v~+hbkEiEUV+Npr zBv@abetWs%+3lS7aS&8@R|<3~VMAGz!}TCC5MO`C|9JrQ-2Sk=1Y#CGw~u$PjzYzc z{uXsv{Q9`N^4x+F6$;kEq*(o9AHKWg(}_2m#K-+gJ-R?JXe(&XN%4U`uQ4uPdLI*p ze&K+!B%_v{!&WAxVk(f3tKwOANT^Mow33b)&tQ!0wQzEaBj`02B&afLqwt5{h8WZs zZgbM=4WE$N7GUEH{%wMoZ@B{Bbt}LZl?AzPyY`F44Mp;nkcxic1u^o`J`98CSa1>T9p$N%R6U21Fihtq^9u({rlv?0 z-a)oKdSw;aYeA~SJ7x9{PDC9zwR}+X`nA!?u)&Ut8(Md(=zWby*10E&InTDJh(n<4 zC(>Q|rDOxheYO0Ctt(`MJf*hZp~v|WSjF}{~1o5JUHO{$#&p+@Lf7qSb( z6DJDeoOCaZwrY{w;O0KRx>`ZB;D5|VxsN+o@Wiz?!xrpF)3HFU#ZZ9u?)^Uk$JTrP zyAWQHQjNrRg(4?g>{Nqdxtv~?>d-M_aVI}5wLC*~mgdv86zrBU`t_F$JRvKCkiE-Z zzHCzy8yE%TJmV~Ihji1Zm3C)x+Pq)`bfNMIahR1o!r*c&SJYRQpHWhE;8 zE|P9LaYd3IDImCGc7-&krIZRPZ>8swS8hbdK4opZ-6SdpTb0D#$|tdmDk|3L(ig<) z&;MyW0|Hc1S#NVDsrXYp84?@hOx{bv%RQkv9h>2Ha3kh=5K94a0W98T`U_oOej!&w zdUwkun9ajwul$*BXP%^A%c#QN$^Fl+imc1M6Y=X4gY9x}svI6E6d8Nhe>p~*7yIr! z?T}KJLbqICb2i)gbxhCfU_ejGE`a?Vu?sX(zd~fbv zuTT40u?pwSA%&W?DzGUI94>{&M~ca=K8FbcKOb=6v|FMPvOzWK91gnGGh`)sLWT%6 zvW7(yC{U(Ade*o|J9&Q zs#$TfAa`C~1oChseAJQ{*Oh2wv+D1jGh&NJ{`wd(bvA%p-4+Bvk&2LbzRA3*W(=b=gio@z6> z#SEiYtc#=VXUpc!EnYSNr7X2rOoGZpOr^$0kJ^|WPw{JVXn)s{M~q}~)X#F0z2Ub? z)tiidjc3u>tI@Us-6J+C1#+t^o~v4@jSZAWCzPJDBYftl8Hp>(r3DZCZA}h?!`LA_ zHZxhu6P1taS6BEnU+_pGXQDadMy4Y!!NJ4HOriloUm(P?MaqXXgmz;%1&&A#^}fB* z+yEb^G*u5EN`8e)aw)iJvpSHvan7zZ*XD|`#tXgWZ1VTI?8|H}HOQv4_2nw6G` zt0VVSD_|@K9JU39D7k#eNS#p84@u~DO|;k+3bo>Q?J_wN#(2z$DT7EIVrsLgWi*AR z$IB;cF z_6?3!G2h@?w}nF2RwQYDU>!eqGv3GxLAfc&UoRU2uQy3GfbF?vPhdnUwx7=rh01{E ze|hp;X*Sa)n6J*BZ3QSUOAL`3>Pu>_-aEE>_O}_k@G3{Wv49KfU)9n2@~e7xMYH`O z00zZw+KF}Dnb|zDbS>Q|?F%Be{t#wt!q?(+r1krxVsM@0|0D99O8#~9$xn?G(Hk6O z!zx8Za`$4pjtGNhVvaZxI}f_WHX)fG7jON`fGcP>(ukkqsb1Csi~Gm6H+R|+CC?`i z_xIp;lkEE&7qC*h74U6GeaIZA-;Vz35gK_8>etdMN7LP}TpZyW*34p5)4!g4h_hxI zz6<5|xx&Z$&o|>;quT8BY7@8pvM|jSe~@UxSUIoti@%`3l=_MrwD#LGS6&9{(20Is zTy2IzgjupCXXsM-#$+>E_VQpi24m%+W+2PEGxjH+GAp|I)acyPF>2xcJAd95w8Z5g z9%5e@=bPoJ$AL^2_04oRBNo`xlIzqVp6VB1V}#az_D604MHdl}^8%bKwAL6%Jhq9G zx0an}4@sp3QS*$@C@g!qNH{(Ir22*#d~YC;n)oHo5Qh=x-ZOdfDC75};#B>CD!k@^ z_D?u)`~qt0uLu33Y8ACxqmip~X{u7ge)Gt3LxuEv#=_l`rvd)660ZSS9!N4X5Bl?M zZLFNl$Jw#gihzG}aX|hm4dU~|t?To8x+OeuDT5-X69p}wjP5DwoB0i_dx5|`X8p;~ zteWu1W|}a3er+t9j-7FRX}@Y4hDyaBb!tpU8pVl_lSdM1V&H+Wds| zZV-V*K6u8%-C5Z{XuK(B-jAb(FI8FFi(vA|G7GAJjSYA^F^VFW)qPIKdBDDIx95a^ zq;w1|Y&|`DiL>)@qlW8qLxRifCDlO-kL5(B#Pi}Vvp7*el z%=S?w!I!JNtN6-7)}JvnQYFj1m)HNc44$0I?^V)5xMGJHMo`lFk{TvcgeNZ{6M3+M z>K>d3mlUim`YH_yD~evlW^R0wckFdf&MH53IT@$CoCcOf*p01Wdz@IO|D92NGE?xg#aMJ>%~w6HIB!e4&T zXK4o&+9PRH$3bNh#MNNQ1NEw_bI$2 z9AZ|tLq@$v*<&84kt0U4CFSo~&XFZ?rl}VhKJn^|(^V)8YtT(-_C_3L`^I5WxLS?> zjVl6crPo6A+>{M*eR=$vH_k8CUS&tgE3b}OG%}8i4DVkN)LcQ5-Cm^T(b9Xo1uPal z5PTRWD~@d97j?x8G~8)~6x@^^P`9a9acE_dKD9zJ z4=D?W*0uu|atv6W5w1ZfSClwhD!sizXy9wbSPmt`(ctxWqmQ^Y(EV$jk)jhe7A9N6 z?SX9B)N6VyEE#s+IFq$g-Ez=&9!Z&cAU>OD%d6_e6DTmkfpR^_V(-{OZ6zu+r>AyU zM5;E@2?O?5d`=Ff?Svvv6lq>eR8Ax>dtm&h+bPg@^$f@tx2wa zNnv1YFnkKobAJOA>z@G2Y)-e=->0qg22{~?^J#|~obBH#r?pSm{lr6b%=&H&aYEn@ z!%KxF;*>i3@fdMWFvzzNhRmxKd(sSNnCAN?HPe4Kume74bw{1DkA?7WYls&3g__%v z7n;!;ue@Ph)AOR=$czle3S+PP{;G1{Qbndd8ncE_veN%sf8nHW8Jz5OwGaojlqwH3 zYx8N|lXQ4Rg4P!;#$P@B|5yzEsy6kj$+}($F=+U~Wjm|XgKcw8)fIG?8ZyIyD1hrTF zwkL)bf+{A=i*inTMGb8_dgCeAJUD(KR*}n0ix*DI;q~n5E!TvcqhZ!QK9t5koC4fH zdgD%kCL<%Y^%MER4F^=WqJz&4ffneR^sbKX*U{WuofC7TimS_w!;e1NO9(g$l#jT@ z)3`G?@1k1WkZvU!E&vyK>mHs0sl93w585%OrNQjyp@^r6&t5NIa-<7~ z&&GC!Xf)LYEA-+lxhDMjM4uK5F_2F}T5T~5s|+Np_KAN0if$8OZCWb|_bw^rZ=14q z-rzzoc?6bbmYLxzzM*u}miW0o7?aJ)S9rx`Z%QC4CS56v>`@|BirYT^%~i4K*}a$J zyCU-u{t_uy@$LP`8&x~>2v}JG)Fn@8+zZ_7YVwJtMOL)Du9GOEBOa%YhpQeW zi}MN4{bYn7cc0^=DoCC1DcH}|S}^U_ZVz?UhnR*fI)7&AY|Yt0v4v!rKk4Hhl*X+q zBQ^`v9laKw^uCdSk(J3z=Wc~s?qj5D7q&CSbiJaKFR!b}(UM1JT~tnvMnqee`8g`b zDF6FXxfQ#K7MndFzMa_cD3F&ff!Uoynyx-Qko<{gb{}!`%As(k?MW{i7jcAmh+hr& zuudkNZ_mhT;PGrqoZRzGm5_|A+|R0E(hNIPOYZx*1PZ^SQJVfH!Sycy0m9l@SFIby zNv)afRzSDG{u9N@*ZmcT@LVJ)dPRPIzGt180ok51+eq1>_JOKUU9wy5`B1FHTAB-y zr6DZXzkXu;zK2y{%rfdqB<|J>jCRjU1$T&{Czb_`KdUB$30Pq(})yil3CULo>11s0|g;(IS@&X-05@i_bnQ8ml+rho1 zs6_RUi#hrBHY}lwt0wpr7_GbJyv;p>2B?$+T{HHZSVCN6 zq_b{hm-&^=3=PjJZ5mXVh}=<#;7q$BnCYsX31Y`5(&p|z#S_Q4_egm3Y12VH%tCQg zc`ZsuG&z{StwC~z{38?8jXOeY_i|)y{|O2?j&>o{?g?tD#mPejLyOx%@v(@Q?nYPt z=blt6n$YfGz8P*5;JU`@dJmFsf>mw`buG*=9+;ayMPHCguMBWOa~dXWpbzcT98_XV z2!+EvWe>grTdB#16LT2kGYMN}q<7tA03WTHQQYnl+#O{HHB2HKn*ge`JQfo}tJAh9 zNfL7VxD^T^v`IauC-LDI2_lba4Km0j-a&Y_@(EAhIJB=Qh}|PrO(;=9j2+>O;pqEF zv>@R+0$~Ce^5-f`BxOKoV$&A{8kY5QXY4ysT}xtUV)2c7Nb_-^`#zyS=B-=bR;b_= z?0adkF{%+5a$FGgIRaqWIzv6Osb*-e)qW&k_`V8eN-V}t&vZtL3?oROV4`#Q5AwPl zz~rEjnJ0ThF z;!Opk|) zM;@@{VTrkfiMn*>z?l!n@2TYF8q=bapsfx0D3RNgv2GfOQn?$KK^bj^rF&C8d|*EX zzF)zJ{4yZmuMl|u*-SCS>DYHAw{%_Fc4GhUPb$~y!^O6MmVty$Ac(MI_HMrUZIs;r zaP@0(StngU4-X{;H#~t`cgpZ#QKP^>ATUQ^zST(}=8IPcJoaAlkeT1_rM8Si8k3`n z5T(Y!d|jS={(5lHa8C!ffK@we|AE!e5l4A-Fq$E7PJH;VSAZwt4?5!nm+%^Tv@WQM z{Cc5qO5i_ioO(aA*LzKqOpAnMuc0T*dT3)hKB+T0zsTz2Ra|aK9~-)>7;2dSy$!Oe zVpY3A9;(8eO?fHGyT=$jpF%B>7><7z=_axkBeLY4gsak-%nJKCRQ;COTh{o+$~6tX zWQ(Vq(PR$lS&Dy^iNR)FWNSg~C{7kZ<|j)NN?0&oIgi#JA<5uol0vnpc6B>JiL!^Z z*p+me_j00D_}u|)gn8C%Mzlgl|Ill+UuQa9AO1TtBj^Llb`R~u_S^k9RQ_1c4`)ErZ;FkKc>9&ko zrNf+gns6@SMSL3(+P8@ic#F8yjglw%xvRbk+ z_v$L!sV}mtjm+Z^2|6G< zhEtp^P%TjR2nj`(*`-Tmgkj;-21zP}k9WcSxgci+vnoXx;WrDo(|=ZQGtP zDztsrmJ{TCx0$D1r$=v7HGHWh$F4U)K7^X% zX84LhDR`>h{m93ru^q90Oza*VVgpTM+kBy(-+11-lxgOMo<4=*r%VQnAatemIAbZJ zGgjEAMX`k&9L4s~yLPCT!fji~s!bIeE=_U=O}4?W@j4zbco z$J+%&`2R!=azoTWtTGFtG^iLTHoG`$2JWnBRt6FqZ{31EplI5566lK>h3H=+LwCzu z@fmH2cR0t5w%uX2xBQ44JUE^ked9|%`9@^)pUw{Qu*M$ygRc0a@vnuPLlujZ{#jt2 zlGP01)vLZlhsld z#7ReGt0-9rX3Z^FZ!zXacAZE88M8F>qKyG*5k}~hicWZ=r^5D}LQP6+aFj<(i_AYd zaXy~dot3}XuImx>9w3=!rZX7gh#Mf-`kXx?Ni^;)x5p0I zij>x6_EzU+E42JU%O1$9jHB$bNI7RmYu_(gQ+KuvA%8~5ddW#DgPbZ8>N?9CK4^<< zgO{~~)Y30}9BQp!lQqYnBoOB-cFsDY`c`?UrU_~no6w;j5=4hFcqi-3j^(A(p9V*_ z>`+s=&l1G?JG=B>Uo2LoGJ;Yv4SwebC8uf2`BuICm!Y~>S%~fSa>KsV4=l6{eOaD+ zdD;^3bsYF|qpz&})axEMQTu%#`zoNX;^f%lTyK;mCG*8>n=+!UD>_{$G#9t7mjB$K zcx#DD!fj&bA5i$;7!51_X4w7(=ioo7QoKH49wo|%)RU%8t9vUWR6{XPny1=zht!aJ zvMK%+!PR}?j=aDwmsrIoC@`J;1FyA}ja$0`?A@XDSf=`}oK74D6FW7}90hLpR9KPiXJL(a|36M}26JC*=UlVp83H;&Jz?-s!kE3M;fA=NA6$=ZgB-mh@qCagDj4 zx)Wb?i|cR)@~k(*5^w0oFWp4s?^n^=RKcW!986CUo(wj4L!5UeT*e6%3$8duKXJf& zxOmx;3>pUYgxOel2JCP-Nd}Kq6_%IV$2=#(H79D%m0@*{I*rSaPB|K}qegMWGZZt1 z=$xMRN|AH&I{-9XAa5m$h(%F@Cj{}TG>$8o1 zDmsI=`z9!xNEXF=w&m7CiY!qDyLgv(4Ib?fX*PmQ2Q}Z>eIby&E?t=_;#!Op2>)9TnQiB=Z=OmCvRgv(UG|`#hwJ;s zEZp=XGyD_zR+)*Hq!hb$$B*mW57jZY%&>j^hxSAQ5H@V4A9zEm2*Jl)D@`~nlQm=rku zNf!Eb^LULk3PwT1ckoNn|AFSQ`;W`o0~L+vAm3{u8r6QMwHhtA9%ng-ZR~KjsmSfl z;JaB}Cw>3l#-w=_^yR7ait|n6OEp~n@h?m*dLb&4OXJ@>8)7%(+r1wLi{5U_(JCEiS93h2IjM%v z82mEqcEOsdtlKO7y8<6Jz;LL@kkNJJ@1Yex`rD*TjkmXF);>s<^Ng(1bC(V93v!)qVNL}nS$Snm)3~%`;=e|PH;Ufo3K$;$MjVr zpf-I@)aYv8ah{Plb|>6}KPJmp)K+9Y1{tSZ>QB7hF}L2)O)>05?x~%*DN5zjaKFSO zT6-pGc|T$PY&OP^U~eh3sB5?}wUQ}NQ<6%k&MPuMg^1F`VEgWYPUg}&lxSFm#;cbq z%UWcLy%T0kERlaeXDmI(asQLUYhc%n|EVk=+X z|9jA9>j0?0>IlVM65p9f=*n*5gG^;s6aL=z_d3xu-CB^oTN60iJbX{n=7BF3F^9(* z#WHlTz?j>^;^`5Qq9Z~#y=kIoF&#FN5pd+1pEVt@hRLitt9Ig~qRSF;9f->!Qc3a0 zwBMC9XXN?S$>(YiMQc!$ELc0_Qelq^O_EcVU>XpWohpV9!?bxpRPTn7T}d)QFNvCi znRm#cx(|0~uE*(r{stcNz{NExK?zJRIoV{jZcQvtl&`ZFB;s$47M*9cJ4fX*J#oL{ z8v51j3$q^?v;njd<7p(E45 zamoRaj$u{SyeMgil^FjjEX73@RkqPW!W^&>kiKR?D2LObM@BHxlKgx>*8CzyQ+|Ci|k^qmLsXJYEspAB%bTT4fvpojp6*FK7dA;qi zIY+aT%PhNLdvmg55#a$b%Ji$JO#xI2x2EBqN2`07|IFK_M25|+$b5|WfMTG(h$Arn4f+Aq6+|`A^ldA8E}FQ<;yv2>id(oJz>2Ha`yNp2 z0?qLzQMeT`;K6Xkt@I_ zX1Fd-c9;H4UNAf*DyS*7D(E-ui8^CWSdSBn%0AqxzWXTy5%-i+X4l@t7UX{Mr4lcm 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ö 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

    KTJ(b;Ok%eU)+Duk40j}sflrX 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

    YQ4~s{>G0c7loyNIjCouPkBZH+9};fls7wtL!`x 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 literal 0 HcmV?d00001 diff --git a/docs/assets/perturbation_grid.png b/docs/assets/perturbation_grid.png new file mode 100644 index 0000000000000000000000000000000000000000..705db6967f366d44d6fa7cf17c13c79adabac2b6 GIT binary patch literal 819167 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�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