pytorch_retinaface训练Resnet50_Final.pth过程+无图版安装Nvidia+CUDA驱动GPU

news2025/1/23 3:03:09

在这里插入图片描述

背景

当前处于人脸检测分支,项目就是retinaface官方的代码加上数据集目录结构,目的是训练出最后的模型文件Resnet50_Final.pth

代码

https://gitee.com/congminglst/pytorch_-retinaface.git

项目结构与设计

图片数据集采用widerface,
前四个代表的是人脸框的坐标,其中前两个表示左上角坐标,后两个表示宽高,后面每三个数字为一组,每组前两个数字代表5个特征点xy位置,眼镜,鼻子,嘴角,第三个数字,1代表遮挡,0代表不遮挡,最后一个好像是置信度
在这里插入图片描述

import cv2
import numpy as np

image_path = "data/widerface/train/images/0--Parade/0_Parade_marchingband_1_117.jpg"

# 读取图像
image = cv2.imread(image_path)

# 检查图像是否成功加载
if image is None:
    print(f"Error: Unable to load image from {image_path}")
    exit(1)

# 输入数据
input_str = """
69 359 50 36 92.232 391.397 1.0 94.451 377.451 1.0 103.326 386.326 0.0 109.348 388.228 0.0 109.348 377.134 0.0 0.53
227 382 56 43 244.0 399.0 1.0 248.0 418.0 1.0 238.0 412.0 0.0 234.0 405.0 0.0 237.0 416.0 0.0 0.5
296 305 44 26 324.0 318.0 1.0 324.0 330.0 1.0 316.0 329.0 0.0 308.0 320.0 0.0 307.0 331.0 0.0 0.4
353 280 40 36 371.737 295.464 1.0 379.116 302.844 1.0 370.464 304.879 1.0 360.54 306.152 1.0 367.665 312.513 1.0 0.4
885 377 63 41 919.076 401.371 1.0 915.103 413.29 1.0 907.951 407.33 1.0 899.607 395.808 0.0 896.429 406.536 0.0 0.66
819 391 34 43 838.0 431.0 1.0 842.0 416.0 1.0 847.0 425.0 0.0 849.0 421.0 1.0 849.0 414.0 1.0 0.49
727 342 37 31 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 0.5
598 246 33 29 609.0 266.0 0.0 616.0 259.0 0.0 615.0 269.0 0.0 618.0 273.0 0.0 625.0 268.0 0.0 0.29
740 308 45 33 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 0.48
"""

# 将输入字符串按行分割
lines = input_str.strip().split('\n')

# 遍历每行
for line in lines:
    # 将每行按空格分割,获取所有数字
    values = line.split()

    # 提取前4个数字,代表框的范围
    box = [int(values[i]) for i in range(4)]

    # 将浮点数列表分组成(x, y)坐标对,每组保留第12个数字,去掉第3个数字,直到第19个数字
    keypoints = [(float(values[i]), float(values[i + 1]), float(values[i + 2])) for i in range(4, 19, 3)]

    # 将坐标转换为整数
    keypoints = np.array(keypoints, dtype=np.int32)

    # 遍历关键点,使用不同颜色进行标记
    for point in keypoints:
        if point[2] == 1.0:
            cv2.circle(image, (point[0], point[1]), 5, (0, 0, 255), -1)  # 红色
        else:
            cv2.circle(image, (point[0], point[1]), 5, (0, 255, 0), -1)  # 绿色

    # 在图像上绘制边界框
    cv2.rectangle(image, (box[0], box[1]), (box[0] + box[2], box[1] + box[3]), (0, 0, 255), 2)

