自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flash attention安装

直接安装flash attention可能会出问题。因此直接在官网下载对应版本的whl文件安装。但是这样使用时还是会出现乱码的报错。

2025-09-30 11:12:13 421

原创 NVCC版本控制以及cuda基础知识

是NVIDIACUDACompiler Driver)的命令行工具,它主要用来将。

2025-09-29 21:54:30 304

原创 常用加速下载代码(huggingface,pip install)

【代码】常用加速下载代码(huggingface,pip install)

2025-09-26 16:59:15 330

原创 CUDA/NCCL/NVlink实现GPU之间的通信/GPU不同架构解读

peripheral 次要的,附带的;外围的,周边的;(计算机设备)外围的2020年就有A100了pascal架构第一次提出了NVlinkVolta架构第一次提出了tensor coreVolta架构上面就是卖的工作站DGX这是 NVIDIA 用来命名其高性能深度学习工作站和服务器的系列品牌,专门面向 AI 训练和推理任务。

2025-12-27 13:58:13 380

原创 Mapanything/π3论文讲解与代码实现

MapAnything解读

2025-12-24 21:37:54 139

原创 Qwen2.5VL的token演化规律探究

其中type 0代表img token的占位符,由于都是同样的token,所以在空间距离上接近type1代表system prompt的tokentype2代表text token。

2025-12-24 21:37:19 343

原创 深度学习不同GPU性能比较

A800和A100的区别是A800的NVlink带宽受到限制,多卡性能比A100差。

2025-12-19 15:38:08 158

原创 Qwen1/2/2.5/3 VL的图像输入与位置编码方式讲解

Qwen2 VL中在patch size的基础上还会通过MLP 做一个2*2的merge,进一步减小viusal token输,并加上start 和 end token。

2025-12-18 13:31:56 250

原创 基于单视图几何摄像机内参的投影成像原理

通过将: ( 点的物理坐标/点的深度z )* f-[相机以像素为单位的焦距] 就可以得到点的物理坐标到像平面坐标的转换。2,每一帧都: 预测目标物体在当前帧的相机坐标系下的3d坐标,这样z_center就是对应的相对于当前帧的相机的深度。摄像机焦距和fov存在一一对应的关系,fov其实就是摄像机焦距的另一种更直观的表达方式。根据图像长宽和fov得到图像的相机内参,从而得到3D点到图像平面的映射关系。1,所有帧都以第一帧的相机坐标系为世界坐标系,直接预测物体在世界坐标系中的3D位置。

2025-12-17 15:42:15 135

原创 单视图几何基础知识讲解(光圈/快门/感光度iso/field of view/摄像机焦距/全画幅/半画幅)

焦距越长,fov越小。

2025-12-17 14:32:21 820

原创 Qwen3-VL 3D grounding代码复现

官方仓库:https://github.com/QwenLM/Qwen3-VLhttps://github.com/QwenLM/Qwen3-VL 测试3D grounding的官方代码在:Qwen3VL全系列可以支持3D grounding,只要输入下面的提示词即可但是Qwen3VL只支持单目图像的grounding,不支持多张图像的模型预测的值都是真实尺度(米meter),输出有9个自由度输入提示词:Qwen3VL 2B/4B/8B instruct 模型的输出效果比较:在可视化时,需要先根据图像

2025-12-16 10:26:06 456

原创 vscode python debug方式

根据模版文件,把要debug的命令行代码文件给GPT,让GPT改写成lauch.json的格式即可debug。然后可以看到在当前项目下创建一个了launch.json的文件。找到vscode左侧的debug案件,新建。点击创建launch.json文件。

2025-12-12 12:11:26 278

原创 LeetCode华为2025年秋招AI大模型岗刷题(四)

在英语中,我们有一个叫做(root) 的概念,可以词根添加其他一些词组成另一个较长的单词——我们称这个词为例如,词根help,跟随着词"ful",可以形成新的单词"helpful"。现在,给定一个由许多组成的词典dictionary和一个用空格分隔单词形成的句子sentence。你需要将句子中的所有用替换掉。如果有许多可以形成它的,则用的替换它。你需要输出替换之后的句子。代码:这个代码中,每个单词的子单词都需要和完整的dictionary来匹配,效率很低。

