구성(Configuration)
YOLO 설정 및 하이퍼파라미터는 모델의 성능, 속도 및 정확도에 중요한 역할을 합니다. 이러한 설정은 학습, 검증 및 예측을 포함한 다양한 단계에서 모델의 동작에 영향을 줄 수 있습니다.
Watch: Mastering Ultralytics YOLO: Configuration
Ultralytics 명령어는 다음 구문을 사용합니다:
yolo TASK MODE ARGS항목별 설명:
TASK(선택 사항)는 (detect, segment, classify, pose, obb) 중 하나입니다.MODE(필수)는 (train, val, predict, export, track, benchmark) 중 하나입니다.ARGS(optional) arearg=valuepairs likeimgsz=640that override defaults.
기본 ARG 값은 이 페이지에 정의되어 있으며 cfg/default.yaml 파일에서 가져옵니다.
작업(Tasks)
Ultralytics YOLO 모델은 다음과 같은 다양한 컴퓨터 비전 작업을 수행할 수 있습니다:
- Detect: 객체 탐지는 이미지 또는 비디오 내에서 객체를 식별하고 위치를 파악합니다.
- Segment: 인스턴스 분할은 이미지 또는 비디오를 서로 다른 객체나 클래스에 해당하는 영역으로 나눕니다.
- Classify: 이미지 분류는 입력 이미지의 클래스 라벨을 예측합니다.
- Pose: 포즈 추정은 이미지 또는 비디오에서 객체를 식별하고 키포인트를 추정합니다.
- OBB: 회전된 경계 상자는 위성 또는 의료 영상에 적합한 회전된 경계 상자를 사용합니다.
| 인수(Argument) | 기본값(Default) | 설명 |
|---|---|---|
task | 'detect' | Specifies the YOLO task: detect for object detection, segment for segmentation, classify for classification, pose for pose estimation, and obb for oriented bounding boxes. Each task is tailored to specific outputs and problems in image and video analysis. |
모드(Modes)
Ultralytics YOLO 모델은 서로 다른 모드에서 작동하며, 각 모드는 모델 수명 주기의 특정 단계를 위해 설계되었습니다:
- Train: 사용자 지정 데이터셋으로 YOLO 모델을 학습합니다.
- Val: 학습된 YOLO 모델을 검증합니다.
- Predict: 학습된 YOLO 모델을 사용하여 새 이미지나 비디오에 대해 예측합니다.
- Export: 배포를 위해 YOLO 모델을 내보냅니다.
- Track: YOLO 모델을 사용하여 실시간으로 객체를 추적합니다.
- Benchmark: YOLO 내보내기 모델(ONNX, TensorRT 등)의 속도와 정확도를 벤치마킹합니다.
| 인수(Argument) | 기본값(Default) | 설명 |
|---|---|---|
mode | 'train' | YOLO 모델의 작동 모드를 지정합니다: 모델 학습을 위한 train, 검증을 위한 val, 추론을 위한 predict, 배포 형식으로 변환하기 위한 export, 객체 추적을 위한 track, 성능 평가를 위한 benchmark가 있습니다. 각 모드는 개발부터 배포까지의 다양한 단계를 지원합니다. |
학습 설정(Train Settings)
YOLO 모델의 학습 설정에는 모델의 성능, 속도 및 정확도에 영향을 미치는 하이퍼파라미터와 구성이 포함됩니다. 주요 설정으로는 배치 크기, 학습률, 모멘텀 및 가중치 감쇠가 있습니다. 옵티마이저, 손실 함수 및 데이터셋 구성의 선택 또한 학습에 영향을 줍니다. 최적의 성능을 위해서는 튜닝과 실험이 중요합니다. 자세한 내용은 Ultralytics 진입점 함수를 참조하십시오.
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
model | str | None | 학습을 위한 모델 파일을 지정합니다. .pt 사전 학습 모델 또는 .yaml 구성 파일 경로를 허용합니다. 모델 구조를 정의하거나 가중치를 초기화하는 데 필수적입니다. |
data | str | None | 데이터셋 구성 파일의 경로입니다(예: coco8.yaml). 이 파일에는 학습 및 검증 데이터 경로, 클래스 이름, 클래스 수를 포함한 데이터셋 특정 파라미터가 포함되어 있습니다. |
epochs | int | 100 | 총 학습 에포크 수입니다. 각 에포크는 전체 데이터셋에 대한 전체 통과를 나타냅니다. 이 값을 조정하면 학습 기간과 모델 성능에 영향을 줄 수 있습니다. |
time | float | None | 시간 단위의 최대 학습 시간입니다. 설정 시 epochs 인수를 재정의하며, 지정된 시간이 지나면 학습이 자동으로 중단되도록 합니다. 시간이 제한된 학습 시나리오에 유용합니다. |
patience | int | 100 | 조기 종료 전에 검증 지표가 개선되지 않을 때 기다릴 에포크 수입니다. 성능이 평탄해질 때 학습을 중단하여 과적합을 방지하는 데 도움이 됩니다. |
batch | int 또는 float | 16 | 배치 크기로 세 가지 모드를 지원합니다: 정수 설정(예: batch=16), 60% GPU 메모리 사용을 위한 자동 모드(batch=-1), 또는 지정된 활용 비율로 사용하는 자동 모드(batch=0.70). |
imgsz | int | 640 | 학습을 위한 대상 이미지 크기입니다. 이미지는 지정된 값과 동일한 변을 가진 정사각형으로 크기가 조정됩니다(rect=False인 경우). YOLO 모델의 종횡비는 유지되지만 RT-DETR은 그렇지 않습니다. 모델 정확도와 계산 복잡성에 영향을 줍니다. |
save | bool | True | 학습 체크포인트와 최종 모델 가중치 저장을 활성화합니다. 학습 재개 또는 모델 배포에 유용합니다. |
save_period | int | -1 | 에포크 단위로 모델 체크포인트를 저장하는 빈도입니다. -1 값은 이 기능을 비활성화합니다. 긴 학습 세션 중에 중간 모델을 저장하는 데 유용합니다. |
cache | bool | False | 데이터셋 이미지를 메모리(True/ram), 디스크(disk)에 캐싱하거나 비활성화(False)합니다. 디스크 I/O를 줄여 학습 속도를 향상시키지만 메모리 사용량이 증가합니다. |
device | int, str 또는 list | None | 학습을 위한 컴퓨팅 장치를 지정합니다: 단일 GPU(device=0), 다중 GPU(device=[0,1]), CPU(device=cpu), Apple 실리콘용 MPS(device=mps), Huawei Ascend NPU(device=npu 또는 device=npu:0), 또는 가장 유휴 상태인 GPU 자동 선택(device=-1) 또는 다중 유휴 GPU 자동 선택(device=[-1,-1]) |
workers | int | 8 | 데이터 로딩을 위한 워커 스레드 수입니다(Multi-GPU 학습 시 RANK당). 특히 다중 GPU 설정에서 데이터 전처리 및 모델 공급 속도에 영향을 미칩니다. |
project | str | None | 학습 출력이 저장되는 프로젝트 디렉터리 이름입니다. 다양한 실험을 체계적으로 저장할 수 있습니다. |
name | str | None | 학습 실행 이름입니다. 프로젝트 폴더 내에 하위 디렉터리를 생성하여 학습 로그와 출력을 저장하는 데 사용됩니다. |
exist_ok | bool | False | True이면 기존 프로젝트/이름 디렉터리를 덮어쓸 수 있습니다. 이전 출력을 수동으로 지울 필요 없이 반복적인 실험을 수행할 때 유용합니다. |
pretrained | bool 또는 str | True | 사전 학습된 가중치에서 학습을 시작할지 여부를 결정합니다. 불리언 값 또는 가중치를 로드할 문자열 경로일 수 있습니다. pretrained=False는 모델 아키텍처를 유지하면서 무작위 초기화된 가중치부터 학습합니다. |
optimizer | str | 'auto' | 학습을 위한 옵티마이저를 선택합니다. 옵션에는 SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp 또는 모델 구성에 따라 자동으로 선택하는 auto가 있습니다. 수렴 속도와 안정성에 영향을 줍니다. |
seed | int | 0 | 학습을 위한 난수 시드를 설정하여 동일한 구성으로 실행할 때 결과의 재현성을 보장합니다. |
deterministic | bool | True | 결정론적 알고리즘 사용을 강제하여 재현성을 보장하지만, 비결정론적 알고리즘 제한으로 인해 성능과 속도에 영향을 줄 수 있습니다. |
verbose | bool | True | 학습 중 상세 출력을 활성화하여 콘솔에 진행률 표시줄, 에포크별 지표 및 추가 학습 정보를 표시합니다. |
single_cls | bool | False | 학습 중 다중 클래스 데이터셋의 모든 클래스를 단일 클래스로 취급합니다. 이진 분류 작업이나 분류보다는 객체 존재 여부에 집중할 때 유용합니다. |
classes | list[int] | None | 학습할 클래스 ID 목록을 지정합니다. 학습 중에 특정 클래스만 필터링하여 집중할 때 유용합니다. |
rect | bool | False | 최소 패딩 전략을 활성화합니다. 배치 내의 이미지는 imgsz와 동일한 긴 변을 가진 공통 크기에 도달하도록 최소한으로 패딩됩니다. 효율성과 속도를 향상시킬 수 있지만 모델 정확도에 영향을 줄 수 있습니다. |
multi_scale | float | 0.0 | Randomly vary imgsz each batch by +/- multi_scale (e.g. 0.25 -> 0.75x to 1.25x), rounding to model stride multiples; 0.0 disables multi-scale training. |
cos_lr | bool | False | 코사인 학습률 스케줄러를 사용하여 에포크에 따라 코사인 곡선을 따라 학습률을 조정합니다. 더 나은 수렴을 위해 학습률을 관리하는 데 도움이 됩니다. |
close_mosaic | int | 10 | 학습 완료 전 학습을 안정화하기 위해 마지막 N 에포크 동안 모자이크 데이터 증강을 비활성화합니다. 0으로 설정하면 이 기능이 비활성화됩니다. |
resume | bool | False | 마지막으로 저장된 체크포인트에서 학습을 재개합니다. 모델 가중치, 옵티마이저 상태 및 에포크 카운트를 자동으로 로드하여 학습을 매끄럽게 이어갑니다. |
amp | bool | True | 자동 혼합 정밀도 (AMP) 학습을 활성화하여 메모리 사용량을 줄이고 정확도에 미치는 영향을 최소화하면서 학습 속도를 향상시킬 수 있습니다. |
fraction | float | 1.0 | 학습에 사용할 데이터셋의 비율을 지정합니다. 전체 데이터셋의 일부만 사용하여 학습할 수 있게 해주며, 실험이나 리소스가 제한적인 경우에 유용합니다. |
profile | bool | False | 학습 중 ONNX 및 TensorRT 속도 프로파일링을 활성화하며, 모델 배포 최적화에 유용합니다. |
freeze | int 또는 list | None | 모델의 처음 N개 레이어 또는 인덱스로 지정된 레이어를 고정하여 학습 가능한 파라미터 수를 줄입니다. 파인 튜닝이나 전이 학습에 유용합니다. |
lr0 | float | 0.01 | 초기 학습률(예: SGD=1E-2, Adam=1E-3). 이 값을 조정하는 것은 최적화 과정에서 매우 중요하며 모델 가중치가 얼마나 빠르게 업데이트되는지에 영향을 미칩니다. |
lrf | float | 0.01 | 초기 학습률의 비율로서의 최종 학습률 = (lr0 * lrf)이며, 스케줄러와 함께 사용하여 시간에 따라 학습률을 조정하는 데 사용됩니다. |
momentum | float | 0.937 | SGD용 모멘텀 계수 또는 Adam 옵티마이저용 beta1이며, 현재 업데이트에 과거 기울기를 반영하는 정도에 영향을 미칩니다. |
weight_decay | float | 0.0005 | L2 정규화 항으로, 가중치가 커지는 것을 페널티를 주어 과적합을 방지합니다. |
warmup_epochs | float | 3.0 | 학습률 웜업을 위한 에포크 수로, 초기 학습 단계에서 학습을 안정화하기 위해 낮은 값에서 초기 학습률까지 점진적으로 학습률을 높입니다. |
warmup_momentum | float | 0.8 | 웜업 단계의 초기 모멘텀이며, 웜업 기간 동안 설정된 모멘텀으로 점진적으로 조정됩니다. |
warmup_bias_lr | float | 0.1 | 웜업 단계 동안의 바이어스 파라미터에 대한 학습률로, 초기 에포크에서 모델 학습을 안정화하는 데 도움을 줍니다. |
box | float | 7.5 | 손실 함수 내 박스 손실 성분의 가중치로, 경계 상자 좌표 예측 정확도에 얼마나 중점을 둘지 결정합니다. |
cls | float | 0.5 | 전체 손실 함수에서 분류 손실의 가중치로, 다른 구성 요소와 비교하여 올바른 클래스 예측의 중요성에 영향을 미칩니다. |
cls_pw | float | 0.0 | 클래스 불균형을 처리하기 위해 클래스 빈도의 역수를 사용하는 클래스 가중치 부여 파워입니다. 0.0은 클래스 가중치 부여를 비활성화하고, 1.0은 전체 역빈도 가중치를 적용합니다. 0과 1 사이의 값은 부분적인 가중치를 제공합니다. |
dfl | float | 1.5 | 분포 초점 손실(Distribution Focal Loss)의 가중치로, 특정 YOLO 버전에서 세밀한 분류를 위해 사용됩니다. |
pose | float | 12.0 | 자세 추정 모델 학습 시 자세 손실의 가중치로, 자세 키포인트 예측 정확도에 중점을 둡니다. |
kobj | float | 1.0 | 자세 추정 모델에서 키포인트 객체성(objectness) 손실의 가중치로, 감지 신뢰도와 자세 정확도 사이의 균형을 맞춥니다. |
rle | float | 1.0 | 자세 추정 모델에서 잔차 로그-우도 추정 손실의 가중치로, 키포인트 위치 정밀도에 영향을 미칩니다. |
angle | float | 1.0 | obb 모델에서 각도 손실의 가중치로, 회전된 경계 상자 각도 예측의 정밀도에 영향을 미칩니다. |
nbs | int | 64 | 손실 정규화를 위한 공칭 배치 사이즈입니다. |
overlap_mask | bool | True | 학습 시 객체 마스크를 단일 마스크로 병합할지, 각 객체별로 별도로 유지할지 결정합니다. 겹치는 경우, 병합 시 더 작은 마스크가 더 큰 마스크 위에 덮입니다. |
mask_ratio | int | 4 | 세그멘테이션 마스크에 대한 다운샘플 비율로, 학습 중 사용되는 마스크의 해상도에 영향을 미칩니다. |
dropout | float | 0.0 | 분류 작업에서 정규화를 위한 드롭아웃 비율로, 학습 중 무작위로 유닛을 생략하여 과적합을 방지합니다. |
val | bool | True | 학습 중 검증을 활성화하여 별도의 데이터셋에서 주기적으로 모델 성능을 평가할 수 있게 합니다. |
plots | bool | True | 학습 및 검증 지표와 예측 예시의 플롯을 생성하고 저장하여 모델 성능과 학습 진행 상황에 대한 시각적 통찰을 제공합니다. |
compile | bool 또는 str | False | Enables PyTorch 2.x torch.compile graph compilation with backend='inductor'. Accepts True → "default", False → disables, or a string mode such as "default", "reduce-overhead", "max-autotune-no-cudagraphs". Falls back to eager with a warning if unsupported. |
max_det | int | 300 | 학습의 검증 단계 동안 유지되는 최대 객체 수를 지정합니다. |
batch 인자는 세 가지 구성 옵션을 제공합니다:
- 고정 배치 사이즈: 정수(예:
batch=16)로 배치당 이미지 수를 지정합니다. - 자동 모드 (GPU 메모리의 60%):
batch=-1을 사용하면 CUDA 메모리 사용량을 약 60%로 자동 조정합니다. - 활용 비율을 포함한 자동 모드: 비율(예:
batch=0.70)을 설정하여 지정된 GPU 메모리 사용량을 기준으로 조정합니다.
예측 설정
YOLO 모델의 예측 설정에는 추론 중 성능, 속도 및 정확도에 영향을 미치는 하이퍼파라미터와 구성이 포함됩니다. 주요 설정으로는 신뢰도 임계값, 비최대 억제(NMS) 임계값 및 클래스 수가 있습니다. 입력 데이터 크기, 형식 및 마스크와 같은 보조 기능도 예측에 영향을 미칩니다. 이러한 설정을 조정하는 것은 최적의 성능을 위해 필수적입니다.
추론 인자:
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
source | str 또는 int 또는 None | None | 추론을 위한 데이터 소스를 지정합니다. 이미지 경로, 비디오 파일, 디렉토리, URL 또는 라이브 피드용 장치 ID일 수 있습니다. 생략하면 경고가 기록되고 모델은 내장된 데모 에셋(ultralytics/assets 또는 OBB용 데모 URL)을 사용합니다. 다양한 형식과 소스를 지원하여 다양한 유형의 입력 전반에 걸쳐 유연한 애플리케이션을 가능하게 합니다. |
conf | float | 0.25 | 감지를 위한 최소 신뢰도 임계값을 설정합니다. 이 임계값 미만의 신뢰도로 감지된 객체는 무시됩니다. 이 값을 조정하면 오탐지(false positive)를 줄이는 데 도움이 될 수 있습니다. |
iou | float | 0.7 | 비최대 억제(NMS)를 위한 교차 영역 합(Intersection Over Union) (IoU) 임계값입니다. 낮은 값은 겹치는 상자를 제거하여 감지 수를 줄이며 중복을 줄이는 데 유용합니다. |
imgsz | int 또는 tuple | 640 | Letterbox target. An integer gives a square N×N; a tuple gives (height, width). With rect=True, the actual tensor may be smaller than this target due to minimum-rectangle padding. Use rect=False for a fixed size. See Fixed shape vs minimum rectangle. |
rect | bool | True | True이면 가능한 경우 최소 사각형 패딩을 사용합니다(동일 모양 배치 및 지원되는 백엔드). False이면 항상 전체 imgsz로 패딩합니다. 고정 모양 대 최소 사각형을 참조하십시오. |
half | bool | False | 반-정밀도 (FP16) 추론을 활성화하여 지원되는 GPU에서 정확도에 미치는 영향을 최소화하면서 모델 추론 속도를 높일 수 있습니다. |
device | str | None | 추론을 위한 장치를 지정합니다(예: cpu, cuda:0, 0, npu 또는 npu:0). 사용자는 CPU, 특정 GPU, Huawei Ascend NPU 또는 기타 연산 장치 중에서 모델 실행을 선택할 수 있습니다. |
batch | int | 1 | 추론을 위한 배치 사이즈를 지정합니다(소스가 디렉토리, 비디오 파일 또는 .txt 파일인 경우에만 작동). 더 큰 배치 사이즈는 더 높은 처리량을 제공하여 추론에 필요한 총 시간을 단축할 수 있습니다. |
max_det | int | 300 | 이미지당 허용되는 최대 탐지 개수입니다. 단일 추론에서 모델이 탐지할 수 있는 총 객체 수를 제한하여 밀집된 장면에서 과도한 출력을 방지합니다. |
vid_stride | int | 1 | 비디오 입력을 위한 프레임 스트라이드입니다. 비디오에서 프레임을 건너뛰어 시간적 해상도를 희생하는 대신 처리 속도를 높일 수 있습니다. 값 1은 모든 프레임을 처리하며, 값이 클수록 프레임을 건너뜁니다. |
stream_buffer | bool | False | 비디오 스트림을 위해 들어오는 프레임을 대기열에 넣을지 여부를 결정합니다. False인 경우, 새로운 프레임을 수용하기 위해 이전 프레임이 삭제됩니다(실시간 애플리케이션에 최적화됨). True인 경우, 새로운 프레임을 버퍼에 대기시켜 프레임이 건너뛰지 않도록 하지만, 추론 FPS가 스트림 FPS보다 낮으면 지연 시간이 발생합니다. |
visualize | bool | False | 추론 중 모델 특징의 시각화를 활성화하여 모델이 무엇을 "보고" 있는지에 대한 통찰력을 제공합니다. 디버깅 및 모델 해석에 유용합니다. |
augment | bool | False | 예측을 위한 테스트 타임 증강(TTA)을 활성화하여 추론 속도를 희생하는 대신 탐지 견고성을 잠재적으로 향상시킵니다. |
agnostic_nms | bool | False | 클래스에 구애받지 않는 비최대 억제(NMS)를 활성화하여 서로 다른 클래스의 겹치는 상자를 병합합니다. 클래스 중첩이 흔한 다중 클래스 탐지 시나리오에서 유용합니다. 엔드투엔드 모델(YOLO26, YOLOv10)의 경우, 이 옵션은 동일한 탐지가 여러 클래스 레이블(IoU=1.0 중복)로 나타나는 것만 방지하며, 서로 다른 상자 간의 IoU 임계값 기반 억제는 수행하지 않습니다. |
classes | list[int] | None | 예측을 특정 클래스 ID 세트로 필터링합니다. 지정된 클래스에 속하는 탐지만 반환됩니다. 다중 클래스 탐지 작업에서 관련 객체에 집중하는 데 유용합니다. |
retina_masks | bool | False | 고해상도 세그멘테이션 마스크를 반환합니다. 활성화되면 반환된 마스크(masks.data)는 원본 이미지 크기와 일치합니다. 비활성화되면 추론 중에 사용된 이미지 크기를 가집니다. |
embed | list[int] | None | 특징 벡터 또는 임베딩을 추출할 레이어를 지정합니다. 클러스터링 또는 유사도 검색과 같은 다운스트림 작업에 유용합니다. |
project | str | None | save가 활성화된 경우 예측 출력이 저장되는 프로젝트 디렉토리 이름입니다. |
name | str | None | 예측 실행의 이름입니다. save가 활성화된 경우 예측 출력이 저장되는 프로젝트 폴더 내의 하위 디렉토리를 생성하는 데 사용됩니다. |
stream | bool | False | 모든 프레임을 한꺼번에 메모리에 로드하는 대신 Results 객체 생성기를 반환하여 긴 비디오나 수많은 이미지에 대해 메모리 효율적인 처리를 가능하게 합니다. |
verbose | bool | True | 터미널에 상세한 추론 로그를 표시할지 여부를 제어하여 예측 과정에 대한 실시간 피드백을 제공합니다. |
compile | bool 또는 str | False | Enables PyTorch 2.x torch.compile graph compilation with backend='inductor'. Accepts True → "default", False → disables, or a string mode such as "default", "reduce-overhead", "max-autotune-no-cudagraphs". Falls back to eager with a warning if unsupported. |
end2end | bool | None | NMS 없는 추론(YOLO26, YOLOv10)을 지원하는 YOLO 모델에서 엔드투엔드 모드를 재정의합니다. False로 설정하면 기존 NMS 파이프라인을 사용하여 예측을 실행할 수 있으며, 추가로 iou 인수를 활용할 수 있습니다. 자세한 내용은 엔드투엔드 탐지 가이드를 참조하십시오. |
시각화 인수:
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
show | bool | False | True인 경우 주석이 달린 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백을 얻는 데 유용합니다. |
save | bool | False or True | 주석이 달린 이미지나 비디오를 파일로 저장하는 기능을 활성화합니다. 문서화, 추가 분석 또는 결과 공유에 유용합니다. CLI 사용 시 기본값은 True, Python에서 사용 시 False입니다. |
save_frames | bool | False | 비디오를 처리할 때 개별 프레임을 이미지로 저장합니다. 특정 프레임을 추출하거나 상세한 프레임별 분석을 수행할 때 유용합니다. |
save_txt | bool | False | [class] [x_center] [y_center] [width] [height] [confidence] 형식에 따라 탐지 결과를 텍스트 파일로 저장합니다. 다른 분석 도구와의 통합에 유용합니다. |
save_conf | bool | False | 저장된 텍스트 파일에 신뢰도 점수를 포함합니다. 사후 처리 및 분석을 위해 사용할 수 있는 상세 정보를 향상시킵니다. |
save_crop | bool | False | 탐지된 이미지의 크롭된 버전을 저장합니다. 데이터셋 증강, 분석 또는 특정 객체에 초점을 맞춘 데이터셋을 생성하는 데 유용합니다. |
show_labels | bool | True | 시각적 출력에서 각 탐지에 대한 레이블을 표시합니다. 탐지된 객체를 즉시 이해할 수 있게 합니다. |
show_conf | bool | True | 레이블과 함께 각 탐지에 대한 신뢰도 점수를 표시합니다. 각 탐지에 대한 모델의 확신 수준을 알 수 있습니다. |
show_boxes | bool | True | 탐지된 객체 주위에 바운딩 박스를 그립니다. 이미지나 비디오 프레임에서 객체를 시각적으로 식별하고 위치를 파악하는 데 필수적입니다. |
line_width | int or None | None | 바운딩 박스의 선 두께를 지정합니다. None인 경우 이미지 크기에 따라 선 두께가 자동으로 조정됩니다. 명확성을 위한 시각적 사용자 정의를 제공합니다. |
검증 설정
YOLO 모델의 검증 설정에는 검증 데이터셋에서의 성능을 평가하기 위한 하이퍼파라미터 및 구성이 포함됩니다. 이러한 설정은 성능, 속도 및 정확도에 영향을 미칩니다. 일반적인 설정으로는 배치 크기, 검증 빈도 및 성능 지표가 있습니다. 검증 데이터셋의 크기와 구성, 그리고 특정 작업 또한 전체 과정에 영향을 미칩니다.
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
data | str | None | 데이터셋 구성 파일(예: coco8.yaml)에 대한 경로를 지정합니다. 이 파일에는 검증 데이터 경로가 포함되어야 합니다. |
imgsz | int | 640 | 입력 이미지의 크기를 정의합니다. 모든 이미지는 처리 전에 이 치수로 크기가 조정됩니다. 더 큰 크기는 작은 객체에 대한 정확도를 향상시킬 수 있지만 계산 시간이 증가합니다. |
batch | int | 16 | 배치당 이미지 수를 설정합니다. 높은 값은 GPU 메모리를 더 효율적으로 활용하지만 더 많은 VRAM이 필요합니다. 사용 가능한 하드웨어 리소스에 따라 조정하십시오. |
save_json | bool | False | True인 경우 추가 분석, 다른 도구와의 통합 또는 COCO와 같은 평가 서버에 제출하기 위해 결과를 JSON 파일로 저장합니다. |
conf | float | 0.001 | 탐지에 대한 최소 신뢰도 임계값을 설정합니다. 낮은 값은 재현율을 높이지만 더 많은 오탐지(False Positive)를 유발할 수 있습니다. 검증 중 정밀도-재현율 곡선을 계산하는 데 사용됩니다. |
iou | float | 0.7 | Sets the Intersection Over Union threshold for Non-Maximum Suppression. Controls duplicate detection elimination. |
max_det | int | 300 | 이미지당 최대 탐지 개수를 제한합니다. 밀집된 장면에서 과도한 탐지를 방지하고 계산 리소스를 관리하는 데 유용합니다. |
half | bool | False | 반-정밀도(FP16) 계산을 활성화하여 메모리 사용량을 줄이고 정확도에 미치는 영향은 최소화하면서 속도를 잠재적으로 향상시킵니다. |
device | str | None | 검증을 위한 장치를 지정합니다(cpu, cuda:0, npu, npu:0 등). None일 경우 가장 적합한 장치를 자동으로 선택합니다. 쉼표로 구분하여 여러 CUDA 장치를 지정할 수 있습니다. |
dnn | bool | False | True인 경우 ONNX 모델 추론을 위해 OpenCV DNN 모듈을 사용하여 PyTorch 추론 방식에 대한 대안을 제공합니다. |
plots | bool | True | True로 설정하면 모델 성능의 시각적 평가를 위해 예측 대 정답, 혼동 행렬 및 PR 곡선의 플롯을 생성하고 저장합니다. |
classes | list[int] | None | 평가할 클래스 ID 목록을 지정합니다. 평가 중에 특정 클래스만 필터링하고 집중하는 데 유용합니다. |
rect | bool | True | True인 경우 배치를 위해 직사각형 추론을 사용하여 패딩을 줄이고, 이미지를 원본 종횡비로 처리하여 속도와 효율성을 잠재적으로 높입니다. |
split | str | 'val' | 검증에 사용할 데이터셋 분할을 결정합니다(val, test 또는 train). 성능 평가를 위해 데이터 세그먼트를 선택할 때 유연성을 제공합니다. |
project | str | None | 검증 결과가 저장되는 프로젝트 디렉토리 이름입니다. 여러 실험이나 모델의 결과를 구성하는 데 도움이 됩니다. |
name | str | None | 검증 실행의 이름입니다. 검증 로그와 출력이 저장되는 프로젝트 폴더 내의 하위 디렉토리를 생성하는 데 사용됩니다. |
verbose | bool | True | True인 경우 검증 과정 중에 클래스별 지표, 배치 진행률 및 추가 디버깅 정보를 포함한 상세 정보를 표시합니다. |
save_txt | bool | False | True인 경우 탐지 결과를 이미지당 하나의 파일로 텍스트 파일에 저장합니다. 추가 분석, 맞춤형 사후 처리 또는 다른 시스템과의 통합에 유용합니다. |
save_conf | bool | False | True인 경우 save_txt가 활성화되었을 때 저장된 텍스트 파일에 신뢰도 값을 포함하여 분석 및 필터링을 위한 더 상세한 출력을 제공합니다. |
workers | int | 8 | 데이터 로딩을 위한 작업자 스레드 수입니다. 높은 값은 데이터 전처리를 가속화할 수 있지만 CPU 사용량을 증가시킬 수 있습니다. 0으로 설정하면 메인 스레드를 사용하며, 일부 환경에서는 더 안정적일 수 있습니다. |
augment | bool | False | 검증 중 테스트 타임 증강(TTA)을 활성화하여 입력의 변환된 버전에 대해 추론을 수행함으로써 추론 속도를 희생하는 대신 탐지 정확도를 잠재적으로 향상시킵니다. |
agnostic_nms | bool | False | 예측된 클래스에 관계없이 겹치는 상자를 병합하는 클래스에 구애받지 않는 비최대 억제를 활성화합니다. 인스턴스 중심 애플리케이션에 유용합니다. 엔드투엔드 모델(YOLO26, YOLOv10)의 경우, 이 옵션은 동일한 탐지가 여러 클래스 레이블(IoU=1.0 중복)로 나타나는 것만 방지하며, 서로 다른 상자 간의 IoU 임계값 기반 억제는 수행하지 않습니다. |
single_cls | bool | False | 검증 중 모든 클래스를 단일 클래스로 취급합니다. 이진 탐지 작업에서 모델 성능을 평가하거나 클래스 구분이 중요하지 않을 때 유용합니다. |
visualize | bool | False | 각 이미지에 대한 정답, 참 양성(TP), 오탐지(FP) 및 미탐지(FN)를 시각화합니다. 디버깅 및 모델 해석에 유용합니다. |
compile | bool 또는 str | False | Enables PyTorch 2.x torch.compile graph compilation with backend='inductor'. Accepts True → "default", False → disables, or a string mode such as "default", "reduce-overhead", "max-autotune-no-cudagraphs". Falls back to eager with a warning if unsupported. |
end2end | bool | None | NMS 없는 추론(YOLO26, YOLOv10)을 지원하는 YOLO 모델에서 엔드투엔드 모드를 재정의합니다. False로 설정하면 기존 NMS 파이프라인을 사용하여 검증을 실행할 수 있으며, 추가로 iou 인수를 활용할 수 있습니다. |
최적의 성능을 보장하고 과적합을 감지하고 방지하기 위해서는 신중한 튜닝과 실험이 필수적입니다.
내보내기 설정
YOLO 모델의 내보내기 설정에는 다양한 환경에서 사용하기 위해 모델을 저장하거나 내보내기 위한 구성이 포함됩니다. 이러한 설정은 성능, 크기 및 호환성에 영향을 미칩니다. 주요 설정에는 내보낸 파일 형식(예: ONNX, TensorFlow SavedModel), 대상 장치(예: CPU, GPU) 및 마스크와 같은 기능이 있습니다. 모델의 작업 및 대상 환경의 제약 조건 또한 내보내기 과정에 영향을 미칩니다.
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
format | str | 'torchscript' | 'onnx', 'torchscript', 'engine'(TensorRT) 등 내보낼 모델의 대상 형식입니다. 각 형식은 다양한 배포 환경과의 호환성을 가능하게 합니다. |
imgsz | int 또는 tuple | 640 | 모델 입력을 위한 원하는 이미지 크기입니다. 정사각형 이미지를 위한 정수(예: 640x640의 경우 640) 또는 특정 치수를 위한 튜플 (height, width)일 수 있습니다. |
keras | bool | False | TensorFlow SavedModel을 위한 Keras 형식 내보내기를 활성화하여 TensorFlow 서빙 및 API와의 호환성을 제공합니다. |
optimize | bool | False | TorchScript로 내보낼 때 모바일 장치를 위한 최적화를 적용하여 모델 크기를 줄이고 추론 성능을 향상시킬 수 있습니다. NCNN 형식이나 CUDA 장치와는 호환되지 않습니다. DeepX의 경우, 추론 지연 시간을 줄이고 컴파일 시간을 늘리는 더 높은 수준의 컴파일러 최적화를 활성화합니다. |
half | bool | False | FP16(반정밀도) 양자화를 활성화하여 모델 크기를 줄이고 지원되는 하드웨어에서 추론 속도를 잠재적으로 높입니다. INT8 양자화나 CPU 전용 내보내기와는 호환되지 않습니다. ONNX와 같은 특정 형식에서만 사용 가능합니다(아래 참조). |
int8 | bool | False | INT8 양자화를 활성화하여 모델을 추가로 압축하고 정확도 손실을 최소화하면서 추론 속도를 높입니다. 주로 엣지 장치용입니다. TensorRT와 함께 사용할 경우, 학습 후 양자화(PTQ)를 수행합니다. |
dynamic | bool | False | TorchScript, ONNX, OpenVINO, TensorRT 및 CoreML 내보내기에 대해 동적 입력 크기를 허용하여 다양한 이미지 치수를 처리하는 유연성을 향상시킵니다. INT8과 함께 TensorRT를 사용할 때 자동으로 True로 설정됩니다. |
simplify | bool | True | onnxslim을 사용하여 ONNX 내보내기를 위한 모델 그래프를 단순화하여 성능을 개선하고 추론 엔진과의 호환성을 잠재적으로 높입니다. |
opset | int | None | 다양한 ONNX 파서 및 런타임과의 호환성을 위해 ONNX opset 버전을 지정합니다. 설정하지 않으면 최신 지원 버전을 사용합니다. |
workspace | float 또는 None | None | TensorRT 최적화를 위한 최대 작업 공간 크기를 GiB 단위로 설정하여 메모리 사용량과 성능 간의 균형을 맞춥니다. 장치 최대치까지 TensorRT가 자동 할당하도록 하려면 None을 사용하십시오. |
nms | bool | False | 지원되는 경우 내보낸 모델에 NMS(Non-Maximum Suppression)를 추가하여( 내보내기 형식 참조) 탐지 후처리 효율성을 향상합니다. 엔드투엔드(end2end) 모델에는 사용할 수 없습니다. |
batch | int | 1 | 내보내기 모델의 배치 추론 크기 또는 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. Edge TPU 내보내기의 경우 자동으로 1로 설정됩니다. |
device | str | None | 내보내기를 위한 장치를 지정합니다: GPU(device=0), CPU(device=cpu), Apple silicon용 MPS(device=mps), Huawei Ascend NPU(device=npu 또는 device=npu:0), 또는 NVIDIA Jetson용 DLA(device=dla:0 또는 device=dla:1). TensorRT 내보내기는 자동으로 GPU를 사용합니다. |
data | str | 'coco8.yaml' | INT8 양자화 보정에 필수적인 데이터셋 구성 파일 경로입니다. INT8이 활성화된 상태에서 지정하지 않으면 coco8.yaml이 보정을 위한 대체 파일로 사용됩니다. |
fraction | float | 1.0 | INT8 양자화 보정에 사용할 데이터셋의 비율을 지정합니다. 전체 데이터셋의 일부에서 보정할 수 있게 하여 실험용이나 자원이 제한적일 때 유용합니다. INT8이 활성화된 상태에서 지정하지 않으면 전체 데이터셋이 사용됩니다. |
end2end | bool | None | NMS-free 추론을 지원하는 YOLO 모델(YOLO26, YOLOv10)의 엔드투엔드 모드를 재정의합니다. False로 설정하면 이러한 모델을 기존 NMS 기반 후처리 파이프라인과 호환되도록 내보낼 수 있습니다. 자세한 내용은 엔드투엔드 탐지 가이드를 참조하십시오. |
세심한 구성은 내보낸 모델이 사용 사례에 최적화되고 대상 환경에서 효과적으로 작동하도록 보장합니다.
솔루션 설정
Ultralytics 솔루션 구성 설정을 사용하면 객체 계수, 히트맵 생성, 운동 추적, 데이터 분석, 영역 추적, 대기열 관리, 영역 기반 계수와 같은 작업에 맞게 모델을 유연하게 사용자 지정할 수 있습니다. 이러한 옵션을 통해 특정 요구 사항에 맞춘 정확하고 유용한 결과를 위해 쉽게 조정할 수 있습니다.
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 모델 파일 경로입니다. |
region | list | '[(20, 400), (1260, 400)]' | 계수 영역을 정의하는 점들의 목록입니다. |
show_in | bool | True | 비디오 스트림에 유입(in) 계수를 표시할지 여부를 제어하는 플래그입니다. |
show_out | bool | True | 비디오 스트림에 유출(out) 계수를 표시할지 여부를 제어하는 플래그입니다. |
analytics_type | str | 'line' | 그래프 유형으로 line, bar, area 또는 pie가 있습니다. |
colormap | int | cv2.COLORMAP_DEEPGREEN | 히트맵에 사용할 컬러맵입니다. |
json_file | str | None | 모든 주차 좌표 데이터가 포함된 JSON 파일 경로입니다. |
up_angle | float | 145.0 | 'up' 자세에 대한 각도 임계값입니다. |
kpts | list[int] | '[6, 8, 10]' | 운동 모니터링에 사용되는 세 개의 키포인트 인덱스 목록입니다. 이 키포인트는 팔굽혀펴기, 턱걸이, 스쿼트, 복근 운동과 같은 운동을 위해 어깨, 팔꿈치, 손목 등 신체 관절이나 부위에 해당합니다. |
down_angle | int | 90 | 'down' 자세에 대한 각도 임계값입니다. |
blur_ratio | float | 0.5 | 블러 강도의 백분율을 조정하며 값의 범위는 0.1 - 1.0입니다. |
crop_dir | str | 'cropped-detections' | 잘라낸 탐지 결과를 저장하기 위한 디렉토리 이름입니다. |
records | int | 5 | 보안 경보 시스템에서 이메일을 트리거하기 위한 총 탐지 횟수입니다. |
vision_point | tuple[int, int] | (20, 20) | VisionEye 솔루션을 사용하여 객체를 추적하고 경로를 그릴 기준점입니다. |
source | str | None | 입력 소스(비디오, RTSP 등) 경로입니다. 솔루션 명령줄 인터페이스(CLI)에서만 사용할 수 있습니다. |
figsize | tuple[int, int] | (12.8, 7.2) | 히트맵이나 그래프와 같은 분석 차트를 위한 그림 크기입니다. |
fps | float | 30.0 | 속도 계산에 사용되는 초당 프레임 수(FPS)입니다. |
max_hist | int | 5 | 속도/방향 계산을 위해 객체당 추적할 최대 과거 지점 수입니다. |
meter_per_pixel | float | 0.05 | 픽셀 거리를 실제 단위로 변환하는 데 사용되는 스케일링 계수입니다. |
max_speed | int | 120 | 시각적 오버레이에서의 최대 속도 제한입니다(경보에 사용). |
data | str | 'images' | 유사성 검색에 사용되는 이미지 디렉토리 경로입니다. |
증강 설정
데이터 증강 기법은 훈련 데이터에 변동성을 도입하여 YOLO 모델의 견고성과 성능을 향상하는 데 필수적이며, 모델이 보지 못한 데이터에 대해 더 잘 일반화할 수 있도록 돕습니다. 다음 표는 각 증강 인수의 목적과 효과를 요약한 것입니다:
| 인수(Argument) | 유형(Type) | 기본값(Default) | 지원 작업 | 범위 | 설명 |
|---|---|---|---|---|---|
hsv_h | float | 0.015 | detect, segment, pose, obb, classify | 0.0 - 1.0 | 색상환의 일부만큼 이미지의 색조(Hue)를 조정하여 색상 변동성을 도입합니다. 다양한 조명 조건 전반에 걸쳐 모델이 일반화되도록 돕습니다. |
hsv_s | float | 0.7 | detect, segment, pose, obb, classify | 0.0 - 1.0 | 이미지의 채도(Saturation)를 일부 변경하여 색상 강도에 영향을 줍니다. 다양한 환경 조건을 시뮬레이션하는 데 유용합니다. |
hsv_v | float | 0.4 | detect, segment, pose, obb, classify | 0.0 - 1.0 | 이미지의 명도(Brightness)를 일부 수정하여 모델이 다양한 조명 조건에서 잘 작동하도록 돕습니다. |
degrees | float | 0 | detect, segment, pose, obb | 0.0 - 180 | 지정된 각도 범위 내에서 이미지를 무작위로 회전시켜 다양한 방향에 있는 객체를 인식하는 모델의 능력을 향상합니다. |
translate | float | 0.1 | detect, segment, pose, obb | 0.0 - 1.0 | 이미지 크기의 일부만큼 이미지를 가로 및 세로로 이동시켜 부분적으로 보이는 객체를 탐지하는 법을 학습하는 데 도움을 줍니다. |
scale | float | 0.5 | detect, segment, pose, obb, classify | 0 - 1 | 이득 계수로 이미지 크기를 조정하여 카메라와 다른 거리에 있는 객체를 시뮬레이션합니다. |
shear | float | 0 | detect, segment, pose, obb | -180 - +180 | 지정된 각도만큼 이미지를 기울여(Shear) 다른 각도에서 본 객체의 효과를 모방합니다. |
perspective | float | 0 | detect, segment, pose, obb | 0.0 - 0.001 | 이미지에 무작위 원근 변환을 적용하여 3D 공간의 객체를 이해하는 모델의 능력을 향상합니다. |
flipud | float | 0 | detect, segment, pose, obb, classify | 0.0 - 1.0 | 지정된 확률로 이미지를 상하 반전시켜 객체의 특성에 영향을 주지 않으면서 데이터 변동성을 높입니다. |
fliplr | float | 0.5 | detect, segment, pose, obb, classify | 0.0 - 1.0 | 지정된 확률로 이미지를 좌우 반전시키며, 대칭적인 객체를 학습하고 데이터셋 다양성을 높이는 데 유용합니다. |
bgr | float | 0 | detect, segment, pose, obb | 0.0 - 1.0 | 지정된 확률로 이미지 채널을 RGB에서 BGR로 변환하며, 잘못된 채널 순서에 대한 견고성을 높이는 데 유용합니다. |
mosaic | float | 1 | detect, segment, pose, obb | 0.0 - 1.0 | 4개의 학습 이미지를 하나로 결합하여 서로 다른 장면 구성과 객체 상호작용을 시뮬레이션합니다. 복잡한 장면 이해에 매우 효과적입니다. |
mixup | float | 0 | detect, segment, pose, obb | 0.0 - 1.0 | 두 이미지와 해당 라벨을 혼합하여 합성 이미지를 생성합니다. 라벨 노이즈와 시각적 변동성을 도입하여 모델의 일반화 능력을 향상시킵니다. |
cutmix | float | 0 | detect, segment, pose, obb | 0.0 - 1.0 | 두 이미지의 일부를 결합하여 뚜렷한 영역을 유지하면서 부분적인 혼합을 생성합니다. 폐색 시나리오를 만들어 모델의 견고성을 향상시킵니다. |
copy_paste | float | 0 | segment | 0.0 - 1.0 | 이미지 전반에 걸쳐 객체를 복사하고 붙여넣어 객체 인스턴스를 늘립니다. |
copy_paste_mode | str | flip | segment | - | 사용할 copy-paste 전략을 지정합니다. 옵션에는 'flip'과 'mixup'이 포함됩니다. |
auto_augment | str | randaugment | classify | - | 시각적 다양성을 통해 모델 성능을 향상시키기 위해 사전 정의된 증강 정책('randaugment', 'autoaugment' 또는 'augmix')을 적용합니다. |
erasing | float | 0.4 | classify | 0.0 - 1.0 | 학습 중에 이미지 영역을 무작위로 지워 모델이 덜 명확한 특징에 집중하도록 유도합니다. |
augmentations | list | `` | detect, segment, pose, obb | - | 고급 데이터 증강을 위한 사용자 지정 Albumentations 변환(Python API 전용)입니다. 특수 증강 요구 사항을 위해 변환 객체 목록을 허용합니다. |
데이터셋 및 작업 요구 사항에 맞게 이러한 설정을 조정하십시오. 다양한 값을 실험하면 최고의 모델 성능을 위한 최적의 증강 전략을 찾는 데 도움이 될 수 있습니다.
로깅, 체크포인트 및 플로팅 설정
YOLO 모델 학습 시 로깅, 체크포인트, 플로팅 및 파일 관리가 중요합니다:
- 로깅: TensorBoard와 같은 라이브러리를 사용하거나 파일에 기록하여 모델의 진행 상황을 추적하고 문제를 진단합니다.
- 체크포인트: 정기적으로 모델을 저장하여 학습을 재개하거나 다양한 구성을 실험합니다.
- 플로팅: Matplotlib 또는 TensorBoard와 같은 라이브러리를 사용하여 성능과 학습 진행 상황을 시각화합니다.
- 파일 관리: 체크포인트, 로그 파일, 플롯과 같이 학습 중에 생성된 파일을 정리하여 쉽게 액세스하고 분석합니다.
이러한 측면을 효과적으로 관리하면 진행 상황을 추적하고 디버깅 및 최적화를 더 쉽게 수행할 수 있습니다.
| 인수(Argument) | 기본값(Default) | 설명 |
|---|---|---|
project | 'runs' | 학습 실행을 저장할 루트 디렉토리를 지정합니다. 각 실행은 별도의 하위 디렉토리에 저장됩니다. |
name | 'exp' | 실험 이름을 정의합니다. 지정하지 않으면 YOLO는 덮어쓰기를 방지하기 위해 각 실행마다 이 이름을 증가시킵니다(예: exp, exp-2). |
exist_ok | False | 기존 실험 디렉토리를 덮어쓸지 여부를 결정합니다. True는 덮어쓰기를 허용하고, False는 방지합니다. |
plots | True | 학습 및 검증 플롯 생성 및 저장을 제어합니다. True로 설정하면 성능을 시각적으로 추적하기 위해 손실 곡선, precision-recall 곡선 및 샘플 예측과 같은 플롯을 생성합니다. |
save | True | 학습 체크포인트 및 최종 모델 가중치 저장을 활성화합니다. True로 설정하면 모델 상태를 주기적으로 저장하여 학습 재개 또는 모델 배포를 가능하게 합니다. |
사용자 지정 구성 파일
저장된 YAML을 로드하여 인라인으로 전달하지 않고도 전체 인수 세트를 재사용할 수 있습니다. cfg 인수는 default.yaml의 값을 재정의하며, 함께 전달된 추가 인수가 여전히 우선순위를 갖습니다.
| 인수(Argument) | 기본값(Default) | 설명 |
|---|---|---|
cfg | None | 값이 default.yaml 항목을 대체하는 YAML 파일의 경로입니다. CLI 예제는 기본 구성 파일 재정의를 참조하십시오. |
FAQ
학습 중 YOLO 모델의 성능을 향상하려면 어떻게 해야 합니까?
batch size, learning rate, 모멘텀 및 가중치 감쇠와 같은 하이퍼파라미터를 조정하여 성능을 향상하십시오. data augmentation 설정을 조정하고, 적절한 최적화 도구를 선택하며, 조기 종료 또는 mixed precision과 같은 기술을 사용하십시오. 자세한 내용은 학습 가이드를 참조하십시오.
YOLO 모델 정확도를 위한 주요 하이퍼파라미터는 무엇입니까?
정확도에 영향을 미치는 주요 하이퍼파라미터는 다음과 같습니다:
- 배치 크기(
batch): 크기가 클수록 학습이 안정될 수 있지만 더 많은 메모리가 필요합니다. - 학습률(
lr0): 비율이 작을수록 미세 조정이 가능하지만 수렴 속도가 느려집니다. - 모멘텀(
momentum): 기울기 벡터를 가속화하고 진동을 완화합니다. - 이미지 크기(
imgsz): 크기가 클수록 정확도는 향상되지만 계산 부하가 증가합니다.
데이터셋 및 하드웨어에 따라 이를 조정하십시오. 학습 설정에서 자세히 알아보십시오.
YOLO 모델 학습을 위한 학습률을 어떻게 설정합니까?
The learning rate (lr0) is crucial; start with 0.01 for SGD or 0.001 for Adam optimizer. Monitor metrics and adjust as needed. Use cosine learning rate schedulers (cos_lr) or warmup (warmup_epochs, warmup_momentum). Details are in the Train Guide.
YOLO 모델의 기본 추론 설정은 무엇입니까?
기본 설정은 다음과 같습니다:
- 신뢰도 임계값(
conf=0.25): 탐지를 위한 최소 신뢰도입니다. - IoU 임계값(
iou=0.7): Non-Maximum Suppression (NMS)용입니다. - 이미지 크기(
imgsz=640): 입력 이미지 크기를 조정합니다. - 장치(
device=None): CPU, GPU, Apple MPS 또는 Huawei Ascend NPU(npu)를 선택합니다.
전체 개요는 예측 설정 및 예측 가이드를 참조하십시오.
YOLO 모델에서 혼합 정밀도 학습을 사용하는 이유는 무엇입니까?
Mixed precision 학습(amp=True)은 FP16 및 FP32를 사용하여 메모리 사용량을 줄이고 학습 속도를 높입니다. 이는 최신 GPU에 유용하며, 정확도 손실 없이 더 큰 모델과 더 빠른 계산을 가능하게 합니다. 학습 가이드에서 자세히 알아보십시오.