- 博客(187)
- 资源 (9)
- 收藏
- 关注
原创 huggingface下载相关
查看哪些文件没下载完整,对于每下载完整的手动下载替换,最后。如图,在“clone repository”中找到命令,如。,显示带*即完整下载。
2025-10-30 23:27:02
217
原创 基于“混合检索(向量 + BM25)+ SelfQuery 过滤 + 重排序优化”的RAG
文档预处理(1)原始文档构造:准备包含内容文本和元数据(如年份、领域、来源)的原始文档,元数据用于后续条件过滤。(2)文本切片:使用RecursiveCharacterTextSplitter按语义分割文档,优先按高优先级分隔符(如换行、句号)拆分,保留相邻片段的重叠内容(chunk_overlap),避免语义断裂,最终生成多个短文本片段(chunk)。混合检索(向量检索+BM25检索融合)(1)向量检索。
2025-10-26 20:52:04
928
原创 RAG相关
RAG(检索增强生成)流程,包含文档加载、切片(分块)、向量存储、检索排序、生成回答等完整步骤,并展示各环节输出结果。核心流程说明RAG 的核心逻辑是:先从文档中检索与查询相关的内容,再结合这些内容生成回答。步骤拆解为:文档加载 → 2. 文档切片(分块) → 3. 文本向量化 → 4. 检索相似文档 → 5. 生成回答步骤纯代码实现(本文)LangChain 实际实现文档加载仅支持字符串文档,无格式解析逻辑提供 30+ 种Loader(如。
2025-10-26 19:24:27
950
原创 多模态网络的设计和模态对齐相关
文本数据处理引入<image>等特殊token作为“图像锚点”,明确标记文本中“需要关联图像的位置”(如“这张的颜色是?”)。通过自定义Tokenizer完成文本分词、编码(转换为token id),同时定位<image>在文本序列中的索引(如第5个位置),为后续融合提供坐标。处理批量数据时,统一文本长度(截断或填充),确保输入格式一致。图像数据处理。
2025-10-26 11:54:14
758
原创 T5相对位置编码
相对位置建模:不依赖绝对位置,而是关注元素间的相对距离,更适合长序列和动态位置场景。多头独立学习:每个注意力头有独立的相对位置偏差参数(nhead维度),适配不同头的关注重点。([seq_len_q, seq_len_k] 经过[2 * max_len - 1, nhead] --> [seq_len_q, seq_len_k, nhead] ,即有seq_len_q x seq_len_k 个词嵌入编码)范围限制:通过max_len控制最大相对距离,避免模型学习过多稀疏的远距离偏差,提升效率。
2025-09-29 23:50:44
298
原创 Accelerate基本使用
Hugging Face 的 Accelerate 是一个轻量级 Python 库,专门为 PyTorch 模型训练提供简单且灵活的分布式训练支持,无需深入了解分布式编程细节即可实现多卡、混合精度等加速策略。它的核心目标是:让单卡训练代码只需少量修改,就能无缝适配各种硬件环境(单卡、多卡、CPU、TPU 等)。核心优势极简的分布式适配无需手动编写 torch.distributed 相关代码(如初始化进程、创建分布式采样器等),一行 Accelerator() 即可自动处理所有分布式配置。
2025-09-28 22:58:18
960
原创 T5(Text-to-Text Transfer Transformer)模型
T5(Text-to-Text Transfer Transformer)模型是基于 Transformer 架构的扩展,但在设计理念、任务适配和实现细节上与原始 Transformer 有显著区别。同时,“共享权重” 是 T5 等现代预训练模型中广泛使用的技术,在模型效率和性能迁移中发挥关键作用。一、T5 与原始 Transformer 的核心区别原始 Transformer(Vaswani et al., 2017)是基础架构,主要用于机器翻译等 “序列到序列”(seq2seq)任务;
2025-09-23 22:30:15
877
原创 git submodule的基本使用
git submodule可以管理多个仓库,其子目录在主目录中为引用方式,更新子目录的时候需要进入到相应的子目录执行相关git add/commit/push;然后退回主目录再次执行git add/commit/push。在主目录中创建子目录的步骤如下。
2025-08-26 22:45:47
178
原创 决策树解读
Entropyx−i∑NclassPxilog2Pxi假设只有2个类别(N=2),$ P(x_i)在【01】之间,log_2 P(x_i) $ 小于0,因此Entropy(x) 大于0;当两类别概率分别0.5,0.5的时候(样本均匀)信息熵最大,此时纯度最低;当分别为1,0的时候信息熵最小,此时纯度最高;因此,信息熵表示不确定性(混乱程度),纯度最低的时候混乱性最大。息增益指的就是划分可以带来纯度的提高,信息熵的下降。
2023-10-24 00:22:44
733
原创 决策树工程化
1.决策树关键变量说明import m2cgen as m2cfrom io import StringIOfrom sklearn.datasets import load_irisfrom sklearn.tree import DecisionTreeClassifierfrom sklearn import treeimport matplotlib.pyplot as pltg_fw = open('log.txt','w')clf = DecisionTreeClassif
2021-10-05 10:31:15
577
原创 vscode基本使用
vscode基本使用vscode基本使用python环境配置c/c++环境配置vscode基本使用python环境配置在插件栏目安装python插件在新建增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功能;增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;增加了 检查列表 功能。
2021-10-04 14:53:16
332
原创 信号处理入门
1、基本概念周期: 每个循环的时长,如上图,周期约为2.3ms频率: 即周期的倒数,其单位为每秒钟循环数,也称为赫兹(Hz),上图的型号频率大约为1/2.3*1000 = 439Hz波形:周期信号的形状
2021-06-19 17:09:02
13061
2
原创 Docker基本使用
1、简介Docker 是一个开源的应用容器引擎,基本的概念如下:镜像(Image):类比文件系统,如ubuntu容器(Container):容器是镜像运行时的实体,把镜像比喻为类,则容器为其对象实例2、Docker环境搭建更新aptsudo apt-get update安装依赖sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ soft
2021-02-13 00:42:45
408
原创 基于frida的so函数hook实战
一、环境win10、python38、frida库、夜神模拟器(1)安装frida环境(a)fridapython -m pip install frida //运行python38版本//python -m module_name相当于python /path/to/module.py(当我们知道一个模块的名字,但不知道它的路径时,我们可以通过 -m 参数)假如以上方法出错,建议本地下载frida包安装 https://pypi.org/project/frida/#files(选择f
2021-01-31 16:12:10
15939
7
原创 CMake 的简单使用
文章目录一、CMake介绍二、简单实例二、多源文件目录实例一、CMake介绍CMake是一种跨平台的构建工具,通过CMakeLists.txt 文件的编写来实现,其中CMakeLists.txt 文件主要用于生成 Makefile文件(通过“cmake PATH”命令),Makefile文件再通过make 命令进行编译,整个构建过程如下:编写CmakeLists.txt。执行“cmake PATH”命令生成 Makefile文件(PATH 是 CMakeLists.txt 文件所在的路径)。执行
2020-07-19 22:44:06
599
原创 Makefile入门
文章目录一、Makefile文件介绍二、Makefile文件的hello world编写1、编写格式2、实例二、Makefile的工作流程1、工作流程2、清除过程文件三、通配符的使用1、通配符2、实例四、Makefile变量的定义和赋值1、变量的定义与使用2、变量的赋值(1)简单赋值`:=`(2)递归赋值`=`(3)条件赋值`?=`(3)追加赋值`+=`五、目标文件的搜索(VPATH和vpath)1、VPATH2、vpath六、嵌套执行make一、Makefile文件介绍Makefile一般为Linux
2020-06-18 15:25:26
424
原创 vs配置依赖
环境介绍在win上搭建vs远程调试linux项目环境(gdbserver、vs的linux插件环境等)gcc/g++ 的-L和-l命令参数linux上的库文件名:lib+<库名>+.so (比如ncurses库,库文件名为ncurses,使用gcc/g++ 可直接为−lncurses )gcc/g++ 的-L和-l命令参数使用为:(1)−L<库文件所在路径>(2)−l<库名>例:−L/usr/lib ; −lncurses注意:在 /lib, /usr
2020-06-15 17:16:13
665
原创 基于Xposed的hook实战
一、Hook原理将需要修改的函数“钩住”,然后使用自定义的函数替换原来的函数,让程序执行自定义的函数,达到修改的目的。二、环境搭建经过root的模拟器:(1)在https://www.yeshen.com/ 中下载夜神模拟器(该模拟器在系统设置中默认开启root)(2)启动夜神模拟器,在终端执行adb connect 127.0.0.1:62001,将模拟器与AS关联,其中,62001是夜神模拟器的端口号Xposed框架的搭建:(1)在https://forum.xda-developers.
2020-05-15 21:46:52
6548
原创 破解安卓程序的helloworld
一、环境及其工具win10、AS、Apktool反编译工具、反编译后的签名工具APKSignApktool反编译环境搭建:在https://github.com/iBotPeaches/Apktool 的Links/Downloads中下载apktool_2.4.1.jar,修改为apktool.jar,下载文件Apktool/scripts/windows/apktool.bat,将apktool.jar与apktool_2.4.1.jar放在同一目录,并且配置环境变量二、编写带签名的demo(
2020-05-13 11:35:57
1069
原创 通过vmrun运行虚拟机
简介vmrun运行虚拟机可以减少资源的消耗,特别适用于linux虚拟机,通过vmrun命令行启动后,我们可以借助ssh协议登录无图形界面的本地服务器(当然,也可以通过图形界面登录查看IP地址等),而不必运行着消耗大量资源的图形界面。步骤:(1)在VMware安装的目录中找到"vmrun.exe",配置环境变量(2)启动:vmrun -T ws start "xxx\xxx\Ubuntu.v...
2020-02-02 14:08:23
3223
1
原创 ssh的简单使用
登录(从win登录到Linux)ssh username@ip退出(从Linux退出到win)exit从远程下载文件到本地(从Linux下载文件到win)scp username@ip:~/share.txt . //远程home目录下下载share.txt文件到本地当前目录从远程下载目录到本地(从Linux下载文件到win)scp -r username@ip:~/test...
2019-12-31 13:54:59
271
原创 Cocos2d-x环境搭建
1. 下载Cocos2d-x开发包这里下载的版本为V3.17.2(AS版本为2017)https://www.cocos.com/en/cocos2dx2. 把cocos安装包里的msvcr11.dll 复制到c盘SysWOW64文件下(win 64位系统)3. 运行demo(1)在cocos2d-x-3.17.2\build中用vs2017打开cocos2d-win32.sln...
2019-12-05 20:49:49
1105
原创 虚函数和动态联编
关于虚函数(1)编译器对虚方法(virtual修饰的方法)使用动态联编,如下:Dog dog;Animal* pAnimal;pAnimal = &dog;pAnimal->eat();假如eat()方法是虚方法,则调用的是子类的eat()方法(动态联编,可以理解为基类的eat()方法是虚设的);否则(不使用virtual修饰的方法),调用的是基类的eat()方法(静...
2019-12-04 13:36:56
758
原创 c++内存模型和名称空间
一、头文件1. c++程序一般分为3部分:头文件、实现头文件的源文件、调用函数的源文件2. 头文件常包含的内容(1)函数原型(2)使用#define或者const定义的符号常量被声明为const的数据具有特殊的链接属性(外部/内部/无),具备的链接性为内部,其作用域为包含头文件的当前源文件(类似static,但const修饰的为常量,不可改变其值),不会出现多次定义的情况,所以可行(...
2019-12-03 00:42:58
366
原创 线程池的简单实现
线程池介绍(1)在没有采取线程池技术的时候,往往是一个任务一个线程的方式,这样将会创建数以万计的线程,使得操作系统频繁的进行线程上下文切换,增加系统的负载(线程的创建和消亡都是需要消耗系统资源的)(2)线程池技术为了解决这个问题而产生,预先创造了若干数量的线程(Worker 线程),并且将线程的创建控制交给ThreadPool类,而不是客户端(客户端将任务job放入工作队列jobs后便返回)...
2019-10-14 13:32:21
284
原创 并发编程基础
1、线程简介(1)线程是操作系统调度的最小单元;(2)在一个进程里可以创建多个线程,这些线程都有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量;(3)一个程序作为一个进程来运行,程序运行过程中可以创建多个线程;(4)一个线程在一个时刻只能运行在一个处理器上,多线程程序可以充分利用多处理器执行任务;(5)线程优先级:线程优先级决定线程需要多或者少分配处理器资源的线程属性;(...
2019-10-14 00:10:26
594
原创 (三)设计模式——观察者模式
角色: 抽象目标、具体目标、抽象观察者、具体观察者AB思想: 观察者向被观察对象即目标注册实例,然后其更新的行为随被观察者的转态改变而改变========================抽象的被观察对象==================================// 抽象的被观察对象import java.util.ArrayList;public abstract class ...
2019-09-11 22:15:54
179
原创 (三)java虚拟机——垃圾回收算法
常用的垃圾回收方法有:引用计数法、标记清除法、复制算法引用计数法思想:引用一个对象,则引用计数器+1;引用失效,则引用-1;回收计数为0的对象缺点:(1)没法处理相互引用的对象(实际上这些对象需要被回收却没法回收,但是他们相互引用,计数不为0)(2)频繁的+1,-1对系统性能有影响标记清除法思想:标记阶段:标记从根节点开始的所有可达对象;清除阶段:清除所有未被标记的对象缺点:产生空间...
2019-09-10 19:13:23
186
原创 (二)java虚拟机——常用java虚拟机参数
读懂GC日志(1)代码:public class Main { public static void main(String[] args) { TestClass testClass = new TestClass(); testClass.localvar1(); testClass.localvar2(); }}class TestClass { ...
2019-09-10 18:24:47
338
原创 (一)java虚拟机——初步认识
java虚拟机的基本结构java虚拟机的参数设置java [虚拟机参数] class [main()函数参数]实例:public class SimpleArgs { public static void main(String[] args) { for(int i=0;i<args.length;i++) { System.out.println("ar...
2019-09-10 15:33:12
218
原创 LaTeX公式转MathType公式
LaTex在线编辑器https://www.codecogs.com/latex/eqneditor.phpLaTeX公式转MathType公式步骤:方式一:打开链接,复制编写的LaTex公式,加入$$中,右键选择如图,复制代码到word的MathType公式编辑器里面即可。https://www.zybuluo.com/mdeditor方式二:类似地,打开链接http://eng...
2019-09-07 23:05:18
15004
原创 (二)设计模式——简单工厂、工厂方法
一、简单工厂模式注意: 简单工厂实际上不算设计模式中的一种角色: 抽象产品角色、具体产品角色AB等、唯一的一个工厂(通过传递一个参数给工厂,返回具体的产品)缺点: 只有一个工厂,其职责过重实例: 电视================================1、抽象产品=================================// 抽象产品(可以是抽象类或者接口)pu...
2019-09-07 16:34:22
210
原创 (一)设计模式——单例模式
简单介绍单例模式为避免资源开销等而设计,具体做法是对构造器公开访问改为类内部访问,即private的访问属性,同时提供一个静态方法让外部请求得到该类的实例对象。经典的单例模式实现(需要的时候在创建该实例)public class Singleton { private static Singleton instance; private Singleton() {} ...
2019-09-07 00:17:09
175
原创 gitlab搭建与使用
1.gitlab搭建下载包文件wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/gitlab-ce_10.7.2-ce.0_amd64.deb安装dpkg -i gitlab-ce_10.7.2-ce.0_amd64.deb配置访问地址(sudo打开/etc/gi...
2019-09-03 12:47:57
1126
原创 TensorFlow2.0部署
1. 安装tensorflow2.0这里的环境都是基于Linux上进行先升级pippython3 -m pip install --upgrade pip接着python3 -m pip install tensorflow==2.0.0-beta1官方安装文档假如网速太慢,可以离线下载whl安装包https://pypi.tuna.tsinghua.edu.cn/simple/te...
2019-08-12 01:09:57
3380
原创 linux上构建交叉编译环境
1. 下载NDKhttps://developer.android.google.cn/ndk/downloads/2. 解压NDK,并且配置环境变量export PATH=/xxx/android-ndk-r20:$PATH3. 编译特定平台的工具链(这里是x86)(1)在NDK的build/tools目录有make-standalone-toolchain.sh 的程序让用户创建标...
2019-08-06 00:30:46
1156
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