手把手教你玩转YOLOX--Windows(上)

2023-11-18

    旷视开源的YOLOX其性能超越 YOLOv3、YOLOv4 和 YOLOv5,应不少小伙伴的要求,我在这里用手把手教学的方式展示一下YOLOX的搭建(上篇),下一篇将着重介绍YOLOX如何进行模型的训练。进阶篇介绍YOLOX的原理,代码讲解及如何将YOLOX移值到手机上。同时在B站我将为小伙伴们提供教学视频。 

一、环境搭建

1、Nvidia显卡驱动安装

打开cmd,执行nvidia-smi,

如果有如上图的显示,则说明你的显卡驱动安装是没有问题的,可以继续安装CUDA。如果没有显示或报错,则说明nvidia显卡驱动没有正确安装,则需要安装驱动,首先确定显卡的型号,打开设备管理器,找到“显示适配器”,如下图,在那里你能看到自己显卡的型号。

驱动下载地址:官方驱动 | NVIDIA

如下图

2、下载CUDA

下载地址:CUDA Toolkit Archive | NVIDIA Developer

根据你执行nvidia-smi显示的,CUDA Version:11.4,你只要下载的版本不超过这个提示版本就行了。

这里我们使用11.1.0的版本

有些推荐使用10.4版本的,其实你要根据你显卡的要求来定,比如我这个RTX3080就必须要有11.0以上版本才可以,所以我使用了11.1.0的版本。这个要根据你的实际情况来定。

安装时提示需要VS2019,这时你需要安装VS2019版本。然后安装好VS2019时你再安装CUDA,注意使用“自定义”安装,把所有的包都安装上去。

3、安装Visual Studio2019

下载地址:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

然后拉到最下面,点击较早的下载项:

然后输入你的微软件帐号和密码,进入后下载社区版就可以了。

安装VS2019时请勾选”Python开发”和“C++桌面开发”

曾在刚开始时用最新的VS2022,但是在安装pytorch后运行程序报错。所以又卸载掉VS2022安装了VS2019。

4、下载cuDNN

cuDNN下载地址:NVIDIA cuDNN | NVIDIA Developer

你需要有nvidia的帐号才能下载。

我这里使用cuDNN 8.1.0,下载后解压缩。

然后把,bin、include、lib都由考贝到:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1,把三个文件夹直截复制过去。

安装后测试是否安装成功:

打开cmd执行:

nvcc -V

这说明你安装成功了。

5、安装anaconda

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。

下载地址:Anaconda | Individual Edition

 6、创建虚拟环境

打开cmd执行

conda creat -n yolox_train python=3.8

安装成功后进入虚拟环境:

Conda activate yolox_train

安装python3.8主要是因为我的显卡驱动及cuda的版本要求python必须在3.7以上,所以选择了3.8版本的。

玩转conda的11大指令请见第三章第一节conda常用指令。

7、安装pytorch

打开PyTorch

选择你要安装的版本,这里我们总结一下,上面我们安装cuda11.1.0,cuDNN8.2.0,我们要找对应的pytorch版本,点击Previous versions of PyTorch,进入后,选择我们要安装的版本,你可以根据你的网络状况选择conda安装或pip安装。这我里用的是pip安装,下载了torch-1.8.1+cu111-cp38-cp38-win_amd64.whl,我先用迅雷下载下来,主要原因是网络速度太慢,往往安装一半就报错了,所以才选用下载工具下载后离线安装,当然如果你的网络状况好的情况下,也可以采用在线安装。然后执行:

pip install torch-1.8.1+cu111-cp38-cp38-win_amd64.whl   (注意这是下载后的文件名)

原执行指令为:

pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

【注】当然如果你使用tensorflow进行深度学习,在这一步你可以不用安装pytorch,因为我们这节讲的是yolox使用的是pytorch架构,所以这里必须安装pytorch。

二、YOLOX项目安装

1、克隆YOLOX并安装

git clone https://github.com/Megvii-BaseDetection/YOLOX.git

下载后,进入YOLOX目录执行

pip install -r requirements.txt -i

安装YOLOX

python setup.py develop

安装opencv-contrib-pyton

