自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 初识Linux设备驱动

可以按照有/无操作系统,分为两类。字符设备的特点是必须串行访问,属于字符设备的,举例来说有鼠标、触摸屏等。块设备的特点是可以任意顺序访问,但必须以“块”为单位操作,例如硬盘。

2025-01-21 15:13:04 129

原创 Windows下有些快捷方式无法拖放到任务栏

起因是想把一个文件夹的快捷方式拖到任务栏,方便快速打开,结果发现无法拖进去。搜了下原因,说是“任务栏更倾向于显示应用程序”,于是得到了一些解决方法。下面随便以一个快捷方式为例演示一下。

2025-01-17 11:23:38 748

原创 UDEV规则文件、匹配关键字、赋值关键字

当系统中出现的新硬件属于net子系统范畴,系统对该硬件采取的动作是“add”这个硬件,且这个硬件的“address”属性信息等于“08:00:27:35:be:ff”​,​“dev_id”属性等于“0x0”​、​“type”属性为1等,此时,对这个硬件在udev层次施行的动作是创建/dev/eth1。SUBSYSTEM(匹配子系统名)​、SYMLINK(符号创建链接名)​、KERNEL(匹配内核设备名)​、OWNER(设置设备的所有者)​、NAME(创建的设备文件名)​、GROUP(设置设备的组)​、

2025-01-12 11:17:12 155

原创 MAC使用串口调试linux系统开发板,ToolTerm终端字符乱码如何解决

在网上搜到很多教程,是需要下载coolTerm, Minicom等软件再进行连接,我首先尝试了界面和设置看起来最简单的coolTerm, 结果配置好之后,尝试登陆到设备上时,发现coolTerm的终端上显示的字符都是乱码。在coolTerm的Options中又折腾了很久,尝试修改字符编码的设置,解析ANSI格式等,最终都不能完全解决显示乱码的问题。最糟糕的是,当我输入回车键时,终端也是显示一堆乱码,而非我想要的结果。

2025-01-09 09:10:28 423

原创 ADB命令备份设备上的软件到本地

用ADB命令备份设备上的软件到本地主要有三个步骤,下面分别介绍。

2025-01-07 17:29:34 450

原创 【C#特性整理】C#特性及语法基础

值类型的实例, 赋值时, 会进行实例的复制,开辟新的地址存放新的实例.封装了一部分对象状态的函数成员,例如按钮的颜色或者标签的文本。接口: 用于将标准与实现隔离, 仅仅定义行为,不做实现.C#中, 所有类型都共享一个公共的基类型.简化对象状态变化处理的函数成员。

2024-12-30 21:39:19 640

原创 【深入解析C#第四版】读书笔记1:C# 特性之【类型系统】

C#从诞生之日起,就是一门静态类型语言。变量、参数、返回值的类型越明确越好。

2024-12-19 23:47:14 317

原创 MacOS编译hello_xr——记一次CMake搜索路径限制导致的ANDROID_NATIVE_APP_GLUE not found

也就是说, 在给定的目录下查找android_native_app_glue.h这个文件, 找到后将其所在目录赋给ANDROID_NATIVE_APP_GLUE.在交叉编译时,CMake 的 CMAKE_FIND_ROOT_PATH 或 CMAKE_SYSROOT 参数可能会限制搜索路径。于是确认了下系统中该目录是否存在该文件, 结果发现是有的.那么为什么查找结果是not found呢?经过调整后,就编译成功啦。

2024-11-12 10:38:43 559

原创 DBSCAN聚类

参数敏感: DBSCAN 对于 eps 和 min_points 参数较为敏感,参数设置不当可能会导致聚类结果不理想。-处理高维数据的能力有限: 在高维空间中,确定合适的 eps 值变得困难,因为高维数据的密度计算变得复杂。eps:定义了点与点之间的最大距离,决定了一个点是否在另一个点的邻域中。这是密度聚类的关键参数。-大规模数据的计算效率: 在非常大的数据集上,DBSCAN 的计算效率可能不如其他算法。min_points:在一个点的邻域内,最少需要包含多少个点才能被认为是核心点。

2024-08-13 22:52:37 471 1

原创 MAC系统brew安装包的时候报错

install.

2024-08-10 16:03:15 1558

原创 【Pytorch】torch.ne | torch.nonzero

as_tuple (bool, 可选): 如果为 True,则输出是一个元组,每个元组包含一个维度的索引。它返回一个与输入张量形状相同的布尔张量,对于对应位置不相等的元素,输出为 True,否则为 False。other (Tensor 或者 数值): 待比较的第二个输入,可以是一个张量或一个标量。out (Tensor, 可选): 用于存储输出结果的张量。out (Tensor, 可选): 用于存储输出结果的张量。input (Tensor): 待查找非零元素的输入张量。

