自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (5)
  • 收藏
  • 关注

原创 Qwen2.5-VL-7B如何从输入到输出-代码解析(最终输入的解析)

本文总结了Qwen2.5-VL-7B多模态模型将文本、图片和视频输入转换为模型输入格式的完整流程。关键步骤包括:1)使用processor处理原始信息,生成图片和视频的切块特征;2)对文本中的特殊标记(image_token/video_token)进行替换处理,将每个图片/视频转换为对应数量的placeholder标记;3)最终通过tokenizer将处理后的文本转换为input_ids和attention_mask。整个过程实现了多模态信息的统一编码,为模型处理提供了规范的输入格式。

2025-08-11 16:49:00 356

原创 Qwen2.5-VL-7B如何从输入到输出-代码解析(image_processor解析)

文章摘要:本文解析了Qwen2.5-VL-7B模型中从文本和图像输入到图片切块处理的过程。通过对AutoProcessor初始化的代码分析,展示了Qwen2VLImageProcessor的配置参数(如归一化、尺寸调整等)以及Qwen2TokenizerFast的特殊token设置。重点介绍了processor如何将输入的text和images转换为模型可处理的张量形式,为后续的图像特征提取提供基础处理。文章是Qwen2.5-VL系列代码解析的第三篇,补充了前两篇关于图片解析和文本转换的内容。

2025-07-31 11:29:27 1043

原创 Qwen2.5-VL-7B如何从输入到输出-代码解析(chat_template解析)

本文深入解析了Qwen2.5-VL模型的chat_template处理机制,通过代码追踪揭示了从输入消息到格式化文本的转换过程。文章首先展示正常调用时如何通过processor.apply_chat_template()处理包含图片和文本的混合消息,然后层层深入分析了transformers库中的实现路径,最终定位到通过jinja2模板渲染的核心逻辑。作者还提供了伪代码形式的模板结构说明,详细解释了模板如何处理system/assistant角色、图片/视频标记以及生成提示等元素。该分析为理解多模态模型的消

2025-07-19 15:33:08 904

原创 Qwen2.5-VL-7B如何从输入到输出-代码解析(图片解析)

文章摘要: 本文解析了Qwen2.5-VL-7B模型的架构与实现代码。作者从环境部署入手,展示了如何使用transformers库加载该多模态生成模型(支持图像理解与文本生成)。重点分析了模型的双分支结构:视觉分支(VisionTransformer)处理图像输入,包含32层注意力块;语言分支(TextModel)处理文本,具有28层解码器。文章还提供了标准的推理流程示例,包括图像URL处理、模板构建和生成结果解码。特别指出可通过调整min_pixels/max_pixels参数来平衡视觉token数量与性

2025-07-19 11:24:03 983

原创 OCR表格识别效果对比

在当前数字化转型加速的背景下,光学字符识别(OCR)技术尤其是表格识别领域正经历从传统算法向AI大模型的范式转移。我最近通过系统性技术调研发现,针对开源OCR工具在表格识别场景的横向对比研究(传统基于规则和轻量级深度学习的OCR方案和新兴的多模态大模型方案)存在显著空白。基于此,本研究拟以2025年6月为时间节点,从多种复杂表格出发,对主流开源方案(包括PaddleOCR、MonkeyOCR、PP-StructureV3、Qwen2-VL)展开对比实验,旨在为工业界选型提供数据支撑。

2025-06-25 10:48:08 1183

原创 PaddleOCR环境安装-踩坑记录

本文记录了基于Docker环境部署PaddleOCR的完整过程及问题解决。作者选用PaddlePaddle 3.0 GPU版Docker镜像进行安装,在安装PaddleOCR时遇到PyYAML冲突、字体文件缺失、模型下载失败等系列问题。通过手动删除PyYAML、下载字体文件到指定目录、修改下载路径代码等操作逐步解决问题。最终成功运行OCR识别测试,验证了部署的有效性。全文详细记录了每个报错现象及对应的解决方案,为后续类似部署提供了实用参考。

2025-06-16 13:50:01 1461

原创 每天一个Python小技巧:使用异步编程asyncio.create_task被光速打脸的一天(十一)

