目录

 yolov8导航

YOLOv8(附带各种任务详细说明链接)

官方文档(国内直接访问可能比较卡)

环境要求建议

安装Ultralytics(YOLOV8)

pip安装

Conda安装

Git克隆

Docker安装

项目依赖(requirements.txt)

项目执行测试

总结


yolov8导航

        如果大家想要了解关于yolov8的其他任务和相关内容可以点击这个链接,我这边整理了许多其他任务的说明博文,后续也会持续更新,包括yolov8模型优化、sam等等的相关内容。

YOLOv8(附带各种任务详细说明链接)

源码链接:GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLiteicon-default.png?t=N7T8https://github.com/ultralytics/ultralytics

如果小伙伴们不方便访问github进行下载,可以点击这里,我把源码给大家准备好了。【免费】YOLOV8-main基础项目源码资源-CSDN文库icon-default.png?t=N7T8https://download.csdn.net/download/qq_42452134/88651936------------------------------------------------------------------------------------------------------------------------- 

官方文档(国内直接访问可能比较卡)

快速开始 - Ultralytics YOLOv8 文档

环境要求建议

        python3+、Anaconda3或Miniconda3

安装Ultralytics(YOLOV8)

        Ultralytics提供了多种安装方法,包括pip、conda和Docker。通过ultralyticspip包安装最新稳定版的YOLOv8,或者克隆Ultralytics GitHub仓库以获取最新版本。Docker可用于在隔离容器中执行包,避免本地安装。

pip安装

        最简单直接的方式就是直接使用pip方法直接安装。

# 从PyPI安装ultralytics包
pip install ultralytics

        也可以直接从GitHub仓库安装ultralytics包。如果你想要最新的开发版本,这可能会很有用。确保你的系统上安装了Git命令行工具。@main指令安装main分支,可修改为其他分支,如@my-branch,或完全删除,默认为main分支。

# 从GitHub安装ultralytics包
pip install git+https://github.com/ultralytics/ultralytics.git@main

Conda安装

        Conda是pip的一个替代包管理器,也可用于安装。访问Anaconda了解更多详情,网址为Ultralytics :: Anaconda.org。用于更新conda包的Ultralytics feedstock仓库位于GitHub - conda-forge/ultralytics-feedstock: A conda-smithy repository for ultralytics.

# 使用conda安装ultralytics包
conda install -c conda-forge ultralytics

        如果你在CUDA环境中安装,最佳实践是同时安装ultralyticspytorchpytorch-cuda,以便conda包管理器解决任何冲突,或者最后安装pytorch-cuda,让它必要时覆盖特定于CPU的pytorch包。

# 使用conda一起安装所有包
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics

Git克隆

        如果您对参与开发感兴趣或希望尝试最新源代码,请克隆ultralytics仓库。克隆后,导航到目录并使用pip以可编辑模式-e安装包。

# 克隆ultralytics仓库
git clone https://github.com/ultralytics/ultralytics

# 进入克隆的目录
cd ultralytics

# 为开发安装可编辑模式下的包
pip install -e .

Docker安装

        利用Docker轻松地在隔离的容器中执行ultralytics包,确保跨不同环境的一致性和流畅性能。通过选择一款官方ultralytics映像,从Docker Hub中不仅避免了本地安装的复杂性,还获得了对验证工作环境的访问。Ultralytics提供5种主要支持的Docker映像,每一种都为不同的平台和使用案例设计,以提供高兼容性和效率:

  • Dockerfile: 推荐用于训练的GPU映像。
  • Dockerfile-arm64: 为ARM64架构优化,允许在树莓派和其他基于ARM64的平台上部署。
  • Dockerfile-cpu: 基于Ubuntu的CPU版,适合无GPU环境下的推理。
  • Dockerfile-jetson: 为NVIDIA Jetson设备量身定制,整合了针对这些平台优化的GPU支持。
  • Dockerfile-python: 最小化映像,只包含Python及必要依赖,理想于轻量级应用和开发。
  • Dockerfile-conda: 基于Miniconda3,包含conda安装的ultralytics包。

         以下是获取最新映像并执行它的命令:

# 将映像名称设置为变量
t=ultralytics/ultralytics:latest

# 从Docker Hub拉取最新的ultralytics映像
sudo docker pull $t

# 使用GPU支持运行ultralytics映像的容器
sudo docker run -it --ipc=host --gpus all $t  # 所有GPU
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t  # 指定GPU

        上述命令初始化了一个带有最新ultralytics映像的Docker容器。-it标志分配了一个伪TTY,并保持stdin打开,使您可以与容器交互。--ipc=host标志将IPC(进程间通信)命名空间设置为宿主,这对于进程之间的内存共享至关重要。--gpus all标志使容器内可以访问所有可用的GPU,这对于需要GPU计算的任务至关重要。 要在容器中使用本地机器上的文件,请使用Docker卷将本地目录挂载到容器中:

# 将本地目录挂载到容器内的目录
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t

        将/path/on/host更改为您本地机器上的目录路径,将/path/in/container更改为Docker容器内希望访问的路径。 

