自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

原创 yolov12训练

上面的数据增强部分要深思,要根据实际数据的特点和情况进行修改。1、ultralytics版本为8.3.179。2、设置yaml配置文件(注意文件夹目录格式)3、训练文件,注意训练参数。

2025-08-21 09:01:39 145

原创 win11(RTX5060)下进行nanodetplus训练

cuda版本非常重要,一定要选择12.8版本或以上的,否则报其他稀奇古怪的错误(重点)从github中选择tag为1.0.0版本,遇到下面bug,修改代码。选择版本号版本,不要选择带年份的,可以自动把路径添加Path中。nvidia驱动选择最新版,后期都能兼容,省的去修改。对于pytorch-lightning进行安装。其他包安装要求装就行(可以用清华源进行安装)装pytorch的gpu版本。2、装nvidia驱动和cuda。4、nanodet进行测试。1、Anconda部署。

2025-08-10 18:21:21 271

原创 win下安装labelimg

3、设置predefined_classes文件,然后进行替换(在./data/predefined_classes.txt,yolo格式需要)1、anconda安装python、qt的版本。tag选择:v1.8.6版本(最好选择)4.1 打开canvas.py文件。4.2 打开labelImg.py。4、出现点击绘制出错进行修改。2、安装labelimg。

2025-08-08 14:16:52 178

原创 win随笔

conda create -n labelme python=3.10 #一定选择3.10以及上版本,否则问题很多。在ubuntu桌面系统开发,已经搞了很多年,因需要切换win下开发。选择版本号版本,不要选择带年份的,可以自动把路径添加Path中。2、labelme安装 (有可能需要翻墙)1、Anconda部署。

2025-08-06 16:31:40 131

原创 win11部署wsl进行深度学习

2、win11专业版本部署wsl2。1、下载win11版本。22H2下面的发行版。

2025-08-04 17:22:59 329

原创 win进行anconda部署和MinGW部署

注意上面中选择版本时候不要选择带年版本,否则可能不会讲安装路径添加PATH下。不要安装C盘,安装D盘中,否则删除时存在问题。1、Ancodna进行安装。进行gcc和g++安装。

2025-08-04 11:13:01 170

原创 cv::CLAHE增强图像对比度

2025-06-27 09:28:06 131

原创 NanodetPlus

(1)质量焦点损失 (QFL) 设计原理:联合优化分类和边界框质量预测。(2)分布焦点损失 (DFL) 设计原理:使用离散分布表示连续值回归。4、广义焦点损失模块详细分析。

2025-06-19 18:14:57 157

原创 BiSeNet V2分割算法及改进

表示法:Conv是卷积运算。DWConv是深度卷积。APooling是平均池。上采样意味着双线性插值。Sigmoid是Sigmoid激活函数。同时,1×1,3×3表示核尺寸,H×W×C表示张量形状(高度、宽度、深度),N表示元素乘积。细节分支:对空间细节使用宽通道和浅层,得到特征具有较大的空间尺寸和较宽的通道。辅助训练策略:在不增加额外推理代价的情况下提高分割性能。聚合层:来增强相互连接并融合这两种类型特征。语义分支:层深通道窄,获取高层语义语境。

2025-05-19 17:19:00 273

原创 关键点检测算法-RTMPose

rt是预测某一个关键点的位置,ri和rk都是关键点的GT位置,一共有K个关键点,eϕ(rt,ri)是预测位置和GT之间的距离度量,分母就相当于预测点到GT位置的距离之和,yi表示rt属于关键点ri的概率,上式就是一个softmax函数。平滑策略:受传统分类任务中标签平滑的启发,simcc提出一种高斯标签平滑策略,用以ground-truth bin为中心的高斯分布式软标签代替one-hot标签,该策略在模型训练中融合归纳偏差,带来显著的性能改进。4、一个用于细化K个关键点表示的门控注意力单元(GAU)

2025-05-19 16:44:02 599

原创 StarNet算法分析

在低维空间中计算的同时产生高维特征,论文确定在高效网络架构领域的实用性。(2)无需复杂的设计或精心选择的超参数即可实现高性能,超越很多高效设计。(1)具有将特征投影到极高维隐式特征空间的能力,类似于多项式核函数。通过堆叠多层,可以隐式维度以指数方式增加到几乎无限。

2025-05-19 11:55:53 321 1