# 显示图像
cv2.imshow("Bounding Box and Key Points", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码反向生成特征点,不难了解到如何标定之后的图片文件,就是按照上述规则,用ImageMe标定,标定请参考https://blog.51cto.com/u_16213620/7447622
在这里插入图片描述

项目目录结构如下所示
在这里插入图片描述

这里调整config.py的batch_size保证其能跑动,就行了
在这里插入图片描述
训练数据集跑train.py,修改这一行换成是你文件的路径即可

parser.add_argument('--training_dataset', default='./data/widerface/train/label.txt', help='训练数据集目录')

最后跑出的结果是
在这里插入图片描述

安装依赖过程

Windows环境

CUDA安装
步骤 1:检查 GPU 和驱动
确保你的计算机上有 NVIDIA GPU,并且已经安装了最新的 NVIDIA 显卡驱动程序。你可以在 NVIDIA 的官方网站上下载并安装最新的显卡驱动程序。

你可以通过以下步骤从 NVIDIA 的官方网站下载并安装最新的显卡驱动程序:
步骤 1:确定显卡型号
a. 打开系统的设备管理器。
■ 在 Windows 10 中,你可以右键点击“开始”按钮,选择“设备管理器”。
■ 在 Windows 7 中,你可以通过控制面板找到“设备管理器”。
b. 展开“显示适配器”部分,找到你的 NVIDIA 显卡。在此处你可以看到你的显卡型号。
步骤 2:访问 NVIDIA 驱动程序下载页面
a. 打开你的网络浏览器,访问 NVIDIA 驱动程序下载页面(https://www.nvidia.com/Download/index.aspx)。
b. 在 “自动查找” 部分,NVIDIA 会自动检测你的显卡型号并为你推荐适用的驱动程序。如果你的浏览器支持,可以选择 “开始下载”。
步骤 3:手动选择显卡型号
如果自动检测无法使用,你可以手动选择显卡型号:
a. 在 “手动搜索” 部分,选择显卡系列、型号和操作系统。
b. 点击 “搜索”。
步骤 4:下载驱动程序
a. 在搜索结果中,找到适用于你的操作系统和显卡型号的最新驱动程序。
b. 点击 “下载” 按钮。
步骤 5:安装驱动程序
a. 下载完成后,运行下载的 .exe 文件。
b. 在安装过程中,你可以选择 “自定义安装” 以进行更详细的设置,或选择 “快速安装” 以使用默认选项。
c. 完成安装后,可能需要重新启动计算机。
请注意:在安装新驱动程序之前,建议卸载旧版本的 NVIDIA 显卡驱动程序,以确保系统的稳定性。你可以在 “控制面板” > “程序” > “卸载程序” 中找到并卸载旧版本的 NVIDIA 驱动程序。
安装完成后,你的 NVIDIA 显卡将能够充分发挥性能,并支持最新的特性和优化。
步骤 2:下载 CUDA Toolkit
● 访问 NVIDIA 官方网站的 CUDA Toolkit 下载页面:NVIDIA CUDA Toolkit Downloads(https://developer.nvidia.com/cuda-12-1-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local)。
● 在 “Operating System” 下拉菜单中选择 “Windows”。
● 在 “Architecture” 下拉菜单中选择适用于你的 GPU 架构的版本(通常选择 x86_64)。
● 选择适用于你的操作系统的安装类型(通常选择 “exe (local)”)。
● 点击 “Download” 按钮。
步骤 3:安装 CUDA Toolkit
● 运行下载的 CUDA Toolkit 安装程序。
● 按照安装向导的步骤进行操作。在安装过程中,你可以选择是否安装 GPU 驱动、CUDA Toolkit 和其他组件。
● 安装好后的截图

步骤 4:设置环境变量
● 添加 CUDA Toolkit 的 bin 目录到系统的 PATH 环境变量。通常,这个目录是 ,其中 X.Y 是 CUDA Toolkit 的版本号。
● 添加 CUDA Toolkit 的 libnvvp 目录到系统的 PATH 环境变量。通常,这个目录是 。
● 配置完环境变量如下图:

步骤 5:验证安装
● 打开命令提示符(cmd)。
● 输入以下命令,检查 CUDA 是否正确安装:
nvcc --version

nvidia-smi

如果以上命令执行没有问题,且显示了 CUDA 版本和 GPU 信息,那么 CUDA 就已经在你的 Windows 环境中成功安装了。
成功后的控制台输出为下图:

请注意,安装 CUDA 可能需要重新启动计算机。此外,确保你的项目或框架(例如 PyTorch pip install torch1.13.1+cu116 torchvision0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116或 TensorFlow)与安装的 CUDA 版本兼容。在使用这些框架时,通常可以在官方文档中找到有关与 CUDA 版本匹配的信息。

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

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

相关文章

STM32CubeIDE基础学习-STM32CubeIDE软件快捷键介绍

STM32CubeIDE基础学习-STM32CubeIDE软件快捷键介绍 文章目录 STM32CubeIDE基础学习-STM32CubeIDE软件快捷键介绍前言第1章 查看快捷键方法第2章 设置快捷键方法第3章 常用快捷键示例总结 前言 这个STM32CubeIDE软件使用的是Eclipse框架的开发环境,所以所使用的快捷…

AntV L7初体验

本案例使用L7库和Mapbox GL JS创建的简单地图可视化示例&#xff0c;加载点数据。 文章目录 1. 引入 CDN 链接2. 导出模块3. 创建地图3.1. 注册 token3.2. 创建地图实例 4. 创建场景5.创建点图层6. 演示效果7. 代码实现 1. 引入 CDN 链接 <!-- 1.引入CDN链接 --> <!--…

泰迪智能科技-2024年高校大数据人才培养探索模式

随着数字经济的高速发展&#xff0c;对于大数据人才的需求日益增长。产业数字化和数字产业化之间的关系&#xff0c;已经成为推动社会发展的关键。为此&#xff0c;高校及产业界需要紧密配合&#xff0c;以培养出符合时代需求的大数据人才。 数字产业化与产业数字化高速发…

HarmonyOS NEXT应用开发案例集

概述 随着应用代码的复杂度提升&#xff0c;为了使应用有更好的可维护性和可扩展性&#xff0c;良好的应用架构设计变得尤为重要。本篇文章将介绍一个应用通用架构的设计思路&#xff0c;以减少模块间的耦合、提升团队开发效率&#xff0c;为开发者呈现一个清晰且结构化的开发…

windows11配置电脑IP

windows11配置电脑IP 选择"开始>设置>“网络&Internet >以太网”。在 "属性"下&#xff0c;编辑IP地址&#xff0c;子网掩码&#xff0c;网关以及DNS。

Qt ini配置文件

ini文件用于保存用户的设置操作&#xff0c;下列以背景颜色设置为例子 暂时默认设置为白色背景 这段代码放置在主窗口的构造函数中&#xff0c;用于初始化读取ini文件 QString color;QSettings *set new QSettings("color.ini",QSettings::IniFormat);set->begi…

《探索虚拟与现实的边界:VR与AR谁更能引领未来?》

引言 在当今数字时代&#xff0c;虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;技术正以惊人的速度发展&#xff0c;并逐渐渗透到我们的日常生活中。它们正在重新定义人与技术、人与环境之间的关系&#xff0c;同时也为各行各业带来了全新的可能性。…

学术论文GPT的源码解读与二次开发:从ChatPaper到gpt_academic

前言 本文的前两个部分最早是属于此旧文的《学术论文GPT的源码解读与微调&#xff1a;从ChatPaper到七月论文审稿GPT第1版》&#xff0c;但为了每一篇文章各自的内容更好的呈现&#xff0c;于是我今天做了以下三个改动 原来属于mamba第五部分的「Mamba近似工作之线性Transfor…

【YOLO v5 v7 v8 v9小目标改进】RevCol:解决深度学习信息从低层(输入)传递至高层(输出)的过程中,信息会逐层丢失问题

RevCol&#xff1a;解决深度学习信息从低层&#xff08;输入&#xff09;传递至高层&#xff08;输出&#xff09;的过程中&#xff0c;信息会逐层丢失问题 学习解耦表示可逆列网络&#xff08;RevCol&#xff09;子特征1&#xff1a;多级可逆单元子特征2&#xff1a;可逆列架构…

实践航拍小目标检测,基于YOLOv7【tiny/l/x】不同系列参数模型开发构建无人机航拍场景下的小目标检测识别分析系统

关于无人机相关的场景在我们之前的博文也有一些比较早期的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《deepLabV3Plus实现无人机航拍目标分割识别系统》 《基于目标检测的无人机航拍场景下小目标检测实践》 《助力环保河道水质监测&#xff0c;基于yolov…

LLM | GPT-NEOX论文详解

GPT-NEOX使用旋转位置编码。模型权重使用float16表示。最大序列长度为2048。 论文题目&#xff1a;2022.04.14_GPT-NeoX-20B: An Open-Source Autoregressive Language Model 论文地址&#xff1a;2204.06745.pdf (arxiv.org) 论文代码&#xff1a;EleutherAI/gpt-neox: An imp…

初次安装WordPress后如何进行网站设置(主题安装、插件安装、网站美化、网站备份、安全性提升、伪静态、多域名设置等)WordPress网站常见问题设置指南

专栏地址: WordPress建站主题美化系列教程https://blog.csdn.net/seeker1994/category_12184577.html 一文搞懂WordPress是什么?为什么用它建站?怎么安装与部署? 使用腾讯云快速搭建WordPress网站流程详解 ...... 1. 前言 专栏上几篇文章介绍了小白零基础如何使用腾讯…

Golang的Channel源码阅读、工作流程分析。

Channel整体结构 源码位置 位于src/runtime下的chan.go中。 Channel整体结构图 图源&#xff1a;https://i6448038.github.io/2019/04/11/go-channel/ Channel结构体 type hchan struct {qcount uint // total data in the queuedataqsiz uint // si…

09 |「ViewPager」

前言 实践是最好的学习方式&#xff0c;技术也如此。 文章目录 前言一、ViewPager 简介二、ViewPager 与 Fragment 结合1、ViewPager Fragment 实现底部页面导航2、ViewPager Fragment BottomNavigationView 实现底部页面导航3、ViewPager Fragment TabLayout 实现底部页面…

分类算法(Classification algorithms)

逻辑回归(logical regression&#xff09;&#xff1a; 逻辑回归这个名字听上去好像应该是回归算法的&#xff0c;但其实这个名字只是在历史上取名有点区别&#xff0c;但实际上它是一个完全属于是分类算法的。 我们为什么要学习它呢&#xff1f;在用我们的线性回归时会遇到一…

WPF 自定义彩色控制台功能

文章目录 前言环境流内容一个简单的控制台 自动添加数据无法添加数据模板代码添加参数简单的案例添加和清空功能完善代码 额外功能添加移动到底部添加样式 总结 前言 在WPF中添加模拟控制台&#xff0c;可以试试的看到最新的日志信息。但是普通的TextBlock只是纯粹的黑色&…

【C++】十大排序算法之 堆排序 计数排序

本次介绍内容参考自&#xff1a;十大经典排序算法&#xff08;C实现&#xff09; - fengMisaka - 博客园 (cnblogs.com) 排序算法是《数据结构与算法》中最基本的算法之一。 十种常见排序算法可以分为两大类&#xff1a; 比较类排序&#xff1a;通过比较来决定元素间的相对次序…

腾轩科技传媒讲解律师事务所创建百度词条的流程

在当今信息爆炸的时代&#xff0c;律师事务所需要在互联网上留下自己的痕迹&#xff0c;为了提升品牌知名度和业务曝光度&#xff0c;很多律师事务所选择在百度百科创建词条。但是&#xff0c;创建词条并不是一件简单的事情&#xff0c;需要注意许多细节和规定。本文腾轩科技传…

美国站群服务器使用技巧与注意事项

美国站群服务器使用技巧与注意事项有哪些?RAKsmart小编为您整理发布美国站群服务器使用技巧与注意事项&#xff0c;希望对您有帮助。 美国站群服务器的使用技巧主要包括远程管理、灵活配置和备份还原&#xff0c;具体如下&#xff1a; 1. **远程管理**&#xff1a;用户可以通过…

SpringBoot集成ElasticSearch(ES)

ElasticSearch环境搭建 采用docker-compose搭建&#xff0c;具体配置如下&#xff1a; version: 3# 网桥es -> 方便相互通讯 networks:es:services:elasticsearch:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/elasticsearch:7.14.1 # 原镜像elasticsearch:7.…