项目依赖(requirements.txt)

        项目下载之后,在本地会出现一个requirements.txt文件,这个就是项目所需要依赖的库。如果你安装的项目执行的时候存在环境冲突的情况,那么建议新建一个虚拟环境在部署项目,或者使用:  pip install -r requirements.txt 的方法安装依赖覆盖掉之前的环境。

# Ultralytics requirements
# Example: pip install -r requirements.txt

# Base ----------------------------------------
matplotlib>=3.3.0
numpy>=1.22.2 # pinned by Snyk to avoid a vulnerability
opencv-python>=4.6.0
pillow>=7.1.2
pyyaml>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.8.0
torchvision>=0.9.0
tqdm>=4.64.0

# Logging -------------------------------------
# tensorboard>=2.13.0
# dvclive>=2.12.0
# clearml
# comet

# Plotting ------------------------------------
pandas>=1.1.4
seaborn>=0.11.0

# Export --------------------------------------
# coremltools>=7.0  # CoreML export
# onnx>=1.12.0  # ONNX export
# onnxsim>=0.4.1  # ONNX simplifier
# nvidia-pyindex  # TensorRT export
# nvidia-tensorrt  # TensorRT export
# scikit-learn==0.19.2  # CoreML quantization
# tensorflow>=2.4.1,<=2.13.1  # TF exports (-cpu, -aarch64, -macos)
# tflite-support
# jax<=0.4.21  # tensorflowjs bug https://github.com/google/jax/issues/18978
# jaxlib<=0.4.21  # tensorflowjs bug https://github.com/google/jax/issues/18978
# tensorflowjs>=3.9.0  # TF.js export
# openvino-dev>=2023.0  # OpenVINO export

# Extras --------------------------------------
psutil  # system utilization
py-cpuinfo  # display CPU info
thop>=0.1.1  # FLOPs computation
# ipython  # interactive notebook
# albumentations>=1.0.3  # training augmentations
# pycocotools>=2.0.6  # COCO mAP
# roboflow

        依赖项解释 

Base Dependencies

  • matplotlib>=3.3.0: 用于数据可视化和绘图。
  • numpy>=1.22.2: 提供高性能的多维数组处理和数学函数。
  • opencv-python>=4.6.0: 用于图像处理和计算机视觉任务。
  • pillow>=7.1.2: 用于图像处理,是Python Imaging Library (PIL) 的一个更现代化的分支。
  • pyyaml>=5.3.1: 用于处理YAML文件,这在配置模型和数据时非常有用。
  • requests>=2.23.0: 用于发送HTTP请求,可能用于网络数据交互。
  • scipy>=1.4.1: 提供科学计算功能,包括统计、优化等。
  • torch>=1.8.0: PyTorch深度学习框架,YOLOv8的核心依赖。
  • torchvision>=0.9.0: 提供PyTorch用于计算机视觉的数据集、模型等。
  • tqdm>=4.64.0: 提供进度条,用于长时间运行的任务。

Logging (注释掉了)

  • tensorboard, dvclive, clearml, comet: 这些是用于实验跟踪和日志记录的工具,但在此依赖列表中被注释掉了。

Plotting

  • pandas>=1.1.4: 数据分析和操作的工具,通常与matplotlib结合使用。
  • seaborn>=0.11.0: 基于matplotlib的高级数据可视化库。

Export (大多注释掉了)

  • 这部分包含了许多导出模型到其他格式(如CoreML、ONNX、TensorRT等)的依赖库,但大多被注释掉了。

Extras

  • psutil: 用于监控系统资源,如内存和CPU使用。
  • py-cpuinfo: 用于获取CPU的详细信息。
  • thop>=0.1.1: 用于计算模型的浮点运算次数(FLOPs)。

项目执行测试

        当你的项目安装成功后,可以在命令行中执行以下命令测试项目是否能正常运行。

# 在命令行中执行以下命令测试项目是否正常安装成功
yolo predict model=yolov8n.pt imgsz=640 conf=0.25

         在win中执行该命令,下图为执行成功的结果,runs\detect\predict 是程序执行输出的测试结果。

图片输出效果如下:

 

        大家可以看到这个图片的时候,就说明咱们得项目环境没问题了。 

总结

        这篇博文是关于如何安装和使用Ultralytics的YOLOv8进行目标检测的全面指南。它涵盖了从环境搭建到项目测试的所有步骤,并提供了对官方文档的链接以及环境要求建议。 博文通过详细的步骤和命令行示例,为用户提供了一个清晰的YOLOv8安装和测试流程。无论是对于初学者还是希望在现有系统上部署YOLOv8的开发者,这篇文章都提供了实用的信息。此外,文章还考虑到了不同操作系统和硬件配置,提供了不同的安装选项,以适应广泛的用户需求。如果有哪里写的不够清晰,小伙伴本可以给评论或者留言,我这边会尽快的优化博文内容,另外如有需要,我这边可支持技术答疑与支持。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