深度学习
文章平均质量分 74
子为空
这个作者很懒,什么都没留下…
展开
-
深度学习之卷积:如果卷积核被初始化为0
前言 这几天面试遇到了这样一个问题,如果卷积层的权重被赋值为0,会发生什么? 解决这个问题我们首先定义一下在神经网络中的基本权重和偏置的初始化情况,在TensorFlow中,权重一般由用户初始化,可选择很多初始化方式,如glorot_normal_initializer()等,但是偏置在默认的情况下一般初始化为0,具体可以参考tf.layers.conv2d和tf.layers.dense...原创 2019-09-21 13:42:49 · 6070 阅读 · 2 评论 -
Tensorflow深度学习之三十五:tf.image.draw_bounding_boxes
一、函数定义tf.image.draw_bounding_boxes( images, boxes, name=None) Draw bounding boxes on a batch of images. 在一个batch的每一张图片上绘制边界框。 Outputs a copy of images but draws on top of the pix...原创 2018-12-09 18:17:12 · 1459 阅读 · 2 评论 -
Tensorflow深度学习之三十四:tf.Graph.finalize()
一、tf.Graph.finalize()tf.Graph.finalize()# 有时候也可以使用下面的方式# tf.get_default_graph().finalize() Finalizes this graph, making it read-only. 结束当前的计算图,使之成为只读。 After calling g.finalize(), no new o...原创 2018-11-19 16:11:54 · 4544 阅读 · 1 评论 -
Tensorflow深度学习之三十三:tf.scatter_update
dsadsadsada原创 2018-11-13 16:48:11 · 1525 阅读 · 1 评论 -
Tensorflow深度学习之三十二: tf.scatter_nd_update
一、tf.scatter_nd_update 函数定义:tf.scatter_nd_update( ref, indices, updates, use_locking=True, name=None) Applies sparse updates to individual values or slices in a Variable....原创 2018-11-13 14:34:29 · 6797 阅读 · 0 评论 -
Tensorflow深度学习之二十八:tf.cond
一、简介 def cond(pred, # 谓词,可以理解为判断条件 true_fn=None, # 当谓词为真(True)时返回的函数 false_fn=None, # 当谓词为假(False)时返回的函数 strict=False, # name=None, fn1=None, ...原创 2018-09-07 14:43:30 · 1788 阅读 · 0 评论 -
Tensorflow深度学习之三十一:tf.nn.top_k()
一、简介 def top_k(input, k=1, sorted=True, name=None)Finds values and indices of the k largest entries for the last dimension.If the input is a vector (rank=1), finds the k largest entries in th...原创 2018-09-09 17:18:48 · 12949 阅读 · 0 评论 -
Tensorflow深度学习之三十:tf.where()
一、简介 Return the elements, either from x or y, depending on the condition.If both x and y are None, then this operation returns the coordinates of true elements of condition.The coordinates are retu...原创 2018-09-08 21:13:24 · 1605 阅读 · 0 评论 -
Tensorflow深度学习之二十九:tf.ones_like()和tf.zeros_like()
一、简介 Creates a tensor with all elements set to 1.Given a single tensor (tensor), this operation returns a tensor of the same type and shape as tensor with all elements set to 1. Optionally, you can...原创 2018-09-08 20:30:12 · 33250 阅读 · 0 评论 -
Faster R-CNN源码阅读之七:Faster R-CNN/lib/rpn_msr/anchor_target_layer_tf.py
一、介绍 本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数的主要目的是产生anchors并结合gt boxes(ground truth boxes)给这些anchors进行标记labels(前景还是背景),然后生成这些anchors的权重信息,并产生bbox的RPN网络回归结果目标。...原创 2018-08-21 14:54:36 · 936 阅读 · 0 评论 -
Faster R-CNN源码阅读之六:Faster R-CNN/lib/fast_rcnn/bbox_transform.py
一、介绍 本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数都是与anchors的变换相关,包括正向变换,反向变换。 二、代码以及注释 # -*- coding:utf-8 -*-# -----------------------------------------------...原创 2018-08-21 09:50:57 · 1134 阅读 · 1 评论 -
Faster R-CNN源码阅读之十二:写在最后
写在最后 毫无疑问,Faster RCNN(以及Faster RCNN的各种变体)作为当前目标检测方面的先锋,在这方面确实贡献巨大。下一步计划对one-stage的目标检测方法进行学习。由于给的源码中,关于数据准备的代码过于复杂,不具有一定的普适性,实际上,完全可以根据自己的项目工程进行数据准备代码的编写,即简单又直观,因此,在这里就省略了数据准备方面的代码的分享,还请各位大佬们原谅! ...原创 2018-08-23 16:55:21 · 474 阅读 · 0 评论 -
Faster R-CNN源码阅读之十一:Faster R-CNN预测demo代码补完
一、介绍 本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 这里对之前使用Faster R-CNN的demo进行预测时候的代码进行补完。二、代码和注释 文件目录:Faster-RCNN/lib/fast_rcnn/test.pydef im_detect(sess, net, im, box...原创 2018-08-23 16:42:32 · 1495 阅读 · 1 评论 -
Faster R-CNN源码阅读之十:Faster R-CNN/lib/fast_rcnn/train.py
一、介绍 本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数的主要目的是训练整个Faster R-CNN网络。 二、代码以及注释 # coding=utf-8# --------------------------------------------------------#...原创 2018-08-23 16:08:14 · 1172 阅读 · 1 评论 -
Faster R-CNN源码阅读之九:Faster R-CNN/tools/train_net.py
一、介绍 本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数的训练Faster RCNN网络的主入口,并通过命令行等传入以下必要的配置信息,然后开始训练网络。二、代码以及注释 #!/usr/bin/env python# coding=utf-8# -----------...原创 2018-08-22 14:15:00 · 799 阅读 · 0 评论 -
深度学习的基础:反向传播算法(一)之反向传播入门
一、反向传播算法 近年来,深度学习的快速发展带来了一系列喜人的成果,不管是在图像领域还是在NLP领域,深度学习都显示了其极其强大的能力。而深度学习之所以可以进行大规模的参数运算,反向传播算法功不可没,可以说,没有反向传播算法,深度学习就不可能得以快速发展,因此在此之前,有必要了解一下反向传播算法的具体原理和公式推导。请注意:这里的所有推导过程都只是针对当前设置的参数信息,并不具有一般性,但是所...原创 2019-03-21 10:35:44 · 1310 阅读 · 1 评论 -
深度学习的基础:反向传播算法(三)之完整的反向传播算法
前言 前面介绍了单层全连接层并使用激活函数激活的情况,尝试去进行了多样本的梯度下降计算,这一篇文章打算简单介绍一下多层全连接层的梯度下降的情况,重点在于如何进行梯度的向后传播。还是请注意:这里的所有推导过程都只是针对当前设置的参数信息,并不具有一般性,但是所有的推导过程可以推导到一般的运算,因此以下给出的并不是反向传播算法的严格证明,但是可以很好的帮助理解反向传播算法。一、模型定义 和...原创 2019-03-24 21:50:13 · 1203 阅读 · 0 评论 -
卷积可视化:特征图的可视化
import kerasimport matplotlib.pyplot as pltfrom keras.applications.vgg16 import VGG16from keras.preprocessing import imagefrom keras.applications.vgg16 import preprocess_inputimport numpy as np...原创 2019-09-10 20:54:16 · 2454 阅读 · 0 评论 -
YOLOv3源码阅读之七:data_utils.py
一、YOLO简介 YOLO(You Only Look Once)是一个高效的目标检测算法,属于One-Stage大家族,针对于Two-Stage目标检测算法普遍存在的运算速度慢的缺点,YOLO创造性的提出了One-Stage。也就是将物体分类和物体定位在一个步骤中完成。YOLO直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。 ...原创 2019-09-03 15:35:44 · 1288 阅读 · 0 评论 -
YOLOv3源码阅读之六:train.py
一、YOLO简介 YOLO(You Only Look Once)是一个高效的目标检测算法,属于One-Stage大家族,针对于Two-Stage目标检测算法普遍存在的运算速度慢的缺点,YOLO创造性的提出了One-Stage。也就是将物体分类和物体定位在一个步骤中完成。YOLO直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。 ...原创 2019-09-03 15:34:49 · 2249 阅读 · 0 评论 -
YOLOv3源码阅读之五:nms_utils.py
一、YOLO简介 YOLO(You Only Look Once)是一个高效的目标检测算法,属于One-Stage大家族,针对于Two-Stage目标检测算法普遍存在的运算速度慢的缺点,YOLO创造性的提出了One-Stage。也就是将物体分类和物体定位在一个步骤中完成。YOLO直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。 ...原创 2019-09-03 15:34:03 · 1849 阅读 · 2 评论 -
YOLOv3源码阅读之四:layer_utils.py
一、YOLO简介 YOLO(You Only Look Once)是一个高效的目标检测算法,属于One-Stage大家族,针对于Two-Stage目标检测算法普遍存在的运算速度慢的缺点,YOLO创造性的提出了One-Stage。也就是将物体分类和物体定位在一个步骤中完成。YOLO直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。 ...原创 2019-09-03 15:32:58 · 1044 阅读 · 0 评论 -
YOLOv3源码阅读之三:model.py
一、YOLO简介 YOLO(You Only Look Once)是一个高效的目标检测算法,属于One-Stage大家族,针对于Two-Stage目标检测算法普遍存在的运算速度慢的缺点,YOLO创造性的提出了One-Stage。也就是将物体分类和物体定位在一个步骤中完成。YOLO直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。 ...原创 2019-09-03 15:32:04 · 2019 阅读 · 0 评论 -
YOLOv3源码阅读之二:get_kmeans.py
一、YOLO简介 YOLO(You Only Look Once)是一个高效的目标检测算法,属于One-Stage大家族,针对于Two-Stage目标检测算法普遍存在的运算速度慢的缺点,YOLO创造性的提出了One-Stage。也就是将物体分类和物体定位在一个步骤中完成。YOLO直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。 ...原创 2019-09-03 15:30:40 · 1499 阅读 · 4 评论 -
YOLOv3源码阅读之一:test_single_image.py
一、YOLO简介 YOLO(You Only Look Once)是一个高效的目标检测算法,属于One-Stage大家族,针对于Two-Stage目标检测算法普遍存在的运算速度慢的缺点,YOLO创造性的提出了One-Stage。也就是将物体分类和物体定位在一个步骤中完成。YOLO直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。 ...原创 2019-09-03 15:29:27 · 1541 阅读 · 0 评论 -
机器学习复习:卷积的方向传播之五:多通道卷积以及激活函数
我的个人博客:https://huaxuan0720.github.io/ ,欢迎访问前言 前面讲了很多二维平面上的卷积,甚至用代码实现了一个简单的两层二维卷积网络,但是在实际的情况下,我们使用的更多的是三维矩阵,即矩阵的shapeshapeshape往往是[height,width,channels][height, width, channels][height,width,chan...原创 2019-06-08 16:25:07 · 486 阅读 · 0 评论 -
机器学习复习:卷积的方向传播之四:代码实现二维平面上的卷积及其反向传播
title: 代码实现二维平面上的卷积及其反向传播date: 2019-05-24 12:32:59tags: [卷积, 反向传播, 深度学习]category: 深度学习toc: truethumbnail: gallery/DeepLearning.jpg前言 在前面的叙述中,我们都是在二维平面上做卷积操作,并在此基础上进行了反向传播算法的推导和计算,但是,如果仅仅限于理论怕...原创 2019-06-08 15:55:48 · 592 阅读 · 0 评论 -
机器学习复习:卷积的方向传播之三:步长stride为s的二维卷积方法的反向传播算法:一个十分极端的例子
我的个人博客:https://huaxuan0720.github.io/ ,欢迎访问前言 在前面的文章中,介绍了二维平面上的卷积及其反向传播的算法,但是,步长为1和2毕竟都是两个比较小的数字,如果换成更大的数字,反向传播的方式是不是还适合呢?所以,我们考虑下面这个十分极端的例子,来验证反向传播算法的有效性。一、参数设置 在之前的参数设置中,我们使用的输入矩阵都是5x5,在这篇文...原创 2019-06-08 15:53:12 · 664 阅读 · 0 评论 -
机器学习复习:卷积的方向传播之二:步长stride为s的二维卷积方法的反向传播算法
我的个人博客:https://huaxuan0720.github.io/ ,欢迎访问前言 在之前讨论了步长stride为1的卷积方式的反向传播,但是很多时候,使用的卷积步长会大于1,这个情况下的卷积方式的反向传播和步长为1的情况稍稍有些区别,不过区别并没有想象中那么大,因此下面就对步长stride大于1的情况进行简单的阐述。请注意:这里的所有推导过程都只是针对当前设置的参数信息,并不具...原创 2019-06-08 15:51:03 · 1768 阅读 · 2 评论 -
机器学习复习:卷积的方向传播之一:步长stride为1的二维卷积方法的反向传播算法
title: 步长stride为1的二维卷积方法的反向传播算法date: 2019-05-24 12:32:01tags: [卷积, 反向传播, 深度学习]category: 深度学习toc: truethumbnail: gallery/DeepLearning.jpg前言 近年来,深度学习的快速发展带来了一系列喜人的成果,不管是在图像领域还是在NLP领域,深度学习都显示了其极...原创 2019-06-08 15:47:35 · 2132 阅读 · 0 评论 -
深度学习的基础:反向传播算法(二)之稍复杂的反向传播
前言 前面介绍了单层全连接层,并且没有使用激活函数,这种情况比较简单,这一篇文章打算简单介绍一下多个输出,以及使用激活函数进行非线性激活的情况。还是请注意:这里的所有推导过程都只是针对当前设置的参数信息,并不具有一般性,但是所有的推导过程可以推导到一般的运算,因此以下给出的并不是反向传播算法的严格证明,但是可以很好的帮助理解反向传播算法。一、参数设置 和前面一样,这里使用的是长度为3的行...原创 2019-03-22 14:56:14 · 872 阅读 · 0 评论 -
Faster R-CNN源码阅读之五:Faster R-CNN/lib/rpn_msr/proposal_layer_tf.py
一、介绍 本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数的主要目的是通过将估计的边界框变换应用于一组常规框(称为“anchors”)来输出目标检测proposals。二、代码以及注释 # -*- coding:utf-8 -*-# --------------------...原创 2018-08-19 16:18:25 · 888 阅读 · 0 评论 -
Faster R-CNN源码阅读之八:Faster R-CNN/lib/rpn_msr/proposal_target_layer_tf.py
一、介绍 本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数的主要目的是根据所传入的参数rpn rois和gt boxes等信息对rois尽心采样,并确定每一个roi的labels标签和bbox回归目标。二、代码以及注释 # coding=utf-8# -----------...原创 2018-08-22 10:50:25 · 721 阅读 · 0 评论 -
Faster R-CNN源码阅读之四:Faster R-CNN/lib/rpn_msr/generate_anchors.py
一、介绍 本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数主要都是与anchor的生成相关,即给定纵横比和尺寸等一定的参数,生成符合条件的若干个anchor(s)。 二、代码以及注释# -*- coding:utf-8 -*-# -----------------------...原创 2018-08-18 20:40:04 · 818 阅读 · 0 评论 -
Tensorflow深度学习之二十:CIFAR-10数据集介绍
一、CIFAR-10 CIFAR-10数据集由10类32x32的彩色图片组成,一共包含60000张图片,每一类包含6000图片。其中50000张图片作为训练集,10000张图片作为测试集。CIFAR-10数据集被划分成了5个训练的batch和1个测试的batch,每个batch均包含10000张图片。测试集batch的图片是从每个类别中随机挑选的1000张图片组成的,训练集batch以随机的顺序包原创 2017-12-13 16:55:16 · 24581 阅读 · 1 评论 -
Tensorflow深度学习之十九:矩阵切片与链接
1、TensorFlow矩阵切片操作:tf.slice函数函数原型:slice(input_, begin, size, name=None) 参数: input:待切片的矩阵tensor。 begin:起始位置,表示从哪一个数据开始进行切片。这个起始位置从0开始。若input是一个n维的矩阵,则begin是一个长度为n的tensor。 size:切片的大小(尺寸),表示则起始位置开始获取每原创 2017-09-08 12:06:04 · 11732 阅读 · 0 评论 -
Tensorflow深度学习之十七:队列与多线程
声明:本文参考《Tensorflow:实战Google深度学习框架》一书在使用TensorFlow进行异步计算时,队列是一种强大的机制。正如TensorFlow中的其他组件一样,队列就是TensorFlow图中的节点。这是一种有状态的节点,就像变量一样:其他节点可以修改它的内容。具体来说,其他节点可以把新元素插入到队列后端(rear),也可以把队列前端(front)的元素删除。为了感受一下队列,让我原创 2017-08-17 22:04:43 · 3380 阅读 · 0 评论 -
Tensorflow深度学习之十六:placeholder的注解和reshape函数
import tensorflow as tf# 定义一个placeholder,用于输入数据x = tf.placeholder(dtype=tf.float32, shape=[3,4], name="x")# 定义另外一个变量y = tf.Variable(tf.truncated_normal(shape=[4,5], mean=0.0, stddev=1.0, dtype=t原创 2017-08-16 22:35:43 · 4928 阅读 · 0 评论 -
Tensorflow深度学习之十二:基础图像处理之二
首先放出原始图像:1、图像的翻转import tensorflow as tfimport cv2# 这里定义一个tensorflow读取的图片格式转换为opencv读取的图片格式的函数# 请注意:# 在tensorflow中,一个像素点的颜色顺序是R,G,B。# 在opencv中,一个像素点的颜色顺序是B,G,R。# 因此,我们循环遍历每一个像素点,将第0位的颜色和第2位的颜色数值换一下原创 2017-08-02 21:03:38 · 4836 阅读 · 0 评论 -
Tensorflow深度学习之十一:基础图像处理
OpenCV是一个十分强大的视觉库,tensorflow也提供了十分强大的图片处理函数,下面是一个简单的例子来说明使用tensorflow和opencv两个工具进行深度学习程序的设计。首先是使用的原始图片:import tensorflow as tfimport cv2# 这里定义一个tensorflow读取的图片格式转换为opencv读取的图片格式的函数# 请注意:# 在tensorflo原创 2017-08-02 20:31:23 · 6226 阅读 · 0 评论