原创 Transformer网络结构

一、整体结构二、核心组件详解。

2025-05-16 16:25:26 432

原创 ubuntu中becompare过期

rm -f /home/agu/.config/bcompare/registry.dat

2025-03-24 14:55:45 252

原创 一、金融知识储备

逆回购:资金出方将资金给资金融入方,收取有价证券作为质押,并在未来收回本息,解除有价证券质押的交易行为。逆回购是为了增加市场上的流动性(买入债券投放资金),增加货币供应,通常用于宽松货币政策。正回购:一方以一定规模的债券作为质押,融入资金,并承若在日后再购回所质押债券的交易行为。央行通过正回购操作(卖出债券)可以回收市场上的流动性,减少货币供应,通过用于紧缩货币政策。国债的预期收益率受市场利率和银行利率影响,到期会还本付息,流动性较强‌。加息:债券价格降低,国债收益率上升。4、加息和债券价格以及收益率。

2025-01-06 13:54:08 616

原创 2024超强轻量级backbone,替换骨干网络

star operation算法。星操作,高维非线性特征映射。

2024-12-16 14:15:56 325

原创 ubuntu下anconda装pytorch

清华源下载符合自己系统的最新版(尽可能下载新的,否则pytorch也不能安装比较新的版本)在文件最后部分插入以下两行内容。2、装nvidia驱动。3、装anconda。3、装pytorch。

2024-12-12 15:15:49 735 1

原创 1、sklearn模型保存

【代码】1、sklearn模型保存。

2023-07-11 13:39:12 360

原创 (三)旋转矩阵和旋转向量的相互转化

通过分析可知,度数为正值,沿着对应轴逆时针进行,度数为负值,沿着对应轴顺时针进行。如代码所示中:(原位置先绕X轴旋转90度,再绕Y轴旋转90度)在2中给的角度值为90度,接下来测试的角度值为-90度。蓝色是先绕X轴旋转,再绕Y轴旋转。输出值: (角度是弧度)左乘是固定坐标系进行操作。1、旋转矩阵转旋转向量。绿色是绕X轴的数据。

2023-06-09 17:33:39 1278

原创 (四)pytorch中激活函数

2)relu单元在训练中将不可逆转的死亡,导致数据多样化的丢失。如果学习率设置的太高,可能会发现网络中40%的神经元都会死掉(在整个训练集中这些神经元都不会被激活)。在神经网络中,隐含层的激活函数,最好选择Relu。1)relu的导数在大于0时,梯度为常数,不会导致梯度弥散。在小于0时导数为0,当神经元激活值进入小于0,梯度为0,也就是说,这个神经元不会被训练,即稀疏性。Relu是将所有的负值都为零,相反,leakyRelu。绿色曲线为原函数,红色曲线为导函数。

2023-01-05 20:02:54 499

原创 (十四)C语言杂项

str为局部变量,当传递给函数时,函数不能真正使用str,用的只是str的一个备份,str的值不变。此处str的值仍然为null,malloc分配的内存地址并没有赋给str。要输出某个值的地址写成printf("%x",&变量);若变量为指针时,则应写成printf("%x",指针)指针变量存储的是地址,所以在函数调用的时候能否将指针变量传递给函数。C语言中要输出地址需要16进制的方式输出,需要用%x格式。1、printf()输出某个值的地址。2、C语言中指针变量如何向函数中传递。

2023-01-04 18:04:38 298

原创 openmp交叉编译

target:这个选项只有在建立交叉编译环境的时候用到,正常编译和交叉编译都不会用到。他用build主机上的编译器,编译一个新的编译器(binutils, gcc,gdb等),这个新的编译器将来编译出来的其他程序将运行在target指定的系统上。程序所执行的主机,因为绝大多数是本机编译,本机执行,所以这个值就等于build。只有交叉编译的时候(也就是本机编译,其他系统机器执行)才会build和host不同。build: 执行代码编译的主机,一般指自己的主机系统。host: 编译出来的。

2022-12-08 17:17:17 1624 1

原创 (七)标签分配

标签分配策略,是一个预定义的规则,能够分配每个anchor的正负,也就是一个gt会对应多个anchor。1、ATSS2、OTA: Optimal Transport Assignment for Object Detection3、Freeanchor、AutoAssign 等通过使用预测的 confidence score 来动态分配正负

