Keras 是一个高级神经网络 API,能够以 Python 的方式轻松定义和训练深度学习模型。本教程将为您介绍 Keras 的基本概念和使用方法。
快速入门
安装 Keras
pip install keras
创建第一个模型
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
模型架构
Keras 支持多种模型架构,包括:
- 序列模型(Sequential):最简单的模型,通过顺序堆叠层来构建。
- 函数式模型:允许更复杂的层连接方式,如循环神经网络(RNN)。
- 模型加载:可以从 JSON 或 YAML 文件加载预定义的模型。
层
Keras 提供了丰富的层,包括:
- Dense:全连接层。
- Convolutional:卷积层,用于图像处理。
- Recurrent:循环层,用于处理序列数据。
损失函数和优化器
Keras 提供了多种损失函数和优化器:
- 损失函数:用于衡量预测值与真实值之间的差异。
- 优化器:用于调整模型参数以最小化损失函数。
实例
以下是一个简单的分类任务示例:
from keras.datasets import mnist
from keras.utils import np_utils
# 加载数据集
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# 归一化数据
X_train = X_train.reshape(X_train.shape[0], 784)
X_test = X_test.reshape(X_test.shape[0], 784)
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train /= 255
X_test /= 255
# 编码标签
y_train = np_utils.to_categorical(y_train, 10)
y_test = np_utils.to_categorical(y_test, 10)
# 创建模型
model = Sequential()
model.add(Dense(512, input_shape=(784,), activation='relu'))
model.add(Dense(10, activation='softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, batch_size=128, epochs=10, verbose=1)
# 评估模型
score = model.evaluate(X_test, y_test, verbose=0)
print('Test score:', score[0])
print('Test accuracy:', score[1])
扩展阅读
想要了解更多关于 Keras 的知识,请访问我们的 Keras 官方文档。
Keras Logo