目标检测:YOLOv11(Ultralytics)环境配置,适合0基础纯小白,超详细
目录
1.前言
2. 查看电脑状况
3. 安装所需软件
3.1 Anaconda3安装
3.2 Pycharm安装
4. 安装环境
4.1 安装cuda及cudnn
4.1.1 下载及安装cuda
4.1.2 cudnn安装
4.2 创建虚拟环境
4.3 安装GPU版本
4.3.1 安装pytorch(GPU版)
4.3.2 安装ultralytics库
4.4 安装CPU版本
4.4.1 安装pytorch(CPU版)
4.4.2 安装ultralytics库
5. 源码及使用环境
5.1 下载YOLOv11源码
5.2 pycharm导入环境
6. 验证环境
1.前言
YOLO11是Ultralytics公司YOLO系列实时目标检测器的最新迭代版本,它以尖端的准确性、速度和效率重新定义了可能实现的性能。在之前YOLO版本取得的显著进步基础上,YOLO11在架构和训练方法上进行了重大改进,使其成为各种计算机视觉任务中的通用选择。除了传统的目标检测外,YOLO11 还支持目标跟踪、实例分割、姿态估计、OBB定向物体检测(旋转目标检测)等视觉任务。
如果已经会配置YOLOv8的环境,本文不需要重复配置,下载最新的YOLOv11训练文件即可。
2. 查看电脑状况
深度学习的训练对于电脑显卡要求较高,若电脑没有独立显卡(NVIDIA卡)或者是AMD的显卡无法使用GPU进行训练,需用CPU进行训练,会慢很多。若不清楚电脑有无显卡可以打开任务管理器,点击性能往下找GPU,就可以看到是否有独立显卡,不清楚是否为独立显卡则搜索型号。
若有独立显卡则安装GPU版本的pytorch,若无独立显卡则安装CPU版本的pytorch。
嫌麻烦或者教程看不懂的友友可以私信我配置环境哦~
3. 安装所需软件
推荐安装Anaconda3+Pycharm,都需要加入环境变量,会安装或者安装过了则跳过这一步骤。
3.1 Anaconda3安装
Anaconda3由于是国外网站下载较慢,推荐通过清华镜像源安装。
Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /anaconda/archive/ | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=Dhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
选择带有Anaconda3...Windows...exe 字样的进行下载。
下载完成之后打开Anaconda3进行安装,一直点下一步,选Just Me,安装路径不建议安装到c盘,可以直接复制粘贴修改到 D:\Anaconda3 ,也可以修改到其他路径,最好纯英文路径。
点击下一步后,需要选择添加到环境变量,如下图前三个一定要勾选,也可以按照我图中全选。
点击install安装后耐心等待进度条满安装完成即可,进度较慢,耐心等待。
3.2 Pycharm安装
安装Pycharm可以直接去官网下载,速度较快。
下载 PyCharm:JetBrains 出品的用于数据科学和 Web 开发的 Python IDE现在最新版本的 PyCharm,适用于 Windows、macOS 或 Linux。https://www.jetbrains.com/zh-cn/pycharm/download/?section=windowshttps://www.jetbrains.com/zh-cn/pycharm/download/?section=windows
往下拉下载第二个Community Edition社区免费版就可以。
下载完之后打开安装,点下一步,遇到选择路径 修改路径到D盘或者其它除C盘外的文件夹,可以建个自己喜欢的英文名字。
需要勾选这些选项,五角星必勾选,建议全选。
再点下一步,直接安装就可以了,耐心等待进度条满安装完成即可。
4. 安装环境
4.1 安装cuda及cudnn
4.1.1 下载及安装cuda
在安装pytorch前需要安装cuda,(若无显卡则跳过)下载cuda前需要先查看显卡支持的CUDA版本最高是多少,按下win+r键,输入cmd,在打开的页面输入:nvidia-smi ,即可查看。
上图红框位置显示即为cuda最高支持版本,本教程cuda最高版本达到11.8即可,若没有达到则需要更新显卡驱动。
CUDA Toolkit Archive | NVIDIA Developerhttps://developer.nvidia.com/cuda-toolkit-archive
在这个网站挑选下载或者直接点击链接下载点此下载 。
下载完之后运行安装,建议安装到默认路径,所以C盘需要留有20G以上的存储空间,一直点击下一步,直到出现这个界面点击自定义,然后全部勾选即可。
将下图中选项全部勾选安装。
安装完成后可以再次在cmd里输入命令:nvcc -V 查看,如下显示即安装成功
4.1.2 cudnn安装
进入cudnn官网,选择合适版本的文件。
https://developer.nvidia.com/rdp/cudnn-archivehttps://developer.nvidia.com/rdp/cudnn-archive
进入后在文件列表中选择cudnn版本与上面cuda安装相匹配的版本。
下载Windows版本的压缩包文件。
下载需要登录,也可以复制下载链接打开迅雷下载。
将得到的压缩文件进行解压,解压后得到下图三个文件夹,全选复制进cuda的文件夹中进行覆盖替换,替换完成后即cudnn安装完成。按照本文教程安装的cuda的文件夹默认在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8 目录下。
4.2 创建虚拟环境
按下Win键,输入anaconda prompt,打开下图所示的应用。
默认进入的是base环境,base环境的版本与下载的anaconda3版本有关,因此不建议直接使用,需要新建环境,在新建环境之前建议更改默认的pip源和conda源可加速下载速度。
更改代码如下,直接输入即可,这里选择更换的是中科大源
conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
此时新建虚拟环境(需要关闭加速软件),这里创建一个名为yolov11,python版本为3.10的虚拟环境,也可以修改为其他名或者python版本,建议使用python3.9以上版本,选择替换即可。
conda create -n yolov11 python=3.10
回车后出现新建环境提醒输入y继续,耐心等待全部下载完成后自动安装。
注意:此时如果报错
UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel anaconda/pkgs/free <https://mirrors.ustc.edu.cn/anaconda/pkgs/free>
The channel is not accessible or is invalid.
You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.
等错误,需要修改隐藏文件 .condarc文件的内容,具体路径为:c:\users\用户名\.condarc
使用记事本打开,复制下面这一段进去替换掉原本所有的内容,替换完之后保存即可
channels:- defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
此时再次输入命令新建yolov11环境,建议使用python3.9以上版本。
conda create -n yolov11 python=3.10
创建完之后输入
conda activate yolov11
进入yolov11环境之中,此时有NVIDIA显卡安装GPU版看4.3,其它需要安装CPU版看4.4。
4.3 安装GPU版本
4.3.1 安装pytorch(GPU版)
打开prompt 输入conda activate yolov11进入yolov11环境,之后输入下方命令即可安装pytorch,耐心等待安装完成(需要注意关闭加速软件否则会下载失败)
pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
torch及相关库比较大,需要耐心等待下载完之后出现 done 则安装完成。
4.3.2 安装ultralytics库
这个库包含了几乎全部运行yolov11所需的环境,输入以下命令后耐心等待即可
pip install ultralytics
出现下图则环境配置完成 。
4.4 安装CPU版本
4.4.1 安装pytorch(CPU版)
有英伟达显卡的按照上述流程安装后即可跳过本部分,无英伟达显卡则需要按照下述方法进行,
打开prompt ,进入yolov11环境之后,输入如下命令即可安装cpu版本的pytorch
conda install pytorch torchvision torchaudio cpuonly -c pytorch
输入指令后看到下图再按下回车则开始正常安装。
耐心等待安装完成之后安装ultralytics库。
4.4.2 安装ultralytics库
pip install ultralytics
安装完成出现下图则环境配置完成。
5. 源码及使用环境
5.1 下载YOLOv11源码
YOLOv11(ultralytics)源码地址:
https://github.com/ultralytics/ultralytics/https://github.com/ultralytics/ultralytics/
点进去下载代码,现在还在持续更新,这里使用v8.3.20版本,进不去可能需要科学上网,或者点击链接下载(免积分下载)(压缩包内附带yolov11n.pt、yolov11s.pt和yolov11m.pt预训练权重)可以下载下图所示几个预训练权重文件,常规使用yolov11n.pt即可。
5.2 pycharm导入环境
下载完成之后解压到D盘或其它盘文件夹内,此时点击鼠标右键文件夹通过pycharm打开,打开后需要配置虚拟环境,新版pycharm可选中文语言,点击 文件-设置,点击 项目:ultralytics-8.3.20,点击python解释器,点击右边添加解释器-添加本地解释器,
点击Virtualenv环境 - 现有,点击右边三个点,找到刚才添加的yolov11环境的位置,按照本文配置即是D:\Anaconda3\envs\yolov11\python.exe 路径,之后一直点确定,点应用,再点确定即可。
下图为环境正在加载,耐心等待完成即可,等待环境加载完成即可运行代码。
6. 验证环境
下载完成后将权重文件复制到ultralytics根目录下,此时可以去网上下载一只猫猫的jpg图片(或者其它图片,根据自己喜好更改),修改文件名为cat.jpg。检测环境是否有问题可以在prompt里yolov11环境下运行。注意预训练权重的文件名与代码中的文件名对应。
yolo predict model=yolov11n.pt source='cat.jpg'
输出下图即环境正常。
或者通过前边安装的pycharm运行检测,新建一个yolov11_predict.py,在文件中添加如下代码
from ultralytics import YOLO
# 加载预训练的 YOLOv11n 模型
model = YOLO('yolov11n.pt')
# 定义图像文件的路径
source = 'cat.jpg' #更改为自己的图片路径
# 运行推理,并附加参数
model.predict(source, save=True, imgsz=640, conf=0.2)
运行之后如下即环境正常。
如果报错 ImportError: DLL load failed while importing _imaging: 找不到指定的模块,是pillow版本问题导致的错误。
输入如下指令降低pillow的版本即可解决此问题。
pip install pillow==8.0
可以顺着路径查看检测后的图片,出现检测框则环境可以正常使用。
如果遇到报错或者有疑问可以评论区交流~
相关文章:

