自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 Ubuntu系统中vscode无法连接Codex插件

摘要:在VS Code中使用OpenAI的Codex插件时出现"Token exchange failed: token endpoint returned status 403 Forbidden"错误。用户使用Ubuntu 22.04系统,。最终通过切换模式为TUN虚拟网卡成功连接Codex服务。该方案适用于类似403权限拒绝的代理连接问题。

2025-12-04 00:28:13 313

原创 轻松掌握状语从句:实用语法指南

本文系统介绍了英语状语从句的核心知识:状语从句是由从属连词引导、在句中充当状语的从句结构,用于说明时间、原因、条件、目的等背景信息。文章将状语从句分为7大类型(时间、原因、条件、目的、结果、让步、方式比较),每类配有常用连词和例句说明。识别状语从句的关键是找到从属连词+主语谓语结构。学习建议强调先掌握时间(when/while/as)、原因条件(because/if/as long as)、让步(although/even though)三类核心句型,再逐步扩展其他类型,通过造句练习巩固理解。

2025-12-02 21:49:32 926

原创 拆解英语经典句式:“yet as is so often the case”

本文解析英语固定表达"as is so often the case"的结构和用法。该短语是插入式评论从句,由连词as引导,表示"正如经常发生的那样"。其中"is so often the case"意为"情况常常如此",常省略形式主语it。这种表达多用于句首,配合yet等转折词使用,能使语言更地道。文章详细拆解了该短语的语法结构,提供了多个应用范例,并指出其在学术写作中的实用性,有助于提升英语表达的地道性。

2025-12-02 21:39:53 811

原创 Transformer 原理系列(第二章)—— 一文彻底搞懂 Scaled Dot-Product Attention

本文深入解析Transformer中的缩放点积注意力机制(Scaled Dot-Product Attention)。首先通过例句说明模型如何判断"谁应该被关注",指出注意力机制需要让每个token自动选择相关token。文章详细介绍了Q(Query)、K(Key)、V(Value)三个核心角色及其作用,阐述了从计算原始相关性分数、缩放处理避免数值爆炸,到Softmax归一化为权重分布,最后加权求和V值输出的完整流程。通过与传统RNN/CNN对比,突出了自注意力机制在建立长距离依赖、并行

2025-12-01 21:56:49 683

原创 Transformer 原理系列(第一章)—— 从序列相关性出发,理解注意力机制的本质

本文从序列数据的本质出发,系统梳理了序列建模的发展历程。首先指出序列数据的核心特征是样本间的依赖关系,传统方法如ARIMA、RNN/LSTM和CNN都是通过不同形式的加权求和来建模这种关系,但都存在局限性。文章重点阐述了注意力机制的突破性意义:通过动态计算样本间的语义相关性(向量相似度)来确定权重,使模型能够全局捕捉任意位置样本间的关系。最后介绍了Transformer的核心组件Q/K/V矩阵,它们将相关性计算、权重归一化和信息聚合三个步骤系统化,解决了传统模型在长距离依赖、动态权重和并行计算方面的痛点,

2025-12-01 21:42:10 893

原创 “ten years old“,“three meters high“后置形容词短语语法结构详解

英语中"数量+单位+形容词"结构属于后置形容词短语(postpositive adjective phrase),用于修饰名词的量度属性。这类表达包括尺寸(length/height/width/depth)、年龄(years old)、重量(kg/pounds)等特征描述,必须放在名词后面。其核心结构为how much + how big的组合。

2025-11-29 21:38:39 676

原创 “several meters high” 为例的后置修名词结构

摘要:英语中"severalmetershigh"是描述高度的形容词短语,采用"数量+单位+形容词"结构。主要有两种用法:后置修饰名词(如"atreeseveralmetershigh")和作表语(如"Thetreeisseveralmetershigh")。该结构可替换为"severalmetersinheight"等表达,适用于高度、长度、宽度等多种维度描述,是英语中表达物体尺寸的标准语法模式。