大家好,今天继续我们的"每天一个Python小技巧"系列。近期需要用asyncio.create_task做异步编程,自己学习,然后就经历了很黑暗的一天,每次都觉得自己的代码写好了,然后就被光速打脸,记录一下,希望大家别犯我这种错误。

2025-05-15 11:01:53 828

原创 llamafactory-记录一次消除模型随机性的成功过程

在使用 LLamafactory 部署生成式模型(如 LLaMA、Qwen 等)时,开发者常会遇到以下问题:❗️ ‌即使设置 do_sample=False,模型输出依然存在不可控的随机性‌这在 ‌文本分类、事实问答、代码生成‌ 等确定性任务中尤为致命。本文将从一系列错误中,找到一套成功的解决方案。

2025-05-13 17:20:57 1211

原创 Deepseek-v3-之MLA代码解析(二)

本来想延续之前的博客风格(从输入到输出),但是这里Deepseek-V3属实太大了,我在服务器上跑不起来了,所以这里挑出一些和之前的代码不同的进行解析,本篇从核心之一MLA出发解析

2025-05-12 17:26:39 386

原创 Deepseek-v3-之MOE代码解析(一)

本来想延续之前的博客风格(从输入到输出),但是这里Deepseek-V3属实太大了,我在服务器上跑不起来了,所以这里挑出一些和之前的代码不同的进行解析,本篇从核心之一MOE出发解析loss free和topkrouter以及最后的MOE

2025-05-12 13:51:40 705

原创 每天一个Python小技巧:contextmanager秒变上下文管理器(十)

大家好,今天继续我们的"每天一个Python小技巧"系列。在日常python编程中,有许多地方都可能会发生资源泄漏,今天介绍@contextmanager来解决这个问题,我找了几个常见的场景,大家一起来发现更多的场景吧

2025-05-07 09:57:31 213

转载 已解决【nvidia-smi】Failed to initialize NVML: Driver/library version mismatch解决方法

已解决【nvidia-smi】Failed to initialize NVML: Driver/library version mismatch解决方法

2025-05-06 13:19:26 626

原创 每天一个Python小技巧:用defaultdict魔法方法打造智能字典(九)

大家好,今天继续我们的"每天一个Python小技巧"系列。在日常Python编程中,处理字典时最常遇到的错误之一就是KeyError。当访问不存在的键时,Python会直接抛出异常,打断程序流程。之前写过一篇每天一个Python小技巧:用__missing__魔法方法打造智能字典(三)今天要介绍的collections.defaultdict可以也完美解决这个问题,让你的代码更加健壮和优雅!

2025-04-30 14:13:05 408

原创 每天一个Python小技巧:5个优雅处理字符串的方法(八)

大家好,今天继续我们的"每天一个Python小技巧"系列。字符串操作是Python编程中最基础也最常用的功能之一。掌握这些技巧能让你的代码更加简洁高效!今天分享5个‌实用字符串处理技巧‌,助你提升编码效率。

2025-04-30 11:07:39 183

原创 每天一个Python小技巧:混淆矩阵的高效生成+画图(七)

大家好,今天继续我们的"每天一个Python小技巧"系列。今天给大家分享Python中生成混淆矩阵的几种实用方法,帮助大家更好地评估分类模型性能。混淆矩阵是机器学习中非常重要的评估工具,它能直观展示模型的分类效果。

2025-04-29 14:07:38 262

原创 每天一个Python小技巧:高效处理列表的隐藏技巧(六)

