自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

@bangbang的博客

专注人工智能、图像分类、目标检测

  • 博客(516)
  • 资源 (46)
  • 收藏
  • 关注

原创 bevformer详解(3): 逐行代码讲解

在这篇文章中,我们将从BEVFormer算法代码入手,深入探究BEV转换的流程。BEVFormer是一种基于Transformer的BEV转换模型,其核心思想是利用自注意力机制和交叉注意力机制,从,并通过Object Query与BEV特征的交互,完成3D目标检测和地图分割等任务。https://developer.baidu.com/article/details/3224715bevformer的网络结构由三部分组成, 模型结构所示,其中的是部分,对于的是的结构,对于部分,沿用的中的decoder部分,

2024-05-22 19:58:08 13

原创 BevDet-4d(2): 环境安装及效果展示

使用nuscense。

2024-05-21 13:40:14 22

原创 leetcode刷题(6):二叉树的使用

二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。: 给你一个二叉树的根节点 root , 检查它是否轴对称。: 给定一个二叉树的根节点 root ,返回 它的。:给你二叉树的根节点 root ,返回其节点值的。: 给定一个二叉树 root ,返回其最大深度。观察对称二叉树,查找满足。满足题意的二叉搜索树的。层级大于curr节点。记得将最后一次结果v。

2024-05-15 13:45:00 959

原创 BFS和DFS优先搜索算法

因此,BFS是具有最短路的性质的。在BFS中,可以使用队列来存储待搜索的节点。通过这种方式,BFS可以找到起点到目标节点的最短路径。在实际应用中,BFS还可以用于拓扑排序、连通性检测等问题的解决。在实际应用中,DFS还可以用于拓扑排序、连通性检测等问题的解决。如果分别用DFS 与 BFS 将二叉树的所有结点遍历一遍,那么它们遍历结点的。接下来,让我们先看看在二叉树上进行 BFS 遍历和 DFS 遍历的代码比较。它是一种图遍历算法,它从一个起始点开始,这样,队列中的节点总是按照它们距离起点的距离排序,

2024-05-15 12:57:48 581

原创 python 基础:copy和deepcopy详解

python 的copy 模块提供了copy和deepcopy两个函数来拷贝对象。copy.copy函数用于浅拷贝,而函数用于深拷贝。作为独立新个体单独存在。

2024-05-13 22:29:43 266 1

原创 torch.stack 和torch.cat使用介绍

tensors:待拼接的多个张量,可用list, tuple表示dim:待拼接的维度,默认是0注意:tensors里不同张量对应的待拼接维度的size可以不一致,但是其他维度的size要保持一致。如代码中待拼接维度是0,x和y对应的维度0上的值不一样,但是其他维度上的值(维度1上的值)要保持一致,即都为4,否则会报错。tensors:待拼接的多个张量,可用list, tuple表示dim:待拼接的维度,默认是0注意:tensors里所有张量的维度要保持一致,否则会报错。

2024-05-13 21:54:22 142

原创 bevformer详解(2): 环境搭建

解压下载的数据,并将。

2024-05-13 01:07:20 62

原创 bevformer详解(1):论文介绍

3D 视觉感知任务,包括基于多摄像头的3D检测和地图分割对于自动驾驶系统至关重要。本文提出了一种名为BEVFormer的新框架,它通过使用空间和时间的学习统一的BEV表示来支持多个自动驾驶感知任务。简而言之,BEVFormer通过预定义的网格形式的Bev Query与空间和时间空间交互来提取时间空间信息。为了聚合空间信息,BEVFormer设计空间交叉注意力(spatial cross-attention),每个BEV Query从不同摄像头的感兴趣区域中提取空间特征。对于时间信息。

2024-05-11 23:17:54 67

原创 LSS 讲解(2): 环境配置及训练代码讲解