2024-08-08 11:15:04 459 2

原创 【Pytorch】topk函数

topk 是 PyTorch 中的一个函数,用于从张量中选取最大(或最小)的 k 个元素及其对应的索引。

2024-08-06 17:06:09 578

原创 编程语言漫谈之「初始化与赋值」——以C++和汇编语言为示例

在static 修饰局部变量时, 是有区别的例如,// 定义时直接初始化a++;func();// 第一次调用,a 被初始化为 10,然后自增为 11func();// 第二次调用,a 保持其上次的值 11,然后自增为 12func();// 第三次调用,a 保持其上次的值 12,然后自增为 13return 0;// 只声明但未显式初始化a = 10;// 每次调用函数时都将 a 赋值为 10a++;// 自增func();// 第一次调用, 11func();

2024-07-29 21:56:40 429

原创 编程语言「描述符」漫谈——以C++与Rust为例的行为声明与类型描述

这里的修饰符const和说明符int是混在一起用的. 这里其实缺失了一个声明符,来告诉读者这句代码是在声明一个变量.但其他语言, 例如rust语言中, 就会用「let」声明符, 表示当前语句是在进行变量声明.例如, 下述语句表示定义一个可变变量(mut表示可变的, rust中默认是不可变的).这里并不需要用“func”来告诉读者, 这里要进行一个函数的声明.swift语言就是严格遵循这些描述符的, 例如,是声明符, 表示声明一个函数,, 表示编译成OC兼容函数,又如, 定义变量时,

2024-07-29 21:28:17 616

原创 如何清理僵尸进程

僵尸进程是在子进程已经终止, 但其退出状态尚未被父进程读取时,仍然保留在进程表中的进程。尽管它们不会消耗系统资源,但会占用进程表项,可能导致系统无法创建新的进程。例如, 在执行nvidia-smi命令时, 看到有许多进程在运行, 但有些进程的Process name 栏只有一条横杠, 并没有名字, 那么这就有可能是僵尸进程.

2024-07-15 07:56:49 621

原创 【基于深度学习方法的激光雷达点云配准系列之GeoTransformer】——粗配准

从本文开头的图中可以直接明了地看出, forward函数中, get_node_correspondences步骤的输出——gt_node_corr_indices, gt_node_corr_overlaps, 是coarse_target函数的所有输入. coarse_target函数中, 首先根据设定的overlap阈值, 过滤中有效的真值匹配点对, 然后分别获取对应的ref点索引、src点索引以及overlap程度, 返回这些结果.这个类中是没有可学习的网络参数的.

2024-07-09 15:23:29 1250 5

原创 Error loading webview: Error: Could not register service worker: InvalidStateError: Failed to regist

最终, 尝试了一下把当前打开的几个Vscode窗口全部关闭, 再在 terminal中 执行code --no-sandbox, 终于成功啦。

2024-07-09 10:38:56 568

原创 【Git】忘记切换分支! 如何将一个分支上的修改转移到另一个分支上去?

当然啦, git还有很多其他的方法来解决这个问题, 比如创建补丁文件, cherry-pick等等, 后续再一起学习吧~使用git stash pop来。特定的stash条目。

2024-07-04 08:27:04 880

原创 华为智能驾驶方案2024

设备方面:华为ADS智驾方案依旧坚持激光雷达+毫米波雷达+摄像头的多传感器融合路线1)单车传感器数量呈现下降趋势,包括激光雷达从3个减配至1个、毫米波雷达从6R减配至3R、摄像头数量亦有所减少;2)车侧算力从400TOPS降低至200TOPS、更贴合实际需求,同时或在探索“Max + Pro”双版本智驾硬件配置方案。算法方面1)障碍物识别方面,从BEV升级至G0D,优化对异形障碍物、罕见障碍物的识别性能;2)车道识别及路径规划方面,从1.0的“有高精地图”转向2.0的“无图”,无外购高精地图基

2024-06-29 22:35:03 579

原创 【5minC++基本功】——C++常用的命名规范

2024-06-29 16:13:29 145

原创 【基于深度学习方法的激光雷达点云配准系列之GeoTransformer】——模型部分浅析(1)

组成的feats_list.

2024-06-28 11:28:17 1358 2

原创 【Python】抽象基类——class BaseTrainer(abc.ABC)

抽象基类(Abstract Base Class,ABC)。这里的abc是Python标准库中的abc模块,它提供了定义抽象基类的能力。通过继承自abc.ABC,BaseTrainer类可以包含抽象方法,强制要求任何继承它的子类必须实现这些抽象方法。这样的设计通常用于规定接口或者模板方法,增加代码的可扩展性和可维护性。这样的写法, 遂查了一下,

2024-06-19 09:22:24 205

