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

【目标检测】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

在这里插入图片描述

创建环境

继续接着在命令行里操作。以下步骤仅供参考具体,按照个人配置。

  1. 创建环境,指定环境名词,以及python版本

    conda create -n pytorch python=3.8
    

    在这里插入图片描述

  2. 进入环境

    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安装。

  1. 首先在命令行中,查看CUDA最高支持版本

    在这里插入图片描述

    最高支持的CUDA版本为12.2

  2. 我看到在PyTorch下载选择器上有,CUDA12.1版本的相关,下载的选项,就打算下载那个。但当时电脑版本的CUDA版本不匹配,就要去英伟达官网下载所需的版本。(非必要,假如版本已经对应)

    [英伟达-CUDA历史版本](CUDA Toolkit Archive | NVIDIA Developer)

    可以下述命令查看当前电脑的CUDA版本

    nvcc -V
    

    在这里插入图片描述

  3. 下载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...(省略)命令,重新拉取下载,其它的包体积都较小,慢点都没事了,或者加个国内源都可以。

  4. 检查 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下载安装,接下来是讲解配置部分了。

  1. 拉取Yolov5项目

    可以直接去github拉取:yolov5

    也可以用命令拉取仓库

    git clone https://github.com/ultralytics/yolov5  # clone
    
  2. 将Yolov5放在PyCharm的工作目录中

    将该项目的Python解释器,配置成上文创建的虚拟环境中的。可以用下述命令查看虚拟环境对应的文件路径在哪里。

    conda info --envs
    

    在这里插入图片描述

  3. 配置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/
    

    在这里插入图片描述

  4. yolov5的库需求

    打开项目下requirements.txt,文件,看到第二行有pip指令,复制到当前项目下终端下执行就可以了。

    pip install -r requirements.txt
    

    在这里插入图片描述

  5. 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 总结&#xff1a; 查看进程中各个线程占用百分比 top -H -p <pid> 某线程100%了 说明 任务处理不过来 会卡 但是永远不可能超100% 系统监视器里面看到的是 所有线程占用的 总和会超100%。 所以最好的情况是&…...

自然学习法和科学学习法

一、自然学习法 自然学习法&#xff1a;什么事自然学习法&#xff0c;特意让kimi来回答了一下。所谓的自然学习法说的俗一点就是野路子学习方法。这种学习方法的特点是“慢”“没有系统性”&#xff0c;学完之后感觉都会了&#xff0c;但是又感觉什么都不会。 二、科学学习法 …...

力扣第二十四题——两两交换链表中的节点

内容介绍 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4] 输出&#xff…...

C语言柔性数组详解

目录 1.柔性数组 2.柔性数组的特点 3.柔性数组的使用 4.柔性数组的优势 1.柔性数组 C99 中&#xff0c;结构体中的最后一个元素允许是未知大小的数组&#xff0c;这就叫做『柔性数组』成员。 例如&#xff1a; struct S {char c;int n;int arr[];//柔性数组 }; struct …...

自动驾驶---视觉Transformer的应用

1 背景 在过去的几年&#xff0c;随着自动驾驶技术的不断发展&#xff0c;神经网络逐渐进入人们的视野。Transformer的应用也越来越广泛&#xff0c;逐步走向自动驾驶技术的前沿。笔者也在博客《人工智能---什么是Transformer?》中大概介绍了Transformer的一些内容&#xff1a…...

预训练语言模型实践笔记

Roberta output_hidden_statesTrue和last_hidden_states和pooler_output 在使用像BERT或RoBERTa这样的transformer模型时&#xff0c;output_hidden_states和last_hidden_state是两个不同的概念。 output_hidden_states: 这是一个布尔值&#xff0c;决定了模型是否应该返回所…...

Perl 哈希

Perl 哈希 Perl 哈希是一种强大的数据结构&#xff0c;用于存储键值对集合。它是 Perl 语言的核心特性之一&#xff0c;广泛应用于各种编程任务中。本文将详细介绍 Perl 哈希的概念、用法和最佳实践。 什么是 Perl 哈希&#xff1f; Perl 哈希是一种关联数组&#xff0c;其中…...

Linux之Mysql索引和优化

一、MySQL 索引 索引作为一种数据结构,其用途是用于提升数据的检索效率。 1、索引分类 - 普通索引(INDEX):索引列值可重复 - 唯一索引(UNIQUE):索引列值必须唯一,可以为NULL - 主键索引(PRIMARY KEY):索引列值必须唯一,不能为NULL,一个表只能有一个主键索引 - 全…...

springboot业务逻辑写在controller层吗

Spring Boot中的业务逻辑不应该直接写在Controller层。‌ 在Spring Boot项目中&#xff0c;‌通常将业务逻辑分为几个层次&#xff0c;‌包括Controller层、‌Service层、‌Mapper层和Entity层。‌ 1.其中&#xff0c;‌Controller层主要负责处理HTTP请求&#xff0c;‌通过注…...

Ubuntu 24.04 LTS 桌面安装MT4或MT5 (MetaTrader)教程

运行脚本即可在 Ubuntu 24.04 LTS Noble Linux 上轻松安装 MetaTrader 5 或 4 应用程序&#xff0c;使用 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. 对称加密&#xff08;symmetric encryption&#xff09; 2. 非对称加密&#xff08;asymmetri…...

深入探索 SQL 中的 LIKE 右模糊匹配(LIKE RIGHT)与左模糊匹配(LIKE LEFT)

引言 在数据库操作中&#xff0c;LIKE 子句是执行模糊搜索的强大工具&#xff0c;用于匹配列中的数据与指定的模式。本文将详细介绍 LIKE 子句中的两种常用模式&#xff1a;右模糊匹配&#xff08;LIKE RIGHT&#xff09;和左模糊匹配&#xff08;LIKE LEFT&#xff09;&#…...

mybatis 多数据源 TDataSource required a single bean, but 2 were found

情况说明&#xff1a; 项目中本来就有一个数据源了&#xff0c;运行的好好的后来又合并了另一个项目&#xff0c;另一个项目也配置了数据源。 于是出现了如下错误&#xff1a; mybatis 多数据源 TDataSource required a single bean, but 2 were found 解决方法&#xff1a…...

Dubbo SPI 之路由器

1. 背景介绍 Dubbo 是一个高性能的 Java RPC 框架&#xff0c;由阿里巴巴开源并广泛应用于分布式系统中。在 Dubbo 的架构中&#xff0c;SPI&#xff08;Service Provider Interface&#xff09;是一个关键组件&#xff0c;允许在运行时动态加载不同的服务实现。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安装五、…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...