自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VLA(Vision-Language-Action)模型在机器人领域的action 输出编码

VLA模型的三大动作编码流派对比: 直接离散化:将连续动作分箱为离散Token(如OpenVLA、RT-2),实现简单但精度低。 频域压缩离散化(FAST Token):通过DCT变换压缩动作序列(如π0-FAST),平衡效率与精度,适合灵巧操作。 连续生成(Flow Matching):直接输出连续动作(如π0),精度最高但训练复杂,适合精密控制。 三种方案各具优势,其中Physical Intelligence的π0系列同时覆盖了后两种技术路线。

2026-04-01 16:29:25 698

原创 Diffusion 里的 Classifier Guidance(分类器引导)详解

在阶段,利用一个,给扩散模型的去噪梯度加「类别方向约束」,让生成画面;后续衍生出,是现在文生图/图生图主流。

2026-03-27 12:25:08 337

原创 DiT(Diffusion Transformer)简单介绍

**DiT(Diffusion Transformer)**是一种基于Transformer的扩散模型,通过将图像转换为隐空间patch序列进行处理,替代传统U-Net架构。其核心流程包括:VAE编码→Patchify切块→DiT Block处理(融合时间步和类别条件)→噪声预测→VAE解码生成图像。关键创新是AdaLN-Zero模块,通过条件控制层归一化参数,结合Zero初始化提升训练稳定性。相比U-Net,DiT具有更强的扩展性和全局建模能力,模型性能随参数量增长持续提升(如DiT-XL/2在Image

2026-03-27 12:23:57 389

原创 扩散模型(Diffusion)做 AI Planner比词汇基(Vocabulary-based/Autoregressive)规划好在哪里?

摘要: 扩散模型(Diffusion)作为AI规划器(Planner)相比传统词汇基自回归方法(如GPT、Transformer)具有显著优势: 全局生成:非自回归范式一次性输出完整轨迹,避免逐帧决策的短视问题,提升长时序一致性; 多模态建模:天然支持复杂分布,生成多样化高质量计划,覆盖连续空间与长尾场景; 可控性:通过去噪过程直接注入安全、规则等约束,无需后处理; 鲁棒性:对分布外场景泛化能力强,迭代去噪机制自适应纠错。实验显示,在自动驾驶任务中,扩散模型(如DiffusionDrive)比词汇基方法(H

2026-03-25 16:51:04 443

原创 智驾端到端模型Flow Matching与Diffusion选型及机器人场景差异解析

摘要:Flow Matching在自动驾驶领域难以成为主流端到端方案,主要受限于车规级实时性、安全性和工程化要求。其推理延迟高、安全约束难嵌入、训练稳定性差等痛点,使其无法替代Diffusion等成熟方案。相比之下,Diffusion因适配时序轨迹生成、延迟可裁剪、工程生态成熟等优势,成为智驾首选。而机器人领域因实时性要求低、容错率高,更适合Flow Matching的应用。未来Flow Matching需突破技术瓶颈才可能进入智驾领域。

2026-03-18 15:39:57 648

原创 Diffusion Drive的阅读记录

本文对比了确定性回归与扩散模型在自动驾驶控制指令生成中的差异。确定性MLP回归头输出单一固定值,无法处理驾驶决策的多模态性(如减速或避让都合理),且面对复杂场景易产生极端值。而条件扩散模型通过生成式方法输出符合真实驾驶分布的多组合理指令,其逐步去噪过程在环境观测约束下能保证指令合理性,并展现出更强的场景泛化能力和抗干扰性。

2026-03-17 16:22:36 53

原创 few shot SFT如何避免过拟合问题

优先 “数据扩充 + 参数高效微调”:数据增强解决 “量的问题”,提示词调优 / 适配器解决 “模型复杂度问题”,是少样本场景的首选组合;避免全量微调:冻结预训练核心参数,仅更新局部参数(提示词、适配器),平衡 “任务适配” 与 “知识保留”;正则化不可少:轻量级 Dropout、权重衰减与早停策略,可快速降低过拟合风险,无需额外增加计算成本。若需针对具体任务(如图像分类、目标检测)细化方案,可补充任务类型与数据规模,进一步优化参数配置与方法组合。

2026-03-16 14:54:09 413

原创 MSCOCO物体检测评测系统的分析

检测指标通常用AP来衡量,现有的多个评测代码,比如COCO、VOC、Wider Face等等,AP的计算原理都是一样的,https://github.com/huangh12/Object-Detection-Metrics即逼近PR曲线下的面积,因此从PR曲线到AP的计算大同小异。关键的差异在于PR曲线的获取上,各家的思路会有些差异,这个关键就反映在det与gt的match策略上。

2025-03-26 11:24:03 775

原创 CUDA error: device-side assert triggered 报错解决

例如,如果设置了8个类别,但训练数据中的标签却包含了9,就会触发这个错误。此外,还需要注意一个常见的陷阱:即使标签从0开始计数,在PyTorch中使用0或负数作为类别标签也会导致错误。在使用索引操作时,如果索引超出了张量的范围,也会触发CUDA设备上的断言错误。比如,在进行分类任务时,如果目标标签的索引值超出了类别数的范围,就会导致该错误。断言是一种错误检查,如果代码中的某个条件为假,则会引发断言失败。这建议在编译PyTorch时启用设备端断言,这可以帮助开发者捕捉到在GPU上执行的代码中的问题。

2024-11-13 15:33:25 4026 1

原创 常见的bbox标注格式

在图像上标记目标的矩形(bounding box, bbox)。常见的标注格式为Pascal VOC、COCO、YOLO。

2024-10-12 16:20:18 823 1

原创 图像质量评估

那么我们说的图像质量指的是什么呢?简单来说,图像设备的目标是“通过重现图像的方式,以可视化的方式传输目标信息给观察者或用户”。因此,可以说图像质量是观察者满意程度的评估指标。

2024-09-19 11:34:03 1142

原创 OpenCV读取图片与PIL读取图片的差别

注意:Image.open()函数只是保持了图像被读取的状态,但是图像的真实数据并未被读取,因此如果对需要操作图像每个元素,如输出某个像素的RGB值等,需要执行对象的load()方法读取数据Image.open()读取的通道顺序是RGB,cv2.imread()读取的通道顺序为BGR。PIL函数读取图片的时候,结合np.array()使用。注意:PIL.Image.save()直接保存RGB的图片cv2.imwirte()保存图片的时候相当于做了BGR2RGB再去保存。

2024-09-13 11:14:26 597

原创 数据类型:sequence (序列)

数据类型:sequence (序列)

2024-09-11 14:13:32 546

原创 PyTorch:优化读取LMDB数据的五大策略

然而,与常规文件格式相比,LMDB的读取速度可能较慢。这主要是因为LMDB将所有数据存储在内存中,这意味着在读取数据时需要更多的内存和更复杂的数据结构。此外,PyTorch在读取LMDB数据时可能受到其他因素的影响,如I/O瓶颈、CPU和GPU之间的数据传输延迟等。优化PyTorch从LMDB中读取数据的速度可以提高模型训练和推理的效率。通过使用多进程、分批读取、高速缓存、GPU加速、优化模型结构和使用量化技术等方法,可以显著提高数据处理的速度,使PyTorch在深度学习领域中更加高效。

2024-09-05 14:10:24 1396

原创 在隔离环境安装vscode serve

一句话概括:找到你的vscode client(就是软件)的commit,然后下载serve,拷贝到~/.vscode-server/bin/ 下就可以了。额外提供一个很好用的extension离线下载网址:https://open-vsx.org/

2024-08-28 15:07:21 406

原创 vscode extension old version下载 离线安装

如果你不幸在一个没有任何proxy的封闭环境下进行开发,而环境遗留的都是上个实际的软件,而刚好需要适配vscode,又想有些有用的extension的话,适配版本问题就很突出了,可以用一下的地址下载各种老版本的extension,拿走不谢~

2024-07-25 10:44:05 1205

原创 Jupyter extension for VSCode on Linux throws error when doing anything Jupyter related

【代码】Jupyter extension for VSCode on Linux throws error when doing anything Jupyter related。

2024-05-29 17:00:48 715

原创 COCO eval 源码详解

COCO数据集的测试过程比较复杂,需要一定的时间才能够掌握。由于目前我有更重要的事情要忙,所以先贴出两个我认为写的非常棒的博客,阅读时注意先后顺序。等我有空了,就自己梳理一遍,写一个符合自己理解方式的源码详解。, 这篇博客讲清楚了COCO eval具体想测什么。这个是别人写的源码详解,感觉不错。

2024-05-22 16:28:40 389

原创 pkl 序列化和反序列化时环境必须一致

在上面的示例中,我们首先创建了一个Python字典对象data,然后使用pickle模块的dump()函数将其保存到名为data.pkl的pkl文件中。pkl文件是Python中pickle模块的产物,pickle模块可以将Python对象结构化并保存到文件中,以便之后可以重新加载和恢复。在Python中,我们可以使用pickle模块的dump()函数将Python对象序列化并保存到pkl文件中,使用load()函数从pkl文件中反序列化并加载Python对象。

2024-05-22 11:32:28 596

原创 pandas SettingWithCopyWarning解决办法

解决办法和说明:https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy按照说明,将想要使用的slice 后的 dataframe进行深拷贝,一般就解决了问题。但最好确定你的目的是什么,比如如果是 slice 后就是要改变具体某个值(在原内存上),那最好用.loc来做。或者目的就是生成新的 dataframe 然后做操作,那最好先 deepcopy 下。

2024-05-20 15:01:15 922 1

原创 vscode中对 python 快速增加header 描述

之后在 python 开头,输入 header,则自动生成所需的 header 描述。然后再 Code/User/snippets/python.json文件中写入。在首选项→配置用户代码片段→python。

2024-04-25 20:04:57 753

原创 python中的 divmod 函数

divmod()方法采用两个参数值,并返回由它们的商和余数组成的一对数字(元组)。

2024-04-08 23:10:27 1238

原创 python 中的 collections 使用详解

可以设置一个默认值作为字典中新key的默认值。该默认值可以是任何对象, 包括函数、列表、元组、集合等。默认值不需要像dict那样事先定义,因为它在需要的时候会自动创建使用defaultdict,可以简化代码并提高代码的可读性,而且可以防止KeyError异常的出现。同时,defaultdict的性能与普通字典相当,因为底层实现并不影响字典的性能。

2024-04-07 22:11:19 2649

原创 记录下两个在用的做 lidar odometry 的算法 repo

熟肉:https://blog.youkuaiyun.com/qq_29320587/article/details/131534824。

2024-04-02 16:25:15 379

原创 图解PyTorch中的torch.gather函数和 scatter 函数

官方文档对torch.gather()的定义非常简洁定义:从原tensor中获取指定dim和指定index的数据看到这个核心定义,我们很容易想到gather()的基本想法其实就类似从完整数据中按索引取值般简单,比如下面从列表中按索引取值上面的取值例子是取单个值或具有逻辑顺序序列的例子,而对于深度学习常用的批量tensor数据来说,我们的需求可能是选取其中多个且乱序的值,此时gather()就是一个很好的tool,它可以帮助我们从批量tensor中取出指定乱序索引下的数据,因此其用途如下。

2024-04-01 20:03:03 1106

原创 monocular depth estimation 网络的 regression loss 选择

其具体实现见:https://github.com/marcelampc/d3net_depth_estimation/blob/master/pytorch/util/loss_bank.py。

2024-04-01 19:49:53 315

原创 contextlib.redirect_stdout 使用

contextlib.redirect_stdout(io.StringIO()) 是 Python 中的一个上下文管理器,用于临时重定向标准输出流(stdout)到指定的文件对象或文件类对象。通常情况下,标准输出流指向终端(console),但有时你可能希望将输出重定向到内存中的字符串缓冲区,以便在代码中捕获和处理输出内容。在这个示例中,我们首先创建了一个字符串缓冲区 output_buffer。

2024-03-29 15:28:56 1018

原创 利用lidar生成深度图

深度图像(Depth Images),也被称为距离影像(Range Images),是指将图像采集器到场景中各点的距离(深度)值作为像素值的图像,它直接反映了景物可见表面的几何形状,利用它可以很方便的解决3D目标描述中的许多问题。深度图像经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图像数据。从数学模型上看,深度图像可以看作是标量函数 在集合 上的离散采样,得到 ,其中 为二维网格(矩阵)的索引,

2024-03-28 20:11:16 1832

原创 python函数参数中独立星号*的作用

python函数中间有一个()分隔,星号后面为*命名关键字参数,星号本身不是参数**。命名关键字参数,在函数调用时必须带参数名字进行调用。

2024-03-28 17:25:37 281

原创 视觉问答(Visual_Question_Answering, VQA)介绍

VQA任务定义如下:给机器输入一张图片和一个跟这幅图片相关的问题,机器需要根据图片信息对问题进行回答。训练阶段,需要先在一个由图像,问题,答案组成的三元组集上训练一个模型。测试阶段,给该预训练模型输入一张新的图像和一个新的问题,要求模型能够预测正确的答案。设模型参数为,则该任务的目标为求取!对于open-Ended问题,机器的输出是自然语言(算法需要生成一个字符串来回答问题)。对于multi-choice问题,机器挑选出正确答案。

2024-03-18 20:09:45 8267

原创 vscode vim 快捷键汇总

进入 insert mode 后就和之前的模式一样,快捷键有些是和原理的 vscode 一致,有些不一致。shift +a/i 防止 curcor 即可编辑全部目标。CRTL +D选中目标。

2024-01-26 14:49:49 2001

原创 常见几种加密算法的Python实现

全称:MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。md5加密算法是不可逆的,所以解密一般都是通过暴力穷举方法,通过网站的接口实现解密。

2023-12-15 17:05:44 3015

原创 Active learning Tiny Review for autonomous driving

阅读某一特定主题的一本书不会使你成为专家,阅读多本包含相似内容的书也不会。真正掌握一项技能或领域的知识需要来自多样化信息源的大量信息。这对于自动驾驶和其他人工智能技术同样适用。负责自动驾驶功能的深度神经网络需要经过详尽的训练,不仅要在日常行程中可能遇到的情况下,还要在希望它们永远不会遇到的异常情况下进行训练。成功的关键在于确保它们受到了正确数据的训练。什么是正确的数据呢?那些新颖或不确定的情境,而不是反复出现相同的场景。

2023-10-26 11:28:51 403

原创 python3 获取 进程id 线程id

【代码】python3 获取 进程id 线程id。

2023-09-28 17:41:16 1007

原创 git 误删分支恢复方法

2.使用git branch recover_branch[新分支] commit_id命令用这个commit创建一个分支。在使用git的过程中,因为人为因素造成分支(commit)被删除,可以使用以下步骤进行恢复。3.切换到recover_branch_abc分支,检查文件是否存在。首先用以下步骤创建一个新分支,修改一些文件后删除,以便进行恢复。3.切换到abc分支,随便修改一下东西后 commit。可以见到recover_branch_abc已创建。5.查看分支列表,abc分支已不存在。

2023-09-28 17:37:47 3100

原创 Python 关于整除以及负数取余遇到的问题

这里面就可以发现-13用 “//” 除以10的时候,结果是-2,从结果中我们可以看出,“//”是向下取整,“-1.3”会被取成-2,如果想要得到-1,就需要用“/”,然后将结果强制转换为int型。不过在“a//n”这一步,当a是负数的时候,我们上面说了,会向下取整,也就是说向负无穷方向取整。最近在编码的过程中,在整除以及取余的时候遇到了一些比较迷的问题,这里码一下这些问题,以备日后查看。在Python中,取余的计算公式与别的语言并没有什么区别:r=a-n*[a//n]这里r是余数,a是被除数,n是除数。

2023-09-28 17:35:22 560

原创 EOFError: Ran out of input

使用pickle.load(f)加载pickle文件时,报错:EOFError: Ran out of input.1、加载前判断文件是否为空。解决办法:加载非空文件。可能原因:文件为空。

2023-09-28 17:21:07 4257 1

原创 Python如何优雅地可视化目标检测框

通过cv2.rectangle 函数设置 thickness, 我们可以得到填充后的图像,进而利用opencv中的 cv2.add_weight 函数可以实现透明效果.上述代码中, 首先计算标签文本的大小, 然后据标签文本大小进行矩形填充, 最后使用函数cv2.putText 来画出对应的标签文本.接下来我们来给矩形框添加标签,我们观察上述画图函数,注意最后一个参数thickness,如果此值等于-1,那么将对矩形框执行填充效果.

2023-09-28 17:18:46 2059

原创 Python3中类型注解(typing)详解

学习和编写过C++和Java的工程师应该都熟悉在声明变量或方法时,需要指定变量或方法的返回值的类型,即显式声明变量。而在Python中,声明变量时无需指定其类型、定义方法时需声明其返回值类型。Tips: Python的动态类型、一切即为对象概念的体现。虽然这些操作给Python的编写带来的极大的便利,使得人们可以更加注重与相关逻辑的实现;但同时也会降低代码的可维护性与牺牲一部分代码的可读性。人们常常会为方法增加大量的方法注释和变量注释;

2023-09-28 16:50:52 1547

原创 Python中Generators教程

要想创建一个iterator,必须实现一个有__iter__()和__next__()方法的类,类要能够跟踪内部状态并且在没有元素返回的时候引发StopIteration异常.这个过程很繁琐而且违反直觉.Generator能够解决这个问题.python generator是一个简单的创建iterator的途径.前面讲的那些繁琐的步骤都可以被generator自动完成.简单来说,generator是一个能够返回迭代器对象的函数.

2023-09-28 16:40:51 261

sql 快速上手....

sql 快速上手....

2022-08-25

sql笔记,,,,,,,

sql笔记,,,,,,,

2022-08-25

空空如也

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

TA关注的人

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