μ½˜ν…μΈ λ‘œ κ±΄λ„ˆλ›°κΈ°

λΉ λ₯Έ μ‹œμž‘

μ„€μΉ˜ Ultralytics

Ultralytics 핍, μ½˜λ‹€, 도컀 λ“± λ‹€μ–‘ν•œ μ„€μΉ˜ 방법을 μ œκ³΅ν•©λ‹ˆλ‹€. YOLOv8 을 톡해 μ„€μΉ˜ν•˜μ„Έμš”. ultralytics pip νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ μ΅œμ‹  μ•ˆμ • 릴리슀λ₯Ό μœ„ν•΄ Ultralytics GitHub 리포지토리 μ—μ„œ μ΅œμ‹  버전을 ν™•μΈν•˜μ„Έμš”. Dockerλ₯Ό μ‚¬μš©ν•˜μ—¬ 둜컬 μ„€μΉ˜λ₯Ό ν”Όν•˜κ³  격리된 μ»¨ν…Œμ΄λ„ˆμ—μ„œ νŒ¨ν‚€μ§€λ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.



Watch: Ultralytics YOLO λΉ λ₯Έ μ‹œμž‘ κ°€μ΄λ“œ

μ„€μΉ˜

PyPI - Python 버전

μ„€μΉ˜ ultralytics νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜, κΈ°μ‘΄ μ„€μΉ˜λ₯Ό μ—…λ°μ΄νŠΈν•˜λ €λ©΄ pip install -U ultralytics. μžμ„Έν•œ λ‚΄μš©μ€ Python νŒ¨ν‚€μ§€ 색인(PyPI)을 μ°Έμ‘°ν•˜μ„Έμš”. ultralytics νŒ¨ν‚€μ§€μž…λ‹ˆλ‹€: https://pypi.org/project/ultralytics/.

PyPI - 버전 λ‹€μš΄λ‘œλ“œ

# Install the ultralytics package from PyPI
pip install ultralytics

λ˜ν•œ ultralytics νŒ¨ν‚€μ§€μ—μ„œ 직접 μ €μž₯μ†Œ. μ΅œμ‹  개발 버전을 원할 λ•Œ μœ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‹œμŠ€ν…œμ— Git λͺ…령쀄 도ꡬ가 μ„€μΉ˜λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”. μ‹œμŠ€ν…œμ— @main λͺ…령은 main λΈŒλžœμΉ˜μ—μ„œ λ‹€λ₯Έ 브랜치둜 μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. @my-branch둜 μ„€μ •ν•˜κ±°λ‚˜ μ™„μ „νžˆ μ œκ±°ν•˜μ—¬ 기본값을 main 브랜치.

# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@main

CondaλŠ” pip의 λŒ€μ²΄ νŒ¨ν‚€μ§€ κ΄€λ¦¬μžλ‘œ μ„€μΉ˜μ— μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ https://anaconda.org/conda-forge/ultralytics μ—μ„œ ν™•μΈν•˜μ„Έμš”. Ultralytics μ½˜λ‹€ νŒ¨ν‚€μ§€ μ—…λ°μ΄νŠΈλ₯Ό μœ„ν•œ ν”Όλ“œμŠ€ν†‘ λ¦¬ν¬μ§€ν† λ¦¬λŠ” https://github.com/conda-forge/ultralytics-feedstock/μ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ½˜λ‹€ 버전 μ½˜λ‹€ λ‹€μš΄λ‘œλ“œ μ½˜λ‹€ λ ˆμ‹œν”Ό μ½˜λ‹€ ν”Œλž«νΌ

# Install the ultralytics package using conda
conda install -c conda-forge ultralytics

μ°Έκ³ 

