Tensorflow官网
Keras是一个用于构建和训练深度学习模型的高阶API。它可用于快速设计原型,高级研究和生产,具有以下三个优势:
-
方便用户使用
Keras具有针对常见用例做出优化的简单而一致的界面。它可针对用户错误提供切实可行的清晰反馈。 -
模块化和可组合
将可配置的构造快连接在一起就可以构建Keras模型,并且几乎不受限制。 -
易于扩展
可以自关系编写定义构造块以表达新的研究创意,并且可以创建新层,损失函数并开发先进模型。
构建简单模型
序列模型
在Keras中,可以通过组合层来构建模型。模型通常是由层构成的图。最常见的模型类型是堆层:tf.keras.Sequential模型。
构建一个简单的全连接的网络。
model = tf.keras.Sequential()
# Adds a densely-connected layer with 64 units to the model:
model.add(layers.Dense(64, activation='relu'))
# Add another:
model.add(layers.Dense(64, activation='relu'))
# Add a softmax layer with 10 output units:
model.add(layers.Dense(10, activation='softmax'))
配置图层
有许多tf.keras.layers可用的常见构造函数参数:
- activation:设置图层的激活功能。此参数由内置函数的名称或可调用对象指定。默认情况下,不应用任何激活。
- kernel_initializer和bias_initializer:创建图层权重(内核和偏差)的初始化方案。此参数是名称或可调用对象。这默认为"Glorot uniform"初始化程序。
- kernel_regularizer和bias_regularizer:应用图层权重(内核和偏差)的正则化方案,例如L1或L2正则化。默认情况下,不应用正则化。
以下tf.keras.layers.Dense使用构造函数参数实例化图层:
# Create a sigmoid layer:
layers.Dense(64, activation='sigmoid')
# Or:
layers.Dense(64, activation=tf.sigmoid)
# A linear layer with L1 regularization of factor 0.01 applied to the kernel matrix:
layers.Dense(64, kernel_regularizer=tf.keras.regularizers.l1(0.01))
# A linear layer with L2 regularization of factor 0.01 applied to the bias vector:
layers.Dense(64, bias_regularizer=tf.keras.regularizers.l2(0.01))
# A linear layer with a kernel initialized to a random orthogonal matrix:
layers.Dense(64, kernel_initializer='orthogonal')
# A linear layer with a bias vector initialized to 2.0s:
layers.Dense(64, bias_initializer=tf.keras.initializers.constant(2.0))