2022-12-07 16:06:17 1776

原创 视频动作算法任务

时序动作检测:任务的输入是一个未经裁剪的视频,即在这个视频里有些帧是没有动作发生的,因此需要检测出动作开始和结束的区间,并判断区间内动作的类别。即输入未经裁剪的视频序列,得到动作出现的区间和对应的类别。时空动作检测:相比于时序动作检测略有不同,时空动作检测不仅需要识别动作出现的区间和对应的类别,还要在空间范围内用一个包围框标记出人物的空间位置。动作识别:是对每个输入视频进行分类,识别出视频中人物做出的动作。时序动作分割:任务的输入是一个未经裁剪的视频,输出是视频中每一帧的动作类别。

2022-10-18 14:42:43 537

原创 (六)交叉编译aarch64下ncnn框架并进行模型转化

交叉编译aarch64下ncnn框架并进行模型转化

2022-07-16 11:56:15 673

原创 (十三)valgrind在ARM上交叉编译和内存泄漏检测

valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。1、下载valgrind-3.17.02、交叉编译修改configure: armv7*) 改成 armv7*|arm)然后进行make -j8编译和安装make install。/gzy_mnt/valgrind目录下生成好的bin、include、lib、libexec、share目录3、运行/gzy_mnt是挂载在arm板子上的共享目录。我们对NanoDet的MNN进行内存泄露检测。在目录/gzy_mnt/valgrin

2022-06-07 15:22:52 2469

原创 (四)pytorch中张量数据转化关系

import torchimport numpy as np# int -> tensor -> inta = torch.Tensor(1)b = a.item() # list -> tensor(cpu)l0 = [1, 2, 3]t = torch.Tensor(l0) # tensor(cpu) -> numpy -> lista = t.numpy()l1 = t.numpy().tolist() # list -> numpy.

2022-05-31 14:23:50 208

原创 (十二)解决nvidia中glxserver_nvidia不能加载问题

明明已经正常安装nvidia驱动,但是关闭屏幕后(例如挂起,或者重新启动后),出现nvidia lost。nvidia无法启动X的问题。1、使用dmesg可以查看到,使用nvidia-bug-report.sh进行得到日志2、在当前文件夹下获取日志,nvidia-bug-report.log[ 5.283] (II) LoadModule: "glxserver_nvidia"[ 5.283] (WW) Warning, couldn't open module glxser

2022-05-16 19:55:02 3313

原创 (十一)vscode代码格式化配置

1、在vscode界面,按"ctrl+"进行设置界面,搜索Format2、设置保存文件时,按格式对代码排版3、向下拉,在框内输入Google,按照谷歌代码格式排版4、 使用方式,打开c++代码文件当文件保存时,自动按照谷歌代码风格进行格式化代码。或者进行shift+ctrl+i进行保存。...

2022-04-21 08:56:47 14638

原创 (三)ubuntu20.04搭建gitlab服务器

1、安装依赖sudo apt install ca-certificates curl openssh-server postfix对于postfix的安装,域名后续可以更改2、安装gitlabcd /tmpcurl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh可以随意检查下载的脚本,执行下面可找到该脚本的托管脚本less /tmp/script.deb

2022-04-16 15:06:35 8181

原创 (三)pytorch中损失函数

损失函数可以分为三类:回归损失函数、分类损失函数和排序损失函数1、L1 loss计算实际值和预测值之间的绝对值之和的平均值。y表示标签,pred表示预测值。(回归问题),当目标变量的分布具有异常值时,即与平均值相差很大的值,它被认为对异常值具有很好的鲁棒性。import torchdef lossTest(): input=torch.randn(3,5,requires_grad=True) target=torch.randn(3,5) mae_loss=

2022-04-11 11:50:55 6011

原创 (六) 量化研究

1、基本概念量化就是将浮点型实数量化为整型数(FP32->INT8)反量化就是将整型数转化为浮点型实数(INT8->FP32)2、量化操作比如有一个FP32的浮点型数字x=5.234,将这个数变为整型。这个数字乘以一个量化系统s,比如s=100,那么量化后的值,然后对这个数字进行四舍五入(round操作)整型INT8的范围是[-128,127],无符号INT8的范围也才[0,255]。所以需要进行截断,假设INT8范围是,那么上述可以变为:这样计算方式不对

2022-04-07 11:58:05 2499