CUDA ν™˜κ²½μ— μ„€μΉ˜ν•˜λŠ” 경우 λͺ¨λ²” μ‚¬λ‘€λŠ” λ‹€μŒμ„ μ„€μΉ˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. ultralytics, pytorch 그리고 pytorch-cuda λ₯Ό 같은 λͺ…령에 μΆ”κ°€ν•˜μ—¬ μ½˜λ‹€ νŒ¨ν‚€μ§€ κ΄€λ¦¬μžκ°€ μΆ©λŒμ„ ν•΄κ²°ν•˜λ„λ‘ ν•˜κ±°λ‚˜, 그렇지 μ•ŠμœΌλ©΄ pytorch-cuda λ₯Ό λ§ˆμ§€λ§‰μœΌλ‘œ μž¬μ •μ˜ν•˜μ—¬ CPU-νŠΉμ • pytorch νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜μ„Έμš”.

# Install all packages together using conda
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics

μ½˜λ‹€ 도컀 이미지

Ultralytics μ½˜λ‹€ 도컀 μ΄λ―Έμ§€λŠ” λ‹€μŒμ—μ„œλ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ„μ»€ν—ˆλΈŒ. 이 μ΄λ―Έμ§€λŠ” λ‹€μŒμ„ 기반으둜 ν•©λ‹ˆλ‹€. λ―Έλ‹ˆμ½˜λ‹€3 μ‚¬μš©μ„ μ‹œμž‘ν•˜λŠ” κ°„λ‹¨ν•œ λ°©λ²•μž…λ‹ˆλ‹€. ultralytics Conda ν™˜κ²½μ—μ„œ.

# Set image name as a variable
t=ultralytics/ultralytics:latest-conda

# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t

# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t  # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t  # specify GPUs

볡제 ultralytics λ¦¬ν¬μ§€ν† λ¦¬μ—μ„œ κ°œλ°œμ— κΈ°μ—¬ν•˜κ³  μ‹Άκ±°λ‚˜ μ΅œμ‹  μ†ŒμŠ€ μ½”λ“œλ₯Ό μ‹€ν—˜ν•΄λ³΄κ³  싢은 경우 ν•΄λ‹Ή 리포지토리λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”. λ³΅μ œν•œ ν›„ λ””λ ‰ν„°λ¦¬λ‘œ μ΄λ™ν•˜μ—¬ νŽΈμ§‘ λͺ¨λ“œμ—μ„œ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€. -e 핍을 μ‚¬μš©ν•©λ‹ˆλ‹€.

GitHub λ§ˆμ§€λ§‰ 컀밋 GitHub 컀밋 ν™œλ™

# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics

# Navigate to the cloned directory
cd ultralytics

# Install the package in editable mode for development
pip install -e .

도컀λ₯Ό ν™œμš©ν•˜μ—¬ μ†μ‰½κ²Œ μ‹€ν–‰ν•  수 μžˆλŠ” ultralytics νŒ¨ν‚€μ§€λ₯Ό 격리된 μ»¨ν…Œμ΄λ„ˆμ— λ‹΄μ•„ λ‹€μ–‘ν•œ ν™˜κ²½μ—μ„œ μΌκ΄€λ˜κ³  μ›ν™œν•œ μ„±λŠ₯을 보μž₯ν•©λ‹ˆλ‹€. 곡식 ultralytics μ΄λ―Έμ§€μ˜ 도컀 ν—ˆλΈŒλ₯Ό μ‚¬μš©ν•˜λ©΄ 둜컬 μ„€μΉ˜μ˜ λ³΅μž‘μ„±μ„ ν”Όν•  수 μžˆμ„ 뿐만 μ•„λ‹ˆλΌ κ²€μ¦λœ μž‘μ—… ν™˜κ²½μ— μ•‘μ„ΈμŠ€ν•  수 μžˆλŠ” 이점이 μžˆμŠ΅λ‹ˆλ‹€. Ultralytics μ—μ„œλŠ” 5가지 μ£Όμš” 지원 Docker 이미지λ₯Ό μ œκ³΅ν•˜λ©°, 각 μ΄λ―Έμ§€λŠ” λ‹€μ–‘ν•œ ν”Œλž«νΌκ³Ό μ‚¬μš© 사둀에 λŒ€ν•΄ 높은 ν˜Έν™˜μ„±κ³Ό νš¨μœ¨μ„±μ„ μ œκ³΅ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€:

도컀 이미지 버전 도컀 ν’€

  • 도컀 파일: GPU ꡐ윑용으둜 ꢌμž₯λ˜λŠ” μ΄λ―Έμ§€μž…λ‹ˆλ‹€.
  • λ„μ»€νŒŒμΌ-arm64: ARM64 μ•„ν‚€ν…μ²˜μ— μ΅œμ ν™”λ˜μ–΄ 라즈베리 파이 및 기타 ARM64 기반 ν”Œλž«νΌκ³Ό 같은 μž₯μΉ˜μ— 배포할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ„μ»€νŒŒμΌ-cpu: μš°λΆ„νˆ¬ 기반 CPU- GPUκ°€ μ—†λŠ” μΆ”λ‘  및 ν™˜κ²½μ— μ ν•©ν•œ μ „μš© λ²„μ „μž…λ‹ˆλ‹€.
  • λ„μ»€νŒŒμΌ-젯슨: NVIDIA Jetson μž₯μΉ˜μ— 맞게 λ§žμΆ€ν™”λ˜μ–΄ μ΄λŸ¬ν•œ ν”Œλž«νΌμ— μ΅œμ ν™”λœ GPU 지원을 ν†΅ν•©ν•©λ‹ˆλ‹€.
  • λ„μ»€νŒŒμΌ-python: Python 및 ν•„μš”ν•œ μ’…μ†μ„±λ§Œ μžˆλŠ” μ΅œμ†Œν•œμ˜ μ΄λ―Έμ§€λ‘œ κ²½λŸ‰ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 κ°œλ°œμ— μ΄μƒμ μž…λ‹ˆλ‹€.
  • λ„μ»€νŒŒμΌ-μ½˜λ‹€: ultralytics νŒ¨ν‚€μ§€μ˜ μ½˜λ‹€ μ„€μΉ˜κ°€ ν¬ν•¨λœ λ―Έλ‹ˆμ½˜λ‹€3 κΈ°λ°˜μž…λ‹ˆλ‹€.

λ‹€μŒμ€ μ΅œμ‹  이미지λ₯Ό 가져와 μ‹€ν–‰ν•˜λŠ” λͺ…λ Ήμ–΄μž…λ‹ˆλ‹€:

# Set image name as a variable
t=ultralytics/ultralytics:latest

# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t

# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t  # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t  # specify GPUs

μœ„μ˜ λͺ…령은 μ΅œμ‹  도컀 μ»¨ν…Œμ΄λ„ˆλ₯Ό μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€. ultralytics 이미지. 이미지 -it ν”Œλž˜κ·ΈλŠ” μ˜μ‚¬ TTYλ₯Ό ν• λ‹Ήν•˜κ³  stdin을 μ—΄λ¦° μƒνƒœλ‘œ μœ μ§€ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆμ™€ μƒν˜Έ μž‘μš©ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. 그리고 --ipc=host ν”Œλž˜κ·ΈλŠ” ν”„λ‘œμ„ΈμŠ€ κ°„ λ©”λͺ¨λ¦¬ κ³΅μœ μ— ν•„μˆ˜μ μΈ IPC(ν”„λ‘œμ„ΈμŠ€ κ°„ 톡신) λ„€μž„μŠ€νŽ˜μ΄μŠ€λ₯Ό ν˜ΈμŠ€νŠΈμ— μ„€μ •ν•©λ‹ˆλ‹€. 그리고 --gpus all ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•˜λ©΄ μ»¨ν…Œμ΄λ„ˆ λ‚΄μ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ λͺ¨λ“  GPU에 μ•‘μ„ΈμŠ€ν•  수 있으며, μ΄λŠ” GPU 계산이 ν•„μš”ν•œ μž‘μ—…μ— 맀우 μ€‘μš”ν•©λ‹ˆλ‹€.

