深度学习
洪流之源
这个作者很懒,什么都没留下…
展开
-
COCOAPI计算mAP
COCOAPI 计算mAP原创 2022-10-12 11:07:16 · 2127 阅读 · 3 评论 -
COCO Image Viewer
COCO Image Viewer。原创 2022-08-19 15:47:13 · 504 阅读 · 0 评论 -
Yolov5 Torchscript + Batch + 多GPU推理
1. 导出torchscript模型在yolov5工程目录下执行如下命令导出torchscript模型python models/export.py --weights weights/yolov5m.pt2. Yolov5推理类class Yolov5Inference: def __init__(self, model_file, device, input_size_h, input_size_w,原创 2021-09-14 16:08:22 · 1648 阅读 · 0 评论 -
OpenVINO部署Yolov5
0.开发环境硬件平台:8 11th Gen Intel(R) Core(TM) i5-1145G7E @ 2.60GHz操作系统:Ubuntu 20.04 (LTS)OpenVINO: 2021.04(LTS)Python: 3.8.5 (conda 虚拟环境)Pytorch:1.9.0+cpuonnx:1.9.0onnx-simplifier: 0.3.6onnxruntime: 1.8.1onnxoptimizer: 0.2.61. yolov5转onnx...原创 2021-07-21 19:05:51 · 1536 阅读 · 1 评论 -
详细解读Spatial Transformer Networks(STN)
https://blog.csdn.net/qq_39422642/article/details/78870629转载 2021-07-09 15:16:11 · 313 阅读 · 0 评论 -
yolov5 onnx 推理代码
onnx_yolov5_inference.pyimport osimport cv2import timeimport onnxruntime as ortimport numpy as npfrom common import pad_to_squarefrom common import save_tensorfrom common import decodefrom common import non_max_suppressionfrom common import dra原创 2021-06-29 10:55:30 · 2342 阅读 · 1 评论 -
mnist数据集训练简洁实现
import torchimport torch.nn as nnimport torch.optim as optimfrom torchvision import datasets, transforms class CNN(nn.Module): def __init__(self): super(CNN, self).__init__() self.conv1 = nn.Sequential( # 输入大小 (1, 28, 28).原创 2021-06-03 14:53:44 · 457 阅读 · 0 评论 -
深度学习模型量化(低精度推理)大总结
模型量化作为一种能够有效减少模型大小,加速深度学习推理的优化技术,已经得到了学术界和工业界的广泛研究和应用。模型量化有 8/4/2/1 bit等,本文主要讨论目前相对比较成熟的 8-bit 低精度推理。 通过这篇文章你可以学习到以下内容:1)量化算法介绍及其特点分析,让你知其然并知其所以然; 2)Pytorch 量化实战,让你不再纸上谈兵;3)模型精度及性能的调优经验分享,让你面对问题不再束手无策;4)完整的量化文献干货合集,让你全面系统地了解这门主流技术。1.CPU 推理性能提升 2-4 倍,模型大小转载 2021-05-30 20:15:11 · 6185 阅读 · 2 评论 -
anchors 的生成过程
https://blog.csdn.net/sinat_33486980/article/details/81099093转载 2021-04-26 14:34:07 · 192 阅读 · 0 评论 -
Retinaface Pytorch转ONNX
环境:Retinaface Pytorch源码:import timeimport torchimport torch.nn as nnimport torchvision.models._utils as _utilsimport torchvision.models as modelsimport torch.nn.functional as Ffrom torch.autograd import Variabledef conv_bn(inp, oup, stride原创 2021-04-25 15:44:29 · 484 阅读 · 0 评论 -
Pytorch实现CSPDarknet53
import torchimport torch.nn.functional as F import torch.nn as nnimport mathfrom collections import OrderedDictimport numpy as npimport torch.onnx# Mish激活函数: f(x) = x * tanh(log(1 + e^x))# pytorch中F.softplus(x)等同于torch.log(1 + torch.exp(x))class.原创 2021-04-18 22:01:58 · 1475 阅读 · 1 评论 -
Pytorch DataParallel多卡训练模型导出onnx模型
Pytorch模型转换到onnx模型代码如下:import torchimport torch.nn as nnimport torch.onnximport onnximport osfrom QualityNet import QualityNetif __name__ == '__main__': os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"] =原创 2021-03-29 18:29:49 · 1998 阅读 · 2 评论 -
Check failed: status == CUDNN_STATUS_SUCCESS (1 vs. 0) CUDNN_STATUS_NOT_INITIALIZED
最近在做onnx模型转换到caffe模型的工作,在onnx=>caffe的时候遇到如下错误:网上搜索这个问题的解答很多,大多都是使用超级用户运行还有就是重新编译caffe(注释掉cudann),我实在docker环境下运行的本身就是root用户,重新编译caffe太繁琐,最后在https://github.com/MTlab/onnx2caffe/issues/25找到解决方法,亲测可行,在模型prototxt卷积参数部分添加engine:CAFFE即可,也就是修改模型的prototxt中的.原创 2020-12-30 14:22:31 · 2986 阅读 · 5 评论 -
skimage-SimilarityTransform的C++实现
similarityTransform的C++实现,这个主要是用在一些需要做校正的场景下,比如face align等。在python里面有很全的包可以直接使用,比如from skimage import transform as transtform = trans.SimilarityTransform()tform.estimate(dst, src)M = trorm.params注:skimage中的具体用法请参考https://blog.csdn.net/c_chuxin/ar转载 2020-12-11 15:24:57 · 884 阅读 · 0 评论 -
MNS(非极大值抑制)python实现
理论参考:https://blog.csdn.net/a1103688841/article/details/89711120源码:import numpy as np def py_cpu_nms(dets, thresh): # 单独获取各个参数,以下参数shape = (5,) x1 = dets[:,0] y1 = dets[:,1] x2 = dets[:,2] y2 = dets[:,3] scores = dets[:原创 2020-12-02 19:43:45 · 559 阅读 · 2 评论 -
darket53与yolov3
Darknet53网络各层参数详解:https://www.jianshu.com/p/ab8392ef3394Pytorch实现Darknet-53:https://blog.csdn.net/qq_41979513/article/details/102680028Pytorch搭建yolo3目标检测平台:https://blog.csdn.net/weixin_44791964/article/details/105310627Darknet53 pytorch版:https://blog原创 2020-08-12 21:25:47 · 316 阅读 · 0 评论 -
关键点检测技术在自动驾驶视觉感知中的应用
https://www.auto-testing.net/news/show-97871.html转载 2020-07-26 18:07:59 · 455 阅读 · 0 评论 -
PASCAL VOC数据集训练集、验证集、测试集的划分和提取
1、训练集、验证集、测试集按比例精确划分#数据集划分import osimport random root_dir='./park_voc/VOC2007/' ## 0.7train 0.1val 0.2testtrainval_percent = 0.8train_percent = 0.7xmlfilepath = root_dir+'Annotations'txtsavepath = root_dir+'ImageSets/Main'total_xml = os.listd原创 2020-07-02 13:55:59 · 4077 阅读 · 1 评论 -
docker19.03使用NVIDIA显卡
https://blog.51cto.com/13447608/2437856?source=dra转载 2020-04-14 20:28:23 · 1426 阅读 · 0 评论 -
非极大值抑制(NMS)讲解
非极大值抑制(Non-maximum suppression,NMS)是一种去除非极大值的算法,常用于计算机视觉中的边缘检测、物体识别等。算法流程:给出一张图片和上面许多物体检测的候选框(即每个框可能都代表某种物体),但是这些框很可能有互相重叠的部分,我们要做的就是只保留最优的框。假设有N个框,每个框被分类器计算得到的分数为Si, 1<=i<=N。0、建造一个存放待处理候选...转载 2020-01-06 14:43:17 · 9943 阅读 · 3 评论 -
ubuntu dpkg 方式安装cudnn
原创 2019-12-26 16:54:24 · 1034 阅读 · 0 评论 -
mmdetection使用tensorboard可视化训练集与验证集指标参数
如何使用mmdetection训练自己的数据可以参考这篇文章https://blog.csdn.net/weicao1990/article/details/93484603,在这篇文章中只是用训练集进行训练,没有用到验证集验证模型的指标,因此这篇文章中将会讨论如何增加验证集,并且使用tensorboard可视化训练集与验证集的指标参数。以cascade_rcnn_hrnetv2p_w32_2...原创 2019-11-30 15:34:37 · 20316 阅读 · 34 评论 -
MaskRCNN-Benchmark框架训练自己的数据集
https://blog.csdn.net/ChuiGeDaQiQiu/article/details/83868512https://blog.csdn.net/leijieZhang/article/details/91431846转载 2019-10-28 21:12:32 · 498 阅读 · 2 评论 -
深度学习in Halcon流程
1 预处理1.1 读取预训练网络用read_dl_classifier方法读取一个预训练网络,其中Halcon提供的预训练网络有:"pretrained_dl_classifier_compact.hdl"和"pretrained_dl_classifier_enhanced.hdl"。1.2 读取数据集指定数据集路径,用read_dl_classifier_data_set方...转载 2018-09-13 10:42:47 · 10827 阅读 · 1 评论 -
Pytorch 多分类结果测试
在模型训练过程中需要对当前的效果进行验证,或者训练结束后需要在测试集上对模型进行测试。比如多分类问题,网络的前向传播的结果是一个概率值Tensor,如果是一个10分类问题,并且batch=4,结果是一个4*10的Tensor,Tensor的每一行表示某张图片分别在10分类下的预测概率值。Pytorch中的argmax()函数可以返回Tensor中每一行最大值的索引,torch.eq()函数可以...原创 2019-08-07 16:51:37 · 5024 阅读 · 0 评论 -
Pytorch 使用GPU加速
Pytorch中使用torch.device()选取并返回抽象出的设备,然后在定义的网络模块或者Tensor后面加上.to(device变量)就可以将它们搬到设备上了。以上一篇代码为例,使用GPU设备:device = torch.device('cuda:0') # 使用第一张显卡需要将如下部分搬移到GPU上:1. 定义的网络net = MLP().to(device)...原创 2019-08-07 16:09:39 · 1941 阅读 · 0 评论 -
Pytorch 不同的网络参数初始化对梯度消失的影响
尽管ReLU相比其它激活函数已经大大避免了发生梯度消失或者为0的现象,但不好的参数初始化方法也会导致这种情况的出现。1. 使用标准正态分布初始化这里用torch.randn()来做实际上就是对参数w和b进行了N~(0,1)的标准正态分布初始化,这个初始化值都很小,比较接近0。import torchfrom torch.nn import functional as Ffrom...原创 2019-08-07 15:51:32 · 1589 阅读 · 0 评论 -
torch.nn.Linear()函数的理解
https://blog.csdn.net/m0_37586991/article/details/87861418https://blog.csdn.net/dss_dssssd/article/details/83892824转载 2019-07-26 16:59:34 · 1756 阅读 · 0 评论 -
Pytorch对Himmelblau函数的优化实例
Himmelblau函数如下:有四个全局最小解,且值都为0,这个函数常用来检验优化算法的表现如何:可视化函数图像:import numpy as npfrom matplotlib import pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Ddef himmelblau(x): return (x[0] *...原创 2019-07-30 10:25:28 · 1635 阅读 · 0 评论 -
Pytorch Visdom可视化工具
Pytorch官方支持的可视化工具是Visdom(当然也支持TensorBoardX),Visdom更简洁方便一些(例如对image数据的可视化可以直接使用Tensor,而不必转到cpu上再转为numpy数据),刷新率也更快。1. 安装Visdomsudo pip3 install visdom2. 启动Visdom服务python3 -m visdom.server启动成...原创 2019-08-07 17:24:38 · 777 阅读 · 0 评论 -
nvidia-smi gpu使用情况查看
https://www.jianshu.com/p/3aca8f60de3a转载 2019-08-15 10:53:14 · 1493 阅读 · 0 评论 -
卷积类型
https://baijiahao.baidu.com/s?id=1625255860317955368&wfr=spider&for=pchttps://blog.csdn.net/ahxieqi/article/details/93628533原创 2019-08-25 17:02:47 · 193 阅读 · 0 评论 -
全卷积网络FCN
背景CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题。神经网络大神Jonathan Long发表了《Fully Convolutional Networks for Semantic Segmentation》在图像语义分割挖了一个坑,于是无穷无尽的人往坑里面跳。全卷积网络 Fully Convolutional NetworksC...转载 2019-08-25 17:04:43 · 898 阅读 · 0 评论 -
PyTorch 常用代码段整理合集
https://zhuanlan.zhihu.com/p/59205847本文代码基于PyTorch 1.0版本,需要用到以下包import collectionsimport osimport shutilimport tqdmimport numpy as npimport PIL.Imageimport torchimport torchvision1. 基础配...转载 2019-08-26 10:39:17 · 2918 阅读 · 1 评论 -
模型性能指标
这里首先介绍几个常见的模型评价术语,现在假设我们进行二分类的任务,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情形:1. True positives(TP): 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的样本数;...原创 2019-08-26 14:38:28 · 1684 阅读 · 0 评论 -
Pytorch 实现sobel算子的卷积操作
卷积在pytorch中有两种实现,一种是torch.nn.Conv2d(),一种是torch.nn.functional.conv2d(),这两种方式本质都是执行卷积操作,对输入的要求也是一样的,首先需要输入的是一个torch.autograd.Variable()的类型,大小是(batch,channel, H,W),其中batch表示输入的一批数据的数目,channel表示输入的通道数。一般一...原创 2019-09-03 16:33:52 · 9595 阅读 · 5 评论 -
数据预处理与Batch Normalization
在构建模型的时候,对数据进行预处理和批标准化特别重要,因此模型训练并不容易,特别是一些非常复杂的模型,并不能很好的训练得到收敛结果,所以对数据增加预处理,同时使用批标准化能够得到非常好的收敛结果,这也是卷积神经网络能够训练到非常深的层的一个重要原因。1. 数据预处理目前数据预处理最常见的方法是中心话和标准化(归一化),中心化相当于修正数据的中心位置,实现方法非常简单,就是在每个特征维度上减...原创 2019-09-03 17:22:00 · 988 阅读 · 0 评论 -
Pytorch 链式法则求梯度
x经过参数w1和b1得到y1,y1再通过w2和b2得到y2,要求y2对w1的导数,可以求y2对y1然后y1对w1的导数。PyTorch可以自动使用链式法则对复杂的导数求解。import torchx = torch.tensor(1.2)w1 = torch.tensor(2.3, requires_grad=True)b1 = torch.tensor(1.3)y1 = x * ...原创 2019-07-30 09:56:47 · 1523 阅读 · 1 评论 -
Pytorch 感知机
示例代码:import torchfrom torch.nn import functional as Fx = torch.randn(1, 10)w = torch.randn(1, 10, requires_grad=True)# 对输出用sigmoid激活o = torch.sigmoid(x @ w.t())print("输出值:", o)# 计算MSEloss...原创 2019-07-30 09:30:18 · 470 阅读 · 1 评论 -
mmdetection安装与测试
如下是mmdetection的github地址:https://github.com/open-mmlab/mmdetection在github中的INSTALL.md文件中,对mmdetection的安装已经有详细的说明,但个人感觉还是有些坑,下面是个人总结的安装与测试步骤:安装:1. 安装依赖,我的机器上安装的python3.5、cuda9.0、pytorch1.1,注意pyt...原创 2019-06-19 17:25:26 · 12483 阅读 · 14 评论