2025-11-29 21:35:18 448

原创 Pytorch中图像进行归一化处理

本文介绍了在PyTorch中对三通道图片进行归一化的标准方法。主要包含两种实现方式:一是使用torchvision.transforms.Normalize进行批量归一化,二是手动实现归一化公式。文章强调输入图像需先转换为0-1范围,并详细说明了如何调整mean和std张量形状以实现正确广播。此外,还提供了计算整个数据集均值和标准差的方法,以及不同维度下计算统计量的示例。这些操作能保持原始张量形状不变,适用于模型推理场景。

2025-11-27 15:00:59 323

原创 图像中归一化的作用以及原理

归一化通过将输入数据调整为稳定分布(均值0、方差1),显著提升深度学习模型的训练效率和稳定性。其核心机制包括:1)使梯度保持在合理范围,避免消失或爆炸;2)确保激活函数工作在敏感区域;3)优化损失函数地形,使梯度下降更平稳。此外,归一化还增强了模型的泛化能力,使其对不同数据分布更具鲁棒性。本质上,归一化通过规范数值分布,为神经网络创造了更优化的学习环境。

2025-11-27 14:23:03 313

原创 矩阵乘法、向量内积(点积)、向量外积原理及Pytorch代码实现

本文系统介绍了线性代数中矩阵乘法、向量内积和外积的核心原理与PyTorch实现。矩阵乘法表示线性变换的复合,内积衡量向量相似度,外积生成特征组合矩阵。在PyTorch中,矩阵乘法可通过torch.mm、@等实现,内积使用torch.dot,外积通过torch.outer或广播机制计算。文章还对比了不同运算的输入输出特性,为深度学习中的张量操作提供了实用指南。这些基础运算在神经网络、词向量等任务中具有重要应用价值。

2025-11-24 16:30:59 1711

原创 英语省略主语的结构解析

这篇文章解析了英语中省略主语的常见现象,通过例句"but never seem to have time to stop"详细说明:1)主语省略是因为作为前句的并列谓语;2)"seem to do"结构表示"看起来好像"的用法;3)完整句意为"他们似乎从没时间停下来",表达对持续忙碌的观察。文章用生活化语言解释了英语并列结构中为避免重复而省略主语的语法现象,并提供了多个实用例句帮助理解"seem to do"

2025-11-23 21:01:45 372

原创 英语地点副词揭秘:here/there的语法奥秘

英语中的地点副词(如here/there)在句中充当状语成分,用于说明动作发生的位置而不作主语或宾语。这类副词无需介词引导(如直接说"I love it here"而非"at here"),且具有三个典型特征:1)不能作主语或宾语;2)不可被限定词修饰;3)从句子中移除后不影响基本结构。通过例句分析可见,地点副词仅补充位置信息(如"upthere"说明厌恶感的来源环境),属于修饰性成分而非核心句法要素。

2025-11-23 20:57:32 942

原创 定语从句省略全攻略:规则+例句+陷阱

本文系统介绍了英语定语从句的核心要点:1.定语从句修饰名词,由关系词引导;2.详细解析who/whom/whose/which/that等关系词的使用规则;3.区分限定性与非限定性从句;4.重点说明关系词的省略原则(主语不可省,宾语通常可省);5.介绍缩减定语从句的方法(分词结构);6.提供常见易错点及速记口诀。文章包含大量实用例句,帮助读者掌握定语从句的正确使用与简化方法。

2025-11-23 20:53:14 1089

原创 梯度累计原理:数学可行性与PyTorch实现

摘要:梯度累计通过多次前向-反向传播将小batch梯度累加,模拟大batch训练效果。数学上可行是因为总梯度等于各batch梯度之和(∂L/∂w=∑∂Li/∂w)。PyTorch的backward()会自动累加梯度到.grad属性,需手动zero_grad清除。流程是:累计N次梯度后执行一次optimizer.step()更新参数。本质是利用梯度可加性,将多个小batch的梯度汇总后统一更新,解决显存不足时batch_size过小的问题。(149字)

