YOLO26 소개: 차세대 비전 AI입니다.
Ultralytics
통합

Comet과 Ultralytics YOLOv5를 사용하는 방법

실시간 추적, 간소화된 협업 및 향상된 재현성을 위해 Ultralytics가 Comet과 협력하여 Ultralytics YOLOv5 모델을 최적화하는 방법을 알아보세요.

ULUltralytics 팀
5 min read
Comet을 통한 Ultralytics YOLOv5 모델 학습 추적

Ultralytics는 당사의 훌륭한 오픈 소스 도구인 YOLOv5와 같은 기술의 연구 및 개발 자금을 확보하고 모든 사람에게 무료로 제공하기 위해 다른 스타트업과 상업적 파트너십을 맺고 있습니다. 이 기사에는 해당 파트너에 대한 제휴 링크가 포함되어 있을 수 있습니다.

당사의 최신 파트너인 Comet은 데이터 과학자, 엔지니어, 팀 리더가 머신 러닝 및 딥러닝 모델을 가속화하고 최적화하도록 돕는 도구를 구축합니다.

Comet은 모델, 데이터셋, 지표를 추적하기 위한 강력한 도구입니다. 이 도구는 각 실행마다 재현성과 원활한 디버깅을 보장하기 위해 시스템 및 환경 변수까지 로그로 기록합니다. 마치 기록해야 할 내용을 마법처럼 알고 있는 가상 비서를 두는 것과 같습니다. Comet Custom Panels를 사용하여 모델 지표를 실시간으로 추적 및 시각화하고, 하이퍼파라미터, 데이터셋, 모델 체크포인트를 저장하며, 모델 예측 결과를 시각화해 보십시오!

또한 Comet은 작업을 놓치지 않도록 보장하며, 모든 규모의 팀에서 결과를 쉽게 공유하고 협업할 수 있도록 합니다!

YOLOv5는 컴퓨터 비전 여정을 시작하기 위한 훌륭한 출발점입니다. 모델의 성능을 향상하고 프로덕션 준비를 마치려면 Comet과 같은 실험 추적 도구에 결과를 기록해야 합니다.

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

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

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

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

Link to this section시작하기#

Link to this sectionComet 설치#

pip install comet_ml

Link to this sectionComet 자격 증명 구성#

YOLOv5에서 Comet을 구성하는 방법에는 두 가지가 있습니다.

자격 증명을 환경 변수를 통해 설정하거나, 작업 디렉토리에 .comet.config 파일을 생성하고 해당 위치에 자격 증명을 설정할 수 있습니다.

Link to this section환경 변수#

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

Link to this sectionComet 구성 파일#

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

Link to this section학습 스크립트 실행#

# 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 실험

Link to this section직접 시도해 보십시오!#

완료된 실행 예시를 확인해 보십시오.

더 나아가 이 Colab Notebook에서 직접 시도해 보십시오.

Link to this section자동 기록#

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

Link to this section지표#

  • 학습 및 검증 데이터를 위한 Box Loss, Object Loss 및 Classification Loss
  • 검증 데이터를 위한 mAP_0.5, mAP_0.5:0.95 지표
  • 검증 데이터를 위한 정밀도(Precision) 및 재현율(Recall)

Link to this section매개변수#

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

Link to this section시각화#

  • 검증 데이터에 대한 모델 예측의 혼동 행렬(Confusion Matrix)
  • 모든 클래스에 걸친 PR 및 F1 곡선 그래프
  • 클래스 라벨의 상관도(Correlogram)

Link to this sectionComet 로깅 구성#

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

Link to this sectionComet을 통한 체크포인트 기록#

모델을 Comet에 기록하는 기능은 기본적으로 비활성화되어 있습니다. 이를 활성화하려면 save-period 인수를 학습 스크립트에 전달하십시오. 이렇게 하면 save-period로 제공된 간격 값에 따라 기록된 체크포인트가 Comet에 저장됩니다.

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

Link to this section모델 예측 기록#

