- 博客(73)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 DoRA详解:从LoRA到权重分解的进化
DoRA(权重分解低秩自适应)是一种改进的大语言模型微调技术,通过在LoRA基础上引入权重分解机制来提升微调效果。该方法将预训练权重矩阵分解为幅度(全局缩放因子)和方向(归一化权重)两部分:幅度作为可训练参数直接调整,方向则通过LoRA的低秩矩阵进行适配。这种分解方式使参数更新更精细,既保持了LoRA的参数效率优势,又通过独立控制幅度和方向提升了训练稳定性。实验表明,DoRA能更有效地适应下游任务,在保持计算效率的同时提高模型性能。
2025-07-31 22:43:04
531
1
原创 C++中使用Essentia实现STFT/ISTFT
本文介绍了如何使用Essentia音频分析库在C++中实现音频的STFT/ISTFT处理。针对计算机视觉开发者转向音频处理的需求,作者比较了现有音频处理库的优劣,最终选择功能强大的开源库Essentia。文章详细讲解了音频加载、STFT变换、ISTFT重建的完整流程,包括参数设置、窗函数补偿和后处理等关键技术点,并提供了完整的CMake配置示例和代码实现。该方法能有效重建音频信号,实测音量比误差控制在合理范围内,为音频领域的AI模型预处理提供了可靠解决方案。
2025-07-25 22:12:23
761
原创 如何使用“LoRa”的方式加载ONNX模型:StableDiffusion相关模型 的C++推理
本文介绍了如何将StableDiffusion相关模型(包括InpaintPipeline和ControlNetImg2ImgPipeline)通过C++工程化部署。主要内容包括:1)基于ONNX Runtime实现模型推理;2)开源了一个C++版本的DDIM Scheduler库;3)提出了一种类似"LoRa"的ONNX模型加载方式。作者提供了完整的代码和模型开源,包括tokenizer、scheduler等关键组件的C++实现,并展示了如何将这些组件整合到推理流程中。该项目为Stab
2025-07-22 13:39:18
724
原创 AwesomeCLIP---100+篇CLIP相关工作整理
本文汇总了近年来基于CLIP的多项研究进展,涵盖了训练优化、模型改进、应用创新等多个方向。
2025-07-21 09:59:37
805
原创 [7天掌握] 软考-软件设计师-基础知识-考点整理
软考软件设计师高效备考指南 本文分享了程序员2周备考通过软考中级的经验总结。备考策略包括: 基础知识:以刷题为主,推荐「软考通」APP,通过错题巩固知识点,近5年真题为主,避免无效记忆; 应用技术:考前1周突击,重点掌握答题套路,程序员可侧重前3道大题; 考试技巧:两科连考共240分钟,基础知识90分钟起可交卷。 文章详细整理了计算机组成、CPU结构、存储系统、数据表示(原码/反码/补码)、浮点数运算及校验码(奇偶校验/CRC/海明码)等核心考点,配有典型例题和对比表格,帮助考生高效掌握得分要点。 备考资源
2025-07-18 14:41:16
272
原创 AiDB: 一个集合了6大推理框架的AI工具箱 | 加速你的模型部署
本文介绍了一个开源的AI模型部署工具箱--AiDB该项目使用C++开发,将主流深度学习推理框架抽象成统一接口,包括ONNXRUNTIME、MNN、NCNN、TNN、PaddleLite和OpenVINO,支持Linux、MacOS、Windows、Android、Webassembly等平台。AiDB提供C/C++/Python/Lua等多种API接口。并且提供多种场景的部署实例Demo(Server、PC、Android等)。
2023-09-12 17:46:23
572
原创 Gan应用之脱衣服-----Pixel-Level Domain Transfer论文复现
Abstract.:We present an image-conditional image generation model. The model transfers an input domain to a target domain in semantic level, and generates the target image in pixel level. To generate ...
2019-12-26 17:32:05
1106
1
原创 Mac CLion配置OpenCV4环境
网上例子很多,但尝试很多方法一直报错如下:dyld: Library not loaded: @rpath/libopencv_xphoto.3.1.dylib Referenced from: (省略) Reason: image not found推测可能是mac装了太多版本opencv,无法链接到正确lib库,所以手动指定下OpenCV_DIR即可,修改后的CMakeLis...
2019-10-11 16:26:34
794
2
原创 淘宝“秒杀”脚本
python + selenium 实现,定时自动结算购物车,邮件提醒结果。说是秒杀脚本,但其实根本做不到毫秒级(看很多文章写毫秒级也是跪了)。自己在mac上实测,大约10s左右会收到邮件。用selenium秒杀是不要想了,用作自动提交订单,还算ok。整个流程比较简单,扫码登陆,跳转到购物车界面,不停刷新,等时间差不多到了,全选,提交订单,做个练手脚本,简单实用。通知截图:整个...
2019-08-10 23:24:41
39870
17
原创 表情识别------CNN训练fer2013数据集
目录1.概述2.环境3.数据读取4.VGG5.Resnet6.摄像头表情识别1.概述分别用vgg和resnet对fer2013做了训练,只是简单的实现,没有做什么其他改进方法,在测试集的accuracy并不高,仅做练习。文末用训练好的模型做了摄像头表情检测,仅供参差。2.环境face_recognition==1.2.3opencv_python=...
2019-08-10 22:08:39
14729
12
原创 Linux--最简单快速安装ffmpeg及所有包
使用yum:yum install -y epel-releaseyum install -y yum-utilsyum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repoyum install -y ffmpeg
2019-02-21 15:27:25
908
原创 【Tensorflow】LeNet-5训练MNIST数据集
LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。根据其他博客,利用MNIST训练LeNet-5网络,并做了测试。目录 1.LeNet-5网络2.LeNet-5代码3.测试结果代码地址1.LeNet-5网络1.1 网...
2018-09-30 16:11:52
3500
4
原创 Cifar-10数据集的可视化保存
学习Tensorflow或深度学习,难免用到各种数据集, 最近用到cifar10数据集,简单研究了下,然后把cifar-10数据集保存为jpg图片,分别利用python和c++做了实现。 CIFAR-10下载关于cifar-10,网上介绍很多,这里主要用了python和binary版本:python版 每个batch包含一个字典,该字典有data和labe...
2018-09-11 19:19:24
3704
4
原创 【Tensorflow】Cifar-10
tensorflow官方CIFAR-10 教程学习笔记主要包括以下四部分:文件 作用 cifar10_input.py 读取本地CIFAR-10的二进制文件格式的内容。 cifar10.py 建立CIFAR-10的模型。 cifar10_train.py 在CPU或GPU上训练CIFAR-10的模型。 cifar10_eval.py 评估C...
2018-09-10 10:12:47
1737
原创 C++进程通信实现-----WM_COPYDATA消息
工作中碰到了32位dll和64位dll通信问题,上网搜索了相关的问题,发现最简单的实现方式就是利用WM_COPYDATA消息传递,很多博客给出了实现代码,但大部分都是发送端C++,接收端C#或MFC。本文给出自己实现的简单例子,发送接收相互通信,都是用C++实现。 目录 WM_COPYDATA 消息代码实现WM_COPYDATA 消息An application ...
2018-08-29 15:58:00
5938
1
原创 Python+itchat+PyQt5个人版微信(自动回复、防撤回、红包提醒等)
最近在学习python,无意中看到了itchat这个包,感觉很有意思,简单实现了一个LowB版微信,给女朋友捉弄朋友用。其实没有什么难度,做的很简陋,这里做下记录。环境:python3.6 PyQt5 5.11.2 itchat 1.3.10 wordcloud 1.5.0 matplotlib 2.1.2GitHub地址代码主要包括四个部分,itchat_thread...
2018-08-24 17:57:37
9073
18
原创 【Tensorflow】使用CNN识别手写数字
学习Tensorflow后,利用CNN实现的第一个练习。大部分内容参考了别人的博客专栏,仅作为自己的学习笔记。使用CNN识别手写数字的程序整体而言比较简单,本文的代码主要包括三部分:CNN模型的搭建及模型的训练与保存。 模型的恢复及前向传播。 手写数字的捕获。 CNN模型的搭建及模型的训练与保存 CNN作为最基本的神经网络,网上关于其介绍非常多,这里不再赘述。关于Tenso...
2018-07-22 14:02:36
1047
原创 OpenCV人脸检测(正脸、左右侧脸)----GPU版使用
#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/gpu/gpu.hpp>#include<iostream>#include<time.h>using namespace std;u...
2018-04-01 13:54:52
12791
3
原创 C/C++查找排序算法
对二分法查找、归并排序、快排做下代码总结:参考//二分查找非递归int binary_find(int *arr, int left, int right, int element_find) { while (left <= right) { //int mid = (left + right) / 2; //left + right 可能溢出 int mid = left...
2018-04-01 11:11:23
915
原创 C\C++三级指针作为形参
二级指针和三级指针作为形参的具体应用: 二级指针作为形参时,内存分配在函数外进行。函数内只需要进行相关操作;三级指针作为形参时,可以在函数内分配空间。三级指针作为形参代码:int skinDetect(unsigned char *frame, int _width, int _height, Rect*** ppp_rect ,int *skin_size){ int width = ...
2018-03-26 17:57:16
1469
转载 Windows系统中内存泄露与检测工具及方法
写C/C++,经常碰到内存泄漏,同事发给我的查找方法,试过有效,记录一下。1.检测需要使用的工具:windbg工具。检测前,需要先安装windbg工具。安装了该工具后,会在安装目录下有一个umdh工具。假设windbg安装在以下目录下:D:\Program Files\Debugging Tools for Windows (x86)2.内存泄露检测技巧 2.1 运行cmd窗口,将路径设置到安装路...
2018-03-18 10:47:02
5651
原创 C/C++读取.ini的配置文件
记录一下,读取.ini配置文件的方法。实际中,一般先获得当前程序所在路径(或者放在特定的配置文件目录)GetModuleFileName解释下这句:strrchr(cfgpath, '\\')[0] = '\0';strrchr(cfgpath, '\\')返回路径中'\'最后出现的位置,strrchr(cfgpath, '\\')[0]则把该位置改为'\0'。之后strcat后,就得到了配置文...
2018-03-18 10:42:20
2690
原创 Socket编程笔记
服务端:步骤如下:(1)WinSock初始化----WSAStartup();(2)创建套接字(socket());(3)将套接字绑定到一个本地地址和端口上(bind())(4)将套接字设为监听模式,准备接收客户端请求(listen())(5)等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept()阻塞接口)(6)用返回的套接字
2017-11-16 14:27:16
696
原创 包含类的dll创建与调用
之前没有做过包含类的dll的相关代码。第一次做,还是遇到很多问题,在此记录一下。犯的错误:没有定义接口类刚开始没有定义虚基类为接口类,导致编译时报错,无法解析XXXXX。正确做法:首先定义一个接口类,注意,析构函数为虚函数,其他方法为纯虚函数。class NVGpuMon{public: virtual ~NVGpuMon(void){}; NVGpuMon(voi
2017-09-26 11:45:22
1147
原创 图像颜色增强算法Opencv
算法来源于GIMP中的Color-enhance插件,主要思路就是对HSV空间的V值进行重新量化。其代码是开源的,但用起来不太方便,所以我用Opencv重新改写了一下。一、算法主要步骤:1.图像转换到CMY空间,每个像素点(三通道,包含C、M、Y三个值)各减去最小值,即C -=min(C,M,Y),M -=min(C,M,Y),Y -=min(C,M,Y)。2.1中得到的图像转换到HS
2017-09-14 15:58:51
19565
15
转载 LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义
原文地址UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长
2017-09-11 18:01:29
340
原创 视频编解码学习笔记-----常用名词解释
仅为本人学习记录,内容参考自网络。一. I 帧、B帧、P帧I帧表示关键帧,其自带了全部信息;解码时只需要本帧数据就可以完成。压缩率大约在7。IDR帧表示即时解码刷新,I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以称为IDR帧,这样就方便控制编码和解码流程。 IDR帧的作用是立刻刷新,使错误
2017-09-11 15:13:48
828
原创 (笔记)涉及到的WinAPI函数
WSAStartup即WSA(Windows Sockets Asynchronous,Windows异步套接字)的启动命令。是Windows下的网络编程接口软件Winsock1 或 Winsock2 里面的一个命令(Ps:Winsock 是由Unix下的BSD Socket发展而来,是一个与网络协议无关的编程接口)。WSAStartup必须是应用程序或DLL调用的第一个Windo
2017-08-02 14:52:59
617
原创 opencv获取多个摄像头名字和编号
因为项目需要,利用opencv读取多个摄像头,但没法确定摄像头的编号。查看opencv的源码,摄像头的id主要利用了listDevices这个函数,自己把这个函数单独提取出来,根据vectorint listDevices(vector& list){ //COM Library Intialization //comInit(); //if (!silent)printf("\nV
2017-07-05 19:02:19
27569
6
转载 char*,const char*和string 三者转换
原文1. const char* 和string 转换(1) const char*转换为 string,直接赋值即可。 EX: const char* tmp = "tsinghua". string s = tmp;(2) string转换为const char*,利用c_str() EX: string
2017-06-22 11:24:12
372
原创 (个人总结)C++中int类型与String类型的相互转换
最近经常用到两种类型的相互转换,从网上找了一些,汇总一下,以备不时之需。int类型转换为String类型方法一:利用sprintf#include #include int main(){ int n = 123; char t[256]; sprintf(t, "%d", n); std::string s(t); std
2017-05-16 16:38:16
2057
原创 C++ 获得指定目录下的所有文件名称
最近工作用到,记录一下。参考出处:http://qiaoxinwang.blog.163.com/blog/static/86096452010612139172/先上一下代码:void getFiles( string path, vector& files ) { //文件句柄 long hFile = 0; //文件信息
2017-05-16 11:55:37
1116
转载 string和stringstream用法总结
一、stringstring 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必須先加入这一行:#include 接下來要宣告一个字串变量,可以写成:string s;我们也可以在宣告的同时让它设成某个字串:string s="TCGS";而要取得其中某一個字元,和传统C 的字串
2017-04-07 11:54:22
1077
转载 笔试算法学习--买票找零问题(卡特兰数)
问题:2n个人排队买票,其中n个人持50元,n个人持100元。每张票50元,且一人只买一张票。初始时售票处没有零钱找零。请问这2n个人一共有多少种排队顺序,不至于使售票处找不开钱?题目另一种形式:有n对左括号和右括号,现在问到底有多少中括号合法匹配的组合?解:原理实际上,这个就是卡特兰数的一个应用:其前几项为 : 1, 1, 2, 5, 14,
2016-10-15 12:51:20
4017
1
转载 c++内存泄漏和溢出
内存泄漏的几种情况:1. 在类的构造函数和析构函数中没有匹配的调用new和delete函数两种情况下会出现这种内存泄露:一是在堆里创建了对象占用了内存,但是没有显示地释放对象占用的内存;二是在类的构造函数中动态的分配了内存,但是在析构函数中没有释放内存或者没有正确的释放内存2. 没有正确地清除嵌套的对象指针3. 在释放对象数组时在delete中没有使用方括号方括号是
2016-10-14 10:09:29
3980
转载 面试笔试---数据库重点知识
(网上搜集)1.数据库事务 事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。事务的提出主要是为了解决并
2016-10-14 09:38:35
2033
转载 POST GET 区别
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,D
2016-10-13 10:33:15
449
转载 TCP与UDP的区别
TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。UDP(User Datagram Protocol) UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立刻按照原样发送到网络上的一种机制。 即使是出现网络拥堵的情况下
2016-10-13 09:54:11
414
转载 OSI各层作用
(1)物理层----定义了为建立、维护和拆除物理链路所需的机械的、电气的、功能的和规程的特性,其作用是使原始的数据比特流能在物理媒体上传输。具体涉及接插件的规格、“0”、“1”信号的电平表示、收发双方的协调等内容。 (2)数据链路层----比特流被组织成数据链路协议数据单元(通常称为帧),并以其为单位进行传输,帧中包含地址、控制、数据及校验码等信息。数据链路层的主要作用是通过校验、确
2016-10-12 19:51:22
1416
颜色增强算法Opencv
2017-09-14
opencv颜色增强GPU加速版
2017-09-15
QT入门问题:调用designer中的部件显示未定义?
2015-10-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人