目标检测:YOLOv11(Ultralytics)环境配置,适合0基础纯小白,超详细
目录 1.前言 2. 查看电脑状况 3. 安装所需软件 3.1 Anaconda3安装 3.2 Pycharm安装 4. 安装环境 4.1 安装cuda及cudnn 4.1.1 下载及安装cuda 4.1.2 cudnn安装 4.2 创建虚拟环境 4.3 安装GPU版本 4.3.1 安装pytorch(GPU版) 4.3.2 安装ultral…...

面试域——岗位职责以及工作流程
摘要 介绍互联网岗位的职责以及开发流程。在岗位职责方面,详细阐述了产品经理、前端开发工程师、后端开发工程师、测试工程师、运维工程师等的具体工作内容。产品经理负责需求收集、产品规划等;前端专注界面开发与交互;后端涉及系统架构与业…...

C#文件内容检索的功能
为了构建一个高效的文件内容检索系统,我们需要考虑更多的细节和实现策略。以下是对之前技术方案的扩展,以及一个更详细的C# demo示例,其中包含索引构建、多线程处理和文件监控的简化实现思路。 扩展后的技术方案 索引构建: 使用L…...

Redis-05 Redis发布订阅
Redis 的发布订阅(Pub/Sub)是一种消息通信模式,允许客户端订阅消息频道,以便在发布者向频道发送消息时接收消息。这种模式非常适合实现消息队列、聊天应用、实时通知等功能。 #了解即可,用的很少...

