自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 TensorFlow学习记录:GoogleNet模型

GoogleNet最核心的亮点就是它的Inception,最大的特点就是去除了最后的全连接层,用全局平均池化层(即使用与特征图尺寸相同的过滤器来做平均池化)来取代它。这么做的原因是:在以往的AlexNet和VGGNet网络中,全连接层几乎占据90%的参数量,占用了过多的运算量内存使用率,而且还会引起过拟合。GoogleNet的做法是去除全连接层,使得模型训练更快并且减轻了过拟合。之后Googl...

2020-02-29 11:33:36 321

原创 TensorFlow学习记录:VGGNet卷积神经网络模型

1.VGGNet模型结构简介VGGNet是由牛津大学计算机视觉几何组(Visual Geomety Group,VGG)和Google Deepmind公司的研究员合作研发的深度卷积神经网络,VGG的成员Karen Simonyan和Andrew Zisserman在2014年撰写的论文《Very Deep Convolutional Networks for Large-Scale Image...

2020-02-29 11:32:16 919

原创 python装饰器

前置知识python中的函数可以像普通变量一样当作参数传递给另外一个函数,例如:def foo(): print("foo") def bar(func): func()bar(foo)# 输出# foo装饰器本质上是一个Python函数或类,它可以让其它函数或者类在不需要做任何代码修改的前提下增加额外功能,装饰器返回值也是一个函数/类对象。它经常用于有切...

2019-11-10 20:20:41 167

原创 python 的高级用法(1)

1、 for- elseelse 不一定必须和 if 搭配,还可以和for搭配使用,例如for i in [1,2,3,4]: print(i)else: print(i, "我是else") # 输出# 1# 2# 3# 4# 4 我是else如果 for 和 else 之间有 if ,也不会影响 for 和 else 之间的关系,因为 for 的...

2019-11-05 10:04:55 308

原创 python接收命令行输入的参数

parser = argparse.ArgumentParser(description=None) description可描述该脚本的用途,可以为空parser.add_argument(‘is_training’, dest, default, action, help, choices, type) 其中各个参数的解释如下: dest:如果使用了dest参数...

2019-10-19 15:13:27 2762

转载 numpy.asarray()和numpy.array()

numpy.asarray(a, dtype=None, order=None)a : 输入,任何可以转换成array形式的数据,如列表,元组等dtype : 输出数据类型,默认继承输入数据类型(可选参数)order : {'C', 'F'},使用行主('C')或列主('F')内存表示形式,默认为'C'。(可选参数)return : ndarraynumpy.array()的详细参数...

2019-10-17 16:15:19 298

原创 TensorFlow学习记录:正则化

