- 博客(179)
- 资源 (10)
- 收藏
- 关注

原创 动图图解Transformer及其工程领域应用(NLP外)
一、Transformer图解原文:《The Illustrated Transformer》1.1 概览Transformer总览1.2 Encoder步骤1.3 Decoder步骤完成Encoder知识的学习以及基本上知道Decoder是如何工作的之后,接下来看看他们是如何协同工作的吧。(1)首个输出在完成encoder阶段之后,我们开始Decoder阶段。Decoder阶段的每个步骤从输出序列(本例中为英语翻译句子)输出一个元素。(2)冒泡输出以下步..
2020-06-10 10:32:09
13476
3

原创 CV领域深度学习用开源数据集大全
项目1:Yet Another Computer Vision Index To Datasets (YACVID)网址:http://riemenschneider.hayko.at/vision/dataset/index.php?style=plain项目2:Deep Learning Datas...
2020-04-29 13:39:18
2618
1

原创 pytorch深入知识拾遗
一、 nn.Module VS nn.functional(1)两者区别大部分nn中的层class都有nn.function对应,其区别是:nn.Module实现的layer是由class Layer(nn.Module)定义的特殊类,会自动提取可学习参数nn.Parameter; nn.functional中的函数更像是纯函数,由def function(input)定义。由于两...
2019-12-24 15:14:17
1197
原创 PyTorch训练多任务模型技巧
经过一些调试发现,只有当某些特定情况下才会触发此报错。并行训练或者单卡训练均可正常运行;另外如果将两次模型调用集成到model中,即通过。函数必须交替执行,如果执行多个(次)的方式在分布式训练下也不会报错。那么解决此问题的入手点则可以聚焦到。导致参数被覆盖修改。问题基本可以定位出来了,即。经过调试发现,当使用。则会触发以上报错,即。
2023-12-29 14:37:39
891
原创 详解可变形注意力模块(Deformable Attention Module)
Deformable Attention(可变形注意力)首先在2020年10月初商汤研究院的《Deformable DETR: Deformable Transformers for End-to-End Object Detection》论文中提出,在2022CVPR中《Vision Transformer with Deformable Attention》提出应用了Deformable Attention(可变形自注意力)机制的通用视觉Transformer骨干网络DAT(Deformable Att
2023-02-20 14:21:35
26458
原创 《ROS2圆通》
一、安装参考:【1】《技术分享 | 详解ROS 2的安装步骤》 【2】《《动手学ROS2》2.3ROS2的安装》【3】若网络受限,则使用镜像 《ros2镜像》二、错误集解2.1 ros2用colcon build出现错误:ModuleNotFoundError: No module named ‘catkin_pkg’错误如下:Starting >>> fishbot_navigation2--- stderr: fish...
2022-05-12 13:40:14
1197
原创 C++ 常有代码段摘奇
一、Opencv1.1 类型转换(1)将vector<Point2f>转换成vector<Point>vector<Point2f> vd{ { 1.1, 2.2 }, { 3.3, 4.4 }, {5.5, 6.6} };vector<Point> v(vd.begin(), vd.end());2.1 文档数据读取(1)从txt中读取坐标数据(每一行为x, y格式,如下图所示),并赋值给vector<Point>..
2022-05-11 16:07:56
842
转载 mmdetection之FCOS注释详解熟悉训练过程
preface本文记录 mmdetection 对 FCOS 训练的流程,包括标签获取,anchor 生成,前向训练,以及各步骤中 tensor 的形状,仅供复习用处。mmdetection 版本为 2.11.0。整体流程mmdet/models/detectors/base.py:forward_train() mmdet/models/detectors/single_stage.py:extract_feat() mmdet/models/dense_heads/fcos_head.p
2022-03-04 09:40:21
2235
2
原创 Ubuntu常见情形中的脚本(不定期更新)
一 查找当前目录及子目录下所有并解压至某一文件夹find ./ -name "*.tar.gz"| while read NAME;do tar -xvf "${NAME}" -C ./targetfolder; done
2022-02-09 14:21:15
752
转载 [源码解析] PyTorch 分布式训练--- 数据加载之DistributedSampler
0x01 数据加载1.1 加速途径当分布式训练时候,为了加速训练,有三个层面的工作需要处理。数据加载层面 多机通讯层面 代码层面在数据层面,可以使用多进程并行加载来加速数据预处理过程,也有利用GPU特点来加速,比如Nvidia DALI 通过将数据预处理放到 GPU 处理来解决 CPU 瓶颈问题。在多机通讯层面,有各种集合通信库可以利用,比如NCCL,OpenMPI, Gloo 等。在代码层面,可以使用框架提供的分布式API,或者利用 Horovod 来改造单机版代码,使其支持分布
2022-01-29 13:16:23
4298
转载 自动驾驶中应用Transformer的单目 BEV 感知
Monocular BEV Perception with Transformers in Autonomous DrivingA review of academic literature and industry practice as of late 2021作者:Patrick Langechuan Liu原文地址:https://towardsdatascience.com/monocular-bev-perception-with-transformers-in-autonomo.
2022-01-25 11:20:27
3735
1
转载 深度学习中的自监督对比学习+MoCo三部曲+自监督模型评测方法
摘要在过去的很长时间里,计算机视觉领域依靠大规模的有标注数据集取得了很大的成功,特别是卷积神经网络的应用,使得视觉各子领域实现了跨越式发展,学术界和工业界开始投入大量的研究和应用,一度使大家相信,人工智能的大厦即将建成。然而,最近关于自监督学习(Self-supervised Learning,SSL)、Transformer、MLP等在学术界的研究成为热点,特别是Transformer和MLP的进击,大有要将监督学习和卷积结构拍死在沙滩上的节奏,作者相信,计算机视觉(CV)领域正在进入新的变革时代。
2022-01-19 11:04:02
5150
原创 深度学习及论文中相关术语解析
1、Model Capacity模型拟合能力。2、Generalization泛化能力。一个网络的generalization能力是由网络的capacity和训练数据量共同决定的。网络capacity越大越能捕捉训练数据的细枝末节(高频),所以越容易overfit(在训练数据的高频noise上),从而generalization不佳。所以在训练数据无穷的极限条件下,网络的generalization能力与其capacity成正比。那么提高网络的泛化性能就可以理解为1. 增加训练数据;2.
2022-01-18 16:12:31
3725
原创 深度学习领域中的inductive bias(归纳偏置)理解
参考:知乎《如何理解Inductive bias?》博客《Vision Transformer 演化史: CoAtNet: Marrying Convolution and Attention for All Data Sizes - 使用Depthwise Conv 来结合CNN 与Transformer》归纳偏置在机器学习中是一种很微妙的概念:在机器学习中,很多学习算法经常会对学习的问题做一些假设,这些假设就称为归纳偏置(Inductive Bias)。归纳偏置这个译名可能不能很好地帮助.
2022-01-18 15:41:29
2650
原创 FightingCV Pytorch 代码库:Attention,Backbone, MLP, Re-parameter, Convolution模块【持续更新】
FightingCV Codebase ForAttention,Backbone,MLP,Re-parameter,ConvolutionIf this project is helpful to you, welcome to give astar.Don't forget tofollowme to learn about project updates.For 小白(Like Me):最近在读论文的时候会发现一个问题,有时候论文核心思想非常简单,...
2022-01-18 14:38:03
2644
原创 深度学习框架-Backbone汇总
Backbone—— Neck —— Head1.Backbone:翻译为骨干网络的意思,既然说是主干网络,就代表其是网络的一部分,那么是哪部分呢?这个主干网络大多时候指的是提取特征的网络,其作用就是提取图片中的信息,共后面的网络使用。这些网络经常使用的是resnet VGG等,而不是我们自己设计的网络,因为这些网络已经证明了在分类等问题上的特征提取能力是很强的。在用这些网络作为backbone的时候,都是直接加载官方已经训练好的模型参数,后面接着我们自己的网络。让网络的这两个部分同时进...
2022-01-17 14:27:35
47512
11
原创 C++ 类继承vector<A>
面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。C++可以实现Vector向量的继承,实例如下:#include <string>#include <memory>#include<vector.
2022-01-06 11:30:13
2701
转载 Apollo 6.0 参考线 ReferenceLine 生成
简介参考线在apollo中起到了关键的承上启下的作用。它收集了上游路由,高精地图,定位等模块的信息,整合后生成一段基于车道中心线的平滑的路径,输送给下游决策规划控制模块使用。在阅读了几遍源码和网上的介绍后,我想要整理出一版参考线生成的简化版本。主要参考的还是下面这个链接。pnc_map模块(规划与控制地图)_lzw0107的博客-优快云博客blog.youkuaiyun.com/lzw0107/article/details/107814610#t1正在上传…重新上传取消https://lin
2021-12-30 12:29:49
6075
原创 STL中vector及其相关操作函数
insert()函数insert() 函数有以下三种用法:iterator insert( iterator loc, const TYPE &val ); 在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器 void insert( iterator loc, size_type num, const TYPE &val );在指定位置loc前插入num个值为val的元素 void insert( iterator loc, input_iterator ...
2021-12-29 08:33:33
191
转载 解析百度Apollo之Routing模块——by保罗的酒吧
本文是Apollo项目系列文章中的一篇,会结合源码解析其中的Routing模块。前言对于刚接触Apollo项目的读者可以阅读我博客中的另外一篇文章 -《解析百度Apollo自动驾驶平台》,那里对Apollo项目做了整体的介绍。建议在阅读本文之前,先浏览一下那篇文章。Apollo项目的源码可以从github上获取:ApolloAuto/apollo。本文中贴出的源码取自2018年底(12月27日)的版本。模块介绍Routing模块正如其名称所示,其主要作用就是根据请求生成路由信息。.
2021-12-27 13:16:55
4093
1
转载 解析百度Apollo之参考线与轨迹——保罗的酒吧
本文紧接着上一篇文章:《解析百度Apollo之决策规划模块》。会详细讲解决策规划模块中是如何生成参考线和行车轨迹供车辆行驶的。参考线和轨迹直接影响了自动驾驶车辆对于方向和速度的控制,因此,说它是自动驾驶系统中最重要的数据都不为过。前言本文是百度自动驾驶平台Apollo项目系列文章中的一篇,会讲解Planning模块中的参考线逻辑。对于刚接触Apollo项目的读者可以阅读我博客中的另外一篇文章 -《解析百度Apollo自动驾驶平台》,那里对Apollo项目做了整体的介绍。ReferenceL.
2021-12-27 13:11:35
7397
原创 ROS常见开源工具总结
一 绘制线形ROS中查看数据,绘制线形,第一想法便是rqt_plot,并且配合着parameter server可以实现在线调参等高级功能.然而对于录制好的rosbag数据,rqt_plot稍有些不够灵活,首先需要启动roscore,然后需要rosbag play回放完数据才能得到线形.有没有更灵活,线下处理rosbag,抽取感兴趣数据的工具?本文介绍PlotJuggler.PlotJuggler安装下面才是ubuntu16.04的安装步骤,也很简单,就三步。sudo apt-get
2021-11-29 16:59:20
954
转载 Apollo Lattice Planner学习记录
参考:《Apollo Lattice Planner学习记录》EM Planner在之前的博客中通过对论文详细学习了一遍,这次通过代码学习一下Apollo的Lattice Planner。一、背景Apollo里基于参考线的Planner主要有EM Planner与Lattice Planner。两者区别如下:EM Planner Lattice Planner 横向纵向分开求解 横向纵向同时求解 参数较多(DP/QP, Path/Speed) 参数较少且统一 .
2021-11-29 14:10:18
6542
5
原创 Frenet坐标系下横纵向轨迹决策规划(SL投影及ST投影)及Apollo决策算法解析
参考:(1)《攻城狮说 | 应对复杂路况,自动驾驶如何规划它的下一步? “老司机”炼成记!》微信公众号文章Pony.ai小马智行(2)《【Apollo】apollo3.5决策分享 --by 百度美研 Yifei Jiang老师》知乎(3)《Baidu Apollo代码解析之s-t图的创建与采样(path_time_graph)》 优快云(4)《技术文档 | 二次规划(QP)样条路径》微信公众号文章Apollo开发者社区(5)《开发者说|Apollo5.5 规划算法解析》 知乎...
2021-11-25 10:56:40
25528
10
转载 LiDAR基础、数据处理、领域任务及处理软件、开源库汇总
一、LiDAR 基础与入门1. 激光雷达定义 Light Deteation and Ranging激光探测及测距系统的简称,用激光器作为发射光源,采用光电探测技术手段的主动遥感设备。 2. 优缺点(1)优点 具有极高的分辨率 抗干扰能力强 获取的信息量丰富 可全天时工作 (2)缺点 容易受到大气条件以及工作环境的烟尘的影响 3. 分类(1)按原理分类: 三角测距激光雷达 ToF 激光雷达 (2)按功能分类:
2021-11-08 14:58:33
2104
1
原创 open3d使用知识拾遗
一 、open3d可视化中的一些使用 在可视化界面,按下h / H就可以在命令行下看到open3d的一下使用操作:[Open3D INFO] -- Mouse view control --[Open3D INFO] Left button + drag : Rotate.[Open3D INFO] Ctrl + left button + drag : T...
2021-10-30 09:19:24
2671
原创 Faster RCNN 网络分析及维度分析
佳文参考:《Faster RCNN 学习笔记 - 勇者归来 - 博客园》《Faster-Rcnn中RPN(Region Proposal Network)的理解》一、网络流图 二、维度分析 ...
2021-10-28 16:31:27
2302
2
原创 【3D目标检测】PointPillars: Fast Encoders for 3D Object Detection from Point Clouds
参考:《pointpillar 维度分析:location loss》前言1. 为什么要做这个研究?作者认为采用3D卷积会大大降低处理速度,浪费计算资源。2. 实验方法是什么样的?•从俯视图划分成H×W个格子,每个格子作为一个柱子,共有P根非空的柱子,每个柱子最大点数为N,每个点取D个维度,得到[D,P,N];•对每个柱子采用PointNet提取特征得到[C,P,N],再对点N最大池化为[C,P],P=H×W,因此得到2D伪图像[C,H,W];•使用top-down网络捕获不同.
2021-09-22 16:51:09
464
转载 Ubuntu断电后重启一直紫屏——不妨先更新grub文件试试
参考:《删除Ubuntu中不用的内核》上网查询,很多说是显卡驱动的问题!胡说八道!1、查看Linux中当前使用的内核:使用 uname -a 或者 uname -r 命令2、查看Linux中安装了哪些内核:使用 dpkg --get-selections | grep linux 或者 dpkg --list |grep linux 命令需要知道的是,内核映像文件主要包括以下类型:linux-image-版本号:内核映像文件linux-headers..
2021-09-22 11:07:17
345
原创 TensorRT及PyCUDA安装记录
一、PyCUDA安装记录 环境版本说明:Ubuntu 16.04 LTSpython3.6CUDA11.0cuDNN8.0Pytorch 1.7Tensorflow(GPU) 2.4.0numpy 1.17.50、PyCUDA介绍 Nvidia的CUDA 架构为我们提供了一种便捷的方式来直接操纵GPU 并进行编程,但是...
2021-09-15 16:35:14
1173
2
原创 基于Pytorch的面向对象的深度学习项目编码规范
(1/4)首先明确一个思考方式:一切皆是对象一切我的理解是包括两类对象 非对象(2/4)为什么要有对象?对象不用说了,就是一些名词,比如:模型,算法,数据(训练集,测试集),设备,等。非对象肯定是包括过程的,过程怎么变为对象呢?或者说,“过程怎么被赋予对象的一些属性呢?”如何赋予过程一些东西,这些东西使过程看起来像是对象,那么就要分析以下正常的对象有哪些属性,或者说是特点。在创建一个对象时,首先要有他所属的类,类相当于一个命名空间,对象在此基础上扩展,类可以有自己的属性,这些属性是每个
2021-08-04 12:43:43
432
原创 MobileNetV1,V2,V3
附录:Depthwise(DW)卷积与Pointwise(PW)卷积,合起来被称作Depthwise Separable Convolution(参见Google的Xception),该结构和常规卷积操作类似,可用来提取特征,但相比于常规卷积操作,其参数量和运算成本较低。所以在一些轻量级网络中会碰到这种结构如MobileNet。常规卷积操作对于一张5×5像素、三通道彩色输入图片(shape为5×5×3)。经过3×3卷积核的...
2021-07-29 10:31:35
1000
原创 PyTorch代码内植入性能分析的说明
以分布式并行训练为例(分布式并行训练见我的博客《Pytorch 分布式并行训练 + 半精度/混合精度训练》介绍),具体以项目《FcaNet: Frequency Channel Attention Networks》的主代码为例,通过在代码内植入性能分析的代码可以对大规模深度学习模型进行准确高效的性能分析和故障排除。主代码import argparseimport osimport shutilimport timeimport mathimport randomimport ..
2021-07-14 16:03:36
2787
1
原创 Pytorch一机多卡分布式并行训练及混合精度训练
Pytorch并行主要有两种方式,DataParallel(DP)和DistributedDataParallel(DDP)。DP方式较为简单,但是多线程训练,并且主卡显存占用比其他卡会多很多。因此这里采用DDP方式来多卡计算。DDP是多进程,将模型复制到多块卡上计算,数据分配较均衡。使用DDP的一机多卡配置1. 加入local_rank参数,这一步会在代码运行时通过torch.distributed.launch输入,该参数意义是当前进程所用的是哪块卡: parser.add_a.
2021-07-12 16:51:13
5311
3
原创 Pytorch 分布式并行训练 + 半精度/混合精度训练
该博客基于以下项目的开源代码进行分析:Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation”, accepted by AAAI-2020.Github代码地址:代码参考:知乎《一个 Pytorch 训练实践 (分布式训练 + 半精度/混合精度训练)》《Pytorch + Apex 训练流程记录》《pytorch apex 混合精度训练和horovod分.
2021-07-12 11:41:59
10037
原创 从最大似然估计求解的线性回归到贝叶斯线性回归及其python实现
参考:《Bayesian Linear Regression》符号 小写非粗体的 表示标量,小写粗体表示向量,大写粗体 表示矩阵。本文将将概率密度函数称为分布。import ...
2021-07-01 11:22:09
1235
1
转载 从线性回归到贝叶斯线性回归(Bayesian Linear Regression)
参考:《回字的四种写法——从线性回归到贝叶斯线性回归》《贝叶斯线性回归(Bayesian Linear Regression)》《透彻理解协方差矩阵》本文顺序一、回忆线性回归 线性回归用最小二乘法,转换为极大似然估计求解参数W,但这很容易导致过拟合,由此引入了带正则化的最小二乘法(可证明等价于最大后验概率)二、什么是贝叶斯回归? ...
2021-06-30 16:17:52
1903
原创 一文看尽深度学习中的生成对抗(GAN)网络
参考:《CVHub带你看一看GANs架构发展的8年》导读 生成对抗网络 (Generative Adversarial Networks, GANs) 在过去几年中被广泛地研究,其在图像生成、图像转换和超分辨率等领域取得了显著的进步。到目前为止,已经提出了大量基于GANs的相关工作和综述。本文基于柏林圣三一大学计算机科学与统计学院的王正蔚...
2021-06-29 14:42:21
5860
原创 常见距离度量备要
一、豪斯多夫距离-- Hausdorff distance参考:蒙特利尔的麦吉尔大学的计算几何课程资料——《Hausdorff Distance between convex polygons》公式:伪代码:Brute force algorithm :1. h = 02. for every point aiof A, 2.1 shortest = Inf; 2.2 for every pointbjof B ...
2021-06-24 09:08:25
400
原创 对比不同主流存储格式(csv, feather, jay, h5, parquet, pickle)的读取效率
引言在遇到大数据时,不同数据处理工具包的优劣, 是否拥有丰富的数据处理函数; 是否读取数据够快; 是否需要额外设备(例如GPU)的支持等等。 但无论这些工具包处理数据的时间多快,在碰到例如10G以上的数据时,都还是会耗费一些时间的,快的可能几十秒,慢的可能几十分钟,然后再进行一些特征抽取等等,快的话也得几十分钟,而此时,为了节省时间消耗,我们就需要将这些中间结果线存储到磁盘上面,而不同格式的存储,带来的差别是巨大的,比如: 存储一个大的文件,存成csv格式需要10G,
2021-06-17 16:08:15
17238
1
《Python One-Liners》 by Christian Mayer .pdf
2020-04-20
machine learning mastery with python
2018-05-07
Deep Learning for Computer Vision
2018-04-21
Windows下编译MatConvNet工具包GPU版本,加入本文件即可使用!
2016-06-07
Accurate Scale Estimation for robust visual trackiing
2016-01-27
深度卷积神经网络特征提取的数学理论
2016-01-27
2016-Interacting Multiview Tracker
2016-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人