μ°Έκ³ : μ»¨ν…Œμ΄λ„ˆ λ‚΄μ—μ„œ 둜컬 μ»΄ν“¨ν„°μ˜ 파일둜 μž‘μ—…ν•˜λ €λ©΄ 둜컬 디렉터리λ₯Ό μ»¨ν…Œμ΄λ„ˆμ— λ§ˆμš΄νŠΈν•˜κΈ° μœ„ν•΄ Docker λ³Όλ₯¨μ„ μ‚¬μš©ν•˜μ„Έμš”:

# Mount local directory to a directory inside the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t

λ³€κ²½ /path/on/host λ₯Ό 둜컬 μ»΄ν“¨ν„°μ˜ 디렉터리 경둜둜 λŒ€μ²΄ν•˜κ³  /path/in/container λ₯Ό Docker μ»¨ν…Œμ΄λ„ˆ 내뢀에 μ›ν•˜λŠ” 경둜둜 μ„€μ •ν•˜μ—¬ 접근성을 λ†’μž…λ‹ˆλ‹€.

κ³ κΈ‰ 도컀 μ‚¬μš©λ²•μ— λŒ€ν•΄μ„œλŠ” Ultralytics 도컀 κ°€μ΄λ“œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

μ°Έμ‘° ultralytics pyproject.toml νŒŒμΌμ—μ„œ 쒅속성 λͺ©λ‘μ„ ν™•μΈν•˜μ„Έμš”. μœ„μ˜ λͺ¨λ“  μ˜ˆμ œμ—μ„œλŠ” ν•„μš”ν•œ λͺ¨λ“  쒅속성을 μ„€μΉ˜ν•©λ‹ˆλ‹€.

팁

PyTorch μš”κ΅¬ 사항은 운영 체제 및 CUDA μš”κ΅¬ 사항에 따라 λ‹€λ₯΄λ―€λ‘œ https://pytorch.org/get-started/locally의 지침에 따라 PyTorch λ¨Όμ € μ„€μΉ˜ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

PyTorch μ„€μΉ˜ 지침

λ‹€μŒμ—μ„œ Ultralytics μ‚¬μš© CLI

Ultralytics λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€(CLI)λ₯Ό μ‚¬μš©ν•˜λ©΄ Python ν™˜κ²½ 없이도 κ°„λ‹¨ν•œ ν•œ 쀄 λͺ…λ ΉμœΌλ‘œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. CLI μ‚¬μš©μž μ§€μ •μ΄λ‚˜ Python μ½”λ“œκ°€ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν„°λ―Έλ„μ—μ„œ λͺ¨λ“  μž‘μ—…μ„ κ°„λ‹¨νžˆ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. yolo λͺ…령을 μ‚¬μš©ν•©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ CLI κ°€μ΄λ“œ λ₯Ό ν΄λ¦­ν•˜μ—¬ λͺ…λ Ήμ€„μ—μ„œ YOLOv8 μ‚¬μš©μ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄μ„Έμš”.

예

Ultralytics yolo λͺ…령은 λ‹€μŒ ꡬ문을 μ‚¬μš©ν•©λ‹ˆλ‹€:

yolo TASK MODE ARGS

λͺ¨λ‘ 보기 ARGS 전체 보기 ꡬ성 κ°€μ΄λ“œ λ˜λŠ” yolo cfg CLI λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

초기 ν•™μŠ΅λ₯  0.01둜 10개의 에포크에 λŒ€ν•œ 탐지 λͺ¨λΈμ„ ν›ˆλ ¨ν•©λ‹ˆλ‹€.

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

이미지 크기 320μ—μ„œ 사전 ν•™μŠ΅λœ μ„Έκ·Έλ¨Όν…Œμ΄μ…˜ λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ YouTube λ™μ˜μƒμ„ μ˜ˆμΈ‘ν•©λ‹ˆλ‹€:

yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

배치 크기 1, 이미지 크기 640의 사전 ν•™μŠ΅λœ 탐지 λͺ¨λΈμž…λ‹ˆλ‹€:

yolo val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640

YOLOv8n λΆ„λ₯˜ λͺ¨λΈμ„ 이미지 크기 224 x 128의 ONNX ν˜•μ‹μœΌλ‘œ 내보내기(μž‘μ—… ν•„μš” μ—†μŒ)

yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128

특수 λͺ…령을 μ‹€ν–‰ν•˜μ—¬ 버전 확인, μ„€μ • 보기, 검사 μ‹€ν–‰ 등을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg

κ²½κ³ 

μΈμˆ˜λŠ” λ‹€μŒκ³Ό 같이 μ „λ‹¬λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. 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 ❌ (μ‚¬μš©ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€ ,)
  • yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25 ❌ (μ‚¬μš©ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€ --)

CLI κ°€μ΄λ“œ

λ‹€μŒμ—μ„œ Ultralytics μ‚¬μš© Python

YOLOv8의 Python μΈν„°νŽ˜μ΄μŠ€λŠ” Python ν”„λ‘œμ νŠΈμ— μ›ν™œν•˜κ²Œ 톡합할 수 μžˆμ–΄ λͺ¨λΈμ˜ 좜λ ₯을 μ‰½κ²Œ λ‘œλ“œ, μ‹€ν–‰ 및 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹¨μˆœμ„±κ³Ό μ‚¬μš© νŽΈμ˜μ„±μ„ 염두에 두고 μ„€κ³„λœ Python μΈν„°νŽ˜μ΄μŠ€λŠ” μ‚¬μš©μžκ°€ ν”„λ‘œμ νŠΈμ—μ„œ 객체 감지, μ„ΈλΆ„ν™” 및 λΆ„λ₯˜λ₯Ό μ‹ μ†ν•˜κ²Œ κ΅¬ν˜„ν•  수 μžˆλ„λ‘ μ§€μ›ν•©λ‹ˆλ‹€. λ”°λΌμ„œ YOLOv8 의 Python μΈν„°νŽ˜μ΄μŠ€λŠ” μ΄λŸ¬ν•œ κΈ°λŠ₯을 Python ν”„λ‘œμ νŠΈμ— ν†΅ν•©ν•˜κ³ μž ν•˜λŠ” λͺ¨λ“  μ‚¬μš©μžμ—κ²Œ 맀우 μœ μš©ν•œ λ„κ΅¬μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, μ‚¬μš©μžλŠ” λͺ‡ μ€„μ˜ μ½”λ“œλ§ŒμœΌλ‘œ λͺ¨λΈμ„ λ‘œλ“œν•˜κ³ , ν•™μŠ΅μ‹œν‚€κ³ , μœ νš¨μ„± 검사 μ„ΈνŠΈμ—μ„œ μ„±λŠ₯을 ν‰κ°€ν•˜κ³ , ONNX ν˜•μ‹μœΌλ‘œ 내보낼 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. Python ν”„λ‘œμ νŠΈ λ‚΄μ—μ„œ YOLOv8 을 μ‚¬μš©ν•˜λŠ” 방법에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄λ €λ©΄ Python κ°€μ΄λ“œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

예

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolov8n.yaml")

# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolov8n.pt")

# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to ONNX format
success = model.export(format="onnx")

Python κ°€μ΄λ“œ

Ultralytics μ„€μ •