기본적으로 모델 예측(이미지, 정답 라벨, 경계 상자)은 Comet에 기록됩니다. bbox_interval 명령줄 인수를 전달하여 기록된 예측 및 관련 이미지의 빈도를 제어할 수 있습니다. 예측은 Comet의 객체 탐지 사용자 지정 패널을 사용하여 시각화할 수 있습니다. 이 빈도는 에포크당 N번째 데이터 배치에 해당합니다. 아래 예시에서는 각 에포크마다 2번째 데이터 배치마다 기록하고 있습니다.

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

여기 패널을 사용하는 예시 프로젝트가 있습니다.

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

Link to this sectionComet에 기록되는 예측 이미지 수 제어#

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

Link to this section클래스 수준 지표 기록#

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

Link to this sectionComet Artifacts에 데이터셋 업로드#

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

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

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

Link to this section저장된 Artifact 사용하기#

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

Artifact를 사용하면 데이터가 실험 워크플로우를 통과할 때 데이터의 계보를 추적할 수도 있습니다. 여기에서 업로드된 데이터셋을 사용한 모든 실험을 보여주는 그래프를 확인할 수 있습니다.

Comet 실험 워크플로, YOLOv5

Link to this section학습 실행 재개#

인터넷 연결 끊김 등으로 인해 학습 실행이 중단된 경우, resume 플래그와 Comet Run Path를 사용하여 실행을 재개할 수 있습니다.

실행 경로는 comet://<your workspace name>/<your project name>/<experiment id> 형식을 따릅니다.

이렇게 하면 체크포인트에서 모델을 복원하고, 모든 하이퍼파라미터 및 학습 인수를 복원하며, 원본 실행에서 사용된 경우 Comet 데이터셋 Artifact를 다운로드하는 등 중단 전 상태로 실행이 복원됩니다. 재개된 실행은 Comet UI의 기존 실험에 계속 기록됩니다.

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

Link to this sectionComet Optimizer를 사용한 하이퍼파라미터 검색#

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

Link to this sectionOptimizer 스윕 구성#

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

Link to this section스윕 병렬 실행#

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

Comet은 스윕 결과를 시각화하는 다양한 방법을 제공합니다. 완료된 스윕이 포함된 프로젝트를 확인해 보십시오:

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

Link to this section계속 소통하기#

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

물론, Ultralytics 커뮤니티에도 참여해 보십시오. YOLOv5 학습, 검증, 배포에 관한 질문을 하고 팁을 공유할 수 있는 공간입니다.

Explore solutions

Real-time AI that works with your team

로봇 공학에서의 AI

Ultralytics YOLO 모델로 더 스마트한 기기를 구동하십시오. 로봇 공학의 비전 AI는 자율 주행, 인식, 객체 추적 및 실시간 제어를 촉진합니다.
더 알아보기
Real-time AI that works with your team

물류 분야의 AI

Ultralytics YOLO 모델로 물류 프로세스를 간소화하십시오. 비전 AI를 통해 패키지 검사, 분류, 차량 추적 및 실시간 창고 안전 모니터링이 가능합니다.
더 알아보기
Real-time AI that works with your team

소매업에서의 AI

Ultralytics YOLO 모델로 소매업을 재구상하십시오. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리 및 더 스마트한 고객 인사이트를 지원합니다.
더 알아보기
Real-time AI that works with your team

의료 분야의 AI

Ultralytics YOLO 모델로 의료 솔루션을 구축하십시오. 의료 분야의 비전 AI는 더 빠른 의료 영상 분석, 더 스마트한 진단 및 환자 모니터링을 지원합니다.
더 알아보기
Real-time AI that works with your team

제조 분야의 AI

Ultralytics YOLO 모델로 제조 공정을 최적화하십시오. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수 및 조립 라인 자동화를 주도합니다.
더 알아보기
Real-time AI that works with your operation

자동차 분야의 AI

Ultralytics YOLO 모델을 통해 자동차 분야에 컴퓨터 비전을 적용하십시오. 비전 AI는 도로 안전, 운전자 보조 및 차량 자동화를 향상하여 더 스마트한 도로를 만듭니다.
더 알아보기
Real-time AI tailored to your operation

농업 분야의 AI

