YOLO26 학습 향상: Comet으로 로깅 프로세스 간소화#
매개변수, 메트릭, 이미지 예측, 모델 체크포인트와 같은 주요 학습 세부 정보를 기록하는 일은 머신러닝에서 필수적입니다. 이를 통해 프로젝트의 투명성을 유지하고, 진행 상황을 측정하며, 결과를 재현할 수 있습니다.
시청: Ultralytics YOLO 모델 학습 로그 및 지표에 Comet을 사용하는 방법 🚀
Ultralytics YOLO26은 Comet(이전 명칭: Comet ML)과 원활하게 통합되어 YOLO26 객체 감지 모델의 학습 프로세스 전반을 효율적으로 기록하고 최적화합니다. 이 가이드에서는 설치 과정, Comet 설정, 실시간 인사이트, 사용자 지정 로깅, 오프라인 사용을 다루며, YOLO26 학습 과정을 꼼꼼히 기록하고 미세 조정하여 뛰어난 결과를 얻는 방법을 안내합니다.
Comet#
Comet은 머신러닝 모델과 실험을 추적하고, 비교하고, 설명하고, 최적화하는 플랫폼입니다. 모델 학습 중에 메트릭, 매개변수, 미디어 등을 기록하고, 보기 좋은 웹 인터페이스에서 실험을 모니터링할 수 있습니다. Comet은 데이터 과학자가 더 빠르게 반복 작업을 수행하고, 투명성과 재현성을 높이며, 프로덕션 모델을 개발하는 데 도움이 됩니다.
YOLO26과 Comet의 강력한 기능 활용#
Ultralytics YOLO26과 Comet을 결합하면 다양한 이점을 누릴 수 있습니다. 실험 관리를 간소화하고, 신속한 조정을 위한 실시간 인사이트를 제공하며, 유연하고 맞춤화된 로깅 옵션을 지원하고, 인터넷 접속이 제한된 경우 실험을 오프라인으로 기록할 수 있습니다. 이 통합을 통해 데이터에 기반한 의사 결정을 내리고, 성능 메트릭을 분석하며, 탁월한 결과를 얻을 수 있습니다.
설치#
필수 패키지를 설치하려면 다음을 실행하세요:
# Install YOLO26 and Comet
pip install ultralytics comet_mlComet 구성#
필요한 패키지를 설치한 후 가입하고 Comet API 키를 발급받아 구성해야 합니다.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY그런 다음 Comet에 인증합니다. Ultralytics 콜백은 실험을 생성하고 YOLO project 학습 인수를 Comet 프로젝트 이름으로 사용합니다.
import comet_ml
comet_ml.login()Google Colab 노트북을 사용하는 경우 위 코드를 실행하면 초기화에 사용할 API 키를 입력하라는 메시지가 표시됩니다.
사용법#
사용 안내를 자세히 살펴보기 전에 Ultralytics에서 제공하는 다양한 YOLO26 모델을 확인하세요. 이를 통해 프로젝트 요구 사항에 가장 적합한 모델을 선택할 수 있습니다.
from ultralytics import YOLO
# 모델 로드
model = YOLO("yolo26n.pt")
# 모델 학습
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)학습 코드를 실행하면 Comet이 Comet 워크스페이스에 실험을 생성하여 실행을 자동으로 추적합니다. 그런 다음 YOLO26 모델 학습 프로세스의 상세한 로그를 확인할 수 있는 링크가 제공됩니다.
Comet은 추가 구성 없이 mAP 및 손실과 같은 메트릭, 하이퍼파라미터, 모델 체크포인트, 대화형 혼동 행렬, 이미지 바운딩 박스 예측을 자동으로 기록합니다.
Comet 시각화로 모델 성능 이해하기#
YOLO26 모델 학습이 시작된 후 Comet 대시보드에서 확인할 수 있는 내용을 살펴보겠습니다. 대시보드에서는 다양한 시각 자료와 통계를 통해 자동으로 기록된 정보를 모두 확인할 수 있습니다. 주요 항목을 간략히 소개합니다.
실험 패널
Comet 대시보드의 실험 패널 섹션에서는 여러 실행과 각 실행의 메트릭을 정리해 보여줍니다. 메트릭에는 세그먼트 마스크 손실, 클래스 손실, 정밀도, 평균 정밀도 등이 포함됩니다.
메트릭
메트릭 섹션에서는 그림과 같이 별도의 패널에 표시되는 메트릭을 표 형식으로도 살펴볼 수 있습니다.
대화형 혼동 행렬
혼동 행렬 탭에서 확인할 수 있는 혼동 행렬은 모델의 분류 정확도를 평가하는 대화형 기능을 제공합니다. 올바른 예측과 잘못된 예측을 자세히 보여주므로 모델의 강점과 약점을 파악할 수 있습니다.
시스템 메트릭
Comet은 학습 프로세스의 병목 현상을 파악하는 데 도움이 되도록 시스템 메트릭을 기록합니다. 여기에는 GPU 사용률, GPU 메모리 사용량, CPU 사용률, RAM 사용량 등의 메트릭이 포함됩니다. 이러한 메트릭은 모델 학습 중 리소스 사용 효율성을 모니터링하는 데 필수적입니다.
Comet 로깅 사용자 지정#
Comet은 환경 변수를 설정하여 로깅 동작을 유연하게 사용자 지정할 수 있습니다. 이러한 구성을 통해 Comet을 특정 요구 사항과 선호도에 맞게 조정할 수 있습니다. Ultralytics 콜백은 다음 환경 변수를 읽습니다(학습을 시작하기 전에 설정하세요).
| 환경 변수 | 기본값 | 설명 |
|---|---|---|
COMET_START_ONLINE | 1 | 실험을 온라인(1) 또는 오프라인(0) 모드로 실행합니다. |
COMET_PROJECT_NAME | args.project | Comet 워크스페이스 프로젝트입니다. 설정하지 않으면 YOLO project 학습 인수를 사용합니다. |
COMET_MODEL_NAME | Ultralytics | 기록된 모델 아티팩트에 등록할 이름입니다. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | 실행당 기록할 검증 이미지 예측의 총 개수입니다. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | 검증 배치 N개마다 이미지 예측을 기록합니다. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | 이미지 예측 로깅을 켜거나(true) 끕니다(false). |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | 각 검증 에포크에서 혼동 행렬을 기록합니다. 학습 종료 시에는 최종 행렬이 항상 기록됩니다. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | 기록 전에 감지 신뢰도 점수에 적용하는 배수입니다(Comet UI에서는 백분율 척도를 사용합니다). |
COMET_MODE (사용 중단 예정) | online | COMET_START_ONLINE의 이전 버전 별칭입니다("online" ↔ 1, "offline" ↔ 0). 사용 중단 경고가 표시됩니다. |
불리언 토글(COMET_EVAL_LOG_IMAGE_PREDICTIONS 및 COMET_EVAL_LOG_CONFUSION_MATRIX)의 경우 1, true, yes, on, y, t 값은 True로 파싱됩니다(대소문자 구분 없음). 그 외의 값은 False입니다.
이미지 예측 기록#
실험 중 Comet이 기록하는 이미지 예측 개수를 제어할 수 있습니다. 기본적으로 Comet은 검증 세트에서 이미지 예측 100개를 기록합니다. 필요에 따라 이 개수를 변경할 수 있습니다. 예를 들어 이미지 예측 200개를 기록하려면 다음 코드를 사용합니다.
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"이미지 예측 로깅을 완전히 비활성화하려면(예: 연결 속도가 느릴 때 업로드 용량을 줄이려는 경우) COMET_EVAL_LOG_IMAGE_PREDICTIONS을 "false"로 설정합니다.
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"배치 로깅 간격#
Comet에서는 이미지 예측 배치를 기록하는 빈도를 지정할 수 있습니다. COMET_EVAL_BATCH_LOGGING_INTERVAL 환경 변수가 이 빈도를 제어합니다. 기본값은 1이며, 이 경우 모든 검증 배치의 예측을 기록합니다. 이 값을 조정하여 다른 간격으로 예측을 기록할 수 있습니다. 예를 들어 4로 설정하면 네 번째 배치마다 예측을 기록합니다.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"혼동 행렬 로깅 비활성화#
경우에 따라 검증 세트의 혼동 행렬을 각 에포크 이후에 기록하지 않으려는 경우가 있습니다. COMET_EVAL_LOG_CONFUSION_MATRIX 환경 변수를 "false"로 설정하면 이 기능을 비활성화할 수 있습니다. 혼동 행렬은 학습 완료 후 한 번만 기록됩니다.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"온라인 및 오프라인 모드#
기본적으로 Comet은 온라인 모드로 실행되며 실험 데이터를 Comet 서버로 스트리밍합니다. 인터넷에 연결하지 않고 학습해야 하는 경우 학습을 시작하기 전에 COMET_START_ONLINE=0을 설정합니다. 실험 데이터는 로컬에 저장되며 나중에 comet upload CLI로 업로드할 수 있습니다.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (기본값) = 온라인, 0 = 오프라인이전 버전에서는 이 용도로 COMET_MODE="offline"을 사용했습니다. 이전 버전과의 호환성을 위해 이 변수는 계속 지원되지만 사용 중단 경고가 표시됩니다. 앞으로는 COMET_START_ONLINE을 사용하세요.
프로젝트 이름#
기본적으로 Comet 콜백은 YOLO project 학습 인수를 Comet에 전달합니다(인수가 설정되지 않은 경우 None을 전달하며, 이때 Comet은 워크스페이스 기본값을 사용합니다). YOLO 학습 인수와 관계없이 모든 실험을 특정 Comet 워크스페이스 프로젝트로 보내려면 COMET_PROJECT_NAME로 재정의합니다.
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"모델 아티팩트 이름#
COMET_MODEL_NAME은 Comet에 기록된 모델 아티팩트를 등록할 이름을 설정합니다(기본값은 Ultralytics입니다). 공유 워크스페이스에서 모델 변형을 구분할 때 사용하세요.
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"신뢰도 점수 조정#
감지 신뢰도 점수는 [0, 1] 범위로 출력되지만, Comet UI는 기본적으로 백분율 척도로 표시합니다. 콜백은 기록하기 전에 각 점수에 COMET_MAX_CONFIDENCE_SCORE을 곱합니다(기본값은 100.0입니다). 원시 확률이나 다른 척도를 선호하는 경우 값을 조정하세요.
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # 원시 [0, 1] 점수 기록요약#
이 가이드에서는 Comet을 Ultralytics의 YOLO26과 통합하는 방법을 안내했습니다. 설치부터 사용자 지정까지, 실험 관리를 간소화하고 실시간 인사이트를 얻으며 프로젝트 요구 사항에 맞게 로깅을 조정하는 방법을 알아보았습니다.
YOLO26 프로젝트에도 적용되는 Comet 공식 YOLOv8 통합 문서를 살펴보세요.
또한 이미지 분할 작업에 특히 초점을 맞춰 YOLO26의 실제 적용 사례를 자세히 알아보고 싶다면, Comet을 사용한 YOLO26 미세 조정에 관한 이 상세 가이드에서 모델 성능을 개선하는 데 유용한 인사이트와 단계별 안내를 확인할 수 있습니다.
또한 Ultralytics의 다른 유용한 통합 기능을 살펴보려면 다양한 자료와 정보를 제공하는 통합 가이드 페이지를 참조하세요.
자주 묻는 질문#
Comet을 Ultralytics YOLO26과 통합하려면 다음 단계를 따르세요.
-
필요한 패키지 설치:
pip install ultralytics comet_ml -
Comet API 키 설정:
export COMET_API_KEY=YOUR_API_KEY -
Python 코드에서 Comet 인증:
import comet_ml comet_ml.login() -
YOLO26 모델을 학습하고 메트릭 기록:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.train( data="coco8.yaml", project="comet-example-yolo26-coco128", batch=32, save_period=1, save_json=True, epochs=3, )
자세한 안내는 Comet 구성 섹션을 참조하세요.
-
Ultralytics YOLO26을 Comet과 통합하면 다음과 같은 작업을 수행할 수 있습니다.
- 실시간 인사이트 모니터링: 학습 결과에 대한 즉각적인 피드백을 받아 빠르게 조정할 수 있습니다.
- 다양한 메트릭 기록: mAP, loss, 하이퍼파라미터, 모델 체크포인트와 같은 필수 메트릭을 자동으로 캡처합니다.
- 오프라인에서 실험 추적: 인터넷에 연결할 수 없을 때 학습 실행 기록을 로컬에 저장합니다.
- 다양한 학습 실행 비교: 대화형 Comet 대시보드를 사용해 여러 실험을 분석하고 비교할 수 있습니다.
이러한 기능을 활용하면 성능과 재현성을 높이도록 머신러닝 워크플로를 최적화할 수 있습니다. 자세한 내용은 Comet 통합 가이드를 참조하세요.
Comet에서는 환경 변수를 사용해 로깅 동작을 폭넓게 사용자 지정할 수 있습니다.
-
기록할 이미지 예측 수 변경:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
배치 로깅 간격 조정:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
혼동 행렬 로깅 비활성화:
import os os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false" -
Comet 프로젝트 이름 설정:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
기록되는 모델 아티팩트 이름 설정:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
이미지 예측 토글, 신뢰도 점수 스케일링, 온라인/오프라인 모드 등을 포함한 전체 목록은 Comet 로깅 사용자 지정 섹션을 참조하세요.
-
YOLO26 모델 학습이 시작되면 Comet 대시보드에서 다양한 메트릭과 시각화를 확인할 수 있습니다. 주요 기능은 다음과 같습니다.
- 실험 패널: 세그먼트 마스크 손실, 클래스 손실, 평균 정밀도를 포함해 다양한 실행과 메트릭을 확인합니다.
- 메트릭: 상세 분석을 위해 메트릭을 표 형식으로 살펴봅니다.
- 대화형 혼동 행렬: 대화형 혼동 행렬을 사용해 분류 정확도를 평가합니다.
- 시스템 메트릭: GPU 및 CPU 사용률, 메모리 사용량, 기타 시스템 메트릭을 모니터링합니다.
이러한 기능에 대한 자세한 개요는 Comet 시각화로 모델 성능 이해하기 섹션을 참조하세요.
예. 학습을 시작하기 전에
COMET_START_ONLINE=0을 설정하면 로컬에 기록할 수 있습니다.import os os.environ["COMET_START_ONLINE"] = "0"실험 데이터는 디스크에 저장되며, 연결이 가능할 때
comet uploadCLI를 사용해 나중에 Comet에 업로드할 수 있습니다. 이전COMET_MODE="offline"변수도 계속 사용할 수 있지만, 사용 중단 경고가 표시됩니다. 자세한 내용은 온라인 및 오프라인 모드 섹션을 참조하세요.