深度学习=====keras搬砖系列
文章平均质量分 60
googler_offer
这个作者很懒,什么都没留下…
展开
-
tflite benchmark model测试
假设Android NDK与SDK都安装完毕了,所以接下来只需要这几步:1,编译benchmark程序bazel build -c opt \ --config=android_arm \ --cxxopt='--std=c++11' \ --copt=-DTFLITE_PROFILING_ENABLED \ tensorflow/lite/tools/bench...原创 2019-09-28 11:53:05 · 1955 阅读 · 0 评论 -
keras搬砖系列-GoogLeNetV4与inception-ResNetV1,V2
keras搬砖系列-GoogLeNetV4与inception-ResNetV1,V21,在inception v3的基础上发明了inception V4,V4比V3更加复杂2,结合了ResNet与GoogleNet,发现了Inception-ResNet-v1,Inception-Resnet-v2,其中Inception-ResNet-v2效果很好,但相比ResNet,Inception-Re...转载 2018-03-13 02:59:09 · 7010 阅读 · 0 评论 -
keras搬砖系列-inception v2与v3
keras搬砖系列-inception v2与v3与v4inception v2的基础上在v1的基础上,进行了改进,一方面加了BN层,减少了Internal Convariate Shift,每一层的输出都规范化到一个高斯,另外一个方面学习VGG用2个conv替代inception模块中的5*5模块,降低了参数的数量,也进行了加速计算;一个5*5的网络等于两个3*3的网络:再修正后的incepti...转载 2018-03-13 01:00:08 · 1050 阅读 · 0 评论 -
keras搬砖系列-迁移学习与微调
keras搬砖系列-迁移学习与微调一、迁移学习要研究的物体不在那个列表,我们通常可能需要区分出不同的型号的太阳镜,认出不同的鞋子,识别各种面部表情,所以需要迁移学习来完成这个学习任务。二、为什么要采用迁移学习与微调一般来说从头开始训练一个卷积神经网络,不仅需要大规模的数据集,会占用大量的计算资源,在实际应用中,深度学习相关的研究人员和从业者采用迁移学习和微调的方法,将数据集上有模型地步特征 提取层...原创 2018-03-12 01:48:35 · 2433 阅读 · 0 评论 -
keras搬砖系列-Resnet-34详解
keras搬砖系列-Resnet-34详解残差网络与传统网络相比加入了一个y=x层,主要作用是随着网络深度的增加,而不断退化。还有比较好的收敛效果。其实我觉得出发点应该就是防止由于网络过深导致梯度爆炸/消失之前做过一个实验对于某些物体8层与16层效果相同,这时候你应该查看权重看是否梯度爆炸或者消失,我觉得直线型的网络其实很优,简单粗暴,但是面对复杂的数据集,或者想要让精度更加高,或者运...原创 2018-03-11 23:12:34 · 36809 阅读 · 6 评论 -
keras搬砖系列-inception module
keras搬砖系列-inception module一、1*1 卷积核作用:1,可以降低通道数2,减少运算量如果对于一个28*28*192的初始图像采用的是,5*5*32的卷积核。则计算量为5*5*192*28*28*32若采用1*1*32的卷积核则计算量为192*28*28*32其次,对于池化来说只能减小宽和高,但是1*1卷积核可以有效的解决通道数目问题。二、inception module首先...原创 2018-03-10 22:18:33 · 625 阅读 · 0 评论 -
keras搬砖系列-多GPU上使用keras
keras搬砖系列-多GPU上使用keras1,数据并行数据并行是将目标模型在多个设备上各复制一份,并使用每个设备上的复制品处理整个数据集的不同部分数据。from keras.utils import multi_gpu_modelparallel_model = multi_gpu_model(model,gpus=8)parallel_model.compile(loss='catego...原创 2018-03-10 21:10:40 · 1319 阅读 · 0 评论 -
keras搬砖系列-inception-resnet-v2实现
keras搬砖系列-inception-resnet-v2实现一、inception-resnet-v2是在inception v3的基础上进行演化,但是有着更高准确度,在目前的比赛中有着非常好的成绩。inception-resnet-v2的网络模型整体如下所示:其中stem部分网络结构如下所示:inception设计,并且conv也使用了7*1+1*7这种优化方式:其中inception-res...原创 2018-03-15 21:22:53 · 4684 阅读 · 0 评论 -
Paper notes-Image Denoising via CNNs: An Adversarial Approach
Paper notes-Image Denoising via CNNs: An Adversarial Approach1.Main task Is it possible to recover an image from its noisy version using convolutional neural networks?The paper propose a new CNN a...原创 2018-03-15 19:06:14 · 492 阅读 · 1 评论 -
keras搬砖系列-残差网络的实现
keras搬砖系列-残差网络的实现ResNet-50图#coding=utf-8from keras.models import Modelfrom keras.layers import Input,Dense,BatchNormalization,Conv2D,MaxPooling2D,AveragePooling2D,ZeroPadding2Dfrom keras.layers imp...原创 2018-03-09 00:25:55 · 5651 阅读 · 0 评论 -
keras搬砖系列-重新理解ResNet网络
keras搬砖系列-重新理解ResNet网络1. plain net对于一般网络来说,他们的传导方式是这样的: z[l+1]=w[l+1]a[l]+b[l+1] a[l+1]=g(z[l+1]) z[l+2]=w[l+2]a[l+2]+b[l+2] a[l+2]=g(z[l+2])2.short cutz[l+1]=w[l+1]a[l]+b[l+1] a[l+1]=...原创 2018-03-08 18:38:33 · 915 阅读 · 0 评论 -
Paper notes-Image Restoration Using Very Deep Convolutional Encoder-Decoder Networks with Symmetric
Paper notes-Image Restoration Using Very Deep Convolutional Encoder-Decoder Networks with Symmetric 1. Main task They propose a very deep fully convolution encoding-deconding frame-work for image r...原创 2018-03-15 02:46:09 · 698 阅读 · 7 评论 -
瞎搞系列-图像的引导滤波
瞎搞系列-图像的引导滤波一、原理:引导滤波是一个线性可变得滤波过程,包括引导图像I,输入图像p和输出图像q。其中引导图像I是需要实现设定的,也可以直接取输入图像p。引导滤波与双边滤波最大的相似之处,就是具有同样的保持边缘特性,在引导滤波中,用到了局部线性模型,该模型认为:某函数上的一点与其邻近部分的点成线性关系,一个复杂的函数可以用多个局部的线性函数来表示,只需要计算包含该点的所有线性函数做平均值...原创 2018-03-13 16:21:38 · 1491 阅读 · 0 评论 -
keras搬砖系列-DenseNet
keras搬砖系列-DenseNet一、优点:1,减轻了梯度消失2,加强了特征的传递3,更加有效的利用了feature4,一定程度上减少了参数的数量在深度学习中,随着网络深度的加深,梯度消失会比较明显近年来算法核心都在于:create short paths from early layers to later layers。二、Dense block在传统的神经网络中,如果你又L层,那么就会有L...原创 2018-03-13 18:04:20 · 1372 阅读 · 0 评论 -
keras搬砖系列-inception流派
keras搬砖系列-inception流派GoogleleNet系列网络1.Inception v1通过把不同尺寸的卷积核比如:1*1,3*3,5*5进行堆叠增加了网络对不同卷积。inception ModuleInception Module的4个分支在最后通过一个操作合并(在输出通道数这个维度上聚合,在tensorflow中使用tf.concat(2,[],[]))实现合并。完整的Google...转载 2018-03-06 17:35:27 · 699 阅读 · 0 评论 -
tensorflow 技巧API-不断更新(一)
tf.unstack与tf.stacktf.stack是对两个矩阵进行拼接tf.unstack是对两个矩阵进行分解tf.trainable_variables(), tf.all_variables(), tf.global_variables()变量越多的时候就需要查看管理变量的函数trainable_variables():这个函数可以查看训练的变量,在我们生成变量的时候,...原创 2019-06-18 01:26:48 · 190 阅读 · 0 评论 -
python实现图片变亮或变暗的方法分析
python实现图片变亮或变暗是如何来实现的呢?下面的内容将会通过具体的实例来演示python实现图片变亮或变暗的实现方法及相关技巧:import Image# open an image file (.jpg or.png) you have in the working folderim1 = Image.open("angelababy.jpg")# multiply each ...原创 2019-06-17 15:21:45 · 4747 阅读 · 0 评论 -
Tensorflow 同时加载多个模型,以及与keras模型混用
Tensorflow同时加载使用多个模型Tensorflow,所有操作对象都包装在相应的session中,所以想要使用不同的模型就要将这些模型加载到不同session中,并且声明使用的时候申请是哪个session,从而避免由于session和想使用的模型不匹配导致错误,而使用多个graph就需要为每个graph使用不同的session,但是每个graph也可以在多个session中使用,这个时...原创 2019-06-11 11:37:31 · 7025 阅读 · 1 评论 -
再看SENet
SENet(Squeeze-and-Excitation Networks)先做一个全局平均池化Global Average Pooling,输出的1x1xC的数据经过两级全连接限制到[0,1]范围内,再把这个值作为scale乘到U的C个通道上,作为下一级的输入数据。第一个全连接把C个通道压缩成C/r个通道来降低计算量后面带Relu,第二个全连接再回复为C个通道后面跟了sigmoid,...原创 2019-06-20 17:58:35 · 744 阅读 · 0 评论 -
tensorflow dataset中的shuffle(),repeat(),batch()用法
import numpy as npimport tensorflow as tfnp.random.seed(0)x = np.random.sample((11,2))# make a dataset from a numpy arrayprint(x)dataset = tf.data.Dataset.from_tensor_slices(x)dataset = datas...原创 2019-05-07 21:13:27 · 9329 阅读 · 0 评论 -
tensorflow和opencv冲突问题的解决
因为tensorflow和opencv都使用了libjpeg,如果二者在编译的时候使用的libjpeg版本不对,会导致imread无法成功读取jpeg文件。workaround如下:在编译tensorflow或者tensorflow__cc的时候,加上编译选项:–config=monolithic ,该编译选项使得tensorflow把libjpeg静态链入,就不会和opencv冲突了。...原创 2019-04-30 16:17:03 · 1418 阅读 · 0 评论 -
tensorflow模型保存为pb的各种姿势
tensorflow模型保存的各种姿势一,直接保存pb1, 首先我们当然可以直接在tensorflow训练中直接保存为pb为格式,保存pb的好处就是使用场景是实现创建模型与使用模型的解耦,使得创建模型与使用模型的解耦,使得前向推导inference代码统一。另外的好处就是保存为pb的时候,模型的变量会变成固定的,导致模型的大小会大大减小。这里稍稍解释下pb:是MetaGraph的pro...原创 2019-03-15 19:32:41 · 21845 阅读 · 3 评论 -
CNN模型所需的计算力(flops)
Flops: floating point operations per second的缩写,指的是每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。FLOPs:可以用来衡量算法/模型的复杂度。对于一个卷积层,假设其大小为h*w*c*n (其中 c为 input channel,n为#output channel),输出的feature map尺寸为H'*W',则该卷积层的#...原创 2018-12-01 23:36:30 · 6974 阅读 · 2 评论 -
keras-perceptual_loss
keras-perceptual_lossL1, L2 Loss def l1_loss(y_true,y_pred): return K.mean(K.abs(y_true-y_pred))def l2_loss(y_true,y_pred): return K.mean(K.square(y_true-y_pred)) Perceptual Loss...原创 2018-09-30 22:20:52 · 954 阅读 · 3 评论 -
机器学习-sklearn
机器学习-sklearnsklearn-LogisticRegression导入数据from numpy import*from sklearn.datasets import load_irisiris = load_iris()samples = iris.datatarget = iris.target划分测试集与训练集x_train = samples[...原创 2018-08-03 20:21:39 · 346 阅读 · 0 评论 -
keras搬砖系列-keras多输入多输出模型
keras搬砖系列-keras多输入多输出模型使用函数式模型的一个典型的场景就是搭建多输入,多输出模型。考虑这样一个模型,希望预测一条新闻会被转发和点赞多少次。模型的主要输入是新闻的本身,也就是一个词语的序列,但是我们可能还需要额外的输入,新闻发布的日期等,所以这个模型的损失函数将会由两个部分组成,辅助的损失函数基于新闻本身做出的预测的情况,主损失函数评估基于新闻和额外信息的预测情况,即使来自主损...原创 2018-03-06 17:54:46 · 9893 阅读 · 2 评论 -
Paper notes-Wide Inference Network for Image Denoising viaLearning Pixel-distribution Prior
Wide Inference Network for Image Denoising viaLearning Pixel-distribution PriorMain task: In this paper,the author propose an innovative strategy for image denoising by using convolutional neural n...原创 2018-03-15 00:41:25 · 384 阅读 · 0 评论 -
keras搬砖系列-Batch normalization
keras搬砖系列-Batch normalization一、原理:原创 2018-03-14 18:35:49 · 1444 阅读 · 0 评论 -
keras瞎搞系列-从LeNet到SENet——卷积神经网络回顾
本文转自:https://zhuanlan.zhihu.com/p/33845247keras瞎搞系列-从LeNet到SENet——卷积神经网络回顾从1998年经典的LeNet,到2012年历史性的AlexNet,之后深度学习进入了蓬勃发展阶段,百花齐放,大放异彩,出现了各式各样的不同网络,包括LeNet、AlexNet、ZFNet、VGG、NiN、Inception v1到v4、Inceptio...转载 2018-03-08 01:17:20 · 4497 阅读 · 0 评论 -
keras搬砖系列-调参经验
keras搬砖系列-调参经验1,观察loss胜于观察准确率,loss设计要比较合理,对比训练集和验证集的loss2,relu可以很好的防止梯度弥散的问题,当然最后一层激活函数尽量别用relu,如果分类则用softmax3,BatchNorm 可以大大加快训练速度和模型的性能4,Dropout防止过拟合,可以直接设置为0.5,一半一半,测试的时候把Dropout关掉5,Loss选原创 2018-01-21 20:59:16 · 1805 阅读 · 1 评论 -
keras瞎搞系列-early stopping
keras瞎搞系列-early stopping在训练中,有些时候需要在停止的位置进行停止。但是Earyly stopping可以实现这些功能,这些时候模型泛化能力比较强。与L2正则化相似,选择参数w范数比较小的神经网络。有些时候可以采用early stopping。early Stopping优点:只运行一次梯度下降,就可以找出W的比较小的值,中间值和比较大的值。无需尝试原创 2018-01-21 20:50:26 · 3346 阅读 · 0 评论 -
keras搬砖系列-正则化
keras搬砖系列-正则化1,正则化简介 以逻辑回归来对正则化进行介绍 逻辑回归原来的代价函数为: minw,bJ(w,b)=minw,b1m∑mi=1L(y^(i),y(i))\min_{w,b}J(w,b)=\min_{w,b}\frac{1}{m}\sum^m_{i=1}\mathcal L(\hat y^{(i)},y^{(i)}) 其中:w∈Rnx,b∈Rw∈\Bbb R^{n_x原创 2018-01-21 20:06:23 · 6267 阅读 · 0 评论 -
深度学习-softmax损失函数
softmax损失函数softmax函数定义 softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而进行多分类! softmax计算公式,假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值为: Si=ei∑jejS_i = \frac{e^i}{\sum_j e^j} 对于softmax定义比较简单,当我们在应用多原创 2018-01-21 16:26:46 · 13128 阅读 · 1 评论 -
keras搬砖系列-vgg16进行分类
keras搬砖系列-vgg16进行分类表头:import timefrom keras.applications.imagenet_utils import preprocess_input, decode_predictionsfrom keras.layers import Dropout, Flatten, Densefrom keras.layers.convolutiona原创 2018-01-11 23:04:47 · 6244 阅读 · 4 评论 -
keras搬砖系列-Flatten ValueError
keras搬砖系列-Flatten ValueError之前总是会出现,ValueError: The shape of the input to "Flatten" is not fully defined (got (0, 6, 80). Make sure to pass a complete "input_shape" or "batch_input_shape" argument原创 2018-01-11 22:03:46 · 1876 阅读 · 1 评论 -
keras搬砖系列-分类
分类讲到过关于分类,这里就当复习一下。大概结构是两层,两个全连接层。这样正确率很低,不过也在我的意料之中。2333数据集这里用到的是mnist。数据集导入(X_train,Y_train),(X_test,Y_test) = mnist.load_data()X_train = X_train.reshape(X_train.shape[0],-1)/255X_test =原创 2017-12-06 02:35:00 · 302 阅读 · 0 评论 -
keras搬砖系列-线性回归
线性回归线性回归可以用sklearn来进行实现,实现方法很多。今天是看的莫烦的视频然后来敲一波,莫烦视频讲得不错,我觉得总结的很完美,需要有些微基础的人去看才能加深吧。说到keras框架,最近在做实验,发现还是需要多用吧,活学活用,最近框架很多,所以有时候需要用到的东西也很多。最好能融会贯通。。。好难。主题:创建数据X = np.linspace(-1,1,200)np.ra原创 2017-12-06 01:48:06 · 1066 阅读 · 0 评论 -
keras搬砖系列-模型可视化
可视化当我们在编程的时候最怕的不是空气突然安静而是不知道我们在写啥,这篇文章好早就想写了,可耐拖延症。。。恐怖如斯keras的可视化不像tensorboard一样能够准确预估。大概能撸出是啥模型需要安装的pip install pydot;pip install pydot-ng;pip install graphviz。还有一个graphviz.msi,不过我整了很久,在我的anac原创 2017-12-05 23:56:54 · 326 阅读 · 0 评论 -
keras 搬砖系列-自编码器
自编码器(AutoEncoder)本文大致分为理论介绍、公式推导,代码实现这几个部分。自编码器与PCA算法类似,是数据的一种降维。它将数据从f(x)变为g(x'),编码过程就是一个维度降低的过程。所以我们通常利用自编码器的前半部分来作为特征提取。自编码器:一、压缩:将图片用几个神经元点表现出来二、解压:将压缩后的图片解压出来几种自编码器:自编码器是神经网络的一种,经过训原创 2017-12-05 15:56:52 · 1215 阅读 · 0 评论 -
keras搬砖系列-softmax(二)
再拖两天再补理论,实验室没有工程氛围啊。。。。自己来,不想考试,只想调参什么心理。。。import numpy as npnp.random.seed(1337)from keras.datasets import mnistfrom keras.utils import np_utilsfrom keras.models import Sequentialfrom keras.la原创 2017-11-20 09:30:51 · 718 阅读 · 0 评论