- 博客(142)
- 收藏
- 关注
原创 Bag of Tricks for Image Classification with Convolutional Neural Networks(图像分类神经网络训练技巧)
该篇文章其实就是各个网络中训练技巧的一个集合。由于之前在图像分类中取得的大部分的进展其实都是由训练过程的改进得到的,比如数据增强和优化方法的改进得到的。但是在提出方法的文章中,我们只能在实验细节或者开源代码中见到,所以该篇文章就将这些训练技巧进行了汇总,并进行实验进行验证评估。实验证明,将这些改进结合起来能够将ResNet-50的准确率由75.3%提升到79.29%,实验还验证了,图像分类精度的提高也能应用在其他领域,带来更好的迁移学习的性能。
2022-11-18 17:29:39
1710
2
原创 BN层详解(含有公式推导过程)
如果以上的你懂看明白的话,BN你就理解的差不多了。BN层就是用在激活函数前,用来使上一层的输出,分布在均值为0,方差为1的情况下,也就是对下一层的输入做归一化的操作,这样就能够使它经过激活函数时能够有一定的梯度,从而避免值太大而进入饱和区,梯度就非常小了,不利于梯度下降。并且除了均值和方差,BN层还有自己的学习参数γ和β,网络通过学习来得到想要的数据分布,参数γ和β在训练中通过反向传播中的γ与β求得梯度,从而不断改变每个通道的γ和β参数。
2022-09-19 15:46:54
23393
7
原创 RepVGG论文详解(结合代码)
主要创新点为结构重参数化。在训练时,网络的结构是多分支进行的,而在推理时则将分支的参数进行重参数化,合为一个分支来进行的,所以推理的速度要比多分支网络快很多,并且精度也比单分支的网络更高。
2022-09-16 21:27:22
9291
7
原创 理解ConvNeXt网络(结合代码)
ConvNeXt网络本身没有什么亮点,全是应用的现有的方法来进行网络的调整,特别是大量细节的设计都是参考了swin transformer的网络结构的。并且ConvNeXt是以ResNet50网络为backbone来进行调整的,所以ConvNeXt的网络结构非常简单,一目了然,理解起来也是非常容易的。并且不仅精度比swin Transformer高,推理速度还快。综合来说,ConvNeXt是一个非常好的文章。这里放上我看到的一个网友对ConvNeXt网络的评价。“感觉这篇论文的思路是照着swin-
2022-09-13 11:14:08
24937
8
原创 目标检测算法中,COCO评价指标的解析
AR(averagerecall)即平均召回率,是IoU在[0.5,1.0]上所有recall的平均,对于不同的iou取。与图像分类的评价指标有所不同,图像分类是在所有的图像中分类正确和错误的概率。AP为IOU从0.5开始,每次增加0.05直到0.95,一共有十个IOU值,求出每一个IOU的AP,然后求平均得到。OB(IOU=0.5)表示当目标框与GTbox的IOU大于0.5时就为Ture,小于0.5就为False。FPIoU...
2022-07-20 19:58:05
3609
1
原创 关于目标检测中正负样本的理解
一开始学习时我没有太关注正负样本的问题,我以为正样本就是标注好的GT box,然而学到后面发现有很多的区别正负样本的方法,我才知道自己理解错了。正例是用来使预测结果更靠近真实值的,负例是用来使预测结果更远离除了真实值之外的值的。看了好几篇博文之后我大概有了一些基础的理解,在分类问题中,对于狗这一类来说,所有标签为狗的图片都是狗类的正样本,其他的图片都是负样本,正负样本也就是所有图片都进入损失函数进行梯度下降。而在目标检测中的位置回归的问题中就不适用了,因为不能将所有的预测框都进入损失函数进行计算,这样的话就
2022-07-07 14:32:58
5449
原创 什么是前缀缓存,缓存命中
摘要:DeepseekV4 API的缓存机制通过前缀缓存(KVCache)优化计算效率。当新请求与缓存中的前缀匹配时(缓存命中),直接复用已有计算结果;否则需重新计算(未命中)。该机制适用于多轮对话、批量推理等共享前缀的场景,但要求严格的前缀匹配。
2026-05-17 00:02:42
276
原创 wsl2快捷指令
本文介绍了WSL(Windows Subsystem for Linux)的基本操作指南,包括启动Ubuntu子系统、查看已安装发行版、更新WSL内核以及卸载子系统的方法。同时说明了Windows与WSL之间的文件互访方式:在WSL中通过/mnt/访问Windows磁盘,在Windows中通过\wsl$访问Linux文件。还提及了跨系统运行程序的特性,WSL2可直接执行Windows程序,而Windows也能运行Linux命令。这些功能极大提升了Windows与Linux系统间的互操作性。
2026-05-11 00:30:45
37
原创 rerank模型原理
Rerank是RAG系统中的关键技术,通过两阶段检索提升精度:先用向量模型粗筛候选文档,再用交叉编码器深度评估相关性。相比单纯依赖Embedding模型,Rerank能解决语义漂移问题,实现查询与文档的深度交互。其核心优势在于突破Bi-Encoder的局限性,通过Transformer的交叉注意力机制精确判断查询意图与文档匹配度。典型应用场景包括处理歧义查询(如"苹果的价格")和过滤低质量内容。最佳实践建议结合Embedding初筛和Rerank精排,既保证效率又提升准确性。
2026-05-06 23:32:29
306
原创 superpowers、gstack、gsd、mattpocock/skills原理解析与对比
本文介绍了三个AI编程辅助工具:Superpowers插件、gstack和gsd系统。Superpowers包含3个命令、1个代理和14个技能,支持从头脑风暴到代码审查的全流程开发;gstack是一套结构化工作流技能集,强调完整实现和用户主权;gsd系统专注于项目管理,采用计划-执行-验证的循环模式。这些工具都致力于通过标准化流程、知识沉淀和人机协作来提高开发效率和质量,其中Superpowers即将弃用命令转向技能化操作,gstack的特色是内置浏览器功能,而gsd则强调阶段化项目管理。
2026-04-27 23:41:49
666
原创 claude code高级使用手册
本文介绍了ClaudeCode的多项实用功能:1)支持三种模式切换;2)提供bash终端功能,可执行命令和打开文件;3)包含多种快捷键操作,如换行、后台运行服务等;4)具有版本回滚和上下文管理功能;5)支持长期记忆存储和多级文件管理;6)可创建独立子代理(subagent)执行任务;7)提供插件安装功能快速扩展能力。特别强调了危险参数使用、服务管理、文件版本控制等注意事项,展示了ClaudeCode作为AI编程助手的强大功能体系。
2026-04-23 23:07:30
362
原创 learn claude code学习记录-S06
本文探讨了AI系统中上下文压缩的必要性和实现方法。随着任务复杂度增加,上下文会快速膨胀,导致注意力分散、成本上升和任务中断。作者提出三层压缩策略:1)大结果仅保留预览,2)旧结果替换为占位符,3)生成历史摘要。关键数据结构包括持久化输出标记、压缩状态记录和微压缩边界规则。有效的压缩应保留任务目标、关键动作、修改文件和下一步计划,确保工作连续性。手动触发压缩命令或工具本质上执行第三层摘要功能。
2026-04-13 23:25:40
97
原创 learn claude code学习记录-S05
摘要:Skill系统是一份可复用的任务说明书,指导Agent如何执行特定任务。系统分为两层:轻量目录(技能名称和描述)和按需正文(详细步骤)。调用过程包括:1)提出需求;2)调用skill工具并传入参数;3)获取技能详细描述;4)模型结合描述执行操作(如调用bash命令);5)返回结果并由模型生成最终回复。该系统通过渐进式披露实现高效的任务处理。
2026-04-13 23:16:01
92
原创 learn claude code学习记录-S04
摘要:文章探讨了智能体系统中父子代理架构的设计原理与实现方案。核心观点是子代理通过创建独立上下文来解决主对话被局部任务噪声污染的问题。文章详细介绍了子代理的五个关键实现步骤:(1)父代理通过task工具派生子任务;(2)子代理使用独立消息列表;(3)仅配备必要基础工具;(4)仅返回摘要结果;(5)定义子代理的数据结构。此外,文章提出了从简单到复杂的四个实现版本,并讨论了上下文复制的fork机制。最后以claudecode中的Agent工具为例展示了实际应用场景。
2026-04-13 22:49:06
493
原创 learn claude code学习记录-S03
摘要:文章探讨了AI模型在多步任务中容易遗忘进度的问题,提出通过建立显式的计划状态来解决。核心方案包括:1)创建轻量级计划系统,包含待办事项、状态标记和自然语言描述;2)设计数据结构跟踪任务状态和更新频率;3)集成任务管理工具;4)设置更新提醒机制;5)将计划状态纳入主循环维护。该方法将任务管理从模型内部转移到外部可观察状态,有效解决任务漂移问题,提升多步任务的执行连贯性。
2026-04-13 00:11:20
246
原创 learn claude code学习记录-S02
本文介绍了工具调用的安全实现方案。核心包括:1)路径安全处理,通过safe_path函数验证路径合法性,防止目录穿越攻击;2)工具分发机制,使用dispatch map将工具名映射到处理函数;3)消息规范化流程,确保API调用符合协议要求,包括处理工具调用结果配对、角色交替等约束条件。系统通过严格的路径检查、工具函数映射和消息预处理,在保证功能完整性的同时实现了安全性控制,特别是防范了路径逃逸和API协议违规风险。
2026-04-12 23:01:24
330
原创 learn claude code学习记录-S01
这篇文章介绍了基于Claude Code的Agent循环实现方法。关键点包括:1)工具调用结果需写入消息历史作为下一轮输入;2)实现了一个最小Agent循环框架,处理多工具调用(通过tool_use_id区分);3)工具结果以user角色返回。作者通过read/write工具验证流程,观察到模型能发起多个工具调用(Bash/Glob),但存在路径大小写、文件类型不匹配等问题。最终模型成功完成文件读写操作,系统还实现了权限管控功能。整个过程展示了从工具调用、错误处理到最终任务完成的完整Agent工作流程。
2026-04-12 22:21:08
513
原创 抓取claude code请求体
本文介绍了使用Charles抓包工具分析Claude AI接口请求的方法。首先下载并安装Charles抓包工具,然后修改Claude配置文件settings.json,将ANTHROPIC_BASE_URL改为http协议,并设置HTTP/HTTPS代理为127.0.0.1:8888。配置完成后,在终端启动Claude并发送"你好"请求,即可在Charles中捕获到API请求数据。最后建议使用在线JSON编辑器(如json4u.cn)查看和分析抓取到的请求内容。该方法适用于开发者调试和分
2026-04-12 00:51:55
255
原创 HTTPS原理讲解(图文)
HTTPS安全通信机制解析:从HTTP明文传输的缺陷出发,通过对称加密解决数据泄露问题(使用共享密钥DKUFHNAF897123F),但面临密钥分发安全难题。引入非对称加密(公钥加密/私钥解密)实现密钥安全传输,但仍存在中间人攻击风险。最终通过CA证书体系验证身份,构建完整安全链路。整个过程通过四次密钥交换建立安全通道,实现端到端加密通信,虽然会降低访问速度,但有效解决了数据篡改、窃听和身份伪造三大安全隐患,形成当前HTTPS协议的核心安全框架。
2026-04-11 22:15:21
68
原创 MOE原理解析
摘要:混合专家模型(MoE)通过稀疏化架构有效解决了大模型计算成本问题。其核心是将Transformer的FFN层拆分为多个专家组,利用门控网络选择top-k专家激活,显著降低推理参数量。MoE技术现已成为构建万亿参数模型的主流方案,但面临专家负载均衡的关键挑战,需通过噪声注入、辅助损失和专家容量限制等策略确保训练稳定性。该架构虽在卷积网络中已有类似思想,但在大模型时代展现出独特优势。
2026-03-03 22:54:46
445
原创 如何计算KV Cache占的显存大小
KVCache是Transformer解码器推理加速的关键技术,通过缓存已生成token的Key和Value避免重复计算。其核心原理是:1)解码器使用因果掩码(CausalMask)确保只关注已生成内容;2)每次生成新token时只需计算当前Q,而K和V可复用之前缓存的结果。显存消耗主要取决于序列长度和模型维度,计算公式为:batch_size×n_layers×2×d_model×sequence_length(2对应K和V)。典型7B模型处理2048长度序列时约需2GB显存。该技术显著提升大模型推理效率
2026-02-27 22:16:24
592
原创 dify的web页面如何传入user用户信息进行对话,而不是uuid
摘要:本文探讨了在Dify应用中修改用户ID的方法。该方法解决了默认UUID显示问题,实现了自定义用户ID的功能。
2026-02-04 23:35:00
613
原创 将dify接入钉钉机器人中
本文介绍了如何将Dify接入钉钉机器人实现智能问答功能。主要步骤包括:1)在钉钉开放平台创建应用并配置企业机器人;2)安装SDK并开发消息处理代码,实现流式响应;3)通过API将Dify工作流集成到机器人中,支持多轮对话;4)扩展功能实现图片问答,通过上传图像到Dify进行处理。文章提供了详细的代码示例,包括消息接收、卡片更新和流式响应处理逻辑,以及错误处理机制。最终实现了一个支持文字和图片交互的智能机器人系统。
2025-12-15 22:14:33
662
原创 Windows/Linux离线部署IndexTTS2
本文介绍了IndexTTS2的在线和离线安装方法。在线部署推荐使用uv工具安装,需注意Windows和Linux环境下的参数差异,建议配置HF镜像源加速下载。离线安装需提前下载所有模型并修改代码中的模型路径,推荐使用conda+pip配置环境。文中详细列出了模型下载命令和代码修改要点,包括替换from_pretrained()路径、修改hf_hub_download()为os.path.join()以及调整配置文件等。完成环境配置、模型下载和文件修改后,直接运行webui.py即可启动项目。
2025-12-05 22:18:48
1711
原创 langchain1.0从零部署教程
LangChain模型调用与Agent开发实践摘要 本文介绍了LangChain框架下大模型调用与Agent开发的实践方法。主要内容包括:1) 三种模型调用方式:本地Ollama、通义千问和智谱GLM的安装配置与接口调用示例;2) 模型调用进阶功能:记忆管理(消息列表)、流式响应、批处理(含并发控制)和结构化输出(Pydantic模式);3) Agent开发基础,展示了LangChain 1.0新特性create_agent API的极简调用流程。通过一个流式多轮问答机器人的完整实现案例,演示了系统提示词设
2025-11-17 22:01:56
1447
原创 关于dify中http节点下载文件时,文件名不为原始文件名问题解决
摘要:在使用HTTP节点下载文件时遇到文件名始终为UUID的问题。即使设置了Content-Disposition请求头仍无效。经查证需修改后端代码,特别是docker部署时需要修改api/core/workflow/nodes/http_request/node.py文件,约190行处。关键修改是获取content_disposition_filename并将其作为filename参数传递给tool_file_manager.create_file_by_raw方法,这样才能正确输出原始文件名而非UUID
2025-11-04 23:11:15
634
2
原创 若依使用基本步骤
本文介绍了基于RuoYi-Vue框架的前后端分离权限管理系统的部署与开发流程。后端部分需下载RuoYi-Vue项目,配置MySQL和Redis后启动服务;前端部分使用RuoYi-Vue3项目,安装依赖后启动。系统支持自动生成代码功能,并以课程管理为例,详细说明了前后端交互实现:前端通过course.js封装API接口,index.vue文件负责页面展示和逻辑处理,使用Vue3的组合式API(ref/reactive)实现数据响应式;后端提供相应的RESTful接口。文章重点解析了前后端交互的核心代码结构和工
2025-10-13 00:06:24
774
原创 什么是异步
摘要:异步编程的核心概念包括协程、事件循环和任务。协程是用async def定义的可暂停函数,需通过await调用;事件循环负责调度协程执行,检查状态并分配控制权;任务则封装协程并跟踪其状态。使用异步代码需定义协程、包装为任务(通过await或create_task),并用asyncio.run()启动事件循环。await关键字让出控制权实现异步等待。
2025-10-09 23:21:15
437
原创 大模型问答原理解析
本文介绍了如何构建兼容OpenAI API格式的大模型服务。主要内容包括:1)用户输入采用OpenAI标准格式,包含system、user、assistant三种角色;2)服务端处理流程:将输入转换为模板格式并tokenize,调用大模型生成响应后解码返回;3)支持流式和非流式两种输出方式;4)提供了完整的Python实现代码,包括服务端(server.py)和客户端(client.py)。服务端基于FastAPI框架,使用Transformers库加载Qwen3-4B模型,实现了/v1/chat/comp
2025-10-09 22:12:35
324
原创 解决Dify中接入xinference模型无法开关思考模式和使用function calling的问题
摘要:使用Xinference作为模型供应商时缺少思考模式开关,可能是由于Dify未适配所致,建议改用兼容OpenAI格式的插件。另外,部署Qwen3需选择ToolCall才能正常使用FunctionCall功能。
2025-09-13 12:25:13
930
1
原创 解决dify前端页面中公式显示的问题
摘要 在使用Dify平台时遇到公式显示错误问题,通过在GitHub上查找并应用解决方案后,成功修复了前端公式显示异常的情况。该问题得到有效解决,现公式已能正常显示。
2025-08-03 15:10:15
525
原创 解决dify调用xinference部署的CosyVoice2.0-0.5B失败问题
摘要:本文分享了部署CosyVoice2.0-0.5B模型时遇到的问题及解决方法。首先在xinference部署时遇到环境冲突,通过设置XINFERENCE_ENABLE_VIRTUAL_ENV=1为模型创建独立Python环境解决。随后dify调用失败,发现是ffmpeg安装问题,改用conda-forge源安装后成功解决。两个关键步骤:使用虚拟环境隔离模型依赖,以及正确安装ffmpeg库。
2025-08-03 14:54:11
904
原创 关于Dify聊天对话名称无法自动生成的原因和解决方法
摘要:本文分析了Dify平台对话名称生成问题的原因与解决方法。主要问题包括默认生成"newconversation"名称、中英文不匹配等,其根源在于系统模型配置不当。解决方案包括:(1)改用非推理模型;(2)修改源码正则逻辑。作者建议使用8B以上模型,并发现直接采用首个问题作为名称更实用。通过调整提示词和修改生成函数,最终实现了自定义对话名称功能。
2025-06-04 22:25:36
1220
1
原创 大模型基本原理(四)——如何武装ChatGPT
传统的LLM存在几个短板:编造事实、计算不准确、数据过时等,为了应对这几个问题,可以借助一些外部工具或数据把AI武装起来。实现这一思路的框架包括RAG、PAL、ReAct。
2025-02-10 00:19:29
628
原创 大模型基本原理(三)——如何正确使用ChatGPT
想要正确使用Chat GPT,就需要提高和AI沟通的质量和效率,这就需要提示工程(Prompt Engineering)。ChatGPT的缺陷:由于LLM是根据预测下一个最大概率token来生成文本的,所以ChatGPT对于没有学习过的知识或者不了解的领域,经常会一本正经的胡言乱语。正确使用ChatGPT的技巧有三个:小样本提示、思维链、分步骤思考。
2025-02-09 22:04:20
518
原创 大模型基本原理(二)——ChatGPT的工作原理
通过大量的文本数据集进行无监督训练,得到一个基座模型(只会续写文本)通过一些人类撰写的高质量对话数据对基座模型进行监督微调,得到一个微调后的基座模型(除了能续写文本,还具备更好的对话能力)用问题和对各对应回答的数据,让人类标注员对回答进行质量排序,基于这些数据,训练出一个能对回答进行评分预测的奖励模型。接下来让我们对每一个步骤进行详细解读。
2025-02-09 21:32:45
678
原创 大模型基本原理(一)——Transformer工作原理
解码器的自注意力模块和编码器不太一样。当编码器处理各个词的时候,会关注输入序列里所有其他词,而解码器中,自注意力模块只会关注当前词和它前面的其他词。2、位置编码:将位置编码向量和输入的每个词的向量相加,就能够使每个词都具备位置信息,这样做可以将一段文字同时输入到模型中,模型既可以理解每个词的意义及每个词和其他词之间的关系,也可以知道每个词在句子中的位置,从而理解不同词之间的顺序关系。所以编码器的输出结果里,表示各个词的向量,会根据上下文信息进行调整,同一个词,根据上下文会有不同的抽象表示。
2025-02-09 18:07:00
708
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