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

λΉ λ₯Έ μ‹œμž‘

μ„€μΉ˜ 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 기반 ν”Œλž«νΌκ³Ό 같은 μž₯μΉ˜μ— 배포할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • Dockerfile-cpu: μΆ”λ‘  및 GPUκ°€ μ—†λŠ” ν™˜κ²½μ— μ ν•©ν•œ Ubuntu 기반 CPU μ „μš© λ²„μ „μž…λ‹ˆλ‹€.
  • λ„μ»€νŒŒμΌ-젯슨: 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 ClearML λ‘œκΉ… μ‚¬μš© μ—¬λΆ€
comet True bool μ‹€ν—˜ 좔적 및 μ‹œκ°ν™”λ₯Ό μœ„ν•œ Comet ML μ‚¬μš© μ—¬λΆ€
dvc True bool μ‹€ν—˜ 좔적 및 버전 관리에 DVCλ₯Ό μ‚¬μš©ν• μ§€ μ—¬λΆ€
hub True bool Ultralytics HUB 톡합 μ‚¬μš© μ—¬λΆ€
mlflow True bool μ‹€ν—˜ 좔적에 MLFlowλ₯Ό μ‚¬μš©ν• μ§€ μ—¬λΆ€
neptune True bool μ‹€ν—˜ 좔적에 Neptune μ‚¬μš© μ—¬λΆ€
raytune True bool ν•˜μ΄νΌνŒŒλΌλ―Έν„° νŠœλ‹μ„ μœ„ν•œ 레이 튠 μ‚¬μš© μ—¬λΆ€
tensorboard True bool μ‹œκ°ν™”λ₯Ό μœ„ν•΄ TensorBoardλ₯Ό μ‚¬μš©ν• μ§€ μ—¬λΆ€
wandb True bool Weights & Biases λ‘œκΉ… μ‚¬μš© μ—¬λΆ€

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



Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (11), Burhan-Q (2), RizwanMunawar (2), Laughing-q (1), AyushExel (1)

λŒ“κΈ€