大家好,今天继续我们的"每天一个Python小技巧"系列。之前有几篇是在介绍高效处理列表的技巧每天一个Python小技巧:使用enumerate()同时获取索引和值(一、每天一个Python小技巧:优雅的列表推导式(四),今天继续补齐几个小技巧

2025-04-28 10:19:54 170

原创 每天一个Python小技巧:优雅的字典推导式(五)

大家好!今天继续我们的"每天一个Python小技巧"系列。昨天我们学习了列表推导式,今天让我们来看看它的近亲——字典推导式(Dictionary Comprehension)。

2025-04-27 09:20:20 303

原创 每天一个Python小技巧:优雅的列表推导式(四)

大家好!今天继续我们的"每天一个Python小技巧"系列。今天要分享的是Python中非常强大且优雅的特性——列表推导式(List Comprehension)。

2025-04-27 09:12:35 343

原创 每天一个Python小技巧:用__missing__魔法方法打造智能字典(三)

大家好,今天继续我们的"每天一个Python小技巧"系列。大家在需要实现自动填充默认值的字典时都是怎么做的呢?我之前都是判断这个key是否在字典中,每次都要显性查询,今天和大家分享一个小技巧,让字典自动帮你赋值,一起来看看吧。

2025-04-26 09:34:33 711

原创 每天一个Python小技巧:Flask流式响应+g对象实战:高效处理大数据请求(二)

在Web开发中,处理大文件下载或实时数据推送时,传统的一次性响应往往会占用大量内存。本文将介绍如何使用Flask的Response对象结合g对象实现高效的流式输出。

2025-04-25 09:59:02 651

原创 每天一个Python小技巧:使用enumerate()同时获取索引和值(一)

大家好!这是"每天一个Python小技巧"系列的第一篇文章。作为Python开发者,我们经常需要遍历列表同时获取元素和它的索引。今天我要分享一个简单但非常实用的内置函数enumerate(),它能让你写出更优雅、更Pythonic的代码。

2025-04-24 16:48:58 210

原创 大模型不是在推理,只是在复述??

看见一篇论文,论文中建立了一个推理题库,通过将推理问题进行改写(通过只改写几个字,颠覆整个问题)让大模型去做推理,结果却差了很多,即使加了few-shot也没有解决这个问题,我这里简单从题库中用百度的Deepseek-R1做了一下测试,结果很差呢。

2025-04-14 16:07:08 332

原创 MiniCPM-V-2_6如何从输入到输出-代码解析(一)

之前写的等文章还是有不少人看的,NLP基本就是这样的处理流程了(当然有我还没发现的模型架构,比如说RWKV),这次尝试从Minicpm-V出发,将代码改写成我们熟悉的样子。

2025-03-20 16:31:36 554

原创 Qwen1.5-MoE-A2.7B-Chat如何从输入到输出-代码解析

与Qwen1.5-14B-Chat如何从输入到输出-代码解析一致,这里使用的是RepetitionPenaltyLogitsProcessor,Deepseek-llm中的代码要做一下修改从输入到输出的逻辑是没有发生变化的。

2025-03-10 15:30:12 728

原创 Qwen1.5-14B-Chat如何从输入到输出-代码解析

import re把这些代码保存成llama.py,放在Qwen1.5-14B-Chat的代码中,就可以正常使用了prompt = "介绍一下LLM"{"role": "system", "content": "你是一个有用的AI助手"},

2025-03-10 10:28:15 378

原创 Deepseek-MOE-16B-chat如何从输入到输出-代码解析

之前写的几篇关于大模型从输入到输出的代码都是transformer结构的代码,这次挑战一下MOE的代码,我是基于Deepseek-MOE-16B-chat的代码做的修改,这中间关于模型结构deepseek-llm-7b-chat调整的内容不是很多,主要是MOE的部分做了调整。请先阅读上一篇,关于完全一样的内容,这里不再重复

2025-03-06 17:08:52 937

原创 Deepseek-LLM-7B-chat如何从输入到输出-代码解析(一)

到此基本就写完了代码,最后补充上一点import和实际调用的代码import re把这些代码保存成llama.py,放在deepseek-llm-7b-chat的代码中,就可以正常使用了{"role": "user", "content": "你是谁?"}代码量在450行,原始代码量是1100,减少一半的代码的小目标基本实现(成功)

2025-03-04 09:15:11 873

原创 ChatGLM2-6B如何从输入到输出-代码解析(二)

解析了Chatglm2-6b的模型架构,并和Chatglm-6b进行对比,这一篇的目的是讲明白attention和rotaryEmbedding,并实现整体目标,完全替代modeling_chatglm.py,并将代码缩减到一半儿。

2025-02-25 18:25:39 402

原创 ChatGLM2-6B如何从输入到输出-代码解析(一)

上周整理了Chatglm-6b的代码,对模型从输入到输出一目了然,对模型内几个主要的模块更加熟悉了,这周继续出发,对Chatglm2-6b下手,看一下两个版本的代码有哪些改动,这周稍微有点不一样的是,我是直接在modeling_chatglm.py上进行修改的,一起来看一下吧。

2025-02-25 15:54:33 1249

原创 gelu-代码解读

最近写到了chatglm-6B的代码解读,发现gelu这么常用的激活函数的来龙去脉我都没搞明白,所以去翻了一下论文和代码,不翻不知道,一翻吓一跳啊,原来我们经常看到的代码竟然是近似形式,它还有很多的背景知识,一起来看一下吧。

2025-02-21 14:37:25 335

原创 ChatGLM-6B如何从输入到输出-代码解析(二)

已经从输入得到了对应的input_ids、attention_mask、position_ids等模型需要的变量,递归的输入模型也已经能得到输出,模型还是个黑盒子,我们这篇就画一下模型的流程图,在流程图的基础上拆解一下代码,希望代码量少一半,且能正常从输入到输出。

2025-02-21 11:18:13 1031

原创 ChatGLM-6B如何从输入到输出-代码解析(一)

将输入得到输出的相关代码摘出来,主要是在使用past_key_values部分比较复杂,因为相对应的attention_mask和position_ids也会发生变化,还没有涉及到模型部分,下一步会进入模型解构部分,期待吧。

2025-02-18 15:22:57 362

原创 MiNicpm-o2.6和MiNicpm-V2.6模型架构对比

MiNicpm-o2.6和MiNicpm-V2.6在哪些方面有变化呢?为什么都是8B模型呢?本文探索了这些问题,且提出了一些自己想不透的问题

2025-01-23 14:19:43 984

原创 手撕RNN代码

简单介绍了RNN,通过三种方法实现RNN

2024-11-21 16:53:54 235

原创 huggingface之tokenization基础结构Trie-代码解读

对字典树的代码进行解读,并对其中发现的一个bug进行标注且修改

2024-10-30 17:25:51 377

原创 attn_mask-代码解读

看到关于attn_mask给出了一个新的源文件,里面包含了创建4d_causal_attention源码,那是怎么实现的呢,一起来看一下吧。

2024-10-22 14:49:10 1381

原创 ROPE及各种变体-代码解读

看到关于rope给出了一个新的源文件,里面包含了rope及多种变体的源码,那都有哪些变体呢,又是怎么实现的呢,各个变体之间的区别和联系是什么呢,一起来看一下吧。

2024-10-17 11:57:52 1328 3

原创 MINICPM-V2_6图像+文本得到embedding-代码解读

基于将不同长度的图片patch embedding通过resampler变换成固定长度的patch embedding,那这个patch embedding是怎么和文本embedding到一起的呢?本篇从此出发,一起来看一下吧。

2024-09-25 17:22:42 988

原创 MINICPM-V2_6之图像embedding的resampler-代码解读

既然是attention,那其中必然有位置embedding,这里使用的是ROPE,只是因为是2D,所以这里也要处理一下得到2D的位置embedding"""输入:embed_dim: 向量维度输出:demo:"""else:grid = np.meshgrid(grid_w, grid_h) # 生成网格,但是这里是w在前;torch.meshgrid是h在前grid = np.stack(grid, axis=0)# 在第0维拼接"""输入:embed_dim: 向量维度。

2024-09-13 11:53:03 1459

原创 MINICPM-V2_6图像得到embedding-代码解读

通过阅读代码,找到MINICPM-V2_6由图片得到embedding(位置编码和像素编码)的过程,并将代码本地化,每个代码都有对应的输入和输出,并详细的介绍了2D位置编码得到的过程。

2024-09-11 17:38:26 1181

orb-surf-brisk-freak

包含orb-surf-brisk-freak四种特征提取方法,以及时间的计算,并在识别到物体以后,进行跟踪。

2017-04-14

PCLDebug.props

pcl1.8.0配置vs2015属性列表

2017-03-13

passthrough

里面包含cmake文件和vs2015的可执行文件

2017-04-21

opencv+Meanshift

使用opencv的Meanshift函数写的一个小demo,需要自己cmake一下,链接到自己的opencv库

2017-03-30

normal_estimation_using_integral_images

normal_estimation_using_integral_images

2017-04-24

空空如也

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

TA关注的人

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