一般情况下,在机器学习中,不管是分类还是回归任务,为了不因特征过多而导致过拟合,一般通过减少特征或者惩罚不重要特征的权重来缓解这个问题。正则化(Regularization)是我们为了避免过拟合问题常常采用的一种方法,其核心思想就是在损失函数中加入被称为正则化的惩罚。这样我们就可以筛选出最有效的特征,较少特征权重,防止过拟合。假设模型在训练集上的损失函数为J(w)J(w)J(w)(注意,这里w...

2019-10-13 22:22:19 182

原创 BeautifulSoup爬虫

1.快速开始html_doc = """<html><head><title>The Dormouse's story</title></head><body><p class="title"><b>The Dormouse's story</b></p><p ...

2019-10-11 12:56:38 83

原创 TensorFlow学习记录:梯度剪裁

TensorFlow用于梯度剪裁的函数为1.tf.clip_by_norm()tf.clip_by_norm( t, clip_norm, axes=None, name=None)这个函数用于标准化张量t,使其的L2范数小于或等于clip_norm。标准化公式为t=t∗clipnorml2norm(t) t = \frac{t*clipnorm}{...

2019-09-29 16:46:59 465

原创 TensorFlow学习记录:指数滑动平均

为了在采用随机梯度下降算法训练神经网络时提高最终模型在测试数据上的表现,TensorFlow提供了一种在变量上使用指数滑动平均的方法。实现一个变量的指数滑动平均需要首先通过tf.train.ExponentialMovingAverage()函数初始化一个滑动平均类,同时需要向函数提供一个衰减率(Decay)参数,这个衰减率将用于控制模型更新的速度。滑动平均算法会对每一个变量维护一个影子变量,...

2019-09-14 20:04:31 434

原创 TensorFlow学习记录:学习率

学习率(Learning Rate)通常用于控制梯度下降中参数的更新速度(或幅度)。通常情况下梯度下降优化器都要求设置一个学习率来控制参数的更新速度。如果学习率过小,虽然最终能达到损失函数最小值,但训练过程会耗费太多时间,如果学习率过大,则训练速度会提升,但可能会出现参数在最优值旁边不停地来回“摆动”,而不会收敛到一个极小值。(1)学习率过小的情况:假设有一个损失函数L(w)=w2L(w)=...

2019-09-09 17:02:38 473

原创 TensorFlow学习记录:常用的梯度下降算法

一般情况下,平常所说的训练神经网络指的都是使用框架里面体提供的优化器(也可以称作梯度下降函数)去降低loss值。梯度下降算法简单点理解就是让损失函数loss对神经网络内的参数进行求导(链式求导),通过不停地更新网络内的参数使得损失值loss沿着损失函数减小的方向移动,最终让损失值loss达到尽可能小的过程。求解梯度下降的过程比较复杂难懂,并且梯度下降方法也有很多中,幸运的是TensorFlow中...

2019-09-08 16:03:15 510

原创 TensorFlow学习记录:交叉熵损失函数和Softmax函数

1.交叉熵函数在解决深度学习领域的一些问题时,交叉熵用于刻画两个概率分布向量之间的距离,是分类问题中使用比较广泛的一种损失函数。假设有两个概率分布值P和Q是等长的两个向量,可以使用以下公式来计算二者之间的交叉熵值:H(P,Q)=−∑xP(x)logQ(x)H(P,Q)=-\sum_{x}P(x)logQ(x)H(P,Q)=−∑x​P(x)logQ(x)因为可以将交叉熵理解为描述了概率分布Q对...

2019-09-07 19:21:00 1234

原创 Flask学习记录:表单

1. 使用Flask-WTF处理表单1.1 定义WTForms表单类一个表单由若干个输入字段组成,这些字段分别用类表单的类属性来表示(字段即Field,可以简单理解为表单内的输入框、按钮等部件)。from wtforms import Form,StringField,PasswordField,BooleanField,SubmitFieldfrom wtforms.validators...

2019-08-30 17:24:51 220

原创 Flask学习记录:模板

1.模板基本用法1.1模板语句和语法模板引擎jinjia2常见的3种界定符:语句比如if判断、for循环等:{% ... %}表达式比如字符串、变量、调用函数等:{{...}}注释:{# ... #}在jinjia2中,当要使用语句标识{%…%}时,在语句结束的地方,需要添加结束标签:{% if user.bio %} <i>{{user.b...

2019-08-28 17:28:23 130

原创 Flask学习记录:搭建开发环境

1.Pipenv简介Pipenv是基于pip的Python包管理工具,它和pip的用法非常相似,可以看作pip的加强版,它的出现解决了旧的pip + virtualenv + requirements.txt的工作方式的弊端。具体来说,它是pip、Pipfile和Virtualenv的结合体, 它让包安装、包依赖管理和虚拟环境管理更加方便,使用它可以实现高效Python项目开发工作流。pipe...

2019-08-27 15:12:28 184

原创 TensorFlow学习记录:目标检测算法YOLO V3前向传播

YOLO模型是目标检测领域的经典模型,目前已经发展到V3版本。经过一周的学习,已经基本掌握了对YOLO V3前向传播的理解。下面分享一下YOLO V3的前向传播流程。1.YOLO V3模型的结构与样本YOLO V3模型属于监督式训练模型。该模型所使用的样本需要包含两部分的标注信息。物体的位置坐标(矩形框)物体所属的类别将样本中的图片作为输入,将图片上的物体类别及位置坐标作为标签,对模...

2019-08-24 17:32:33 606

原创 TensorFlow学习记录:激活函数

激活函数的主要作用就是用来加入非线性因素的,以解决线性模型不能进行多分类的问题,在整个神经网络里起到非常重要的作用。因为神经网络的数学基础是处处可微的,所以选取的激活函数要能保证数据输入与输出也是可微的。神经网络中常用的激活函数有Sigmoid、Tanh和Relu等。1.Sigmoid函数Sigmoid函数的数学公式为f(x)=11+e−xf(x)=\tfrac{1}{1+e^{-x}}...

2019-08-19 12:59:29 364

原创 TensorFlow学习记录:用TF_Serving将人脸识别模型Inception ResNet V2部署到服务器上

部署前先到这里下载已训练好的Inception ResNet V2模型。下载后解压得到如下图所示文件将上图所示pb文件用saved_model模块导出为带有签名的模型文件import tensorflow as tfimport numpy as npfrom tensorflow.python.saved_model import tag_constantsmodel_path ...

2019-08-18 15:12:42 955 3

原创 TensorFlow学习记录:用TensorFlow_Serving部署模型并进行远程使用

训练好的模型在使用过程中有多种场景。TensorFlow中提供了一种TF_Serving接口,可以将带有签名的模型部署在远端服务器上,并以服务的方式对外提供借口。之前学习过saved_model模块的用法(详情请点击这里),简单点说saved_model模块就是为了实现TensorFlow Serving(以下简称TF_Serving)功能的。gRPC服务、HTTP/REST API是TF_Se...

2019-08-15 16:24:46 1375

原创 TensorFlow学习记录:saved_model模块的用法

TensorFlow中的saved_model模块用于生成冻结图文件,并且saved_model模块封装了平常用的Saver类。与Saver类不同的是,saved_model模块生成的模型文件集成了打标签的操作,可以更方便地部署在生产环境中。关于为什么要用saved_model模块,这篇文章讲得挺好的。请点击这里一个saved_model对象可以存储一个或多个MetaGraphDef。那什么时...

2019-08-14 14:51:04 9572 1

原创 TensorFlow学习记录:读取ckpt模型里面的张量名字和读取pb模型里面的张量名字

一般情况下,我们得到一个模型后都想知道模型里面的张量,下面分别从ckpt模型和pb模型中读取里面的张量名字。1.读取ckpt模型里面的张量首先,ckpt模型需包含以下文件,一个都不能少然后编写代码,将所有张量的名字都保存到tensor_name_list_ckpt.txt文件中import tensorflow as tf#直接读取图的结构,不需要手动重新定义 meta_graph...

2019-08-02 10:57:14 1067 1

原创 TensorFlow学习记录:读取已保存的.ckpt模型

之前写了一篇使用VGGNet对Cifar10数据集分类的博客,里面最后一句代码对已训练好的模型进行了保存,最近学习了如何读取已训练好的.ckpt模型,所以在这里记录一下。在使用VGGNet对Cifar10数据集分类中,代码的最后一行使用了tf.train.Saver类的save()函数将Tensorflow模型保存到了一个指定路径下,然后这个目录下就多出了四个文件,如下图所示:其中,chec...

2019-07-15 19:38:59 3401

原创 OpenCV学习记录:视频文件的读/写

OpenCV提供了VideoCapture类和VideoWriter类来支持各种格式的视频文件。支持的格式类型会因系统的不同可能会有变化,但应该都支持AVI格式。在到达视频文件末尾之前,VideoCapture类可通过read()函数来获取新的帧,每一帧是基于BGR格式的图像。可将一副图像传递给VideoWriter类的write()函数,该函数会将这幅图像加到VideoWriter类所指向的文...

2019-07-13 16:11:18 244

原创 TensorFlow学习记录:批量归一化(BatchNormalization)

批量归一化是一种加快模型收敛速度的方法,并且具有一定的泛化能力。简单点说,BatchNormalization的作用就是在深层神经网络的训练过程中使得每一层神经网络的输入保持相同的分布。因为深层神经网络在做非线性变换前的输入值Y(Y=W*x+b,Y为输入激活函数前的值,W为权重,x为输入,b为偏置),随着网络深度增加或者在训练过程中,因为输入要与权重相乘,还要经过激活函数的非线性转换,多次进行上...

2019-07-12 19:24:43 1896

原创 TensorFlow学习记录:LSTM及其变种

LSTM结构由Sepp Hochreiter教授和Jurgen Schmidhuber 教授于1997年提出,它本身就是一种特殊的循环结构。在一个整体的循环神经网络中,除了外部的RNN大循环(循环体是LSTM)外,还需要考虑LSTM本身单元“细胞”之间的自循环。这个自环与简单的带有tanh结构的循环体在RNN中的循环不同,单元“细胞”间的循环关系也展示了出来。下图所示为LSTM单元“细胞”结构示意...

2019-07-09 12:43:02 913

原创 TensofFlow学习记录:全局均值池化

全局均值池化就是在平均池化层中使用同等大小的过滤器将其特征保存下来。这种结构用来代替深层网络结构最后的全连接输出层。这个方法也是《Network In Network》论文中所论述的。以下为《Network In Network》论文中关于全局均值池化的翻译,原文请点击这里传统卷积神经网络在网络的较低层执行卷积。对于分类任务,最后一个卷积层得到的特征图被向量化然后送入全连接层,接一个softm...

2019-06-29 15:05:21 4910

原创 TensorFlow学习记录:MLP卷积层

Google团队提出的Inception Module结构在实现上借鉴了论文《Network in NetWork》(以下简称NIN,该论文由Min Lin和Qiang Chen等人于2014年发表)中的一些做法。在NIN中,主要通过串联卷积层与MLP层(级联在一起称为MLPConv(Multilayer Perceptron + Convolution))的方式增加了卷积层的表达能力。在一般的卷...

2019-06-29 12:01:46 1120

原创 TensorFlow学习记录:ResNet卷积神经网络模型

1.Residual Neural Network简介自AlexNet之后,随着卷积神经网络的不断加深(例如VGGNet和Inception V1分别有19层和22层深)以及一些优化网络性能的想法不断被提出,卷积神经网络能够达到的错误率也在逐渐下降。但是,如果只是简单的将层叠加在一起,增加网路深度,并不会起到什么作用。在增加网络深度的同时,我们还要考虑到梯度消失的问题。具体来讲,因为梯度反向传播...

2019-06-02 17:02:01 1409

原创 TensorFlow学习记录:LeNet-5卷积神经网络模型

1.1 LeNet-5卷积神经网络简介LeNet-5是一个专为手写数字识别而设计的最经典的卷积神经网络,被誉为早期卷积神经网络种最有代表行的实验系统之一,在MNIST数据集上,LeNet-5模型可以达到约99.4%的准确率。下面将会详细介绍LeNet-5卷积神经网络的结构。1.2 LeNet-5模型结构详解LeNet-5模型结构如下图所示在上图所示的模型结构中,用C代表卷积层,卷积操作的...

2019-05-19 16:36:26 1408

原创 TensorFlow学习记录:用简单卷积神经网络实现Cifar10数据集分类

使用TensorFlow搭建一个简单的卷积神经网络实现Cifar10数据集分类,这个神经网络模型包括两个卷积层,两个池化层,卷积操作后在后面加三个全连层,最后一个全连层用于输出分类。整个神经网络架构图如下:名词解释名字说明输入层输入层是整个神经网络的输入。在用于图像分类的卷积神经网络中,它一般代表的是一张图片的像素矩阵。根据通道数的不同,图片像素的矩阵也有着不同的深度数...

2019-01-12 17:54:12 2328 7

原创 Java调用.py文件的方法(传参)

用keras训练了一个.h5模型,然后用.py文件调用.h5模型,最后用Java调用.py文件,主要思路就是用java的Runtime.getRuntime().exec(arguments)方法在cmd中调用.py文件。关于传参的方法,网上找了很多,不过都没用,然后把网上的方法总结了一下,结果无意中就运行成功了。其实传参的思路并不是很复杂,只需几句代码就行了。Java代码:package t...

2018-12-16 12:06:28 3899 4

原创 TensorFlow学习记录:variable_scope()和name_scope()函数的区别

1.variable_scope()1.1 variable_scope() 对get_variable()的影响首先,我们在相同的variable_scope内使用get_variable()函数创建一个name属性为a的变量a1import tensorflow as tfwith tf.variable_scope("one"): a1=tf.get_variable("a",[1...

2018-12-11 23:48:52 298

原创 TensorFlow学习记录:张量

上一篇文章讲了TensorFlow中什么是计算图,本文简单介绍下什么是张量。在一个TensorFlow程序中,如果将计算图称为TensorFlow的计算模型,那么张量则可以称为TensorFlow的数据模型,因为张量是TensorFlow管理数据的形式,也就是说,在TensorFlow程序中,所有数据都可以借助张量的形式来表示。张量,可以把它简单理解为不同维度的数组,其中零阶张量的表现形式是标...

2018-12-09 20:00:06 208

原创 TensorFlow学习记录:计算图

前一段时间在学Keras,对深度学习算是有了点了解。最近在学Tensorflow,感觉有些重要的概念需要记录下来,方便日后复习查看。首先来看下什么是计算图Tensorflow 程序中的计算过程可以表示为一个计算图,其作用与外观都可以类比程序流程图来理解,在计算图上我们可以直观地看到数据的计算流程。计算图中每一个运算都可以视为一个节点(Node),每一个节点都可有任意个输入和输出。如果一个运...

2018-12-09 17:03:44 357

原创 Keras卷积神经网络识别CIFAR-10图像(2)

上一篇文章简单介绍了卷积神经网络的结构,本篇文章则会利用上一篇文章的理论知识搭建神经网络模型来识别CIFAR-10图像。2.Keras卷积神经网络识别CIFAR-10图像首先简单介绍一下什么是CIFAR-10,CIFAR-10是是用于对象识别的已建立的计算机视觉数据集。它是8000万个微小图像数据集的一个子集,由60,000个32x32彩色图像组成,包含10个对象类别中的一个,每个类别有600...

2018-11-25 21:36:34 2377 1

原创 Keras卷积神经网络识别CIFAR-10图像(1)

之前的文章通过识别手写数字来学习什么是多层感知器,本文将会通过识别CIFAR-10图像这个项目来认识什么是卷积神经网络。这篇文章将会分成两个部分,第一部分会简单介绍一下卷积神经网络的结构,第二部分将通过构建卷积神经网络来识别CIFAR-10图像,让大家了解卷积神经网络是如何搭建和工作的。1卷积神经网络简介1.1卷积神经网络结构先上一张看起来很牛X的图(图片来源:百度百科)(1) 卷积层...

2018-11-24 22:49:18 1408 1

转载 详解误差反向传播算法推导(转)

原文地址https://blog.csdn.net/ViatorSun/article/details/82696475另外补充一下原文中的某些函数:原文中的误差函数为原文中的中间值u为

2018-11-22 20:07:45 1057

原创 keras多层感知器识别手写数字

2.Keras建立多层感知器模型2.1简单介绍多层感知器模型注:以下模型及其说明来自于《TensorFlow+Keras深度学习人工智能实践应用》林大贵 著以矩阵方式仿真多层感知器模型的工作方式(如下图所示)建立输入与隐藏层的公式:h1=ReLu(x*w1+b1)变量名说明输入层x仿真输入神经元接收外界传送消息,如上图所示,共有784个神经元。隐藏层h1...

2018-11-14 17:33:16 2149 4

原创 Keras手写数字识别(初识MNIST数据集)

这篇文章将会分成两个部分,第一部分将简单认识一下keras中的手写数据集MNIST,第二部分将会介绍用Keras建立多层感知器模型,然后训练模型,评估模型的准确率,最后用训练完成的模型识别MNIST的手写数字。1.MNIST简介MNIST是深度学习的经典入门demo,它是由Yann LeCun搜集的,这个demo是由6万张训练图片和1万张测试图片构成的,每张图片都是28px*28px大小,而且...

2018-11-13 00:14:08 1901 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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