人工智能学习07--pytorch23--目标检测:Deformable-DETR训练自己的数据集
参考
https://blog.csdn.net/qq_44808827/article/details/125326909https://blog.csdn.net/dystsp/article/details/125949720?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-125949720-blog-125326909.235^v38^pc_relevant_sort_base2&spm=1001.2101.3001.4242.1&utm_relevant_index=3https://blog.csdn.net/m0_49752107/article/details/129887028https://www.jianshu.com/p/b364534fd0a7https://blog.csdn.net/u010826850/article/details/117325848https://pytorch.org/get-started/previous-versions/
环境准备
1、pytorch
conda create -n deformable_detr python=3.9 pip
2、激活环境
conda activate deformable_detr
3、torch
# CUDA 11.6
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116
# CUDA 11.3
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
4、其他的库
pip install -r requirements.txt
5、编译CUDA
cd ./models/ops
sh ./make.sh
#unit test (should see all checking is True)
python test.py (我没运行这一步)

主要是MultiScaleDeformableAttention包,如果中途换了torch版本,需要重新编译cuda,得到一个新的这个包,不然报错。
准备数据集
1、把自己的数据集放在coco文件夹里面

或者改改这里:

2、在main.py文件里面改分类数

deformable-detr 也是需要一个背景类,num_class+1

3、pth预训练文件
r50上coco数据集训练结果文件
要翻墙,或者:
下载链接:https://download.csdn.net/download/u010826850/21980492
好人一生平安
4、根据自己的数据集修改pth
新建一个文件:

5、main.py

改成这样:

7、修改参数

8、问题解决
参考其他博主博文里的

