当前位置: 首页 > 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安装五、…...

别再死记硬背ATT报文了!用Wireshark抓包实战,带你搞懂BLE通信里Handle和UUID的映射过程

实战拆解BLE通信&#xff1a;用Wireshark透视Handle与UUID的动态映射 当你第一次看到BLE设备通信时&#xff0c;那些十六进制数字在屏幕上闪烁&#xff0c;就像在看天书。Handle、UUID、ATT报文——这些概念在文档里写得清清楚楚&#xff0c;但真正抓包分析时&#xff0c;却总感…...

GIL已死,但并发未生:从字节码级剖析无锁Python的7类竞态陷阱与4种Lock-Free算法选型矩阵

第一章&#xff1a;GIL已死&#xff0c;但并发未生&#xff1a;无锁Python并发范式的认知重构Python的全局解释器锁&#xff08;GIL&#xff09;长期被视为并发编程的“原罪”&#xff0c;但自CPython 3.13起&#xff0c;GIL在I/O密集型路径中已被条件性移除&#xff0c;而3.14…...

AudioSeal Pixel Studio部署教程:NVIDIA Triton推理服务器集成

AudioSeal Pixel Studio部署教程&#xff1a;NVIDIA Triton推理服务器集成 1. 项目概述 AudioSeal Pixel Studio是一款基于Meta开源的AudioSeal算法构建的专业音频水印工具。它能够在保持原始音频质量的前提下&#xff0c;为音频文件嵌入隐形数字水印&#xff0c;并具备强大的…...

bWAPP靶场实战:从SQL注入到XSS的完整通关指南(附详细Payload)

bWAPP靶场实战&#xff1a;从SQL注入到XSS的完整通关指南&#xff08;附详细Payload&#xff09; 1. 靶场环境搭建与基础配置 bWAPP&#xff08;Buggy Web Application&#xff09;是一款专为网络安全学习设计的漏洞演练平台&#xff0c;包含超过100种常见Web漏洞场景。作为渗透…...

STM32项目实战:AHT20温湿度传感器PCB设计全流程(附3D模型技巧)

STM32项目实战&#xff1a;AHT20温湿度传感器PCB设计全流程&#xff08;附3D模型技巧&#xff09; 在物联网设备开发中&#xff0c;温湿度传感器的集成往往是硬件设计的第一步。AHT20作为国产高精度数字温湿度传感器&#xff0c;凭借其I2C接口、20位ADC和微型封装&#xff0c;正…...

Graphviz自动排版太随机?教你5个技巧精准控制节点位置

Graphviz自动排版太随机&#xff1f;5个专业技巧精准控制节点位置 当你用Graphviz绘制关系图时&#xff0c;是否遇到过这样的困扰&#xff1a;明明代码逻辑清晰&#xff0c;生成的图表却总是不按预期排列&#xff1f;节点位置随机跳跃&#xff0c;关键元素错位&#xff0c;甚至…...

Canvas Quest人像修复与增强实战:老照片修复与画质提升

Canvas Quest人像修复与增强实战&#xff1a;老照片修复与画质提升 1. 老照片修复的痛点与解决方案 翻开家里的老相册&#xff0c;总能看到一些泛黄、破损或模糊的照片。这些承载着珍贵记忆的画面&#xff0c;往往因为年代久远而变得难以辨认。传统的手工修复不仅耗时费力&am…...

Z-Image i2L模型压缩技术:轻量化部署实践指南

Z-Image i2L模型压缩技术&#xff1a;轻量化部署实践指南 1. 引言 当你兴奋地部署了一个强大的图像生成模型&#xff0c;却发现设备内存告急、推理速度慢如蜗牛&#xff0c;这种体验确实让人沮丧。Z-Image i2L作为一款创新的图像到LoRA模型&#xff0c;虽然功能强大&#xff…...

PHP开发者必看:如何在本地环境快速搭建gRPC和Protobuf开发环境

PHP开发者必看&#xff1a;如何在本地环境快速搭建gRPC和Protobuf开发环境 作为一名长期与PHP打交道的开发者&#xff0c;我深刻理解在微服务架构盛行的当下&#xff0c;掌握gRPC和Protobuf技术栈的重要性。记得第一次尝试在本地搭建环境时&#xff0c;光是版本兼容问题就耗费了…...

别再只会docker push了!Harbor镜像上传的5个隐藏技巧与实战避坑指南

Harbor镜像上传实战&#xff1a;5个高阶技巧与避坑指南 当你在凌晨三点被CI/CD流水线的失败通知惊醒&#xff0c;发现又是镜像上传问题导致整个发布流程卡住时&#xff0c;就会明白掌握Harbor的进阶用法有多重要。作为企业级容器镜像仓库&#xff0c;Harbor远比简单的docker pu…...