LoRA:用小抄、上大分
LoRA(Low-rank adaptation)微调技术:用小抄、上大分 LoRA为何出现?随着GPT-3等千亿参数大模型的出现,越来越多的产业需要使用这些大模型进行生产工作。当把一个预训练完的大语言模型接入到特定垂直领域进行使用时,往往希望其拥有更多该领域的相关知识,以提升其在该领域的表现。因此,我们需要对预训练的大模型进行微调(Fine-tuning)。 微调方式在LoRA出现之前,微调大模型的方式主要有两种: 全参数微调 直接对预训练模型的所有参数进行微调。对于参数爆炸的大模型来说,这种方式需要大量的计算资源(显存)和存储空间,且容易过拟合。参数高效微调PEFT(Parameter-Efficient Fine-tuning) Adapter(适配器层):在预训练模型的基础上插入小型的适配器层,只微调这些适配器层的参数,保持原模型参数不变、相当于冻结原模型参数,只更新适配器层参数。 Pros: ...
NCRE计算机三级——网络技术备考全笔记
NCRE计算机三级——网络技术备考全笔记 网络系统结构与设计的基本结构宽带城域网的结构 “三个平台,一个出口:管理平台,业务平台,网络平台和城市宽带出口” 用户接入层:解决用户 “最后一公里” 的作用,主要用来连接客户的 和用户接入有关的东西 (用户接入和本地流量控制)...
ROS中常见传感器消息和Linux的设备管理
ROS中常见传感器消息和Linux的设备管理 ROS中常见传感器消息——SensorMsgSensorMsg是ROS中用于表示各种传感器数据的消息类型集合。它包含了多种传感器数据格式,如图像、点云、激光扫描等,方便开发者在ROS环境中处理和传输传感器数据。 激光雷达传感器信息 你是否也有这样的疑惑,pointcloud2的点云消息格式(sensormsgs)和Velodyne 点云结构(velodyne_ros::Point)Livox...
Transformer及其变体
Transformer及其变体学习笔记 为什么需要Transformer变形金刚RNN的好与坏 RNN的计算方式[矩阵方式]矩阵行列不变的计算,将t-1的部分处理后并入t时刻的传入矩阵、 计算公式RNN缺点 无法捕捉长期依赖 无法并行,必须一步一步顺序计算 Transformer模型(基础数学理解)模型的编码、计算方式核心 将词向量用Wq、Wk、Wv相乘的到三个变换词向量 关系性判断:变换词向量之间的相似度Attention注意力机制,Multi-Head Attention多头注意力机制 Dot单头注意力:Q、K矩阵相乘后经过√dk缩放,经过Softmax处理后与V矩阵相乘 多头:将QKV矩阵经过多个权重矩阵,拆分到多个头中分别经过注意力机制运算(单头运算),之后合并经过一次矩阵运算训练流程编码器段 输入词句,词嵌入引入位置编码 经过多头注意力,残差和归一化处理 送入一个全连接神经网络,再进行残差和归一化处理,把结果送入多头注意力机制的两个输入中作为KV矩阵 解码器段 输入翻译文本,词嵌入引入位置编码 多头注意力,残差和归一化处理送入多头注意力机制Q矩阵...
几个工作流介绍
工作流介绍(算法组第六课) Konsole的使用 Ubuntu默认使用GNOME桌面环境,同时支持Wayland和X11两种显示服务器协议。KDE桌面环境则是另一种流行的Linux桌面环境,主要使用X11协议,但也支持Wayland。 Konsole是KDE桌面环境下的终端模拟器,可以类比超级终端(Terminator),但是他拥有更多的快捷键和功能 Konsole的快捷键和功能可以在设置中进行查看和修改,你能想到的快速分屏,复制粘贴等快捷键这里基本都有 下载后,需要将Konsole设置为默认终端模拟器,输入如下指令后按提示进行: sudo update-alternatives --config x-terminal-emulator 开发容器与DevContainer的使用 DevContainer是Visual Studio Code(VS Code)中的一个功能,允许开发者在隔离的容器环境中进行开发。 无需在终端进行docker有关的容器创建和开启等操作,直接在VS Code中打开项目文件夹,VS...
关于我
你会发现一个有趣的我 🙋 Hello ### 🤺 About Me 嗨,你好,我是小田同学,目前就读于南京理工大学自动化学院,大三。热爱编程、创新、学习、读书、运动、旅行、音乐。 热爱机器人和计算机,希望能成为一名优秀的开发者。 日常里,我也是个泡工位敲代码的“技术一般”宅;但,我的其余生活同样丰富: 坚持数年如一日的夜跑; 闲暇时间看番、剧本杀、探店、摄影; 还有时常在寝室吃灰的电吉他:( 和同学们去KTV是我的热爱,也会在下课后的饭点儿和好哥们一起吃饭。 当然啦,有着和大多数同学一样赚钱与经济独立的愿望;与此同时,也希望能够靠着自己过去、当下、未来所学,能对世界有所影响 :) 📃...
机器人定位基础
机器人定位基础(算法组第八课) 前言 机器人定位是在给定环境中,机器人通过对环境数据的感知,估计自身在环境中的位置和姿态的过程 机器人定位大致分为两大类:相对定位和绝对定位 相对定位是通过机器人自身的传感器数据(如里程计、IMU等)来估计位置变化,所有获得的信息都是以当下位置为基准的相对变化,无法获得绝对位置,容易积累误差 常见的相对定位有:轮式编码器、惯性测量单元(IMU)、视觉图像辅助定位等。他们的优点是实时性好,且对环境要求不高,即使在噪声多的情况下也能够做到不“突变”产生较大的测量误差,但是他会随着系统的运行累计小的误差,最终导致误差积累,产生较大漂移 绝对定位是通过外部环境的特征(如视觉标志物、激光地图等)来确定机器人在环境中的绝对位置,能够提供全局一致的位置估计,误差较小,但是实现较为复杂 常见的绝对定位有:SLAM(simultaneous localization and mapping)、重定位(Relocation)、视觉里程计(Visual...
小文1
...
Navigation2开发心得
Navigation2开发心得 bt_navigator: ros__parameters: use_sim_time: True # 使用Gazebo等仿真器的时间而非系统时间 global_frame: map # 全局定位使用的地图坐标系 robot_base_frame: base_link # 机器人基坐标系 odom_topic: /odom # 里程计话题 bt_loop_duration: 10 # 行为树循环周期(ms) default_server_timeout: 20 # 默认服务超时时间(s) wait_for_service_timeout: 1000 # 等待服务启动超时(ms) # 'default_nav_through_poses_bt_xml' and 'default_nav_to_pose_bt_xml' are use defaults: #...
SLAM部署与imu标定
SLAM部署与imu标定 前言 笔者在上一条帖子时已经在尝试运行若干SLAM算法试图择优观察部署效果(包括FAST_LIO,LIO-SAM,Point-LIO,rtabmap等笔者看过的建图,定位算法) 笔者最终聚焦在LIO-SAM的建图(意即先导地图的获取),随后利用liorf_localization的LIO-SAM衍生纯定位算法实现机器人在已知地图的重定位 可能有的开发者想问SLAM已经自带了同时建图与定位功能,为什么还要将建图和定位隔开进行开发。笔者在单跑LIO-SAM时发现过其轨迹与实际录取数据包时的误差,有时甚至会平地起飞(漂移) 为了解决这一问题,笔者尝试了隔离建图定位,进行imu内参标定的尝试,将其记录下来(其实就是臭调包工程师) 基础知识扫盲首先,我们要了解一下SLAM和传感器的有关术语 SLAM,定位与建图 1.建图:简而言之,就是收集正在运作的传感器数据(本文中提到的均为激光SLAM,所以传感器基本上是激光雷达+imu),利用建图算法将这段时间的传感器数据记录为一张地图 ...
