- 博客(123)
- 资源 (7)
- 收藏
- 关注
原创 OpenAI 开发者大会2023 解读
本文主要介绍OpenAI 2023 开发者大会 的新技术,涉及GPT-4的升级点,GPTs的使用方法,相关工具如代码解释器、检索、函数调用的解读。
2023-11-16 18:16:20
744
原创 VLM 系列——RAM(recognize anything)—— 项目使用——调整阈值(获得置信度)
原始代码并不会输出得分,而是根据各个属性的阈值判别大于阈值(不同的子类不同)的为命中,输出对应的属性。本文详细介绍如何输出得分,并做可视化分析。
2023-11-07 14:52:27
439
原创 文生图——DALL-E 3 —论文解读——第一版
本文主要是DALL·E 3官方第一版技术报告(论文)的解读。 一句话省流版,数据方面,训练时使用95%模型(CoCa)合成详细描述caption + 5%原本人类 caption,测试时使用GPT-4v 扩写人类caption;模型方面使用T5xxl + vae encoder + diffusion latent + 自家decoder 取得最好效果。
2023-10-25 10:08:08
2018
原创 VLM 系列——RAM(recognize anything)—— 论文详解
详细介绍了RAM(recognize anything)的模型结构、数据集构成方式、数据清洗方式,以及创新点和使用方法。
2023-10-23 14:20:44
1117
原创 TRT8系列—— 版本差异注意事项
TRT8 一个大版本,8.4-、 8.5、 8.6(包含预览功能)却有很多变动,主要涉及输入输出的绑定binding接口、dynamic shape性能调优、dynamic shape 和context的绑定。
2023-08-17 17:21:30
1920
1
原创 目标检测算法——YOLOV8——算法详解
本文梳理Yolo v8 的改进点,并针对一些较难理解的点进行重点阐述,主要有如下几方面:backbone 使用C2f模块,检测头使用了anchor-free + Decoupled-head,损失函数使用了分类BCE、回归CIOU + VFL(新增项目)的组合,框匹配策略由静态匹配改为了Task-Aligned Assigner匹配方式、最后 10 个 epoch 关闭 Mosaic 的操作、训练总 epoch 数从 300 提升到了 500。
2023-01-31 19:15:00
75673
59
原创 YOLOV8——快速训练指南(上手教程、自定义数据训练)
本篇主要用于说明如何使用自己的训练数据,快速在YOLOV8 框架上进行训练。当前(20230116)官方文档和网上的资源主要都是在开源的数据集上进行测试,对于算法“小白”或者“老鸟”如何快速应用到自己的项目中,这个单纯看官方文档显得有点凌乱,因为YOLOV8 不再致力于做一个单纯算法,而是想要做一个一统(分类、检测、分割且多种模型)的框架。本文以检测为例。
2023-01-16 22:45:00
45678
28
原创 cv-cuda (cvcuda、nvcv)教程——Python安装
由于当前版本安装后,大家反应import nvcv cvcuda 失败,看官方文档,当前还不是很规范,特此记录当前版本的安装方法。
2023-01-11 17:07:42
3903
8
转载 YOLOv8 抢先解读
同一团队出品,YOLOv8和YOLOv5改进方向:Backbone、PAN-FPN、Decoupled-Head、Anchor-Free、损失函数、样本匹配。
2023-01-10 15:08:52
1887
2
原创 TRT8系列—— pytorch 模型转 onnx
详细介绍 Torch 模型如何导出 onnx ,并且提供完整的代码支持如下几个特性:动态batch、单输入、多(两)输出 。同时罗列其中的注意事项。这是后续TRT等加速的基础步骤。
2022-10-12 17:06:04
1259
原创 yolov5 优化——mosaic相关
Mosaic 利用了四张图片重新排布成一张图片,优点是丰富检测物体的背景、增加了很多小目标,让网络的鲁棒性更好。但是,如果我们的数据集本身就有很多的小目标,那么Mosaic数据增强会导致本来较小的目标变得更小,导致模型的泛化能力变差。如果我们的类目的关键信息是框的某个局部(某些场景你又不能标局部)那么裁切可能会将这个局部信息裁切没,导致模型无法拟合真正的信息。本文旨在如何修改mosaic来对特定场景进行调优。...
2022-08-17 19:52:29
4720
8
转载 GPU利用率低常见原因分析及优化方式
本文的 GPU 利用率主要指 GPU 在时间片上的利用率。GPU 任务会交替的使用 CPU 和 GPU 进行计算,当 CPU 计算成为瓶颈时,就会出现 GPU 等待的问题,GPU 空跑那利用率就低了。那么优化的方向就是缩短一切使用 CPU 计算环节的耗时。...
2022-08-17 10:35:13
14238
原创 backbone核心详解系列——RepVGG
设计了重参数化的模块,将训练和推理解耦,并且设计了两个系列的整体网络结构和相应的缩放方法,可以适应不同的精度性能需求,结果显示在GPU上推理速度高于renset系列。PS:这个网络主要考虑的是提升GPU(不是移动端)的计算密度(计算量除以计算时间),追求高速度、省内存,较少关注参数量和理论计算量。在低算力设备上,可能不如 MobileNet 和 ShuffleNet 系列适用。主要借鉴了ACNet、VGG和resnet的思想。核心模块。...
2022-08-04 11:18:58
1796
原创 目标检测算法——YOLOV7——详解
本文详细解读了YOLOV7 0.1版本代码的网络结构、损失函数、正负样本匹配规则等。可以高效的快速掌握YOLOV7的宏观结构和真正实现时的核心点。
2022-08-02 11:32:01
172194
36
原创 mac m1 m2 深度学习环境(pytorch)配置
在mac M1 M2上配置Python 深度学习开发环境(pycharm、openCV、pytorch)
2022-06-23 11:52:04
10811
12
原创 tensorRT5.15 使用中的注意点
1、鉴黄加速效果:压测及线上情况2、安装,建议使用tar的形式,避免遇到一些依赖库找不到的问题。3、Python图片预处理多进程不及多线程。多进程CPU占用低,主要是预处理的时间过少,Python 进程分发任务开销对于我们的ms级应用不可忽视。对比为batch=8,进程、线程为8,时间均为8张时间,循环1000次测试。多线程,平均为8.5ms(每千次次变动7.5-9.5S,近乎100%占用);多进程,平均为19ms(15-21ms);...
2021-10-28 16:24:24
901
原创 tesla AL day 自动驾驶部分
应对卡脖子问题,GJ忍痛强切赛道,压注新能源。然而随着特斯拉屡屡降价,个人认为能打也就比亚迪。比亚迪却混用着油车的框架,走传统卖硬件的路,自动驾驶招聘的JD惨不忍睹。再看特斯拉的AI能力,不禁替ZF捏把汗,也着实感觉到了技术和投入上的鸿沟。 PS,在算法专栏置顶这篇,实在是内心无法平息这种技术上、魄力上的鸿沟,与马斯克的人格魅力,马斯克yyds,继盖茨、乔布斯又一位实现自我价值、改变世界的IT界企业家。希望之后有时间和精力,慢慢学习更新里面的技术细节。数据 1、人工标记没...
2021-09-03 18:36:17
414
原创 fuser 使用—— YOLOV5内存溢出——kill nvidai-smi 无pid 的 GPU 进程
场景: 当我们使用YOLOV5训练模型时,官方的建议也是使用尽可能大的batch size这样BN更加的准确,训练速度也最快,但是当我们的batch size设置的过大会导致显卡内存溢出,而此时如果是多卡训练,很有可能出现长时间无法退出占用显存。解决方法: 第一种:使用nvidia-smi,下方有对应的pid。 可以使用kill命令杀掉进程,如下图,可以用如下命令: sudo kill -9 35346 # 杀掉pid为35346的进程 sudo ...
2021-08-18 14:46:22
3318
原创 yoloV5 使用——训练速度慢,加速训练
首先大家会按照官方的readme文件进行安装,连接:https://github.com/ultralytics/yolov5 此时有两点需要注意: 1、强烈建议大家使用conda虚拟环境安装,这样不会扰乱其他项目的Python环境,关于conda虚拟环境的使用,建议参考我的另一篇博客:https://blog.csdn.net/u012863603/article/details/115764553 举例如下:conda create --name y...
2021-08-17 15:38:08
15511
6
原创 tensorRT教程——使用tensorRT OP 搭建自己的网络
如下提供一个可以运行的使用tensorRT的OP来搭建自己定义的层或者直接重写自己网络,使用OP的场景: 1、自己的网络无法通过paser来直接转换为TRT的网络。如果自己写cuda实现,那么量化的操作也得自己实现,这样难度其实很高,建议还是使用TRT的OP搭建,搭建完支持量化等操作。 2、学习测试TRT的OP。 关于OP的一些我遇到的疑惑解读见我的另一篇博客:https://blog.csdn.net/u012863603/articl...
2021-08-03 20:31:16
1332
原创 tensorRT教程——tensor RT OP理解(实现自定义层,搭建网络)
首先如果你的自定义操作可以通过一些矩阵操作来实现,那么你大可不必自己去通过plug in的方式实现,可以使用tensor RT 的OP来组合实现。 他的OP极其类似tensor flow的操作,如果看到不理解,那就去谷歌tensor flow的操作,触类旁通即可,但仍有一些文档描述错误。 一些我使用过典型的OP备注如下,并附上一个测试OP的脚本,按需修改即可:1、reduce层的理解: reduce主要是在各个轴上进行对应的操作。 axes...
2021-08-03 20:25:14
2707
7
原创 度量学习(Metric learning)—— 基于分类损失函数(softmax、交叉熵、cosface、arcface)
概述 首先,我们把loss归为两类:一类是本篇讲述的基于softmax的,一类是基于pair对的(如对比损失、三元损失等)。 基于pair对的,参考我的另一篇博客:https://blog.csdn.net/u012863603/article/details/119246720 基于softmax的改进主要有如下(有的loss拥有不同的名字):softmax、center loss、range loss、Modified softmax、NormFace、large m...
2021-08-02 20:10:57
5254
1
原创 度量学习(Metric learning、损失函数、triplet、三元组损失、fastreid)
定义 Metric learning 是学习一个度量相似度的距离函数:相似的目标离得近,不相似的离得远. 一般来说,DML包含三个部分,如下图.。 1)特征提取网络:map embedding 2)采样策略:将一个mini-batch里的样本组合成很多个sub-set 3)loss function:在每个sub-set上计算loss. 应用场景 通常是在个体级别的细粒度识别上使用,传统的分类是花鸟狗的大类别的识别,但是有些需求...
2021-07-30 14:31:48
14569
原创 典型CCN网络——efficientNet(2019-Google-已开源)
概述 由于本网络本质上并不是人工设计的网络,所以个人认为,重点是看网络的获取思路已经有哪些值得注意的细节,对于网络的每一层,感觉不是那么重要(不像resnet等为人工设计)。创新点 探索网络的宽度、深度、输入图片分辨率单一因素对性能的影响,以及如何同时组合优化三个因素来提升网络的性能,最终给出了efficientNet B0-B7共计8个模型,满足不同的场景的需求。详细解读一、网络的宽度、深度、输入图片分辨率的探索 resnet通过加深网络的宽度,inc...
2021-07-27 15:23:17
1163
原创 linux 定时任务 (crontab 教程)
1、whatlinux 系统是由 crond这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。我们可以看下crond这个系统服务的状态:从这里可以看出来crond服务是自启动(enabled),且正在运行的(active)如果没有启动,启动方式:service cron start另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。2、how
2021-07-14 15:47:29
535
原创 算法工程师docker 速食指南(docker 教程)
主要针对算法工程师和软件工程师介绍常用的功能(不包含运维工程师部分的集群管理等相关功能),添加了自己遇到的相关的一些易混淆知识点,意义是快速的上手以及复习并且解决一些常见的疑问。完整的知识点以及所有命令手册,可以参考:https://www.runoob.com/docker/ubuntu-docker-install.html概括Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制
2021-07-14 15:26:00
495
原创 lstm pipeline 过程理解(输入输出)
1、MLP,很好理解,就是一张网络清楚地显示了张量流向。general MLP是这样的拓扑:Xi 为输入特征向量,蓝色中间层为多个隐藏层,Y对应的是输出向量。2、CNN也好理解,跟MLP无差若干。CNN是这样的拓扑:3、RecurrentNNs 结构理解的拓扑发生了一个很大的改动,即一个MLP会在time_step这个维度上进行延伸,每个时序都会有input。将1中的MLP图旋转并引入时间概念,如下视频视频中的t我们称为时间步(time_step.
2021-07-02 11:00:58
482
原创 双向LSTM
RNN和LSTM都只能依据之前时刻的时序信息来预测下一时刻的输出,但在有些问题中,当前时刻的输出不仅和之前的状态有关,还可能和未来的状态有关系。比如预测一句话中缺失的单词不仅需要根据前文来判断,还需要考虑它后面的内容,真正做到基于上下文判断。BRNN有两个RNN上下叠加在一起组成的,输出由这两个RNN的状态共同决定。对于每个时刻t,输入会同时提供给两个方向相反的RNN,输出由这两个单向RNN共同决定。参考链接:1、https://zhuanlan.zhihu.com/p/401199
2021-07-02 10:51:30
205
原创 多层LSTM
我们扩展了单层 RNN,使它们具有两层。对于原始的单层版本,请参阅上一章简介中的绘图。左侧架构说明了使用多层 RNN 预测输出序列中的一个输出的方法。正确的架构显示了使用多层 RNN 预测输出序列的方法,该输出序列使用输出作为输入。比如下面的例子以上是按时间展开的堆叠循环神经网络。一般的,我们定义 ht(l)为在时刻 t 时第 l 层的隐状态,则它是由时刻t-1第l层的隐状态与时刻t第l-1层的隐状态共同决定:其中U(l)、W(l)是权重矩阵,b(l)是偏置,ht(0) = ...
2021-07-02 10:50:07
3440
原创 LSTM 单元的理解
从RNN说起所谓的RNN就是想要记住一些过去的信息,所以它具有环(loops)的形式,如下所示上面的模块A的输入为xt,输出为ht,记忆体现在它将当前步的信息又送入下一步中,如果我们沿时间轴来看,RNN长这样这一结构考虑了过去的信息,但是随着时间间隔的增大,RNN其实记不住太久之前发生的信息了比如上图中的t+1时刻的输出可能与t0,t1时刻的输入相关,但是由于时间间隔太大,RNN无法为它们建立起连接。(这也叫做长距离依赖)LSTM它来了LSTM的设计就是为了.
2021-07-02 10:48:42
4212
1
原创 CV-IOU
交并比(Intersection-over-Union,IoU),目标检测中使用的一个概念,是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率,即它们的交集与并集的比值。计算公式:输入假设:bbox = [xt, yt, xb, yb], 左上角为(xt, yt),右下角为(xb, yb)代码如下,重点关注交集的计算思路:分别计算横轴和纵轴的交集长度。...
2021-07-02 10:24:15
359
1
原创 CV-BN
whatNormalization是数据标准化(归一化,规范化),Batch 可以理解为批量,加起来就是批量标准化。和卷积层,激活层,全连接层一样,BN层也是属于网络中的一层,常见排列 conv -> BN ->relu。whyBN算法的强大之处在下面几个方面:可以选择较大的学习率,使得训练速度增长很快,具有快速收敛性。可以不去理会Dropout,L2正则项参数的选择,如果选择使用BN,甚至可以去掉这两项。去掉局部响应归一化层。(AlexNet中使用的方法,BN层
2021-07-02 10:21:27
1533
原创 CV-NMS
对于目标检测来说, 非极大值抑制的含义就是对于重叠度较高的一部分同类候选框来说, 去掉那些置信度较低的框, 只保留置信度最大的那一个进行后面的流程, 这里的重叠度高低与否是通过 iou 阈值来判断的.算法逻辑:输入: n 行 5 列的候选框数组,每行依次为:左上角横坐标,左上角纵坐标,右下角横坐标,右下角纵坐标,置信度输出: m 行 5 列的候选框数组, 每行含义同输入算法流程:计算 n 个候...
2021-07-02 10:19:30
266
原创 目标检测算法——anchor free
一、anchor free 概述1、先要知道anchor 是什么(这需要先了解二阶段如faster rcnn,一阶检测器如YOLO V2以后或SSD等)。在过去,目标检测通常被建模为对候选框的分类和回归,不过,按照候选区域的产生方式不同,分为二阶段(two-step)检测和单阶段(one-step)检测,前者的候选框通过RPN(区域推荐网络)网络产生proposal,后者通在特定特征图上的每个位置产生不同大小和宽高比的先验框(anchor)。如下图:2、为什么要抛弃anchor,做anc
2021-07-01 20:02:22
23489
3
目标检测 机器学习方法 静态场景 测试车辆检测
2017-02-14
高斯混合模型背景建模
2017-02-14
基于均值漂移法的目标跟踪
2017-02-14
模板匹配技术
2017-02-14
利用聚类技术实现纹理图像分割
2015-12-23
利用基于直方图的自适应阈值方法实现分割前景与背景
2015-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