SCRIPTS.
프로덕션 PYTHON
더블루스튜디오 BLUE LAB 재직 중(2026년 3월) 회사 실무로 만든 배우 LoRA 파이프라인의 소스입니다. 회사 허락을 받아 공개하며, 배우 이름 · 사진 파일명 · 데이터셋 경로는 일반화했습니다(배우 데이터셋 비공개). 코드는 Claude Code에 지시해 작성했고 설계 · 검수 · 실행은 본인이 했습니다. 파일명을 클릭하면 Python 파일이 열립니다. 용량은 대략적인 값이며, 공개본 주석은 영어입니다.
큰 사진 묶음에서 학습용 데이터셋(약 29장)을 자동으로 고르는 큐레이션 파이프라인. 파이프라인에서 가장 큰 스크립트. 실제 순서: ① ArcFace 동일인 확인(다른 사람 제외) → ② 가슴 위 자동 크롭 → ③ 품질 점수 · ④ 톤 일관성(LAB z-score) · ⑤ 중복 제거 → ⑥ 각도 다양성 리포트 → ⑦ 트리거 워드 캡션.
해상도 / 톤 / 구도 게이트. 해상도 기준 미달, 허용 톤 범위 밖, 잘못된 프레이밍(얼굴이 너무 작거나, 중심을 벗어나거나, 여러 얼굴)인 이미지를 걸러냅니다. 오퍼레이터가 재촬영할 수 있도록 리젝트 로그를 생성합니다.
템플릿화된 워크플로우 JSON을 실행 중인 ComfyUI 인스턴스에 HTTP로 전송하고, 완료까지 폴링한 뒤, 결과 이미지를 내려받습니다. 평가 루프에서 각 LoRA 체크포인트에 대한 테스트 프롬프트를 생성하는 데 사용합니다.
최상위 오케스트레이터. YAML 설정을 읽고, 환경을 세팅하고, 로깅과 함께 AI-Toolkit 학습 서브프로세스를 실행하고, 종료 코드를 수집합니다. 터미널에서 실행을 시작하거나 야간 실행을 스케줄링하는 데 사용합니다.
저장된 체크포인트마다(100 스텝 간격) 고정된 평가 프롬프트 세트를 생성하고, InsightFace ArcFace로 얼굴 임베딩을 계산해 원본 배우 임베딩과 비교한 뒤, 스텝별 유사도를 디스크에 기록합니다.
LoRA 스텝별 유사도 시리즈와 상용 베이스라인(Higgsfield Soul 2.0) 레퍼런스 시리즈를 불러와 델타를 계산하고, 평균 아이덴티티 점수 기준 최적 LoRA 체크포인트를 고른 뒤, 요약 테이블을 출력합니다.
추론 시점 파라미터(CFG, Steps, max_shift)를 3라운드에 걸쳐 스윕하며 라운드마다 탐색 범위를 좁힙니다. 각 조합을 ComfyUI로 실행하고 ArcFace로 점수를 매긴 뒤, 구조화된 스윕 로그를 기록합니다. 두 번째로 큰 스크립트입니다.
스윕 로그를 파싱해 파라미터 조합별 평균 유사도를 계산하고, 최적점을 찾아내고, 상위 N개 후보를 트레이드오프 축(품질 vs 아이덴티티 vs 다양성)과 함께 제시합니다.
AI-Toolkit 로그 디렉터리를 tail하는 장기 실행 모니터. 새 체크포인트가 나타날 때마다 빠른 평가를 돌리고, 유사도 곡선이 과하게 치솟거나 평탄해지기 시작하면 경고를 냅니다(조기 종료 신호).