深度学习
文章平均质量分 50
rrr2
这个作者很懒,什么都没留下…
展开
-
pytorch 指定gpu训练与多gpu并行训练示例
import torchtorch.cuda.set_device(id)CUDA_VISIBLE_DEVICES=1 python 你的程序遇到大的模型一般会采用torch.nn.DataParallel()的方式使用多GPU进行训练,但torch.nn.DataParallel()这个方式会每次调用GPU:0,如果0卡被占用就训练不起来了。在此提供两种指定GPU的方法:方法一:.cuda(‘cuda:3’)这种方法就是将有cuda()的地方全部里面指定卡,但是这样改的地方太多,要是再做变动就原创 2022-04-14 11:43:59 · 2545 阅读 · 1 评论 -
深度学习中为什么要数据预处理?并对测试集进行与训练集一样的数据预处理
拿到数据都要做预处理,包括去均值和方差归一化。构造的数据幅度保持在-1到1之间,否则会不收敛。训练集与测试集一般默认是同一分布下的,两者要么统一标准化,要么不进行标准化。我们是拿训练集中数据的某个特征代表了全部数据的这个特征,用它的均值和方差代表了全部数据的均值和方差。这就很容易理解了,测试集要使用训练集的均值和方差进行标准化,不就是在用我们假设的数据特征服从的均值和方差进行标准化吗?所以不只是深度学习,传统机器学习算法的预处理也需要这么做。深度学习做了标准化后能够对网络的训练有一些益处罢了,这也是为什原创 2022-04-13 22:12:23 · 2715 阅读 · 0 评论 -
【聚类】|多维尺度分析 MDS
refhttps://blog.csdn.net/Dark_Scope/article/details/532294271 目的已知很多样本点之间的相互距离(以欧式距离为例),但是不知道每个样本点的具体坐标,MDS分析就是要求解出每个样本点的原始坐标,然后保证这些样本点的原始坐标尽量符合这个距离矩阵关系。MDS利用的是成对样本间相似性,目的是利用这个信息去构建合适的低维空间,是的样本在此空间的距离和在高维空间中的样本间的相似性尽可能的保持一致。如已知几大城市之间的距离,但是不知道他们的经纬度,现原创 2022-03-31 20:01:51 · 1007 阅读 · 0 评论 -
sigmoid、softplus与Relu
原创 2021-12-03 10:20:12 · 109 阅读 · 0 评论 -
【cnn】感受野
待计算的featuremap上的感受野大小RFn =1Ri =(RFi+1 −1)∗Si+KiS 表示卷积的步长; K表示卷积层滤波器的大小计算conv_5的感受野:扩大感受野,主要是通过池化和大步长卷积,卷积层对扩大感受野作用很小#Python#卷积层输出大小和感受野大小的计算net_struct = {'alexnet': {'net':[[11,4,0],[3,2,0],[5,1,2],[3,2,0],[3,1,1],[3,1,1],[3,1,1],[3,2,0]],原创 2021-06-22 20:12:45 · 193 阅读 · 0 评论 -
深度学习卷积操作
group convolution(群卷积或分组卷积)假设上一层的feature map总共有N个,即通道数channel=N,也就是说上一层有N个卷积核。假设群卷积的群数目M。那么该群卷积层的操作就是,先将channel分成M份。每一个group对应N/M个channel,与之独立连接。然后各个group卷积完成后将输出叠在一起concatenate,作为这一层的输出channel。(把feature maps分给多个GPU分别进行处理,最后把多个GPU的结果进行融合。)如下图所示:point-w原创 2021-06-01 17:15:39 · 1849 阅读 · 0 评论 -
卷积操作中的矩阵乘法gemm im2col
refhttps://blog.csdn.net/just_sort/article/details/104198332?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161797754516780274134998%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161797754516780274134...原创 2021-04-09 22:14:14 · 250 阅读 · 0 评论 -
信息瓶颈理论解释DNN泛化能力
Prof Naftali Tishby提出用information bottleneck 的思路理解神经网络。主要文章有以下三篇:《The Information Bottleneck Method》:信息瓶颈理论的提出《Deep Learning and the Information Bottleneck Principle》:发现深度学习和信息瓶颈理论的存在关联《Opening the Black Box of Deep Neural Networks via Information》根据信息瓶原创 2021-01-17 21:43:01 · 1281 阅读 · 0 评论 -
目标检测 对抗攻击
两个现象。第一个是高维神经网络的神经元并不是代表着某一个特征,而是所有特征混杂在所有神经元中;第二个是在原样本点上加上一些针对性的但是不易察觉的扰动,就很容易导致神经网络的分类错误。第二个性质就是对抗攻击的理论基础,后来Goodfellow 在 Explaining and Harnessing Adversarial Examples[13]中提出原因并非是深层神经网络的高度非线性和过拟合,即使是线性模型也存在对抗样本。在这篇论文中,我们可以粗浅地认为对抗攻击之所以能够成功的原因是误差放大效应:对抗原创 2021-01-07 23:53:59 · 1824 阅读 · 0 评论 -
学习率预热
学习率是神经网络训练中最重要的超参数之一,针对学习率的优化方式很多,Warmup是其中的一种(一)、什么是Warmup?Warmup是在ResNet论文中提到的一种学习率预热的方法,它在训练开始的时候先选择使用一个较小的学习率,训练了一些epoches或者steps(比如4个epoches,10000steps),再修改为预先设置的学习来进行训练。(二)、为什么使用Warmup?由于刚开始...原创 2020-04-25 10:43:15 · 1238 阅读 · 0 评论 -
特征融合-route(即concatenate)与shortcut(pointwise addition)异同
在各个网络模型中,ResNet,FPN等采用的element-wise add来融合特征,而DenseNet等则采用concat来融合特征。那add与concat形式有什么不同呢?事实上两者都可以理解为整合特征图信息。只不过concat比较直观,而add理解起来比较生涩。refhttps://blog.csdn.net/LoseInVain/article/details/88363776h...原创 2020-04-24 20:30:01 · 2621 阅读 · 0 评论 -
YOLOV4 论文原理 模型分析 win10 vs2015 cuda9 opencv3.3 代码测试 网盘权重yolov4.conv.137 yolov4.weight下载
YOLOv4的作者阵容里并没有Joe Redmon,一作为俄罗斯 Alexey Bochkovskiy ,是 YOLO 的 windows 版本的作者https://github.com/AlexeyAB/darknet也得到YOLO官方github的认可https://github.com/pjreddie/darknetpaperYOLOv4: Optimal Speed and A...原创 2020-04-24 18:11:07 · 3445 阅读 · 2 评论 -
Bag of Freebies for Training Object Detection Neural Networks
Zhang 等人在《mixup: Beyond Empirical Risk Minimization》中引入的混合概念被证明在分类网络中减少对抗干扰方面非常成功。他们提出的混合算法中混合比例的分布来自β分布(a = 0.2, b = 0.2)。大多数的混合几乎都是这种β分布的噪声。受到 Rosenfeld 等人启发式实验的激励,我们关注自然共现的目标呈现,这种呈现在目标检测中扮演重要角色。半对抗...原创 2020-04-20 23:11:32 · 146 阅读 · 0 评论 -
ASFF- 自适应空间特征融合论文及代码
ref1 增强的 baseline为了更好地证明我们提出的ASFF方法的有效性,我们基于这些先进技术建立了一个比origin yolov3强得多的基线。在高级训练技巧[43]( Bag of freebies for training object detection neural networks)之后,我们介绍了训练过程中的一些技巧,如混合算法[12]、余弦[26]学习速率调度和同步...原创 2020-04-20 22:21:15 · 9740 阅读 · 8 评论 -
CNN 平移不变性尺度不变性 绝对位置
CNN是否存在平移和尺度的不变性和相等性refhttps://zhuanlan.zhihu.com/p/113443895论文:How much position information do convolutional neural networks encode?图中一共有三组图片,每组由原图和剪切图构成。可以发现,显著区域将会因为图片中心位置的改变而改变。对中心激活强这是一篇IC...转载 2020-04-01 11:42:16 · 2808 阅读 · 0 评论 -
EfficientDet
优秀的主干网络。同样出自谷歌家族的EfficientNets 。双向FPN(BiFPN,特征金字塔网络)。可以方便且更好的进行特征融合。模型缩放技术。原创 2020-03-23 11:34:25 · 881 阅读 · 0 评论 -
脉冲神经网络 Spiking-YOLO
基本模型原创 2020-03-20 09:47:31 · 1819 阅读 · 1 评论 -
LSTM 网络理解
Recurrent Neural Networks人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。传统的神经网络并不能做到这点,看起来也像是一种巨大的弊端。例如,假设你希望对电影中的每个时间点的时间类型进行分类。传统的神经网...原创 2020-03-14 23:58:23 · 388 阅读 · 0 评论 -
AI芯片发展
2018年安博会,华为推出了iCAN智能指数,模仿智能驾驶,提出了多个智能标准等级从AI功能上进行划分,个人认为可划分为计算智能、感知智能、认知智能、决策智能。iCAN智能指数=f(算力,算法,协同)https://www.jianshu.com/p/cb3b03888d78...原创 2020-03-14 16:42:47 · 176 阅读 · 1 评论 -
anaconda4.4.0 python3.6 安装opencv3 问题解决
问题最近anaconda推出了Python3.6 ,自己就装了该版本,但是安装后发现安装opencv3不像Python3.5 版本安装opencv3那样简单,以前安装opencv3 只需要conda install –channel https://conda.anaconda.org/menpo opencv3 这条命令即可,现在安装上Python3.6,用该命令会报以下错误: Unsatis原创 2017-11-28 15:57:18 · 612 阅读 · 0 评论 -
anaconda环境下Python的Numpy、Scipy、Matlotlib、Scikit-learn等库的测试代码
如题。 从官网上下载python及各种库,无奈网速太慢毫无效率,配置复杂。找到了解决办法,就是anaconda。 自带Numpy、Scipy、Matlotlib、Scikit-learn等库,可以在navigator中在线下载没有的库(如tensorflow,keras),不用配置,十分方便。 测试代码如下。第一个代码:斜线坐标,测试matplotlibimport matplotlibim原创 2017-11-23 17:03:32 · 8053 阅读 · 1 评论 -
【转】Scikit-learn技巧(拓展)总结
【转】Scikit-learn技巧(拓展)总结 最近看了《Python数据挖掘入门与实战》,网上有说翻译地不好的,但是说实话,我觉得这本书还是相当不错的。作者Robert Layton是sklearn的开发者之一,书中介绍了很多sklearn使用的技巧和拓展的方法。这里就书中关于sklearn的部分,还有自己学习sklea转载 2017-11-26 20:36:58 · 259 阅读 · 0 评论 -
安装GraphViz以供python调用
[转]安装GraphViz以供python调用 本文目录转安装GraphViz以供python调用问题出现安装Graphviz下载Graphviz解压缩文件添加环境变量重启python IDE问题出现最近在windows7上利用pycaffe的draw_net.py转载 2017-11-26 21:13:57 · 2407 阅读 · 0 评论 -
AttributeError: '_csv.reader' object has no attribute 'next' 使用pyhon3.2以上运行以下代码时报错
问题描述:AttributeError: '_csv.reader' object has no attribute 'next'_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)解决方案:For version 3.2 and aboveChange: csv_fil原创 2017-11-26 21:35:48 · 716 阅读 · 0 评论 -
MNIST.PKL.GZ加载问题,TypeError: object of type 'zip' ,training_data zip at 0x58ac4c8>
问题描述:利用MNIST数据集mnist.pkl.gz进行加载后,用zip函数映射training_data,原本想得到list类型,但是得到的是ziptraining_data zip at 0x58ac4c8>print(len(training_data)) TypeError: object of type ‘zip’ has no len()解决方法:google回答者的答案之一: T原创 2017-12-06 00:48:17 · 1047 阅读 · 1 评论 -
深度学习优化
梯度下降优化算法综述 目录(?)[+]摘要引言梯度下降法的变形形式1 批梯度下降法2 随机梯度下降法3 小批量梯度下降法挑战梯度下降优化算法1 动量法2 Nesterov加速梯度下降法3 Adagrad4 Adadelta5 RMSprop6 Adam7 算法可视化8 选择使用哪种优化算法并行和分布式SGD1 Hogwild2 Downpo转载 2017-12-23 13:23:50 · 821 阅读 · 0 评论 -
神经网络中的关键算法
概念:多个神经元为单元,由包含权重的连线连接,通过输入某实例的特征向量,可以得到该实例分类的一种方法。主要参数输入:x 权重:weight 偏置:bias 激活函数:activation function 损失函数:Loss function结构:输入层(input layer) 隐藏层(Hidden Layer) 输出层(Output Layer)主要算法梯度下降法 BP更新偏导数原创 2017-12-07 21:53:43 · 423 阅读 · 0 评论 -
LeNet-5卷积神经网络的网络结构(参数计算)及tensorflow实现
卷积神经网络是一种特殊的多层神经网络,像其它的神经网络一样,卷积神经网络也使用一种反向传播算法来进行训练,不同之处在于网络的结构。卷积神经网络的网络连接具有局部连接、参数共享的特点。局部连接是相对于普通神经网络的全连接而言的,是指这一层的某个节点只与上一层的部分节点相连。参数共享是指一层中多个节点的连接共享相同的一组参数。 一个典型的神经网络的结构是全连接的,即某一层的某个节点与上一层的每原创 2018-01-11 12:45:34 · 9214 阅读 · 0 评论 -
课程学习
Methodology:Idealistic Curriculum Learning Processing arXiv:1707.00183 2017 主要提出了监督学习和强化学习中解决数据集错标签和类别不平衡问题的自动课程设计方法。 摘要 我们提出了师生自主课程学习(TSCL),一个自动课程学习的框架,学生试图学习一个复杂的任务,教师自动选择给定的子任务给学生进行训练。我们描述了一系列依靠翻译 2017-12-28 11:35:43 · 2427 阅读 · 1 评论 -
inception v1原理
Paper:[v1] Going Deeper with Convolutions, 6.67% test error, http://arxiv.org/abs/1409.4842 [v2] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, 4.8%原创 2018-01-30 17:00:45 · 1512 阅读 · 0 评论 -
AP R P mean average precision(MAP)在计算机视觉中的计算和应用
MAP的计算步骤(eg.10类) 检测为例: 1.先把所有bounding box找出来 并加上confidence 2.然后每一类根据confidence从大到小排列 3.每个confidence算出其recall和precision得到每一类的ap曲线 4.取mean具体来看1. precision 和 recall 的计算: 图中上部分,左边一整个矩形原创 2018-01-16 09:28:46 · 4503 阅读 · 1 评论 -
BN(batch normalization)
算法本质解决梯度弥散,加入了BN层,减少了Internal Covariate Shift(内部neuron的数据分布发生变化),使每一层的输出都规范化到一个N(0, 1)的高斯优势: (1) 可以使用更高的学习率 如果每层的scale不一致,实际上每层需要的学习率是不一样 的,同一层不同维度的scale往往也需要不同大小的学习率,通常需要使 用最小的那个学习率才原创 2018-01-31 09:02:21 · 3825 阅读 · 0 评论 -
SSD目标识别在Spyder下实现
初学DeepLearning,搜代码简单实现了SSD目标识别的效果: 原理简单了解一下: SSD 是基于一个前向传播 CNN 网络,产生一系列 固定大小(fixed-size) 的 bounding boxes,以及每一个 box 中包含物体实例的可能性,即 score。之后,进行一个 非极大值抑制(Non-maximum suppression) 得到最终的 predictions。原创 2017-11-28 23:12:56 · 3091 阅读 · 11 评论 -
GoogLeNet Inception v3
其设计思路的直觉是: 1. inception做了比较巧妙的几个动作,在增加特征表达能力(suitably factorized convolutions )的同时减少计算。 2. 模型更精巧复杂了,增加BN和gradient clipping去稳定训练。 原来Inception v1 架构的复杂性没有清晰的描述。本文主要提出了一些设计原理和优化思路。Factorizing Conv原创 2018-01-31 15:40:58 · 246 阅读 · 0 评论 -
TensorFlow-gpu windows10 cuda 离线配置安装
遇到各种错误:No matching distribution found for *,cound not 自己尝试了一天终于离线配置成功。 第一个坑:离线。。。具体说方法吧 step1:下载anaconda3 这样可以避开前期的小坑,里面已经包含了python3.6 numpy pip 等后面需要的包 step2:下载tensorflow-gpu,坑坑密布。坑在于离线时,需要手动配原创 2018-01-24 13:41:02 · 3866 阅读 · 2 评论 -
蒙特卡罗方法
蒙特卡洛方法(Monte Carlo method,也有翻译成“蒙特卡罗方法”)是以概率和统计的理论、方法为基础的一种数值计算方法,将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解,故又称随机抽样法或统计试验法。上述就是蒙特卡洛方法的基本概念,比较抽象,下面结合实际工作中的理解,谈一谈对蒙特卡洛方法的一些认识。(1)首先,蒙特卡洛不是个人名,而是个地名,说明转载 2018-01-18 09:12:27 · 1609 阅读 · 0 评论 -
深度学习常见的基本概念
卷积神经网络(CNN) 具有局部互联、权值共享、下采样(池化)和使用多个卷积层的特点。局部互联 是指每个神经元只感受局部的图像区域,也就是卷积操作。 权值共享 是指当前层所有特征图共用一个卷积核,每个卷积核提取一种特征,参数量明显下降;使用多个卷积核可以提取多种特征。 下采样 每次对输入的特征图错开一行或一列,能够压缩特征图大小,特征降维,提取主要特征,将语义相似的特征融合,对平移形变转载 2018-01-27 10:58:11 · 373 阅读 · 0 评论 -
权值共享和局部连接
权值共享和局部连接我们在使用过滤器filter和数据进行卷积时(ps: 卷积就是[1,2,3]*[1,1,1] = 1*1+2*1+3*1=6,也就是对应相乘并求和),而且我们使用的卷积核尺寸是11*11,也就是采用的是局部链接,每次连接11*11大小区域,然后得到一个新的特征,再次基础上再卷积,再得到新的特征,也就是将传统上采用的全链接的浅层次神经网络,通过加深神经网路层次也就是增加隐藏层,原创 2018-01-27 15:49:18 · 2336 阅读 · 0 评论 -
Alexnet LRN层和conv2局部连接
LRN(local response norm)局部归一AlexNet本文出自NIPS2012,作者是大神Alex Krizhevsky,属于多伦多大学Hinton组。当年取得了ImageNet最好成绩,也是在那年之后,更多的更深的神经网路被提出,比如优秀的vgg,GoogleLeNet. 结构比较简单易于理解,可以看论文和文末博客回顾。在第一二层卷积层中用了LRN。 ReLU 不需要原创 2018-01-27 09:44:54 · 2512 阅读 · 0 评论 -
VGG网络两个3*3相当于5*5
VGGNet 是牛津大学计算机视觉组(Visual Geometry Group)和 Google DeepMind 公司的研究员一起研发的的深度卷积神经网络,在 ILSVRC 2014 上取得了第二名的成绩,将 Top-5错误率降到7.3%。为什么使用3*3的卷积核比较多,几个小滤波器卷积层的组合比一个大滤波器卷积层好: 假设你一层一层地重叠了3个3x3的卷积层(层与层之间有非线性激活函数原创 2018-01-27 23:46:25 · 4648 阅读 · 0 评论