Keras 是 TensorFlow 的高级 API,提供了一系列易于使用的神经网络构建模块。以下是一些关键 API 的概述。

高级模型

  • Sequential:用于构建线性堆叠的模型。
  • Model:用于定义和编译复杂的模型。

Sequential 模型

Sequential 模型是一个线性堆叠的模型,它允许您通过将层添加到序列中来构建模型。

from keras.models import Sequential
from keras.layers import Dense

model = Sequential()
model.add(Dense(10, activation='relu', input_shape=(8,)))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

Model 模型

Model 允许您定义更复杂的模型结构,包括嵌套和共享层。

from keras.models import Model
from keras.layers import Input, Dense

input = Input(shape=(8,))
x = Dense(10, activation='relu')(input)
output = Dense(1, activation='sigmoid')(x)

model = Model(inputs=input, outputs=output)
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

Keras 提供了多种层,包括全连接层、卷积层、循环层等。

Dense 层

Dense 层是全连接层,它将输入的每个样本映射到输出空间的每个元素。

from keras.layers import Dense

dense_layer = Dense(10, activation='relu')

Conv2D 层

Conv2D 层是卷积层,用于处理图像数据。

from keras.layers import Conv2D

conv_layer = Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1))

损失和优化器

  • 损失函数:用于衡量模型预测值与真实值之间的差异。
  • 优化器:用于更新模型的权重。

损失函数

  • binary_crossentropy:用于二分类问题。
  • categorical_crossentropy:用于多分类问题。

优化器

  • adam:一种自适应学习率的优化器。
from keras.optimizers import Adam

optimizer = Adam()

资源

要了解更多关于 Keras API 的信息,请访问 Keras 官方文档

Keras Logo