Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
통합

Comet에서 Ultralytics YOLOv5를 사용하는 방법

Ultralytics가 Comet과 협력해 Ultralytics YOLOv5 모델을 최적화하는 방법을 알아보세요. 실시간 추적, 원활한 협업, 향상된 재현성을 제공합니다.

Nuvola LadiNuvola Ladi5 분 읽기
Comet으로 Ultralytics YOLOv5 모델 학습 추적하기

Ultralytics는 YOLOv5와 같은 오픈 소스 도구를 모두가 무료로 사용할 수 있도록 연구 개발 자금을 마련하기 위해 다른 스타트업과 상업적으로 제휴합니다. 이 글에는 해당 파트너사로 연결되는 제휴 링크가 포함될 수 있습니다.

새로운 파트너인 Comet은 데이터 과학자, 엔지니어, 팀 리더가 머신러닝 및 딥러닝 모델을 더 빠르게 개발하고 최적화할 수 있도록 지원하는 도구를 만듭니다.

Comet은 모델, 데이터셋, 메트릭을 추적하는 강력한 도구입니다. 재현성을 보장하고 모든 실행에서 원활하게 디버깅할 수 있도록 시스템 및 환경 변수도 기록합니다. 모델 메트릭을 실시간으로 추적하고 시각화하고, 하이퍼파라미터, 데이터셋, 모델 체크포인트를 저장하며, Comet Custom Panels을 사용해 모델 예측을 시각화할 수 있습니다!

또한 Comet을 사용하면 작업을 놓치는 일이 없으며, 팀 규모에 관계없이 결과를 쉽게 공유하고 협업할 수 있습니다!

YOLOv5는 컴퓨터 비전 여정을 시작하기에 좋은 출발점입니다. 모델 성능을 개선하고 프로덕션에 배포할 준비를 하려면 Comet과 같은 실험 추적 도구에 결과를 기록해야 합니다.

Comet과 YOLOv5의 통합은 세 가지 주요 기능을 제공합니다:

  • 자동 로깅 및 사용자 지정 로깅 기능
  • 디버깅 및 재현성을 위해 데이터셋과 모델을 아티팩트로 저장
  • Comet의 사용자 지정 패널로 보기 구성

이 가이드에서는 YOLOv5를 Comet과 함께 사용하는 방법을 설명합니다.

실험을 실시간으로 추적할 준비가 되셨나요? 시작해 보겠습니다!

시작하기#

1. Comet 설치#

pip install comet_ml

2. Comet 인증 정보 구성#

YOLOv5와 함께 Comet을 구성하는 방법은 두 가지입니다.

환경 변수를 통해 인증 정보를 설정하거나 작업 디렉터리에 .comet.config 파일을 만들고 그 파일에 인증 정보를 설정할 수 있습니다.

환경 변수#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

Comet 구성 파일#

[comet]
api_key=<Your API Key>
project_name=<Your Comet Project Name> # This will default to 'yolov5'

3. 학습 스크립트 실행#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

이제 끝입니다!

Comet은 하이퍼파라미터, 명령줄 인수, 학습 메트릭 및 검증 메트릭을 자동으로 기록합니다. Comet UI에서 실행 결과를 시각화하고 분석할 수 있습니다.

Comet 대시보드의 YOLOv5 실험

직접 사용해 보세요!#

완료된 실행의 예시를 확인해 보세요.

더 좋은 방법은 YOLOv5 Colab 노트북에서 직접 사용해 보는 것입니다.

자동으로 기록하기#

기본적으로 Comet은 다음 항목을 기록합니다:

메트릭#

  • 학습 및 검증 데이터의 Box Loss, Object Loss, Classification Loss
  • 검증 데이터의 mAP50, mAP50-95 지표
  • 검증 데이터의 정밀도와 재현율

매개변수#

  • 모델 하이퍼파라미터
  • 명령줄 옵션을 통해 전달된 모든 매개변수

시각화#

  • 검증 데이터에 대한 모델 예측의 혼동 행렬
  • 모든 클래스의 PR 및 F1 곡선 그래프
  • 클래스 레이블의 상관도

Comet 로깅 구성#

학습 스크립트에 전달하는 명령줄 플래그나 환경 변수를 통해 Comet이 추가 데이터를 기록하도록 구성할 수 있습니다.

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Comet으로 체크포인트 기록하기#

Comet에 모델을 기록하는 기능은 기본적으로 비활성화되어 있습니다. 활성화하려면 학습 스크립트에 save-period 인수를 전달하세요. 그러면 save-period에 지정된 간격 값에 따라 기록된 체크포인트가 Comet에 저장됩니다.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

모델 예측 결과 기록하기#

기본적으로 모델 예측 결과(이미지, 정답 레이블, 바운딩 박스)는 Comet에 기록됩니다. bbox_interval 명령줄 인수를 전달하면 예측 결과와 관련 이미지의 기록 빈도를 제어할 수 있습니다. Comet의 Object Detection Custom Panel을 사용해 예측 결과를 시각화할 수 있습니다. 이 빈도는 에포크마다 N번째 데이터 배치에 해당합니다. 아래 예시에서는 에포크마다 두 번째 데이터 배치를 기록합니다.

