- 博客(1738)
- 资源 (125)
- 收藏
- 关注
原创 LLaMA-Factory Out-of-memory / 显存溢出 qwen2vl
文章摘要:显存溢出(OOM)问题源于模型本身占用和计算动态占用。解决方法包括:1)调整cutoff_len减少token量,注意预处理阶段就已确定;2)减小batch_size;3)使用DeepSpeed ZeRO等技术,但会降低速度且需足够内存;4)对Qwen2-VL等模型需手动处理过长token数据。关键要关注计算时的动态显存占用,通过参数优化和缓存机制可有效解决OOM问题。预处理阶段的cutoff_len设置比训练时调整更有效。
2025-08-08 10:52:43
68
原创 qwen2vl ValueError: Image features and image tokens do not match: tokens: 568, features 600
本文介绍了一个用于计算多模态数据集中样本token数量的Python工具,特别针对包含文本和图像的Qwen2-VL模型数据集。
2025-08-08 09:52:54
61
原创 摩擦非线性随动电机位置误差控制系统
摘要:本文研究摩擦非线性随动电机的位置误差控制问题。系统包含静摩擦、库仑摩擦和黏性摩擦三种非线性环节,低速时易产生爬行效应。通过相平面分析揭示了爬行机理,并提出补偿策略。建立了误差动力学方程,推导出开关线位置(区间为±[0.01,0.75]),分析了系统奇点类型(阻尼比ξ=1/(2√(K_d T_em)),自然频率ω_n=√(K_d/T_em))。研究表明,通过合理选择补偿参数可有效抑制爬行现象。
2025-06-11 15:00:52
864
原创 【MCP使用】大模型MCP详细底层逻辑讲解,彻底学会MCP
我会将一些MCP的概念,然后讲解底层逻辑,最后自己构建一个MCP客户端,让你彻底了解MCP的工作机制。
2025-06-11 01:14:40
218
原创 51单片机多机通信实验 代码
摘要: 本文介绍51单片机一主三从多机通信系统的实现方法。主机通过按键选择目标从机(1#-3#),建立连接后通过黄色LED指示,绿色LED显示通信状态。系统采用串口方式3,波特率9600,主机查询式发送,从机中断接收。通信协议包含地址帧(TB8=1)和数据帧(TB8=0),从机通过SM2位实现地址过滤。主机程序先发送0xFF复位所有从机,再发送地址帧选择目标从机,最后传输数据。从机程序统一,仅地址不同,通过状态字(ERR/TRDY/RRDY)反馈状态。硬件连接包括主机P0口按键控制和从机P1/P2口LED指
2025-06-05 15:02:32
622
原创 MSP-EXP430F5529 数字时钟,万年历,代码
摘要:本项目是基于MSP430F5529单片机的数字时钟系统,支持实时显示年月日时分秒、可配置闹钟功能以及电容触摸按键控制。系统通过5个电容按钮实现时间设置和闹钟操作,LCD屏幕分6行显示时钟和闹钟信息。硬件采用MSP430F5529开发板,搭配LCD显示屏和电容触摸按钮。功能包括RTC计时、12项参数设置、闹钟提示及自动/手动关闭功能。初始时间设置为2025-06-05 23:05:20,闹钟30秒后触发测试。项目包含完整的硬件抽象层和电容触摸库支持。
2025-06-05 10:43:02
928
原创 Code Composer Studio CCS 工程设置,如何设置h文件查找路径?
在CCS中设置MSP430工程的头文件搜索路径需右键工程选择Properties,进入Build>MSP430 Compiler>Include Options进行配置。典型路径包括:系统默认路径(如${CCS_BASE_ROOT}/msp430/include)、项目根目录(${PROJECT_ROOT})、工具链路径(${CG_TOOL_ROOT}/include)以及项目自定义库路径(通过${workspace_loc}变量指定)。编译日志会显示最终解析的绝对路径,包含-vmspx等编译参
2025-06-05 10:30:04
322
原创 【知识点】openai请求参数如何转为大模型的字符串?
请求openai的时候,给了一些请求参数,是如何转为字符串?先看看之前这篇文章:下载Qwen/Qwen3-32B,然后在这个镜像里做实验。more。
2025-06-03 22:55:24
292
原创 【知识点】Qwen3对话模板,大模型工具调用方法,什么是对话模板?
对话模板是用于格式化多轮对话的预定义规则,将结构化对话数据转换为模型可处理的字符串。文章展示了一个基于Jinja2的对话模板示例,该模板通过条件判断和循环处理不同角色(系统、用户、助手、工具)的消息内容,并支持工具调用功能。模板核心功能包括:处理系统初始提示、管理工具调用签名、格式化用户查询、解析助手推理内容以及整合工具响应。特别值得注意的是模板对工具调用的处理方式,包括参数JSON格式化和XML标签封装。该模板设计支持多轮对话和复杂推理场景,是连接原始对话数据与大语言模型的格式化引擎。
2025-06-03 17:59:08
266
原创 【深度学习】大模型MCP工作流原理介绍、教你编写MCP(1)
MCP(Model Context Protocol)是一个开放协议,旨在标准化AI应用与外部数据源/工具间的连接。其核心组件包括MCP Server(提供数据/工具访问)、MCP Client(AI应用连接端)和传输机制。通过定义Tools(可调用功能)和Resources(可读数据),MCP实现了AI模型与外部服务的交互。典型工作流程为:用户提问→AI识别工具需求→MCP Client发起请求→MCP Server执行并返回结果→AI整合答复。该协议采用类似USB-C的统一连接思路,支持多种传输方式和提
2025-06-03 10:28:02
1112
原创 【实战】weclone 数字分身聊天实战演示
文章摘要 本文介绍了一个创建个人数字分身的完整流程,主要包括三个步骤:1) 使用PyWxDump工具提取微信聊天记录并导出为CSV格式;2) 借助Qwen大模型清洗数据,将原始对话转换为适合训练的格式;3) 通过LLaMA-Factory框架对Qwen模型进行全量微调或LoRA微调,最终部署为个人数字分身。文章详细说明了数据提取、清洗的具体方法,以及模型训练和部署的技术细节,包括Docker环境配置和参数设置。该项目旨在让用户能够训练出具有个人语言风格的AI助手。
2025-06-01 12:54:14
158
2
原创 AstrBot NapCat 消息机器人实战教程教学 WeClone教程
AstrBot是一个多平台聊天机器人框架,结合NapCat可实现QQ消息自动回复功能。部署流程简单,通过Docker Compose一键启动AstrBot和NapCat服务,登录QQ后即可使用。AstrBot支持多种大模型服务,用户可自定义API接口,并通过WebUI管理回复逻辑。该项目采用模块化设计,NapCat作为中间件处理QQ协议通信,AstrBot负责调用大模型生成回复,实现智能化对话。系统还提供白名单、会话管理等功能,支持在微信、飞书等平台扩展使用。
2025-05-31 13:58:22
1595
原创 sglang 部署Qwen/Qwen2.5-VL-7B-Instruct
SGLang中Qwen2-VL的模板代码主要分布在chat_template.py和conversation.py文件中,定义了聊天模板和会话格式。SGLang对vLLM参数提供了部分支持,如上下文长度、管道并行和内存分配等,但不支持多模态处理器的详细配置。部署方面可通过Docker运行SGLang服务器,使用--model-path指定模型路径,并设置相关参数如上下文长度、并行度和内存比例等。启动命令示例中包含了端口映射、内存分配和模板选择等关键配置项。
2025-05-28 11:43:24
764
1
原创 【深度学习】sglang 的部署参数详解
SGLang是UC Berkeley开发的高性能大语言模型推理框架,支持结构化生成和多模态应用。本文详解其部署参数配置,包括:1)并行化参数(张量/流水线/数据并行),2)内存优化(分块处理、调度策略),3)后端优化(注意力/采样/语法后端选择),4)量化选项(AWQ/GPTQ等),5)CUDA高级优化。重点比较了不同并行策略的适用场景,其中张量并行(TP)是推荐的首选方案。参数设置需平衡显存占用、吞吐量和延迟,如max-total-tokens控制总内存池容量,而chunked-prefill-size优
2025-05-28 11:22:10
390
原创 51单片机,两路倒计时,LCD1602 ,Proteus仿真
main.c 文件实现了一个基于 51 单片机的双路倒计时仿真系统,支持两路独立的倒计时功能,每路倒计时时间范围为 1 到 90 分钟。系统通过按键控制倒计时的增减、启动/暂停和复位,并在 LCD 显示屏上实时显示时间及状态。倒计时结束时,蜂鸣器鸣响,对应 LED 点亮。系统使用定时器中断(50ms 一次)精确计时,代码结构包括初始化、显示逻辑、主循环和中断处理。硬件接口涉及 LCD、蜂鸣器、LED 和按键的控制。
2025-05-18 22:42:44
528
原创 51单片机、LCD1602、DS1302、DHT11、ADC0832 红绿灯 Proteus 代码
本文介绍了一个基于51单片机的交通信号灯仿真程序,结合了温湿度传感器(DHT11)、实时时钟(DS1302)和光照强度检测(ADC0832)的功能。程序通过LCD1602显示屏实时显示时间、温湿度及光照强度,并模拟交通信号灯的状态切换。核心功能包括交通信号灯控制、环境数据采集与显示、以及LCD显示驱动。交通信号灯模拟南北和东西方向的信号灯切换,每个状态持续固定时间。环境数据采集通过DHT11获取温湿度,ADC0832获取光照强度,DS1302提供实时时钟。LCD1602用于显示温湿度、光照强度、时间及信号灯
2025-05-18 22:29:42
114
原创 51单片机频率计Proteus代码
该材料展示了一个基于51单片机的频率计系统设计,通过Proteus仿真实现。系统使用定时器0进行50ms定时,定时器1作为计数器测量外部信号频率,配合LCD1602显示屏实时显示测量结果(精度达3位小数),并包含按键控制功能实现测量重启。代码实现了完整的LCD驱动、定时器初始化、频率计算和显示功能,通过中断服务程序处理定时和计数溢出,最终将测量到的频率值转换为带小数点的kHz单位字符串显示在LCD上。
2025-05-18 10:42:24
97
原创 PIC16F18877 串口115000波特率 发送接收 代码
在 PIC16F18877 项目中,UART 功能被成功添加并配置。UART 初始化设置为 115200 波特率,启动时发送 "Hello" 字符串,并通过中断实现接收字符的回显功能。项目中新增了三个 UART 函数:uart_init() 用于配置波特率,uart_transmit() 用于发送单个字符,uart_transmit_string() 用于发送字符串。中断处理函数负责接收并通过 UART 回传数据。UART 引脚配置为 RC6(TX)和 RC7(RX),遵循 PIC16F
2025-05-17 20:43:59
123
原创 PIC16F18877 ADC 代码
这段代码是为PIC16F18877微控制器设计的嵌入式系统程序,主要实现了LCD显示屏控制、DHT11温湿度传感器数据采集和ADC模拟量读取三大功能。程序通过配置32MHz内部时钟源初始化系统,使用4位数据总线驱动LCD显示模块,定时读取DHT11传感器获取温湿度数据并校验,同时通过ADC通道采集RA0引脚的模拟电压值转换为数字量,最终将传感器数据和ADC电压值格式化后显示在LCD的两行屏幕上。代码采用模块化设计,包含完善的硬件初始化、精确的时序控制和错误处理机制,适用于环境监测等嵌入式应用场景。
2025-05-17 20:09:50
187
原创 PIC16F18877 read DHT11 code 读取温湿度代码
这段代码是为 Microchip 的 PIC16F18877 微控制器编写的一个完整应用程序,旨在实现读取 DHT11 温湿度传感器的数据并通过 LCD 显示屏显示的功能。代码使用了 XC8 编译器,并针对 MPLAB X IDE 环境进行了配置。代码中包含了详细的硬件引脚定义和配置位设置,确保微控制器以 32MHz 的内部时钟频率运行。此外,代码通过软件模拟的方式实现了与 LCD 模块的 4 位接口通信,并对 DHT11 传感器的时序要求进行了精确处理。主程序循环中定期触发 DHT11 数据读取操作,验证
2025-05-17 18:47:15
85
原创 PIC16F18877 的主时钟 设置方法
本文介绍了一个基于XC编译器的微控制器配置示例,主要涉及时钟源的设置。通过#pragma config指令,配置了使用内部振荡器、复位时使用32MHz内部振荡器、关闭CLKOUT功能、允许时钟切换以及关闭故障保护时钟监视器。在main函数中,通过设置OSCCON1和OSCFRQ寄存器,将时钟源配置为32MHz的内部高频振荡器(HFINTOSC)。这些配置确保了微控制器在启动时使用32MHz的时钟频率,且不进行分频操作。
2025-05-17 18:29:10
239
原创 PIC16F18877定时器1的中断代码,在RA6取反输出,10ms中断
该代码实现了一个基于PIC单片机的10毫秒定时器功能,使用TIMER1在32MHz系统时钟下进行精确计时。通过配置内部振荡器为32MHz,设置TIMER1为16位模式并使用1:8预分频,使得每个计数周期为1微秒,从而通过重载值实现10毫秒定时。每次定时器溢出时触发中断,在中断服务程序中翻转RA6引脚电平(可用于产生50Hz方波或作为心跳信号),同时设置一个标志位供主循环检测以执行其他任务。整体功能是在RA6引脚上每10毫秒翻转一次电平,实现精准定时控制。
2025-05-17 17:44:17
100
原创 PIC16F18877定时器0的中断代码,在RA6取反输出
该代码使用PIC微控制器实现了一个基于TIMER0的10ms定时器中断功能。代码首先配置了系统时钟为32MHz,并初始化了TIMER0,设置其预分频为1:1024,时钟源为FOSC/4(8MHz),并通过计算得到10ms定时所需的定时器重载值。TIMER0中断服务程序在每次中断时翻转RA6引脚的状态,并设置一个标志位。主函数中初始化了系统时钟、RA6引脚为数字输出,并启用了全局中断。主循环为空,定时器中断独立处理RA6引脚的翻转操作。该代码适用于需要精确定时控制的嵌入式应用场景。
2025-05-17 16:58:15
73
原创 PIC16F877A LCD1602 DHT11 温湿度读取显示代码 MPLAB
本文介绍了一个基于PIC微控制器的LCD和DHT11温湿度传感器的接口程序。代码首先配置了微控制器的晶振频率和配置位,确保系统正常工作。接着定义了LCD接口的引脚和控制信号,以及DHT11传感器的引脚和读写操作。全局变量用于存储传感器读取的温度和湿度数据。程序提供了初始化LCD、写入数据和命令、读取数据以及延时等功能。LCD初始化过程包括多次尝试以确保正确进入4位模式,并配置显示参数。DHT11传感器通过特定的时序读取数据。整体代码展示了如何通过微控制器与外围设备进行通信,并实现数据的采集与显示。
2025-05-17 08:27:37
78
原创 51单片机的lcd12864驱动程序
本文介绍了使用8051单片机控制12864液晶显示模块的程序实现。代码通过定义端口和宏,实现了延时、蜂鸣器、LCD初始化、忙状态检查、指令写入、数据写入、位置设置、字符串显示等功能。主程序初始化硬件和LCD后,显示特定字符串,并进入主循环。程序展示了如何通过并口方式控制LCD,显示公司名称和开发板信息,为单片机开发提供了基础示例。
2025-05-16 22:26:13
212
原创 【知识点】语义分割任务中有哪些损失函数?
本文详细介绍了语义分割任务中常用的损失函数 ,并重点加入了边界感知损失(Boundary Loss) ,以解决图像分割中常见的边界模糊问题。
2025-05-16 11:23:56
114
原创 【知识点】语义分割任务的模型输出形状是什么样?
在PyTorch中,语义分割模型的输出形状通常为 (N, C, H, W),其中 N 表示批处理大小,C 是类别数量,H 和 W 分别是输出特征图的高度和宽度。例如,对于4张512x512的图像和10类语义分割任务,输出形状为 (4, 10, 512, 512)。模型输出的是每个像素的类别得分(logits),可以通过 softmax 转换为概率分布,再通过 argmax 得到每个像素的预测类别。真实标签的格式为 (N, H, W),表示每个像素的类别编号。模型输出可以通过颜色映射表可视化,生成彩色图像以展
2025-05-16 11:16:09
101
原创 【知识点】大模型面试题汇总(持续更新)
Decoder 像一名“提问者”,Encoder 像一本“百科全书”。Cross-Attention 是 Decoder 根据当前生成状态(Query),从百科全书(K/V)中检索相关内容的过程。在问题17里有一句代码:也是多头注意力qkv那一套,只不过这里encoder出来的百科全书作为KV了。tgt 是来自decoder的。这就是交叉注意力。# Step 2: Cross-Attention(Query 来自 decoder,K/V 来自 encoder)
2025-05-15 17:30:18
167
原创 【知识点】GPT模型自回归生成Token的详细过程
Transformer的自回归生成过程是一个逐步展开的动态计算过程,主要包括初始化阶段和逐步生成阶段。在初始化阶段,输入准备和内存预分配为后续生成奠定基础。逐步生成阶段通过计算查询、键和值(QKV),更新缓存,进行因果注意力计算,并预测下一个token。关键机制如KV缓存和动态掩码确保了计算的高效性和严格因果性。此外,不同的概率采样方法(如贪心搜索、温度采样和Top-p采样)影响生成结果的确定性和多样性。整个过程严格遵循自回归性质,通过并行计算优化实现高效生成。
2025-05-15 13:27:02
131
原创 【知识点】transformer的qkv计算如何建立上下文感知?
Transformer自注意力机制通过动态计算词与词之间的关系,克服了传统序列模型的局限性。以句子"The cat sat on the mat"为例,首先将每个词映射为向量并添加位置编码,生成查询(Q)、键(K)和值(V)矩阵。通过点积计算注意力分数,经过缩放和Softmax归一化后,加权聚合值向量,生成每个词的上下文感知表示。多头注意力机制进一步扩展了模型的表达能力,允许同时关注不同的语义子空间。与传统RNN相比,Transformer能够直接建模长距离依赖,且支持并行计算,显著提升
2025-05-15 10:50:32
74
原创 【知识点】Transformer自注意力计算为什么要除以√q_k 进行Scaling?
在 Scaled Dot-Product Attention 中,除以 $\sqrt{d_k}$ 的核心目的是通过调整点积结果的方差为1,避免输入到 softmax 的值过大导致梯度消失。假设查询向量 $Q$ 和键向量 $K$ 的每个元素是独立同分布的随机变量,均值为 0,方差为 1,点积 $Q \cdot K$ 的方差为 $d_k$。将点积结果除以 $\sqrt{d_k}$ 后,方差被归一化为 1。这种缩放操作不仅避免了 softmax 输入值过大导致的梯度消失问题,还使得不同维度的注意力分数分布一致,从
2025-05-15 09:59:04
99
原创 【知识点】GRPO 训练原理
GRPO (Group Relative Policy Optimization) 是一种用于大型语言模型(LLM)和视觉语言模型(VLM)训练的强化学习算法。它是一种相对优势计算方法,通过对同一输入生成多个输出回答,然后计算相对优势进行优化。不需要价值网络(Value Network),简化了训练过程通过相对评估减少了回报的高方差问题特别适合处理离散奖励信号,如问答场景中的正确/错误奖励对同样的问题采样多次,通过组内相对比较学习更好的策略。
2025-05-13 10:36:16
1348
原创 【训练】Qwen2.5VL 多机多卡 Grounding Box定位
之前的相关文章:【深度学习】LLaMA-Factory微调sft Qwen2-VL进行印章识别使用LLaMA-Factory微调sft Qwen2-VL-7B-Instruct构建最新的LLaMA-Factory镜像。
2025-05-08 16:41:56
1585
原创 VLM Qwen2.5VL GRPO训练微调 EasyR1 多机多卡训练(2)
脚本首先设置分布式训练参数(如节点数、GPU数量、主节点IP等),然后根据当前节点的RANK值区分主节点和工作节点:主节点启动Ray head服务并等待所有工作节点连接,工作节点则连接到主节点。当集群就绪后,主节点会启动训练脚本(qwen2_5_vl_7b_grpo_train.sh),同时集成了SwanLab实验跟踪工具,支持云端和本地训练日志记录。verl 依托于 Ray, 所以多机多卡使用需要使用Ray进行训练,Ray和torchrun的原理也差不多。
2025-05-02 16:09:02
512
原创 VLM-R1 训练:max_anyres_num 参数与多图处理机制解析
通过这次深入分析,我们了解到是控制 InternVL 图像分块数量、平衡细节与资源消耗的关键参数,合理调整它可以有效缓解显存压力。同时,我们也确认了 VLM-R1 框架具备完善的多图像样本处理能力。希望这些信息能帮助大家在训练自己的多模态模型时,更加得心应手!
2025-05-01 17:06:42
174
原创 如何强制关闭Qwen/Qwen3的思考功能
也就相当于enable_thinking参数你传不传这里都是默认enable_thinking就是false,模板永远给空。在之前的文章里,教学了部署和请求的时候去给参数从而关闭thinking:https://www.dong-blog.fun/post/2053。翻译出来就是,如果enable_thinking被定义了,而且enable_thinking参数是false,那么think直接给空。但是还是麻烦,能不能默认就把这个thinking给关闭,从代码层面直接关闭?
2025-04-30 11:45:36
3945
1
原创 使用 Ziegler-Nichols 法进行 PID 参数整定:实践指南
Ziegler-Nichols 方法是一种基于系统临界响应的实验整定方法,由 John G. Ziegler 和 Nathaniel B. Nichols 在 20 世纪 40 年代提出。该方法无需对系统进行复杂的数学建模,适用于大多数线性或近似线性的动态系统。Ziegler-Nichols 方法是一种经典的 PID 参数整定手段,尤其适用于缺乏精确系统模型或需快速部署控制算法的场景。虽然它不能保证最优性能,但提供了一个良好的起点。
2025-04-29 11:17:37
1532
原创 利用EMQX实现单片机和PyQt的数据MQTT互联
本文将介绍一个基于MQTT协议的设备监控与控制系统,该系统由两部分组成:模拟单片机设备和PyQt客户端。系统运行后,设备模拟器会每2秒发送一次GPS数据,PyQt客户端会实时显示这些数据,并可通过按钮或自定义文本发送控制命令。设备模拟器使用随机生成的GPS坐标数据,模拟设备移动的场景,同时能够对不同类型的命令做出响应。该系统基于发布-订阅模式,采用MQTT协议实现设备与客户端之间的双向通信。这种设计解决了MQTT回调线程与GUI线程的冲突问题,确保了应用程序的稳定性。):客户端向此主题发布控制命令。
2025-04-28 17:37:52
915
原创 InternVL 3的技术深度分析,代码与原理
我将对InternVL 3进行更深入的技术分析,结合代码和公式来详细阐述其核心技术、训练方法和推理部署。
2025-04-18 18:54:04
363
STM32F103VET6 正点原子 移植 模板 ,模仿正点原子工程
2019-12-17
TI tiva tm4C ARM 库函数手册
2019-11-26
LCD12864 万年历 单片机 农历 显示 温度DS18B20 DS1302 AT24C02
2019-12-05
avr MEGA16 DS1302 LCD1602 万年历 时钟显示 proeus 仿真 + 程序
2019-09-11
kaggle 猫狗数据集二分类 系列(1)构建模型进行二分类,保存模型,画出走势图 代码
2019-09-16
51单片机 示波器 LCD12864 淘宝资料 论文 淘宝爆款
2020-01-19
android P 9.0 支持HTTP
2019-09-25
PIC16F887 官方文档 用户手册 另加2个仿真例程 LCD1602 矩阵键盘 拨号 计算器 音乐盒
2019-09-19
猫狗大战得到的模型.zip
2019-09-20
STM32F103RCT6 PCB 原理图 打板 原子 mini
2019-11-29
SHT3x_Datasheet_digital英文手册.pdf
2021-02-21
MSP430F249 仿真实验 proteus
2020-07-13
51单片机 普中V2 数字时钟 电子时钟 万年历 DS1302 LCD1602 AT24C02
2020-10-26
Gitxmind GIt bash 使用 xmind
2021-07-11
STM32F103C8T6 单片机 ESP8266 12F接入机智云
2020-09-05
工具软件 MSP430F149下载程序所需要用到的软件
2020-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人