一、pad_sequences

from keras.preprocessing.sequence import pad_sequences

 keras只能接受长度相同的序列输入。因此如果目前序列长度参差不齐,这时需要该模块

 该函数是将序列转化为经过填充以后的一个长度相同的新序列新序列

二、keras中的Sequential模型

 Sequential更准确的应该理解为堆叠,通过堆叠许多层,构建出深度神经

 Sequential模型的核心操作是添加layers(图层),以下展示如何将一些最流行的图层添加到模型中:

 如下代码向模型添加一个带有64个大小.3 * 3的过滤器的卷积层:

from keras.models import Sequential
from keras.layers import Conv2D model = Sequential()
model.add( Conv2D(64, (3, 3), activation='relu') )

三、keras.layers.Embedding

 嵌入层将正整数(下标)转换为具有固定大小的向量,如 [ [4],[20] ] ->[ [0.25,0.1],[0.6,-0.2] ]Embedding层只能作为模型的第一层

from keras.layers import Embedding
embedding_layer = Embedding(VOCAB_SIZE + 1,
EMBEDDING_DIM,
weights=[embedding_matrix],
input_length=TIME_STAMPS,
trainable=False,
mask_zero=True)

 这里的参数解释一下:

  • input_dim:大或等于0的整数,字典长度,即输入数据最大下标+1

  • output_dim:大于0的整数,代表全连接嵌入的维度

  • init:初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的Theano函数。该参数仅在不传递weights参数时有意义。

  • weights:权值,为numpy array的list。该list应仅含有一个如(input_dim,output_dim)的权重矩阵

  • W_regularizer:施加在权重上的正则项,为WeightRegularizer对象

  • W_constraints:施加在权重上的约束项,为Constraints对象

  • mask_zero:布尔值,确定是否将输入中的‘0’看作是应该被忽略的‘填充’(padding)值,该参数在使用递归层处理变长输入时有用。设置为True的话,模型中后续的层必须都支持masking,否则会抛出异常

  • input_length:当输入序列的长度固定时,该值为其长度。如果要在该层后接Flatten层,然后接Dense层,则必须指定该参数,否则Dense层的输出维度无法自动推断。

  • dropout:0~1的浮点数,代表要断开的嵌入比例

 关于Embedding层,请参考

四、keras 双向LSTM

from keras.models import Sequential
from keras.layers import Bidirectional, LSTM
model.add( Bidirectional( LSTM(128, return_sequences=True) ) )

 return_sequences: 如果为True的话,只返回最后一个状态的输出,是一个(samples,output_dim)2D张量,如果是False,则是返回所有序列状态的输出,是一个(samples,timesteps,output_dim)3D张量

 LSTM中的128,即是units参数,表示输出向量维度,请参考

 参数意义参考

 关于其过程,请参考,下面的图片来自该博客:

五、keras Dense层

 Dense就是常用的全连接层

六、keras TimeDistributed

七、keras CRF

from keras_contrib.layers.crf import CRF
crf_layer = CRF(self.NUM_CLASSES, sparse_target=True)
model.add(crf_layer)

八、compile

keras使用的更多相关文章

  1. [Keras] Develop Neural Network With Keras Step-By-Step

    简单地训练一个四层全连接网络. Ref: http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/ 1 ...

  2. keras 中如何自定义损失函数

    http://lazycoderx.com/2016/10/09/keras%E4%BF%9D%E5%AD%98%E6%A8%A1%E5%9E%8B%E6%97%B6%E4%BD%BF%E7%94%A ...

  3. keras安装

    找对工具真的很重要,周末和学霸折腾了一天才装了几个包,问了同事找了一个方便的包,装起来不要太快啊.二十分钟全部搞定. 一.Anaconda 真是大杀器,牛到飞起来,一键部署,所有常用的机器学习包全部包 ...

  4. ubuntu系统theano和keras的安装

    说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras.步骤如下: 1,安装pip sudo apt-get install ...

  5. neurosolutions 人工神经网络集成开发环境 keras

    人工神经网络集成开发环境 :  http://www.neurosolutions.com/ keras:   https://github.com/fchollet/keras 文档    http ...

  6. Keras官方Example里Mnist-cnn的调试运行

    问题:老板让测试运行Keras官网里的Mnist-cnn.py,结果从下载数据就是一路坑-- 当前环境:Ubuntu12.04.python2.7.Keras 1.1.1(不知道这个版本号对不对,在启 ...

  7. [Keras] mnist with cnn

    典型的卷积神经网络. Keras傻瓜式读取数据:自动下载,自动解压,自动加载. # X_train: array([[[[ 0., 0., 0., ..., 0., 0., 0.], [ 0., 0. ...

  8. [Keras] Install and environment setting

    Documentation: https://keras.io/ 1. 利用anaconda 管理python库是明智的选择. conda update conda conda update anac ...

  9. linux install Theano+Tensorflow+Keras

    安装过程中,网络状态一定要好,如果安装过程中出现time out的提示信息,今天就可以洗洗睡啦,等明天网络状态好的时候再安装. 安装过程出现不知名的错误的时候,执行第一步,update一下 1.#up ...

  10. Keras学习~试用卷积~跑CIFAR-10

    import numpy as np import cPickle import keras as ks from keras.layers import Dense, Activation, Fla ...

随机推荐

  1. Android 报错:error: too many padding sections on bottom border

    一.发生错误 [我以为我做了一张完美的.9图片,没想到.9图片还需要画左边和上边,尴尬···] 二.解决方法 .9图片造成错误 [具体内容] 最后修改.9图为

  2. Android视频录制从不入门到入门系列教程(二)————显示视频图像

    1.创建一个空的工程,注意声明下列权限: <uses-permission android:name="android.permission.CAMERA"/> < ...

  3. HTML 、XHTML、H5的区别:

    概括: HTML指的是HTML4.01:HTML是标记/设计语言.XHTML是HTML的过渡版:XHTML是可扩展的标记语言. H5是HTML的升级版.H5是一门编程语言. 区别: 1.XHTML标签 ...

  4. 【Spring Cloud笔记】 Eureka通过集群实现高可用

    Eureka实现服务注册与发现,在Spring Cloud微服务中起着关键性的作用,必须保障其高可用,常规方案无非通过集群实现.这里在本地机器搭建一个伪集群环境,通过两个节点实现相互注册,并通过主备数 ...

  5. PowerShell 官方下载地址

    PowerShell 官方下载地址 Powershell 目前在 GitHub 维护, 所以下载地址为 https://github.com/PowerShell/PowerShell/release ...

  6. L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误(转)

    L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误   错误描述:“ L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误” 只有这个没有错误码. ...

  7. 初窥css---盒子以及盒子扩展

    盒子以及盒子扩展 盒子 盒子是用来实现将网页区域化的一个非常重要的工具,盒子使得网页各部分十分清晰的被分开,对于程序员十分友好(...),并且使得网页更加容易维护. 盒子的常用属性 宽和高这两个属性就 ...

  8. ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库

    字符集为ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库  相信大家都对字符集有相当的了解了,废话就不多说了!直接步入正题:这里主要是测试含有 汉字的数据从ZHS16GBK的数据库导入到 ...

  9. button JS篇ant Design of react

    这篇看ant Desgin of react的button按钮的js代码,js代码部分是typescript+react写的. button组件里面引用了哪些组件: import * as React ...

  10. Ubuntu常用软件

    //latex公式识别 sudo snap install mathpix-snipping-tool //markdown # or run: # sudo apt-key adv --keyser ...