跳至内容

在 Docker 中开始使用YOLOv5 🚀

欢迎阅读Ultralytics YOLOv5 Docker 快速入门指南!本教程提供了设置和运行 YOLOv5步骤说明。使用 Docker 可以让您在隔离、一致的环境中运行YOLOv5 ,简化跨不同系统的部署和依赖关系管理。这种方法利用容器化将应用程序及其依赖项打包在一起。

有关其他设置方法,请参考我们的 Colab 笔记本 在 Colab 中打开 在 Kaggle 中打开, GCP 深度学习虚拟机亚马逊 AWS 指南。有关Ultralytics 模型使用 Docker 的一般概述,请参阅 Ultralytics Docker 快速入门指南.

先决条件

开始之前,请确保安装了以下设备:

  1. DockerDocker 官方网站下载并安装 Docker。Docker 对于创建和管理容器至关重要。
  2. NVIDIA NVIDIA 驱动程序(需要 GPU支持):确保安装了 455.23 或更高版本的NVIDIA (NVIDIA ®)驱动程序。您可以NVIDIA网站下载最新驱动程序。
  3. NVIDIA ™(NVIDIA ®容器工具包(需要GPU 支持):该工具包允许 Docker 容器访问主机的NVIDIA (NVIDIA ®)GPU。详细说明请遵循官方的NVIDIA )容器工具包安装指南

设置NVIDIA )容器工具包GPU 用户

首先,运行 "NVIDIA ™)驱动程序 "验证您的NVIDIA ®)驱动程序是否已正确安装:

nvidia-smi

该命令将显示有关GPU 和已安装驱动程序版本的信息。

接下来,安装NVIDIA ®)容器工具包。下面的命令是基于 Debian 的系统(如 Ubuntu)的典型命令,但请参阅上面链接的官方指南,了解针对您的发行版的具体说明:

# 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

最后,验证NVIDIA 运行时是否已配置并可供 Docker 使用:

docker info | grep -i runtime

您应该看到 nvidia 被列为可用运行时之一。

第 1 步:提取YOLOv5 Docker 映像

Ultralytics 在以下网站提供YOLOv5 官方图片 Docker Hub.......。 latest 标签跟踪最新的版本库提交,确保你总是能获得最新的版本。使用以下命令提取图像:

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

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

您可以在Ultralytics YOLOv5 Docker Hub 存储库中浏览所有可用镜像。

第 2 步:运行 Docker 容器

拉出镜像后,就可以将其作为容器运行了。

仅使用CPU

要只使用CPU 运行交互式容器实例,请使用 -it 旗帜旗帜 --ipc=host 标志允许共享主机 IPC 命名空间,这对共享内存访问非常重要。

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

使用GPU

要在容器内启用GPU 访问,请使用 --gpus 标志。这需要正确安装NVIDIA )容器工具包。

# 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

有关命令选项的更多详情,请参阅Docker 运行参考

安装本地目录

要在容器内处理本地文件(数据集、模型权重等),请使用 -v 标记将主机目录挂载到容器中:

# 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

更换 /path/on/host 机器上的实际路径,以及 /path/in/container 与 Docker 容器内的所需路径(如 /usr/src/datasets).

第 3 步:在 Docker 容器中使用YOLOv5 🚀

现在您已进入正在运行的YOLOv5 Docker 容器!在这里,您可以为各种机器学习深度学习任务(如对象检测)执行标准的YOLOv5 命令。

# 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

查看文档,了解不同模式的详细用法:

进一步了解精确度召回率mAP 等评估指标。了解不同的导出格式,如 ONNX, CoreMLTFLite 等不同的导出格式,并探索各种模型部署选项。记住要有效管理模型权重

在 GCP 的 Docker 容器内运行YOLOv5

恭喜您!您已在 Docker 容器中成功设置并运行YOLOv5 。



📅创建于 1 年前 ✏️已更新 1 个月前

评论