当前位置: 首页 > news >正文

5,Docker运行最新ultralytics-main教程

目录

1,下载ultralytics-main项目

方法一:直接下载

方法二:git获取

2,按照好Dockers,参照我之前的教程

3,Docker配置GPU

3.1 查看自己的windows里是否安装有CUDA

3.2 更新 Docker Desktop 设置:

3.3 配置 Docker实现GPU加速:

3.4  验证 GPU 加速

4,构建docker镜像

4.1 docker文件夹下,不同dockerfile的说明

4.2 这里我们以Dockerfile为例,进行内部命令解析

修改点一:

修改点二:

修改点三:

4.3 构建镜像

4.4 运行容器并调用 GPU

方法一:进入交互式 Shell

方法二:直接运行


1,下载ultralytics-main项目

方法一:直接下载

方法二:git获取

https://github.com/ultralytics/ultralytics.git

2,按照好Dockers,参照我之前的教程

3,Windows11安装docker保姆级教程-CSDN博客

3,Docker配置GPU

3.1 查看自己的windows里是否安装有CUDA

nvidia-smi

  • Docker Desktop 最新版(启用 WSL 2 后端)。
  • 无需在 WSL 2 内单独安装 NVIDIA 驱动或 CUDA。

3.2 更新 Docker Desktop 设置:

  • 打开 Docker 设置 → Resources → WSL Integration → 启用 Ubuntu 实例。

3.3 配置 Docker实现GPU加速:

进入 Docker 设置 → Docker Engine,添加以下配置:

{"experimental": true,"features": {"buildkit": true},"registry-mirrors": ["https://registry.docker-cn.com"]  // 可选镜像加速
}
  • 保存并重启 Docker。

3.4  验证 GPU 加速

docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

4,构建docker镜像

4.1 docker文件夹下,不同dockerfile的说明

4.2 这里我们以Dockerfile为例,进行内部命令解析

基础镜像选择​​(核心项),作用​​:官方 PyTorch 镜像,预装 CUDA 12.6 和 cuDNN 9

功能解析​​:

  • PYTHONUNBUFFERED=1:实时显示 Python 日志(容器调试必备)
  • PIP_NO_CACHE_DIR=1:禁用 pip 缓存 → ​​减小镜像体积​​
  • MKL_THREADING_LAYER=GNU:避免 PyTorch DDP 训练崩溃
  • TF_CPP_MIN_LOG_LEVEL=3:屏蔽 TensorFlow 冗余日志

  • 功能​​:用于可视化渲染中的文字显示
  • ​​问题​​:国内下载可能慢,非核心功能

  • ​​必要包​​(保留):
    • gcc:编译工具
    • libgl1/libglib2.0-0:OpenCV 依赖
    • libpython3-dev:Python 开发头文件

 安全更新​​(可删除)

问题​​:基础镜像已安全,升级可能引入兼容性问题

工作目录设置​​(核心项)

  • 作用​​:进入后续命令执行的工作路径
  • ​​必须保留​

项目复制​​(核心项)

  • 作用​​:将本地 Ultralytics 代码复制到容器
  • ​必须保留​

预训练模型下载​​(可删除)

修改点一:

为什么要注释这一行?因为我的项目是自己下载的,而不是通过git,所以不会产生.git/config 文件,但 Dockerfile 中试图用 sed 修改它,从而导致失败。

方法一:注释掉这一行

方法 2:用 git clone 拉项目(自动带 .git/),步骤如下:

cd F:\CEM
git clone https://github.com/ultralytics/ultralytics.git ultralytics-main
cd ultralytics-main
docker build -t ultralytics-gpu:latest -f docker/Dockerfile .

修改点二:

这里必须要换源,否则会下载不下来,

RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U pip setuptools wheel
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e ".[export]"
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple albumentations faster-coco-eval onnxruntime-gpu tensorrt wandb

后续清理​

修改点三:

这三个也要给注释掉不然下载不下来

1,将 YOLOv8 模型导出为 ​​Edge TPU 格式​,用于在 Google Coral Edge TPU 边缘计算设备上运行

2,功能​​:导出为 ​​NCNN 格式​,在移动端/嵌入式设备(安卓、树莓派等)高效部署

3,paddlepaddle安装,安装百度飞桨深度学习框架和转换工具

问题​​:

  • 安装包非常大(约 1.5GB)
  • 显著增加镜像体积
  • 大多数用户不需要此兼容性

4.3 构建镜像

docker build -t ultralytics-gpu:latest -f docker/Dockerfile .
  • -t ultralytics-gpu:latest:给你的镜像打个标签

  • -f docker/Dockerfile:指定使用 GPU 版的 Dockerfile

可选:如果要推到 DockerHub 上,先登录 docker login,然后替换镜像名为 yourhubid/ultralytics:latest 并执行:

docker push yourhubid/ultralytics:latest

结果:

4.4 运行容器并调用 GPU

方法一:进入交互式 Shell

docker run --rm -it --gpus all -v F:\CEM\ultralytics-main:/ultralytics -w /ultralytics ultralytics-gpu:latest bash

进入容器后,目录下已有代码和依赖,可直接跑训练/推理。也就是跟普通命令行运行代码一样 :  python   predict.py

也就是相当于打开命令行,并cd 到根目录下

在这里面也可以看看ubuntu环境下是否调用了主机的显卡:

方法二:直接运行

docker run --rm --gpus all -v F:\CEM\ultralytics-main:/ultralytics ultralytics-gpu:latest python my_predict.py

http://www.dtcms.com/a/305619.html

相关文章:

  • 解析非法获取计算机信息系统数据罪中的其他技术手段
  • 如何在出售Windows11/10/8/7前彻底清除电脑数据
  • 破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践录
  • Cockpit管理服务器
  • 通达OA服务器无公网IP网络,如何通过内网穿透实现外网远程办公访问OA系统
  • 记录Linux下ping外网失败的问题
  • Docker学习其一
  • 【机器学习】pycharm使用SSH SFTP 远程连接 ubuntu服务器 进行开发+调试+数据训练
  • 在VS2022中调试ASP.NET项目时修改DLL或ASPX动态页面的原理及实现方法
  • 【推荐100个unity插件】Unity 创意编程库——Klak插件的使用
  • 计算机网络基础(二) --- TCP/IP网络结构(应用层)
  • 论文Review LSLAM BALM | 经典激光SLAM方案!港大MARS出品!RAL2021 | 激光BA优化
  • DIV 指令概述
  • AWS VPC NAT 网关可观测最佳实践
  • 【iOS】weak修饰符
  • 计算机组成原理(6) - 加法器
  • SpringBoot学习 |springboot概念+微服务架构
  • 【AI】入门级提示词模板:适用于ChatGPT、文心一言等主流模型
  • day25——HTML CSS 前端开发
  • 运维管理系统的优势和缺点
  • springcloud03-Nacos配置中心
  • HTML应用指南:利用POST请求获取全国公牛门店位置信息
  • Python 使用 asyncio 包处理并 发(使用asyncio包编写服务器)
  • WebSocket 简介与在 Vue 中的使用指南
  • LaTeX 创建工程并生成完整文档指南
  • tplink er2260t配置带vlan的pppoe拨号
  • 【人工智能99问】混合专家模型(MoE)是如何训练的?(18/99)
  • Tomcat 服务器日志
  • uvm-tlm-sockets
  • 论文Review 3DGSSLAM S3PO-GS | ICCV 2025 港科广出品!| 高效快速的3DGSSLAM!