- 博客(79)
- 收藏
- 关注
原创 算法-模型似然值计算
在统计学和机器学习中,当我们有一个模型,该模型给出了预测值以及这些预测的不确定性(通常以协方差矩阵的形式给出),并且我们有一组实际的测量值时,我们可以使用这些信息来计算模型的似然值。在形式上可能相同,但它们的解释是不同的:概率函数描述了在已知参数下观测数据出现的概率,而似然函数则用于在给定的观测数据下评估不同参数值的合理性。我们想要计算的是,在给定预测值和协方差矩阵的情况下,观测到实际测量值的似然值。相对性:在比较不同参数值或不同模型的似然值时,我们关注的是它们的相对大小,而不是它们的绝对大小。
2024-08-22 10:28:39 658
原创 算法-UKF中Sigma点生成
在UKF(Unscented Kalman Filter,无迹卡尔曼滤波)中,sigma点是一组精心选择的采样点,用于近似非线性函数的传播和观测模型。这些sigma点基于系统的状态向量均值和协方差矩阵生成,旨在捕捉状态向量的分布特性。综上所述,sigma点在UKF中扮演着至关重要的角色,它们通过近似非线性函数的传播和观测模型,实现了对非线性系统的有效滤波和状态估计。一、sigma点的生成。二、sigma点的作用。三、sigma点的优势。
2024-08-20 11:06:47 282
原创 算法-SVD奇异值分解
奇异值分解(Singular Value Decomposition, SVD)是线性代数中一种重要的矩阵分解方法,它将一个矩阵分解为三个特定矩阵的乘积。最终,矩阵A被分解为A=UΣVT(或A=UΣV,取决于V的转置)。使用ATA的特征向量构造矩阵V(或VT,取决于SVD的具体定义)。这些特征向量是V(或VT)的列向量,并且也需要单位化。计算给定矩阵A的转置AT与A的乘积,即ATA,以及A与AT的乘积,即AAT。奇异值矩阵Σ是一个对角矩阵,其对角线上的元素是ATA特征值的平方根(即奇异值),且按降序排列。
2024-08-20 11:04:41 180
原创 矿卡全套感知ros编译部署
视觉部署1、trt_common.hpp:48:21: error: ‘shared_ptr’ in namespace ‘std’ does not name a template typetrt_common.hpp加#include 2、error: ‘std::chrono’ has not been declaredtrt_infer.h加#include breaker.h加#include 3、error: ‘mutex’ in namespace ‘std’ does not n
2024-08-19 11:38:11 903
原创 shell脚本-语法
综上所述,这行命令是用来在本地机器上启动 PyTorch 的分布式训练的,每个 GPU 上运行一个进程,所有的进程都会在指定的端口上集合,然后开始执行 train.py 脚本,并传递一些额外的参数。综上所述,这个命令通过复杂的数学运算生成了一个在10000到16383之间的随机端口号,这个范围包括了大多数未被广泛使用的端口号,因此适合用于需要随机选择一个未被占用的端口号的场景1。在这个例子中,它用于将左移操作后的结果与RANDOM的原始值进行组合,以确保生成的随机数不会超出预期的范围。
2024-08-18 15:02:03 734
原创 深度学习-MTR数据准备与训练
5、由于tensorflow与torch中的typing-extensions 版本无法统一,所以数据集准备与训练分别建立两个虚拟环境进行。一个tfrecord中包含大概500个scenario,scenario是一帧数据。2、MTR的数据准备用的是scenario里的数据,不是tf_example里的。num_workers从16改成1。3、数据用motion1.1。
2024-08-13 16:17:29 288
原创 硬件-mac地址
MAC地址是局域网中网卡设备的唯一标识ubuntu查询MAC地址的命令:ifconfigubuntu中的MAC地址:02:42:71:f0:c7:e5windows查询MAC地址的命令:ipconfig /allwindows中的MAC地址:70-1A-B8-95-9A-74在Windows和Ubuntu共用一个物理网卡的情况下,MAC地址显示不同是因为操作系统对网卡的管理方式不同。
2024-08-13 15:43:02 121
原创 算法-匈牙利算法
首先计算跟踪目标和检测目标之间的距离矩阵,计算的距离包括位置距离、方向距离和bbox大小距离;最后对每一个连通域进行匹配结果分析,如果连通域中只有一个跟踪目标,则将该目标划分到未匹配的跟踪中,如果连通域中只有一个检测目标,则将该目标划分到未匹配的检测中,如果连通域中刚好只有一个检测目标和一个跟踪目标,则为完美匹配,将这组目标推入到匹配队列中,如果连通域中有大于1个跟踪目标,同时大于等于1个检测目标,或连通域中有大于等于1各跟踪目标,同时大于1个检测目标,则将该连通域目标进行匈牙利优化。
2024-08-06 10:23:58 234
原创 ros-rostopic hz打印内容含义解释
对于10hz发布的数据,理想的状态average rate = 10,min = 0.1s,max = 0.1s,std dev = 0;average rate ---- 平均频率,从开始统计到当前时刻发布的帧数除以从开始统计到当前时刻的时间差。std dev ---- 从开始统计到当前时刻相邻俩帧发布时间差的标准差。min ---- 从开始统计到当前时刻相邻俩帧发布的最小时间差。max ---- 从开始统计到当前时刻相邻俩帧发布的最大时间差。window ---- 1s内发布的帧数。
2024-07-04 10:50:27 275
原创 cuda-将设备的指针拷贝到同一个设备的指针
上述代码中即是将cuda中的bev_model_feature_output1指针拷贝到cuda中的fusion_model_feature_input1指针中。tensorRT推理时,输入输出指针都位于设备上,所以设备上的指针之间的拷贝需要使用cuda的拷贝指令,不能使用主机的拷贝指令。
2024-06-23 00:28:47 223
原创 TensorRT-常见问题
解决方法:将TensorRT版本升到可以匹配cuda版本的最高版本,本机cuda版本是11.3,TensorRT升到8.6.0.12,问题解决了。
2024-06-19 20:48:35 210
原创 cuda-cuda语法
cuda::make_unique 是 C++11 引入的智能指针类型,用于在设备端(GPU)分配内存,而 cudaMemcpy 是 CUDA 提供的内存拷贝函数,用于在主机(CPU)和设备(GPU)之间传输数据。cudaMemcpy 用于在 GPU 上已分配的内存和 CPU 内存之间传输数据。cuda::unique_ptr表示它是一个唯一拥有的指针,指向一个浮点数组,当cuda::unique_ptr超出作用域或被销毁时,它将自动释放/删除指向的内存。
2024-06-14 15:25:37 311
原创 python-元组加法
在Python中,元组(tuple)是一种不可变的序列类型,你不能直接对元组进行加法操作。但是,你可以通过一些其他方式来处理元组的“加法”。如果你想要“合并”两个元组,你可以使用加号(+)操作符,它会将两个元组序列连接起来,返回一个新的元组。print(combined_tuple) # 输出: (1, 2, 3, 4, 5, 6)如果你想对元组中的数字进行加法操作,你需要先将元组转换成列表,然后才能进行数学意义上的加法。
2024-06-14 11:07:03 472
原创 tmux-以脚本中的tmux命令为例解释常用tmux命令
tmux split-window -p 50 -v -t $SESSION:0.2 ----- 同理,-t $SESSION:0.2 表示右侧的窗格。tmux split-window -p 90 -h -t $SESSION:0.2 ----- 这里分割完后,左上侧的窗格编号为 $SESSION:0.0,左下方的窗格编号为 $SESSION:0.1,中上方的窗格编号为 $SESSION:0.2,右上方的窗格编号为 $SESSION:0.3,右下方的窗格编号为 $SESSION:0.4。
2024-06-12 18:05:20 496
原创 深度学习-CPGNet部署
模型是torch1.8导出的,对应的onnx版本是11,但是onnx是torch1.12生成的,对应的onnx版本是16。将onnx.export函数的属性从opset_version=16改成opset_version=11。
2024-06-09 11:07:20 299
原创 c++ gdb调试代码
执行p + 指针,可以查看指针指向的内存地址,如上图所示,0x0表示为空指针。*p表示此指针指向的内存地址中存放的内容。程序运行报Segmentation fault;
2024-05-16 17:15:07 237
原创 ubuntu-alias命令
将命令source /opt/eon-cli/setup.bash重命名为use_eon_cli,这样终端执行后者就相当于执行了前者。用于设置命令的别名信息。
2024-04-16 12:51:55 372
原创 深度学习-学习笔记记录
概念:主要是将不同来源、类型的模型,例如深度学习、传统机器学习等,的结果或特征进行结合,以得到一个更好的模型或结果。目标与应用场景:常用于多视角、多模态的任务中,如视觉与文本的多模态任务,旨在从不同模型中获取更丰富和多样的信息。融合方法与策略:通常涉及特定的策略如投票、加权平均等,以及特定的集成技术如Bagging、Boosting。模型的多样性来源:多样性主要来自模型的不同实例,例如不同的决策树、不同的参数设置等。模型的多样性来源:多样性来自不同类型的模型,如CNN、RNN、SVM等。
2023-11-30 14:02:55 267
原创 深度学习-模型调试经验总结
这句话的意思是:期望张量的后端处理是在cpu上,但是实际是在cuda上。排查代码发现,数据还在cpu上,但是模型已经转到cuda上,所以可以通过把数据转到cuda上解决。解决方法:减小batch size的大小或减小图片的尺寸。
2023-11-29 11:25:40 450
原创 深度学习-ubuntu18.04+RTX3080+cuda11.2+cudnn8.1.0下安装polarstream全纪录
将/home/user/catkin_ws/polarstream/configs/nusc/pp/polarstream_det_n_seg_1_sector.py中第5行设为nsweeps = 1,第120行设为data_root = “/home/user/data/nuSenses/v1.0-trainval01_blobs”生成instance_all。以下操作均在虚拟环境中进行。
2023-06-24 18:22:14 739 1
原创 ros-sensor_msgs/PointCloud2消息内容解释
fields-----每个点的成员变量,其中name为对应成员变量的名字,offset为该变量的内存的起点相对于这个点的内存的起点的偏移字节数,比如变量x的内存地址起点与这个点的内存地址起点一致,所以offset为0,因为存储x的内存占用4个字节,所以变量y的内存地址起点相对于这个点的内存地址起点至少需要偏移4个字节,这里是连续存储的,所以offset为4,而后面的intensity与前一个z的内存并不是连续的,datatype为变量的数据类型,具体对应关系如下。width-----每行点云的宽度。
2023-02-20 16:17:57 1459
原创 python-import依赖提示Segmentation fault (core dumped)解决方法
python-import依赖提示Segmentation fault (core dumped)解决方法
2023-01-02 00:00:00 2085
原创 深度学习-ubuntu18.04+RTX3080下安装rangnet++推理版踩坑全纪录
ubuntu18.04+RTX3080下安装rangnet++推理版踩坑全纪录
2022-11-13 21:16:33 4635 18
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人