Weights & Biases를 활용한 YOLO 실험 추적 및 시각화#
객체 감지 모델(예: Ultralytics YOLO26은 다양한 컴퓨터 비전 애플리케이션에서 핵심적인 역할을 합니다. 하지만 이러한 복잡한 모델을 학습하고 평가 및 배포하려면 여러 가지 어려움이 따릅니다. 주요 학습 지표 추적, 모델 변형 비교, 모델 동작 분석, 문제 감지에는 상당한 계측 작업과 실험 관리가 필요합니다.
시청: Weights and Biases와 함께 Ultralytics YOLO26을 사용하는 방법
이 가이드에서는 실험 추적, 최적 모델 아티팩트, 모델 성능 시각화를 강화하기 위해 Ultralytics YOLO26을 Weights & Biases와 통합하는 방법을 소개합니다. 또한 Weights & Biases의 대화형 기능을 사용하여 통합 환경을 설정하고, 학습을 진행하며, 결과를 시각화하는 방법을 안내합니다.
Weights & Biases#
Weights & Biases는 머신러닝 실험을 추적하고 시각화 및 관리하도록 설계된 최첨단 MLOps 플랫폼입니다. 전체 실험의 재현성을 위해 학습 지표를 자동으로 기록하고, 효율적인 데이터 분석을 위한 대화형 UI를 제공하며, 다양한 환경에 배포할 수 있는 효율적인 모델 관리 도구를 갖추고 있습니다.
Weights & Biases를 활용한 YOLO26 학습#
Weights & Biases를 사용하면 YOLO26 학습 프로세스의 효율성과 자동화를 높일 수 있습니다. 통합 기능을 통해 실험을 추적하고 모델을 비교하며, 데이터에 기반한 의사결정으로 컴퓨터 비전 프로젝트를 개선할 수 있습니다.
설치#
필수 패키지를 설치하려면 다음을 실행하세요:
# Install the required packages for Ultralytics YOLO and Weights & Biases
pip install -U ultralytics wandb
# Enable W&B logging for Ultralytics
yolo settings wandb=True설치 과정에 관한 자세한 안내와 모범 사례는 YOLO26 설치 가이드를 확인하세요. YOLO26 필수 패키지를 설치하는 중 문제가 발생하면 해결 방법과 팁은 일반적인 문제 가이드를 참조하세요.
Weights & Biases 구성#
필요한 패키지를 설치한 다음에는 Weights & Biases 환경을 설정해야 합니다. 개발 환경과 W&B 플랫폼을 원활하게 연결하려면 Weights & Biases 계정을 만들고 필요한 API 키를 발급받아야 합니다.
먼저 작업 공간에서 Weights & Biases 환경을 초기화합니다. 다음 명령을 실행하고 안내에 따라 설정하면 됩니다.
import wandb
# Weights & Biases 환경을 초기화합니다(API 키를 입력하도록 요청하거나 WANDB_API_KEY를 읽습니다).
wandb.login()Weights & Biases 인증 페이지로 이동하여 API 키를 생성하고 확인하세요. W&B에 환경을 인증하라는 메시지가 표시되면 이 키를 사용하세요.
사용법: Weights & Biases를 활용한 YOLO26 학습#
Weights & Biases를 활용한 YOLO26 모델 학습 사용법을 살펴보기 전에 Ultralytics에서 제공하는 YOLO26 모델을 확인하세요. 이를 통해 프로젝트 요구사항에 가장 적합한 모델을 선택할 수 있습니다.
from ultralytics import YOLO
# YOLO 모델 로드
model = YOLO("yolo26n.pt")
# 모델 학습 및 파인튜닝
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")Ultralytics가 생성하는 실행은 학습 지표를 epoch에 대해 그래프로 표시합니다. 학습을 시작하기 전에 wandb.init()로 실행을 시작하면 Ultralytics는 해당 실행에 로그를 기록하고, 모든 행에 epoch 값을 포함하며, 사용자가 계속 로그를 기록하고 직접 wandb.finish()을 호출할 수 있도록 실행을 열린 상태로 둡니다. 학습 인수는 해당 실행의 config에 추가되며, 사용자나 W&B sweep에서 이미 설정한 키는 기존 값을 유지합니다.
W&B 인수#
| 인수 | 기본값 | 설명 |
|---|---|---|
| project | None | 로컬과 W&B에 기록되는 프로젝트의 이름을 지정하며, 여러 실행을 하나로 묶습니다. 설정하지 않으면 W&B 실행 기록은 Ultralytics 프로젝트에 저장됩니다. |
| name | None | 학습 실행의 이름입니다. 이 이름은 하위 폴더를 만들 때와 W&B 기록에 사용됩니다. |
| save | True | 최적의 체크포인트를 W&B 모델 아티팩트로 업로드할지 여부를 결정합니다. |
Ultralytics에서 Weights & Biases 기록을 활성화하거나 비활성화하려면 yolo settings 명령을 사용할 수 있습니다. 기본적으로 Weights & Biases 기록은 비활성화되어 있습니다.
# Enable Weights & Biases logging
yolo settings wandb=True
# Disable Weights & Biases logging
yolo settings wandb=False네트워크 연결 없이 로그를 기록하도록 WANDB_MODE=offline을 설정한 다음 wandb sync <save_dir>/wandb/offline-run-*을 사용해 실행을 업로드합니다. resume=True로 학습을 재개하면 온라인 또는 오프라인 상태와 운영 체제에 관계없이 동일한 W&B 실행을 이어서 진행합니다. 이를 위해 원래 저장 디렉터리의 wandb/ 디렉터리에 있는 가장 최근 실행 폴더에서 실행 ID를 읽으므로 해당 디렉터리를 그대로 유지해야 합니다.
출력 이해하기#
위의 사용 예제 코드를 실행하면 다음과 같은 주요 출력이 표시됩니다.
- 학습 프로세스의 시작을 나타내는 고유 ID와 함께 새로운 실행이 설정됩니다.
- 레이어 및 파라미터 수를 포함하여 모델 구조를 간략하게 요약합니다.
- 각 학습 에포크 동안 학습 손실, 정밀도, 재현율, mAP 점수와 같은 주요 지표를 정기적으로 업데이트합니다.
- 학습이 끝나면 모델의 추론 속도와 전반적인 정확도 지표를 포함한 상세 지표가 표시됩니다.
- 학습 프로세스를 심층 분석하고 시각화할 수 있는 Weights & Biases 대시보드 링크와 로컬 로그 파일 위치 정보가 제공됩니다.
Weights & Biases 대시보드 보기#
사용 예제 코드를 실행한 후 출력에 제공된 링크를 통해 Weights & Biases(W&B) 대시보드에 액세스할 수 있습니다. 이 대시보드에서는 YOLO26 모델의 학습 프로세스를 종합적으로 확인할 수 있습니다.
Weights & Biases 대시보드의 주요 기능#
-
실시간 지표 추적: 학습 중 변화하는 손실, 정확도, 검증 점수 등의 지표를 확인하여 모델 조정에 필요한 인사이트를 즉시 얻을 수 있습니다. Weights & Biases를 사용하여 실험을 추적하는 방법을 확인하세요.
-
하이퍼파라미터 비교: 모든 실행에서 학습률과 배치 크기 등의 학습 인수를 기록하므로 실행 간 구성을 비교할 수 있습니다. W&B 로깅을 사용한 자동 검색에는 Ray Tune을 사용합니다.
-
비교 분석: 플랫폼에서 여러 학습 실행을 나란히 비교할 수 있습니다. 이는 다양한 모델 구성의 영향을 평가하고 어떤 변경 사항이 성능을 높이는지 파악하는 데 필수적입니다.
-
학습 진행 상황 시각화: 주요 지표를 그래프로 표시하여 에폭 전반에 걸친 모델 성능을 직관적으로 파악할 수 있습니다. Weights & Biases를 통해 검증 결과를 시각화하는 방법을 확인하세요.
-
리소스 모니터링: CPU, GPU, 메모리 사용량을 추적하여 학습 프로세스의 효율성을 최적화하고 워크플로의 잠재적 병목 현상을 파악할 수 있습니다.
-
모델 아티팩트 관리: 학습이 끝날 때 W&B 아티팩트로 업로드된 최적 모델 체크포인트에 액세스하고 공유하여 복잡한 프로젝트에서 팀원과 손쉽게 배포하고 협업할 수 있습니다.
이러한 기능을 활용하면 YOLO26 모델 학습을 효과적으로 추적하고 분석 및 최적화하여 객체 감지 작업에서 최상의 성능과 효율성을 확보할 수 있습니다.
요약#
이 가이드에서는 Ultralytics YOLO와 Weights & Biases의 통합을 살펴보았습니다. 이 통합을 통해 모델 학습 결과를 효율적으로 추적하고 시각화할 수 있음을 확인했습니다. W&B의 강력한 기능을 활용하면 머신러닝 워크플로를 간소화하고, 데이터를 기반으로 의사 결정을 내리며, 모델 성능을 개선할 수 있습니다.
자세한 내용은 이 통합에 관한 YOLO VISION 2023의 Soumik Rakshit 프레젠테이션을 확인하세요.
또한 Ultralytics 통합 가이드 페이지에서 MLflow, Comet ML 등 다양한 통합 기능에 대해 알아보세요.
자주 묻는 질문#
Weights & Biases를 Ultralytics YOLO26과 통합하려면 다음 단계를 따르세요.
-
필요한 패키지를 설치합니다:
pip install -U ultralytics wandb yolo settings wandb=True -
Weights & Biases 계정에 로그인합니다.
wandb login -
W&B 기록을 활성화한 상태로 YOLO26 모델을 학습합니다.
from ultralytics import YOLO model = YOLO("yolo26n.pt") model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")
이렇게 하면 지표, 하이퍼파라미터, 모델 아티팩트가 W&B 프로젝트에 자동으로 기록됩니다.
-
주요 기능은 다음과 같습니다.
- 학습 중 실시간 지표 추적
- 실행 간 하이퍼파라미터 비교
- 다양한 학습 실행 비교 분석
- 그래프를 통한 학습 진행 상황 시각화
- 리소스 모니터링(CPU, GPU, 메모리 사용량)
- 모델 아티팩트 관리 및 공유
이러한 기능은 YOLO26 프로젝트에서 실험을 추적하고, 모델을 최적화하며, 더욱 효과적으로 협업하는 데 도움이 됩니다.
W&B 통합 기능을 사용하여 학습 스크립트를 실행한 후 다음 단계를 따르세요.
- 콘솔 출력에 W&B 대시보드 링크가 제공됩니다.
- 링크를 클릭하거나 wandb.ai로 이동하여 계정에 로그인합니다.
- 프로젝트로 이동하여 상세 지표, 시각화 자료, 모델 성능 데이터를 확인합니다.
대시보드에서 모델 학습 프로세스에 관한 인사이트를 확인하고 YOLO26 모델을 효과적으로 분석 및 개선할 수 있습니다.
예. 다음 명령을 사용하여 W&B 기록을 비활성화할 수 있습니다.
yolo settings wandb=False기록을 다시 활성화하려면 다음 명령을 사용하세요.
yolo settings wandb=True이렇게 하면 학습 스크립트를 수정하지 않고도 W&B 기록을 사용할 시점을 제어할 수 있습니다.
Weights & Biases는 다음과 같은 방식으로 YOLO26 모델을 최적화하는 데 도움이 됩니다.
- 학습 지표의 상세한 시각화 자료 제공
- 다양한 모델 버전을 쉽게 비교할 수 있도록 지원
- 하이퍼파라미터 튜닝 비교를 위해 모든 실행의 학습 인수를 기록합니다
- 모델 성능에 대한 공동 분석 지원
- 모델 아티팩트 및 결과를 간편하게 공유할 수 있도록 지원
이러한 기능은 연구자와 개발자가 더 빠르게 반복 작업을 수행하고 데이터 기반 의사결정을 내려 YOLO26 모델을 개선하는 데 도움이 됩니다.