对Keras提供的对各种层的抽象进行相对全面的概括

1 基础常用层

名称 作用 原型参数
Dense 实现全连接层 Dense(units,activation,use_bias=True, kernel_initializer=’glorot_uniform’, bias_initializer=’zeros’)
Activation 对上层输出应用激活函数 Activation(activation)
Dropout 对上层输出应用dropout以防止过拟合 Dropout(ratio)
Flatten 对上层输出一维化 Flatten()
Reshape 对上层输出reshape Reshape(target_shape)
Permute 对输入的维度按照指定的顺序交换并重排数据 Permute(dims)
RepeatVector 将输入重复若干次后进行输出 RepeatVector(n)
Lambda 对输入施加TF/TH表达式后输出 Lambda(function, output_shape,arguments=None)
Masking 屏蔽指定的序列值 Masking(mask_value=0.0)

PS1:Dense()参数说明

名称 说明
units 层中单元数,也是输出维度
activation 激活函数
use_bias 是否使用偏置
kernel_initializer 权值初始化方法
bias_initalizer 偏置初始化方法
kernel_regularizer 权值规范化方法
bias_regularizer 偏置规范化方法
activity_regularizer  
kernel_constraints 权值约束
bias_constraints 偏置约束

PS2: 预置激活函数/初始化器/正则化器说明

激活函数 初始化器 正则化器
softmax Zeros 全0 l1
elu Ones 全1 l2
softplus Constant 常数 l1_l2
softsign RandomNormal 正态分布  
relu RandomUniform 平均分布  
tanh TruncatedNormal 无尾正态  
sigmoid Orthogonal 正交矩阵  
hard_sigmoid Identity 单位矩阵  
linear glorot_normal  

2 卷积层

层名 作用 原型
Conv1D 1维卷积层 Conv1D(filters, kernel_size, strides=1, padding=’valid’)
Conv2D 2维卷积层 Conv2D(filters, kernel_size, strides=(1, 1), padding=’valid’,dilation_rate=(1, 1))
UpSampling1D 1维上采样,将数据重复指定的次数 UpSampling2D(size=2)
UpSampling2D 2维上采样,将数据在2个维度上重复指定的次数 UpSampling2D(size=(2, 2))
ZeroPadding2D 边界填充0 ZeroPadding2D(padding=(1, 1))

参数说明:

名称 说明
filters 卷积核的数目(即输出的维度)
kernel_size 卷积核的宽度和长度。如为单个整数,表示在各个空间维度的相同长度
strides 为卷积的步长。如为单个整数,则表示在各个空间维度的相同步长
padding 补0策略,为“valid”, “same”
activation  
data_format channels_first或channels_last之一,代表图像的通道维的位置,默认为channels_last
use_bias  
kernel_initializer  
bias_initializer  
kernel_regularizer  
bias_regularizer  
activity_regularizer  
kernel_constraints  
bias_constraints  

3 池化层

层名 作用 原型
MaxPooling1D 对1维输入进行最大值池化过滤 MaxPooling1D(pool_size=2, strides=None, padding=’valid’)
AveragePooling1D 对1维输入进行平均池化过滤 AveragePooling1D(pool_size=2, strides=None, padding=’valid’)
MaxPooling2D 对2维输入进行最大值池化过滤 MaxPooling2D(pool_size=(2, 2), strides=None, padding=’valid’, data_format=None)
AveragePooling2D 对3维输入进行平均池化过滤 AveragePooling2D(pool_size=(2, 2), strides=None, padding=’valid’, data_format=None)
GlobalMaxPooling1D 对1维输入进行全局最大值池化过滤 GlobalMaxPooling1D()
GlobalAveragePooling1D 对1维输入进行全局平均值池化过滤 GlobalAveragePooling1D()
GlobalMaxPooling2D 对2维输入进行全局最大值池化过滤 GlobalMaxPooling2D()
GlobalAveragePooling2D 对2维输入进行全局平均值池化过滤 GlobalAveragePooling2D()

2d参数说明

 名称 说明
pool_size 过滤器的大小,通常取(2,2)或(3,3)
strides 过滤器的移动步长,取2使得输出shape缩小一半
padding valid为1填充,same为0填充
data_format 字符串,channels_first或channels_last之一

4 循环层

名称 作用 原型参数
SimpleRNN 全连接RNN网络 SimpleRNN(units, activation=’tanh’, use_bias=True, kernel_initializer=’glorot_uniform’, recurrent_initializer=’orthogonal’, bias_initializer=’zeros’,dropout=0.0, recurrent_dropout=0.0))
GRU 门限循环单元层 GRU(units, activation=’tanh’, recurrent_activation=’hard_sigmoid’, use_bias=True, kernel_initializer=’glorot_uniform’, recurrent_initializer=’orthogonal’, bias_initializer=’zeros’, dropout=0.0, recurrent_dropout=0.0)
LSTM 长短期记忆模型层 LSTM(units, activation=’tanh’, recurrent_activation=’hard_sigmoid’, use_bias=True, kernel_initializer=’glorot_uniform’, recurrent_initializer=’orthogonal’, bias_initializer=’zeros’, unit_forget_bias=True, dropout=0.0, recurrent_dropout=0.0)

