Cài đặt Ultralytics#
Ultralytics cung cấp nhiều phương thức cài đặt khác nhau, bao gồm pip, conda và Docker. Bạn có thể cài đặt YOLO thông qua gói pip ultralytics để nhận bản phát hành ổn định mới nhất hoặc bằng cách sao chép kho lưu trữ GitHub của Ultralytics để có phiên bản mới nhất. Docker cũng là một tùy chọn để chạy gói trong một container cô lập, giúp tránh việc cài đặt cục bộ.
Watch: Ultralytics YOLO Quick Start Guide
Cài đặt hoặc cập nhật gói ultralytics bằng pip bằng cách chạy pip install -U ultralytics. Để biết thêm chi tiết về gói ultralytics, hãy truy cập Python Package Index (PyPI).
# Install or upgrade the ultralytics package from PyPI
pip install -U ultralyticsBạn cũng có thể cài đặt ultralytics trực tiếp từ kho lưu trữ GitHub của Ultralytics. Đ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 bạn đã cài đặt công cụ dòng lệnh Git, sau đó chạy:
# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@mainXem tệp ultralytics pyproject.toml để biết danh sách các phụ thuộc. Lưu ý rằng tất cả các ví dụ trên đều cài đặt tất cả các phụ thuộc bắt buộc.
Cài đặt trên máy chủ không đầu (Headless)#
Đối với các môi trường máy chủ không có màn hình hiển thị (ví dụ: máy ảo đám mây, container Docker, đường ống CI/CD), hãy sử dụng gói ultralytics-opencv-headless. Gói này giống hệt với gói tiêu chuẩn ultralytics nhưng phụ thuộc vào opencv-python-headless thay vì opencv-python, tránh các phụ thuộc GUI không cần thiết và các lỗi libGL tiềm ẩn.
pip install ultralytics-opencv-headlessCả hai gói đều cung cấp cùng chức năng và API. Biến thể headless chỉ đơn giản là loại bỏ các thành phần GUI của OpenCV yêu cầu các thư viện hiển thị.
Cài đặt nâng cao#
Mặc dù các phương pháp cài đặt tiêu chuẩn bao gồm hầu hết các trường hợp sử dụng, bạn có thể cần một thiết lập phù hợp hơn để phát triển hoặc các cấu hình tùy chỉnh.
Nếu bạn cần các sửa đổi tùy chỉnh bền vững, bạn có thể fork kho lưu trữ Ultralytics, thực hiện các thay đổi đối với pyproject.toml hoặc mã khác và cài đặt từ bản fork của bạn.
- Fork kho lưu trữ GitHub của Ultralytics vào tài khoản GitHub của riêng bạn.
- Clone bản fork của bạn về máy cục bộ:
git clone https://github.com/YOUR_USERNAME/ultralytics.git cd ultralytics - Tạo một nhánh mới cho các thay đổi của bạn:
git checkout -b my-custom-branch - Thực hiện các sửa đổi của bạn đối với
pyproject.tomlhoặc các tệp khác nếu cần. - Commit và push các thay đổi của bạn:
git add . git commit -m "My custom changes" git push origin my-custom-branch - Cài đặt bằng pip với cú pháp
git+https, trỏ đến nhánh của bạn:pip install git+https://github.com/YOUR_USERNAME/ultralytics.git@my-custom-branch
Sử dụng Ultralytics với CLI#
Giao diện dòng lệnh (CLI) của Ultralytics cho phép các lệnh một dòng đơn giản mà không cần môi trường Python. CLI không yêu cầu tùy chỉnh hoặc mã Python; chạy tất cả các tác vụ từ thiết bị đầu cuối bằng lệnh yolo. Để biết thêm thông tin về việc sử dụng YOLO từ dòng lệnh, hãy xem Hướng dẫn CLI.
Các lệnh yolo của Ultralytics sử dụng cú pháp sau:
yolo TASK MODE ARGSTASK(tùy chọn) là một trong các mục (detect, segment, semantic, depth, classify, pose, obb)MODE(bắt buộc) là một trong các mục (train, val, predict, export, track, benchmark)ARGS(tùy chọn) là các cặparg=valuegiống nhưimgsz=640để ghi đè các giá trị mặc định.
Xem tất cả ARGS trong Hướng dẫn Cấu hình đầy đủ hoặc bằng lệnh CLI yolo cfg.
Các đối số phải được chuyển dưới dạng các cặp arg=value, được phân tách bằng dấu bằng = và được phân định bằng khoảng trắng. Không sử dụng tiền tố đối số -- hoặc dấu phẩy , giữa các đối số.
yolo predict model=yolo26n.pt imgsz=640 conf=0.25✅yolo predict model yolo26n.pt imgsz 640 conf 0.25❌ (thiếu=)yolo predict model=yolo26n.pt, imgsz=640, conf=0.25❌ (không sử dụng,)yolo predict --model yolo26n.pt --imgsz 640 --conf 0.25❌ (không sử dụng--)yolo solution model=yolo26n.pt imgsz=640 conf=0.25❌ (sử dụngsolutions, không phảisolution)
Sử dụng Ultralytics với Python#
Giao diện Python Ultralytics YOLO cung cấp sự tích hợp liền mạch vào các dự án Python, giúp việc tải, chạy và xử lý kết quả đầu ra của mô hình trở nên dễ dàng. Được thiết kế để đơn giản hóa, giao diện Python cho phép người dùng nhanh chóng triển khai phát hiện đối tượng, phân đoạn thực thể, phân đoạn ngữ nghĩa, ước tính độ sâu và phân loại. Điều này làm cho giao diện Python YOLO trở thành một công cụ vô giá để kết hợp các chức năng này vào các dự án Python.
Ví dụ, người dùng có thể tải một mô hình, huấn luyện nó, đánh giá hiệu suất và xuất nó sang định dạng ONNX chỉ với vài dòng mã. Khám phá Hướng dẫn Python để tìm hiểu thêm về việc sử dụng YOLO trong các dự án Python của bạn.
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolo26n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo26n.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")Cài đặt Ultralytics#
Thư viện Ultralytics bao gồm một SettingsManager để kiểm soát chi tiết đối với các thí nghiệm, cho phép người dùng truy cập và sửa đổi các cài đặt một cách dễ dàng. Được lưu trữ trong một tệp JSON trong thư mục cấu hình người dùng của môi trường, các cài đặt này có thể được xem hoặc sửa đổi trong môi trường Python hoặc thông qua Giao diện Dòng lệnh (CLI).
Kiểm tra Cài đặt#
Để xem cấu hình hiện tại trong các cài đặt của bạn:
Sử dụng Python để xem cài đặt của bạn bằng cách nhập đối tượng settings từ mô-đun ultralytics. In và trả về cài đặt bằng các lệnh sau:
from ultralytics import settings
# View all settings
print(settings)
# Return a specific setting
value = settings["runs_dir"]Sửa đổi cài đặt#
Ultralytics giúp bạn dễ dàng sửa đổi cài đặt theo các cách sau:
Trong Python, hãy sử dụng phương thức update trên đối tượng 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()Tìm hiểu về cài đặt#
Bảng dưới đây tổng quan các cài đặt có thể điều chỉnh trong Ultralytics, bao gồm các giá trị ví dụ, kiểu dữ liệu và mô tả.
| Tên | Giá trị ví dụ | Kiểu dữ liệu | Mô tả |
|---|---|---|---|
settings_version | '0.0.7' | str | Ultralytics settings version (distinct from the Ultralytics pip version) |
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ố model |
runs_dir | '/path/to/runs' | str | Thư mục lưu trữ các lượt chạy thí nghiệm |
uuid | 'a1b2c3d4' | str | Định danh duy nhất cho các cài đặt hiện tại |
sync | True | bool | Option to sync analytics and crashes to Ultralytics Platform |
api_key | '' | str | Ultralytics Platform API Key |
clearml | True | bool | Option to use ClearML logging |
comet | True | bool | Option to use Comet ML for experiment tracking and visualization |
dvc | True | bool | Option to use DVC for experiment tracking and version control |
mlflow | True | bool | Option to use MLFlow for experiment tracking |
neptune | True | bool | Option to use Neptune for experiment tracking |
raytune | True | bool | Option to use Ray Tune for hyperparameter tuning |
tensorboard | False | bool | Option to use TensorBoard for visualization |
wandb | False | bool | Option to use Weights & Biases logging |
vscode_msg | True | bool | When a VS Code terminal is detected, enables a prompt to download the Ultralytics-Snippets extension. |
Hãy xem lại các cài đặt này khi bạn tiến triển qua các dự án hoặc thí nghiệm để đảm bảo cấu hình tối ưu.
Câu hỏi thường gặp#
Làm thế nào để cài đặt Ultralytics bằng pip?#
Cài đặt Ultralytics với pip bằng cách sử dụng:
pip install -U ultralyticsThao tác này cài đặt bản phát hành ổn định mới nhất của gói ultralytics từ PyPI. Để cài đặt phiên bản phát triển trực tiếp từ GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitĐảm bảo rằng công cụ dòng lệnh Git đã được cài đặt trên hệ thống của bạn.
Tôi có thể cài đặt Ultralytics YOLO bằng conda không?#
Có, hãy cài đặt Ultralytics YOLO bằng conda với:
conda install -c conda-forge ultralyticsPhương pháp này là một sự thay thế tuyệt vời cho pip, đảm bảo tính tương thích với các gói khác. Đối với các môi trường CUDA, hãy cài đặt ultralytics, pytorch và pytorch-cuda cùng nhau để giải quyết xung đột:
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=12.1 ultralyticsĐể biết thêm hướng dẫn, hãy xem hướng dẫn bắt đầu nhanh Conda.
Việc sử dụng Docker để chạy Ultralytics YOLO có những ưu điểm gì?#
Docker cung cấp một môi trường cô lập, nhất quán cho Ultralytics YOLO, đảm bảo hiệu suất mượt mà trên các hệ thống và tránh sự phức tạp khi cài đặt cục bộ. Các hình ảnh Docker chính thức có sẵn trên Docker Hub, với các biến thể cho GPU, CPU, ARM64, NVIDIA Jetson và Conda. Để tải về và chạy hình ảnh mới nhất:
# 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 --device nvidia.com/gpu=all ultralytics/ultralytics:latestĐể có hướng dẫn chi tiết về Docker, hãy xem hướng dẫn bắt đầu nhanh Docker.
Làm thế nào để clone repository Ultralytics cho mục đích phát triển?#
Clone repository Ultralytics và thiết lập môi trường phát triển với:
# 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 .Điều này cho phép đóng góp vào dự án hoặc thử nghiệm với mã nguồn mới nhất. Để biết chi tiết, hãy truy cập kho lưu trữ GitHub của Ultralytics.
Tại sao tôi nên sử dụng Ultralytics YOLO CLI?#
Ultralytics YOLO CLI đơn giản hóa việc chạy các tác vụ phát hiện đối tượng mà không cần mã Python, cho phép các lệnh một dòng để đào tạo (train), xác thực (validate) và dự đoán (predict) trực tiếp từ terminal của bạn. Cú pháp cơ bản là:
yolo TASK MODE ARGSVí dụ, để đào tạo một model phát hiện:
yolo train data=coco8.yaml model=yolo26n.pt epochs=10 lr0=0.01Khám phá thêm các lệnh và ví dụ sử dụng trong Hướng dẫn CLI đầy đủ.