메인 콘텐츠로 건너뛰기
Colab에서 실행해 보기 Ultralytics는 이미지 분류, 객체 탐지, 이미지 분할, 포즈 추정과 같은 작업을 위한 최첨단 컴퓨터 비전 모델을 위한 허브입니다. Ultralytics는 실시간 객체 탐지 모델 시리즈인 YOLO의 최신 버전인 YOLOv8뿐 아니라 SAM (Segment Anything Model), RT-DETR, YOLO-NAS 등 강력한 컴퓨터 비전 모델도 함께 호스팅합니다. 이러한 모델들의 구현을 제공할 뿐 아니라, Ultralytics는 사용하기 쉬운 API를 통해 이 모델들을 학습, 파인튜닝, 적용할 수 있는 즉시 사용 가능한 워크플로도 제공합니다.

시작하기

  1. ultralyticswandb를 설치합니다.
        pip install --upgrade ultralytics==8.0.238 wandb
    
        # 또는
        # conda install ultralytics
    
    개발팀은 ultralyticsv8.0.238 이하 버전과의 연동을 테스트했습니다. 연동 관련 문제가 있다면 yolov8 태그를 포함해 GitHub 이슈를 생성해 알려주세요.

실험을 추적하고 검증 결과를 시각화하기

Colab에서 실행해 보기 이 섹션에서는 Ultralytics 모델을 사용해 학습, 파인튜닝, 검증을 수행하는 일반적인 워크플로와 함께, W&B를 사용하여 실험을 추적하고, 모델 체크포인트를 저장하며, 모델 성능을 시각화하는 방법을 보여줍니다. 이 리포트에서 통합에 대한 내용을 추가로 확인할 수 있습니다. Supercharging Ultralytics with W&B Ultralytics와 W&B 통합을 사용하려면 wandb.integration.ultralytics.add_wandb_callback 함수를 import 하십시오.
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO
선택한 YOLO 모델을 초기화한 뒤, 모델로 추론을 수행하기 전에 해당 모델에 대해 add_wandb_callback 함수를 호출하세요. 그러면 이후 학습, 파인튜닝, 검증 또는 추론을 수행할 때마다 실험 로그와 이미지가 자동으로 저장되며, W&B의 컴퓨터 비전 작업용 대화형 오버레이를 사용해 정답(ground-truth)과 해당 예측 결과가 모두 겹쳐진 상태로 시각화됩니다. 또한, 추가적인 인사이트가 wandb.Table에도 함께 기록됩니다.
with wandb.init(project="ultralytics", job_type="train") as run:

    # YOLO 모델 초기화
    model = YOLO("yolov8n.pt")

    # Ultralytics용 W&B 콜백 추가
    add_wandb_callback(model, enable_model_checkpointing=True)

    # 모델 학습/파인튜닝
    # 각 에포크 종료 시 검증 배치에 대한 예측 결과가
    # 컴퓨터 비전 작업용 인터랙티브 오버레이와 함께
    # W&B 테이블에 기록됩니다
    model.train(project="ultralytics", data="coco128.yaml", epochs=5, imgsz=640)
Ultralytics 학습 또는 파인튜닝 워크플로에서 W&B로 추적한 실험은 다음과 같이 표시됩니다: W&B Table로 에폭별 검증 결과를 시각화하면 다음과 같습니다:

예측 결과 시각화

Colab에서 실행해 보기 이 섹션에서는 Ultralytics 모델을 사용하여 추론을 수행하고 W&B를 사용하여 결과를 시각화하는 일반적인 워크플로우를 보여줍니다. Google Colab에서 코드를 직접 실행해 볼 수 있습니다: Colab에서 열기. 통합 내용은 다음 리포트에서도 확인할 수 있습니다: Supercharging Ultralytics with W&B. Ultralytics에서 W&B 통합을 사용하려면 wandb.integration.ultralytics.add_wandb_callback 함수를 import 해야 합니다.
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics.engine.model import YOLO
통합을 테스트할 몇 개의 이미지를 다운로드하세요. 정지 이미지, 비디오 또는 카메라 소스를 사용할 수 있습니다. 추론 소스에 대한 자세한 내용은 Ultralytics 문서를 참고하세요.
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img1.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img2.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img4.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img5.png
wandb.init()을 사용해 W&B 실행을 초기화합니다. 다음으로, 사용할 YOLO 모델을 초기화한 뒤, 모델로 추론을 수행하기 전에 해당 모델에 add_wandb_callback 함수를 호출합니다. 이렇게 하면 추론을 수행할 때 컴퓨터 비전 작업을 위한 대화형 오버레이가 적용된 이미지와 추가 인사이트가 wandb.Table에 자동으로 로그됩니다.
# W&B 실행 초기화
with wandb.init(project="ultralytics", job_type="inference") as run:
    # YOLO 모델 초기화
    model = YOLO("yolov8n.pt")

    # Ultralytics용 W&B 콜백 추가
    add_wandb_callback(model, enable_model_checkpointing=True)

    # 예측 수행 - 바운딩 박스, 세그멘테이션 마스크에 대한
    # 인터랙티브 오버레이와 함께 W&B Table에 자동으로 기록됨
    model(
        [
            "./assets/img1.jpeg",
            "./assets/img3.png",
            "./assets/img4.jpeg",
            "./assets/img5.jpeg",
        ]
    )
훈련이나 파인튜닝 워크플로에서는 wandb.init()을 호출해 실행을 별도로 초기화할 필요가 없습니다. 하지만 코드에서 예측만 수행하는 경우에는 실행을 명시적으로 생성해야 합니다. 대화형 bbox 오버레이는 다음과 같이 표시됩니다: 자세한 내용은 W&B 이미지 오버레이 가이드를 참조하세요.

추가 자료