对于感知算法而言,我认为比较重要的是要了解在Bev视角下,x轴和y轴方向的感知距离,以及Bev网格的大小。CamEncode通过对原始图像逐个图像特征点进行深度和语义的预测,输出视锥特征。, 其中根本bev划分,Z的值为1, 因此final的tensor大小为。论文中指的是规控任务中的轨迹输出,因此不包含在感知任务的讨论范围内。估计深度方向的概率分布,并输出特征图每个位置的语义特征(64维)注意: 生成的锥点,其位置是基于图像坐标系的,同时锥点是。, 我们需要对体素中的所有柱子根据它所在的位置和。

2024-05-11 19:10:39 375

原创 pytorch基础: torch.unbind()

【代码】pytorch基础: torch.unbind()

2024-05-08 22:09:11 355

原创 Pytorch基础:torch.expand() 和 torch.repeat()

在torch中,如果要改变某一个tensor的维度,可以利用viewexpandrepeattranspose和permute等方法,这里对这些方法的一些容易混淆的地方做个总结。expand和repeat函数是pytorch中常用于进行张量数据复制和维度扩展的函数,但其工作机制差别很大,本文对这两个函数进行对比。

2024-05-08 21:33:38 433

原创 leetcode刷题(5): STL的使用

整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。若无相交,由于按照起点排序,后面区间的起点更大,也就不可能再有相交的可能。的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。: 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。

2024-05-08 19:03:23 661

原创 自动驾驶中常见坐标系极其转换

自车坐标系一般指的是以车体后轴中心为原点(因为后轴中心不会随着车摆动而发生相对变化),左前上或右前上的空间坐标系,左(右)一般为横向,前一般为纵向,上指地面以上空间,坐标系随着车运动而运动。相机相对其它坐标系,旋转+平移矩阵,其中旋转外参与上述欧拉角【yaw,patch,roll】,旋转顺序一般为(z-y-x), 单位度;图像坐标系到像素坐标系之间的转换没有旋转变换,没有投影变换,但是坐标原点位置不一致,大小不一致,则设计伸缩变换及平移变换 dx,dy 代表一个像素代表多少米。,单位以“像素”最为常用。

2024-05-08 16:27:32 230

原创 pytorch实现transformer(1): 模型介绍

Transformer 模型是由谷歌在 2017 年提出并首先应用于机器翻译的神经网络模型结构。机器翻译的目标是从源语言(Source Language)转换到目标语言(Target Language)。Transformer 结构完全通过注意力机制完成对源语言序列和目标语言序列全局依赖的建模。当前几乎全部大语言模型都是基于Transformer 结构,本节以应用于机器翻译的基于 Transformer 的编码器和解码器介绍该模型。Transformer它的提出最开始是针对NLP领域。

2024-05-08 12:48:38 845

原创 windows 系统中cuda及cuDNN安装

因此≤12.2版本的cuda均可以安装,本文选择安装。,如下图所示,cuda可以安装的最高版本为。进行验证,在powershell里进入,输入。的,需要使用cuda的。

2024-05-07 22:54:39 99

