Keras 是一个用于构建和训练深度学习模型的高级接口,它可以运行在多种底层引擎上,如 TensorFlow、CNTK 或 Theano。Keras 的核心数据结构是“模型”,模型是一种组织网络层的方式。Keras 中主要的模型是 Sequential 模型和函数式 API 模型。在这篇文章中,我们将通过一些基础的例子来探索 Keras 的核心功能。
一、安装与基本设置
首先,我们需要安装 Keras。由于 Keras 是一个在 TensorFlow 之上的高级 API,因此我们需要先安装 TensorFlow,然后再安装 Keras。
pip install tensorflow
pip install keras
在安装好 Keras 之后,我们可以进行一些基本的设置。例如,设置 Keras 的后端引擎。在 Keras 中,我们可以通过以下方式设置后端引擎:
import os
os.environ['KERAS_BACKEND']='tensorflow'
二、Sequential 模型
在 Keras 中,最简单的模型是 Sequential 模型,它是由多个网络层线性堆叠的。下面我们用 Sequential 模型来实现一个简单的全连接神经网络。
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Dense(10, activation='softmax'))
在上述代码中,我们首先导入了 Keras 的 Sequential 模型和 Dense 层。然后,我们创建了一个 Sequential 模型,并向其中添加了两个 Dense 层。
第一个 Dense 层有 32 个节点,接受的输入数据维度为 784(这可以理解为我们的数据有 784 个特征)。第二个 Dense 层有 10 个节点,使用 softmax 函数作为激活函数,输出 10 类的概率分布。
三、模型编译
定义好模型结构后,我们可以使用 .compile() 方法来配置学习过程。.compile() 方法接收三个参数:优化器 optimizer、损失函数 loss 和评估指标 metrics。
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
在上述代码中,我们设置了优化器为 RMSprop,损失函数为交叉熵损失函数,评估指标为准确率。
四、模型训练
在编译模型后,我们可以用数据来训练模型。在 Keras 中,我们可以使用 .fit() 方法来训练模型,该方法接收两个参数:输入数据和目标数据。
# 假设我们有一些训练数据和标签
train_data = ...
train_labels = ...
model.fit(train_data, train_labels, epochs=10, batch_size=32)
在上述代码中,我们设置了训练的轮数为 10,每个批次的样本数量为 32。
这就是使用 Keras 创建和训练深度学习模型的基础流程。在下一篇文章中,我们将介绍更多关于 Keras 的高级用法。