Bắt đầu nhanh
Cài đặt Ultralytics
Ultralytics cung cấp các phương pháp cài đặt khác nhau bao gồm pip, conda và Docker. Cài đặt YOLOv8 thông qua ultralytics
Gói pip cho bản phát hành ổn định mới nhất hoặc bằng cách nhân bản Ultralytics Kho lưu trữ GitHub cho phiên bản cập nhật nhất. Docker có thể được sử dụng để thực thi gói trong một container bị cô lập, tránh cài đặt cục bộ.
Xem: Ultralytics YOLO Hướng dẫn Bắt đầu Nhanh
Cài đặt
Cài đặt ultralytics
Gói sử dụng pip hoặc cập nhật cài đặt hiện có bằng cách chạy pip install -U ultralytics
. Ghé thăm Python Chỉ số gói (PyPI) để biết thêm chi tiết về ultralytics
gói: https://pypi.org/project/ultralytics/.
Bạn cũng có thể cài đặt ultralytics
gói trực tiếp từ GitHub Kho. Điều này có thể hữu ích nếu bạn muốn có phiên bản phát triển mới nhất. Đảm bảo cài đặt công cụ dòng lệnh Git trên hệ thống của bạn. Các @main
lệnh cài đặt main
chi nhánh và có thể được sửa đổi sang chi nhánh khác, tức là @my-branch
, hoặc bị xóa hoàn toàn về mặc định thành main
nhánh.
Conda là một trình quản lý gói thay thế cho pip cũng có thể được sử dụng để cài đặt. Truy cập Anaconda để biết thêm chi tiết tại https://anaconda.org/conda-forge/ultralytics. Ultralytics Kho lưu trữ nguyên liệu để cập nhật gói Conda là tại https://github.com/conda-forge/ultralytics-nguyên liệu/.
Ghi
Nếu bạn đang cài đặt trong môi trường CUDA, cách tốt nhất là cài đặt ultralytics
, pytorch
và pytorch-cuda
trong cùng một lệnh để cho phép trình quản lý gói Conda giải quyết mọi xung đột hoặc cài đặt khác pytorch-cuda
cuối cùng để cho phép nó ghi đè lên CPU cụ thể pytorch
gói nếu cần thiết.
Conda Docker Image
Ultralytics Hình ảnh Conda Docker cũng có sẵn từ DockerHub. Những hình ảnh này dựa trên Miniconda3 và là một cách đơn giản để bắt đầu sử dụng ultralytics
trong môi trường 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
Sao chép ultralytics
kho lưu trữ nếu bạn quan tâm đến việc đóng góp cho sự phát triển hoặc muốn thử nghiệm với mã nguồn mới nhất. Sau khi nhân bản, điều hướng vào thư mục và cài đặt gói ở chế độ có thể chỉnh sửa -e
Sử dụng pip.
Sử dụng Docker để dễ dàng thực thi ultralytics
Đóng gói trong một thùng chứa cách ly, đảm bảo hiệu suất nhất quán và trơn tru trên các môi trường khác nhau. Bằng cách chọn một trong những quan chức ultralytics
Hình ảnh từ Trung tâm Docker, bạn không chỉ tránh được sự phức tạp của việc cài đặt cục bộ mà còn được hưởng lợi từ việc truy cập vào môi trường làm việc đã được xác minh. Ultralytics cung cấp 5 hình ảnh Docker được hỗ trợ chính, mỗi hình ảnh được thiết kế để cung cấp khả năng tương thích và hiệu quả cao cho các nền tảng và trường hợp sử dụng khác nhau:
- Dockerfile: Hình ảnh GPU được đề xuất cho đào tạo.
- Dockerfile-arm64: Tối ưu hóa cho kiến trúc ARM64, cho phép triển khai trên các thiết bị như Raspberry Pi và các nền tảng dựa trên ARM64 khác.
- Dockerfile-cpu: Phiên bản chỉ dành cho CPU dựa trên Ubuntu phù hợp với suy luận và môi trường không có GPU.
- Dockerfile-jetson: Được thiết kế riêng cho các thiết bị NVIDIA Jetson, tích hợp hỗ trợ GPU được tối ưu hóa cho các nền tảng này.
- Dockerfile-python: Hình ảnh tối thiểu chỉ với Python và các phụ thuộc cần thiết, lý tưởng cho các ứng dụng và phát triển nhẹ.
- Dockerfile-conda: Dựa trên Miniconda3 với cài đặt conda của ultralytics gói.
Dưới đây là các lệnh để có được hình ảnh mới nhất và thực hiện nó:
# 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
Lệnh trên khởi tạo một Docker container với latest ultralytics
ảnh. Các -it
flag gán một giả TTY và duy trì stdin mở, cho phép bạn tương tác với vùng chứa. Các --ipc=host
cờ đặt không gian tên IPC (Inter-Process Communication) cho máy chủ, điều này rất cần thiết để chia sẻ bộ nhớ giữa các tiến trình. Các --gpus all
flag cho phép truy cập vào tất cả các GPU có sẵn bên trong container, điều này rất quan trọng đối với các tác vụ yêu cầu tính toán GPU.
Lưu ý: Để làm việc với các tệp trên máy cục bộ của bạn trong bộ chứa, hãy sử dụng ổ đĩa Docker để gắn thư mục cục bộ vào bộ chứa:
# 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
Thay đổi /path/on/host
với đường dẫn thư mục trên máy cục bộ của bạn và /path/in/container
với đường dẫn mong muốn bên trong bộ chứa Docker cho khả năng truy cập.
Để sử dụng Docker nâng cao, vui lòng khám phá Ultralytics Hướng dẫn Docker.
Xem ultralytics
requirements.txt cho một danh sách các phụ thuộc. Lưu ý rằng tất cả các ví dụ ở trên cài đặt tất cả các phụ thuộc bắt buộc.
Mẹo
PyTorch Các yêu cầu khác nhau tùy theo hệ điều hành và yêu cầu CUDA, vì vậy bạn nên cài đặt PyTorch Đầu tiên làm theo hướng dẫn tại https://pytorch.org/get-started/locally.
Dùng Ultralytics với CLI
Các Ultralytics giao diện dòng lệnh (CLI) cho phép các lệnh một dòng đơn giản mà không cần một Python môi trường. CLI không yêu cầu tùy chỉnh hoặc Python mã. Bạn có thể chỉ cần chạy tất cả các tác vụ từ thiết bị đầu cuối với yolo
lệnh. Kiểm tra các CLI Hướng dẫn để tìm hiểu thêm về cách sử dụng YOLOv8 từ dòng lệnh.
Ví dụ
Ultralytics yolo
Các lệnh sử dụng cú pháp sau:
TASK
(tùy chọn) là một trong (dò, Phân đoạn, phân loại, tư thế)MODE
(bắt buộc) là một trong (xe lửa, Val, dự đoán, xuất khẩu, rãnh)ARGS
(tùy chọn) làarg=value
Các cặp nhưimgsz=640
mà ghi đè mặc định.
Xem tất cả ARGS
đầy đủ Hướng dẫn cấu hình hoặc với yolo cfg
CLI lệnh.
Đào tạo mô hình phát hiện cho 10 kỷ nguyên với learning_rate ban đầu là 0,01
Dự đoán video YouTube bằng mô hình phân đoạn được đào tạo trước ở kích thước hình ảnh 320:
Val một mô hình phát hiện được đào tạo trước ở kích thước lô 1 và kích thước hình ảnh 640:
Xuất một YOLOv8n Mô hình phân loại thành ONNX định dạng ở kích thước hình ảnh 224 x 128 (không yêu cầu TASK)
Cảnh báo
Các đối số phải được thông qua như arg=val
cặp, chia cho một bằng =
Ký và phân cách bằng khoảng trắng giữa các cặp. Không sử dụng --
Tiền tố đối số hoặc dấu phẩy ,
giữa các cuộc tranh luận.
yolo predict model=yolov8n.pt imgsz=640 conf=0.25
✅yolo predict model yolov8n.pt imgsz 640 conf 0.25
❌ (mất tích=
)yolo predict model=yolov8n.pt, imgsz=640, conf=0.25
❌ (không sử dụng,
)yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25
❌ (không sử dụng--
)
Dùng Ultralytics với Python
YOLOv8's Python Giao diện cho phép tích hợp liền mạch vào Python dự án, giúp dễ dàng tải, chạy và xử lý đầu ra của mô hình. Được thiết kế với sự đơn giản và dễ sử dụng, Python Giao diện cho phép người dùng nhanh chóng thực hiện phát hiện, phân đoạn và phân loại đối tượng trong các dự án của họ. Điều này làm cho YOLOv8's Python Giao diện một công cụ vô giá cho bất kỳ ai muốn kết hợp các chức năng này vào Python Dự án.
Ví dụ: người dùng có thể tải một mô hình, đào tạo nó, đánh giá hiệu suất của nó trên một bộ xác thực và thậm chí xuất nó sang ONNX định dạng chỉ với một vài dòng mã. Kiểm tra các Python Hướng dẫn tìm hiểu thêm về cách sử dụng YOLOv8 trong phạm vi của bạn Python Dự án.
Ví dụ
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')
Ultralytics Cài đặt
Các Ultralytics Thư viện cung cấp một hệ thống quản lý cài đặt mạnh mẽ để cho phép kiểm soát chi tiết các thử nghiệm của bạn. Bằng cách sử dụng SettingsManager
nằm trong ultralytics.utils
mô-đun, người dùng có thể dễ dàng truy cập và thay đổi cài đặt của họ. Chúng được lưu trữ trong tệp YAML và có thể được xem hoặc sửa đổi trực tiếp trong Python môi trường hoặc thông qua Giao diện dòng lệnh (CLI).
Kiểm tra cài đặt
Để hiểu rõ hơn về cấu hình hiện tại của cài đặt, bạn có thể xem trực tiếp:
Xem cài đặt
Bạn có thể sử dụng Python để xem cài đặt của bạn. Bắt đầu bằng cách nhập settings
đối tượng từ ultralytics
Module. In và trả lại cài đặt bằng các lệnh sau:
Sửa đổi cài đặt
Ultralytics cho phép người dùng dễ dàng sửa đổi cài đặt của họ. Thay đổi có thể được thực hiện theo các cách sau:
Cập nhật cài đặt
Trong Python môi trường, gọi update
phương pháp trên settings
Đối tượng để thay đổi cài đặt của bạn:
Tìm hiểu cài đặt
Bảng dưới đây cung cấp tổng quan về các cài đặt có sẵn để điều chỉnh trong Ultralytics. Mỗi cài đặt được phác thảo cùng với một giá trị mẫu, kiểu dữ liệu và mô tả ngắn gọn.
Tên | Giá trị ví dụ | Loại dữ liệu | Sự miêu tả |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Ultralytics Phiên bản cài đặt (khác với Ultralytics Phiên bản pip) |
datasets_dir |
'/path/to/datasets' |
str |
Thư mục lưu trữ các bộ dữ liệu |
weights_dir |
'/path/to/weights' |
str |
Thư mục lưu trữ trọng số mô hình |
runs_dir |
'/path/to/runs' |
str |
Thư mục nơi thử nghiệm chạy được lưu trữ |
uuid |
'a1b2c3d4' |
str |
Mã định danh duy nhất cho cài đặt hiện tại |
sync |
True |
bool |
Có đồng bộ hóa phân tích và sự cố với HUB hay không |
api_key |
'' |
str |
Ultralytics Khóa API HUB |
clearml |
True |
bool |
Có nên sử dụng hay không ClearML Đăng nhập |
comet |
True |
bool |
Có nên sử dụng hay không Comet ML để theo dõi và trực quan hóa thử nghiệm |
dvc |
True |
bool |
Có nên sử dụng DVC để theo dõi thử nghiệm và kiểm soát phiên bản hay không |
hub |
True |
bool |
Có nên sử dụng hay không Ultralytics Tích hợp HUB |
mlflow |
True |
bool |
Có nên sử dụng MLFlow để theo dõi thử nghiệm hay không |
neptune |
True |
bool |
Có nên sử dụng hay không Neptune để theo dõi thử nghiệm |
raytune |
True |
bool |
Có nên sử dụng Ray Tune để điều chỉnh siêu tham số hay không |
tensorboard |
True |
bool |
Có nên sử dụng TensorBoard để trực quan hóa hay không |
wandb |
True |
bool |
Có nên sử dụng hay không Weights & Biases Đăng nhập |
Khi bạn điều hướng qua các dự án hoặc thử nghiệm của mình, hãy nhớ truy cập lại các cài đặt này để đảm bảo rằng chúng được định cấu hình tối ưu cho nhu cầu của bạn.
Đã tạo 2023-11-12, Cập nhật 2024-04-18
Tác giả: glenn-jocher (8), RizwanMunawar (2), Laughing-q (1), AyushExel (1)