Weights & Biases를 이용한 YOLO 실험 추적 및 시각화#
Ultralytics YOLO26과 같은 Object detection 모델은 많은 computer vision 애플리케이션의 필수적인 요소가 되었습니다. 그러나 이러한 복잡한 모델을 학습, 평가 및 배포하는 과정에서는 여러 가지 과제가 발생합니다. 주요 학습 지표를 추적하고, 모델 변형을 비교하며, 모델 동작을 분석하고, 문제를 감지하려면 상당한 계측화와 실험 관리가 필요합니다.
Watch: How to use Ultralytics YOLO26 with Weights and Biases
이 가이드에서는 향상된 실험 추적, 모델 체크포인트 저장 및 모델 성능 시각화를 위해 Ultralytics YOLO26과 Weights & Biases를 통합하는 방법을 소개합니다. 또한 Weights & Biases의 대화형 기능을 사용하여 통합 설정, 학습, 파인튜닝 및 결과 시각화를 수행하는 방법도 포함되어 있습니다.
Weights & Biases#
Weights & Biases는 machine learning 실험을 추적, 시각화 및 관리하도록 설계된 최첨단 MLOps platform입니다. 이 플랫폼은 완벽한 실험 재현성을 위한 학습 지표의 자동 로깅, 간소화된 데이터 분석을 위한 대화형 UI, 그리고 다양한 환경에 배포하기 위한 효율적인 모델 관리 도구를 제공합니다.
Weights & Biases를 활용한 YOLO26 학습#
Weights & Biases를 사용하여 YOLO26 학습 프로세스에 효율성과 자동화를 도입할 수 있습니다. 이 통합 기능을 통해 실험을 추적하고, 모델을 비교하며, 데이터 기반 결정을 내려 computer vision 프로젝트를 개선할 수 있습니다.
설치#
필수 패키지를 설치하려면 다음을 실행하십시오:
# 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 Installation guide를 꼭 확인하시기 바랍니다. YOLO26에 필요한 패키지를 설치하는 동안 문제가 발생할 경우, Common Issues guide에서 해결 방법과 팁을 참고하세요.
Weights & Biases 구성#
필요한 패키지를 설치한 후, 다음 단계는 Weights & Biases 환경을 설정하는 것입니다. 여기에는 Weights & Biases 계정을 생성하고, 개발 환경과 W&B 플랫폼 간의 원활한 연결을 위해 필요한 API 키를 획득하는 과정이 포함됩니다.
먼저 워크스페이스에서 Weights & Biases 환경을 초기화하십시오. 다음 명령어를 실행하고 표시되는 지침에 따라 수행할 수 있습니다.
import wandb
# Initialize your Weights & Biases environment
wandb.login(key="YOUR_API_KEY")Weights & Biases authorization page로 이동하여 API 키를 생성하고 가져오십시오. 환경을 W&B로 인증하라는 메시지가 표시되면 이 키를 사용하십시오.
사용법: Weights & Biases로 YOLO26 학습하기#
Weights & Biases를 사용한 YOLO26 모델 학습 사용법을 살펴보기 전에 YOLO26 models offered by Ultralytics를 꼭 확인하십시오. 이를 통해 프로젝트 요구 사항에 가장 적합한 모델을 선택할 수 있습니다.
from ultralytics import YOLO
# Load a YOLO model
model = YOLO("yolo26n.pt")
# Train and Fine-Tune the Model
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")W&B 인수(Arguments)#
| 인수 | 기본값 | 설명 |
|---|---|---|
| project | None | 로컬 및 W&B에 기록될 프로젝트 이름을 지정합니다. 이를 통해 여러 실행(run)을 하나로 그룹화할 수 있습니다. |
| name | None | 학습 실행의 이름입니다. 이는 하위 폴더 생성 및 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출력 이해하기#
위의 사용 코드 스니펫을 실행하면 다음과 같은 주요 출력 결과를 확인할 수 있습니다:
- 학습 프로세스의 시작을 나타내는 고유 ID가 포함된 새 실행 설정.
- 레이어 수와 파라미터 수를 포함한 모델 구조의 요약 정보.
- 각 학습 epoch 동안 box loss, cls loss, dfl loss, precision, recall, mAP scores과 같은 주요 지표에 대한 정기적인 업데이트가 이루어집니다.
- 학습이 끝나면 모델의 inference speed 및 전반적인 accuracy 메트릭을 포함한 상세한 메트릭이 표시됩니다.
- 학습 프로세스의 심층 분석 및 시각화를 위한 Weights & Biases 대시보드 링크와 로컬 로그 파일 위치에 대한 정보.
Weights & Biases 대시보드 보기#
사용 코드 스니펫을 실행한 후, 출력에 제공된 링크를 통해 Weights & Biases(W&B) 대시보드에 액세스할 수 있습니다. 이 대시보드는 YOLO26을 사용한 모델 학습 프로세스에 대한 포괄적인 보기를 제공합니다.
Weights & Biases 대시보드의 주요 기능#
-
Real-Time Metrics Tracking: 학습 중에 loss, accuracy, validation scores와 같은 메트릭이 변화하는 것을 관찰하여 모델 튜닝을 위한 즉각적인 통찰력을 얻을 수 있습니다. See how experiments are tracked using Weights & Biases.
-
Hyperparameter Optimization: Weights & Biases는 learning rate, batch size 등과 같은 핵심 파라미터를 미세 조정하는 데 도움을 주어 YOLO26의 성능을 향상시킵니다. 이를 통해 특정 데이터셋과 태스크에 최적의 구성을 찾을 수 있습니다.
-
비교 분석: 이 플랫폼은 서로 다른 학습 실행을 나란히 비교할 수 있는 기능을 제공하며, 이는 다양한 모델 구성의 영향을 평가하고 어떤 변경 사항이 성능을 향상시키는지 이해하는 데 필수적입니다.
-
Visualization of Training Progress: 주요 메트릭의 그래픽 표현을 통해 에포크 전반에 걸친 모델의 성능을 직관적으로 이해할 수 있습니다. See how Weights & Biases helps you visualize validation results.
-
리소스 모니터링: CPU, GPU 및 메모리 사용량을 추적하여 학습 프로세스의 효율성을 최적화하고 워크플로우의 병목 현상을 파악할 수 있습니다.
-
모델 아티팩트 관리: 모델 체크포인트에 액세스하고 공유하여 복잡한 프로젝트에서 팀원 간의 쉬운 배포 및 협업을 지원합니다.
-
Viewing Inference Results with Image Overlay: Weights & Biases의 대화형 오버레이를 사용하여 이미지에 대한 예측 결과를 시각화함으로써 실제 데이터에서 모델 성능을 명확하고 상세하게 확인할 수 있습니다. 자세한 내용은 Weights & Biases의 image overlay capabilities를 참조하십시오.
이러한 기능을 사용하여 YOLO26 모델의 학습을 효과적으로 추적, 분석 및 최적화할 수 있으며, object detection 태스크에서 가능한 최고의 성능과 효율성을 보장할 수 있습니다.
요약#
이 가이드는 Ultralytics YOLO와 Weights & Biases의 통합을 탐색하는 데 도움을 주었습니다. 이 통합이 모델 학습 및 예측 결과를 효율적으로 추적하고 시각화하는 능력을 보여줍니다. W&B의 강력한 기능을 활용하여 machine learning 워크플로를 간소화하고, 데이터 기반 결정을 내리며, 모델 성능을 향상시킬 수 있습니다.
사용법에 대한 자세한 내용은 Weights & Biases' official documentation을 방문하거나 YOLO VISION 2023에서 진행된 이 통합에 대한 Soumik Rakshit's presentation을 살펴보십시오.
또한 MLflow 및 Comet ML과 같은 흥미로운 다양한 통합에 대해 자세히 알아보려면 Ultralytics integration guide page를 확인하시기 바랍니다.
FAQ#
Weights & Biases를 Ultralytics YOLO26과 통합하려면:
-
필수 패키지를 설치하십시오:
pip install -U ultralytics wandb yolo settings wandb=True -
Weights & Biases 계정에 로그인하십시오:
import wandb wandb.login(key="YOUR_API_KEY") -
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 모델 최적화를 돕습니다:
- 학습 지표의 상세 시각화 제공
- 서로 다른 모델 버전 간의 쉬운 비교 지원
- hyperparameter tuning을 위한 도구 제공
- 모델 성능에 대한 협업 분석 가능
- 모델 아티팩트 및 결과의 쉬운 공유 촉진
이러한 기능은 연구자와 개발자가 더 빠르게 반복하고 데이터 기반 결정을 내려 YOLO26 모델을 개선하도록 돕습니다.