Link to this sectionYOLO26 학습 향상: Comet으로 로깅 프로세스 간소화하기#
파라미터, 메트릭, 이미지 예측, 모델 체크포인트와 같은 핵심 학습 세부 정보를 로깅하는 것은 머신러닝에서 필수적입니다. 이를 통해 프로젝트의 투명성을 유지하고, 진행 상황을 측정하며, 결과를 재현할 수 있습니다.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26은 Comet(구 Comet ML)과 원활하게 통합되어 YOLO26 객체 감지 모델의 학습 프로세스 전반을 효율적으로 캡처하고 최적화합니다. 이 가이드에서는 설치 과정, Comet 설정, 실시간 인사이트, 사용자 지정 로깅 및 오프라인 사용 방법을 다루어, 사용자의 YOLO26 학습이 철저히 기록되고 최상의 결과를 위해 미세 조정되도록 지원합니다.
Link to this sectionComet#
Comet은 머신러닝 모델과 실험을 추적, 비교, 설명 및 최적화하기 위한 플랫폼입니다. 이 플랫폼을 사용하면 모델 학습 중에 메트릭, 파라미터, 미디어 등을 로깅하고 시각적으로 뛰어난 웹 인터페이스를 통해 실험을 모니터링할 수 있습니다. Comet은 데이터 과학자가 더 빠르게 반복하고 투명성과 재현성을 강화하며, 프로덕션 모델을 개발하는 데 도움을 줍니다.
Link to this sectionYOLO26과 Comet의 기능 활용하기#
Ultralytics YOLO26과 Comet을 결합하면 다양한 이점을 얻을 수 있습니다. 여기에는 간소화된 실험 관리, 빠른 조정을 위한 실시간 인사이트, 유연하고 맞춤화된 로깅 옵션, 인터넷 연결이 제한된 환경에서 오프라인으로 실험을 로깅하는 기능이 포함됩니다. 이 통합을 통해 데이터 기반 의사결정을 내리고 성능 메트릭을 분석하며 뛰어난 결과를 얻을 수 있습니다.
Link to this section설치#
필수 패키지를 설치하려면 다음을 실행하십시오:
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvisionLink to this sectionComet 구성하기#
필요한 패키지를 설치한 후, 가입하여 Comet API Key를 획득하고 구성해야 합니다.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY그 후 Comet 프로젝트를 초기화할 수 있습니다. Comet은 자동으로 API 키를 감지하고 설정을 진행합니다.
import comet_ml
comet_ml.login(project_name="comet-example-yolo26-coco128")Google Colab 노트북을 사용하는 경우, 위 코드를 실행하면 초기화를 위해 API 키를 입력하라는 메시지가 표시됩니다.
Link to this section사용법#
사용 지침을 살펴보기 전에 Ultralytics에서 제공하는 다양한 YOLO26 모델을 확인하십시오. 이는 프로젝트 요구 사항에 가장 적합한 모델을 선택하는 데 도움이 됩니다.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train the model
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)학습 코드를 실행하면 Comet은 워크스페이스에 실험을 생성하여 실행을 자동으로 추적합니다. 이후 YOLO26 모델의 학습 프로세스에 대한 상세 로깅을 볼 수 있는 링크가 제공됩니다.
Comet은 별도의 추가 구성 없이 다음 데이터를 자동으로 로깅합니다: mAP 및 손실(loss)과 같은 메트릭, 하이퍼파라미터, 모델 체크포인트, 대화형 혼동 행렬(confusion matrix), 이미지 경계 상자(bounding box) 예측.
Link to this sectionComet 시각화를 통한 모델 성능 이해#
YOLO26 모델 학습이 시작되면 Comet 대시보드에서 무엇을 볼 수 있는지 살펴보겠습니다. 대시보드는 모든 작업이 이루어지는 곳으로, 시각 자료와 통계를 통해 자동으로 로깅된 다양한 정보를 제공합니다. 다음은 간단한 둘러보기입니다:
실험 패널(Experiment Panels)
Comet 대시보드의 실험 패널 섹션은 다양한 실행과 세그먼트 마스크 손실, 클래스 손실, 정밀도 및 평균 정밀도(mAP)와 같은 메트릭을 정리하여 보여줍니다.
Metrics
메트릭 섹션에서는 여기 설명된 것처럼 전용 창에 표시되는 표 형식으로 메트릭을 검토할 수도 있습니다.
Confusion Matrix 탭에서 찾을 수 있는 혼동 행렬은 모델의 분류 정확도(accuracy)를 평가하는 대화형 방법을 제공합니다. 이 행렬은 정답과 오답 예측을 자세히 보여주어 모델의 강점과 약점을 파악할 수 있게 합니다.
시스템 메트릭
Comet은 학습 프로세스의 병목 현상을 식별하는 데 도움이 되도록 시스템 메트릭을 로깅합니다. 여기에는 GPU 활용률, GPU 메모리 사용량, CPU 활용률, RAM 사용량이 포함됩니다. 이는 모델 학습 중 리소스 사용 효율성을 모니터링하는 데 필수적입니다.
Link to this sectionComet 로깅 사용자 지정#
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). 사용 중단 경고가 발생합니다. |
Link to this section이미지 예측 로깅#
실험 중에 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"Link to this section배치 로깅 간격#
Comet을 사용하면 이미지 예측 배치가 로깅되는 빈도를 지정할 수 있습니다. COMET_EVAL_BATCH_LOGGING_INTERVAL 환경 변수가 이 빈도를 제어합니다. 기본 설정은 1이며, 모든 검증 배치의 예측을 로깅합니다. 이 값을 조정하여 다른 간격으로 예측을 로깅할 수 있습니다. 예를 들어 4로 설정하면 4번째 배치마다 예측이 로깅됩니다.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Link to this section혼동 행렬 로깅 비활성화#
경우에 따라 매 에포크(epoch)마다 검증 세트의 혼동 행렬을 로깅하고 싶지 않을 수 있습니다. COMET_EVAL_LOG_CONFUSION_MATRIX 환경 변수를 "false"로 설정하여 이 기능을 비활성화할 수 있습니다. 이 경우 혼동 행렬은 학습이 완료된 후 한 번만 로깅됩니다.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Link to this section온라인 및 오프라인 모드#
기본적으로 Comet은 온라인 모드에서 실행되며 실험 데이터를 Comet 서버로 스트리밍합니다. 인터넷 연결 없이 학습해야 하는 경우 학습 시작 전에 COMET_START_ONLINE=0을 설정하십시오. 실험 데이터는 로컬에 저장되며 나중에 comet upload CLI를 사용하여 업로드할 수 있습니다.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (default) = online, 0 = offline이전 버전에서는 이 목적으로 COMET_MODE="offline"을 사용했습니다. 이 변수는 이전 버전과의 호환성을 위해 여전히 지원되지만 사용 중단 경고가 발생합니다. 향후에는 COMET_START_ONLINE을 사용하십시오.
Link to this section프로젝트 이름#
기본적으로 Comet 콜백은 YOLO project 학습 인수를 Comet에 전달합니다(인수가 설정되지 않은 경우 None이 전달되며, 이 경우 Comet은 워크스페이스 기본값을 사용합니다). YOLO 학습 인수와 관계없이 모든 실험을 특정 Comet 워크스페이스 프로젝트로 보내려면 COMET_PROJECT_NAME으로 이를 재정의하십시오:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Link to this section모델 아티팩트 이름#
COMET_MODEL_NAME은 로깅된 모델 아티팩트에 대해 Comet이 등록하는 이름을 설정합니다(기본값 Ultralytics). 공유 워크스페이스에서 모델 변형을 구별하는 데 사용하십시오:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Link to this section신뢰도 점수 스케일링#
감지 신뢰도 점수는 [0, 1] 범위로 출력되지만, Comet UI는 기본적으로 이를 백분율 척도로 표시합니다. 콜백은 로깅 전에 각 점수에 COMET_MAX_CONFIDENCE_SCORE(기본값 100.0)를 곱합니다. 원시 확률이나 다른 척도를 선호하는 경우 이를 조정하십시오:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scoresLink to this section요약#
이 가이드에서는 Comet과 Ultralytics YOLO26을 통합하는 방법을 살펴보았습니다. 설치부터 사용자 지정까지 실험 관리를 간소화하고 실시간 인사이트를 얻으며 프로젝트 요구 사항에 맞게 로깅을 조정하는 방법을 배웠습니다.
YOLO26 프로젝트에도 적용되는 Comet의 공식 YOLOv8 통합 문서를 확인해 보십시오.
또한 YOLO26의 실제 적용 사례, 특히 이미지 세분화(image segmentation) 작업에 대해 더 자세히 알아보려면, Comet으로 YOLO26 미세 조정하기에 대한 이 상세 가이드가 모델 성능을 향상시키는 데 귀중한 통찰력과 단계별 지침을 제공합니다.
또한 Ultralytics의 다른 흥미로운 통합 기능을 살펴보려면 풍부한 리소스와 정보를 제공하는 통합 가이드 페이지를 확인하십시오.
Link to this sectionFAQ#
Link to this sectionUltralytics YOLO26 학습을 위해 Comet을 어떻게 통합합니까?#
Comet을 Ultralytics YOLO26과 통합하려면 다음 단계를 따르십시오:
-
필요한 패키지 설치:
pip install ultralytics comet_ml torch torchvision -
Comet API Key 설정:
export COMET_API_KEY=YOUR_API_KEY -
Python 코드에서 Comet 프로젝트 초기화:
import comet_ml comet_ml.login(project_name="comet-example-yolo26-coco128") -
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 구성 섹션을 참조하십시오.
Link to this sectionYOLO26과 함께 Comet을 사용할 때의 이점은 무엇입니까?#
Ultralytics YOLO26을 Comet과 통합하면 다음을 수행할 수 있습니다:
- 실시간 인사이트 모니터링: 학습 결과에 대한 즉각적인 피드백을 받아 빠르게 조정할 수 있습니다.
- 광범위한 메트릭 로깅: mAP, 손실, 하이퍼파라미터, 모델 체크포인트와 같은 필수 메트릭을 자동으로 캡처합니다.
- 오프라인 실험 추적: 인터넷을 사용할 수 없을 때 학습 실행을 로컬로 로깅합니다.
- 다양한 학습 실행 비교: 대화형 Comet 대시보드를 사용하여 여러 실험을 분석하고 비교합니다.
이러한 기능을 활용하여 더 나은 성능과 재현성을 위해 머신러닝 워크플로우를 최적화할 수 있습니다. 자세한 내용은 Comet 통합 가이드를 방문하십시오.
Link to this sectionYOLO26 학습 중 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 로깅 사용자 지정 섹션을 참조하십시오.
Link to this sectionComet에서 YOLO26 학습의 상세 메트릭과 시각화를 어떻게 볼 수 있습니까?#
YOLO26 모델 학습이 시작되면 Comet 대시보드에서 광범위한 메트릭과 시각화 자료에 액세스할 수 있습니다. 주요 기능은 다음과 같습니다:
- 실험 패널: 세그먼트 마스크 손실, 클래스 손실, 평균 정밀도(precision)을 포함한 다양한 실행과 메트릭을 확인합니다.
- 메트릭: 상세 분석을 위해 메트릭을 표 형식으로 검토합니다.
- 대화형 혼동 행렬: 대화형 혼동 행렬을 사용하여 분류 정확도를 평가합니다.
- 시스템 메트릭: GPU 및 CPU 활용률, 메모리 사용량 및 기타 시스템 메트릭을 모니터링합니다.
이러한 기능에 대한 자세한 개요는 Comet 시각화를 통한 모델 성능 이해 섹션을 방문하십시오.
Link to this sectionYOLO26 모델 학습 시 오프라인 로깅을 위해 Comet을 사용할 수 있습니까?#
예. 학습 시작 전에 COMET_START_ONLINE=0을 설정하여 로컬에 로깅하십시오:
import os
os.environ["COMET_START_ONLINE"] = "0"실험 데이터는 디스크에 저장되며 나중에 연결이 가능할 때 comet upload CLI를 사용하여 Comet에 업로드할 수 있습니다. 이전의 COMET_MODE="offline" 변수는 여전히 작동하지만 사용 중단 경고가 발생합니다. 자세한 내용은 온라인 및 오프라인 모드 섹션을 참조하십시오.