深度学习
文章平均质量分 74
子为空
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 34017 阅读 · 0 评论 -
深度学习的基础:反向传播算法(一)之反向传播入门
一、反向传播算法 近年来,深度学习的快速发展带来了一系列喜人的成果,不管是在图像领域还是在NLP领域,深度学习都显示了其极其强大的能力。而深度学习之所以可以进行大规模的参数运算,反向传播算法功不可没,可以说,没有反向传播算法,深度学习就不可能得以快速发展,因此在此之前,有必要了解一下反向传播算法的具体原理和公式推导。请注意:这里的所有推导过程都只是针对当前设置的参数信息,并不具有一般性,但是所...原创 2019-03-21 10:35:44 · 1550 阅读 · 1 评论 -
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 · 1648 阅读 · 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 · 4742 阅读 · 1 评论 -
Tensorflow深度学习之三十三:tf.scatter_update
dsadsadsada原创 2018-11-13 16:48:11 · 1914 阅读 · 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 · 7400 阅读 · 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 · 2013 阅读 · 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 · 13434 阅读 · 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 · 1767 阅读 · 0 评论 -
深度学习的基础:反向传播算法(三)之完整的反向传播算法
前言 前面介绍了单层全连接层并使用激活函数激活的情况,尝试去进行了多样本的梯度下降计算,这一篇文章打算简单介绍一下多层全连接层的梯度下降的情况,重点在于如何进行梯度的向后传播。还是请注意:这里的所有推导过程都只是针对当前设置的参数信息,并不具有一般性,但是所有的推导过程可以推导到一般的运算,因此以下给出的并不是反向传播算法的严格证明,但是可以很好的帮助理解反向传播算法。一、模型定义 和...原创 2019-03-24 21:50:13 · 1524 阅读 · 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 · 1027 阅读 · 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 · 1234 阅读 · 1 评论 -
Faster R-CNN源码阅读之十二:写在最后
写在最后 毫无疑问,Faster RCNN(以及Faster RCNN的各种变体)作为当前目标检测方面的先锋,在这方面确实贡献巨大。下一步计划对one-stage的目标检测方法进行学习。由于给的源码中,关于数据准备的代码过于复杂,不具有一定的普适性,实际上,完全可以根据自己的项目工程进行数据准备代码的编写,即简单又直观,因此,在这里就省略了数据准备方面的代码的分享,还请各位大佬们原谅! ...原创 2018-08-23 16:55:21 · 572 阅读 · 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 · 1609 阅读 · 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 · 1294 阅读 · 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 · 905 阅读 · 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 · 965 阅读 · 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 · 821 阅读 · 0 评论 -
深度学习的基础:反向传播算法(二)之稍复杂的反向传播
前言 前面介绍了单层全连接层,并且没有使用激活函数,这种情况比较简单,这一篇文章打算简单介绍一下多个输出,以及使用激活函数进行非线性激活的情况。还是请注意:这里的所有推导过程都只是针对当前设置的参数信息,并不具有一般性,但是所有的推导过程可以推导到一般的运算,因此以下给出的并不是反向传播算法的严格证明,但是可以很好的帮助理解反向传播算法。一、参数设置 和前面一样,这里使用的是长度为3的行...原创 2019-03-22 14:56:14 · 1037 阅读 · 0 评论 -
机器学习复习:卷积的方向传播之一:步长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 · 2386 阅读 · 0 评论 -
机器学习复习:卷积的方向传播之二:步长stride为s的二维卷积方法的反向传播算法
我的个人博客:https://huaxuan0720.github.io/ ,欢迎访问前言 在之前讨论了步长stride为1的卷积方式的反向传播,但是很多时候,使用的卷积步长会大于1,这个情况下的卷积方式的反向传播和步长为1的情况稍稍有些区别,不过区别并没有想象中那么大,因此下面就对步长stride大于1的情况进行简单的阐述。请注意:这里的所有推导过程都只是针对当前设置的参数信息,并不具...原创 2019-06-08 15:51:03 · 2024 阅读 · 2 评论 -
机器学习复习:卷积的方向传播之三:步长stride为s的二维卷积方法的反向传播算法:一个十分极端的例子
我的个人博客:https://huaxuan0720.github.io/ ,欢迎访问前言 在前面的文章中,介绍了二维平面上的卷积及其反向传播的算法,但是,步长为1和2毕竟都是两个比较小的数字,如果换成更大的数字,反向传播的方式是不是还适合呢?所以,我们考虑下面这个十分极端的例子,来验证反向传播算法的有效性。一、参数设置 在之前的参数设置中,我们使用的输入矩阵都是5x5,在这篇文...原创 2019-06-08 15:53:12 · 871 阅读 · 0 评论 -
机器学习复习:卷积的方向传播之四:代码实现二维平面上的卷积及其反向传播
title: 代码实现二维平面上的卷积及其反向传播date: 2019-05-24 12:32:59tags: [卷积, 反向传播, 深度学习]category: 深度学习toc: truethumbnail: gallery/DeepLearning.jpg前言 在前面的叙述中,我们都是在二维平面上做卷积操作,并在此基础上进行了反向传播算法的推导和计算,但是,如果仅仅限于理论怕...原创 2019-06-08 15:55:48 · 702 阅读 · 0 评论 -
机器学习复习:卷积的方向传播之五:多通道卷积以及激活函数
我的个人博客:https://huaxuan0720.github.io/ ,欢迎访问前言 前面讲了很多二维平面上的卷积,甚至用代码实现了一个简单的两层二维卷积网络,但是在实际的情况下,我们使用的更多的是三维矩阵,即矩阵的shapeshapeshape往往是[height,width,channels][height, width, channels][height,width,chan...原创 2019-06-08 16:25:07 · 641 阅读 · 0 评论 -
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 · 1670 阅读 · 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 · 1663 阅读 · 4 评论 -
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 · 2206 阅读 · 0 评论 -
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 · 1203 阅读 · 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 · 2017 阅读 · 2 评论 -
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 · 2404 阅读 · 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 · 1472 阅读 · 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 · 2590 阅读 · 0 评论 -
深度学习之卷积:如果卷积核被初始化为0
前言 这几天面试遇到了这样一个问题,如果卷积层的权重被赋值为0,会发生什么? 解决这个问题我们首先定义一下在神经网络中的基本权重和偏置的初始化情况,在TensorFlow中,权重一般由用户初始化,可选择很多初始化方式,如glorot_normal_initializer()等,但是偏置在默认的情况下一般初始化为0,具体可以参考tf.layers.conv2d和tf.layers.dense...原创 2019-09-21 13:42:49 · 6680 阅读 · 2 评论 -
Tensorflow深度学习之十八:多GPU并行
import os.pathimport reimport timeimport numpy as npimport tensorflow as tfimport cifar10batch_size = 128max_steps = 1000num_gpus=1 # 具体gpu数量def tower_loss(scope): images, labels = cifar10.原创 2017-08-31 16:07:57 · 1774 阅读 · 0 评论 -
Tensorflow深度学习之七:再谈mnist手写数字识别程序
之前学习的第一个深度学习的程序就是mnist手写字体的识别,那个时候对于很多概念不是很理解,现在回过头再看当时的代码,理解了很多,现将加了注释的代码贴上,与大家分享。(本人还是在学习Tensorflow的初始阶段,如果有什么地方理解有误,还请大家不吝指出。)from tensorflow.examples.tutorials.mnist import input_data# 下载mnist数据集至当原创 2017-07-21 11:24:53 · 1770 阅读 · 0 评论 -
Tensorflow深度学习之三:基础概念篇(矩阵相乘)
Tensorflow中有很多地方需要用到矩阵相乘,这里通过一个小程序讲解一下矩阵相乘中所涉及的基本概念。(由于本人刚刚接触Tensorflow,有些概念讲解若有错误,请不吝指出。)import tensorflow as tf#Tensorflow默认会话sess = tf.InteractiveSession()#建立两个矩阵变量w1和w2#tf.random_normal(shape,原创 2017-07-18 12:43:07 · 5257 阅读 · 4 评论 -
Tensorflow深度学习之四:placeholder和Session
本文简单介绍了一下Tensorflow中的placeholder的使用方法。(由于本人最近刚刚接触Tensorflow,对其中的概念若有解释错误,还请不吝指出。)import tensorflow as tf#Tensorflow默认会话sess = tf.InteractiveSession()#建立两个矩阵变量w1和w2#tf.random_normal(shape,#原创 2017-07-18 14:49:25 · 4349 阅读 · 0 评论 -
Tensorflow深度学习之五:激活函数
激活函数的作用在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。 我们尝试引入非线性的因素,对样本进行分类。在神经网络中也类似,我们需要引入一些非线性的因素,来更好地解决复杂的问题。而激活函数恰好就是那个能够帮助我们引入非线性因素的存在,使得我们的神经网络能够更好地解决较为复杂的问题。常见的激活函数有Sigmoid,Relu,tanh等。原创 2017-07-18 17:08:50 · 6885 阅读 · 0 评论 -
Tensorflow深度学习之八:再探CNN解决mnist手写数字识别问题
前几天碰到的第二个深度学习的程序就是CNN(卷积神经网络)解决mnist手写数字的识别问题,但是碍于个人能力,很多地方不是很理解,现在学习了一些基本的概念之后,重新将加了注释的源代码贴上,与大家分享,基本上每一条语句都标注了注释,很多参数的设置也有相应的说明。 (本人也是最近刚刚接触Tensorflow,如有相关概念理解错误,还请大家不吝指出。)from tensorflow.example原创 2017-07-22 16:54:57 · 1313 阅读 · 0 评论 -
Tensorflow深度学习之十三:基础图像处理之三
首先放出原图:1、处理标注框import tensorflow as tfimport cv2# 这里定义一个tensorflow读取的图片格式转换为opencv读取的图片格式的函数# 请注意:# 在tensorflow中,一个像素点的颜色顺序是R,G,B。# 在opencv中,一个像素点的颜色顺序是B,G,R。# 因此,我们循环遍历每一个像素点,将第0位的颜色和第2位的颜色数值换一下即可原创 2017-08-08 21:41:53 · 2649 阅读 · 0 评论
分享