Ultralytics λΌμ΄λΈŒλŸ¬λ¦¬λŠ” μ‹€ν—˜μ„ μ„Έλ°€ν•˜κ²Œ μ œμ–΄ν•  수 μžˆλŠ” κ°•λ ₯ν•œ μ„€μ • 관리 μ‹œμŠ€ν…œμ„ μ œκ³΅ν•©λ‹ˆλ‹€. 라이브러리의 SettingsManager μ•ˆμ— λ³΄κ΄€λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ultralytics.utils λͺ¨λ“ˆμ„ 톡해 μ‚¬μš©μžλŠ” 섀정에 μ‰½κ²Œ μ•‘μ„ΈμŠ€ν•˜κ³  λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 섀정은 YAML νŒŒμΌμ— μ €μž₯되며 Python ν™˜κ²½ λ‚΄μ—μ„œ 직접 λ³΄κ±°λ‚˜ λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€(CLI)λ₯Ό 톡해 μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ„€μ • 검사

μ„€μ •μ˜ ν˜„μž¬ ꡬ성에 λŒ€ν•œ 톡찰λ ₯을 μ–»μœΌλ €λ©΄ 섀정을 직접 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€:

μ„€μ • 보기

Python μ—μ„œ 섀정을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. λ¨Όμ € settings κ°μ²΄μ—μ„œ ultralytics λͺ¨λ“ˆμ„ μΆ”κ°€ν•©λ‹ˆλ‹€. λ‹€μŒ λͺ…령을 μ‚¬μš©ν•˜μ—¬ 섀정을 μΈμ‡„ν•˜κ³  λ°˜ν™˜ν•©λ‹ˆλ‹€:

from ultralytics import settings

# View all settings
print(settings)

# Return a specific setting
value = settings["runs_dir"]

λ˜λŠ” λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 κ°„λ‹¨ν•œ λͺ…λ ΉμœΌλ‘œ 섀정을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€:

yolo settings

μ„€μ • μˆ˜μ •ν•˜κΈ°

Ultralytics λ₯Ό μ‚¬μš©ν•˜λ©΄ 섀정을 μ‰½κ²Œ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 λ°©λ²•μœΌλ‘œ λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

μ„€μ • μ—…λ°μ΄νŠΈ

Python ν™˜κ²½ λ‚΄μ—μ„œ update λ©”μ„œλ“œμ˜ settings 객체λ₯Ό μ‚¬μš©ν•˜μ—¬ 섀정을 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

from ultralytics import settings

# Update a setting
settings.update({"runs_dir": "/path/to/runs"})

# Update multiple settings
settings.update({"runs_dir": "/path/to/runs", "tensorboard": False})

# Reset settings to default values
settings.reset()

λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ„ ν˜Έν•˜λŠ” 경우 λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ 섀정을 μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

# Update a setting
yolo settings runs_dir='/path/to/runs'

# Update multiple settings
yolo settings runs_dir='/path/to/runs' tensorboard=False

# Reset settings to default values
yolo settings reset

μ„€μ • 이해

μ•„λž˜ ν‘œλŠ” Ultralytics μ—μ„œ μ‘°μ •ν•  수 μžˆλŠ” 섀정에 λŒ€ν•œ κ°œμš”λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. 각 섀정은 μ˜ˆμ‹œ κ°’, 데이터 μœ ν˜• 및 κ°„λž΅ν•œ μ„€λͺ…κ³Ό ν•¨κ»˜ μš”μ•½λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

