深度学习——卷积块回顾

Bottleneck块 Bottleneck模块的思想是通过1×1卷积先减少维度再增加维度,启到减少参数降低运算量的作用。 def bottleneck_module(x, out_dim, ratio=4): conv = Conv2D(filters=out_dim // r...

2018-12-12 13:41:53

阅读数 254

评论数 0

代码也浪漫——Python烟花秀

下午太困,无意中看到一段用Tkinter库写的放烟花的程序,就跟着跑了一遍。 设计理念:通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生“膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。经过一定时间后,粒子会进入“自...

2018-12-05 15:35:23

阅读数 3676

评论数 2

tensorflow随笔——Yolo v1

Yolo背景 Yolo的训练和检测均在一个端到端的网络中进行,将物体检测作为回归问题求解,输入图像经过一次Inference,便能得到图像中所有物体的位置和其所属类别及相应置信概率。这种直接选用整图训练模型的架构可以更好的区分目标和背景区域,相比于proposal的方法更少把背景区域误检为目标。...

2018-11-21 19:15:44

阅读数 109

评论数 0

tensorflow随笔——交叉熵公式推导

熵的本质是香农信息量log(1/p)的期望,现有关于样本集的2个概率分布p和q,其中p为真实分布,q非真实分布。按照真实分布p来 衡量识别一个样本所需要的编码长度的期望为: 如果使用错误分布q来表示来自真实分布p的平均编码长度为: 因为用q来编码的样本来自分布p,所以期望H(p,q)...

2018-11-19 22:20:38

阅读数 55

评论数 0

tensorflow随笔——C++工程化

本文主要描述如何基于Tensroflow从线下训练到线上预测的整个流程。主要包括以下几步: 使用Python接口搭建模型训练参数并固化成pb文件 使用Bazel编译Tensorflow源码得到tensorflow_cc.so的动态库 调用Tensorflow C++ API编写预测代码 使用...

2018-11-16 15:43:33

阅读数 1364

评论数 0

GANs之信息量、信息熵、交叉熵、KL散度、JS散度、Wasserstein距离

信息量也叫做香农信息量,常用于刻画消除随机变量X在x处的不确定性所需的信息量大小。假设只考虑连续型随机变量的情况,设p为随机变量X的概率分布,即p(x)为随机变量X在X=x处的概率密度函数值,随机变量X在x处的香农信息量定义为: 信息量的单位为比特。上式只定义了随机变量在一个点处的香农信息量...

2018-09-24 21:54:16

阅读数 1535

评论数 0

tensorflow随笔——深度学习中GPU型号对比

深度学习是机器学习的一个分支。深度学习通过深层神经网络自行寻找特征来解决问题,不同于传统方法需要告诉算法找什么样的特征。为获取数据的本质特征深度神经网络需要处理大量信息,一般有两种处理方式:CPU和GPU 先抛出三个问题: 1. 为什么深度学习需要使用GPU? 2. GPU的哪些性能指标最重...

2018-08-16 16:50:12

阅读数 5916

评论数 0

tensorflow随笔——图像分类、检测,语义分割综述

看到一篇关于目标分类/检测/风格的综述型文章,觉得写的挺好,收藏下。 本文旨在介绍深度学习在计算机视觉领域四大基本任务中的应用,包括分类(图a)、定位、检测(图b)、语义分割(图c)、和实例分割(图d)。 图像分类(image classification) 给定一张输入图像,图像分类任...

2018-08-16 13:49:01

阅读数 1055

评论数 1

图像处理随笔——soft-nms

上一篇文章我们介绍了NMS算法。结尾处我们提到传统NMS存在的两个问题: 1. 当两个目标框接近时,分数更低的框就会因为与之重叠面积过大而被删掉 2. NMS的阈值需要手动确定,设置小了会漏检,设置大会误检 针对上述两个问题,我们可以不直接删除所有IOU大于阈值的框,而是降低其置信度,即so...

2018-08-15 22:33:57

阅读数 561

评论数 1

图像处理随笔——非极大值抑制

本篇论文主要是针对目标检测中的非极大值抑制这部分做个简单叙述。在目标检测的任务中,非极大值抑制(NMS)是一种对检测结果进行冗余去除操作的后处理算法,可以理解为局部最大搜索。标准的极大值抑制算法是手工设计一个阈值,基于这个固定的距离值进行贪婪聚类 ,即:贪婪的选取得分高的检测结果并删除那些超过阈值...

2018-08-15 16:39:39

阅读数 888

评论数 1

论文解读——Improving Object Detection With One Line of Code

摘要 非极大值抑制是目标检测流程中不可分割的一部分。首先它基于检测结果对所有检测框进行分类,选择得分最高的检测框M,并抑制与M有明显重叠的所有其他检测框,这个过程被递归地应用到其余的框上。根据算法的设计,如果一个对象位于预定义的重叠阈值内,则会导致丢失。为此,我们提出了Soft-NMS算法,该算...

2018-08-14 10:47:14

阅读数 135

评论数 0

论文解读——An Analysis of Scale Invariance in Object Detection – SNIP

摘要 一篇分析了极端尺寸变化下的目标识别和检测技术。通过在不同的输入数据配置下对检测器进行训练,比较了检测器的特定尺寸设计和不变尺寸设计。通过评估不同网络架构在ImageNet上对小对象进行分类的性能,我们证明了CNNs对尺度变化的鲁棒性。在此分析的基础上,我们提出了一种图像金字塔在同一尺度上用...

2018-08-10 09:36:59

阅读数 657

评论数 0

tensorflow随笔——concat(), stack(), unstack()

tf.concat用于将多个张量在某维度合并起来,类似于numpy.concatenate。第一个参数为待合并的多个张量列表,第二个参数需指定哪个维度上做合并。待合并的张量shape需要完全相同,并且产生的张量的阶数不会发生变化。 tf.stack(values, axis=0, name=...

2018-08-07 21:59:42

阅读数 3641

评论数 0

numpy——flatten(), squeeze(), ravel()

python做数据操作时经常要将多维数组转换成一维数组,常用函数包括flatten(), squeeze(), ravel(), reshape()等。 reshape(a, shape): 将多维数组转换到新的尺寸,当参数填-1时,将其拉平成一维向量 squeeze(a, axis=No...

2018-08-07 10:05:13

阅读数 176

评论数 0

numpy——zeros(), ones(), empty(), eye()

Python做数据处理的时候经常要初始化高维矩阵,常用的函数包括zeros(), ones(), empty(), eye()等。 本篇文章简要的描述一下三者的用法: zeros():创建一个矩阵,内部元素均为0,第一个参数提供维度,第二个参数提供类型。 ones():创建一个矩阵,内部...

2018-08-06 22:11:58

阅读数 459

评论数 0

图像处理随笔——颜色空间

这两天在用TF写黑白图片上色的代码,需要把RGB转LAB空间。在此普及下颜色空间的知识,不同颜色空间只是从不同的角度去衡量同一个对象。颜色空间按照基本结构可以分为两类:1.基色颜色空间,如RGB,XYZ 2.色亮分离颜色空间,如YUV,HSV。 RGB颜色空间 在RGB颜色空间中,这个彩色模型...

2018-07-31 21:42:14

阅读数 940

评论数 0

tensoflow随笔——softmax和交叉熵

softmax函数 softmax函数接收一个N维向量作为输入,然后把每一维的值转换到(0, 1)之间的一个实数。假设模型全连接网络输出为a,有C个类别,则输出为a1,a2,...,aC,对于每个样本,属于类别i的输出概率为: 属于各个类别的概率和为1。 贴一张形象的说明图: 如图...

2018-07-30 11:36:42

阅读数 154

评论数 0

tensorflow随笔——VGG网络

这次用slim搭个稍微大一点的网络VGG16,VGG16和VGG19实际上差不多,所以本例程的代码以VGG16来做5类花的分类任务。 VGG网络相比之前的LeNet,AlexNet引入如下几个特点: 1. 堆叠3×3的小卷积核替代了5×5,7×7的大卷积核。 虽然5×5的卷积核感受野大,但是...

2018-07-27 09:00:29

阅读数 123

评论数 0

tensorflow随笔——LeNet网络

最近总想写点东西,把以前的这些网络都翻出来自己实现一遍。计划上从经典的分类网络到目标检测再到目标分割的都过一下。这篇从最简单的LeNet写起。 先上一张经典的LeNet模型结果图: 该网络结构包含2个Conv,2个pooling,2个fully connection外加一个softmax分...

2018-07-25 20:14:04

阅读数 137

评论数 0

tensorflow随笔——简单的循环神经网络分类实例

继上一篇用简单的卷积神经网络做mnist分类之后,本篇文章采用RNN替换CNN写了一个mnist分类实例。实例中包含两个文件: train.py:数据加载和训练代码。 # coding=utf-8 import tensorflow as tf import os import model ...

2018-07-24 20:17:56

阅读数 136

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