原创 【Python深度学习】——使用Logging记录模型训练过程

使用Logging记录级别示例级别数值DEBUGlogging.debug10INFOlogging.info20WARNINGlogging.warning30ERRORlogging.error40CRITICALlogging.critical50

2024-06-19 08:40:49 541 1

原创 【基于深度学习方法的激光雷达点云配准系列之GeoTransformer】——数据部分梳理(1)

使用自己的数据进行点云数据配准的训练时, 需要运行GeoTransformer/experiments/geotransformer.kitti.stage5.gse.k3.max.oacl.stage2.sinkhorn/下面的trainval.py,它是调用同目录下的dataset.py来组织数据的。而在这个文件的开头, 就import 了geotransformer.utils.data模块中的三个函数, 因此理解这个模块是非常重要的。

2024-06-12 18:37:21 1352 2

原创 【Python深度学习】——交叉熵|KL散度|交叉熵损失函数

交叉熵损失函数的目标是最小化预测概率分布与真实分布之间的差异。对于真实分布P 和预测分布 𝑄,交叉熵𝐻(𝑃,𝑄) 的定义为Lyy−∑i1Kyilog⁡yiLyy​−i1∑K​yi​logy​i​yiy_{i}yi​是实际标签的独热编码(one-hot encoding)如果真实类别是 𝑖,则yi1y_{i}=1yi​1, 其余为 0;yi\hat y_{i}y​i​是模型预测的类别 𝑖 的概率。

2024-06-11 08:29:43 1344

原创 【Python深度学习】——信息量|熵

这个硬币有两个面:正面(H)和反面(T),每次掷硬币出现正面或反面的概率都是 0.5。——概率密度越均匀, 不确定性越高,即熵越高;概率密度越聚拢, 不确定性越低, 熵越低.此外, 事件独立时, 两个事件同时发生的信息量,等于两个事件的信息量相加.构成. 例如, 抛硬币的结果出现正面和反面就构成一个完整的系统.如下图所示,左图为一个平均分布, 不确定性较高;以2为底, 是转换到二进制下的表示复杂度.一件事越容易发生, 它的信息量就越小.表示事件 ( x ) 的信息量,熵的值就等于概率分布中所有信息量的。

2024-06-10 13:02:06 894

原创 【5minC++基本功】——左值与右值|左值引用与右值引用

— 简单地说, 它是指向内存位置的表达式,其值可以被修改可以出在等号左边;能够取地址具有别名不能被赋值的表达式,通常是临时值或字面常量右值分为纯右值与将亡值它表示资源即将被移动或者销毁的对象。

2024-06-10 01:23:54 525 1

原创 【python深度学习】——torchvision.models

torchvision是PyTorch生态系统中的一个包,专门用于计算机视觉任务。它提供了一系列用于加载、处理和预处理图像和视频数据的工具,以及常用的计算机视觉模型和数据集。关于此模块的官网介绍在这里。这个模块包含许多常用的预训练计算机视觉模型,例如ResNetAlexNetVGG等分类、分割等模型。在官网示例中可以看到, 在0.14版本之后, 可以通过调用list_modelm1 = get_model("mobilenet_v3_large", weights=None) #不带预训练权重。

2024-06-08 11:27:31 707

原创 【python深度学习】——torch.einsum|torch.bmm

全称为: batch matrix-matrix product, 批量矩阵乘法, 适用于三维张量,其中第一维表示批量大小,第二维和第三维表示矩阵的行和列。

2024-06-05 14:36:15 799

原创 【python深度学习】——pytorch中tensor的view、resize(resize_)与reshape

【代码】【python深度学习】——pytorch中tensor的view、resize(resize_)与reshape。

2024-06-04 23:32:03 1013

原创 【python深度学习】——tensor内部存储结构|内存优化与as_strided|内存紧凑化contiguous

深度学习中数据量往往是非常庞大的, 因此, tensor的storage是可以共享的, 如下图所示——tensor A和B的元素是相同的, 在内存中,其实是指向同一片空间的, 只是通过stride的不同,来实现呈现的tensor不同。由前面两节我们已经知道, 有些情况下, tensor数据只是视图不同, 元素的存储其实没有改变, 那么在反复操作时, 有可能带来计算效率的下降。在这个例子中,contiguous_tensor 是一个新的 Tensor,数据被复制到一个新的连续存储区中。

2024-06-03 21:35:19 1203

原创 Ubuntu18.04进入不了图形界面,systemd-udev-trigger.service:22: Executable path is not absolute

