相机- yolo训练集 环境搭建

一、环境准备

运行cmd执行python --version 检查是否安装成功
在这里插入图片描述
安装pip,打开运行指令 python -m ensurepip --upgrade
打开官网,下载get_pip.py
在这里插入图片描述
运行cmd 运行指令python get-pip.py
运行cmd 运行指令 pip --version
在这里插入图片描述
显示pip版本即安装成功

根据上面获取的相机序号,在python中通过cv2操作相机设备,参考如下脚本

import cv2
def videocapture():#调用摄像头‘0’一般是打开电脑自带摄像头,‘1’是打开外部摄像头(只有一个摄像头的情况)cap = cv2.VideoCapture(1)
if False == cap.isOpened():print('Error: 无法打开相机,请检查相机是否已连接?')return#设置图像宽高,必须与相机分辨率一致,否则无法显示cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1440)cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)# 设置帧率cap.set(cv2.CAP_PROP_FPS , 15)# 显示图像while True:ret, frame = cap.read()frame_1 = cv2.resize(frame , (640 , 512))cv2.imshow("frame", frame_1)input = cv2.waitKey(1)if input == ord('q'):breakcap.release()  # 释放摄像头cv2.destroyAllWindows()  # 销毁窗口if __name__ == '__main__' :videocapture()

二、YOLOX 安装

1、yolox源码下载

git clone https://github.com/Megvii-BaseDetection/YOLOX.git
pip3 install -v -e .  # or  python3 setup.py develop

2、安装 python 依赖包

 安装 vcpkg (windows)
git clone https://github.com/microsoft/vcpkg.\vcpkg\bootstrap-vcpkg.bat
安装protoc、protobuf
#1 使用vcpkg 安装 protobuf
vcpkg install protobuf
#1 安装 protobuf
pip3 install protobuf==3.20.1
 安装yolox依赖

cd 到 yolox 目录下,注释掉 requirements.txt 中的torch、torchvision、onnx相关行如下
在这里插入图片描述

pip3 install -r requirements.txt

1. 安装 cuda

cuda是Nvidia显卡配套的软件,只支持Nvidia显卡。
带Nvidia独显的电脑一般已经安装好cuda,可通过执行命令 nvidia-smi 检查
在这里插入图片描述
执行nvidia输出类似上述的界面,则表明已自带cuda,不需再安装cuda。

如果未自带cuda,可参考如下链接安装:

https://blog.csdn.net/m0_45447650/article/details/123704930

三、模型训练

1. 基于预训练模型训练

# 命令格式: 
#        python -m tools.train -n 模型 -d 显卡数量 -b batch_size --fp16 \
#                           -o -c 预训练模型路径
# 模型可选 yolox-m、yolox-l、yolox-x等
# 显卡数量 不能大于实际数量
python -m tools.train -n yolox-s -d 1 -b 16 --fp16 -o -c /home/common/standard_retrained_models/yolox_s.pth

2. 不基于预训练模型训练

# 命令格式: 
#        python -m tools.train -n 模型 -d 显卡数量 -b batch_size --fp16
# 模型可选 yolox-m、yolox-l、yolox-x等
# 显卡数量 不能大于实际数量
python -m tools.train -n  yolox-s -d 1 -b 8 --fp16

3. 分布式训练

以2台机器使用预训练模型为例

3.1 master 机器

# 命令格式: #        python -m tools.train -n 模型 -d 显卡数量 -b batch_size --fp16
#                --dist-url tcp://mater_ip:端口 --dist-backend 后端 \
#                --num_machines 机器数量 --machine_rank 机器序号
# 模型可选 yolox-m、yolox-l、yolox-x等
# 显卡数量 不能大于实际数量
# 机器序号(0代表master)
# --dist-backend 后端 \
python -m tools.train -n yolox-s -d 1 -b 16 --fp16 \-o -c ./pretrained_models/yolox_s.pth \--dist-backend gloo --dist-url tcp://10.0.84.234:12315 \--num_machines 2 --machine_rank 0

3.2 slave 机器

# 命令格式: 
#        python -m tools.train -n 模型 -d 显卡数量 -b batch_size --fp16
#                --dist-url tcp://mater_ip:端口 --dist-backend 后端 \
#                --num_machines 机器数量 --machine_rank 机器序号
# 模型可选 yolox-m、yolox-l、yolox-x等
# 显卡数量 不能大于实际数量
# 机器序号(0代表master,非0值代表slave,要与实际的机器数量一致,如3台机器,0代表master,则slave是1或2)
# mater_ip:端口 要与 master保持一致
python -m tools.train -n yolox-s -d 1 -b 16 --fp16 \-o -c ./pretrained_models/yolox_s.pth \--dist-backend gloo --dist-url tcp://10.0.84.234:12315 \--num_machines 2 --machine_rank 1