2025-12-11 21:12:48 833 1

原创 Qwen模型系列详解

本文介绍的论文包括:Qwen3-VL,Qwen3,Qwen2.5-VL,Qwen2.5,Qwen2-VL,Qwen2,Qwen1.5,Qwen,Qwen-VL

2025-12-10 21:11:38 1930

原创 oh-my-zsh安装与使用教程

【代码】oh-my-zsh安装与使用教程。

2025-12-09 16:03:06 286

原创 Pytorch 3D 安装教程

Pytorch 3D官方仓库地址。

2025-12-09 11:03:24 337

原创 Python项目管理和Anaconda讲解

一般来讲,使用pip freeze生成的requiremnts.txt文件会包含这个虚拟环境中需要的所有的依赖。python项目中的.venv文件夹是当前这个项目用的虚拟环境,用于安装各个依赖包。miniforge就是miniconda的免费版本,其默认的channel就是conda-forge。社区中提供了一些更高级的工具来帮助用户管理这些环境依赖,比如uv,这个在深度学习领域用的不多。miniforge中的mamba就等于miniconda中的conda。miniconda 是conda的最简版本。

2025-12-09 11:02:09 1058

原创 LeetCode华为2025年秋招AI大模型岗刷题(三)

中等给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。思路:1,建立一个visited的矩阵用于遍历。遍历过的地方就标记成true2,定义一个dfs的寻找岛的算法,给定一个起点,通过dfs的方式搜索周围4个方向的陆地,搜索时要判断是否越界。3,构造循环遍历整个二维矩阵的循环,遇到没有遍历并且是岛的地方就启动深度搜索,并将count+1。

2025-12-08 21:29:13 938

原创 各种attention的变体:MHA,GQA,MQA,MLA(DeepSeek-V2)详解

在推理时,KV cache只用保存这个低维度的向量,在计算时由up projection还原到多个head的高维空间,这样做的好处是减小了KV cache。对于KV head部分,都由一个共用的低维度向量表示来up pojection出来多个head。减小KV head的数量,多个Query head共用一个KV head。只有一个KV head,多个Query head共用一个KVhead。其中的W^UK可以和W^UQ合并,W^UV和W^O可以合并。MLA在DeepSeek-V2论文中被提出,

2025-12-06 10:37:42 158

原创 三种降维方式(PCA,t-SNE,UMAP)详解

本文讲解PCA,SNE,t-SNE,UMAP这几种降维可视化方法

2025-12-06 10:14:38 948

原创 PyTorch DDP分布式训练Pytorch代码讲解

if is_ddp:# 开始 DDP 时用了 init_process_group# 结束 DDP 时要调用 destroy_process_group。

2025-12-05 17:12:35 981

原创 深度学习各种优化器(SGD/Momentum/RMSProp/Adam/AdamW)与Weight decay详解

但是weight decay是直接在最后的权重更新表达式上加上一个权重衰减项。在SGD中,L2正则化和Weight decay的效果是完全一样的。Adam就是Momentum+RMSProp+指数加权平均的修正。在Adam中,L2正则化和Weight decay的效果不一样。解决方式:根据历史走的步数情况经过指数加权来决定下一步怎么走。为了避免序列太短导致初始的V偏离太大,对齐进行修正即可。AdamW就是在Adam的基础上加上了一个权重衰减的项。根据历史走的步数情况经过指数加权来决定下一步怎么走。

2025-12-04 16:01:35 190

原创 VLLM,GPU原理,Flash attention详解

vLLM通过优化KVcache机制提升LLM推理效率,重点采用PageAttention技术实现虚拟内存管理,使KV内存逻辑连续而物理分散,并支持多个回答共享KV块以减少显存占用。GPU方面,PyTorch通过CUDA调用TensorCore加速矩阵运算,其算力远超CUDA核心。FlashAttention通过减少HBM与SRAM间的IO操作来优化注意力计算,FlashAttention2进一步提升了性能。这些硬件优化显著提升了LLM的推理速度和内存效率。

