深度学习
文章平均质量分 88
专业女神杀手
一个帅哥罢了
展开
-
【学习笔记】Transformer在CV中的应用
Transformer取代RNN,在nlp大杀四方之后,也来CV领域争夺市场了,大有取代CNN的趋势。目前关于Transformer在CV领域的应用越来越多,本文选具有代表性的有用于分类的Vit,用于检测的detr,和用于分割的mask2former做了简单介绍。原创 2023-09-21 18:28:52 · 504 阅读 · 1 评论 -
安卓端使用ncnn部署yolov5(v6.0)
ncnn是腾讯公司开源的一个专为手机端极致优化的高性能神经网络前向计算框架。ncnn从设计之初,就深刻考虑手机端的部署和使用,无需第三方依赖,跨平台,手机端cpu的速度快于目前所有已知的开源框架。基于ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能APP,将AI带到你的指尖。原创 2022-12-26 18:24:01 · 4454 阅读 · 6 评论 -
TensorRT(C++)部署 Pytorch模型
众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。原创 2022-11-28 20:29:53 · 4146 阅读 · 0 评论 -
PaddleDetection2.x训练、部署自己的模型
PaddleDetection是百度Paddle家族的一个目标检测开发套件。个人感觉Paddle的优点是模型比较丰富,支持的部署方式较多(python、C++、移动端等),缺点是坑比较多,百度的老毛病了,什么都弄一点,但都不精通。本文研究了下PaddleDetection的使用流程,从自己的数据集(coco类型),记录下整个训练、推理、部署的过程。...原创 2022-08-17 18:28:53 · 4385 阅读 · 0 评论 -
【史上最全】重装ubuntu20.04系统基本环境配置
Ubuntu20.04系统U盘方式安装,Nvidia驱动,cuda, cudunn等基本配置原创 2022-07-28 10:54:32 · 13216 阅读 · 1 评论 -
pytorch用自己数据集训练Unet
在图像分割这个问题上,主要有两个流派:Encoder-Decoder和Dialated Conv。本文介绍的是编解码网络中最为经典的U-Net。随着骨干网路的进化,很多相应衍生出来的网络大多都是对于Unet进行了改进但是本质上的思路还是没有太多的变化。比如结合DenseNet 和Unet的FCDenseNet, Unet++一、Unet网络介绍论文:https://arxiv.org/abs/1505.04597v1(2015)UNet的设计就是应用与医学图像的分割。由于医学影像处理中,数据..原创 2022-04-13 20:30:03 · 4266 阅读 · 9 评论 -
pytorch用voc分割数据集训练FCN
语义分割是对图像中的每一个像素进行分类,从而完成图像分割的过程。分割主要用于医学图像领域和无人驾驶领域。和其他算法一样,图像分割发展过程也经历了传统算法到深度学习算法的转变,传统的分割算法包括阈值分割、分水岭、边缘检测等等,面临的问题也跟其他传统图像处理算法一样,就是鲁棒性不够,但在一些场景单一不变的场合,传统图像处理依旧用的较多。FCN是2014年的一篇论文,深度学习语义分割的开山之作,从思想上奠定了语义分割的基础。Fully Convolutional Networks for Sema原创 2021-12-07 11:27:57 · 2960 阅读 · 5 评论 -
新装Ubuntu系统基本环境安装配置(conda)
1. 配置显卡驱动# 查看显卡驱动nvidia-smi其中,396.82表示显卡驱动的版本号,这里还没有安装cuda, 如果安装cuda的话右上角还会显示cuda的版本信息。要注意显卡驱动版本和cuda版本的对应关系如下表所示。cuda版本显卡驱动版本对应关系可以参考:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html备注:显卡驱动下载:驱动下载地址:https://www.nvidia...原创 2021-11-01 10:29:04 · 5967 阅读 · 1 评论 -
【原理篇】一文读懂FPN(Feature Pyramid Networks)
论文:feature pyramid networks for object detection论文链接:https://arxiv.org/abs/1612.03144这篇论文是CVPR2017年的文章,采用特征金字塔做目标检测。作者提出的多尺度的object detection算法:FPN(feature pyramid networks)。FPN网络将特征金字塔模型引入至Faster R-CNN中,在不牺牲内存与速度的情况下达到了state-of-the-art,同时对于小物体的检测也获得了不错原创 2021-10-29 15:21:41 · 999 阅读 · 0 评论 -
【原理篇】一文读懂Mask RCNN
Mask RCNN 何凯明大神的经典论文之一,是一个实例分割算法,正如文中所说,Mask RCNN是一个简单、灵活、通用的框架,该框架主要作用是实例分割,目标检测,以及人的关键点检测。Mask RCNN是基于Faster RCNN的一种改进,增加一个FCN的分支。一、Mask RCNN 网络架构Mask RCNN就是Faster RCNN+FCN组成的,Faster RCNN完成分类和边框预测,FCN在筛选出的ROI中进行图像分割。损失函数由三部分组成:1.1 Faster RCNN网络原创 2021-10-18 19:13:45 · 3965 阅读 · 0 评论 -
【原理篇】一文读懂Faster RCNN
0. Faster RCNN概述论文地址:https://arxiv.org/pdf/1506.01497.pdfFaster R-CNN源自2016年发表在cs.CV上的论文《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》,使用RPN(建议区域网络)的实时物体检测,Faster R-CNN实现了end-to-end的训练,不仅明显地加快了目标检测速度,在模型精确度方面也有提升。在目标原创 2021-10-09 19:01:40 · 838 阅读 · 0 评论 -
Paddle-Lite终端部署深度学习模型流程
Paddle Lite是飞桨基于Paddle Mobile全新升级推出的端侧推理引擎,在多硬件、多平台以及硬件混合调度的支持上更加完备,为包括手机在内的端侧场景的AI应用提供高效轻量的推理能力,有效解决手机算力和内存限制等问题,致力于推动AI应用更广泛的落地部署流程一般分为四步1)把其他框架(pytorch/tensorlfow)训练的模型转换为paddle模型 2)paddle模型优化为轻量级的模型 3)paddle-lite通过api调用轻量级的模型推理 4)融合进业务代码,完成落地1.原创 2021-09-18 16:39:07 · 2000 阅读 · 0 评论 -
Python源码加密与Pytorch模型加密
0、前言深度学习领域,常常用python写代码,而且是建立在一些开源框架之上,如pytorch。在实际的项目部署中,也有用conda环境和python代码去部署服务器,在这个时候,又分为两种情况。部署方式可分为两种,一种是在线部署,算法服务器归公司所有,只开放API给客户,客户通过POST请求访问算法服务器,上传数据并得到返回结果。这种情况客户当然看不到代码。还有一种是离线部署,就是给客户私有化部署,把公司的代码放到客户的服务器上运行,这种情况下客户能够看到代码。如果是python部署的项目,就需要原创 2021-09-10 17:34:54 · 3602 阅读 · 13 评论 -
Pytorch用自己的数据训练ResNet
一. ResNet算法介绍残差神经网络(ResNet)是由微软研究院的何恺明等人提出的。ResNet 在2015 年的ILSVRC中取得了冠军。通过实验,ResNet随着网络层不断的加深,模型的准确率先是不断的提高,达到最大值(准确率饱和),然后随着网络深度的继续增加,模型准确率毫无征兆的出现大幅度的降低。这个现象与“越深的网络准确率越高”的信念显然是矛盾的、冲突的。ResNet团队把这一现象称为“退化(Degradation)”。按道理,给网络叠加更多层,浅层网络的解空间是包含在深层网络的解空原创 2021-08-31 14:23:16 · 15619 阅读 · 14 评论 -
mmdetection v2.x模型训练与测试
因为工作关系,接触到了mmdetection。它是商汤科技和香港中文大学开源的一款基于pytorch底层的目标检测工具箱,隶属于mmlab项目。mmdetection 2.7文件结构。其中configs文件夹下为网络模型文件,checkpoints文件夹下为模型权重文件(.pth)1. 模型训练在模型训练之前,要先配置好参数。配置参数是通过修改文件的方式完成的,主要包括三部分:配置数据,配置模型和配置训练策略。下面将以训练模型faster_rcnn_r50_fpn_1x_coco为例..原创 2021-08-18 15:20:26 · 1066 阅读 · 0 评论 -
pytorch用自己数据训练VGG16
一、VGG16的介绍VGG16是一个很经典的特征提取网络,原来的模型是在1000个类别中的训练出来的,所以一般都直接拿来把最后的分类数量改掉,只训练最后的分类层去适应自己的任务(又叫迁移学习),这种做法为什么有用呢,可能是自然界中的不同数据,分布具有相似性吧。本文不打算这么干,本文将修改一下vgg的网络自己重新训练。先看看VGG的原生网络特点:1.网络结构及其简单清晰,五层卷积+三层全连接+softmax分类,没有其他结构。2.卷积层全部用3*3的卷积核,三个3*3的卷积核相当.原创 2021-07-16 11:54:45 · 5210 阅读 · 6 评论 -
yolov5训练自己的数据集
yolo系列在目标检测领域的地位就不用说了,github上有pytorch实现的训练yolov5的代码,本文将用自己的数据去训练一个yolov5的模型。参考代码地址https://github.com/ultralytics/yolov5/tags注意这里我们选择tags下的v1.0版本进行训练,不同的版本代码是不一样的,复现过程也有所差异。其中v1.0版本的训练过程和yolov3很相似一、准备自己的数据数据的标注,采用labelImg软件,保存下来的都是.xml格式的标注文件。本次大.原创 2021-07-13 11:42:40 · 3254 阅读 · 0 评论 -
Pytorch自定义CNN网络实现猫狗分类
数据集下载地址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=54765Dogs vs. Cats(猫狗大战)来源Kaggle上的一个竞赛题,任务为给定一个数据集,设计一种算法中的猫狗图片进行判别。数据集包括25000张带标签的训练集图片,猫和狗各125000张,标签都是以cat or dog命名的。图像为RGB格式jpg图片,size不一样。截图如下:一. 数据预处理pytorch的数据预处理部分要写..原创 2021-07-08 18:10:01 · 1355 阅读 · 1 评论 -
ubuntu编译安装opencv4.5.1(C++)
1. 在https://github.com/opencv/opencv上下载opencv源码。包括opencv4.5.1和opencv-contrib4.5.1(也可以不用),其中opencv是主体,opencv-contrib包含了一些不是足够稳定的算法,没有集成到opencv中。2. 把下载的源码包解压可以看到opencv-4.5.1和opencv_contrib-4.5.1两个文件夹,将opencv_contrib-4.5.1目录移到opencv-4.5.1目录下。在终端安装下列依赖库:su原创 2021-07-06 12:00:18 · 1383 阅读 · 0 评论