四、模型使用

1、图片识别

python tools/demo.py image -n yolox-s -c /path/to/your/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]

2、视频

python tools/demo.py video -n yolox-s -c /path/to/your/yolox_s.pth --path /path/to/your/video --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]

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

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

相关文章

111、基于51单片机的电磁感应无线充电系统 手机无线充电器设计(程序+原理图+Proteus仿真+程序流程图+论文参考资料等)

方案选择 单片机的选择 方案一:AT89C52是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元…

【LeetCode热题100】打卡第32天:最长连续序列只出现一次的数字单词拆分环形链表

文章目录 【LeetCode热题100】打卡第32天:最长连续序列&只出现一次的数字&单词拆分&环形链表⛅前言 最长连续序列🔒题目🔑题解 只出现一次的数字🔒题目🔑题解 单词拆分🔒题目🔑题解…

mysql管理

目录 一、数据库的组成 1.数据 (Data) 2. 表 3. 数据库 二、数据库系统 1.数据库管理系统(DBMS) 2. 数据库系统(DBS) 3. DBMS的工作模式 三、数据库系统发展史 1.第一代数据库(人工管理) 2. 第二代数据库&#xff08…

C++线性表、单链表

概述 在先说链表前,我们先来理清几个概念。 什么是线性表、顺序表和链表?三者有什么关系? 线性表:元素线性排列,在逻辑上具有次序的存储结构。 顺序表:线性表的顺序存储称为线性表。它是用一组地址连续(逻…

Windows server 2012服务器远程桌面登录时出现错误提示:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断

简单粗暴: Windows server 2012服务器远程桌面登录时出现错误提示:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系 使用 mstsc /admin /v:目标ip 来强制登录服务器,但只能是管理员身份…

【C++修炼之路】31.异常

每一个不曾起舞的日子都是对生命的辜负 异常 一.C语言传统的处理错误的方式二.C异常概念三.异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3 异常安全3.4 异常规范 四.自定义异常体系五.C标准库的异常体系六.异常的优缺点 一.C语言传统的处理错误的方式 传统的错误处理机…

Appium+python自动化(一)- 环境搭建—上(超详解)

最近整理了一下自动化的东西,先前整理的python接口自动化已经接近尾声。即将要开启新的征程和篇章(Appium&python)。那么首相的问题就是搭建环境了。好久没搭建环境又踩了不少坑,appium的环境搭建比较繁琐,好多同行…

picard安装时报错“Exception in thread “main“ java.lang.UnsupportedClassVersionError”

最近在通过GATK所介绍的best practice流程来call SNP流程 1.流程 1.1 BWA比对,获得sam文件 1.2 准备用picard来压缩排序sam文件为bam文件,并对bam文件进行去重复(duplicates marking) 这是就需要用到picard软件 按照教程网页上…

Centos安装指定docker版本和docker-compose

目录 一. 直接安装Docker最新镜像源 1. 卸载旧版本的Docker: 2. 安装依赖包: 3. 添加Docker源: 4. 安装Docker: 5. 启动Docker服务: 6. 验证Docker是否安装成功: 二、指定Docker版本安装 1. 查看…

软件设计模式与体系结构-软件体系-调用-返回风格软件体系结构

目录 软件体系结构概述概述 一、调用-返回风格软件体系结构概念代码主程序-子程序软件体系结构自顶向下的设计方法的问题结构化设计的优缺点面向对象体系结构面向对象设计的优缺点主程序-子程序与面向对象体系结构相似差异 课程作业 软件体系结构概述 调用-返回风格软件体系结…

论文 | 一分钟快速找到自己研究领域的核心期刊

进入知网官网 https://www.cnki.net/ 点击搜索框右边的:出版物检索 鼠标放到顶部的 出版来源导航 旁边的倒三角上 选择期刊导航: 点击核心期刊导航 找到自己感兴趣的领域 点进去就可以看到该期刊中发表的论文:

ChatGPT训练流程

图源:State of GPT - Microsoft Build 笔者翻译上图如下: 阶段子阶段目标备注Pre-Training--------语言建模Instruction Finetuning---------让模型能够理解自然语言指令RLHFReward Modeling奖励建模,用来代替人工打分,降低标注…