2025-11-23 20:45:43 970

原创 PyTorch 的维度变形一站式入门

PyTorch维度操作指南摘要 本文系统介绍了PyTorch中的5类维度操作:1)形状变换(reshape/view/squeeze/unsqueeze)改变张量形状但不改变数据;2)广播扩展(expand/expand_as)实现内存高效的维度扩展;3)维度重排(transpose/permute)用于交换维度顺序,是多头注意力的核心操作;4)拼接复制(cat/stack/repeat)实现张量连接与复制;5)高级操作(flatten/unflatten)用于维度展平与重建。

2025-11-23 19:12:31 1287

原创 Python广播机制:张量的影分身术

广播机制是深度学习中的关键运算规则,它允许不同形状的张量进行逐元素运算。核心逻辑是:1)从末尾维度对齐;2)维度为1时可扩展;3)不满足规则时报错。典型应用包括标量运算、attention mask扩展和batch操作。广播通过"虚拟扩展"而非真实复制数据,实现高效计算。这种机制使模型代码更简洁高效,是深度学习开发的基础工具。

2025-11-21 13:56:03 654

原创 torch.nn.Embedding详解:为什么要用Embedding,Embedding怎么用,Embedding的底层源码

本文深入解析了深度学习中的Embedding技术,主要涵盖三方面内容:首先阐述了Embedding的价值,它能将离散词ID转换为可训练的连续向量,解决传统编码单一性和不可训练的问题;其次介绍了PyTorch中nn.Embedding的使用方法,包括参数设置和输入输出格式转换;最后从源码层面揭示了Embedding的底层实现机制,指出其本质是一个可训练的查找表(vocab_size×embedding_dim矩阵),通过索引查表实现词向量映射,并解释了梯度更新的稀疏特性。文章从原理到实践全面剖析了Embedd

2025-11-09 19:28:31 962

原创 PyTorch中张量和模型的核心属性解析

本文介绍了PyTorch中Tensor和nn.Module的核心属性体系。Tensor作为基础数据单元,具有shape、dtype、device、requires_grad等关键属性,控制数据的维度、类型、存储位置和梯度传播行为。nn.Module作为网络层的基础类,包含weight、bias等可训练参数,通过parameters()和state_dict()管理模型参数,并提供了训练/推理模式的切换功能。文章通过代码示例展示了这些属性的具体用法,说明Tensor负责数据流动和梯度计算,Module管理参数

2025-11-09 18:45:45 799 1

原创 深度学习Adam优化器核心概念全解析:参数,梯度,一阶动量,二阶动量

摘要:Adam优化器是PyTorch中结合动量和自适应学习率的优化算法,包含四个核心部分:参数(模型权重)、梯度(损失函数偏导)、一阶动量(梯度指数平均,平滑更新方向)和二阶动量(梯度平方指数平均,自适应调整学习率)。它通过m_t考虑历史梯度趋势,v_t衡量梯度变化幅度,实现稳定高效的参数更新。公式θ_{t+1}=θ_t-η·(m_t/(√v_t+ε))展示了这些组件的协同作用,使Adam兼具Momentum的方向稳定性和RMSProp的自适应学习率特性。

2025-11-04 20:20:10 819

原创 分布式训练一站式入门:DP,DDP,DeepSpeed Zero Stage1/2/3(数据并行篇)

本文系统介绍了分布式深度学习的三大并行训练方式:数据并行(DP/DDP)、模型并行和混合并行。重点分析了数据并行的演进过程,从早期DP方法到基于Ring-ALLReduce的DDP方法,再到DeepSpeed ZeRO的三个优化阶段。ZeRO通过逐步分片优化器状态、梯度和模型参数,实现了显存使用的线性扩展,最高可节省16倍显存。其中Stage1仅分片优化器状态,Stage2增加梯度分片,Stage3则实现参数的全分片。文章还对比了各种方法的通信机制和适用场景,为大规模模型训练提供了关键技术参考。

