Tensorflow.keras.layers各种层的学习笔记

目录

  • karas简介
  • 一. 输入层keras.layers.Input
  • 二. 嵌入层keras.layers.Embedding
  • 三. Lambda层keras.layers.Lamda

karas简介

karas是一个由Python编写的开源人工神经网络库,其为开发深度学习模型提供了高层次的构建模块,可以作为Tensorflow的高阶应用程序接口。

一. 输入层keras.layers.Input

如果直接建立普通的tensor张量,则无法外加一些额外的属性,keras的Input层用来初始化一个keras张量。
补充:张量就是机器学习里的数字容器,本质就是各种不同维度的数组,2D张量就可以理解为2维数组,向量可以理解为1维的张量
Input层输入参数列表如下,输出一个张量:

def Input(  # pylint: disable=invalid-name
    shape=None,
    batch_size=None,
    name=None,
    dtype=None,
    sparse=False,
    tensor=None,
    ragged=False,
    **kwargs):
  Returns:
    A `tensor`.

参数解析:
shape:整型元组格式,表示输入数据的维度,比如shape=(32, )表示预期输入向量集合是32维的。不清楚输入维度时可以设置为None。
batch_size:整型,表示batch大小
name:给这层网络取名,名字要有唯一性,默认None时系统会自动取名字
dype:输入的数据类型,可以是float32,float64,int32
sparse:指定要创建的占位符是否稀疏,sparse和ragged中只能有一个是True。如果sparse是False,稀疏的张量仍可以传进输入,且被致密化。
tersor:将现有张量包装到输入层

二. 嵌入层keras.layers.Embedding

嵌入层Embedding是将正整数转化为固定尺寸的稠密向量,例如[[4], [20]]->[[0.25, 0.1], [0.6, -0.2]],嵌入层只能作为模型的第一层。
输入参数的列表如下,其中输入是[batch_size,sequence_length]的2D张量,输出是[batch_size, sequence_length, output_dim]的3D张量

def __init__(self,
               input_dim,
               output_dim,
               embeddings_initializer='uniform',
               embeddings_regularizer=None,
               activity_regularizer=None,
               embeddings_constraint=None,
               mask_zero=False,
               input_length=None,
               **kwargs):
  Input shape:
    2D tensor with shape: `(batch_size, input_length)`.

  Output shape:
    3D tensor with shape: `(batch_size, input_length, output_dim)`.

参数解析(图嵌入学习时的理解)
input_dim:整型,图节点的数量
output_dim:整型,输出的嵌入维度
embeddings_initializer:对嵌入矩阵初始化的方式
embeddings_regularizer:对嵌入矩阵正则化的方式
embeddings_constraint:对嵌入矩阵约束的函数
mask_zero:是否把0看作一个应被遮蔽的特殊“padding”值,对循环神经网络层比较有用
input_length:输入序列的长度

三. Lambda层keras.layers.Lamda

在Keras中,自定义层最简单的方法就是通过Lambda层的方式,用来对上一层的输出进行任何自定义的函数操作,输入参数列表如下:

def __init__(self, function, output_shape=None, 
			 mask=None, arguments=None,**kwargs):

参数解析
function:要实现的函数,该函数只接受上一层的输出
output_shape:函数应返回值的shape
mask
arguments:记录向函数传递的其他关键字参数

你可能感兴趣的:(tensorflow,keras,学习)