Are you sure you want to delete this access key?
comments | description | keywords |
---|---|---|
true | pip, conda, git ๋ฐ Docker๋ฅผ ์ฌ์ฉํ์ฌ Ultralytics์ ์ค์นํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ํ์ํด ๋ณด์ธ์. Ultralytics์ ๋ช ๋ น์ค ์ธํฐํ์ด์ค ๋๋ Python ํ๋ก์ ํธ ๋ด์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์. | Ultralytics ์ค์น, pip๋ฅผ ์ด์ฉํ Ultralytics ์ค์น, Docker๋ฅผ ์ด์ฉํ Ultralytics ์ค์น, Ultralytics ๋ช ๋ น์ค ์ธํฐํ์ด์ค, Ultralytics Python ์ธํฐํ์ด์ค |
Ultralytics๋ pip, conda, Docker๋ฅผ ํฌํจํ ๋ค์ํ ์ค์น ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ultralytics
pip ํจํค์ง๋ฅผ ์ด์ฉํด ๊ฐ์ฅ ์์ ์ ์ธ ์ต์ ๋ฒ์ ์ YOLOv8์ ์ค์นํ๊ฑฐ๋ Ultralytics GitHub ์ ์ฅ์๋ฅผ ๋ณต์ ํ์ฌ ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ ๋ฐ์๋ณผ ์ ์์ต๋๋ค. Docker๋ฅผ ์ด์ฉํ๋ฉด ํจํค์ง๋ฅผ ๋ก์ปฌ์ ์ค์นํ์ง ์๊ณ ๊ฒฉ๋ฆฌ๋ ์ปจํ
์ด๋์์ ์คํํ ์ ์์ต๋๋ค.
!!! Example "์ค์นํ๊ธฐ"
=== "Pip ์ค์นํ๊ธฐ (๊ถ์ฅ)"
pip์ ์ฌ์ฉํ์ฌ `ultralytics` ํจํค์ง๋ฅผ ์ค์นํ๊ฑฐ๋, `pip install -U ultralytics`๋ฅผ ์คํํ์ฌ ๊ธฐ์กด ์ค์น๋ฅผ ์
๋ฐ์ดํธํ์ธ์. Python Package Index(PyPI)์์ `ultralytics` ํจํค์ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ์ธํ์ธ์: [https://pypi.org/project/ultralytics/](https://pypi.org/project/ultralytics/).
[](https://badge.fury.io/py/ultralytics) [](https://pepy.tech/project/ultralytics)
```bash
# PyPI์์ ultralytics ํจํค์ง ์ค์นํ๊ธฐ
pip install ultralytics
```
GitHub [์ ์ฅ์](https://github.com/ultralytics/ultralytics)์์ ์ง์ `ultralytics` ํจํค์ง๋ฅผ ์ค์นํ ์๋ ์์ต๋๋ค. ์ต์ ๊ฐ๋ฐ ๋ฒ์ ์ด ํ์ํ ๊ฒฝ์ฐ ์ ์ฉํ ์ ์์ต๋๋ค. ์์คํ
์ Git ๋ช
๋ น์ค ๋๊ตฌ๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํ์ธ์. `@main` ๋ช
๋ น์ด๋ `main` ๋ธ๋์น๋ฅผ ์ค์นํ๋ฉฐ, `@my-branch`๋ก ๋ณ๊ฒฝํ๊ฑฐ๋ `main` ๋ธ๋์น๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ ค๋ฉด ์์ ์ ๊ฑฐํ๋ฉด ๋ฉ๋๋ค.
```bash
# GitHub์์ ultralytics ํจํค์ง ์ค์นํ๊ธฐ
pip install git+https://github.com/ultralytics/ultralytics.git@main
```
=== "Conda ์ค์นํ๊ธฐ"
pip์ ๋์์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ ๋ค๋ฅธ ํจํค์ง ๊ด๋ฆฌ์์ธ Conda๋ฅผ ํตํด์๋ ์ค์นํ ์ ์์ต๋๋ค. [https://anaconda.org/conda-forge/ultralytics](https://anaconda.org/conda-forge/ultralytics)์์ Anaconda์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ํ์ธํ์ธ์. Conda ํจํค์ง๋ฅผ ์
๋ฐ์ดํธํ๋ Ultralytics feedstock ์ ์ฅ์๋ [https://github.com/conda-forge/ultralytics-feedstock/](https://github.com/conda-forge/ultralytics-feedstock/)์ ์์ต๋๋ค.
[](https://anaconda.org/conda-forge/ultralytics) [](https://anaconda.org/conda-forge/ultralytics) [](https://anaconda.org/conda-forge/ultralytics) [](https://anaconda.org/conda-forge/ultralytics)
```bash
# conda๋ฅผ ์ฌ์ฉํ์ฌ ultralytics ํจํค์ง ์ค์นํ๊ธฐ
conda install -c conda-forge ultralytics
```
!!! Note "๋
ธํธ"
CUDA ํ๊ฒฝ์์ ์ค์นํ๋ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก `ultralytics`, `pytorch` ๋ฐ `pytorch-cuda`๋ฅผ ๋์ผํ ๋ช
๋ น์ด๋ก ์ค์นํ์ฌ Conda ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์ถฉ๋์ ํด๊ฒฐํ๋๋ก ํ๊ฑฐ๋, ํ์ํ ๊ฒฝ์ฐ CPU ์ ์ฉ `pytorch` ํจํค์ง๋ฅผ ๋ฎ์ด์ธ ์ ์๋๋ก `pytorch-cuda`๋ฅผ ๋ง์ง๋ง์ ์ค์นํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
```bash
# Conda๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํจํค์ง ํจ๊ป ์ค์นํ๊ธฐ
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
```
### Conda Docker ์ด๋ฏธ์ง
Ultralytics Conda Docker ์ด๋ฏธ์ง๋ค๋ [DockerHub](https://hub.docker.com/r/ultralytics/ultralytics)์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ์ด๋ฏธ์ง๋ค์ [Miniconda3](https://docs.conda.io/projects/miniconda/en/latest/)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, Conda ํ๊ฒฝ์์ `ultralytics`๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๊ฐ๋จํ ๋ฐฉ๋ฒ์
๋๋ค.
```bash
# ์ด๋ฏธ์ง ์ด๋ฆ์ ๋ณ์๋ก ์ค์ ํ๊ธฐ
t=ultralytics/ultralytics:latest-conda
# Docker Hub์์ ์ต์ ultralytics ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ
sudo docker pull $t
# GPU ์ง์์ผ๋ก ultralytics ์ด๋ฏธ์ง๋ฅผ ์ปจํ
์ด๋์์ ์คํํ๊ธฐ
sudo docker run -it --ipc=host --gpus all $t # ๋ชจ๋ GPU ์ฌ์ฉ
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # ํน์ GPU ์ง์
```
=== "Git ๋ณต์ ํ๊ธฐ"
๊ฐ๋ฐ์ ๊ธฐ์ฌํ๊ฑฐ๋ ์ต์ ์์ค ์ฝ๋๋ฅผ ์คํํด ๋ณด๊ณ ์ถ๋ค๋ฉด `ultralytics` ์ ์ฅ์๋ฅผ ๋ณต์ ํ์ธ์. ๋ณต์ ํ ํ ํด๋น ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ฌ pip์ ์ด์ฉํด ํธ์ง ๊ฐ๋ฅ ๋ชจ๋ `-e`๋ก ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
```bash
# ultralytics ์ ์ฅ์ ๋ณต์ ํ๊ธฐ
git clone https://github.com/ultralytics/ultralytics
# ๋ณต์ ํ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๊ธฐ
cd ultralytics
# ๊ฐ๋ฐ์ ์ํ ํธ์ง ๊ฐ๋ฅ ๋ชจ๋๋ก ํจํค์ง ์ค์นํ๊ธฐ
pip install -e .
```
=== "Docker ์ฌ์ฉํ๊ธฐ"
Docker๋ฅผ ์ฌ์ฉํ๋ฉด `ultralytics` ํจํค์ง๋ฅผ ๊ฒฉ๋ฆฌ๋ ์ปจํ
์ด๋์์ ์ํํ๊ฒ ์คํํ ์ ์์ผ๋ฉฐ, ๋ค์ํ ํ๊ฒฝ์์ ์ผ๊ด๋ ์ฑ๋ฅ์ ๋ณด์ฅํฉ๋๋ค. [Docker Hub](https://hub.docker.com/r/ultralytics/ultralytics)์ ๊ณต์ `ultralytics` ์ด๋ฏธ์ง ์ค ํ๋๋ฅผ ์ ํํจ์ผ๋ก์จ ๋ก์ปฌ ์ค์น์ ๋ณต์กํจ์ ํผํ๊ณ ๊ฒ์ฆ๋ ์์
ํ๊ฒฝ์ ์ ๊ทผํ ์ ์์ต๋๋ค. Ultralytics์ ์๋ก ๋ค๋ฅธ ํ๋ซํผ๊ณผ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ๋์ ํธํ์ฑ๊ณผ ํจ์จ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด 5๊ฐ์ง ์ฃผ์ Docker ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํฉ๋๋ค:
<a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Docker Pulls"></a>
- **Dockerfile:** ํธ๋ ์ด๋์ ์ถ์ฒ๋๋ GPU ์ด๋ฏธ์ง์
๋๋ค.
- **Dockerfile-arm64:** Raspberry Pi์ ๊ฐ์ ARM64 ๊ธฐ๋ฐ ํ๋ซํผ์ ๋ฐฐํฌํ๊ธฐ์ ์ต์ ํ๋ ARM64 ์ํคํ
์ฒ์ฉ์
๋๋ค.
- **Dockerfile-cpu:** GPU๊ฐ ์๋ ํ๊ฒฝ์์ ์ธํผ๋ฐ์ค์ ์ ํฉํ Ubuntu ๊ธฐ๋ฐ CPU ์ ์ฉ ๋ฒ์ ์
๋๋ค.
- **Dockerfile-jetson:** NVIDIA Jetson ์ฅ์น์ ์ต์ ํ๋ GPU ์ง์์ ํตํฉํ ๋ฒ์ ์
๋๋ค.
- **Dockerfile-python:** ๊ฐ๋ณ๊ฒ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํด ํ์ํ ์ข
์์ฑ๊ณผ Python๋ง ์๋ ์ต์ํ์ ์ด๋ฏธ์ง์
๋๋ค.
- **Dockerfile-conda:** Miniconda3๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ultralytics ํจํค์ง์ conda ์ค์น๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
์๋์ ๋ช
๋ น์ด๋ก ์ต์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๊ณ ์คํํ ์ ์์ต๋๋ค:
```bash
# ์ด๋ฏธ์ง ์ด๋ฆ์ ๋ณ์๋ก ์ค์ ํ๊ธฐ
t=ultralytics/ultralytics:latest
# Docker Hub์์ ์ต์ ultralytics ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ
sudo docker pull $t
# GPU ์ง์์ผ๋ก ultralytics ์ด๋ฏธ์ง๋ฅผ ์ปจํ
์ด๋์์ ์คํํ๊ธฐ
sudo docker run -it --ipc=host --gpus all $t # ๋ชจ๋ GPU ์ฌ์ฉ
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # ํน์ GPU ์ง์
```
์ ๋ช
๋ น์ด๋ ์ต์ `ultralytics` ์ด๋ฏธ์ง๋ก Docker ์ปจํ
์ด๋๋ฅผ ์ด๊ธฐํํฉ๋๋ค. `-it` ํ๋๊ทธ๋ pseudo-TTY๋ฅผ ํ ๋นํ๊ณ ํ์ค ์
๋ ฅ์ ์ ์งํ์ฌ ์ปจํ
์ด๋์ ์ํธ ์์ฉํ ์ ์๊ฒ ํด์ค๋๋ค. `--ipc=host` ํ๋๊ทธ๋ ํ๋ก์ธ์ค ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต์ ์ ํ์ํ IPC(Inter-Process Communication) ๋ค์์คํ์ด์ค๋ฅผ ํธ์คํธ๋ก ์ค์ ํฉ๋๋ค. `--gpus all` ํ๋๊ทธ๋ ์ปจํ
์ด๋ ๋ด์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ GPU์ ๋ํ ์ ๊ทผ์ ํ์ฑํํ๋๋ฐ, GPU ๊ณ์ฐ์ด ํ์ํ ์์
์ ์ค์ํฉ๋๋ค.
์ฐธ๊ณ : ๋ก์ปฌ ๊ธฐ๊ณ์ ํ์ผ์ ์ปจํ
์ด๋ ๋ด์์ ์์
ํ๊ธฐ ์ํด์๋ ๋ก์ปฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ปจํ
์ด๋์ ๋ง์ดํธํ๋ ๋ฐ Docker ๋ณผ๋ฅจ์ ์ฌ์ฉํ์ธ์:
```bash
# ๋ก์ปฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ปจํ
์ด๋ ๋ด๋ถ ๋๋ ํ ๋ฆฌ์ ๋ง์ดํธํ๊ธฐ
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
```
`/path/on/host`๋ฅผ ๋ก์ปฌ ๊ธฐ๊ณ์ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ก, `/path/in/container`๋ฅผ ์ปจํ
์ด๋ ๋ด๋ถ์์ ์ํ๋ ๊ฒฝ๋ก๋ก ๋ณ๊ฒฝํ์ฌ ์ ๊ทผํ ์ ์๊ฒ ํ์ธ์.
Docker ์ฌ์ฉ์ ๋ํ ๊ณ ๊ธ ๊ธฐ๋ฅ์ [Ultralytics Docker ๊ฐ์ด๋](https://docs.ultralytics.com/guides/docker-quickstart/)์์ ๋ ํ๊ตฌํด๋ณด์ธ์.
ultralytics
์ ์ข
์์ฑ ๋ชฉ๋ก์ requirements.txt ํ์ผ์์ ํ์ธํ ์ ์์ต๋๋ค. ์ ์์ ์์๋ ๋ชจ๋ ํ์ํ ์ข
์์ฑ์ ์ค์นํฉ๋๋ค.
Watch: Ultralytics YOLO Quick Start Guide
!!! Tip "ํ"
PyTorch ์ค์น ์๊ตฌ์ฌํญ์ ์ด์ ์ฒด์ ์ CUDA ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฏ๋ก [https://pytorch.org/get-started/locally](https://pytorch.org/get-started/locally)์ ์ง์นจ์ ๋ฐ๋ผ PyTorch๋ฅผ ๋จผ์ ์ค์นํ๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค.
<a href="https://pytorch.org/get-started/locally/">
<img width="800" alt="PyTorch ์ค์น ์ง์นจ" src="https://user-images.githubusercontent.com/26833433/228650108-ab0ec98a-b328-4f40-a40d-95355e8a84e3.png">
</a>
Ultralytics ๋ช
๋ น์ค ์ธํฐํ์ด์ค(CLI)๋ Python ํ๊ฒฝ์ด ํ์ ์์ด ๋จ์ผ ๋ผ์ธ ๋ช
๋ น์ด๋ฅผ ํตํด ์์
์ ์ฝ๊ฒ ์คํํ ์ ์๋๋ก ํฉ๋๋ค. CLI๋ ์ปค์คํฐ๋ง์ด์ง์ด๋ Python ์ฝ๋๊ฐ ํ์ ์์ต๋๋ค. yolo
๋ช
๋ น์ด๋ฅผ ์ด์ฉํด ํฐ๋ฏธ๋์์ ๋ชจ๋ ์์
์ ์คํํ ์ ์์ต๋๋ค. ๋ช
๋ น์ค์์ YOLOv8์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ์์๋ณด๋ ค๋ฉด CLI ๊ฐ์ด๋๋ฅผ ์ฐธ๊ณ ํ์ธ์.
!!! Example "์์ "
=== "๋ฌธ๋ฒ"
Ultralytics `yolo` ๋ช
๋ น์ด๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ๋ฒ์ ์ฌ์ฉํฉ๋๋ค:
```bash
yolo TASK MODE ARGS
์ฌ๊ธฐ์ TASK (์ ํ์ )์ [detect, segment, classify] ์ค ํ๋
MODE (ํ์)๋ [train, val, predict, export, track] ์ค ํ๋
ARGS (์ ํ์ )์ 'imgsz=320'๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ ์ํ๋ 'arg=value' ์์ ์๋ฌด ๊ฐ์๋ ์ง์ ํ ์ ์์ต๋๋ค.
```
๋ชจ๋ ARGS๋ ์ ์ฒด [๊ตฌ์ฑ ๊ฐ์ด๋](/../usage/cfg.md)์์ ๋๋ `yolo cfg`๋ก ํ์ธํ ์ ์์ต๋๋ค
=== "Train"
10 ์ํฌํฌ ๋์ ์ด๊ธฐ ํ์ต๋ฅ 0.01๋ก ๊ฐ์ง ๋ชจ๋ธ์ ํ๋ จํฉ๋๋ค.
```bash
yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01
```
=== "Predict"
์ด์ ํ๋ จ๋ ์ธ๋ถํ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ํฌ๊ธฐ 320์ผ๋ก YouTube ๋์์์ ์์ธกํฉ๋๋ค:
```bash
yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
```
=== "Val"
๋ฐฐ์น ํฌ๊ธฐ 1์ ์ด๋ฏธ์ง ํฌ๊ธฐ 640์ผ๋ก ์ด์ ํ๋ จ๋ ๊ฐ์ง ๋ชจ๋ธ์ ๊ฒ์ฆํฉ๋๋ค:
```bash
yolo val model=yolov8n.pt data=coco128.yaml batch=1 imgsz=640
```
=== "Export"
YOLOv8n ๋ถ๋ฅ ๋ชจ๋ธ์ ONNX ํ์์ผ๋ก ๋ด๋ณด๋
๋๋ค. ์ด๋ฏธ์ง ํฌ๊ธฐ๋ 224x128์
๋๋ค (TASK ํ์ ์์).
```bash
yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128
```
=== "ํน๋ณ"
๋ฒ์ ํ์ธ, ์ค์ ๋ณด๊ธฐ, ๊ฒ์ฌ ์คํ ๋ฑ์ ์ํ ํน๋ณ ๋ช
๋ น์ด๋ฅผ ์คํํ์ธ์:
```bash
yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg
```
!!! Warning "์ฃผ์"
๋ชจ๋ ์ธ์๋ `arg=val`์์ผ๋ก ์ ๋ฌ๋์ด์ผ ํ๋ฉฐ, ๊ฐ ์ ์ฌ์ด์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ผ ํฉ๋๋ค. ์ธ์ ์ ๋์ฌ๋ก `--`๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ธ์ ์ฌ์ด์ ์ผํ `,`๋ฅผ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
- `yolo predict model=yolov8n.pt imgsz=640 conf=0.25` โ
- `yolo predict model yolov8n.pt imgsz 640 conf 0.25` โ
- `yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25` โ
CLI ๊ฐ์ด๋{ .md-button }
Press p or to see the previous file or, n or to see the next file
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?