이름 예제 κ°’ 데이터 μœ ν˜• μ„€λͺ…
settings_version '0.0.4' str Ultralytics μ„€μ • 버전( Ultralytics pip 버전과 닀름)
datasets_dir '/path/to/datasets' str 데이터 μ„ΈνŠΈκ°€ μ €μž₯된 디렉터리
weights_dir '/path/to/weights' str λͺ¨λΈ κ°€μ€‘μΉ˜κ°€ μ €μž₯된 디렉토리
runs_dir '/path/to/runs' str μ‹€ν—˜μ΄ μ‹€ν–‰λ˜λŠ” 디렉터리
uuid 'a1b2c3d4' str ν˜„μž¬ μ„€μ •μ˜ 고유 μ‹λ³„μž
sync True bool 뢄석 및 μΆ©λŒμ„ HUB에 동기화할지 μ—¬λΆ€
api_key '' str Ultralytics HUB API ν‚€
clearml True bool Whether to use ClearML logging
comet True bool μ‹€ν—˜ 좔적 및 μ‹œκ°ν™”λ₯Ό μœ„ν•œ Comet ML μ‚¬μš© μ—¬λΆ€
dvc True bool μ‹€ν—˜ 좔적 및 버전 관리에 DVCλ₯Ό μ‚¬μš©ν• μ§€ μ—¬λΆ€
hub True bool Ultralytics HUB 톡합 μ‚¬μš© μ—¬λΆ€
mlflow True bool Whether to use MLFlow for experiment tracking
neptune True bool Whether to use Neptune for experiment tracking
raytune True bool Whether to use Ray Tune for hyperparameter tuning
tensorboard True bool Whether to use TensorBoard for visualization
wandb True bool Whether to use Weights & Biases logging
vscode_msg True bool When VS Code terminal detected, enables prompt to download Ultralytics-Snippets extension.

ν”„λ‘œμ νŠΈ λ˜λŠ” μ‹€ν—˜μ„ 탐색할 λ•Œ μ΄λŸ¬ν•œ 섀정을 λ‹€μ‹œ ν™•μΈν•˜μ—¬ ν•„μš”μ— 맞게 졜적으둜 κ΅¬μ„±λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

자주 λ¬»λŠ” 질문

pipλ₯Ό μ‚¬μš©ν•˜μ—¬ Ultralytics YOLOv8 μ„€μΉ˜ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•˜λ‚˜μš”?

Ultralytics YOLOv8 을 μ„€μΉ˜ν•˜λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€:

pip install ultralytics

μ΅œμ‹  μ•ˆμ • 릴리슀의 경우, μ΄λ ‡κ²Œ ν•˜λ©΄ ultralytics νŒ¨ν‚€μ§€λ₯Ό Python νŒ¨ν‚€μ§€ 인덱슀(PyPI)μ—μ„œ 직접 λ‹€μš΄λ‘œλ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ ultralytics νŒ¨ν‚€μ§€.

λ˜λŠ” GitHubμ—μ„œ μ΅œμ‹  개발 버전을 직접 μ„€μΉ˜ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€:

pip install git+https://github.com/ultralytics/ultralytics.git

μ‹œμŠ€ν…œμ— Git λͺ…령쀄 도ꡬ가 μ„€μΉ˜λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

μ½˜λ‹€λ₯Ό μ‚¬μš©ν•˜μ—¬ Ultralytics YOLOv8 μ„€μΉ˜ν•  수 μžˆλ‚˜μš”?

예, μ½˜λ‹€λ₯Ό μ‚¬μš©ν•˜μ—¬ Ultralytics YOLOv8 을 μ‹€ν–‰ν•˜μ—¬ μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

conda install -c conda-forge ultralytics

이 방법은 pip의 ν›Œλ₯­ν•œ λŒ€μ•ˆμ΄λ©° μ‚¬μš© 쀑인 ν™˜κ²½μ˜ λ‹€λ₯Έ νŒ¨ν‚€μ§€μ™€μ˜ ν˜Έν™˜μ„±μ„ 보μž₯ν•©λ‹ˆλ‹€. CUDA ν™˜κ²½μ˜ 경우 λ‹€μŒμ„ μ„€μΉ˜ν•˜λŠ” 것이 κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€. ultralytics, pytorch및 pytorch-cuda λ₯Ό λ™μ‹œμ— μ‹€ν–‰ν•˜μ—¬ μΆ©λŒμ„ ν•΄κ²°ν•©λ‹ˆλ‹€:

conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics

μžμ„Έν•œ 지침은 Conda λΉ λ₯Έ μ‹œμž‘ κ°€μ΄λ“œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

도컀λ₯Ό μ‚¬μš©ν•˜μ—¬ Ultralytics YOLOv8 을 μ‹€ν–‰ν•˜λ©΄ μ–΄λ–€ 이점이 μžˆλ‚˜μš”?

