Skip to main content

Try in Colab

Ultralytics는 이미지 분류, 오브젝트 검출, 이미지 세분화 및 포즈 추정과 같은 작업을 위한 최첨단 컴퓨터 비전 모델의 본거지입니다. 실시간 오브젝트 검출 모델인 YOLO 시리즈의 최신 반복인 YOLOv8뿐만 아니라 SAM (Segment Anything Model), RT-DETR, YOLO-NAS 등과 같은 다른 강력한 컴퓨터 비전 모델도 호스팅합니다. Ultralytics는 이러한 모델의 구현을 제공하는 것 외에도 사용하기 쉬운 API를 사용하여 이러한 모델을 트레이닝, 파인튜닝 및 적용할 수 있는 즉시 사용 가능한 워크플로우를 제공합니다.

시작하기

  1. ultralyticswandb를 설치합니다.
    • 커맨드 라인
    • 노트북
        pip install --upgrade ultralytics==8.0.238 wandb
    
        # or
        # conda install ultralytics
    
    개발팀은 ultralyticsv8.0.238 이하 버전과의 통합을 테스트했습니다. 통합에 대한 문제가 있으면 yolov8 태그를 사용하여 GitHub issue를 생성하세요.

Experiments 추적 및 검증 결과 시각화

Try in Colab

이 섹션에서는 트레이닝, 파인튜닝 및 검증을 위해 Ultralytics 모델을 사용하고, W&B를 사용하여 experiment 추적, 모델-체크포인트, 모델 성능 시각화를 수행하는 일반적인 워크플로우를 보여줍니다. 다음 리포트에서 통합에 대해 확인할 수도 있습니다: W&B로 Ultralytics 강화 Ultralytics와 W&B 통합을 사용하려면 wandb.integration.ultralytics.add_wandb_callback 함수를 가져옵니다.
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO
선택한 YOLO 모델을 초기화하고 모델로 추론을 수행하기 전에 add_wandb_callback 함수를 호출합니다. 이렇게 하면 트레이닝, 파인튜닝, 검증 또는 추론을 수행할 때 experiment 로그와 이미지가 자동으로 저장되고, 컴퓨터 비전 작업을 위한 대화형 오버레이를 사용하여 각각의 예측 결과와 함께 W&B의 wandb.Table에 추가 인사이트와 함께 오버레이됩니다.
# 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)

# W&B run 종료
wandb.finish()
다음은 Ultralytics 트레이닝 또는 파인튜닝 워크플로우에 대해 W&B를 사용하여 추적된 Experiments의 모습입니다. 다음은 W&B Table을 사용하여 에포크별 검증 결과를 시각화하는 방법입니다.

예측 결과 시각화

Try in Colab

이 섹션에서는 추론을 위해 Ultralytics 모델을 사용하고 W&B를 사용하여 결과를 시각화하는 일반적인 워크플로우를 보여줍니다. Google Colab에서 코드를 사용해 볼 수 있습니다: Colab에서 열기. 다음 리포트에서 통합에 대해 확인할 수도 있습니다: W&B로 Ultralytics 강화 Ultralytics와 W&B 통합을 사용하려면 wandb.integration.ultralytics.add_wandb_callback 함수를 가져와야 합니다.
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 run을 초기화합니다.
# W&B run 초기화
wandb.init(project="ultralytics", job_type="inference")
다음으로 원하는 YOLO 모델을 초기화하고 모델로 추론을 수행하기 전에 add_wandb_callback 함수를 호출합니다. 이렇게 하면 추론을 수행할 때 컴퓨터 비전 작업을 위한 대화형 오버레이와 함께 wandb.Table에 추가 인사이트와 함께 이미지가 자동으로 기록됩니다.
# YOLO 모델 초기화
model = YOLO("yolov8n.pt")

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

# W&B 테이블에 자동으로 기록되는 예측 수행
# 경계 상자, 세분화 마스크에 대한 대화형 오버레이 포함
model(
    [
        "./assets/img1.jpeg",
        "./assets/img3.png",
        "./assets/img4.jpeg",
        "./assets/img5.jpeg",
    ]
)

# W&B run 종료
wandb.finish()
트레이닝 또는 파인튜닝 워크플로우의 경우 wandb.init()을 사용하여 명시적으로 run을 초기화할 필요가 없습니다. 그러나 코드에 예측만 포함된 경우 run을 명시적으로 생성해야 합니다. 다음은 대화형 bbox 오버레이의 모습입니다. W&B 이미지 오버레이에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

추가 자료