2025-11-04 20:10:12 993

原创 三大AI部署框架对比:本地权重与多模型协作实战

本文对比了三种本地大模型部署框架:Ollama、HuggingFace Transformers和vLLM。Ollama适合快速本地部署和隐私敏感场景,HuggingFace Transformers灵活适用于模型研发和原型阶段,而vLLM则是面向高吞吐生产环境优化的服务框架。对于多模型协作项目,建议初期使用Ollama快速启动,中期过渡到vLLM服务层,配合调度框架(如LangGraph)和状态存储(PostgreSQL)构建完整架构。开发阶段可利用HuggingFace进行模型探索,生产部署则优先考虑资

2025-11-01 20:06:00 928

原创 AI调度框架全解析:从通用到LLM专用

本文系统梳理了AI模型调度框架的三大类型:1)通用型调度框架(如RayServe、KServe)专注于多模型部署与负载均衡,适用于企业级AI服务平台;2)LLM专用框架(如LangChain、LangGraph)针对语言模型场景优化,支持对话状态管理和工具调用;3)企业级LLMOps框架(如vLLM、AzureAI)提供生产级监控和资源调度能力。各类框架在模型部署、任务编排、资源管理等方面各具优势,可根据具体应用场景(智能助手、自动化流程或大规模部署)选择合适的解决方案。

2025-11-01 19:49:59 641

原创 Tomcat 内嵌启动时找不到 Web 应用的路径

摘要:Tomcat内嵌启动时出现路径错误,提示目标目录不存在。核心原因是:1)项目未编译导致target/classes目录缺失;2)缺少标准webapp目录;3)Main.java中的路径配置错误。解决方案包括:1)确保Maven项目结构正确,创建webapp目录;2)执行mvn clean package编译项目;3)修改Main.java使用绝对路径;4)检查IDEA运行配置的工作目录。对于jar包启动的情况,需调整路径指向target/classes/webapp或改用Servlet注册方式。

2025-10-15 00:15:00 969

原创 JavaWeb流式传输速查宝典

《JavaWeb流式传输速查指南》摘要(150字) 本文系统梳理了JavaWeb流式传输的核心要点:1)浏览器与服务器间双向数据传输的4种流类型(字节/字符输入输出流)及对应Servlet方法;2)常用I/O基类方法对比表,涵盖InputStream/OutputStream和Reader/Writer体系;3)典型Web场景的流组合方案,如文件上传使用getInputStream(),JSON响应使用getWriter();4)关键实现机制:通过InputStreamReader/OutputStream

2025-10-14 11:49:13 986

原创 JavaWeb中字节流与字符流的本质区别

Java Web开发中字节流与字符流的核心区别与应用实践 摘要:字节流处理二进制数据(如图片、音频),字符流专用于文本数据(如HTML、JSON)。字符流会自动进行编码转换(UTF-8/GBK等),简化文本处理。在Web开发中,传输文本内容(表单/JSON)应使用Reader/Writer,而文件传输需用InputStream/OutputStream。最佳实践表明:纯文本交互用字符流保证可读性,文件传输用字节流确保性能,两者不可混用以避免乱码问题。企业开发需严格区分场景,req.getReader()和r

2025-10-14 11:45:56 430

原创 Java字节流传输:HTTP数据流解析

本文介绍了Java网页中字节流传输的基本原理。HTTP协议采用请求-响应模型,数据以字节流形式传输:浏览器通过请求体发送数据,服务器通过HttpServletRequest.getInputStream()读取;服务器通过HttpServletResponse.getOutputStream()返回响应,浏览器根据Content-Type处理。文章列举了常见应用场景的流传输方式,并指出流式传输的优势在于支持大文件的分段处理,避免内存过载。关键点在于理解所有网络通信最终都基于字节流,文本数据需经过编码转换。

