Chuyển đến nội dung

Cài đặt Ultralytics

Ultralytics cung cấp nhiều phương pháp cài đặt khác nhau, bao gồm pip, conda và Docker. Bạn có thể cài đặt YOLO 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 kho lưu trữ Ultralytics GitHub cho phiên bản hiện tại nhất. Docker cũng là một tùy chọn để chạy gói trong một vùng chứa biệt lập, giúp tránh cài đặt cục bộ.



Xem: Hướng dẫn Bắt đầu Nhanh Ultralytics YOLO

Cài đặt

PyPI - Python Phiên bản

Cài đặt hoặc cập nhật ultralytics gói bằng pip bằng cách chạy pip install -U ultralytics. Để biết thêm chi tiết về ultralytics gói, hãy truy cập Python Chỉ mục gói ( PyPI ).

PyPI - Phiên bảnLượt tải xuống

# Install or upgrade the ultralytics package from PyPI
pip install -U ultralytics

Bạn cũng có thể cài đặt ultralytics trực tiếp từ kho lưu trữ Ultralytics GitHub. Điều này có thể hữu ích nếu bạn muốn 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@main

Conda có thể được sử dụng như một trình quản lý gói thay thế cho pip. Để biết thêm chi tiết, hãy truy cập Anaconda. Kho Ultralytics để cập nhật gói conda có sẵn tại GitHub.

Phiên bản CondaLượt tải xuống CondaCông thức CondaNền tảng Conda

# Install the ultralytics package using conda
conda install -c conda-forge ultralytics

Lưu ý

Nếu bạn đang cài đặt trong môi trường CUDA, tốt nhất nên cài đặt ultralytics, pytorch, và pytorch-cuda trong cùng một lệnh. Điều này cho phép trình quản lý gói conda giải quyết mọi xung đột. Ngoài ra, hãy cài đặt pytorch-cuda cuối cùng ghi đè lên CPU cụ thể pytorch dành riêng cho CPU nếu cần.

# Install all packages together using conda
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics

Conda Docker Image

Ultralytics Hình ảnh Conda Docker cũng có sẵn trên Docker Hub. Các ảnh này dựa trên Miniconda3 và cung cấp 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 --runtime=nvidia --gpus all $t            # all GPUs
sudo docker run -it --ipc=host --runtime=nvidia --gpus '"device=2,3"' $t # specify GPUs

Sao chép kho lưu trữ kho lưu trữ Ultralytics GitHub nếu bạn quan tâm đến việc đóng góp vào quá trình phát triển hoặc muốn thử nghiệm với mã nguồn mới nhất. Sau khi sao chép, hãy điều hướng vào thư mục và cài đặt gói ở chế độ có thể chỉnh sửa -e bằng pip.

Lần commit cuối trên GitHubHoạt động commit trên 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 .

Sử dụng Docker để thực thi ultralytics package trong một container biệt lập, đảm bảo hiệu suất nhất quán trên các môi trường khác nhau. Bằng cách chọn một trong những ultralytics image chính thức từ Docker Hub, bạn tránh được sự phức tạp của việc cài đặt cục bộ và có được quyền truy cập vào một môi trường làm việc đã được xác minh. Ultralytics cung cấp năm ảnh Docker được hỗ trợ chính, mỗi ảnh được thiết kế để có tính tương thích và hiệu quả cao:

Phiên bản Docker ImageLượt Pull Docker

  • Dockerfile: GPU image được khuyến nghị cho quá trình huấn luyện.
  • Dockerfile-arm64: Được tối ưu hóa cho kiến trúc ARM64, phù hợ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 cho suy luận và các 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: Image tối giản chỉ với Python và các dependency 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 để lấy hình ảnh mới nhất và thực thi 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 --runtime=nvidia --gpus all $t            # all GPUs
sudo docker run -it --ipc=host --runtime=nvidia --gpus '"device=2,3"' $t # specify GPUs

Lệnh trên khởi tạo một Docker container với ultralytics image mới nhất. Cờ -it gán một pseudo-TTY và giữ cho stdin mở, cho phép tương tác với container. Các --ipc=host đặt namespace IPC (Inter-Process Communication) thành host, điều này rất cần thiết để chia sẻ bộ nhớ giữa các tiến trình. Cờ --gpus all cho phép truy cập vào tất cả các GPU có sẵn bên trong container, rất quan trọng đối với các tác vụ yêu cầu tính toán bằng 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 vùng chứa, hãy sử dụng các ổ đĩa Docker để gắn một thư mục cục bộ vào vùng chứa:

# Mount local directory to a directory inside the container
sudo docker run -it --ipc=host --runtime=nvidia --gpus all -v /path/on/host:/path/in/container $t

Thay thế /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 bằng đường dẫn mong muốn bên trong Docker container.

Để sử dụng Docker nâng cao, hãy khám phá Hướng dẫn về Ultralytics Docker.

Xem ultralytics pyproject.toml file để biết danh sách các dependency. Lưu ý rằng tất cả các ví dụ trên đều cài đặt tất cả các dependency cần thiết.

Mẹo

Các yêu cầu về PyTorch khác nhau tùy theo hệ điều hành và yêu cầu về CUDA, vì vậy hãy cài đặt PyTorch trước bằng cách làm theo hướng dẫn tại PyTorch.

Hướng dẫn cài đặt PyTorch

Cài đặt máy chủ không giao diện người dùng

Đối với 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, vùng chứa Docker, đường dẫn CI/CD), hãy sử dụng ultralytics-opencv-headless gói này. Nó giống hệt với gói tiêu chuẩn. ultralytics gói nhưng phụ thuộc vào opencv-python-headless thay vì opencv-python, tránh các phụ thuộc giao diện người dùng không cần thiết và tiềm năng libGL lỗi.

Cài đặt không giao diện người dùng

pip install ultralytics-opencv-headless

Cả hai gói đều cung cấp cùng chức năng và API. Phiên bản không giao diện người dùng chỉ đơn giản là loại bỏ... OpenCV Các thành phần giao diện người dùng (GUI) của 's yêu cầu 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 đáp ứng hầu hết các trường hợp sử dụng, bạn có thể cần thiết lập tùy chỉnh hơn cho mục đích phát triển hoặc cấu hình riêng.

Phương pháp nâng cao

Nếu bạn cần các chỉnh sửa tùy chỉnh lâu dài, bạn có thể tạo bản sao (fork) của dự án. Ultralytics kho lưu trữ, thực hiện các thay đổi pyproject.toml hoặc code khác và cài đặt từ fork của bạn.

  1. Fork kho lưu trữ Ultralytics GitHub vào tài khoản GitHub của riêng bạn.
  2. Sao chép (Clone) fork của bạn cục bộ:
    git clone https://github.com/YOUR_USERNAME/ultralytics.git
    cd ultralytics
    
  3. Tạo một nhánh mới cho các thay đổi của bạn:
    git checkout -b my-custom-branch
    
  4. Hãy thực hiện các chỉnh sửa của bạn đến pyproject.toml hoặc các tệp khác nếu cần.
  5. 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
    
  6. Cài đặt sử dụng pip với git+https cú pháp, trỏ đến branch của bạn:
    pip install git+https://github.com/YOUR_USERNAME/ultralytics.git@my-custom-branch
    