2025-12-04 14:34:40 603

原创 多卡显存优化技术:DP/DDP/FSDP,Deepspeed ZeRO 1/2/3 (Offload),Gradient(Activation) checkpointing详解

本文将介绍:DP(DataParallel)、DDP(DistributedDataParallel),DeepSpeed ZeRO1/2/3及其CPU offload版本,Gradient Checkpoint技术。

2025-12-04 11:29:23 433

原创 朴素贝叶斯分类器以及分类问题的混淆矩阵、F1、ROC和AUC

对于根据老鼠体重来判断老鼠是否肥胖的二分类问题,使用罗辑回归的方式,并将阈值设置为0.5,高于这个阈值就认为老鼠肥胖。通过设置不同的阈值,可以得到不同的分类结果和混淆矩阵。朴素贝叶斯分类器认为样本的每个特征都是独立的。:连续时间下首次事件发生时间(连续)AUC越大的模型效果越好。:固定次数试验中成功次数。

2025-12-02 22:21:47 922

原创 ACM输入输出格式详解

ACM输入格式就是要在代码里自己写数据输入的部分,

2025-12-02 20:59:20 411

原创 华为华为AI岗实习面试算法题

请在这棵树中选出一棵“价值最大”的子树,并把这棵子树按“完全二叉树的层序数组”形式输出。输出也使用相同规则表示挑选出的那棵最优子树,并且去除末尾多余的尾部 null。允许对某个结点“剪掉”对总和贡献为负的整棵子树(即可以只要左子树、或只要右子树、或两者都要;3,还原出最大子树的输出结构(输出的最大子树需要重新分配序号),使用递归的方式,分别从左子树和右子树来构造。1,首先根据DFS(递归)的方式和DP的思想,来找到每个节点的最大子树和,用value数组表示,子树的价值定义为它所包含的所有结点权值之和。

2025-12-02 20:58:39 582 1

原创 最大似然估计与交叉熵详解

神经网络中的对数似然函数。

2025-12-02 12:04:32 272

原创 2D/3D bounding box计算方式详解

本文介绍了2D和3D边界框的计算方法。对于2D边界框,通过获取点集的最小/最大x、y坐标确定包围矩形;交集计算则比较两个边界框在x、y轴上的重叠范围。3D边界框同理扩展至z轴维度。代码示例展示了如何计算边界框及其交集,当各维度最小值小于最大值时才存在有效交集。该方法适用于计算机视觉中的物体检测和空间计算任务。

2025-12-01 20:18:50 287

原创 KNN分类器与K-means无监督聚类详解

摘要:本文介绍了KNN分类器和KMeans聚类算法的原理与实现。KNN是有监督分类方法,通过计算新样本与K个最近邻样本的距离进行多数投票分类。KMeans是无监督聚类算法,通过迭代更新聚类中心将数据分成K个簇。文章提供了两种算法的Python实现代码:KNN通过欧氏距离和投票机制实现分类;KMeans通过随机初始化中心点、计算距离和重新计算中心点完成聚类。两种算法都展示了机器学习中距离计算的核心思想。

2025-12-01 17:46:36 356

原创 Transformer的Lora微调机制详解

LoRA(低秩适应)是一种高效微调Transformer模型的方法,它通过在注意力层的QKVO变换矩阵W上添加低秩矩阵BA来实现参数更新。核心实现包含随机初始化的A矩阵(r×in_features)和全零初始化的B矩阵(out_features×r),这种初始化方式经实验证明能获得更低的loss且允许更大的学习率。具体实现时,使用PyTorch将LoRA线性层替换原始线性层,在forward过程中计算x@A.T@B.T并乘以scale因子后叠加到原始输出。

2025-11-28 15:19:49 1684

原创 LeetCode华为2025年秋招AI大模型岗刷题(二)

在遍历时,同步处理一个prefix的值,通过在x出的prefix和减去k等于之前出现过的prefix的频率,每存在一个这样的历史prefix,就可以满足那个历史prefix到x之间的间隔的和等于k。是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。2,每个外循环中,需要将背包容量再逐步减小,解决当前物体个数时,背包容量从大到小的各个子问题。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。你可以假设数组是非空的,并且给定的数组总是存在多数元素。

2025-11-27 20:58:47 793

原创 LeetCode华为2025年秋招AI大模型岗刷题(一)

本文整理了华为2025秋招AI大模型实习岗推荐的15类算法题型及解题思路:1)递归(爬楼梯、路径总和);2)分治(合并K个链表);3)单调栈(每日温度);4)并查集(省份数量);5)滑动窗口(最小子数组);6)前缀和(中心下标);7)差分(拼车问题);8)拓扑排序(课程表);9)字符串(最长回文);10)二分查找(旋转数组);11)BFS(单词接龙);12)DFS&回溯(最短桥);13)动态规划(环形打家劫舍);14)贪心算法(跳跃游戏);15)字典树(单词压缩)。