pip install opencv-contrib-python

2、下载模型权重文件

手动下载地址:https://github.com/Megvii-BaseDetection/YOLOX

下载yolox_s.pth,yolox_m.pth,yolox_l.pth,yolox_x.pth, yolox_darknet53.47.3.pth, yolox_nano.pth, yolox_tiny.pth权重文件,并放置在YOLOX/weights文件夹下。

 3、安装pycocotools

pip install cython

pip install pycocotools-windows

4、测试YOLOX图片

在项目目录进入cmd后进入我们创建的python环境:

conda activate yolox_train

然后执行:

python tools/demo.py image -n yolox-s -c weights/yolox_s.pth --path assets/dog.jpg --conf 0.3 --nms 0.65 --tsize 640 --save_result

结果输出:

YOLOX\YOLOX_outputs\yolox_s\vis_res

以上我们已经完成了YOLOX的搭建。下一节课我们使用YOLOX进行数据训练,课程内容如下:

《手把手教你玩转YOLOX--Windows(下)》

1、安装图像标注软件

2、图像标注

3、整理数据集

4、训练数据

5、测试

三:常用指令

  1. conda的常用指令

      (1)创建python环境

        conda create -n [环境名称]  python=3.8

      (2)显示conda的所有环境

         conda env list

      (3)进入某python环境

         conda activate [环境名]

       (4)删除某个python环境

         conda remove –name [环境名] --all

       (5)列出该环境安装的所有软件包

         conda list

         (6)查看镜像源

          conda config --show-sources

         (7)设置conda的镜像源

        以设置镜像源为清华大学的镜像源为例

         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 --set show_channel_urls yes

         (8)恢复conda默认镜像源

         conda config --remove-key channels

         (9)安装某个软件包

          conda install [软件包名]

         以安装numpy软件包为例

        Conda install numpy

        离线安装

        Conda install --offline numpy

        (10)卸载某个软件包

        conda uninstall [软件包名]

        以卸载numpy软件为例:

        conda uninstall numpy

       (11)Conda删除缓存文件

       conda clean -p

     2、pip的常用指令

     (1)安装软件包指令

      pip install [软件包名]

      pip install -r [文件名]

      (2)卸载软件包

      pip uninstall [软件包名]

      (3)离线安装

       pip install [软件包名] -i https://XXXXX.com

3、git下载

下载地址:https://git-scm.com/downloads

