【目标检测】Anaconda+PyTorch(GPU)+PyCharm(Yolo5)配置
前言
本文主要介绍在windows系统上的Anaconda、PyTorch、PyCharm、Yolov5关键步骤安装,为使用yolo所需的环境配置完善。同时也算是记录下我的配置流程,为以后用到的时候能笔记查阅。
Anaconda
软件安装
Anaconda官网:https://www.anaconda.com/
另外,Anaconda下携带的conda的基本命令,建议可以查看菜鸟教程的介绍。Anaconda 教程
在上数官网完成安装后,进入系统自带命令行
Ctrl+R输入cmd或者 Anaconda携带的Anaconda Prompt (Anaconda)都可以,二选一即可,我通常选用的是系统自带的命令行。
可以尝试看看Anaconda有没有被安装
conda -V

创建环境
继续接着在命令行里操作。以下步骤仅供参考具体,按照个人配置。
-
创建环境,指定环境名词,以及python版本
conda create -n pytorch python=3.8
-
进入环境
conda activate pytorch
虚拟环境,共有两个包管理,是可以同时用的,分别是conda,pip。
PyTorch
PyTorch是开源的Python机器学习库,在刚才创建好的环境中下载。并且因为我的电脑是有GPU的,所以下载流程按照安装GPU版本的走。假如是要安装CPU版本的话,只要相关包能下载就行,用conda或pip关系不大。安装GPU的话,我这边是选择用pip。
下述命令的执行都是要确保在虚拟环境中执行,也就是上述的(pytorch) C:\Users\XYZ>
当然可以先到PyTorch官网,按自身环境在选择器中选择,就能给出相应下载命令。[PyTorch下载选择器](conda install pytorch torchvision torchaudio cpuonly -c pytorch)

CPU版本
换源命令,逐行执行:
# 添加清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
conda config --set show_channel_urls yes
下载命令,纯CPU版本
conda install pytorch torchvision torchaudio cpuonly
GPU版本
尝试过用conda安装,试过换源等还是CPU版本的,网上又说是什么没有对应的GPU版本之类。所以最后选择用pip安装。
-
首先在命令行中,查看CUDA最高支持版本

最高支持的CUDA版本为12.2
-
我看到在PyTorch下载选择器上有,CUDA12.1版本的相关,下载的选项,就打算下载那个。但当时电脑版本的CUDA版本不匹配,就要去英伟达官网下载所需的版本。(非必要,假如版本已经对应)
[英伟达-CUDA历史版本](CUDA Toolkit Archive | NVIDIA Developer)
可以下述命令查看当前电脑的CUDA版本
nvcc -V
-
下载PyTorch,安装选择选择器命令下载。

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121不过要是按照上述命令下载的话,因为是国外源下载极慢,而且文件是2G左右,要是小一点还能接收。我记得网上有相对应的办法,可以从下述网址:download.pytorch.org/whl/torch_stable.html选定相对应的torch,torchvision的GPU版本文件,手动下载,在基于
pip install 包名(该包一定要在目前命令行下,才能找到)导入。不过我嫌对应规则太绕了,就没看
我的方法是,起始大的特殊的只有torch这个GPU版本的文件,我先是调用(在创建好的虚拟环境中)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121,它会给出要下载包的名称,Ctrl+C中止下载后,在复制名称到download.pytorch.org/whl/torch_stable.html网址搜索下载,在导入,在重新执行上述pip3 inst...(省略)命令,重新拉取下载,其它的包体积都较小,慢点都没事了,或者加个国内源都可以。 -
检查 GPU 驱动程序和 CUDA 是否已启用
检查 GPU 驱动程序和 CUDA 是否已启用并由 PyTorch 访问,请运行以下命令以返回是否启用了 CUDA 驱动程序:(相当于能启用GPU)
python import torch torch.cuda.is_available()
问题插曲
这里,提下后续我在Pycharm上运行YOLO-V5的detect.py,出了问题:

后来,发现还torchvision没有按照pip命令,下载和torch对应的版本,可能还是CPU版本,就一直运行不起来。解决方法:回到Anaconda创建的虚拟环境中,卸载掉torchvision,还是去download.pytorch.org/whl/torch_stable.html调选对应的版本。
例如我上文中共在网址下载过这两个:
torch-2.3.1+cu121-cp38-cp38-win_amd64.whl
torchvision-0.18.1+cu121-cp38-cp38-win_amd64.whl
反正这里挺疑惑,我当时也正好截了图,明明下载对了,怎么后面又变回正常版本呢

