> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Ultralytics YOLO

> 실험 추적, 모델 체크포인트 저장, 컴퓨터 비전 시각화를 위해 Ultralytics YOLO 모델과 함께 W&B를 사용하세요.

export const ColabLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="colab-link">
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01.21.03zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z" />
    </svg>
    Colab에서 사용해 보기
  </a>;

<ColabLink url="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/ultralytics/01_train_val.ipynb" />

[Ultralytics](https://github.com/ultralytics/ultralytics)는 이미지 분류, 객체 감지, 이미지 분할, 자세 추정과 같은 작업을 위한 최신 컴퓨터 비전 모델을 제공하는 대표적인 플랫폼입니다. 실시간 객체 감지 모델인 YOLO 계열의 최신 버전 [YOLOv8](https://docs.ultralytics.com/models/yolov8/)뿐 아니라, [SAM (Segment Anything Model)](https://docs.ultralytics.com/models/sam/#introduction-to-sam-the-segment-anything-model), [RT-DETR](https://docs.ultralytics.com/models/rtdetr/), [YOLO-NAS](https://docs.ultralytics.com/models/yolo-nas/) 등 강력한 다른 컴퓨터 비전 모델도 제공합니다. Ultralytics는 이러한 모델의 구현을 제공할 뿐만 아니라, 사용하기 쉬운 API를 통해 이 모델들을 트레이닝하고, 파인튜닝하고, 적용할 수 있는 즉시 활용 가능한 워크플로도 함께 제공합니다.

<div id="get-started">
  ## 시작하기
</div>

1. `ultralytics`와 `wandb`를 설치합니다.

   <Tabs>
     <Tab title="명령줄">
       ```shell theme={null}
           pip install --upgrade ultralytics==8.0.238 wandb

           # 또는
           # conda install ultralytics
       ```
     </Tab>

     <Tab title="노트북">
       ```bash theme={null}
           !pip install --upgrade ultralytics==8.0.238 wandb
       ```
     </Tab>
   </Tabs>

   개발팀은 이 인테그레이션을 `ultralytics v8.0.238` 이하 버전에서 테스트했습니다. 인테그레이션 관련 문제를 보고하려면 `yolov8` 태그를 포함해 [GitHub 이슈](https://github.com/wandb/wandb/issues/new?template=sdk-bug.yml)를 생성하세요.

<div id="track-experiments-and-visualize-validation-results">
  ## 실험을 추적하고 검증 결과 시각화하기
</div>

<ColabLink url="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/ultralytics/01_train_val.ipynb" />

이 섹션에서는 [Ultralytics](https://docs.ultralytics.com/modes/predict/) 모델을 사용해 트레이닝, 파인튜닝, 검증을 수행하고, [W\&B](https://wandb.ai/site)를 통해 실험 추적, 모델 체크포인트 저장, 모델 성능 시각화를 수행하는 일반적인 워크플로를 보여줍니다.

이 인테그레이션에 대한 자세한 내용은 다음 리포트에서도 확인할 수 있습니다: [Supercharging Ultralytics with W\&B](https://wandb.ai/geekyrakshit/ultralytics/reports/Supercharging-Ultralytics-with-Weights-Biases--Vmlldzo0OTMyMDI4)

Ultralytics와 W\&B 인테그레이션을 함께 사용하려면 `wandb.integration.ultralytics.add_wandb_callback` 함수를 임포트하세요.

```python theme={null}
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO
```

원하는 `YOLO` 모델을 초기화한 다음, 모델로 Inference를 수행하기 전에 `add_wandb_callback` 함수를 호출하세요. 이렇게 하면 트레이닝, 파인튜닝, 검증 또는 Inference를 수행할 때 [컴퓨터 비전 작업용 대화형 오버레이](/ko/models/track/log/media/#image-overlays-in-tables)와 [`wandb.Table`](/ko/models/tables/)의 추가 정보와 함께, 정답과 해당 예측 결과가 모두 오버레이된 이미지 및 실험 로그가 W\&B에 자동으로 저장됩니다.

```python theme={null}
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로 추적한 실험 예시입니다:

<blockquote class="imgur-embed-pub" lang="en" data-id="a/TB76U9O"><a href="https://imgur.com/a/TB76U9O">YOLO 파인튜닝 Experiments</a></blockquote><script async src="https://s.imgur.com/min/embed.js" charset="utf-8" />

다음은 에포크별 검증 결과를 [W\&B Table](/ko/models/tables/)로 시각화한 예시입니다:

<blockquote class="imgur-embed-pub" lang="en" data-id="a/kU5h7W4"><a href="https://imgur.com/a/kU5h7W4">WandB 검증 시각화 Table</a></blockquote><script async src="https://s.imgur.com/min/embed.js" charset="utf-8" />

<div id="visualize-prediction-results">
  ## 예측 결과 시각화
</div>

<ColabLink url="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/ultralytics/00_inference.ipynb" />

이 섹션에서는 [Ultralytics](https://docs.ultralytics.com/modes/predict/) 모델을 Inference에 사용하고 [W\&B](https://wandb.ai/site)를 사용해 결과를 시각화하는 일반적인 워크플로를 보여줍니다.

Google Colab에서 이 코드를 사용해 볼 수 있습니다: [Colab에서 열기](https://wandb.me/ultralytics-inference).

다음 리포트에서 이 인테그레이션에 대해서도 확인할 수 있습니다: [W\&B로 Ultralytics 강화하기](https://wandb.ai/geekyrakshit/ultralytics/reports/Supercharging-Ultralytics-with-Weights-Biases--Vmlldzo0OTMyMDI4)

Ultralytics와 W\&B 인테그레이션을 사용하려면 `wandb.integration.ultralytics.add_wandb_callback` 함수를 임포트해야 합니다.

```python theme={null}
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics.engine.model import YOLO
```

인테그레이션을 테스트할 수 있도록 이미지 몇 장을 다운로드하세요. 정지 이미지, 비디오 또는 카메라 소스를 사용할 수 있습니다. Inference 소스에 대해 자세히 알아보려면 [Ultralytics 문서](https://docs.ultralytics.com/modes/predict/)를 확인하세요.

```bash theme={null}
!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](/ko/models/runs/)을 초기화합니다. 다음으로 원하는 `YOLO` 모델을 초기화한 뒤, 모델로 Inference를 수행하기 전에 해당 모델에서 `add_wandb_callback` 함수를 호출합니다. 이렇게 하면 Inference를 수행할 때 [컴퓨터 비전 작업용 대화형 오버레이](/ko/models/track/log/media/#image-overlays-in-tables)가 적용된 이미지와 추가 인사이트가 [`wandb.Table`](/ko/models/tables/)에 자동으로 함께 기록됩니다.

```python theme={null}
# W&B Run 초기화
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()`으로 run을 명시적으로 초기화할 필요가 없습니다. 하지만 코드가 예측만 수행하는 경우에는 run을 명시적으로 생성해야 합니다.

다음은 대화형 bbox 오버레이의 모습입니다:

<blockquote class="imgur-embed-pub" lang="en" data-id="a/UTSiufs"><a href="https://imgur.com/a/UTSiufs">W\&B 이미지 오버레이</a></blockquote><script async src="https://s.imgur.com/min/embed.js" charset="utf-8" />

자세한 내용은 [W\&B 이미지 오버레이 가이드](/ko/models/track/log/media/#image-overlays)를 참조하세요.

<div id="more-resources">
  ## 추가 자료
</div>

* [W\&B로 Ultralytics 성능 높이기](https://wandb.ai/geekyrakshit/ultralytics/reports/Supercharging-Ultralytics-with-Weights-Biases--Vmlldzo0OTMyMDI4)
* [YOLOv8을 사용한 객체 탐지: 엔드투엔드 워크플로](https://wandb.ai/reviewco/object-detection-bdd/reports/Object-Detection-using-YOLOv8-An-End-to-End-Workflow--Vmlldzo1NTAyMDQ1)