2025-10-14 11:42:09 1001

原创 欧盟和北约的区别

主要介绍了政治经济联盟“欧盟”和防御军事联盟“北约”两者之间的关联与不同。

2025-10-14 10:53:12 1169

原创 Maven创建Java项目实战全流程

Maven创建Java项目的完整流程分为五个阶段:初始化、配置、依赖管理、构建和运行/部署。首先通过archetype模板生成标准目录结构,配置pom.xml定义项目信息和依赖,添加源码和资源文件后执行构建命令(如mvn clean package)生成jar/war包。Maven的核心优势在于标准化项目结构、自动化构建流程和高效的依赖管理,使多人协作和版本控制更加规范。Web项目可部署到Tomcat,普通Java项目可直接运行jar包。

2025-10-14 10:45:52 649

原创 Maven构建命令:clean与package详解(mvn clean package)

摘要:Maven的"mvn clean package"命令是一个完整的构建流程,包含清理和打包两个核心操作。clean阶段会清除target目录中的旧编译文件,确保全新构建;package阶段则负责编译源代码、运行测试并生成最终部署包。对于Web项目会生成.war文件,普通Java项目则生成.jar文件。这一过程相当于工厂生产线:先清空旧货架,再从头生产并组装成最终产品,确保每次构建都是全新且可靠的。

2025-10-14 10:41:42 446

原创 Tomcat 启动后只显示 index.jsp,没有进入你的 Servlet 逻辑

摘要:当访问根路径时执行index.jsp而非Servlet,常见原因包括:①index.jsp拦截了根路径/;②编译输出路径错误导致Servlet未加载;③web.xml与注解配置冲突。解决方案:1.修改Servlet映射路径(如/hello);2.删除/重命名index.jsp;3.检查编译路径确保Servlet被加载;4.调整web.xml配置。推荐优先修改URL路径或处理静态资源冲突。(150字)

2025-10-14 10:37:15 519

原创 安装好vscode后,缺少vscode打开文件或文件夹选项

摘要:VSCode安装后右键菜单缺少"使用VSCode打开"选项的解决方法。这是由于安装时未勾选"将'通过Code打开'操作添加到Windows资源管理器文件上下文菜单"和"将'通过Code打开'操作添加到Windows资源管理器目录上下文菜单"选项所致。只需重新运行安装程序,勾选这两个选项再次安装即可,原有环境和插件不会受影响。

2025-10-06 14:49:08 371

原创 2025云栖大会参展记录

本文摘要:多领域AI应用蓬勃发展,以通义千问大模型为基座,衍生出微博内容理解、教育知识服务、智联招聘智能体、汽车行业模型等创新应用。阿里云、魔搭等技术平台提供全栈AI服务,同时涌现出人形机器人、医疗AI、智能营销等垂直领域解决方案。从内容生成到招聘流程优化,从教育赋能到产业升级,AI技术正深度融入各行业场景,推动智能化转型。

2025-09-27 10:41:15 883

原创 使用vLLM部署大模型,如何调用本地部署大模型的API路由

摘要:vLLM本地部署后,可通过指令启动API服务并访问http://localhost:8000进行交互。支持两种调用方式:1)命令行方式,使用curl发送GET/POST请求获取模型信息或生成对话;2)Python脚本方式,通过requests库调用ChatCompletions接口,兼容OpenAI风格。两种方法均需指定模型名称、消息格式和生成参数,支持调整temperature等参数控制输出效果。

2025-09-25 00:13:06 2580

原创 调用 vLLM API 时常用的三种请求头模板:普通请求、带鉴权请求、流式请求。

本文介绍了三种常见的API请求头配置方式:1)基础JSON请求,设置Content-Type和Accept头部;2)带鉴权的生产环境请求,增加Authorization头部;3)流式请求(SSE),将Accept改为text/event-stream。同时提供了一个推荐模板,可根据实际需求切换普通/流式模式和鉴权配置。建议开发者先用普通JSON请求测试后再调整其他配置。