原创 leetcode刷题(4): 动态规划

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。说明:每次只能向下或者向右移动一步。网格的左上角 (起始点在下图中标记为。机器人试图达到网格的。的路径,使得路径上的。:一个机器人位于一个。

2024-05-04 15:08:51 569

原创 多模态视觉大模型(2): 常用模型介绍(CLIP和LLAVA)

Loss使用的是交叉熵来定义,通过Loss来约束使得相同图像和文本对,他们的距离要足够近;其他不匹配的要尽可能远。我们可以换个视角来解决该问题,将它看做两个任务。第一个任务是针对每张图像我需要分类对,需要将它正确分类为对应的类别id;针对每个文本,我们也希望它也能够正确的分类到对应的类别id。所以可以通过两个交叉熵来实现,一个是文本分类的交叉熵,一个是图像分类的交叉熵,通过转置来实现。然后将两个交叉熵的损失加在一起就可以了,# 主函数# 加载数据集# 获取一个小批量的图像和标签。

2024-04-28 20:00:09 596

原创 多模态视觉大模型(1):大模型的架构

多模态指的是输入数据的类型,它可以是文本、视频、音频等不同的模态形式,包括各种表格,json,图像以及各种传感器采的数据在深度学习传统模式一般都是采用单模态训练范式,我们针对每一个模态甚至是每个任务,需要用单独的一个模型训练得到,但作为我们人类,对外面世界的感官,其实一直都是使用多个模态的信息,比如我们看视频的时候,我们会看图像,听声音,同时也会经常看字幕,这就包含了图像、音频、文字这三种模态的信息,而且三种模态信息之间互补,比如声音没听明白的地方,结合字幕就能看懂。

2024-04-28 18:08:44 773

原创 huggingface 中模型下载及部署演示

huggingface 可以理解为对于,提供了模型、数据集、类库(比如transformers|peft|accelerate)、教程等。官方地址:ModelsDatasetsCVNLP多模态音频60多万。

2024-04-27 23:39:19 756

原创 复杂算子onnx导出(4):执行图的构建

前面几节已经介绍如何将带有复杂算子如spconv导出onnx,接下来如何对导出的onnx进行推理。带复杂算子的模型推理,利用已有的推理引擎比如TensorRT, 是无法实现推理的。因此需要自行解析onnx进行单独推理,通过构建相对简单的执行图,即可实现推理,此时就不需要依赖任何其他的推理引擎。

2024-04-23 22:16:15 56

原创 复杂算子onnx导出(3): 将sparseconv导出onnx

为True的话,输入和输出节点的tensor是同一个tensor(出现tensor复用),共享同样的内存地址,此时input和output的id是一样的,前面的博客我们已经介绍过,id复用会导致构建graph出错。比如ReLU中,如果inplace为True的话,input和ouput的id 是一样的。其中 BN可以和spconv的weight、bias进行融合,融合的原理和普通的2d卷积其实是一样的,只不过spconv维度弄的有点复杂。,从而加上了enable_trace标记来保护,避免陷入死循环。

2024-04-23 22:08:06 94

原创 复杂算子onnx导出(2): 将graph写入到onnx

return x可以看出构建是一个带捷径分支的模型,其中一个分支只有一个conv操作,另一个分支包括conv+rulu, 然后将两个分支的输出Add操作,最后降Add得到的结果经过conv输出模型包括3种算子:all_tensors.extend([x, y]) # 避免torch对tensor进行复用return yprint(f"type。

2024-04-23 22:07:12 97

原创 复杂算子onnx导出(1): trace的实现

通过lidar传感器采集的点云数据,它是非常稀疏的, 在分布的空间中只占1% ~5%, 如果使用普通的3D卷积去计算,大部分都是在卷空气,因此提出了使用3D 卷积的方式,只在tensor中有值的位置进行卷积计算,大大提高了卷积的效率,同时将输入输出进行稀疏化存储。稀疏卷积存在两种模式:(1)标准的稀疏卷积(2)subm模式的稀疏卷积标准稀疏卷积:它的计算和普通的卷积计算是一样的,只不过它将输入和输出进行稀疏化存储。通过features。

2024-04-23 22:06:34 120

原创 OpenLane数据及标注介绍

OpenLane是迄今为止第一个真实世界和最大规模的3D车道数据集。OpenLane包含20万帧、超过88万条实例级车道、14个车道类别(单白色虚线、双黄色实体、左/右路边等),以及场景标签和路线邻近目标(CIPO)标注。详见。OpenLane数据集是在自动驾驶领域的主流数据集上构建的。在1.0版本中,在Waymo开放数据集上发布了标注。OpenLane数据集侧重于车道检测和CIPO (OD)。我们注释了每一帧中的所有车道,如果中间没有路边,则包括相反方向的车道。除了车道检测任务,我们还注释:(a)

2024-03-27 21:52:08 152

原创 使用OpenXlab下载数据集(推荐)

进入OpenXlab官方,在下载模型或者数据集前必须先注册账号,然后登入个人账号。(1) 查找要下载的数据(2) 数据详情介绍针对查找到的数据集,提供了:、、以及(3) 数据集下载支持多种下载方式,包括直接在网站上下载,CLI 以及SDK 3种下载方式, 推荐使用SDK下载比较方便。在使用下载时, 需要先获得,包括:和 ,注册的时候就会自动帮忙分配, 然后命令中,通过传入和 对应的值, 就可以进行下载了。方式1:直接下载如下图,在中, 点击右侧的按钮,即可下载对应的数据方式2:CLI命令行下载

2024-03-27 21:16:32 263

原创 语义分割蒸馏1:基于注意力引导的特征蒸馏方法(Attn)

与现有的常用的从教师向学生提取知识的复杂方法相比,所¬提出的方法展示了一种简单而强大的方法的功效,该方法可以利用精细的特征图来转移注意力。所提出的方法已被证明在提取丰富信息方面是有效的,在作为密集预测任务的语义分割方面优于现有方法。所提出的注意力引导特征提取(AttnFD)方法采用卷积块注意力模块(CBAM),该模块通过考虑特定通道和空间信息内容来细化特征图。通过仅使用教师和学生的精细特征图之间的均方误差。

2024-03-27 21:15:07 849

原创 BevFusion (5): BevFusion模型结构和代码详解

论文中给出了Bevfusion的架构图,它的输入是多视角的相机和点云图,经过两个特定的head,分别用于做检测任务和分割任务。图1 Bevfusion 结构图Bevfusion因为有两个模态的输入:多视角相机和点云,所以对应两个分支:相机分支和点云分支。相机分支:输入6个视角的图片后,提取特征,然后经VT(View Transformer)转换之后得到相机的Bev特征。激光雷达分支:输入点云数据,经过Encoder编码得到体素化Lidar特征,然后沿z方向展平,得到Lidar Bev特征。

2024-03-23 18:33:52 394

原创 GPU 使用率监测及可视化

表示每隔0.5秒更新一次,时间可以调整。可以看到可视化效果,比。

2024-03-20 20:46:13 254

原创 netron:本地查看服务器端onnx文件

我们开发一般都在服务器中开发,假如我们在。在服务器的终端运行以上命令。

2024-03-20 20:45:19 307

原创 【MMDetection3D实战5】Dataset 和 model配置文件解析

在定义了如下几个全局变量: 因为是kitti数据集,所以默认为。也可以是其他数据集,比如 LyftDatasetNuScenesDataset, 也可以是自定义的数据集类型。data_root:定义数据存放的跟目录,比如: 数据的类别名,比如KITTI数据集的类型为:[‘Pedestrian’, ‘Cyclist’, ‘Car’]: 点云覆盖的有效范围,用于过滤点云数据。input_modality: 设定使用的数据对应的模态信息。对于。

2024-03-16 14:37:39 954

原创 Sparse Convolution 讲解

标准的。

2024-03-16 14:35:55 1050

原创 【MMDetection3D实战4】利用mmdet3d进行训练

MMDetection3D(mmdet3d)和OpenMMlab其他代码库是一样的,在训练的时候需要准备好一个配置文件,在配置文件中定义好所使用的数据模型优化器和一系列参数,对于单GPU我们可以使用启动训练。因为mmdet3d提供了一系列标准的配置文件,通常情况下我们只需要继承这些标准配置文件,然后做一些简单的修改就可以。这些修改包括(数据路径、训练参数相关的修改注意的是,即便我们用的是标准的kitti数据集,在训练前我们还是需要利用mmdet3d提供的工具处理下数据,将零散的标注数据。

2024-03-14 22:46:37 1368

原创 【MMDetection3D实战(3)】: KITTI 数据集介绍

KITTI数据集是3D目标检测中比较基础和常用的数据集,本文以KITTI数据集为例,简单的介绍下数据的标注的格式以及3D坐标系相关知识。KITTI发布于2012年,距今也有10多年的历史了。它是针对无人驾驶任务构建的一套数据集和评价体系,其中包括2D和3D检测等一系列具体任务。1个激光雷达,一系列相机,GPS去采集位置信息等。KITTI针对检测任务一共提供了14999张图像及对应的点云,其中7481组用于训练,7518组用于测试。KITTI标注的数据只有3个类别,分别是汽车、行人、自行车。

2024-03-13 23:35:04 1318

原创 【MMDetection3D实战(2)】: 利用MMDet3D预训练模型进行推理

图像和点云不太一样,点云自己一般比较难获取,图像会比较容易获取。如果希望在自己的图像上进行推理mmdet3D也是可以实现该功能的。总体代码和之前的是一样的,唯一的区别我们需要自己提供一个标注文件, 文件中主要是提供相机的内参。(1) 准备预训练权重模型文件之前已经下载好了,这边就不介绍了(2) 准备数据和标注文件图片image:网上找的街机游戏的图片标注文件ana:网上找的街机游戏的图片这个比较麻烦的是,我们需要获得该场景的相机参数,通常该参数我们是没有的。不过我们自己简单写一个。, 其中焦距。

2024-03-13 23:33:33 1268

原创 【MMDetection3D实战(1)】:环境安装

MMDetection3D首次发布于2018年10月,是面向3D 场景中检测和分割的工具包,可以基于MMDetection3D实现基于点云、图像和多模态数据的3D检测与分割。目前MMDetection3D支持20多种不同的算法,比如基于点云的SECOND和,基于单目图像的SMOKE和FCOS3D,以及基于多模态的MVXNet和ImVoteNet等等。每个算法都提供了多个SOTA的预训练模型,可以直接使用这些预训练模型实现推理。

2024-03-13 23:31:41 525

原创 【单目3D检测】:SMOKE论文

相同的 DLA-34 backbone来提取特征,唯一的改变就是将BN替换为GN(group norm),因为GN对batch size不那么敏感, 且对于训练噪声更加鲁棒,因此 SMOKE 将所有的 BN 操作全部换为 GN 操作, 图像经过Backbone输出特征尺寸为。与centernet不同的是这里预测3d box中心点投影到2d图像上的点,而不是2d box的中心点,因为论文中直接抛弃了2d检测分支,而3d box中心点在2d图像上的投影点,可通过相机内参。为3D中心点投影到图像上的点。

2024-03-12 22:55:00 1025

原创 基于pytorch prune 实现剪枝

局部结构化剪枝(Locall Structured Pruning)有两种函数,对应函数原型如下。

2024-03-10 15:56:47 212

原创 leetcode刷题(3):双指针和哈希表的使用

题目:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。示例。

2024-03-10 15:56:07 1058

原创 leetcode刷题(2):链表

数组中1-len-1的元素,对应原来0-(len-2)元素,相当于对原来0~len-2元素向右平移1次。:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。: 返回一个新链表,存储两个逆序的链表之和,返回的新链表也是逆序排列。给你一个链表的头节点 head ,旋转链表,将链表每个节点向右。:将两个升序链表合并为一个新的 升序 链表并返回。的方式存储的,并且每个节点只能存储 一位 数字。的节点,只留下不同的数字。

2024-03-08 13:09:34 900

原创 模型压缩-剪枝算法概述

学术界的 SOTA 模型在落地部署到工业界应用到过程中,通常是要面临着低延迟(Latency)、高吞吐高效率(Efficiency)挑战的。而模型压缩算法可以将一个庞大而复杂的预训练模型转化为一个精简的小模型,从而减少对硬件的存储、带宽和计算需求,以达到加速模型推理和落地的目的。近年来主流的模型压缩方法包括:数值量化(Data Quantization,也叫模型量化),模型稀疏化(Model sparsification,也叫模型剪枝知识蒸馏轻量化网络设计。

2024-03-08 09:15:39 124

MIOU涨5.6个点:语义分割知识蒸馏源码

教师模型Deeplab-V3 + (ResNet-101) miou为77.85 学生模型Deeplab-V3 + (ResNet-18) miou为67.5 经过蒸馏后,学生模型Deeplab-V3 + (ResNet-18) miou提升5.6个点,达到73.09。 比Student + LAD 和Student + CIRKD高大概2个点,比Student + DistKD高三个点 本项目提供的蒸馏方法,代码简单易用。

2024-03-20

yolov8 剪枝源码(集成多种剪枝策略)

支持以下的剪枝方法,代码一键运行,并配有md文档说明: (1) lamp 剪枝 (2) slimming 剪枝 (3) group slimming 剪枝 (4) group hessian 剪枝 (5) Taylor 剪枝 (6)Regularization 剪枝 等等

2024-03-20

yolov8 seg tensorRT 部署代码

yolov8 seg tensorRT 部署代码

2024-02-05

yolov8 多任务(目标检测+可行驶区域分割+车道线分割)

(1)开发了一个轻量级模型,能够将三个任务集成到一个统一模型中。这对于需要实时处理的多任务特别有利。 (2)设计了一个轻量级、简单且通用的分割头。对于同一类型的任务头,我们有统一的损失函数,这意味着我们不需要针对特定​​任务进行定制设计。它仅由一系列卷积层构建。

2024-01-07

SOTA 跟踪论文:BoTSORT-OCSORT-StrongSORT 等

SOTA 目标跟踪论文,精度这几篇就够够的了 (1)BoTSORT (2)OCSORT| (3)StrongSORT (4)HybridSORT (5)DeepOCSORT (6)ByteTrack

2023-12-21

yolov8 tracking支持deepocsort、strongsort、bytetrack、botsort等各类跟踪器

1. 项目支持各类SOTA多目标跟踪器,包括BoTSORT、DeepOCSORT、OCSORT、HybirdSORT、ByteTrack、StrongSORT 2. 项目支持分割、检测、姿态估计的实时跟踪Tracking 3. 项目不仅支持yolov8,还集成了包括集成了yolo-nas、yolox、yolov8-pose等检测、分割、姿态估计模型来

2023-12-21

yolov8 知识蒸馏源码

1. 本项目支持多种蒸馏方式,并对蒸馏代码进行详解,比较容易上手。支持 logit和 feature-based蒸馏以及在线蒸馏: (1)在线蒸馏 (2)logit 蒸馏 (3)mimic 特征蒸馏 (4)cwd: channel-wise distillation 特征蒸馏 (5)mgd: masked generative distillation 特征蒸馏 2. 代码通俗易懂,易于掌握

2023-12-18

YOLO 知识蒸馏学习及落地部署(v5和v8)

CWD、MGD、以及Mimic异构蒸与自蒸馏随便选择 项目支持yolov5,yolov8 的知识蒸馏; OTA, 解耦头的灵活配置

2023-12-10

Yolo v1-v8 改进点汇总

Yolo v1-v8 改进点汇总

2023-12-09

yolov8 PTQ和QAT量化源码

1.使用pytorch_quantization对yolov8进行量化: 包括ptq量化、敏感层分析、qat量化 2.修改ptq、qat、敏感层分析配置参数后直接运行 python yolov8_ptq_int8.py 其中: (1) quant_flow_ptq_int8.py是PTQ int8量化脚本 (2) quant_flow_qat_int8.py 是QAT int8量化脚本 (3)quant_flow_ptq_sensitive_int8.py 是敏感层分析的脚本

2023-12-09

零基础掌握yolov8剪枝

Before Pruning: MACs=129.092051 G, #Params=68.229648 M After Pruning: MACs=41.741203 G, #Params=20.787528 M

2023-11-26

车道线UFLD-v2落地量化部署代码

1. UFLD系列的车道线检测算法一直以来都是速度和精度的完美均衡而著称 2. 代码包括了全流程的算法落地方案,包括: (1)Int8的模型量化 (2)基于TensorRT来部署int8量化模型 (3)同时也适配FP32和FP16模型

2023-11-26

单目3D SMOKE PTQ量化代码

1. 单目3D SMOKE PTQ量化精度几乎无损 2. 工业级量化方法

2023-11-26

BevDet的PTQ量化代码

1. 环视BEV 3D目标检测算法int8量化 2. BevDet的PTQ int8 量化,精度几乎无损

2023-11-26

mmsegmentation中文文档

MMSegmentation是openmmlab项目下开源的图像语义分割框架,目前支持pytorch,由于其拥有pipeline加速,完善的数据增强体系,完善的模型库,作为大数据语义分割训练及测试的代码框架是再好不过了。

2023-11-26

yolov5 剪枝和量化,代码一键运行

1. 通过剪枝压缩了70%以上,几乎不影响精度 2. 提供量化感知训练的代码及tensorrt部署的代码

2023-09-16

yolov7 ptq和qat训练及tensorrt部署

内容包括: (1) yolov7 的ptq和qat 的python 训练脚本 (2) 提供完整的基于tensort 的c++ 部署代码 (3) 详细的代码注释,帮助理解代码

2023-09-16

labelme 分割转换(voc coco) 及可视化

- labelme2coco.py - labelme2voc.py - labelme2voc_obj.py

2023-05-17

yolov7旋转目标检测完整代码

markdown有详细的代码使用说明,可以很容易运行代码 1. 提供检测的数据集 2. 支持各类数据增强 3. 支持TensorRT部署 4. 支持多GPU训练及单GPU或CPU训练

2023-05-13

yolov8s模型进行剪枝源码

实现步骤: 1. yolov8s模型预训练 2. 模型稀疏化sparsity 3.剪枝 4. finetune 经过键枝后,finetune60个epoch达到原模型迭代52个epoch的mAP值0.78,模型的大小减少了2/5。

2023-05-13

Tensorrt部署方案

1. 如何正确导出onnx 2. 动态bath和宽高 3. 自定义插件 4. 高性能低耦合部署方案

2023-04-18

基于Tensorrt的yolov5 实例分割源码

代码包括 - 1. onnx转 tensorrt engine - 2. 基于engine 的模型推理 - 3. 测试的模型文件

2023-04-18

各种卷积计算性能对比(Conv,DwConv,GhostConv,PConv,DSConv,DCNV)

各种卷积计算性能对比(Conv,DwConv,GhostConv,PConv,DSConv,DCNV),包括推理时间,GFlops,FPS

2023-03-26

基于yolov5的PTQ和QAT量化完整代码

1. quant_flow_ptq_int8.py是PTQ int8量化脚本 2. quant_flow_qat_int8.py 是QAT int8量化脚本 3. quant_flow_ptq_sensitive_int8.py 是敏感层分析的脚本

2023-03-18

模型量化校准代码: max,histogram,entropy

模型量化校准代码: max,histogram,entropy

2023-03-18

基于ncnn部署yolov5及量化

文件中包括以下内容: 1. yolov5 转ncnn的权重文件 2. ncnn的依赖库 3. 完整的源代码

2023-02-15

图像分割FCN算法的源码及项目实战

图像分割FCN算法的源码及项目实战 1. 项目博客: https://blog.csdn.net/weixin_38346042/article/details/128719053?spm=1001.2014.3001.5502

2023-02-04

模拟TensorRT int8量化代码

模拟了2个conv的8bit量化工作

2022-11-14

基于coco数据集的yolox模型预训练权重

yolox模型预训练权重

2022-11-07

基于YOLOv7的人体姿态估计讲解及源码

YOLOv7是YOLO家族中第一个包含人体姿态估计模型的。

2022-11-04

YOLOX原理及无人机检测项目实战源码

利用自定义无人机数据集训练YOLOX 数据修改 搭建YOLOX训练环境 使用Conda创建虚拟环境 安装Jupyter和ipykernel 克隆YOLOX GitHub库 安装依赖包 自定义数据集训练 YOLOX推理测试效果 结论

2022-11-04

模型轻量化-YOLOv5无损剪枝

运行顺序: 1. 原始训练,得到一个最优mAP等评价指标 2.通过调整BN稀疏值sr,运行train_sparity.py稀疏训练得到一个稍微小的模型 3. 将训练好的last.pt 放到prune.py 中进行剪枝,控制剪枝率; 4. Finetune得到最优模型

2022-10-28

基于yolov5的目标检测和双目测距源码

包括: 1.yolov5 +sgbm算法集成 2. C++实现sgbm 3.python 实现sgbm 4. jetson tensort 部署 项目参考博客:https://blog.csdn.net/weixin_38346042/article/details/126807379?spm=1001.2014.3001.5501

2022-10-28

pytorch多GPU并行训练教程及源码

多GPU启动指令说明: 1.如果要使用train_multi_gpu_using_launch.py脚本,使用以下指令启动 python -m torch.distributed.launch --nproc_per_node=8 --use_env train_multi_gpu_using_launch.py其中nproc_per_node为并行GPU的数量

2022-10-16

基于yolov5的知识蒸馏实战源码

知识蒸馏是提升网络性能的方法,通过一个教师网络指导学生网络的学习,将教师网络学习到的知识迁移到学生网络上。 整个项目包括: 1. 完整知识蒸馏原理教程及环境配置说明 2. 提供完整的数据及处理代码 3.提供完整的yolov5蒸馏代码 只要按照教程说明操作,就能理解蒸馏代码并掌握 整个知识蒸馏代码包括: 1. 完整知识蒸馏原理教程及环境配置说明 2. 提供完整的数据及处理代码 3.提供完整的yolov5蒸馏代码 只要按照教程说明操作,就能理解蒸馏代码并掌握 项目博客:https://bangbang.blog.csdn.net/article/details/126065848

2022-10-13

基于yolov5的模型剪枝项目实战源码

对yolov5s进行稀疏化训练并剪枝,模型参数下降80%,mAP精度几乎不受影响

2022-10-13

makefile从入门到项目编译实战

参考B站视频: https://www.bilibili.com/video/BV1Xt4y1h7rH/?p=3&spm_id_from=333.880&vd_source=d817bda3198969666552c553deaea683

2022-10-13

利用SGBM算法进行双目测距

利用SGBM算法进行双目测距

2022-09-11

图像分类MobileNet系列源代码:v1-v3

完整的MobileNet v1-v3的源代码,包括模型脚本、训练以及预测脚本。并有完整的博客介绍: 1. MobileNet系列(1) :MobileNet V1网络详解:https://blog.csdn.net/weixin_38346042/article/details/125329726?spm=1001.2014.3001.5501 2. MobileNet系列(2):MobileNet-V2 网络详解:https://blog.csdn.net/weixin_38346042/article/details/125355111?spm=1001.2014.3001.5501 3.MobileNet系列(4):MobileNetv3网络详解:https://blog.csdn.net/weixin_38346042/article/details/125470446?spm=1001.2014.3001.5501

2022-07-05

深度学习图像分类花朵数据集

包括四类花朵:daisy 、dandelion、roses、sunflowers ### 使用步骤如下: * (1)在data_set文件夹下创建新文件夹"flower_data" * (2)点击链接下载花分类数据集 [http://download.tensorflow.org/example_images/flower_photos.tgz](http://download.tensorflow.org/example_images/flower_photos.tgz) * (3)解压数据集到flower_data文件夹下 * (4)执行"split_data.py"脚本自动将数据集划分成训练集train和验证集val ``` ├── flower_data ├── flower_photos(解压的数据集文件夹,3670个样本) ├── train(生成的训练集,3306个样本) └── val(生成的验证集,364个样本) ```

2022-07-05

空空如也

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

TA关注的人

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