直接下载Download for Windows。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你玩转YOLOX--Windows(上) 的相关文章

  • 将音频从 PC 传输到智能手机?

    2016 年圣诞节 我和我爸爸想用灯光和灯光为我们的社区举办一场灯光秀music We have the lights set up but the music is a problem We don t want to put huge
  • 最后一个参数中的正斜杠会导致批处理文件目录(“%~dp0”)的路径发生更改

    我正在学习如何在批处理脚本中使用参数 并最终创建了某种用于读取参数和设置参数的模板 echo off SetLocal EnableDelayedExpansion set needextra set errstat set noflag
  • 在 Docker 中启动 tomcat 时无法在端口 8080 上打开网页

    在我的本地计算机 Windows 10 64 位 上 我启动 docker Toolbox 然后我拉取 Tomcat 映像并运行它 如下所示 docker run it tomcat 就跑成功了 31 Dec 2019 17 54 27 5
  • C++串口问题

    我在 Visual Studio 上使用 C 连接到任何串行端口 想要与 Arduino 交换 时遇到问题 我正在使用串行类 http www arduino cc playground Interfacing CPPWindows在 Ar
  • Windows 计算机上出现“来自守护程序的错误响应:无法创建填充程序:OCI 运行时创建失败”错误

    我正在尝试构建一个简单的 Python 映像 然后在 Windows 上以交互方式访问容器 构建过程有效 但运行容器失败 这是 Dockerfile FROM python 3 10 4 WORKDIR app 生成文件 IMAGE scr
  • 为什么我的文件路径中出现 Unicode 转义的语法错误? [复制]

    这个问题在这里已经有答案了 我想要访问的文件夹名为 python 位于我的桌面上 当我尝试访问它时出现以下错误 gt gt gt os chdir C Users expoperialed Desktop Python SyntaxErro
  • 如何在 PowerShell 中键入 TAB 字符?

    Task 默认情况下 在 Windows 命令提示符中按 TAB 键将输出文件名 而在 PowerShell 中则不会执行任何操作 我希望能够在交互模式下键入 TAB 字符 而不是通过脚本 Research 我在这个网站上和通过谷歌搜索发现
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • NtDll 真的导出 C 运行时函数吗?我可以在我的应用程序中使用这些函数吗?

    我在查看 Windows 10 计算机上的 NtDll 导出表 发现它导出标准 C 运行时函数 例如memcpy sprintf strlen etc 这是否意味着我可以在运行时动态调用它们LoadLibrary and GetProcAd
  • Windows Workflow Foundation 4 (WF4) 延迟

    我正在与 Visual Studio 2010 的候选版本一起使用 Wf4 编写一个用于批准资源请求的新工作流程 在我的工作流程中 如果请求未获得批准 我希望请求在几天后过期 我们在 WF 3 5 Visual Studio 2008 中通
  • 如何从任何进程关闭 Windows 上的套接字(ipv4 和 ipv6)连接?

    如何在 Windows 上关闭 tcp v4 和 tcp v6 连接 我不想终止具有开放连接的整个进程 因为这显然会将其他人踢出该进程 我需要从一个单独的进程执行此操作 因此无法访问套接字句柄等 我正在使用 Windows API 来获取
  • 更改desktop.ini不会在Windows中自动更新文件夹图标

    我使用此批处理脚本将所有文件夹和子文件夹的图标更改为位于文件夹中的 ico 文件 但是 资源管理器中的文件夹图标不会改变除非我手动重命名desktop ini将资源管理器中的文件更改为其他内容 然后返回desktop ini或者例如将字母更
  • 更改 mingw' 启动目录或创建 mingw 符号链接

    设置 mingw 控制台启动目录的最简单方法是什么 我只使用 mingw 进行编译 但由于缺乏编辑器甚至符号链接 我很困惑如何告诉 mingw 控制台出现在不同的目录而不是常规的主目录中 如果有人知道如何像 cygwin 那样将 真正的 符
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • Kerberos 双跳

    我们遇到了臭名昭著的 Kerberos 双跳问题 这是一个全新的域 是从以前使用模拟和委派的另一个提供商迁移而来的 我们已将操作系统升级到最新的 SQL 服务器 2017 WPF 应用程序 使用域凭据 gt Web 服务 IIS 10 上的
  • 需要 TensorFlow 依赖项。如何在 Windows 上运行 TensorFlow

    我有兴趣让 TensorFlow 在 Windows 上运行 但目前我意识到这是不可能的 因为某些依赖项无法在 Windows 上使用 例如巴泽尔 之所以出现这种需求 是因为据我目前了解 从 TensorFlow 访问 GPU 的唯一方法是
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用