Sao chép kho lưu trữ về máy tính cục bộ, chỉnh sửa các tệp khi cần thiết và cài đặt ở chế độ chỉnh sửa.

  1. Sao chép (Clone) kho lưu trữ Ultralytics:
    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics
    
  2. Hãy thực hiện các chỉnh sửa của bạn đến pyproject.toml hoặc các tệp khác nếu cần.
  3. Cài đặt gói ở chế độ editable (có thể chỉnh sửa) (-ePip sẽ sử dụng phiên bản đã được bạn chỉnh sửa. pyproject.toml để giải quyết các phụ thuộc:
    pip install -e .
    

Cách tiếp cận này hữu ích cho việc phát triển hoặc kiểm thử các thay đổi cục bộ trước khi áp dụng chính thức.

Chỉ định một tùy chỉnh Ultralytics nĩa trong của bạn requirements.txt Tệp này giúp đảm bảo quá trình cài đặt nhất quán trong toàn bộ nhóm của bạn.

requirements.txt
# Install ultralytics from a specific git branch
git+https://github.com/YOUR_USERNAME/ultralytics.git@my-custom-branch

# Other project dependencies
flask

Cài đặt các thư viện phụ thuộc từ tệp tin:

pip install -r requirements.txt

Sử dụng Ultralytics với CLI

Giao diện dòng lệnh (CLI) 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ừ terminal với yolo lệnh. Để biết thêm về cách sử dụng YOLO từ dòng lệnh, hãy xem Hướng dẫn CLI.

Ví dụ

Ultralytics yolo các lệnh sử dụng cú pháp sau:

yolo TASK MODE ARGS
- TASK (tùy chọn) là một trong các (detect, segment, classify, pose, obb) - MODE (bắt buộc) là một trong các (train, val, predict, export, track, benchmark) - ARGS (tùy chọn) là các cặp arg=value như imgsz=640 ghi đè các giá trị mặc định.

Xem tất cả ARGS trong toàn bộ Hướng dẫn Cấu hình hoặc với yolo cfg lệnh CLI.

Huấn luyện mô hình phát hiện trong 10 epochs (vòng lặp) với tỷ lệ học tập ban đầu là 0.01:

yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

Dự đoán video trên YouTube bằng mô hình phân đoạn đã được huấn luyện trước với kích thước ảnh 320:

yolo predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

Xác thực mô hình detection (phát hiện) đã được huấn luyện trước với batch size (kích thước lô) là 1 và kích thước ảnh là 640:

yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640

Xuất mô hình phân loại YOLO11n sang ONNX định dạng với kích thước hình ảnh là 224x128 (không yêu cầu NHIỆM VỤ):

yolo export model=yolo11n-cls.pt format=onnx imgsz=224,128

Đếm các đối tượng trong video hoặc luồng trực tiếp bằng YOLO11:

yolo solutions count show=True

yolo solutions count source="path/to/video.mp4" # specify video file path

Theo dõi các bài tập bằng mô hình dáng người YOLO11:

yolo solutions workout show=True

yolo solutions workout source="path/to/video.mp4" # specify video file path

# Use keypoints for ab-workouts
yolo solutions workout kpts="[5, 11, 13]" # left side
yolo solutions workout kpts="[6, 12, 14]" # right side

Sử dụng YOLO11 để đếm các đối tượng trong một hàng đợi hoặc khu vực được chỉ định:

yolo solutions queue show=True

yolo solutions queue source="path/to/video.mp4" # specify video file path

yolo solutions queue region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]" # configure queue coordinates

Thực hiện phát hiện đối tượng, phân đoạn thể hiện hoặc ước tính tư thế trong trình duyệt web bằng Streamlit:

yolo solutions inference

yolo solutions inference model="path/to/model.pt" # use model fine-tuned with Ultralytics Python package

Chạy các lệnh đặc biệt để xem phiên bản, cài đặt, chạy kiểm tra và hơn thế nữa:

yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg
yolo solutions help

Cảnh báo

Các đối số phải được truyền dưới dạng arg=value các cặp, được phân tách bằng dấu bằng = ký và phân tách bằng dấu cách. 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=yolo11n.pt imgsz=640 conf=0.25
  • yolo predict model yolo11n.pt imgsz 640 conf 0.25 ❌ (thiếu =)
  • yolo predict model=yolo11n.pt, imgsz=640, conf=0.25 ❌ (do not use ,)
  • yolo predict --model yolo11n.pt --imgsz 640 --conf 0.25 ❌ (không sử dụng --)
  • yolo solution model=yolo11n.pt imgsz=640 conf=0.25 ❌ (sử dụng solutions, không phải solution)

Hướng dẫn CLI

Sử dụng Ultralytics với Python

Giao diện Ultralytics YOLO Python cung cấp khả năng tích hợp liền mạch vào các dự án Python, giúp dễ dàng tải, chạy và xử lý đầu ra của mô hình. Được thiết kế để đơn giản, 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 và phân loại. Điều này làm cho giao diện YOLO Python 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ô hình, huấn luyện, đánh giá hiệu suất và xuất nó sang định dạng ONNX chỉ với một vài dòng mã. Khám phá Hướng dẫn Python để tìm hiểu thêm về cách sử dụng YOLO trong các dự án Python của bạn.

Ví dụ

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolo11n.yaml")

# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo11n.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")

Hướng dẫn Python

Cài đặt Ultralytics

Thư viện Ultralytics bao gồm một SettingsManager để kiểm soát chi tiết các thử nghiệm, cho phép người dùng dễ dàng truy cập và sửa đổi cài đặt. Đượ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, những 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 Command-Line Interface (CLI).

Kiểm tra Cài đặt

Để xem cấu hình hiện tại của cài đặt:

Xem cài đặt

Sử dụng Python để xem các cài đặt của bạn bằng cách nhập settings từ ultralytics module. In và trả về cài đặt với các lệnh sau:

from ultralytics import settings

# View all settings
print(settings)

# Return a specific setting
value = settings["runs_dir"]