Ultralytics YOLO 모델을 통해 스마트 농업에 비전 AI를 도입하십시오. 작물 모니터링, 가축 추적 및 정밀 농업을 강화하여 더 높고 스마트한 생산량을 달성하십시오.
더 알아보기
Real-time AI that works with your team

로봇 공학에서의 AI

Ultralytics YOLO 모델로 더 스마트한 기기를 구동하십시오. 로봇 공학의 비전 AI는 자율 주행, 인식, 객체 추적 및 실시간 제어를 촉진합니다.
더 알아보기
Real-time AI that works with your team

물류 분야의 AI

Ultralytics YOLO 모델로 물류 프로세스를 간소화하십시오. 비전 AI를 통해 패키지 검사, 분류, 차량 추적 및 실시간 창고 안전 모니터링이 가능합니다.
더 알아보기
Real-time AI that works with your team

소매업에서의 AI

Ultralytics YOLO 모델로 소매업을 재구상하십시오. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리 및 더 스마트한 고객 인사이트를 지원합니다.
더 알아보기
Real-time AI that works with your team

의료 분야의 AI

Ultralytics YOLO 모델로 의료 솔루션을 구축하십시오. 의료 분야의 비전 AI는 더 빠른 의료 영상 분석, 더 스마트한 진단 및 환자 모니터링을 지원합니다.
더 알아보기
Real-time AI that works with your team

제조 분야의 AI

Ultralytics YOLO 모델로 제조 공정을 최적화하십시오. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수 및 조립 라인 자동화를 주도합니다.
더 알아보기
Real-time AI that works with your operation

자동차 분야의 AI

Ultralytics YOLO 모델을 통해 자동차 분야에 컴퓨터 비전을 적용하십시오. 비전 AI는 도로 안전, 운전자 보조 및 차량 자동화를 향상하여 더 스마트한 도로를 만듭니다.
더 알아보기
Real-time AI tailored to your operation

농업 분야의 AI

Ultralytics YOLO 모델을 통해 스마트 농업에 비전 AI를 도입하십시오. 작물 모니터링, 가축 추적 및 정밀 농업을 강화하여 더 높고 스마트한 생산량을 달성하십시오.
더 알아보기
Real-time AI that works with your team

로봇 공학에서의 AI

Ultralytics YOLO 모델로 더 스마트한 기기를 구동하십시오. 로봇 공학의 비전 AI는 자율 주행, 인식, 객체 추적 및 실시간 제어를 촉진합니다.
더 알아보기
Real-time AI that works with your team

물류 분야의 AI

Ultralytics YOLO 모델로 물류 프로세스를 간소화하십시오. 비전 AI를 통해 패키지 검사, 분류, 차량 추적 및 실시간 창고 안전 모니터링이 가능합니다.
더 알아보기
Real-time AI that works with your team

소매업에서의 AI

Ultralytics YOLO 모델로 소매업을 재구상하십시오. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리 및 더 스마트한 고객 인사이트를 지원합니다.
더 알아보기
Real-time AI that works with your team

의료 분야의 AI

Ultralytics YOLO 모델로 의료 솔루션을 구축하십시오. 의료 분야의 비전 AI는 더 빠른 의료 영상 분석, 더 스마트한 진단 및 환자 모니터링을 지원합니다.
더 알아보기
Real-time AI that works with your team

제조 분야의 AI

Ultralytics YOLO 모델로 제조 공정을 최적화하십시오. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수 및 조립 라인 자동화를 주도합니다.
더 알아보기
Real-time AI that works with your operation

자동차 분야의 AI

Ultralytics YOLO 모델을 통해 자동차 분야에 컴퓨터 비전을 적용하십시오. 비전 AI는 도로 안전, 운전자 보조 및 차량 자동화를 향상하여 더 스마트한 도로를 만듭니다.
더 알아보기
Real-time AI tailored to your operation

농업 분야의 AI

Ultralytics YOLO 모델을 통해 스마트 농업에 비전 AI를 도입하십시오. 작물 모니터링, 가축 추적 및 정밀 농업을 강화하여 더 높고 스마트한 생산량을 달성하십시오.
더 알아보기

미래의 AI를 함께 구축합시다!

머신 러닝의 미래와 함께 여정을 시작하십시오.