ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

在 Conda 环境中快速上手 Ultralytics YOLOv10:环境搭建、安装与推理实战指南

在 Conda 环境中快速上手 Ultralytics YOLOv10:环境搭建、安装与推理实战指南 在 Conda 环境中快速上手 Ultralytics YOLOv10环境搭建、安装与推理实战指南【免费下载链接】yolov10YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]项目地址: https://gitcode.com/GitHub_Trending/yo/yolov10本指南以 docs/en/guides/conda-quickstart.md 为核心脉络系统讲解如何在本仓库YOLOv10: Real-Time End-to-End Object Detection, NeurIPS 2024项目中使用 Conda 创建隔离的深度学习环境、从 conda-forge 安装基于 Ultralytics 的 YOLOv10、处理 CUDA 依赖冲突并借助 Docker 的 Conda 镜像一键进入可运行环境。读完本文你将掌握一套可复现、可迁移的 Conda 环境搭建流程并能直接运行 YOLOv10 的推理与训练。为什么选择 Conda 来运行 YOLOv10Conda 是一款开源的包与虚拟环境管理系统与pip相比它的核心优势在于环境隔离每个环境拥有独立的 Python 解释器与依赖树互不干扰非常适合深度学习这类依赖繁重PyTorch、CUDA 运行时、OpenCV、NumPy 等且版本敏感的场景。本仓库官方 README 在 Installation 一节也明确推荐使用 conda 虚拟环境conda create -n yolov10 python3.9 conda activate yolov10 pip install -r requirements.txt pip install -e .这套推荐流程与下文讲解的 conda-forge 安装方式互为补充前者适合从源码开发本仓库需要requirements.txt中的固定版本依赖后者适合直接以成品包方式使用 Ultralytics 及其 YOLOv10 集成。两套路径都值得掌握。前置条件开始之前请确保系统已安装Anaconda或Miniconda。Miniconda 更轻量只包含 conda 本体与少量基础包对深度学习项目更为推荐。若尚未安装请先自行完成 Anaconda/Miniconda 的安装并确认终端中可以正常执行conda命令。创建并激活 Conda 环境基础创建命令打开终端执行以下命令创建一个全新的环境并指定 Python 版本conda create --name ultralytics-env python3.8 -y参数说明--name ultralytics-env可简写为-n环境名称可自定义python3.8指定解释器版本。注意pyproject.toml 中声明requires-python 3.8即 3.8 及以上版本均可本仓库 README 示例使用 Python 3.9生产环境建议至少使用 3.93.11-y跳过交互式确认直接执行。创建完成后激活环境conda activate ultralytics-env激活后终端提示符前会出现环境名如(ultralytics-env)此后所有安装与 Python 命令都将运行在该隔离环境中。验证环境激活后可以执行以下命令确认环境状态python --version conda env list # 列出所有环境当前环境带 * 标记通过 conda-forge 安装 Ultralytics 包在激活的环境中执行以下命令从 conda-forge 频道安装 Ultralyticsconda install -c conda-forge ultralytics-c conda-forge指定包源频道。conda-forge 社区维护的ultralytics配方会自动带入核心依赖包括 pyproject.toml 中声明的基础依赖如torch1.8.0、torchvision0.9.0、opencv-python4.6.0、matplotlib、pyyaml、scipy、pandas、seaborn、tqdm等。安装完成后可通过以下命令验证导入是否正常python -c import ultralytics; print(ultralytics.__version__)本仓库所基于的代码版本在 ultralytics/init.py 中声明为8.1.34并且从顶层导出YOLOv10类from ultralytics.models import RTDETR, SAM, YOLO, YOLOWorld, YOLOv10这意味着安装完成后即可直接通过from ultralytics import YOLOv10使用本仓库的核心模型。CUDA 环境下的安装建议如果你在 CUDA 环境中工作直接安装ultralytics可能与预装的 PyTorch/CUDA 运行时产生依赖冲突。官方建议将ultralytics、pytorch、pytorch-cuda一并安装让 conda 的求解器统一解析版本conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda11.8 ultralytics要点解读-c pytorch -c nvidia -c conda-forge依次声明 PyTorch 官方频道、NVIDIA 频道与 conda-forge 频道确保能同时解析 PyTorch、CUDA 运行时与 Ultralytics 包pytorch-cuda11.8显式指定 CUDA 11.8 运行时这是本仓库 Docker 镜像中采用的版本见下文具体取值应与你显卡驱动支持的 CUDA 版本匹配一次安装三个包而非逐个安装可让 conda 在解析阶段就消除底层libcudnn、cudatoolkit等二进制库的版本冲突。本仓库的 docker/Dockerfile-conda 也采用了同样的组合安装策略RUN conda config --set solver libmamba \ conda install pytorch torchvision pytorch-cuda11.8 -c pytorch -c nvidia \ conda install -c conda-forge ultralytics mkl其中额外安装了mkl用于规避推理时可能出现的OSError: libmkl_intel_lp64.so.2: cannot open shared object file这类 MKL 动态库缺失问题——这也是在 conda 环境运行 Ultralytics 时常见的坑之一。首次运行用 YOLOv10 完成图像推理安装完成后即可开始使用目标检测等能力。基于本仓库代码推荐使用YOLOv10类完成推理from ultralytics import YOLOv10 # 从 Hugging Face 加载预训练权重n/s/m/b/l/x 六种规格任选 model YOLOv10.from_pretrained(jameslahm/yolov10n) # 或加载本地权重文件 # model YOLOv10(yolov10n.pt) results model.predict(sourcepath/to/image.jpg) # 执行推理 results[0].show() # 显示第一张图的标注结果指南原文档中给出的通用 Ultralytics 写法同样可用from ultralytics import YOLO model YOLO(yolov8n.pt) # 初始化模型 results model(path/to/image.jpg) # 执行推理 results[0].show() # 显示第一张图的结果在推理底层本仓库的 ultralytics/models/yolov10/predict.py 中的YOLOv10DetectionPredictor.postprocess实现了关键差异由于 YOLOv10 是端到端end-to-end检测模型推理时不再依赖非极大值抑制NMS而是调用ops.v10postprocess直接输出一对一预测结果从而显著降低后处理延迟。这也是本仓库的核心特性NeurIPS 2024 论文主题在 Conda 环境安装完成后即可直接体验。快速试跑仓库自带 Demo本仓库还自带一个 Gradio 可视化 Demoapp.py可以交互式体验图像/视频推理。在激活的 Conda 环境中执行python app.py # 浏览器访问 http://127.0.0.1:7860启动后可在界面中选择yolov10n/s/m/b/l/x六种模型、调整输入尺寸3201280与置信度阈值0.01.0Demo 内置了 ultralytics/assets/bus.jpg 与 ultralytics/assets/zidane.jpg 两张示例图片可直接体验。从源码安装本仓库README 推荐路径如果你希望直接基于本仓库源码开发或复现论文实验README 提供了另一套 conda 流程依赖版本以 requirements.txt 为准conda create -n yolov10 python3.9 conda activate yolov10 pip install -r requirements.txt # 安装固定版本依赖torch2.0.1、torchvision0.15.2 等 pip install -e . # 以可编辑模式安装本仓库其中pip install -e .依赖 pyproject.toml 的 setuptools 配置安装后会注册yolo与ultralytics两个命令行入口ultralytics.cfg:entrypoint随后即可使用 CLI 训练、验证与导出yolo predict modeljameslahm/yolov10n # 推理 yolo val modeljameslahm/yolov10s datacoco.yaml # 验证 yolo detect train datacoco.yaml modelyolov10n.yaml epochs500 batch256 imgsz640使用带 Conda 环境的 Docker 镜像如果你偏好 Docker 而非本地管理 condaUltralytics 提供了内置 Conda 环境的官方镜像。本仓库的 docker/Dockerfile-conda 展示了该镜像的构建方式基于continuumio/miniconda3:latest预装libgl1OpenCV 运行所需、Arial字体用于绘制中文/Unicode 标注并通过libmamba求解器安装 PyTorch 与ultralytics。拉取并运行镜像# 设置镜像名变量 tultralytics/ultralytics:latest-conda # 从 Docker Hub 拉取镜像 sudo docker pull $t # 以 GPU 支持方式运行全部 GPU sudo docker run -it --ipchost --gpus all $t # 指定 GPU 设备如 2、3 号卡 sudo docker run -it --ipchost --gpus device2,3 $t参数说明-it以交互模式进入容器终端进入后即为激活的 Conda 环境--ipchost共享宿主进程间通信命名空间可规避 PyTorch DataLoader 多进程在容器中的共享内存问题--gpus all/--gpus device2,3向容器暴露 GPU需要 NVIDIA Container Toolkit 支持。如需在容器内访问宿主机数据集可挂载本地目录sudo docker run -it --ipchost -v $(pwd)/datasets:/usr/src/datasets $t用 libmamba 加速 Conda 安装深度学习环境的依赖解析尤其涉及 PyTorch、CUDA 这类大型二进制包时在默认求解器下可能非常缓慢。libmamba是 Conda 的替代求解器采用 C 实现具备跨平台、依赖感知dependency-aware且显著更快的解析速度。启用步骤安装求解器包Conda 4.11 及以上版本已内置libmamba可跳过此步conda install conda-libmamba-solver将默认求解器切换为libmambaconda config --set solver libmamba完成以上两步后后续所有conda install/conda create都将使用libmamba求解大型依赖环境的创建与安装耗时通常会有明显改善。本仓库的 docker/Dockerfile-conda 在构建镜像时同样执行了conda config --set solver libmamba说明这是官方推荐的加速做法。结语通过本文你已经掌握了三条相互衔接的路径一是用 conda-forge 安装 Ultralytics 成品包并处理 CUDA 依赖二是按 README 推荐流程从源码安装本仓库进行开发与复现三是借助 Docker 的 Conda 镜像快速获得开箱即用的运行环境同时可以用libmamba大幅缩短依赖解析时间。接下来可以深入本仓库的 docs/en/index.md 与 ultralytics/models/yolov10 源码继续探索 YOLOv10 的端到端检测、训练与导出等更多能力。【免费下载链接】yolov10YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]项目地址: https://gitcode.com/GitHub_Trending/yo/yolov10创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表