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