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