原创 (十三) C++中虚函数的作用和多态

C++中的虚函数作用主要是实现多态的机制。基类定义虚函数,子类可以重写该函数;在派生类中对基类定义的虚函数进行重写时,需要在派生类中声明该方法为虚方法。当子类重新定义了父类的虚函数后,当父类的指针指向子类对象的地址时,[即B b; A a=&b;]父类指针根据赋给它的不同子类指针,动态的调用子类的该函数,而不是父类的函数(如果不使用virtual,请看后面★*),且这样的函数调用发生在运行阶段,而不是发生在编译阶段,称为动态编译。而函数的重载可以认为是多态,只不过静态的。注意,非虚函数静态联编,效率

2022-04-06 11:38:19 176

原创 (二)pytorch中算法分析和总结

1、卷积算子 torch.nn.Conv2d(1)原理:假设输入图像input尺寸为4x4,元素矩阵为:卷积核kernel尺寸为3x3,元素矩阵为:步长strides =1,填充padding=0,即i=4,k=3,s=1,p=0,则按照卷积计算公式,输出图像output的尺寸为2x2。(2)代码import torchimport numpy as npimport cv2import os# convdef conv(): randed_data=np

2022-04-02 17:22:01 3654

原创 (十) yaml-cpp编译和使用

1、版本选择建议使用yaml-cpp-0.6.0这个版本。它有以下特点:1)只需要c++112)去掉对boost等其他的依赖,干净下载链接:https://github.com/jbeder/yaml-cpp/releases/tag/yaml-cpp-0.6.02、编译和安装将yaml-cpp装在指定目录下,工程下有cmakelists.txt文件,新建build,然后cmakecmake .. -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_P

2022-03-21 09:55:17 5415 4

原创 (一) pytorch中API总结

1、unsqueeze(增维度)和squeeze(减维度)函数分析import torchimport numpy as npimport matplotlib.pyplot as plta = torch.arange(0,6).view(2,3) #tensor([[0, 1, 2],[3, 4, 5]]) 维度:(2,3) print(a) #在第二维增加一个维度b= a.unsqueeze(1)#tensor([[[0, 1, 2]],[[3, 4

2022-03-10 10:18:09 1684

原创 (九)在vscode中更改anaconda运行环境

快捷键ctrl+p,在弹出的框框中,输入>select interpreter来选择相应的Anaconda环境。

2022-03-04 15:05:44 1114

原创 (五) thrust下进行lambda表示式

1、使用lambda进行测试,求解x*x+y*y+z*z。新建test.cu文件#include <thrust/copy.h>#include <thrust/device_vector.h>#include <thrust/functional.h>#include <thrust/generate.h>#include <thrust/host_vector.h>#include <thrust/sort.h>#

2022-03-02 09:03:08 757

原创 (四) opencl测试

1、在gpu编写opencl代码#include <iostream>#include <stdlib.h>#include <string.h>#include <stdio.h>#if defined(__APPLE__) || defined(__MACOSX)#include <OpenCL/cl.hpp>#else#include <CL/cl.h>#endifusing namespace std;

2022-02-25 15:15:51 9920

原创 (三)MNN与Opencl联合编译

在MNN与opencl进行联合编译中,需要注意一些事项:1、在MNN中cmakelists进行修改后2、在source/backend/opencl/core/runtime中OpenCLWarpper.cpp中文件进行修改。否则在编译过程中不报错,而在执行过程报以下错误:OpenCL init error, fallback ..例如我们使用全志T507的liunx系统进行开发,需要把liunx下opencl链接库进行添加和修改static const std::vector&lt

2022-02-23 20:10:41 2244

原创 (六)深度学习面试总结

1、nms和soft-nms实现过程(1) nms实现过程初始时,非极大值抑制过程开始于一个检测框列表B、对应的置信度标S、空的检测列表D、阈值N_t。首先,找到最高置信度对应的检测框M,将其从B中删除,并添加到最终框列表D中。然后,计算M与B中其他检测框的重叠程度IOU,将IOU大于阈值N_t的目标检测从B中删除。对于B中剩余的检测框,继续重复这个过程,直到B为空时结束。(2) soft nms解决哪些问题nms的一个主要问题是,将与NMS重叠度大于阈值的其他检测框直接从B中删除。造成如果

2022-02-21 22:24:14 1141

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除