Ultralytics
3 minute read
Ultralytics는 이미지 분류, 오브젝트 검출, 이미지 세분화 및 포즈 추정과 같은 작업을 위한 최첨단 컴퓨터 비전 모델의 본거지입니다. 실시간 오브젝트 검출 모델인 YOLO 시리즈의 최신 반복인 YOLOv8뿐만 아니라 SAM (Segment Anything Model), RT-DETR, YOLO-NAS 등과 같은 다른 강력한 컴퓨터 비전 모델도 호스팅합니다. Ultralytics는 이러한 모델의 구현을 제공하는 것 외에도 사용하기 쉬운 API를 사용하여 이러한 모델을 트레이닝, 파인튜닝 및 적용할 수 있는 즉시 사용 가능한 워크플로우를 제공합니다.
시작하기
-
ultralytics
와wandb
를 설치합니다.```shell pip install --upgrade ultralytics==8.0.238 wandb # or # conda install ultralytics ```
```bash !pip install --upgrade ultralytics==8.0.238 wandb ```
개발팀은
ultralyticsv8.0.238
이하 버전과의 통합을 테스트했습니다. 통합에 대한 문제가 있으면yolov8
태그를 사용하여 GitHub issue를 생성하세요.
Experiments 추적 및 검증 결과 시각화
이 섹션에서는 트레이닝, 파인튜닝 및 검증을 위해 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의 모습입니다.
YOLO Fine-tuning Experiments
다음은 W&B Table을 사용하여 에포크별 검증 결과를 시각화하는 방법입니다.
WandB Validation Visualization Table
예측 결과 시각화
이 섹션에서는 추론을 위해 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 오버레이의 모습입니다.
WandB Image Overlay
W&B 이미지 오버레이에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
추가 자료
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.