2025-09-25 00:03:26 326

原创 vLLM API 服务启动日志详解

本文解析了vLLM API服务启动日志的功能。当执行vLLM服务启动命令后,终端会输出服务地址(http://0.0.0.0:8000)和可用API路由列表,包括系统路由、基础功能、大模型接口等。日志显示服务进程ID(2520)和启动完成状态,表明API服务已就绪,可通过指定端口访问交互式文档或调用各类模型接口。这些日志信息帮助用户了解服务运行状态和可用功能。

2025-09-24 23:40:14 1874

原创 VLLm中函数SamplingParams(top_p=top_p, top_k=top_k, min_p=min_p)中top_p,top_k,min_p详解

大语言模型生成文本时,top_p、top_k和min_p是控制输出质量的采样参数。top_k固定选择概率最高的前k个词,简单直接但可能模式化;top_p动态选择累积概率达阈值的最小候选集,平衡质量与多样性;min_p通过相对概率阈值过滤低概率词,提高稳定性。三者常组合使用,如top_p=0.9+top_k=40,在保证质量的同时增加多样性,min_p可进一步过滤低质量候选词。

2025-09-24 23:31:02 718

原创 参数类型标注(a: int, b: int)与 返回值类型标注(-> int),以及python中常见的数据类型

摘要: Python的类型标注通过参数类型(如a:int)和返回值类型(->int)提升代码可读性和工具支持(IDE提示、mypy静态检查),但运行时仍动态处理。内置类型(int/str等)和typing模块(List[int]/Optional等)可直接标注容器元素类型,第三方库(如torch.Tensor)也支持。类型标注虽不强制,但能优化开发体验,尤其适用于协作和大项目,FastAPI等框架还会利用其进行自动验证。

2025-09-23 08:00:00 702

原创 huggingface中加载的模型在电脑中的存储位置

摘要:HuggingFace的transformers库默认将模型文件下载到本地缓存目录(Linux/macOS为~/.cache/huggingface/hub,Windows为C:\Users<用户名>.cache\huggingface\hub)。该目录包含模型权重、配置文件和压缩数据,可通过环境变量HF_HOME或Python代码修改默认存储路径。

2025-09-22 23:41:55 801

原创 如何调用huggingface模型中Qwen3-0.6B模型搭建本地大模型助手(单次对话与多轮对话版),并且单样本调用和batch方式调用的对比

本文介绍了如何使用HuggingFace中的Qwen3-0.6B模型构建对话系统。主要内容包括:1)单次调用模型的方法,包括模型导入、提示词模板构建、tokenize处理和结果解码;2)构建支持多轮对话的QwenChatbot类,实现对话历史记录和响应生成;3)批量处理方法,通过设置batch_size提高处理效率,包括批量消息构建、模板转换、模型生成和结果解析。特别说明了在批量处理时需要使用padding和truncation参数处理不同长度文本,以及如何从输出中提取生成内容。

2025-09-22 23:37:22 1687

原创 requests 调用本地大模型 API 的常见例子

本文介绍了使用requests库调用本地大模型API的几种常见方式。主要包括:1)通用REST API调用,发送提示词获取响应;2)兼容OpenAI风格的API调用;3)带超时和错误处理的稳健调用;4)批量处理文本的示例。这些示例适用于不同的本地模型服务框架(如FastAPI、Ollama等),开发者可根据API格式选择对应调用方式,实现文本生成、翻译等功能。

2025-09-21 20:48:46 448

Numpy新手教学篇,(Numpy笔记兼教学)

这是一篇Numpy笔记兼教学性质的博客,其中内容均是本人学习《利用python进行数据分析》中关于Numpy部分的内容,内容通俗易懂,请放心食用。

2023-06-28

空空如也

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

TA关注的人

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