5 嵌入层

名称 作用 原型参数
Embedding 嵌入层将输入中的整数转换为向量,导致原维度+1 EmbeddingEmbedding(input_dim, output_dim, embeddings_initializer=’uniform’, embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)

参数说明:
input_dim: 字典长度,即输入数据最大下标+1
output_dim:全连接嵌入的维度
input_length:当输入序列的长度固定时,该值为其长度。如果要在该层后接Flatten层,然后接Dense层,则必须指定该参数,否则Dense层的输出维度无法自动推断。

Keras学习系列——神经网络层组件的更多相关文章

  1. Java并发包源码学习系列:同步组件CountDownLatch源码解析

    目录 CountDownLatch概述 使用案例与基本思路 类图与基本结构 void await() boolean await(long timeout, TimeUnit unit) void c ...

  2. Java并发包源码学习系列:同步组件CyclicBarrier源码解析

    目录 CyclicBarrier概述 案例学习 类图结构及重要字段 内部类Generation及相关方法 void reset() void breakBarrier() void nextGener ...

  3. Java并发包源码学习系列:同步组件Semaphore源码解析

    目录 Semaphore概述及案例学习 类图结构及重要字段 void acquire() 非公平 公平策略 void acquire(int permits) void acquireUninterr ...

  4. 深度学习之TensorFlow构建神经网络层

    深度学习之TensorFlow构建神经网络层 基本法 深度神经网络是一个多层次的网络模型,包含了:输入层,隐藏层和输出层,其中隐藏层是最重要也是深度最多的,通过TensorFlow,python代码可 ...

  5. DocX开源WORD操作组件的学习系列四

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  6. DocX开源WORD操作组件的学习系列三

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  7. DocX开源WORD操作组件的学习系列二

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  8. DocX开源WORD操作组件的学习系列一

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  9. Caffe学习系列——工具篇:神经网络模型结构可视化

    Caffe学习系列——工具篇:神经网络模型结构可视化 在Caffe中,目前有两种可视化prototxt格式网络结构的方法: 使用Netscope在线可视化 使用Caffe提供的draw_net.py ...

随机推荐

  1. 一个动态扩展表格控件列和行的 jQuery 插件

    一个动态扩展表格控件列和行的 jQuery 插件 不过这并不影响使用鸭! 看这里:https://github.com/zhuwansu/table-ext.js 一个简单的示范 html <t ...

  2. Java中的SPI扩展机制(有demo)

    参考连接:https://www.jianshu.com/p/3a3edbcd8f24 一.什么是SPI SPI ,全称为 Service Provider Interface,是一种服务发现机制.它 ...

  3. 图解kubernetes服务打散算法的实现源码

    在分布式调度中为了保证服务的高可用和容灾需求,通常都会讲服务在多个区域.机架.节点上平均分布,从而避免单点故障引起的服务不可用,在k8s中自然也实现了该算法即SelectorSpread, 本文就来学 ...

  4. 数学基础系列(六)----特征值分解和奇异值分解(SVD)

    一.介绍 特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中.而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景. 奇异值分解是一个有着很明显的物理意义的一种方法,它可 ...

  5. Oracle v_$和v$的解释

    以v_$mystat和v$mystat具体说明 grant语句中使用的v_$mystat和test用户访问的v$mystat不一样 这里说一下 v$mystat 和 v_$mystat 的区别 初始状 ...

  6. MySQL——DOS命令

    翻开之前的笔记发现有这么一篇,于是整理了一下发出来加深记忆并分享交流,欢迎纠错,谢谢!!! 1.启动MySQL服务: net start mysql; 2.停止MySQL服务: net stop my ...

  7. mysql本地连接远程连接不上

    首先测试linux下的端口有没有开通 /etc/init.d/iptables status 查看3306端口没有开通 使用以下命令开通 /sbin/iptables -I INPUT -p tcp ...

  8. docker创建mysql容器,并挂载数据+配置

    新建:/my/mysql/my.cnf (准备挂载配置文件用) 将以下内容拷贝进去(或者启动一个docker的mysql,并且把/etc/mysql/my.cnf中的内容拷贝出来) # Copyrig ...

  9. 使用telnet连接redis

    平时连接redis用的是官方客户端redis-cli, 使用redis-cli最常用的几个参数如下: -h <hostname> Server hostname (default: 127 ...

  10. 从txt文本内读取数据(逐行读取),执行循环

    如下图,名称为1.txt的文本文件内有链接若干条,预期是循环读取txt文本内链接,而后访问该链接 脚本如下: for line in open('C:\\Users\\Beckham\\Desktop ...