于是火速按照之前的方法, 打开/lib/systemd/system/systemd-udev-trigger.service这个文件, 将ExecStart的路径改为系统上udevadm的真实路径, 接着重启服务,查了下资料, 发现它与设备(例如显卡等)的识别相关, 那么很可能是这个原因导致进入不了图形界面了!在emergency recovery mode 的页面上当时有个提示, 是先按回车键, 然后进入系统中可以通过。但是执行这个命令后, 一直翻不到最后一页,不知道什么时候才能看完……

2024-05-31 15:56:01 537

原创 【python深度学习】——大型工程项目管理以及互相导入

与相对导入不同,绝对导入不会依赖于当前模块的位置,而是基于项目的根目录来定位模块。并且你是在项目的根目录下运行了python test/test_gui.py这个命令,那么就可能会产生上述报错。这里依然更推荐以python -m的方式,在工程根目录来运行包中的模块.来开展单元测试, 我们有两种方式可以实现, 分别是。

2024-05-31 11:01:09 1451

原创 【斯坦福新研究:RAG能帮助LLM更靠谱吗?】

当提供正确的参考信息时,这些模型正确回答了94%的问题。当修改后的信息与模型认为合理的情况偏离得更厉害时,出现了类似的模式:偏离越不切实际,大语言模型(LLM)就越依赖于自己的预训练知识。模型会注意到错误吗?为了解决上述问题,检索增强生成(RAG)是一种常用的框架,它在LLM的提示中提供相关检索内容,获得相关信息的参考文档或数据库,并可以显著提高模型的准确性。但当语言模型内部知识与通过RAG提供的信息之间的不一致时,或者当网络结果不断变化,并且可能包含过时、错误或有害的信息时,这个问题就变得更加复杂了。

2024-05-29 23:26:00 329 1

原创 【python】-——并行训练之torch.multiprocessing.spawn()

它与torch.distributed.launch的区别是,torch.distributed.launch启动的每个进程, 都运行整个Python 脚本。主要用于创建指定数量的子进程,并行地执行目标。

2024-05-29 23:22:12 980

原创 AI 前沿发展摘要

特点: 使用了更高质量的视觉数据和字幕训练, 现在Open-Sora 1.1能够 能够生成最长约21秒的视频。一款先进的开源语言模型,拥有30亿参数,能够高效地将用户查询转换成专业模型可以有效处理的格式。🔔 AI 前沿发展摘要。

2024-05-28 15:10:44 773

原创 【python深度学习】——torch.min()

当传入两个张量时,torch.min() 会比较两个张量中的每个位置的元素,并返回对应位置的最小值。当指定 dim 参数时,torch.min() 会返回沿指定维度的最小值以及对应的索引。不指定维度时, torch.min() 输出整个张量中所有元素的最小值。

2024-05-28 11:26:47 1211 1

原创 【python深度学习】——torch.expand()广播机制|torch.norm()

如果尝试在一个不是 1 的维度上进行扩展,会引发错误。因此我们先用unsqueeze函数在目标位置上进行dim=1的扩充, 再进行expand。在处理3D点云时, 有时需要对两帧点云进行逐点的三维坐标相加减、做点积等运算, 但是读入的PCD文件中,点云数量并不一定是相等的。那么首要的一个问题就是, 如何将两帧点云处理成大小相同的矩阵然后进行计算?torch.norm()是 PyTorch 中用于计算张量范数的函数,expand函数只能在原始。

2024-05-27 17:16:40 1084

原创 RAG与SFT技术简介

其核心思想是,通过先从一个庞大的数据库中检索相关信息,然后利用生成模型基于这些信息生成答案。指令微调是一种通过在预训练模型上进行额外的微调,使模型能够更好地理解和执行自然语言指令的方法。通过这个过程,模型可以更准确地响应具体的指令,从而提高其实用性和用户体验。检索模型(通常是一个预训练的BERT模型)从一个大型数据库中找到与查询最相关的文档或片段。生成模型(通常是GPT-3或其他大型语言模型)接收检索到的文档片段。:例如,医疗领域的患者问答系统,可以提供准确的医疗信息。生成模型基于这些片段生成最终的回答。

2024-05-25 11:52:29 1886

原创 【5minC++基本功】C++中的多级指针、泛型指针、与函数指针

在 main 函数中,我们定义了一个函数指针 funcPtr,它可以指向返回类型为 void,参数类型为 int, int 的函数。

2024-05-25 09:44:24 1003

从rosbag中离线提取指定话题信息保存到csv文件中的python脚本

一个读取rosbag,从中提取指定话题信息,并保存到csv文件中的python样例。 运行脚本的命令是python test.py --bag_path XXX --topic XXX --id XXX --output_file XXX 接受的4个参数分别是rosbag的路径bag_path;要提取的话题名称topic, 要提取的指定目标标识号id, 以及输出csv的指定路径output_file 可以根据自己的需求基于此脚本进行增删改。

2023-11-07

空空如也

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

TA关注的人

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