随机推荐

  • Servlet开发环境搭建

    Servlet是属于JAVA EE的范畴 是以JAVA SE为基础的 所以我们首先要配置JAVA的环境 不熟悉如何配置JAVA环境的可以参考 JAVA环境变量配置 这里我们的开发工具选择Eclipse Web容器选择Tomcat eclip
  • CentOS 7 vs CentOS 6新特性

    1 CentOS7 简介 CentOS Community Enterprise Operating System 中文意思是 社区企业操作系统 是Linux发行版之一 它是来自于Red Hat Enterprise Linux依照开放源代
  • 修改IP 脚本

    echo off echo echo 1 地税外网 echo 2 地税内网 echo 3 公司 echo 4 自动获取 echo echo 选择你要设置的网络 set p x if x 1 goto a if x 2 goto b if x
  • css中align-self属性是什么

    css中align self属性是什么 1 align self属性定义flex子项单独在侧轴 纵轴 方向上的对齐方式 2 align self多了个auto 默认值 表示继承自flex容器的align items属性值 实例 CSS co
  • 深度学习(二十八)基于多尺度深度网络的单幅图像深度估计

    基于多尺度深度网络的单幅图像深度估计 原文地址 http blog csdn net hjimce article details 50569474 作者 hjimce 一 相关理论 本篇博文主要讲解来自2014年NIPS上的一篇paper
  • 微信收付通V3支付

  • Selenium3+Python3框架之生成测试报告并发送邮件

    coding utf 8 Time 2019 10 18 Author carl dj import os import unittest import time import HTMLTestRunner from email mime
  • 关于Linux重新安装java环境报错

    警告 jdk 8u181 linux x64 rpm 头V3 RSA SHA256 Signature 密钥 ID ec551f03 NOKEY 准备中 100 软件包 jdk1 8 2000 1 8 0 181 fcs x86 64 已经
  • SpringMVC:从入门到精通,7篇系列篇带你全面掌握--六.JSON处理和全局异常处理

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于SpringMVC的相关操作吧 目录 Welcome Huihui s Code World 前言 一 SpringMVC中json数据的处理 1 导入相关依
  • Unity 性能优化总结

    影响性能的因素 造成游戏性能瓶颈的主要原因分成以下几个方面 1 CPU 1 过多的 draw call 2 复杂的脚本或者物理模拟 2 GPU 1 顶点处理 过多的顶点 过多的逐顶点计算 2 片元处理 过多的片元 既可能是由于分辨率造成的
  • bubbo调用Failed to invoke remote method异常解决

    bubbo调用服务异常 com alibaba dubbo rpc RpcException Failed to invoke remote method getPlanFlowInfo provider dubbo 10 20 30 16
  • Tez 简介

    目录 一 Tez简介 二 Tez UI界面 三 Tez 日志 一 Tez简介 1 1 Tez 是支持 DAG 作业的开源计算框架 它可以将多个有依赖的作业转换为一个作业从而大幅提升 DAG 作业的性能 从本质上讲 Tez 组成非常简单 数据
  • asm: 实现打印“Hello, world!“

    使用汇编打印 Hello world 实现打印 Hello world 的汇编代码 代码详细剖析 实现打印 Hello world 的汇编代码 我们来直接贴代码 section text global start start mov edx
  • 【华为OD机试真题 JAVA】可以组成网络的服务器

    JS版 华为OD机试真题 JS 可以组成网络的服务器 标题 可以组成网络的服务器 时间限制 1秒 内存限制 262144K 语言限制 不限 在一个机房中 服务器的位置标识在 n m 的整数矩阵网格中 1 表示单元格上有服务器 0 表示没有
  • UI页面切换按钮随页面切换缩放

    选中按钮放大其余按钮缩小的 效果 using System Collections using System Collections Generic using UnityEngine public class BottomBarBtn M
  • No module named cv2 报错处理

    运行python脚本出现 No module named cv2 这时我们安装下opencv python依赖即可 python3 m pip install opencv python 转载于 https www cnblogs com
  • flutter for循环removeAt(i)数据遇到的问题

    通常都是for循环遍历从前往后顺序 这时候遇到符合条件的通过下标把该数据删掉 for int i 0 i lt 40 i if i 2 removeAt i 删一个数据不会出问题 如果要删多个数据就会有问题了 比如i为0时删了列表第一个 那
  • Windows安装Linux子系统

    win10更新了安装linux子系统的步骤 使之更加方便 只需要在CMD运行命令 wsl install 当然这会涉及很多默认的选项 Windows 命令提示符中输入以下命令 找到可供安装的 Linux 发行版列表 wsl list onl
  • LSPosed 安装教程(LSP框架安装教程)

    1 下载LSPosed模块 CSDN下载 Riru 版 LSPosed Riru Zygisk版 LSPosed Zygisk 或 github下载 LSPosed GitHub 2 打开Magisk 设置 开启 Zygisk 3 打开面具
  • 手把手教你玩转YOLOX--Windows(上)

    旷视开源的YOLOX其性能超越 YOLOv3 YOLOv4 和 YOLOv5 应不少小伙伴的要求 我在这里用手把手教学的方式展示一下YOLOX的搭建 上篇 下一篇将着重介绍YOLOX如何进行模型的训练 进阶篇介绍YOLOX的原理 代码讲解及