【读书笔记·VLSI电路设计方法解密】问题27:什么是可制造性设计
尽管业界尚未达成共识,但“可制造性设计”这一术语大致描述了旨在提高产品良率的特定分析、预防、纠正和验证工作。这不同于后GDSII阶段的分辨率增强技术,如光学邻近效应校正(OPC)和相位移掩膜(PSM)。“可制造性设计”中的关键词是“设计”,意指在设计阶段(而非设计完成…...

数据结构:堆的应用
堆排序 假定有一组数据极多的数,让我们进行排序,那我们很容易想到一种经典的排序方法,冒泡排序,我们对冒泡排序的时间复杂度进行分析: 显然,冒泡排序的时间复杂度是O(n^2),当数据量…...

Spring Boot 实现文件分片上传和下载
文章目录 一、原理分析1.1 文件分片1.2 断点续传和断点下载1.2 文件分片下载的 HTTP 参数 二、文件上传功能实现2.1 客户端(前端)2.2 服务端 三、文件下载功能实现3.1 客户端(前端)3.2 服务端 四、功能测试4.1 文件上传功能测试4.2 文件下载功能实现 参考资料 完整案例代码&…...

夹逼准则求数列极限(复习总结)
记住这两个准则,然后我们就开始看题目 因为是证明题,所以要放缩到什么值已经是确定的了。也就是放缩到0,然后很明显地可以看出前面已经有一个可以使得极限是0了,并且后面的值明显小于1,就是逐渐缩小的趋势,…...

【python】OpenCV—WaterShed Algorithm(1)
文章目录 1、功能描述2、代码实现3、完整代码4、效果展示5、涉及到的库函数5.1、cv2.pyrMeanShiftFiltering5.2、cv2.morphologyEx5.3、cv2.distanceTransform5.4、cv2.normalize5.5、cv2.watershed 6、参考 1、功能描述 基于分水岭算法对图片进行分割 分水岭分割算法&#x…...

查找与排序-插入排序
思考:在把待排序的元素插入已经有序的子序列中时,是不是一定要逐一比较?有没有改进方法? 在查找插入位置的时候可以采用折半(二分)搜索的办法。 一、折半插入排序 1.折半插入排序算法的基本思想 假设待…...

JAVA基础:多线程 (学习笔记)
多线程 一,什么是线程? 程序:为完成特定任务、用某种语言编写的一组指令的集合,是一段静态的代码进程:程序的一次执行过程。 正在运行的一个程序,进程作为资源分配的单位,在内存中会为每个进程分配不同的…...

盲盒小程序/APP系统,市场发展下的新机遇
当下,年轻人热衷于各种潮玩商品,尤其是一盲盒为主的潮流玩具风靡市场,吸引了众多入局者。随着互联网信息技术的快速发展,各类线上盲盒小程序又进一步推动了盲盒市场的发展,成为年轻人拆盲盒的主要阵地。在盲盒经济中&a…...

Unity3D LayoutGroup组件详解
Unity3D中的LayoutGroup组件是一种强大的工具,用于动态调整UI元素的布局。它主要包括三种类型:Horizontal Layout Group(水平布局组)、Vertical Layout Group(垂直布局组)和Grid Layout Group(网…...

[NeetCode 150] Foreign Dictionary
Foreign Dictionary There is a foreign language which uses the latin alphabet, but the order among letters is not “a”, “b”, “c” … “z” as in English. You receive a list of non-empty strings words from the dictionary, where the words are sorted lex…...

小新学习K8s第一天之K8s基础概念
目录 一、Kubernetes(K8s)概述 1.1、什么是K8s 1.2、K8s的作用 1.3、K8s的功能 二、K8s的特性 2.1、弹性伸缩 2.2、自我修复 2.3、服务发现和负载均衡 2.4、自动发布(默认滚动发布模式)和回滚 2.5、集中化配置管理和密钥…...

如何用终端批量修改一个文件夹里面所有图片的后缀名?
步骤: winr ,然后输入cmd,打开终端 使用cd命令导航到要修改图片后缀名的文件夹。eg.我的该文件夹(C:\dog)下,保存的图片。(cd和文件目录之间要有空格)批量改变后缀名,假如让后缀名全部要从 ".webp&q…...

关于AI网络架构的文章
思科OCP anounce了800G 51.2T G200-based minipack3 switch。对比之前Tesla anounce的TTPoE。真的很好奇,谁是AI-networking的未来,以及思科是否走在正确的路上,以及S1背后的技术。 大致浏览了相关的文章,先mark住,回…...

【ChatGPT】在多轮对话中引导 ChatGPT 保持一致性
在多轮对话中引导 ChatGPT 保持一致性 多轮对话是与 ChatGPT 等对话模型互动时的一大特点,特别是在复杂任务和长时间对话中,保持对话的一致性显得尤为重要。用户往往希望 ChatGPT 能够在上下文中理解先前的对话内容,避免反复重申问题或者给出…...

【Chapter 7】因果推断中的机器学习:从T-学习器到双重稳健估计
随着机器学习技术的发展,数据科学家们开始探索如何将这些先进的方法应用于因果推断问题,尤其是处理异质性效应(Effect Heterogeneity)时。本章将介绍几种基于机器学习的因果推断方法,包括T-学习器、X-学习器和双重稳健…...

vim的使用方法
常见的命令可参考: Linux vi/vim | 菜鸟教程www.runoob.com/linux/linux-vim.html编辑https://link.zhihu.com/?targethttps%3A//www.runoob.com/linux/linux-vim.html 1. vim的工作模式 vi/vim 共分为三种模式,命令模式、编辑输入模式和末行&am…...

OPPO携手比亚迪共同探索手机与汽车互融新时代
10月23日,OPPO与比亚迪宣布签订战略合作协议,双方将共同推进手机与汽车的互融合作,这一合作也标志着两大行业巨头在技术创新和产业融合上迈出了重要一步,为手机与汽车的深度融合探索新的可能。 OPPO创始人兼首席执行官陈明永、OP…...

Apache Linkis:重新定义计算中间件
在大数据技术蓬勃发展的今天,我们见证了从单一计算引擎到多元化计算范式的演进。然而,随着企业数据应用场景的日益丰富,一个严峻的挑战逐渐显现:如何有效管理和协调各类计算引擎,使其能够高效协同工作?Apac…...

go gorm简单使用方法
GORM 是 Go 语言中一个非常流行的 ORM(对象关系映射)库,它允许开发者通过结构体来定义数据库表结构,并提供了丰富的 API 来操作数据库。 安装 go get -u gorm.io/gorm go get -u gorm.io/driver/sqlite表结构 在 gorm 中定义表结…...

【c++高级篇】--多任务编程/多线程(Thread)
目录 1.进程和线程的概念: 1.1 进程(Process): 1.2线程(Thread): 1.3 对比总结: 2.多线程编程: 2.1 基于线程的多任务处理(Thread)…...

【力扣专题栏】两数相加,如何实现存储在链表中的整数相加?
题解目录 1、题目描述解释2、算法原理解析3、代码编写(原始版本)4、代码编写(优化版本) 1、题目描述解释 2、算法原理解析 3、代码编写(原始版本) /*** Definition for singly-linked list.* struct ListN…...

SOLID - 接口隔离原则(Interface Segregation Principle)
SOLID - 接口隔离原则(Interface Segregation Principle) 定义 接口隔离原则(Interface Segregation Principle,ISP)是面向对象设计中的五个基本原则之一,通常缩写为SOLID中的I。这一原则由Robert C. Martin提出&…...

arrylist怎么让他变得不可修改
在Java中,要将一个 ArrayList变得不可修改,你可以使用以下几种方法: ###1. 使用 Collections.unmodifiableList Java 提供了 Collections.unmodifiableList 方法,可以生成一个不可修改的视图。这种方式返回的列表将不允许添加、…...

SpringMVC实战(3):拓展
四、RESTFul风格设计和实战 4.1 RESTFul风格概述 4.1.1 RESTFul风格简介 RESTful(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序和服务之间的通信。它是一种基于标准 HTTP 方法的简单和轻量级的通信协议&…...

Vue应用中使用xlsx库实现Excel文件导出的完整指南
Vue应用中使用xlsx库实现Excel文件导出的完整指南 在现代Web开发中,经常需要将数据导出为Excel文件,以便于用户进行离线分析或记录。Vue.js作为一个轻量级且高效的前端框架,结合xlsx库可以轻松实现这一功能。本文将详细介绍如何在Vue应用中使…...

【数据分析】Power BI的使用教程
目录 1 Power BI架构1.1 Power BI Desktop1.2 Power BI服务1.3 Power BI移动版 2 Power Query2.1 Power Query编辑器2.2 Power Query的优点2.3 获取数据2.4 数据清洗的常用操作2.4.1 提升标题2.4.2 更改数据类型2.4.3 删除错误/空值2.4.4 删除重复项2.4.5 填充2.4.6 合并列2.4.…...