참고: YOLOv5 검증 데이터 로더의 기본 배치 크기는 32이므로 이에 맞게 로깅 빈도를 설정해야 합니다.

여기에서 Panel을 사용하는 프로젝트 예제를 확인할 수 있습니다.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

Comet에 기록되는 예측 이미지 수 제어#

YOLOv5의 예측 결과를 기록할 때 Comet은 각 예측 세트와 관련된 이미지를 기록합니다. 기본적으로 검증 이미지는 최대 100개까지 기록됩니다. COMET_MAX_IMAGE_UPLOADS 환경 변수를 사용해 이 수를 늘리거나 줄일 수 있습니다.

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

클래스별 메트릭 기록하기#

COMET_LOG_PER_CLASS_METRICS 환경 변수를 사용하면 클래스별 mAP, 정밀도, 재현율, F1을 기록할 수 있습니다.

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Comet 아티팩트에 데이터셋 업로드하기#

Comet Artifacts를 사용해 데이터를 저장하려면 upload_dataset 플래그를 사용하면 됩니다.

데이터셋은 YOLOv5 문서에 설명된 방식으로 구성됩니다. 데이터셋 구성 YAML 파일은 coco128.yaml 파일과 동일한 형식을 따라야 합니다.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

업로드한 데이터셋은 Comet Workspace의 Artifacts 탭에서 찾을 수 있습니다.

Comet 아티팩트 탭, YOLOv5

Comet UI에서 데이터를 직접 미리 볼 수 있습니다.

Comet에서 데이터 미리 보기, YOLOv5

아티팩트는 버전 관리되며 데이터셋에 관한 메타데이터 추가도 지원합니다. Comet은 데이터셋 YAML 파일의 메타데이터를 자동으로 기록합니다.

Comet에서 YAML 파일의 메타데이터 기록

저장된 아티팩트 사용하기#

Comet Artifacts의 데이터셋을 사용하려면 데이터셋 YAML 파일의 path 변수가 다음 Artifact 리소스 URL을 가리키도록 설정하세요.

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

그런 다음 다음과 같은 방법으로 이 파일을 학습 스크립트에 전달하세요.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

아티팩트를 사용하면 실험 워크플로를 거치는 데이터의 계보도 추적할 수 있습니다. 여기에서 업로드한 데이터셋을 사용한 모든 실험을 보여주는 그래프를 확인할 수 있습니다.

Comet 실험 워크플로, YOLOv5

학습 실행 재개하기#

인터넷 연결 중단 등 어떤 이유로든 학습 실행이 중단되면 resume 플래그와 Comet Run Path를 사용해 실행을 재개할 수 있습니다.

Run Path의 형식은 다음과 같습니다. comet://<your workspace name>/<your project name>/<experiment id>.

이렇게 하면 중단 전 상태로 실행이 복원됩니다. 여기에는 체크포인트에서 모델 복원, 모든 하이퍼파라미터 및 학습 인수 복원, 원래 실행에서 사용한 경우 Comet 데이터셋 아티팩트 다운로드가 포함됩니다. 재개된 실행은 Comet UI의 기존 Experiment에 계속 기록됩니다.

python train.py \
  --resume "comet://<your run path>"

Comet Optimizer를 사용한 하이퍼파라미터 검색#

YOLOv5는 Comet의 Optimizer와도 통합되어 있어 Comet UI에서 하이퍼파라미터 스윕을 간편하게 시각화할 수 있습니다.

Optimizer 스윕 구성하기#

Comet Optimizer를 구성하려면 스윕 정보가 포함된 JSON 파일을 만들어야 합니다.

예시 파일은 utils/loggers/comet/optimizer_config.json에 제공되어 있습니다.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

hpo.py 스크립트는 train.py와 동일한 인수를 받습니다. 스윕에 추가 인수를 전달하려면 스크립트 뒤에 해당 인수를 추가하면 됩니다.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

스윕을 병렬로 실행하기#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

Comet은 스윕 결과를 시각화하는 다양한 방법을 제공합니다. 완료된 스윕이 있는 프로젝트를 살펴보세요:

Comet에서 스윕 결과 시각화, YOLOv5

계속 소통하기#

학습 실행부터 프로덕션 모니터링까지 YOLOv5 모델을 관리, 시각화, 최적화하려면 Comet 통합을 사용해 보세요.

또한 YOLOv5의 학습, 검증, 배포에 관한 질문을 하고 팁을 공유할 수 있는 Ultralytics 커뮤니티에 참여해 보세요.

작성자

Nuvola Ladi
Nuvola Ladi

디지털 콘텐츠 매니저 · Ultralytics

Nuvola Ladi는 Ultralytics의 디지털 콘텐츠 매니저로, 비전 AI와 Ultralytics YOLO를 다루는 콘텐츠를 제작하고 PyTorch Conference 2025와 같은 업계 행사에서 회사를 대표합니다. 스페인에 거주하며 IE University에서 시각 및 디지털 미디어 석사 학위를 취득했습니다. Ultralytics에 합류하기 전에는 XVA Gallery & Hotel, Rolex 등의 조직에서 근무했습니다.

댓글

질문하거나 결과를 공유하거나 다른 사람을 도와주세요.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요