【目标检测】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文件,还是老办法,我直接中止它的下载,直接点开的它的下载链接到目标网址去下载,在放到项目下。成功执行,如下图。

    该文件默认参数执行,调用官方的训练好的模型,识别示例图片。

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu源码安装Odoo

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo具有非常多的安装方式,除了我最爱用的 apt-get install,我们还可以使用git拉取Odoo源码进行安装。 本次示例于ubuntu20.04 Desktop上进行操作,理论上在ubuntu14.04之后都可以用此操作。 …

OpenWrt 配置 Tailscale 内网穿透

前言 Openwrt 安装 zerotier 内网穿透. Tailscale 在 OpenWrt 下配置教程参考 GXNAS 博客 的 OpenWrt安装Tailscale设置内网穿透科学出国外网互访局域网设备。啥都不会难搞 的 【傻呱呱】OpenWrt安装Tailscale。阿髙 的 openwrt设置开机自启 tailscale为例。 Tailscale 安…

【算法】一致性哈希

一、引言 在分布式系统中,数据存储和访问的均匀性、高可用性以及可扩展性一直是核心问题。一致性哈希算法(Consistent Hashing)是一种分布式算法,因其出色的分布式数据存储特性,被广泛应用于缓存、负载均衡、数据库分片…

在浏览器中测试JavaScript代码方法简要介绍

在浏览器中测试JavaScript代码方法简要介绍 在浏览器中测试JavaScript代码是前端开发中的一个重要技能。方法如下: 1. 浏览器控制台 最简单和直接的方法是使用浏览器的开发者工具中的控制台(Console)。 步骤: 在大多数浏览器…

iOS ------ weak的基本原理

1.weak的基本概念 weak弱引用,所引用的对象的引用计数不会加一,引用对象被释放的时候会自动设置为nil多用于解决对象间的相互引用造成内存泄露的循环引用的问题 2.实现原理 Person *object [[Person alloc] init]; id __weak objc object;Runtime维…

Redis 7.x 系列【26】集群模式动态扩容、动态缩容

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 动态扩容1.1 安装、启动1.2 加入新节点1.3 分配哈希槽1.4 加入从节点 2. 缩容2.1 删…

护眼灯和普通台灯有什么区别?解密护眼灯行业常见的四大选购套路

护眼灯和普通台灯有什么区别?随着护眼台灯的普及,市场上涌现了许多新兴品牌。然而,并非所有品牌都具备专业的技术研发实力。因此,网络上关于护眼台灯的各种问题也日益增多,如耐磨性差、耐高温性不足,甚至可…

python实现图像缩放算法

图像缩放算法 1.最近邻插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点2.双线性插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点3.双三次插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点 1.最近邻插值图像缩放算法详解 最近邻插值(Near…

go-kratos 学习笔记(4) 服务注册与发现 nacos注册

接口实现​ Registry 接口分为两个,Registrar 为实例注册和反注册,Discovery 为服务实例列表获取 type Registrar interface {// 注册实例Register(ctx context.Context, service *ServiceInstance) error// 反注册实例Deregister(ctx context.Context…

ubuntu系统vscode调试c/c++大中型项目

文章目录 1. 插件2. 项目工程3. vsode的配置setting.jsonc_cpp_properties.json 4. 启动调试 前置阅读 vscode调试第一篇 1. 插件 c/c, cmake, cmake tools 2. 项目工程 对于我的项目需要用到很多的三方库,三方库的版本又会有很多,一般都是用cmake编译…

QT写一个mainWindow

切换风格的写法&#xff1a; 先看看样式效果&#xff1a; mian_window.h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();void Ini…

对比预测编码表示学习

对比预测编码表示学习 引言 文章主要提出如下几点&#xff1a;首先将高维数据压缩到更加紧凑的潜在嵌入&#xff08;latent embdding&#xff09;空间&#xff0c;在这个空间中条件预测更容易被建模。第二&#xff0c;在这个潜在空间中使用自回归模型&#xff0c;以对未来的多…

DC系列靶场---DC 2靶场的渗透测试(一)

信息收集 Nmap扫描 nmap -sV -p- -sC -T4 172.30.1.141 域名解析 echo 172.30.1.141 dc-2 >> /etc/hosts 目录枚举 gobuster dir -u http://172.30.1.141 -w work/lab/CTF/ATT_CK_01/SecLists-master/Discovery/Web-Content/big.txt -x .php,.rar,.html,.zip -t 20 -b…

探索XEX数字资产交易的优势与操作指南

随着数字资产市场的快速发展&#xff0c;越来越多的投资者开始关注并参与其中。XEX交易所作为一个新兴的数字资产交易平台&#xff0c;以其用户友好的界面和高效的交易服务&#xff0c;迅速吸引了大量用户。本文将介绍XEX数字资产交易的主要特点和优势&#xff0c;帮助新手更好…

物联网在电力行业的应用

作者主页: 知孤云出岫 这里写目录标题 作者主页:物联网在电力行业的应用简介主要应用领域代码案例分析1. 智能电表数据采集和分析2. 设备监控和预测性维护3. 能耗管理和优化4. 电力负载预测5. 分布式能源管理6. 电动汽车充电管理7. 电网安全与故障检测 物联网在电力行业的应用…

python+onlyoffice+vue3项目实战20240722笔记,环境搭建和前后端基础代码

开发后端 先创建data目录,然后在data目录下创建一个test.docx测试文档。 后端代码: import json import req import api from api import middleware, PlainTextResponseasync def doc_callback(request):data = await api.req.get_json(request)print("callback ==…

数据结构——堆(C语言版)

树 树的概念&#xff1a; 树&#xff08;Tree&#xff09;是一种抽象数据结构&#xff0c;它由节点&#xff08;node&#xff09;的集合组成&#xff0c;这些节点通过边相连&#xff0c;把 节点集合按照逻辑顺序抽象成图像&#xff0c;看起来就像一个倒挂着的树&#xff0c;也…

使用C#手搓Word插件

WordTools主要功能介绍 编码语言&#xff1a;C#【VSTO】 1、选择 1.1、表格 作用&#xff1a;全选文档中的表格&#xff1b; 1.2、表头 作用&#xff1a;全选文档所有表格的表头【第一行】&#xff1b; 1.3、表正文 全选文档中所有表格的除表头部分【除第一行部分】 1.…

java面向对象进阶篇--《多态》

目录 一、前言 二、认识多态 方法重写&#xff08;Override&#xff09;&#xff1a; 方法重载&#xff08;Overload&#xff09;&#xff1a; 示例&#xff1a; Person类&#xff08;父类&#xff09; Administrator&#xff08;子类&#xff09; Student&#xff08;子…

docker搭建ES 8.14 集群

参考&#xff1a;【docker搭建es8集群kibana】_docker 安装生产级 es 8.14 集群-CSDN博客 1、之前已搭建一台单机版的dockerES集群 参见 Elasticsearch docker 安装_docker 安装es8.14.3-CSDN博客 2、现在需要重新搭建为docker ES集群 准备新搭建3个点 一、准备工作 提前开…