PyCharm
该软件可以直接到官网:PyCharm下载安装,接下来是讲解配置部分了。
-
拉取Yolov5项目
可以直接去github拉取:yolov5
也可以用命令拉取仓库
git clone https://github.com/ultralytics/yolov5 # clone -
将Yolov5放在PyCharm的工作目录中
将该项目的Python解释器,配置成上文创建的虚拟环境中的。可以用下述命令查看虚拟环境对应的文件路径在哪里。
conda info --envs
-
配置pip源(可选)
因为当下在正式运行yolov5前,还有下载些包,建议加上的。
https://pypi.mirrors.ustc.edu.cn/simple/ https://pypi.tuna.tsinghua.edu.cn/simple/ http://pypi.douban.com/simple/ http://mirrors.aliyun.com/pypi/simple/
-
yolov5的库需求
打开项目下requirements.txt,文件,看到第二行有pip指令,复制到当前项目下终端下执行就可以了。
pip install -r requirements.txt
-
yolov5试运行
打开项目下detect.py,右键点击
运行detect.py,首次是要下载yolovs.pt文件,还是老办法,我直接中止它的下载,直接点开的它的下载链接到目标网址去下载,在放到项目下。成功执行,如下图。该文件默认参数执行,调用官方的训练好的模型,识别示例图片。

