Bỏ qua nội dung

Bắt đầu với YOLOv5 🚀 trong Docker

Chào mừng đến với Ultralytics YOLOv5 Hướng dẫn khởi động nhanh Docker! Hướng dẫn này cung cấp hướng dẫn từng bước để thiết lập và chạy YOLOv5 trong vùng chứa Docker . Sử dụng Docker cho phép bạn chạy YOLOv5 trong một môi trường riêng biệt, nhất quán, đơn giản hóa việc triển khai và quản lý phụ thuộc trên các hệ thống khác nhau. Cách tiếp cận này tận dụng container để đóng gói ứng dụng và các phụ thuộc của nó lại với nhau.

Đối với các phương pháp thiết lập thay thế, hãy xem xét Sổ tay Colab Mở trong Colab Mở trong Kaggle, Máy ảo học sâu GCP, hoặc Amazon AWS hướng dẫn. Để có cái nhìn tổng quan về cách sử dụng Docker với Ultralytics mô hình, xem Ultralytics Hướng dẫn khởi động nhanh Docker.

Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn đã cài đặt những phần sau:

  1. Docker : Tải xuống và cài đặt Docker từ trang web chính thức của Docker . Docker rất cần thiết để tạo và quản lý container.
  2. Trình điều khiển NVIDIA (Cần thiết để hỗ trợ GPU ): Đảm bảo bạn có NVIDIA trình điều khiển phiên bản 455.23 trở lên đã được cài đặt. Bạn có thể tải xuống trình điều khiển mới nhất từ trang web của NVIDIA .
  3. NVIDIA Container Toolkit (Cần thiết cho GPU hỗ trợ): Bộ công cụ này cho phép các container Docker truy cập vào máy chủ của bạn NVIDIA GPU. Làm theo hướng dẫn cài đặt NVIDIA Container Toolkit chính thức để biết hướng dẫn chi tiết.

Thiết lập NVIDIA Bộ công cụ chứa ( GPU Người dùng)

Đầu tiên, hãy xác minh rằng NVIDIA Trình điều khiển được cài đặt đúng cách bằng cách chạy:

nvidia-smi

Lệnh này sẽ hiển thị thông tin về bạn GPU (s) và phiên bản trình điều khiển đã cài đặt.

Tiếp theo, cài đặt NVIDIA Container Toolkit. Các lệnh bên dưới là lệnh thông thường cho các hệ thống dựa trên Debian như Ubuntu, nhưng hãy tham khảo hướng dẫn chính thức được liên kết ở trên để biết hướng dẫn cụ thể cho bản phân phối của bạn:

# Add NVIDIA package repositories (refer to official guide for latest setup)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
  | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
    | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# Update package list and install the toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# Configure Docker to use the NVIDIA runtime
sudo nvidia-ctk runtime configure --runtime=docker

# Restart Docker service to apply changes
sudo systemctl restart docker

Cuối cùng, hãy xác minh rằng NVIDIA thời gian chạy được cấu hình và có sẵn cho Docker:

docker info | grep -i runtime

Bạn nên xem nvidia được liệt kê là một trong những thời gian chạy có sẵn.

Bước 1: Kéo YOLOv5 Hình ảnh Docker

Ultralytics cung cấp chính thức YOLOv5 hình ảnh trên Trung tâm Docker. Các latest tag theo dõi commit kho lưu trữ gần đây nhất, đảm bảo bạn luôn nhận được phiên bản mới nhất. Kéo hình ảnh bằng lệnh sau:

# Define the image name with tag
t=ultralytics/yolov5:latest

# Pull the latest YOLOv5 image from Docker Hub
sudo docker pull $t

Bạn có thể duyệt tất cả hình ảnh có sẵn tại kho lưu trữ Ultralytics YOLOv5 Docker Hub .

Bước 2: Chạy Docker Container

Sau khi hình ảnh được kéo, bạn có thể chạy nó như một vùng chứa.

Sử dụng CPU Chỉ một

Để chạy một phiên bản container tương tác chỉ sử dụng CPU , sử dụng -it cờ. Các --ipc=host cờ cho phép chia sẻ không gian tên IPC của máy chủ, điều này rất quan trọng để truy cập bộ nhớ dùng chung.

# Run an interactive container instance using CPU
sudo docker run -it --ipc=host $t

Sử dụng GPU

Để kích hoạt GPU truy cập bên trong container, sử dụng --gpus cờ. Điều này đòi hỏi NVIDIA Container Toolkit phải được cài đặt đúng cách.

# Run with access to all available GPUs
sudo docker run -it --ipc=host --gpus all $t

# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

Tham khảo tài liệu tham khảo chạy Docker để biết thêm chi tiết về các tùy chọn lệnh.

Gắn kết các thư mục cục bộ

Để làm việc với các tệp cục bộ của bạn (bộ dữ liệu, trọng số mô hình, v.v.) bên trong vùng chứa, hãy sử dụng -v cờ để gắn thư mục lưu trữ vào vùng chứa:

# Mount /path/on/host (your local machine) to /path/in/container (inside the container)
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t

Thay thế /path/on/host với đường dẫn thực tế trên máy của bạn và /path/in/container với đường dẫn mong muốn bên trong vùng chứa Docker (ví dụ: /usr/src/datasets).

Bước 3: Sử dụng YOLOv5 🚀 bên trong Docker Container

Bây giờ bạn đang ở trong cuộc chạy YOLOv5 Docker container! Từ đây, bạn có thể thực hiện chuẩn YOLOv5 lệnh cho nhiều tác vụ Học máyHọc sâu khác nhau như Phát hiện đối tượng .

# Train a YOLOv5 model on your custom dataset (ensure data is mounted or downloaded)
python train.py --data your_dataset.yaml --weights yolov5s.pt --img 640 # Start training

# Validate the trained model's performance (Precision, Recall, mAP)
python val.py --weights path/to/your/best.pt --data your_dataset.yaml # Validate accuracy

# Run inference on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos # Perform detection

# Export the trained model to various formats like ONNX, CoreML, or TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite # Export model

Khám phá tài liệu để biết cách sử dụng chi tiết các chế độ khác nhau:

Tìm hiểu thêm về các số liệu đánh giá như Precision , RecallmAP . Hiểu các định dạng xuất khác nhau như ONNX , CoreMLTFLite , và khám phá nhiều Tùy chọn triển khai mô hình khác nhau. Hãy nhớ quản lý trọng số mô hình của bạn một cách hiệu quả.

Đang chạy YOLOv5 bên trong một container Docker trên GCP

Xin chúc mừng! Bạn đã thiết lập và chạy thành công YOLOv5 trong một container Docker.



📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 11 ngày

Bình luận