![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 83
yx868xy
这个作者很懒,什么都没留下…
展开
-
解决OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.报错问题
错误如下图所示:解决办法1:在pycharm里调试程序时可以直接通过在程序前添加这两个语句解决import osos.environ[“KMP_DUPLICATE_LIB_OK”]=“TRUE”解决办法2:办法1不能解决问题的话,甚至直接在terminal上import torch也会出现这种问题:究其原因其实是,anaconda的环境下存在两个libiomp5md.dll文件。所以直接去虚拟环境的路径下搜索这个文件,可以看到在环境里有两个dll文件:其中第一个是torch路径下的,第转载 2022-03-01 14:18:01 · 1188 阅读 · 0 评论 -
windows上yolov5的tensorrt模型推理加速
一、部署环境:WIN7cuda 10.2cudnn 8.0tensorrt 7.0.011opencv 3.4.7cmake 3.16.5二、生成wts模型下载代码:yolov5 3.0 版本 和tensorrtx 3.0版本https://github.com/ultralytics/yolov5https://github.com/wang-xinyu/tensorrtx将tensorrtx源码中的gen_wts.py复制到yolov5源码中并运行,生成.wts模型安装cuda原创 2021-06-25 16:38:51 · 2238 阅读 · 3 评论 -
yolov5 转onnx转ncnn
代码:https://github.com/ultralytics/yolov5(v3.0)一、yolov5 pt模型转onnx安装:pip install onnx>=1.7.0 # for ONNX exportpip install coremltools==4.0 # for CoreML exportpip install onnx-simplifierpytorch->onnx转化yolov5s.pt 权重文件复制到yolov5-3.0工程下,在终端运行:py原创 2021-06-03 20:24:37 · 2473 阅读 · 6 评论 -
libtorch部署yolov5
一、环境Ubuntu 16.04CUDA 10.2OpenCV 3.4.12LibTorch 1.7.0 (gpu)Pytorch 1.7.0二、得到yolov5 的权重模型https://github.com/ultralytics/yolov5/blob/master/models/export.py我使用的是3.0版本用export.py生成的pt文件既可,但是默认是使用CPU的,使用GPU需要修改。提示:用的coremltools==4.0版本,之前我有升级到4.1版本运行e原创 2021-06-03 20:24:24 · 2869 阅读 · 7 评论 -
yolov5 转Tensorrt(ubantu)
代码:https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5(v3.0版)https://github.com/ultralytics/yolov5(v3.0版)环境:cuda:10.2 ,cudnn:8.0.4, tensorrt :7.1.3,pytorch:1.7.0一、生成转tensorrt的中间文件 yolov5.wtsyolov5s.pt (v3.0)放入weights文件夹在yolov5-3.0工程中运行:pytho原创 2021-05-11 17:14:47 · 1239 阅读 · 0 评论 -
YOLACT 、 YOLACT++、YolactEdge小结
一、YOLACT论文:https://arxiv.org/abs/1904.02689 yolact源代码:https://github.com/dbolya/yolact yolact、yolact++本文的主要贡献:YOLACT是2019年发表在ICCV上面的一个实时实例分割的模型,它主要是通过两个并行的子网络来实现实例分割的。(1)Prediction Head分支生成各个anchor的类别置信度、位置回归参数以及mask的掩码系数;(2)Protonet分支生成一组原型mask。然原创 2021-02-10 14:52:22 · 7149 阅读 · 3 评论 -
Pytorch 语义分割DeepLabV3+ 训练自己的数据集
照葫芦画瓢总结记录了一下DeepLab分割系列,并对Deeplab V3++实现一、DeepLab系列理解1、DeepLab V1原文:Semantic image segmentation with deep convolutional nets and fully connected CRFs(https://arxiv.org/pdf/1412.7062v3.pdf)收录:ICLR 2015 (International Conference on Learning Representatio原创 2021-02-10 10:32:57 · 7135 阅读 · 21 评论 -
YOLOv5实现半标注
转载:https://blog.csdn.net/qq_39056987/article/details/111030600序言在模型训练阶段,难免会遇到大量标注的时候,当拿到一批未标注的数据的时候,一想到要标个几天几夜就头大。如果是公司有自己的数据标注师还好,如果没有的话还要自己动手,这就太浪费时间。为什么不能借用已有的模型来进行预标注呢?答案肯定是可以的。本文记录一下自己常用的yolov5作为预标注的使用过程。一、预标注流程使用yolov5官方权重进行推理得到box的坐标,如果你需要标注的类别在转载 2020-12-23 11:36:22 · 1375 阅读 · 0 评论 -
新的激活函数Funnel ReLU和 Dynamic ReLU
Funnel ReLU论文地址:https://arxiv.org/pdf/2007.11824.pdf代码地址:https://github.com/megvii-model/FunnelAct非线性激活层地作用是对卷积层地线性输出进行非线性变换。比如:ReLU,PReLU,sigmoid等激活函数。详情可看:https://blog.csdn.net/yx868yx/article/details/106583017FReLU是专门为视觉任务设计的,概念上很简单:ReLU对激活值为非正的部分用0原创 2020-09-24 09:36:00 · 1436 阅读 · 4 评论 -
python 3.5以上的版本安装pydensecrf
https://blog.csdn.net/hezhongla0811/article/details/100889466亲测有效环境: python3.6.5 win7 和python3.6.8 Linux 都可以用附:https://zhuanlan.zhihu.com/p/64854535(分割后处理)原创 2020-09-18 09:59:14 · 314 阅读 · 0 评论 -
pytorch使用Apex混合精度加速训练
Apex官网:https://nvidia.github.io/apex/amp.html这篇博客讲的非常好PyTorch必备神器 | 唯快不破:基于Apex的混合精度加速1.安装使用pip安装后会出错TypeError: Class advice impossible in Python3. Use the @Implementerclass decorator instead.解决方法:$ pip uninstall apex$ git clone https://www.gith转载 2020-09-03 15:12:10 · 1099 阅读 · 0 评论 -
ImportError: cannot import name ‘_validate_lengths‘ 解决方法
numpy升级以后遇到以上错误,版本变化函数名称发生变化:根据错误提示点击到arrycrop.py文件加入下面语句修改前:import numpy as npfrom numpy.lib.arraypad import _validate_lengths修改后:import numpy as npfrom distutils.version import LooseVersion as Versionold_numpy = Version(np.__version__) < Vers转载 2020-08-31 10:30:08 · 131 阅读 · 0 评论 -
CV中的特征融合SFAM、ASFF、BiFPN、Hyper column
1、SFAMSFAM(尺度特征聚合模块)在端到端的one-stage目标检测器M2Det中提出,M2Det利用主干网络和MLFPN进行特征提取,然后与SSD类似,根据学到的特征,产生密集的bounding box和类别得分,再利用NMS产生最后的位置和类别预测结果。MLFPN包括三个模块:FFM(特征融合模块),TUM(瘦U型模块),SFAM(尺度特征聚合模块)。先看MLFPN的整体流程:FFMv1通过融合主干的特征图将语义信息扩充成基本特征。每一个TUM模块生成一组多尺度的特征,然后通过交替连接的多原创 2020-07-16 17:25:28 · 19564 阅读 · 4 评论 -
CV中的attention机制SE、CBAM、Triplet、DCANet
1、SESENet是Squeeze-and-Excitation Networks的简称,拿到了ImageNet2017分类比赛冠军,其效果得到了认可,其提出的SE模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中。SENet主要是学习了channel之间的相关性,筛选出了针对通道的注意力,稍微增加了一点计算量,但是效果比较好。通过上图可以理解他的实现过程,通过对卷积的到的feature map进行处理,得到一个和通道数一样的一维向量作为每个通道的评价分数,然后将改分数分别施加到对应的通原创 2020-07-11 16:27:00 · 6465 阅读 · 0 评论 -
后处理方法NMS、Soft-NMS、 Softer-NMS、WBC、DIoUNMS 、NMS替代算法Confluence
1、 NMS非最大抑制(NMS)主要用于基于深度学习的目标检测模型输出的后处理,从而去除冗余的检测框,获得正确的检测结果。算法流程:将网络输出框集合B按照置信度分数S从高到低的顺序排序,定义D为最终检测框集合,Nt 为 NMS 阈值。当B不为空集时:①m为置信度分数最高的框,将m放入D,并将它从B中删除②对于B中余下的每个框bi:如果 iou(m,bi)≥Ntiou(m,bi)≥N_tiou(m,bi)≥Nt,则将bi从B中删除返回检测结果D通过分析可以发现NMS存在以下几个缺陷:①稠密原创 2020-07-10 15:42:51 · 4906 阅读 · 0 评论 -
增强感受野SPP、ASPP、RFB、PPM
1、SPP(Spatial Pyramid Pooling)SPP模块是何凯明大神在2015年的论文《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》中被提出。由于CNN网络后面接的全连接层需要固定的输入大小,故往往通过将输入图像resize到固定大小的方式输入卷积网络,这会造成几何失真影响精度。SPP模块就解决了这一问题,他通过三种尺度的池化,将任意大小的特征图固定为相同长度的特征向量,传输给全原创 2020-07-06 15:21:50 · 25553 阅读 · 16 评论 -
目标检测回归损失函数小结IOU、GIOU、DIOU、CIOU
L1 loss本方法由微软rgb大神提出,Fast RCNN论文提出该方法。假设x为预测框和真实框之间的数值差异,常用的L1 Loss定义为: L1=∣x∣L_1=|x|L1=∣x∣导数:L2 Loss定义为:L2=x2L_2=x^2L2=x2导数:smoothL1 Loss定义为:导数:从损失函数对x的导数可知: L1损失函数对x的导数为常数,在训练后期,x很小时,如果learning rate 不变,损失函数会在稳定值附近波动,很难收敛到更高的精度。 L2 损失函数对x的导原创 2020-06-17 09:04:43 · 3125 阅读 · 2 评论 -
激活函数总结
如果神经网络没有激活函数。在这种情况下,每个神经元只会利用权重和偏差对输入信息进行线性变换。虽然线性变换使神经网络更简单,但这个网络的功能会变得更弱,并无法从数据中学习复杂的模式。没有激活函数的神经网络本质上只是一个线性回归模型。因此,我们对神经元的输入进行非线性变换,而神经网络中的这种非线性是由激活函数引入的。sigmoid函数(sigmoid function)或logistic函数(logistic function)称为logistic函数的原因为该函数是两类别逻辑回归模型的预测表达式1、Si原创 2020-06-06 11:11:02 · 2206 阅读 · 0 评论 -
用QT调用opencv DNN 库中的SSD算法做个简单的界面
界面效果如下:1、用QPainter 画背景图2、QPushButton(本地上传和检测),当点击本地上传时打开本地文件夹选择要检测的图片;点击检测按钮时才会检测图片3、label显示,显示上传的图片和检测后的图片4、textEdit,显示检测后的精度,更换图片就清空1、在.pro中加入opencv编译库DEFINES += QT_DEPRECATED_WARNINGSINCLUD...原创 2020-05-16 15:15:14 · 571 阅读 · 0 评论 -
OpenCV使用Cmake和MinGW编译安装在QT中配置运行
一、软件环境:Win7-64bitQt-5.14.0MinGW-7.3.0-32bitCMake-3.16.5Opencv3.4.7我的主机上已经有QT和MinGW,只需下载CMake和Opencv。1、opencv下载地址:https://sourceforge.net/p/opencvlibrary/activity/?page=0&limit=100#5dfd53da...原创 2020-05-16 15:10:58 · 1759 阅读 · 0 评论 -
Jetson TX2刷机及模型调用
一、刷机刚买回来的TX2装的是纯净的Ubantu 16.04的系统,需要刷机,用到ubuntu系统的主机,HDMI显示屏等Jetson TX2 自带ubuntu 16.04 系统,首次开机时,进入的是以nvidia用户登录的Ubuntu命令行界面。如果要使用图形化界面,需要安装Nvidia Linux驱动,Nvidia 驱动安装通过sudo su 输入密码:nvidia,切换root权限用户。...原创 2020-05-14 17:36:20 · 992 阅读 · 0 评论 -
Tensorflow在手机端的部署(TF Lite)
环境:Win7-64位专业版Android Studio:3.4.1tensorflow : 1.9.0一、利用Android的camera做分类的demo1、安装Android Studio 以及SDK、NDK等直接去官网下载即可,可参考https://blog.csdn.net/c20081052/article/details/82865830有详细的安装过程2、运行demo在...原创 2020-05-14 17:33:36 · 1440 阅读 · 0 评论 -
ubuntu 上多个cudu 版本共存并可以随时切换
我原来的环境配置是cuda9.0+cudnn7.0后来安装Tensorrt的时候我把cudnn升级成7.5但是有很多工程的cuda 都升级到10,不想更换的情况下,就想着让多个cuda共存,切换着用。之前装cuda时加过的环境变量export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local...原创 2020-05-08 16:51:19 · 2354 阅读 · 0 评论 -
TensorTR安装及使用流程
1、TensorRT简介:一般的深度学习项目,训练时为了加快速度,会使用多GPU分布式训练。但在部署推理时,为了降低成本,往往使用单个GPU机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署,部署端也要有与训练时相同的深度学习环境,如caffe,TensorFlow等 。由于训练的网络模型可能会很大(比如,inception,resnet等),参数很多,而且部署端的机器性能存在差异...原创 2020-05-07 09:01:54 · 1085 阅读 · 0 评论 -
基于Pytorch框架下的YOLOV3剪枝算法实现
代码:https://github.com/Lam1360/YOLOv3-model-pruning算法:https://arxiv.org/abs/1708.06519 ,代码基于论文 Learning Efficient Convolutional Networks Through Network Slimming (ICCV 2017) 进行改进实现的 channel pruning算法,...原创 2020-05-04 20:52:07 · 1683 阅读 · 21 评论 -
一种剪枝算法实现
为了在加速运行深度学习模型,目前实现的方式基本分为两类:一是深度学习框架层面的加速,另一个方向是深度学习模型层面的加速。深度学习模型的加速又可以分为采用新的卷积算子来加速模型,另一个方向是通过对已有模型进行剪枝操作得到一个参数更少的模型来加速模型。通过观察深度学习模型,可以发现其中很多kernel的权重很小,均在-1~1之间震荡,对于这些绝对值很小的参数,可以视其对整体模型贡献很小,将其删除,...原创 2020-05-04 20:51:22 · 1043 阅读 · 0 评论 -
使用opencv python调用darknet yolov3模型
1、调用已经训练好的yolov3模型,我训练的是VOC风格的person数据集,10000步数,如下新建文件夹,存放已经训练好的权重文件(yolov3-voc_10000.weights),配置文件(yolov3-voc.cfg)和标签名字文件(voc.names)2、新建python文件,我的为test_yolov3.py,具体如下:import numpy as npimport c...原创 2020-05-03 10:15:00 · 2574 阅读 · 13 评论 -
使用opencv python导入tensorflow训练的Object Detection模型并进行预测
训练好的模型想用于视频中物体的识别和跟踪,由于opencv用于视频和图片的处理非常方便,所以想用opencv直接导入tensorflow训练好的模型。opencv从3.3版本开始正式支持DNN,可以直接导入caffe、tensorflow等框架训练好的模型,进而完成识别、检测等任务。opencv加载tensorflow训练好的模型,采用readNetFromTensorflow(model,c...原创 2020-05-03 10:13:28 · 621 阅读 · 1 评论 -
调用百度人脸识别api检测颜值和识别车牌
一、平台接入1.打开https://ai.baidu.com/进入控制台,选择文字识别服务。2.创建应用,如图示:创建完毕,点击“返回应用列表”此处显示AK,SK,后面程序中会用到二、人脸识别调用步骤调用主要有三步:获取access_token将图片处理成base64编码格式post请求访问接口得到结果1.获取access_token官方给的python示例代码,不过...原创 2020-05-03 10:12:16 · 879 阅读 · 0 评论 -
ExtremeNet 实现
代码:https://github.com/xingyizhou/ExtremeNet1、 创建虚拟环境在当前工程中:$ conda create -- name ExtremeNet -- file conda_packagelist.txt过程中下载了 file conda_packagelist.txt中的所有库包,都下载完全后,激活环境。$ source activate Ex...原创 2020-04-27 08:58:29 · 1266 阅读 · 4 评论 -
Darknet实现YoloV3(2)
环境:环境 ubantu16.04+cudnn7.0+cuda_9.0.1761、安装darknet $ git clone https://github.com/AlexeyAB/darknet $ cd darknet-master2、修改MakefileGPU=1 #0或1 使用GPU为1,不使用为0。CUDNN=1 #0或1OPENCV=1 #0或1...原创 2020-04-27 08:57:47 · 519 阅读 · 0 评论 -
Darknet实现YoloV3(1)
环境:环境 ubantu16.04+cudnn7.0+cuda_9.0.1761、安装darknetgit clone https://github.com/pjreddie/darknetcd darknet2、修改MakefileGPU=1 #0或1 使用GPU为1,不使用为0。CUDNN=1 #0或1OPENCV=1 #0或1OPENMP=0DEBUG=...原创 2020-04-27 08:56:06 · 580 阅读 · 0 评论 -
TensorFlow和Keras实现Mask RCNN(2)
环境:ubantu16.04 +cudnn7.0+cuda_9.0.176git代码:https://github.com/matterport/Mask_RCNN检查安装需要numpyscipyPillowcythonmatplotlibscikit-imagetensorflow>=1.3.0keras>=2.0.8...原创 2020-04-23 16:21:11 · 982 阅读 · 0 评论 -
TensorFlow 训练 Mask R-CNN 模型 (1)
一、数据准备因为只是详实的记录一下训练过程,所以数据量不需要太多,我们以数据集 Oxford-IIIT Pet 中的 阿比西尼亚猫(Abyssinian) 为例来说明。数据集 Oxford-IIIT Pet 可以从 这里 下载,数据量不大,只有 800M 不到。其中,阿比西尼亚猫的图像只有 232 张,这种猫的长相如下:Abyssinian_65.jpg要训练 Mask R-CNN 实例分...原创 2020-04-23 16:17:23 · 1439 阅读 · 0 评论 -
Pytorch 1.0实现SSD
环境 ubantu16.04+cudnn7.0+cuda_9.0.176Pytorch1.0+python3.6.5+ anaconda3源代码:(https://github.com/lufficc/SSD)一、数据准备1、VOC数据集2、下载预训练权重, vgg16_reducedfc.pth二、修改文件1、修改ssd300_voc0712.yaml文件修改NUM_CLASSE...原创 2020-04-21 15:02:23 · 557 阅读 · 2 评论 -
mmdetection项目新建conda环境实现SSD
新建conda环境$ conda create -n mmdetection python=3.6$ source activate mmdetection安装pytorch1.0 ,torchvision$ conda install pytorch==1.0.0 torchvison -c pytorch安装cython$ conda install cython安装mm...原创 2020-04-20 18:41:17 · 1323 阅读 · 1 评论 -
基于maskrcnn_benchmark框架的Faster RCNN实现(3)
环境 ubantu16.04+cudnn7.0+cuda_9.0.176Pytorch1.0+python3.6.5+ anaconda3一、数据准备:1、 我一般使用的是Pascal voc风格的数据集,当用COCO数据集风格时需要做转化。首先把数据集分为train和val两类分别用以下代码生成instances_train2014.json和instances_val2014.json...原创 2020-04-17 09:57:12 · 842 阅读 · 0 评论 -
Faster RCNN实现(2)
环境 ubantu16.04+cudnn7.0+cuda_9.0.176Pytorch1.0+Tensorflow-gpu 1.9.0+python3.6.5+ anaconda3一、数据准备和预训练权重下载参考(1)https://blog.csdn.net/yx868yx/article/details/105550545apple和peach数据集、vgg16_caffe.pth权重...原创 2020-04-17 09:56:31 · 326 阅读 · 0 评论 -
Faster RCNN算法实现(1)
环境 ubantu16.04+cudnn7.0+cuda_9.0.176Pytorch1.0+Tensorflow-gpu 1.9.0+python3.6.5+ anaconda3参考代码: https://github.com/ruotianluo/pytorch-faster-rcnn一、编译编译(nms, roi_pooling, and roi_align(from faceboo...原创 2020-04-16 10:54:55 · 1072 阅读 · 0 评论 -
神经网络模型可视化工具netron
简介在复现别人的模型的时候,有时我们要知道一个模型的输入与输出名,可是有时作者并没有告诉我们,要我们自己去查,有了这个工具可以清晰地看见网络的输入输出名,具体的网络结构。相比tensorboard它更加轻量化,而且支持各种框架。支持的框架support for:ONNX (.onnx, .pb, .pbtxt),Keras (.h5, .keras),CoreML (.mlmodel)...转载 2020-04-16 09:08:41 · 654 阅读 · 2 评论