相关文章:
【目标检测】Anaconda+PyTorch(GPU)+PyCharm(Yolo5)配置
前言 本文主要介绍在windows系统上的Anaconda、PyTorch、PyCharm、Yolov5关键步骤安装,为使用yolo所需的环境配置完善。同时也算是记录下我的配置流程,为以后用到的时候能笔记查阅。 Anaconda 软件安装 Anaconda官网:https://www.anaconda…...
Django实战项目之进销存数据分析报表——第二天:项目创建和 PyCharm 配置
在上一篇博客中,我们讨论了如何搭建一个全栈 Web 应用的开发环境,包括 Python 环境的创建、Django 和 MySQL 的安装以及前端技术栈的选择。现在,让我们继续深入,学习如何在 PyCharm 中创建一个新的 Django 项目并进行配置。 一…...
静态路由实验
1.实验拓扑图 二、实验要求 1.R6为ISP,接口IP地址均为公有地址,该设备只能配置IP地址,之后不能再对其进行任何配置; 2.R1-R5为局域网,私有IP地址192.168.1.0/24,请合理分配; 3.R1、R2、R4&…...
VSCode STM32嵌入式开发插件记录
要卸载之前搭建的VSCode嵌入式开发环境了,记录一下用的插件。 1.Cortex-Debug https://github.com/Marus/cortex-debug 2.Embedded IDE https://github.com/github0null/eide 3.Keil uVision Assistant https://github.com/jacksonjim/keil-assistant/ 4.RTO…...
linux cpu 占用超100% 分析。
感谢: https://www.cnblogs.com/wolfstark/p/16450131.html 总结: 查看进程中各个线程占用百分比 top -H -p <pid> 某线程100%了 说明 任务处理不过来 会卡 但是永远不可能超100% 系统监视器里面看到的是 所有线程占用的 总和会超100%。 所以最好的情况是&…...
自然学习法和科学学习法
一、自然学习法 自然学习法:什么事自然学习法,特意让kimi来回答了一下。所谓的自然学习法说的俗一点就是野路子学习方法。这种学习方法的特点是“慢”“没有系统性”,学完之后感觉都会了,但是又感觉什么都不会。 二、科学学习法 …...
力扣第二十四题——两两交换链表中的节点
内容介绍 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head [1,2,3,4] 输出ÿ…...
C语言柔性数组详解
目录 1.柔性数组 2.柔性数组的特点 3.柔性数组的使用 4.柔性数组的优势 1.柔性数组 C99 中,结构体中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。 例如: struct S {char c;int n;int arr[];//柔性数组 }; struct …...
自动驾驶---视觉Transformer的应用
1 背景 在过去的几年,随着自动驾驶技术的不断发展,神经网络逐渐进入人们的视野。Transformer的应用也越来越广泛,逐步走向自动驾驶技术的前沿。笔者也在博客《人工智能---什么是Transformer?》中大概介绍了Transformer的一些内容:…...
预训练语言模型实践笔记
Roberta output_hidden_statesTrue和last_hidden_states和pooler_output 在使用像BERT或RoBERTa这样的transformer模型时,output_hidden_states和last_hidden_state是两个不同的概念。 output_hidden_states: 这是一个布尔值,决定了模型是否应该返回所…...
Perl 哈希
Perl 哈希 Perl 哈希是一种强大的数据结构,用于存储键值对集合。它是 Perl 语言的核心特性之一,广泛应用于各种编程任务中。本文将详细介绍 Perl 哈希的概念、用法和最佳实践。 什么是 Perl 哈希? Perl 哈希是一种关联数组,其中…...
Linux之Mysql索引和优化
一、MySQL 索引 索引作为一种数据结构,其用途是用于提升数据的检索效率。 1、索引分类 - 普通索引(INDEX):索引列值可重复 - 唯一索引(UNIQUE):索引列值必须唯一,可以为NULL - 主键索引(PRIMARY KEY):索引列值必须唯一,不能为NULL,一个表只能有一个主键索引 - 全…...
springboot业务逻辑写在controller层吗
Spring Boot中的业务逻辑不应该直接写在Controller层。 在Spring Boot项目中,通常将业务逻辑分为几个层次,包括Controller层、Service层、Mapper层和Entity层。 1.其中,Controller层主要负责处理HTTP请求,通过注…...
Ubuntu 24.04 LTS 桌面安装MT4或MT5 (MetaTrader)教程
运行脚本即可在 Ubuntu 24.04 LTS Noble Linux 上轻松安装 MetaTrader 5 或 4 应用程序,使用 WineHQ 进行外汇交易。 MetaTrader 4 (MT4) 或 MetaTrader 5 是用于交易外汇对和商品的流行平台。它支持各种外汇经纪商、内置价格分析工具以及通过专家顾问 (EA) 进行自…...
Go基础编程 - 12 -流程控制
流程控制 1. 条件语句1.1. if...else 语句1.2. switch 语句1.3. select 语句1.3.1. select 语句的通信表达式1.3.2. select 的基特性1.3.3. select 的实现原理1.3.4. 经典用法1.3.4.1 超时控制1.3.4.2 多任务并发控制1.3.4.3 监听多通道消息1.3.4.4 default 实现非堵塞读写 2. …...
汽车信息安全--TLS,OpenSSL
目录 TLS相关知识 加密技术 对称加密 非对称加密 数字签名和CA 信任链 根身份证和自签名 双方TLS认证 加密和解密的性能 TLS相关知识 加密技术 TLS依赖两种加密技术 1. 对称加密(symmetric encryption) 2. 非对称加密(asymmetri…...
深入探索 SQL 中的 LIKE 右模糊匹配(LIKE RIGHT)与左模糊匹配(LIKE LEFT)
引言 在数据库操作中,LIKE 子句是执行模糊搜索的强大工具,用于匹配列中的数据与指定的模式。本文将详细介绍 LIKE 子句中的两种常用模式:右模糊匹配(LIKE RIGHT)和左模糊匹配(LIKE LEFT)&#…...
mybatis 多数据源 TDataSource required a single bean, but 2 were found
情况说明: 项目中本来就有一个数据源了,运行的好好的后来又合并了另一个项目,另一个项目也配置了数据源。 于是出现了如下错误: mybatis 多数据源 TDataSource required a single bean, but 2 were found 解决方法:…...
Dubbo SPI 之路由器
1. 背景介绍 Dubbo 是一个高性能的 Java RPC 框架,由阿里巴巴开源并广泛应用于分布式系统中。在 Dubbo 的架构中,SPI(Service Provider Interface)是一个关键组件,允许在运行时动态加载不同的服务实现。SPI 机制提供了…...
Python深度学习环境配置(Pytorch、CUDA、cuDNN),包括Anaconda搭配Pycharm的环境搭建以及基础使用教程(保姆级教程,适合小白、深度学习零基础入门)
全流程导览 一、前言二、基本介绍2.1全过程软件基本介绍2.1.1 Pytorch2.1.2 Anaconda2.1.3 Pycharm2.1.4 显卡GPU及其相关概念2.1.5 CUDA和cuDNN 2.2 各部分相互间的联系和安装逻辑关系 三、Anaconda安装3.1安装Anaconda3.2配置环境变量3.3检验是否安装成功 四、Pycharm安装五、…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