相关文章:
人工智能学习07--pytorch23--目标检测:Deformable-DETR训练自己的数据集
参考 https://blog.csdn.net/qq_44808827/article/details/125326909https://blog.csdn.net/dystsp/article/details/125949720?utm_mediumdistribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-125949720-blog-125326909.235^v38^pc_releva…...
Statefulset 实战 1
上一部分与大家分享到 Statefulset 与 RplicaSet 的区别,以及 Statefulset 的特点,能做的一些事情及一些注意事项 现在我们来尝试使用 Statefulset 来部署我们的应用,我们可以需要有应用程序,然后有持久化卷 开始使用 Statefuls…...
没有jodatime,rust怎么方便高效的操作时间呢?
关注我,学习Rust不迷路!! 当使用Rust进行日期操作时,可以使用 chrono 库。下面给出了二十个常见的日期操作的例子: 1. 获取当前日期和时间: use chrono::prelude::*;let current_datetime Local::now()…...
如何把pdf转成cad版本?这种转换方法非常简单
将PDF转换成CAD格式的优势在于,CAD格式通常是用于工程设计和绘图的标准格式。这种格式的文件可以在计算机上进行编辑和修改,而不需要纸质副本。此外,CAD文件通常可以与其他CAD软件进行交互,从而使得工程设计和绘图过程更加高效和精…...
MySQL常用函数方法
字符串函数 函数描述举例left(str, length)从左开始截取字符串,截取length个left(2023-08-04, 7) 2023-08right(str, length)从右开始截取字符串,截取length个 right(2023-08-04, 5) 08-04 substring(str, pos, length) substring(被截取字…...
Linux命令200例专栏导读:实用指南助你成为Linux大师
🏆作者简介,黑夜开发者,全栈领域新星创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已…...
ICN6202 MIPIDSI转LVDS桥接芯片的功能及特征 调试文档资料
产品特征功能: 输入:MIPI DSI 支持MIPI D-PHY Version 1.00.00 和 MIPI DSI Version 1.02.00. 可接收MIPI DSI 18bpp RGB666 and 24bpp RGB888 packets 4 lane data1 lane clock 4对数据线可以选择1、2、3、4lane data 每对差分数据传输线最大可…...
vscode 格式问题
1、EditorConfig for VS Code 插件 shift alt f 格式化文件(VS Code格式化按键),如下图,每个缩进4空格 代码如下 创建文件名 .editorconfig root true [*] charset utf-8 indent_style space indent_size 2 end_of_…...
OPENCV C++(三)二值化灰度函数+调用摄像头+鼠标响应+肤色检测
RGB转灰度函数 cvtColor(image, gray, COLOR_BGR2GRAY); 图像 目标图像 rgb转灰度 大津法二值化函数 threshold(gray, result1, 84, 255, THRESH_OTSU); 灰度图,目标图,阈值,大于阈值的转换的像素值,方法为大津法 自适应二值…...
zabbix简易入门:基本的网络监控、WEB监控
需求背景: 我们越来越发现:网络越来越复杂,网络、应用、云端……故障点随时可能发生,而我们不能人工盯着所有的问题,所以,网管软件是必须的。那么没有预算的情况下,我们只好自己布署简单的…...
51单片机学习--DS1302可调时钟
之前学习过用定时器做的时钟,但是那样不仅误差大还费CPU,接下来利用DS1302时钟模块做一个可调实时时钟 这一次直接编写DS1302模块,首先要在DS1392.c 中根据下面的模块原理图进行位声明: sbit DS1302_SCLK P3^6; sbit DS1302_IO …...
Matlab统计字符串中共有多少种字符以及每种字符出现次数的功能实现(Matlab R2021a)
在做2023年深圳杯B题的时候,需要使用隐写技术(将特定信息嵌入信息载体且不易被察觉,可被广泛地应用于著作权保护、数据附加等领域)将《中华人民共和国著作权法》全篇10314个字符写入图片,首先我想到的是利用霍夫曼编码…...
HTTPS文件传输
目录 0.https概述1.单钥匙锁2.双钥匙锁 - 防篡改3.双钥匙锁 - 防泄漏4.单双钥匙锁相互配合 0.https概述 HTTPS其实就是HTTP协议加上TLS/SSL,SSL是个加密套件,负责对HTTP的数据进行加密,TLS是SSL的升级版,现在提到HTTPS࿰…...
LOL-v2数据集和VE-LOL数据集的区别
LOL-v2数据集和VE-LOL数据集的区别 LOL-v2 LOL-v2数据集[64]包括两个不同的子集,即LOL-v2-real和LOL-v2-synthetic。LOL-v2-real子集是通过改变ISO和曝光时间在真实场景中捕获的,包括689对用于训练和测试的图像。在LOL-v2-synthetic子集中,…...
RabbitMQ(一) - 基本结构、SpringBoot整合RabbitMQ、工作队列、发布订阅、直接、主题交换机模式
RabbitMQ结构 Publisher : 生产者 Queue: 存储消息的容器队列; Consumer:消费者 Connection:消费者与消息服务的TCP连接 Channel:信道,是TCP里面的虚拟连接。例如:电缆相当于TCP,信道是一条独立光纤束&…...
涉及IMU的专业术语
文章目录 零偏维纳过程/布朗运动随机游走航迹推算 零偏 IMU(惯性测量单元)是一种用于测量物体在空间中的加速度和角速度的装置。它通常由加速度计和陀螺仪组成,这些传感器可以帮助确定物体的运动状态和方向。 在IMU中,“零偏”&…...
二维数组对角线判断
二维数组对角线判断 对于两个点(x1, y1)和(x2, y2)。如何判断二者是否在同一条正对角线,反对角线,或者正或反对角线上? 正对角线判断 x2-x1 y2 -y1 证明:任意一点(x1k, y1k),(k…...
数据可视化(六)多个子图及seaborn使用
1.多个子图绘制 #绘制多个子图 #subplot(*args,**kwargs) 每个subplot函数只能绘制一个子图 #subplots(nrows,ncols) #fig_add_subplot(行,列,区域) #绘制子图第一种方式 plt.subp…...
opencv-34 图像平滑处理-双边滤波cv2.bilateralFilter()
双边滤波(BilateralFiltering)是一种图像处理滤波技术,用于平滑图像并同时保留边缘信息。与其他传统的线性滤波方法不同,双边滤波在考虑像素之间的空间距离之外,还考虑了像素之间的灰度值相似性。这使得双边滤波能够有…...
Leetcode 268. Missing Number
Problem Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array. Algorithm Sum all the numbers as x x x and use n ( n 1 ) 2 − x \frac{n(n1)}{2} - x 2n(n1)−x. Code …...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...