Giao diện dòng lệnh cho phép bạn kiểm tra cài đặt của mình bằng lệnh:

yolo settings

Thay đổi Cài đặt

Ultralytics giúp bạn dễ dàng sửa đổi cài đặt theo những cách sau:

Cập nhật cài đặt

Trong Python, sử dụng update trên đối tượng settings đối tượng:

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()

Để sửa đổi cài đặt bằng giao diện dòng lệnh:

# 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

Tìm hiểu về Cài đặt

Bảng dưới đây tổng quan về 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ênGiá trị ví dụKiểu dữ liệuMô tả
settings_version'0.0.4'strPhiên bản settings của Ultralytics (khác với phiên bản pip của Ultralytics)
datasets_dir'/path/to/datasets'strThư mục nơi lưu trữ bộ dữ liệu
weights_dir'/path/to/weights'strThư mục nơi lưu trữ trọng số mô hình
runs_dir'/path/to/runs'strThư mục nơi lưu trữ các lần chạy thử nghiệm
uuid'a1b2c3d4'strĐịnh danh duy nhất cho các cài đặt hiện tại
syncTrueboolTùy chọn đồng bộ hóa phân tích và sự cố với Ultralytics HUB
api_key''strKhóa API Ultralytics HUB
clearmlTrueboolTùy chọn sử dụng nhật ký ClearML
cometTrueboolTùy chọn sử dụng Comet ML để theo dõi và trực quan hóa thử nghiệm
dvcTrueboolTùy chọn sử dụng DVC để theo dõi thử nghiệm và kiểm soát phiên bản
hubTrueboolTùy chọn sử dụng tích hợp Ultralytics HUB
mlflowTrueboolTùy chọn sử dụng MLFlow để theo dõi thử nghiệm
neptuneTrueboolTùy chọn sử dụng Neptune để theo dõi thử nghiệm
raytuneTrueboolTùy chọn sử dụng Ray Tune để điều chỉnh siêu tham số
tensorboardTrueboolTùy chọn sử dụng TensorBoard để trực quan hóa
wandbTrueboolTùy chọn sử dụng nhật ký Weights & Biases
vscode_msgTrueboolKhi phát hiện thấy một terminal VS Code, sẽ kích hoạt một lời nhắc để tải xuống tiện ích mở rộng Ultralytics-Snippets.

Xem lại các cài đặt này khi bạn thực hiện 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 cách nào để cài đặt Ultralytics bằng pip?

Cài đặt Ultralytics bằng pip sử dụng:

pip install -U ultralytics

Thao tác này cài đặt bản phát hành ổn định mới nhất của ultralytics gói từ PyPI. Để cài đặt phiên bản development trực tiếp từ GitHub:

pip install git+https://github.com/ultralytics/ultralytics.git

Đảm bảo 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 ultralytics

Phương pháp này là một giải pháp thay thế tuyệt vời cho pip, đảm bảo khả năng tương thích với các gói khác. Đối với 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=11.8 ultralytics

Để biết thêm hướng dẫn, hãy xem hướng dẫn nhanh về Conda.

Ưu điểm của việc sử dụng Docker để chạy Ultralytics YOLO là gì?

Docker cung cấp một môi trường biệt 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 các phức tạp khi cài đặt cục bộ. Các image 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. Để kéo và chạy image 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 --runtime=nvidia --gpus all ultralytics/ultralytics:latest

Để biết hướng dẫn chi tiết về Docker, hãy xem hướng dẫn nhanh về Docker.

Làm cách nào để sao chép kho lưu trữ Ultralytics cho mục đích phát triển?

Sao chép kho lưu trữ Ultralytics và thiết lập môi trường phát triển bằng:

# 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ữ Ultralytics GitHub.

Tại sao tôi nên sử dụng Ultralytics YOLO CLI?

Ultralytics YOLO CLI giúp đơ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 để huấn luyện, xác thực và dự đoán trực tiếp từ thiết bị đầu cuối của bạn. Cú pháp cơ bản là:

yolo TASK MODE ARGS

Ví dụ: để huấn luyện một mô hình phát hiện:

yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

Khám phá thêm các lệnh và ví dụ sử dụng trong Hướng dẫn CLI đầy đủ.



📅 Đã tạo 2 năm trước ✏️ Cập nhật 3 ngày trước
glenn-jocherRizwanMunawarpderrengerBurhan-Qonuralpszrjk4eRizwanMunawarlakshanthadLaughing-qpicsalexleonnilMatthewNoyceUltralyticsAssistant

Bình luận