학습 결과는 아래 경로에 저장됩니다.
model/<model_id>/<run_dir>/epoch-XX
model_id: 모델 이름의 마지막 토큰 (예:siglip-base-patch16-384)run_dir형식:YYYYMMDD-HHMMSS__<hparam-slug>epoch-XX: 에폭별 체크포인트 폴더 (예:epoch-03)
예시:
model/siglip-base-patch16-384/20260220-201327__alpha-0p5__bs-16__epochs-3__lr-1e-05__teacher-siglip-large-patch16-384__temp-2__wd-0p01/epoch-03
각 epoch-XX 폴더에는 다음과 같은 파일이 포함됩니다.
config.jsonmodel.safetensorspreprocessor_config.jsonmetrics.json
로그는 아래 경로에 저장됩니다.
logs/<YYYY-MM-DD>/<logger_name>/<run_group>/<YYYY-MM-DD_HH-MM-SS>_<logger_name>.log
KD 학습 로그는 아래처럼 teacher/student 기준으로 한 단계 더 그룹화됩니다.
logs/<YYYY-MM-DD>/kd/<teacher_model>_<student_model>/<YYYY-MM-DD_HH-MM-SS>_kd.log
- 날짜 폴더로 로그를 구분해 가독성을 높였습니다.
run_group가 없는 기본 학습 로그는<logger_name>과 동일한 이름의 하위 폴더를 한 단계 더 사용합니다.- 파일명에는 날짜, 시간, logger/model id가 포함됩니다.
예시:
logs/2026-02-22/eval_recall/siglip-base-patch16-384/2026-02-22_14-37-52_eval_recall.log
기본 학습 로그 예시:
logs/2026-02-22/siglip-base-patch16-384/siglip-base-patch16-384/2026-02-22_09-12-10_siglip-base-patch16-384.log
파인튜닝 체크포인트로 평가할 경우, 로그명에 모델 id + run timestamp + epoch가 포함됩니다.
logs/2026-02-22/eval_map/ft-siglip-so400m-patch14-384__20260222-135834__epoch-03/2026-02-22_17-00-37_eval_map.log
- 학습 스크립트:
src/train/ - 평가 스크립트:
src/eval/ - ONNX 배포 스크립트:
export/onnx_export/
단일 백본(HF 모델 ID) export:
uv run export/onnx_export/export_siglip_onnx.py \
--model-name google/siglip-base-patch16-384단일 파인튜닝 체크포인트 export:
uv run export/onnx_export/export_siglip_onnx.py \
--model-path model/siglip-base-patch16-384/<run_dir>/epoch-03기본 백본 전체(base, large, so400m) export:
uv run export/onnx_export/export_all_backbones.py아티팩트 저장 경로: export/onnx_export/artifacts/<model_tag>/
포함 파일:
text_encoder.onnximage_encoder.onnxexport_meta.json
여러 평가 스크립트를 한 번에 실행:
uv run src/eval/run_all_evals.py \
--backbone-name google/siglip-base-patch16-384학습 체크포인트로 실행:
uv run src/eval/run_all_evals.py \
--model-path model/siglip-base-patch16-384/<run_dir>/epoch-03기본 실행 메트릭: recall, precision, f1, accuracy, map
일부 메트릭만 선택하고 Top-K 제어:
uv run src/eval/run_all_evals.py \
--backbone-name google/siglip-so400m-patch14-384 \
--metrics recall,precision,f1 \
--topk 1,10사전학습 백본 평가:
uv run src/eval/eval_recall.py --model-name google/siglip-base-patch16-384--topk를 생략하면 기본값 1,5,10을 사용합니다.
학습 체크포인트 평가:
uv run src/eval/eval_recall.py \
--model-path model/siglip-base-patch16-384/<run_dir>/epoch-03 \
--topk 1,5,10특정 K만 평가:
uv run src/eval/eval_recall.py \
--model-name google/siglip-so400m-patch14-384 \
--topk 1,10사전학습 백본 평가:
uv run src/eval/eval_map.py --model-name google/siglip-base-patch16-384학습 체크포인트 평가:
uv run src/eval/eval_map.py \
--model-path model/siglip-base-patch16-384/<run_dir>/epoch-03사전학습 백본 평가:
uv run src/eval/eval_precision.py --model-name google/siglip-base-patch16-384--topk를 생략하면 기본값 1,5,10을 사용합니다.
학습 체크포인트 평가:
uv run src/eval/eval_precision.py \
--model-path model/siglip-base-patch16-384/<run_dir>/epoch-03 \
--topk 1,5,10사전학습 백본으로 retrieval Accuracy(Top-1) 평가:
uv run src/eval/eval_accuracy.py --model-name google/siglip-base-patch16-384학습 체크포인트로 retrieval Accuracy(Top-1) 평가:
uv run src/eval/eval_accuracy.py \
--model-path model/siglip-base-patch16-384/<run_dir>/epoch-03사전학습 백본 평가:
uv run src/eval/eval_f1.py --model-name google/siglip-base-patch16-384--topk를 생략하면 기본값 1,5,10을 사용합니다.
학습 체크포인트 평가:
uv run src/eval/eval_f1.py \
--model-path model/siglip-base-patch16-384/<run_dir>/epoch-03 \
--topk 1,5,10