2025-11-25 22:14:14 1308 2

原创 Batch/Layer/RMS Normalization详解

本文深入讲解3中normalization的方式,包括:Batch Normalization, Layer Normalization, RMS Normalization(Root Mean Square Layer Normalization)

2025-11-25 15:33:48 1253

原创 Attention计算代码详解

首先Q会和每个key算内积,得到的值经过softmax就是attention的概率分布(注意力权重,是概率分布)当输入是三维或更高维,会对前面的维度广播(batch dim 不参与乘法,只逐个对应计算)分类任务通常用交叉熵损失,而交叉熵需要概率分布,softmax 刚好提供了连续可微的概率。softmax 对大的值更敏感,小的值会被压得更小,大的值会更突出。5个key:维度也是8,其对应的5个value,维度是10。每个value上,就得到了query最终的结果。单个头的注意力计算代码,基于Q,K,V。

2025-11-21 17:42:30 1309

原创 3D-LLaVA代码详解(三):数据集结构

文字部分的数据集路径:处理数据集部分的代码位置:llava/train/train.py。

2025-11-21 14:51:40 342

原创 李宏毅深度强化学习课程笔记

课程链接:https://www.bilibili.com/video/BV1aes8ebEz3/?spm_id_from=333.1007.0.0&vd_source=132c74f7a893f6ef64b723d9600c40b7https://www.bilibili.com/video/BV1aes8ebEz3/?spm_id_from=333.1007.0.0&vd_source=132c74f7a893f6ef64b723d9600c40b7强化学习的过程如下:其目标就是最大化total rew

2025-11-05 21:42:43 622

原创 transformer库与dataset库训练逻辑详解

它把 PyTorch 的标准训练流程封装起来,让你用几行代码完成模型训练和评估。

2025-10-23 16:18:20 308

原创 零基础一次搞懂Pytorch训练和推理框架:以猫狗图像分类为例

nn.Module类这个部分用于定义模型用于训练import os# ✅ 支持 dict 输入else:x = batch # 向后兼容,直接传 tensor 也可以# 如果 labels 存在,可以直接计算 loss])# 假设 batch 来自 dataloader# 保存# 加载# 查看参数名称和形状else:# 直接传入 dict。

2025-10-22 21:58:09 646

原创 3D超点(3D Superpoint)概念解释与代码实现

Superpoint的划分是默认Superpoint内的点都是属于同一个物体类别的。3D Superpoint的核心思想就是把初始的数量非常多的点云根据其邻近的几何信息给划分成更大的point patch,每个大的point patch就叫做一个超点(3D Superpoint)一般使用segmentator库来实现3D点云的超点划分,输入需要xyz和mesh的信息,如果不包含mesh信息,则需要先生成mesh信息,再用segmentator得到超点。生成mesh的速度还是比较慢的。

2025-10-21 22:38:34 960

空空如也

空空如也

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

TA关注的人

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