Dockerλ₯Ό μ‚¬μš©ν•˜μ—¬ Ultralytics YOLOv8 을 μ‹€ν–‰ν•˜λ©΄ 격리되고 μΌκ΄€λœ ν™˜κ²½μ΄ μ œκ³΅λ˜λ―€λ‘œ μ—¬λŸ¬ μ‹œμŠ€ν…œμ—μ„œ μ›ν™œν•œ μ„±λŠ₯을 보μž₯ν•©λ‹ˆλ‹€. λ˜ν•œ 둜컬 μ„€μΉ˜μ˜ λ³΅μž‘μ„±λ„ μ œκ±°ν•©λ‹ˆλ‹€. 곡식 Docker μ΄λ―Έμ§€λŠ” Ultralytics μ—μ„œ μ‚¬μš©ν•  수 있으며, GPU, CPU, ARM64, NVIDIA Jetson 및 Conda ν™˜κ²½μ— 맞게 μ‘°μ •λœ λ‹€μ–‘ν•œ λ³€ν˜•μ΄ μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ μ΅œμ‹  이미지λ₯Ό 가져와 μ‹€ν–‰ν•˜λŠ” λͺ…λ Ήμ–΄μž…λ‹ˆλ‹€:

# Pull the latest ultralytics image from Docker Hub
sudo docker pull ultralytics/ultralytics:latest

# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all ultralytics/ultralytics:latest

μžμ„Έν•œ Docker 지침은 Docker λΉ λ₯Έ μ‹œμž‘ κ°€μ΄λ“œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

κ°œλ°œμ„ μœ„ν•΄ Ultralytics 리포지토리λ₯Ό λ³΅μ œν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•˜λ‚˜μš”?

Ultralytics 리포지토리λ₯Ό λ³΅μ œν•˜κ³  개발 ν™˜κ²½μ„ μ„€μ •ν•˜λ €λ©΄ λ‹€μŒ 단계λ₯Ό λ”°λ₯΄μ„Έμš”:

# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics

# Navigate to the cloned directory
cd ultralytics

# Install the package in editable mode for development
pip install -e .

이 방법을 μ‚¬μš©ν•˜λ©΄ ν”„λ‘œμ νŠΈμ— κΈ°μ—¬ν•˜κ±°λ‚˜ μ΅œμ‹  μ†ŒμŠ€ μ½”λ“œλ₯Ό μ‚¬μš©ν•΄ μ‹€ν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ Ultralytics GitHub 리포지토리λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

μ™œ Ultralytics YOLOv8 CLI λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λ‚˜μš”?

Ultralytics YOLOv8 λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€(CLI)λŠ” Python μ½”λ“œ 없이도 객체 감지 μž‘μ—…μ„ κ°„νŽΈν•˜κ²Œ μ‹€ν–‰ν•  수 있게 ν•΄μ€λ‹ˆλ‹€. ν„°λ―Έλ„μ—μ„œ λ°”λ‘œ ν›ˆλ ¨, μœ νš¨μ„± 검사, 예츑과 같은 μž‘μ—…μ„ μœ„ν•œ ν•œ 쀄 λͺ…령을 μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κΈ°λ³Έ ꡬ문은 yolo λͺ…령이 μžˆμŠ΅λ‹ˆλ‹€:

yolo TASK MODE ARGS

예λ₯Ό λ“€μ–΄, μ§€μ •λœ λ§€κ°œλ³€μˆ˜λ‘œ 탐지 λͺ¨λΈμ„ ν›ˆλ ¨ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

더 λ§Žμ€ λͺ…령어와 μ‚¬μš© 예제λ₯Ό μ‚΄νŽ΄λ³΄λ €λ©΄ CLI κ°€μ΄λ“œ 전문을 ν™•μΈν•˜μ„Έμš”.


πŸ“… Created 10 months ago ✏️ Updated 6 days ago

λŒ“κΈ€