์ด๋ฏธ์ง ๋ถ๋ฅ
์ด๋ฏธ์ง ๋ถ๋ฅ๋ ์ธ ๊ฐ์ง ์์ ์ค ๊ฐ์ฅ ๊ฐ๋จํ ์์ ์ผ๋ก, ์ ์ฒด ์ด๋ฏธ์ง๋ฅผ ๋ฏธ๋ฆฌ ์ ์๋ ํด๋์ค ์ธํธ ์ค ํ๋๋ก ๋ถ๋ฅํ๋ ์์ ์ ๋๋ค.
์ด๋ฏธ์ง ๋ถ๋ฅ๊ธฐ์ ์ถ๋ ฅ์ ๋จ์ผ ํด๋์ค ๋ ์ด๋ธ๊ณผ ์ ๋ขฐ๋ ์ ์์ ๋๋ค. ์ด๋ฏธ์ง ๋ถ๋ฅ๋ ์ด๋ฏธ์ง๊ฐ ์ํ ํด๋์ค๋ง ์๊ณ ์ถ๊ณ ํด๋น ํด๋์ค์ ๊ฐ์ฒด๊ฐ ์ด๋์ ์๋์ง ๋๋ ์ ํํ ๋ชจ์์ด ๋ฌด์์ธ์ง ์ ํ์๊ฐ ์์ ๋ ์ ์ฉํฉ๋๋ค.
Watch: Ultralytics YOLO ์์
์ดํด๋ณด๊ธฐ: Ultralytics HUB๋ฅผ ์ฌ์ฉํ ์ด๋ฏธ์ง ๋ถ๋ฅ
ํ
YOLO11 ๋ชจ๋ธ ๋ถ๋ฅ๋ -cls
์ ๋ฏธ์ฌ, ์ฆ yolo11n-cls.pt
์ ๋ํด ์ฌ์ ๊ต์ก์ ๋ฐ์์ผ๋ฉฐ ์ด๋ฏธ์ง๋ท.
๋ชจ๋ธ
YOLO11 ์ฌ์ ํ์ต๋ ๋ถ๋ฅ ๋ชจ๋ธ์ด ์ฌ๊ธฐ์ ๋์ ์์ต๋๋ค. ๊ฐ์ง, ์ธ๊ทธ๋จผํธ ๋ฐ ํฌ์ฆ ๋ชจ๋ธ์ COCO ๋ฐ์ดํฐ ์ธํธ์์ ์ฌ์ ํ์ต๋ ๋ฐ๋ฉด, ๋ถ๋ฅ ๋ชจ๋ธ์ ImageNet ๋ฐ์ดํฐ ์ธํธ์์ ์ฌ์ ํ์ต๋์์ต๋๋ค.
๋ชจ๋ธ์ ์ฒ์ ์ฌ์ฉํ ๋ ์ต์ Ultralytics ๋ฆด๋ฆฌ์ค์์ ์๋์ผ๋ก ๋ค์ด๋ก๋๋ฉ๋๋ค.
๋ชจ๋ธ | ํฌ๊ธฐ (ํฝ์ ) |
acc top1 |
ACC TOP5 |
์๋ CPU ONNX (ms) |
์๋ T4TensorRT10 (ms) |
๋งค๊ฐ๋ณ์ (M) |
FLOPs (B) at 640 |
---|---|---|---|---|---|---|---|
YOLO11n-cls | 224 | 70.0 | 89.4 | 5.0 ยฑ 0.3 | 1.1 ยฑ 0.0 | 1.6 | 3.3 |
YOLO11s-cls | 224 | 75.4 | 92.7 | 7.9 ยฑ 0.2 | 1.3 ยฑ 0.0 | 5.5 | 12.1 |
YOLO11m-cls | 224 | 77.3 | 93.9 | 17.2 ยฑ 0.4 | 2.0 ยฑ 0.0 | 10.4 | 39.3 |
YOLO11l-cls | 224 | 78.3 | 94.3 | 23.2 ยฑ 0.3 | 2.8 ยฑ 0.0 | 12.9 | 49.4 |
YOLO11x-cls | 224 | 79.5 | 94.9 | 41.4 ยฑ 0.9 | 3.8 ยฑ 0.0 | 28.4 | 110.4 |
- acc ๊ฐ์ ๋ชจ๋ธ ์ ํ๋์
๋๋ค. ์ด๋ฏธ์ง๋ท ๋ฐ์ดํฐ ์ธํธ ์ ํจ์ฑ ๊ฒ์ฌ ์งํฉ.
๋ณต์ ๋์yolo val classify data=path/to/ImageNet device=0
- ์๋ ์ด๋ฏธ์ง๋ท ๊ฐ ์ด๋ฏธ์ง์ ๋ํด ํ๊ท ์ ๊ตฌํฉ๋๋ค. Amazon EC2 P4d ์ธ์คํด์ค์
๋๋ค.
๋ณต์ ๋์yolo val classify data=path/to/ImageNet batch=1 device=0|cpu
๊ธฐ์ฐจ
์ด๋ฏธ์ง ํฌ๊ธฐ 64์์ 100๊ฐ์ ์ํฌํฌ์ ๋ํด MNIST160 ๋ฐ์ดํฐ ์ธํธ์์ YOLO11n-cls๋ฅผ ํ๋ จํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์์ ์ ์ฒด ๋ชฉ๋ก์ ๊ตฌ์ฑ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
์
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.yaml") # build a new model from YAML
model = YOLO("yolo11n-cls.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n-cls.yaml").load("yolo11n-cls.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="mnist160", epochs=100, imgsz=64)
# Build a new model from YAML and start training from scratch
yolo classify train data=mnist160 model=yolo11n-cls.yaml epochs=100 imgsz=64
# Start training from a pretrained *.pt model
yolo classify train data=mnist160 model=yolo11n-cls.pt epochs=100 imgsz=64
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo classify train data=mnist160 model=yolo11n-cls.yaml pretrained=yolo11n-cls.pt epochs=100 imgsz=64
๋ฐ์ดํฐ ์งํฉ ํ์
YOLO ๋ถ๋ฅ ๋ฐ์ดํฐ์ ํ์์ ๋ฐ์ดํฐ์ ๊ฐ์ด๋์์ ์์ธํ ํ์ธํ ์ ์์ต๋๋ค.
Val
ํ์ต๋ YOLO11n-cls ๋ชจ๋ธ ๊ฒ์ฆํ๊ธฐ ์ ํ์ฑ ๋ก ์ค์ ํฉ๋๋ค. ์ธ์๊ฐ ํ์ํ์ง ์์ผ๋ฏ๋ก model
๊ต์ก ์ ์ง data
๋ฐ ์ธ์๋ฅผ ๋ชจ๋ธ ์์ฑ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
์
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.top1 # top1 accuracy
metrics.top5 # top5 accuracy
์์ธก
ํ์ต๋ YOLO11n-cls ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์ ๋ํ ์์ธก์ ์คํํฉ๋๋ค.
์
์ ์ฒด ๋ณด๊ธฐ predict
๋ชจ๋ ์ธ๋ถ ์ ๋ณด์์ ์์ธก ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ด๋ณด๋ด๊ธฐ
ONNX, CoreML ๋ฑ๊ณผ ๊ฐ์ ๋ค๋ฅธ ํ์์ผ๋ก YOLO11n-cls ๋ชจ๋ธ์ ๋ด๋ณด๋ ๋๋ค.
์
์ฌ์ฉ ๊ฐ๋ฅํ YOLO11-cls ๋ด๋ณด๋ด๊ธฐ ํ์์ ์๋ ํ์ ๋์ ์์ต๋๋ค. ๋ค์์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํ์์ผ๋ก ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. format
์ธ์, ์ฆ format='onnx'
๋๋ format='engine'
. ๋ด๋ณด๋ธ ๋ชจ๋ธ์์ ์ง์ ์์ธกํ๊ฑฐ๋ ๊ฒ์ฆํ ์ ์์ต๋๋ค. yolo predict model=yolo11n-cls.onnx
. ๋ด๋ณด๋ด๊ธฐ๊ฐ ์๋ฃ๋ ํ ๋ชจ๋ธ์ ๋ํ ์ฌ์ฉ ์๊ฐ ํ์๋ฉ๋๋ค.
ํ์ | format ์ธ์ |
๋ชจ๋ธ | ๋ฉํ๋ฐ์ดํฐ | ์ธ์ |
---|---|---|---|---|
PyTorch | - | yolo11n-cls.pt |
โ | - |
TorchScript | torchscript |
yolo11n-cls.torchscript |
โ | imgsz , optimize , batch |
ONNX | onnx |
yolo11n-cls.onnx |
โ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolo11n-cls_openvino_model/ |
โ | imgsz , half , int8 , batch |
TensorRT | engine |
yolo11n-cls.engine |
โ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolo11n-cls.mlpackage |
โ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n-cls_saved_model/ |
โ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolo11n-cls.pb |
โ | imgsz , batch |
TF Lite | tflite |
yolo11n-cls.tflite |
โ | imgsz , half , int8 , batch |
TF Edge TPU | edgetpu |
yolo11n-cls_edgetpu.tflite |
โ | imgsz |
TF.js | tfjs |
yolo11n-cls_web_model/ |
โ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolo11n-cls_paddle_model/ |
โ | imgsz , batch |
MNN | mnn |
yolo11n-cls.mnn |
โ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n-cls_ncnn_model/ |
โ | imgsz , half , batch |
IMX500 | imx |
yolo11n-cls_imx_model/ |
โ | imgsz , int8 |
์ ์ฒด ๋ณด๊ธฐ export
์ธ๋ถ ์ ๋ณด์์ ๋ด๋ณด๋ด๊ธฐ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ด๋ฏธ์ง ๋ถ๋ฅ์์ YOLO11 ์ ๋ชฉ์ ์ ๋ฌด์์ธ๊ฐ์?
YOLO11 ๋ชจ๋ธ๊ณผ ๊ฐ์ yolo11n-cls.pt
๋ ํจ์จ์ ์ธ ์ด๋ฏธ์ง ๋ถ๋ฅ๋ฅผ ์ํด ์ค๊ณ๋์์ต๋๋ค. ์ ๋ขฐ๋ ์ ์์ ํจ๊ป ์ ์ฒด ์ด๋ฏธ์ง์ ๋จ์ผ ํด๋์ค ๋ ์ด๋ธ์ ํ ๋นํฉ๋๋ค. ์ด๋ ์ด๋ฏธ์ง ๋ด ๋ฌผ์ฒด์ ์์น๋ ๋ชจ์์ ์๋ณํ๋ ๋์ ์ด๋ฏธ์ง์ ํน์ ํด๋์ค๋ง ์๋ฉด ์ถฉ๋ถํ ์ ํ๋ฆฌ์ผ์ด์
์ ํนํ ์ ์ฉํฉ๋๋ค.
์ด๋ฏธ์ง ๋ถ๋ฅ๋ฅผ ์ํด YOLO11 ๋ชจ๋ธ์ ์ด๋ป๊ฒ ํ๋ จํ๋์?
YOLO11 ๋ชจ๋ธ์ ํ๋ จํ๋ ค๋ฉด Python ๋๋ CLI ๋ช
๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด yolo11n-cls
๋ชจ๋ธ์ ์ด๋ฏธ์ง ํฌ๊ธฐ 64์ 100๊ฐ ์ํฌํฌ์ ๋ํด MNIST160 ๋ฐ์ดํฐ ์ธํธ์ ์ ์ฉํ์ต๋๋ค:
์
๋ ๋ง์ ๊ตฌ์ฑ ์ต์ ์ ๋ณด๋ ค๋ฉด ๊ตฌ์ฑ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ์ธ์.
์ฌ์ ํ์ต๋ YOLO11 ๋ถ๋ฅ ๋ชจ๋ธ์ ์ด๋์์ ์ฐพ์ ์ ์๋์?
์ฌ์ ํ์ต๋ YOLO11 ๋ถ๋ฅ ๋ชจ๋ธ์ ๋ค์์์ ์ฐพ์ ์ ์์ต๋๋ค. ๋ชจ๋ธ ์น์
์ผ๋ก ์ด๋ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๋ชจ๋ธ yolo11n-cls.pt
, yolo11s-cls.pt
, yolo11m-cls.pt
๋ฑ์ ๋ํด ์ฌ์ ๊ต์ก์ ๋ฐ์ ํ ์ด๋ฏธ์ง๋ท ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฝ๊ฒ ๋ค์ด๋ก๋ํ์ฌ ๋ค์ํ ์ด๋ฏธ์ง ๋ถ๋ฅ ์์
์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ต๋ YOLO11 ๋ชจ๋ธ์ ๋ค๋ฅธ ํ์์ผ๋ก ๋ด๋ณด๋ด๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
ํ์ต๋ YOLO11 ๋ชจ๋ธ์ Python ๋๋ CLI ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ค์ํ ํ์์ผ๋ก ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ชจ๋ธ์ ONNX ํ์์ผ๋ก ๋ด๋ณด๋ด๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ธ์:
์
๋ด๋ณด๋ด๊ธฐ ์ต์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ด๋ณด๋ด๊ธฐ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ๋ จ๋ YOLO11 ๋ถ๋ฅ ๋ชจ๋ธ์ ์ ํจ์ฑ์ ๊ฒ์ฌํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
MNIST160๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ์ธํธ์์ ํ์ต๋ ๋ชจ๋ธ์ ์ ํ๋๋ฅผ ๊ฒ์ฆํ๋ ค๋ฉด ๋ค์ Python ๋๋ CLI ๋ช ๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค:
์
์์ธํ ๋ด์ฉ์ ์ ํจ์ฑ ๊ฒ์ฌ ์น์ ์ ์ฐธ์กฐํ์ธ์.