- 博客(47)
- 资源 (9)
- 收藏
- 关注
原创 CBGSDataset类-带类别平衡采样的数据集封装器
在3D点云目标检测任务中(如自动驾驶场景),数据通常存在严重的。直接训练会导致模型对高频类别过拟合,低频类别检测效果差。重采样后每个类别约383个样本(通过过采样/欠采样实现)在BEV(鸟瞰图)感知任务中,类别平衡能显著提升。遍历数据集,记录每个类别出现的所有样本索引。目标分布:若共有N个类别,则每个类别占比应为。:对稀有类别(如行人)的样本进行重复采样。:对高频类别(如汽车)的样本进行随机丢弃。每个类别的目标比例:33.3%(3个类别)问题(例如"汽车"样本远多于"行人")。汽车:1000个样本。
2025-04-08 22:12:54
245
原创 印度大神harsha suryanarayana 数据结构(英文字幕720p) 第二课_ List as abstract data type
视频中介绍的List类似于array的功能特性。访问某个地址的时间复杂度为o(1),插入元素的时间复杂度为o(n)移除元素的时间复杂度为O(n)新增元素的时间复杂度为O(n)-读取和修改某个位置的元素。- 空list的大小为0。
2025-04-01 20:04:25
103
原创 印度大神harsha suryanarayana 数据结构学习笔记-第一节课 Introduction to data structures
例如,在栈的抽象数据类型中,外部程序只能通过入栈和出栈操作来访问栈中的元素,而不能直接访问栈内部的数据结构。抽象数据类型是一种对数据的抽象描述,它将数据的逻辑特性和对这些数据所允许执行的操作封装在一起,而不考虑这些操作的具体实现细节。:抽象数据类型只关注数据的逻辑特性和操作的功能,而隐藏了具体的实现细节。:隐藏了数据的具体表示和操作的实现细节,使得数据类型的实现可以独立于使用它的程序进行修改和优化。例如,在一个栈(Stack)的抽象数据类型中,数据对象就是一系列按顺序存储的元素。1、有开或关两种状态。
2025-04-01 14:36:23
456
原创 fast_bev中的S2C + 2D卷积 与 高度(Z) 和 通道(C) 维度合并前的3D卷积效果是否一致
S2C + 2D卷积和3D卷积各有优劣,选择哪种方法取决于具体任务的需求:如果任务对三维结构的捕捉要求很高(如医学影像分析),建议使用3D卷积。如果任务需要高效处理三维数据(如自动驾驶中的BEV生成),S2C + 2D卷积是一个更优的选择。
2025-03-14 10:10:25
271
原创 fast_bev中的多尺度融合(Multi-Scale Concatenation Fusion, MSCF)
来自不同层级(如ResNet的Conv2/3/4)的多尺度BEV特征图(例如尺寸为 50×5050×50、100×100100×100、200×200200×200)。输入特征尺寸:50×50×25650×50×256、100×100×512100×100×512、200×200×1024200×200×1024。:统一分辨率(如 200×200200×200)的融合特征图,通道维度为各尺度特征通道数之和。上采样后:均变为 200×200200×200,通道数保持原值。,但通过1×1卷积压缩可缓解。
2025-03-14 10:08:37
719
原创 深度学习优化-Gradient Checkpointing
在反向传播时,如果需要这些被丢弃的激活值,则重新计算它们。通过这种方式,显存使用量可以从 O(L) 降低到 O(K),其中 L 是网络层数,K 是选择的检查点层数。是一种用于优化深度学习模型训练的技术,旨在减少训练过程中显存的占用。通过合理使用 Gradient Checkpointing,可以在有限的硬件资源下训练更大规模的模型,同时平衡显存和计算开销。:在反向传播时,如果需要被丢弃的激活值,则通过重新计算它们来获取,从而计算梯度。:在前向传播时,选择某些层作为检查点,保存这些层的激活值。
2025-03-13 11:32:57
340
原创 深度学习基础-onnxruntime推理模型
返回的结果是一个列表,其中每个元素对应一个输出张量。如果模型有多个输出,可以通过指定输出名称列表来选择需要的输出。通过这种方式,你可以方便地加载和运行 ONNX 模型,并获取模型的推理结果。)和形状必须与 ONNX 模型中定义的输入一致。如果输入数据的形状不正确,可能会导致运行时错误。的优化选项,例如设置执行提供者(如。)也必须与模型的要求一致。如果需要更高的推理性能,可以使用。假设模型的输入名称为。检查输入名称和形状。
2025-03-12 20:28:52
246
原创 backbone和head分开转onnx的优势
将模型分成 backbone 和 head 两个 ONNX 文件,主要是为了模块化设计、灵活性、性能优化和硬件适配。这种分离方式在深度学习模型的开发、部署和优化中非常常见,尤其是在需要复用、扩展或优化模型的场景中。
2025-03-12 20:16:52
334
原创 深度学习基础-np.bincount 计算混淆矩阵
通过上述表格和步骤,我们可以清晰地看到如何通过和简单的数学运算高效地计算混淆矩阵。这种方法不仅简洁,而且在性能上也非常高效,适合处理大规模的分割任务。
2025-03-12 10:58:24
396
原创 深度学习中常用的可视化工具-来自豆包的整理
这些工具各有侧重,你可以根据具体需求选择合适的工具来可视化卷积等操作。,然后在浏览器中打开相应地址查看可视化结果。使用网页更方便快捷,
2025-03-07 20:30:52
420
原创 自动驾驶中的IPM2ego_matrix
在自动驾驶系统中,函数的作用是将从中提取的像素坐标转换为车辆坐标系中的物理位置。这种转换非常重要,因为它将视觉信息与车辆的实际运动和环境感知联系起来。
2025-03-07 20:30:19
925
原创 pytorch图像增强-旋转和平移
1. 矩阵 的定义:A = torch.Tensor([[-1, 0], [0, 1]]) 是一个 2x2 的变换矩阵。这个矩阵的作用是对二维坐标进行水平翻转(即镜像翻转):第一行 表示将 x 坐标取反(),实现水平翻转。第二行 表示 y 坐标保持不变()。例如,一个点 经过 变换后会变成 。b = torch.Tensor([img.shape[0], 0]) 是一个 2D 平移向量,形式为 。这里的 表示图像的高度(即图像的垂直方向像素数)。这个平移向量的作用
2025-03-07 19:41:34
221
原创 pytorch基础 nn.Conv2d
nn.Conv2d是 PyTorch 中用于实现二维卷积操作的类。它的数学计算原理基于卷积运算,通过对输入特征图(input feature map)和卷积核(kernel)进行滑动窗口计算,生成输出特征图(output feature map)。以下是nn.Conv2d。
2025-03-02 10:08:11
546
原创 pytorch基础-比较矩阵是否相等
NumPy 是 Python 中用于科学计算的常用库,它提供了。在深度学习中,PyTorch 是常用的框架,可使用。用于考虑一定误差范围的近似比较,适合浮点数矩阵。函数来判断矩阵是否相等。
2025-02-27 15:17:31
388
原创 pytorch基础 nn.embedding
是 PyTorch 中的一个模块,用于创建嵌入层(embedding layer),它将离散的索引(例如词汇表中的单词索引)映射为固定大小的稠密向量。这是许多 NLP 模型(包括 Transformer)中的基本组件。
2025-02-26 11:43:36
391
原创 transformer中seq_len参数的设置
seq_len表示输入到 Transformer 模型中的序列所允许的最大长度。在自然语言处理任务里,文本会被拆分成一个个的单词、子词或者字符,这些元素构成了一个序列。seq_len就是对这个序列中元素数量的上限规定,它决定了模型输入和输出的维度。
2025-02-26 11:38:27
407
原创 self-attention 多头注意力机制的并行计算原理及代码实现
【代码】self-attention 多头注意力机制的并行计算原理及代码实现。
2025-02-25 15:26:33
226
原创 attention is all your need 点积注意力机制之归一化作用 Dot-Product Attention(小白+deepseek step by step)
点积注意力机制和加性注意力机制, 点积注意力为什么需要归一化
2025-02-25 10:01:15
787
原创 snpe1.55 安裝及使用-用于onnx转dlc
查看版本所需的python版本:snpe-1.55.0.2958/doc/html/setup.html。6. bin目录下执行如下操作:snpe-onnx-to-dlc -i xxx.onnx。注册高通的邮箱不要使用qq邮箱,最好是使用公司邮箱。5. cd ./bin目录。
2024-02-26 17:45:18
787
1
原创 python + opencv 图像扣roi区域,粘贴到另一张图像
obj[1]:obj[3],obj[0]:obj[2] 为roi区域左上点和右下角点的坐标值。roi区域一定先预定一个和要贴到的图像一样大小的图像。
2023-11-28 15:40:57
696
原创 mmocr ,自定义类别not registered问题
修改mmocr的模型代码,增加分类头,运行提示自定义分类头not registered.一定要去修改conda环境中对应的代码,才会生效。
2023-11-17 10:23:45
78
原创 给图像按标签赋值报错的问题 Scalar value for argument ‘color‘ is not numeric
运行可通过,不报错。
2023-11-16 17:35:30
190
1
原创 EfficientPS分割网络, rtx3090环境搭建避坑指南
EfficientPS需要安装mmdetection,torch,inplace_abnrtx3090只能支持cuda11以上的版本其中大部分安装安装readme里面的说明即可。遇到问题的是torch版本按说明里面安装的是cuda10.2+torch,torchvision版本。装好后发现,电脑不支持。后来安装了cuda11+readme中指定的torch版本。还是报错,一直报和cuda相关的问题,发现是inplace_abn问题,一定要注意inplace_abn的cuda版本一定要大于cud.
2021-09-03 17:44:11
657
1
原创 subscribe消息订阅问题总结及消息打印指令
如何订阅消息,网上信息比较多,但是自己写的时候还是遇到一些问题。尤其是publish是其他同事写好的,publish的数量也比较多,要接收自己需要的信息,遇到一些问题。1.Callback函数的输入一定要加constvoid PointCloudCallback(sensor_msgs::PointCloud2 &msg){ pcl::fromROSMsg(msg, m_pcl); for (int i = 0; i < m_pcl.size(); i++) {
2021-03-31 14:30:54
1783
原创 c++ shared_pt学习遇到的问题
编译代码如下#include <iostream>#include <memory>#include <thread>#include <chrono>#include <mutex>struct Test{ Test() { std::cout << " Test::Test()\n"; } ~Test() { std::cout << " Test::~Test()\n"; }}
2021-01-07 15:58:22
283
原创 python学习(二)
1.二维数组 (a)初始化数组 >>> static_list = [[0] * 10 for _ in range(3)]>>> print(static_list)[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]>>> list_three = [[0 for ...
2021-01-05 15:13:21
187
原创 python 学习
1.c语言中的main函数if __name__ == "__main__": get_yolov3_label()也可以不写man, 直接写函数名来实现调用2.python文件开头#!/usr/bin/env python 指定版本位置#-*- coding: utf-8 -*-如果代码文件中有中文,这时候如果你使用的python的版本是python2,代码头部没有加上这句话,在运行程序的时候就会报错,即使输入的中文是注释也不行3.解析文件路径os.walk(...
2020-12-05 14:31:14
79
原创 yolov1 vs yolov3
Yolo算法不再是窗口滑动了,而是直接将原始图片分割成互不重合的小方块,然后通过卷积最后生产这样大小的特征图,基于上面的分析,可以认为特征图的每个元素也是对应原始图片的一个小方块,然后用每个元素来可以预测那些中心点在该小方格内的目标,这就是Yolo算法的朴素思想,最新的YOLOv3算法再以往的结构上做出了改进,增加了多尺度检测,以及更深的网络结构darknet53,这是比较主要的改进,还有某些细节上的变动.1.yolov1基本内容(1)网络结构网络结构借鉴了 Go...
2020-11-21 16:58:28
379
转载 深度学习 1x1卷积
1x1卷积kxk卷积如果你在中间加一个1x1卷积,你就用运行在一块像素上的神经网络代替了线性分类器。在卷积操作中散布一些1x1卷积是一种使得模型变得更深的低耗高效的方法1x1的卷积核由于大小只有1x1,所以并不需要考虑像素跟周边像素的关系,它主要用于调节通道数,对不同的通道上的像素点进行线性组合,然后进行非线性化操作,可以完成升维和降维的功能,如下图所示,选择2个1x1大小的卷积核,那么特征图的深度将会从3变成2,如果使用4个1x1的卷积核,特征图的深度将会由3变成4。.
2020-09-15 11:36:19
405
原创 linux 查看进程及进程内存使用情况
linux 查看进程:1. ps 命令 ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。 (1)打开终端,输入“ps aux”,点击“回车”,显示linux下所有进程。 a:显示当前终端下的所有进程信息,包括其他用户的进程。...
2020-09-14 13:49:02
1653
原创 caffe 重新编译
make pycaffe服务器上的caffe不能正常,启动。需要重新编译一下,怎么重新编译呢?自以为是的删除了build,make -j6,没有生成build文件。????百度。。。。正确的步骤:一定要make clean一定要make clean一定要make cleanmake cleanmake all -j8make test -j8make runtest编译python版本:make pycaffe...
2020-08-21 09:33:14
189
PCA程序,MATLAB编写
2009-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人