深度学习
文章平均质量分 78
马大哈先生
新人一枚,请大家多多关照!
展开
-
深度学习实战(十八)——faster rcnn中anchor的生成过程理解
首先,根据给定的base_size,生成一个所谓的base_anchor,其值为[0,0,base_size-1,base_szie-1]。例如当base_size=16的时候就生成一个坐标为[0,0,15,15]的矩形。 第二步根据上面的上面得到base_anchor进行坐标变换,计算出中心点xc,yc和矩形的高和宽w,h.即将我们说xm...转载 2019-10-04 20:45:37 · 971 阅读 · 0 评论 -
Learning Data Augmentation Strategies for Object Detection(翻译)
这个方法是谷歌大脑Quoc Le团队,又训练出的一个目标检测模型,通过特别的数据扩增策略,再用自动扩增来的新数据集训练目标检测模型,使该算法在针对小数据集的目标检测上取得了很好的效果。该论文和开源代码如下:论文传送门:https://arxiv.org/abs/1906.11172代码传送门:https://github.com/tensorflow/tpu/tree/ma...翻译 2019-07-05 20:38:51 · 4164 阅读 · 1 评论 -
TensorFlow基础(二)——前向传播
代码实现:#coding:utf-8#两层简单神经网络(全连接)import tensorflow as tf#定义输入和参数x = tf.constant([[0.7, 0.5]]) #用一行两列的二维张量表示x的体积和重量w1 = tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1)) 2行3列组成的随机矩阵...转载 2019-06-30 21:27:42 · 313 阅读 · 0 评论 -
TensorFlow笔记(十二)——tf.train中的Optimizer相关的函数与功能介绍
目录1、序言2、Tensorflow函数2.1 训练 (Training)█优化 (Optimizers)█Slots█协调器和队列运行器(Coordinator and QueueRunner)1、序言本文所讲的内容主要为以下列表中相关函数。函数training()通过梯度下降法为最小化损失函数增加了相关的优化操作,在训练过程中,先实例化一个优化函数,比如 ...转载 2019-06-29 22:25:47 · 5176 阅读 · 0 评论 -
TensorFlow基础(十二)——制作tfrecord训练集
学习这部分可以先看《你可能无法回避的 TFRecord 文件格式详细讲解》对tfrecord的基本格式有个大概的了解之后可以结合《Slim读取TFrecord文件》来看本博客tensorflow 的tfrecord格式转为图片:总的来说只有3步:1.读取tfrecords,只是读取器变成了tf.TFRecordReader来读取tfrecord文件。 2.通过一个解析器tf....原创 2019-07-05 08:46:00 · 994 阅读 · 0 评论 -
TensorFlow基础(十一)——基于MNIST数据集训练的模型,对输入的图片做预测
整体思路如下:在训练的时候,可以同时进行验证,当准确率达到一定程度后,还可以同时进行测试。即这三个过程可以一块进行训练:验证:测试:...原创 2019-07-04 22:08:36 · 612 阅读 · 0 评论 -
TensorFlow基础(十)——从上次中断的地方继续训练
在上一节mnist_backward.py的基础上,增加saver.restore()函数即可,具体如下:还有一种写法: TensorFlow | 自己动手写深度学习模型之全连接神经网络:https://zhuanlan.zhihu.com/p/33286042...原创 2019-07-04 21:30:53 · 5189 阅读 · 2 评论 -
TensorFlow基础(四)——搭建神经网络总结
一、神经网络包括:二、优化时添加的函数三、完整写法(加正则项、学习率、滑动平均):1.1 前向传播网络:1.2 反向传播网络demo:generateds.py生成数据forward.py定义前向传播网络backward.py反向传播网络运行结果:...原创 2019-07-01 14:11:49 · 193 阅读 · 0 评论 -
TensorFlow基础(九)——MNIST数据集实战
一、MNIST数据集训练及测试流程分析:1.1 数据准备阶段1.1.1 MNIST数据集介绍及在tensorflow中读入本数据集的函数:1.1.2 深度学习中常用函数:1.2 训练及测试阶段1.2.1 保存和加载ckpt模型的思路:1.2.2 测试训练模型准确率思路二、代码实现2.1 数据集准备在训练的主函数里加入这两句,加载mnist数据集...原创 2019-07-04 20:40:30 · 268 阅读 · 0 评论 -
TensorFlow笔记(十)——batch normalize 的介绍
BatchNorm的基本思想:让每个隐层节点的激活输入分布固定下来,这样就避免了“Internal Covariate Shift”问题了。BN的基本思想其实相当直观:因为深层神经网络在做非线性变换前的激活输入值(就是那个x=WU+B,U是输入)随着网络深度加深或者在训练过程中,其分布逐渐发生偏移或者变动,之所以训练收敛慢,一般是整体分布逐渐往非线性函数的取值区间的上下限两端靠近(对于Sigm...转载 2019-06-29 11:24:37 · 515 阅读 · 0 评论 -
深度学习实战(九)—— loss不下降的解决方法
当我们训练一个神经网络模型的时候,我们经常会遇到这样的一个头疼的问题,那就是,神经网络模型的loss值不下降,以致我们无法训练,或者无法得到一个效果较好的模型。导致训练时loss不下降的原因有很多,而且,更普遍的来说,loss不下降一般分为三种,即:训练集上loss不下降,验证集上loss不下降,和测试集上loss不下降。这里,首先默认各位都能理解过拟合和欠拟合的概念。一,trai...转载 2019-06-28 22:18:36 · 20147 阅读 · 1 评论 -
深度学习实战(八)——如何设置学习率
一、学习率的介绍 学习率是深度学习中的一个重要的超参,如何调整学习率是训练出好模型的关键要素之一。在通过SGD求解问题的极小值时,梯度不能太大,也不能太小。太大容易出现超调现象,即在极值点两端不断发散,或是剧烈震荡,总之随着迭代次数增大loss没有减小的趋势;太小会导致无法快速地找到好的下降的方向,随着迭代次数增大loss基本不变。学习率越小,损失梯度下降的速度越慢,收敛的时间更长【...原创 2019-06-28 20:12:32 · 27309 阅读 · 0 评论 -
TensorFlow bug(五)——ValueError: The passed save_path is not a valid checkpoint
问题描述:在做resnet分类的测试时,出现了这个bug: 网上给出的原因是文件导入路径的字符太长,很明显我这个不符合这个原因。还有一个说法是绝对路径相对路径的问题,具体描述如下: 在调用tf.train.Saver#save时,如果使用的路径是绝对路径(“\”),那么保存的checkpoint里面用的就是绝对路径;如果使用...原创 2019-06-28 11:34:19 · 23671 阅读 · 15 评论 -
深度学习文本数据、图像视频数据标注工具及各种开源数据集
偶然看到一篇关于深度学习数据集标注工具、开源数据集汇总的博客,这里记录一下备用,感谢悟乙己大神的的无私奉献一、NLP标注工具二、VS标注工具——LabelImg三、Amazon’s Mechanical Turk 离线工作框架。。。延伸一 国内一些众包的数据标注服务商1、敲宝网——众包。。。六、图像数据集一部分来源:深度学习视觉领域常用数据集汇总...转载 2019-07-24 09:11:52 · 904 阅读 · 0 评论 -
层次分类的论文综述
一、Tree-CNN:一招解决深度学习中的「灾难性遗忘」 深度学习领域一直存在一个比较严重的问题——“灾难性遗忘”,即一旦使用新的数据集去训练已有的模型,该模型将会失去对原数据集识别的能力【1】。 为解决这一问题,本文提出了树卷积神经网络,通过先将物体分为几个大类,然后再将各个大类依次进行划分、识别,就像树一样不断地开枝散叶,最终叶节点得到的类别就是我们所要识别的类...转载 2019-08-06 15:19:14 · 2900 阅读 · 0 评论 -
深度学习实战(十九)——做户外汽车识别可采用的方法
这个是从一篇报道户外汽车识别比赛(Nexar 挑战赛)结果的新闻里摘抄下来的,里面有一些获奖者分享的他们的模型介绍,整理下来以备日后使用 图一 识别效果 ...原创 2019-10-04 10:13:44 · 340 阅读 · 0 评论 -
YOLOv3之loss和iou可视化
YOLOv3之loss和iou可视化(横坐标和纵坐标与迭代次数完美对齐)YOLO-V3可视化训练过程中的参数,绘制loss、IOU、avg Recall等的曲线图Yolov3之训练日志可视化理解 YOLOv3 的训练输出日志信息:代码解释Understanding YOLOv2 training output:代码解释+1yolo v2中训练过程中的数字都是什么意思?YOL...原创 2019-09-24 21:50:03 · 1388 阅读 · 0 评论 -
目标检测的评价指标(Iou,mAP,Fps)
一、交并比物体检测需要定位出物体的bounding box,就像下面的图片一样,我们不仅要定位出车辆的bounding box 我们还要识别出bounding box 里面的物体就是车辆。对于bounding box的定位精度,有一个很重要的概念,因为我们算法不可能百分百跟人工标注的数据完全匹配,因此就存在一个定位精度评价公式:IOU。 ...转载 2019-09-24 20:11:07 · 5393 阅读 · 0 评论 -
深度学习实战(十五)——No dashboards are active for the current data set.
想查看服务器下深度学习训练出的loss趋势图,结果出现如下提示: 解决方法如下: 1、进入log文件(即events.out.tfevents文件)的上级目录,在路径栏中直接输入cmd启动dos对话框。如图即为本例中的路径栏:输入命令tensorboard --logdir=path\to\log,本例中为tensorboard --logdir=logfil...转载 2019-09-24 17:17:25 · 183 阅读 · 0 评论 -
深度学习实战(十三)——Tensorflow object detection API修改visualization_utils文件,裁剪并保存bounding box部分
任务描述:用Tensorflow object detection API检测出来的结果是一整张图片,想要把检测出的bounding box部分单独截取出来并保存运行环境:spyder效果展示:测试图片:test_images --> 检测图片:testsave_images --> 裁剪bounding box:test_cropped我的修改过后的test文件...转载 2019-09-16 17:46:37 · 1019 阅读 · 0 评论 -
深度学习实战(十二)——Keras数据集的制作和加载
前言在刚开始接触Keras时,相信大家都实践过诸如MNIST手写数据集、CIFAR系列数据集,这些数据集的特点是已经为用户打包封装好了数据。在Keras环境下只要load_data即可实现导入。但是实际情况是,为了某一个项目我们不可能总是找到相应的打包好的数据集供使用,这时候自己建立一个dataset就十分重要。然而针对这方面,官方手册给出的知道不是很明确;而在网上搜索相关内容,得到的答案也不...原创 2019-09-15 19:04:43 · 3215 阅读 · 0 评论 -
深度学习实战(十一)——多标签分类(基于Keras)
目的: 训练一个分类器来将物品分到不同的类别中,比如一件衣服:可以安照服饰类别、颜色、质地打上“衬衫”、“蓝色”、“棉”的标签服饰类别:衬衫、裙子、裤子、鞋类等颜色:红、蓝、黑等质地:棉、羊毛、丝、麻等整个工程的步骤如下:首先讨论多标签分类数据集(以及如何快速构建自己的数据集)。 之后简要讨论SmallerVGGNet,我们将实现的Keras神经网络架构,并...原创 2019-09-15 15:55:05 · 5797 阅读 · 2 评论 -
自然语言处理(NLP)中多标签分类的方法
文本分类一般可以分为二分类、多分类、多标签分类三种情况。二分类是指将一组文本分成两个类(0或1),比较常见的应用如垃圾邮件分类、电商网站的用户评价数据的正负面分类等, 多分类是指将文本分成若干个类中的某一个类,比如说门户网站新闻可以归属到不同的栏目中(如政治、体育、社会、科技、金融等栏目)去。 多标签分类指的是可以将文本分成若干个类中的多个类,比如一篇文章里即描写政治又描写金...原创 2019-09-15 10:08:13 · 8951 阅读 · 0 评论 -
matplotlib中plot.show()不显示图片的问题
在用目标检测API进行模型测试时,测试结果只有白框没有图,如下 查阅资料发现出现这种情况一般有两种原因,一是调用图片显示的语法不对,第二种是跟matplotlib的后端有关,还有一种是调用的库的模块不同导致的。1.1 调用图片显示的语法不...原创 2019-09-11 19:34:43 · 22247 阅读 · 5 评论 -
CNN系列笔记(五)——Faster RCNN
本文是继RCNN[1],fast RCNN[2]之后,目标检测界的领军人物Ross Girshick团队在2015年的又一力作。简单网络目标检测速度达到17fps,在PASCAL VOC上准确率为59.9%;复杂网络达到5fps,准确率78.8%。作者在github上给出了基于matlab和python的源码。一、基于Region Proposal(候选区域)的深度学习目标检测算法...原创 2019-08-16 17:28:32 · 2987 阅读 · 0 评论 -
解读R-FCN的position-sensitive score map
R-FCN的位置敏感分数图灵感来自Instance-sensitive Fully Convolutional Networks这篇论文,该论文是针对FCN不能对同类型物体分割的缺点的改进,具体说明见下面:本论文的出发点: FCN可以用来做segmentation(分割), 做法是把这个分割问题看成是per-pixel的classification问题。如果有C类...原创 2019-08-16 17:23:59 · 1081 阅读 · 0 评论 -
TensorFlow基础(十六)——复现VGG卷积神经网络(不全)
目录一、app.py二、utils.py文件:预处理图片并显示处理结果三、vgg16.py:导入模型参数,复现网络结构一、app.py二、utils.py文件:预处理图片并显示处理结果三、vgg16.py:导入模型参数,复现网络结构运行程序app.py,输入待测图片路径名字:...原创 2019-07-08 20:51:52 · 346 阅读 · 0 评论 -
TensorFlow基础(十四)——lenet5模型代码讲解
当输入图片为28*28*1的图片时,为适应图片大小修改网络如下: 正向传播代码实现:反向传播代码实现:在测试时,也要对x进行调整...原创 2019-07-08 16:16:25 · 668 阅读 · 1 评论 -
深度学习实战(一)——识别手写数字
这里的实战是根据Neural Networks and Deep Learning的前两章整理出来的。用了它提供的数据集以及一些代码。然后自己修改了他的一些代码,使得更加容易理解。一、任务及数据就是自己写一个神经网络来实现对于MNIST数据集的手写体分类任务。这里使用随机梯度下降算法和MNIST训练数据。首先获取MNIST 数据。如果你是一个 git用户,那么你能够通过克隆这本书的代码仓库...转载 2019-04-24 11:49:52 · 3314 阅读 · 1 评论 -
深度学习实战(七)——目标检测API训练自己的数据集(R-FCN数据集制作+训练+测试)
TensorFlow提供的网络结构的预训练权重:https://cloud.tencent.com/developer/article/1006123将voc数据集转换成.tfrecord格式供tensorflow训练用:https://blog.csdn.net/guoyunfei20/article/details/80626040训练自己的数据集大体流程如右侧所示:caff...原创 2019-05-20 20:17:05 · 4983 阅读 · 5 评论 -
深度学习模型训练痛点及解决方法
1 模型训练基本步骤进入了AI领域,学习了手写字识别等几个demo后,就会发现深度学习模型训练是十分关键和有挑战性的。选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤定义算法公式,也就是神经网络的前向算法。我们一般使用现成的网络,如inceptionV4,mobilenet等。 定义loss,选择优化器,来让loss最小 对数据进行迭代训练,使loss到达最小 在...转载 2019-04-24 16:11:29 · 3612 阅读 · 0 评论 -
深度学习中的epoch、 iteration、batchsize和dropout的含义
1.batchsize(批大小):在深度学习中,一般采用stochastic gradient descent(SGD)随机梯度下降训练,即每次训练在训练集中取batchsize个样本训练;2.SGD(Stochastic Gradient Descent 随机梯度下降)理解随机梯度下降,首先要知道梯度下降法,故先介绍梯度下降法:梯度下降法大多数机器学习或者深度学习算法都涉及某...转载 2019-04-17 19:34:19 · 646 阅读 · 0 评论 -
CNN系列笔记(六)——R-FCN
原文:R-FCN:https://arxiv.org/abs/1605.06409Github链接:https://github.com/daijifeng001/r-fcn(https://github.com/daijifeng001/r-fcn)R-FCN:Object Detection via Region-based Fully Convolutional Network...转载 2019-08-11 19:42:55 · 1024 阅读 · 0 评论 -
深度学习实战(十五)——数据不够时训练深度学习的方法
深度学习大牛吴恩达曾经说过:做 AI 研究就像造宇宙飞船,除了充足的燃料之外,强劲的引擎也是必不可少的。假如燃料不足,则飞船就无法进入预定轨道。而引擎不够强劲,飞船甚至不能升空。类比于 AI,深度学习模型就好像引擎,海量的训练数据就好像燃料,这两者对于 AI 而言同样缺一不可。 随着深度学习技术在机器翻译、策略游戏和自动驾驶等领域的广泛应用和流行,阻碍该技术进一步推广的一个普遍性...原创 2019-04-07 16:09:03 · 4994 阅读 · 0 评论 -
深度学习笔记(基础篇)——(八)搭建、训练深度网络的实现细节与技巧(未写完)
深度神经网络在这里特指CNN这种计算模型,它通过多层的处理,可以学习到数据在不同层级上的抽象表征。该部分主要介绍搭建、训练深度网络的实现细节与技巧。包括以下四部分:介绍深度学习中必要的数据扩充和数据预处理 网络参数初始化的细节技巧 如何设计网络结构并进行微调 使用正则化防止过拟合的发生一、数据扩增 因为深度网络需要在大规模的训练图像上来满足性能,所以当原始图像中的训练...原创 2019-09-18 14:55:36 · 774 阅读 · 0 评论 -
深度学习笔记(基础篇)——(六)全卷积神经网络(FCN)
通常CNN在卷积层之后会接上若干个全连接层,将卷积层产生的特征图(Feature Map)映射成一个固定长度的特征向量进行分类。以AlexNet为代表的经典CNN结构适合于图像级的分类和回归任务,因为它们最后都期望得到整个输入图像的一个数值描述,如AlexNet的ImageNet模型输出一个1000维的向量,表示输入图像属于每一类的概率。例如,图4.15中的猫,输入AlexNet,得到一个...原创 2019-01-09 11:05:30 · 2091 阅读 · 0 评论 -
深度学习笔记(基础篇)——(五)卷积神经网络
卷积神经网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者其他形式的变形具有高度不变性。这些良好的性能是网络在有监督方式下学会的,网络的结构主要有稀疏连接和权值共享两个特点。 卷积神经网络不是一个单一的功能个体,而是多种功能神经元的集合。如图4.13所示,其中包括卷积核、非线性的激活函数、网络间的批量规范化层【Batch Normalize】操...原创 2019-01-09 08:58:52 · 486 阅读 · 0 评论 -
深度学习笔记(基础篇)——(二)线性单元和梯度下降
一、神经元(感知器)为了理解神经网络,我们应该先理解神经网络的组成单元——神经元。神经元也叫做感知器。感知器算法非常简单。感知器在 20 世纪五、六十年代由科学家 Frank Rosenblatt 发明,其受到 Warren McCulloch 和 Walter Pitts 早期的工作的影响。感知器的定义一个感知器接受几个二进制输入,x1, x2, . . .,并产生一个二进制输出,...转载 2019-01-03 09:43:23 · 589 阅读 · 0 评论 -
深度学习笔记(基础篇)——(一)机器学习与深度学习简介
机器学习是最基础的(当下初创公司和研究实验室的热点领域之一)。深度学习是非常崭新和有影响力的前沿领域。一、定义1、机器学习 从样本中学习的智能程序。是数据驱动的。90年代初提出。强调的是给计算机程序(或者机器)输入一些数据后,它学习这些数据,而这个学习的步骤是明确的,学习结果是对已有数据的分类和一个预测模型,预测模型可用于对未知数据的预测。如下图,传统编程与机器学习的区别:...转载 2019-01-02 17:29:17 · 509 阅读 · 0 评论 -
常用目标检测算法:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
一、目标检测常见算法 object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要解决的问题就是物体在哪里以及是什么的整个流程问题。 然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。目前学术和...转载 2018-12-19 16:45:09 · 1646 阅读 · 0 评论