TensorFlow Keras 提供了一系列的模型 API,使得构建和训练神经网络变得更加容易。以下是一些常用的模型类型:
- Sequential 模型:一种线性堆叠的模型,可以很容易地通过添加层来构建。
- Functional API:允许构建复杂的模型结构,如循环神经网络(RNN)和卷积神经网络(CNN)。
- Model subclassing API:允许通过继承
tf.keras.Model
类来自定义模型。
Sequential 模型
Sequential 模型是最简单的一种模型,它按照顺序堆叠层。以下是一个简单的 Sequential 模型示例:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation
model = Sequential()
model.add(Dense(64, input_shape=(100,)))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(10))
model.add(Activation('softmax'))
Functional API
Functional API 允许你创建更复杂的模型结构。以下是一个使用 Functional API 构建的模型示例:
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Input, Dense, Flatten, Conv2D, MaxPooling2D
input_tensor = Input(shape=(28, 28, 1))
x = Conv2D(32, (3, 3), activation='relu')(input_tensor)
x = MaxPooling2D((2, 2))(x)
x = Flatten()(x)
x = Dense(10, activation='softmax')(x)
model = Model(inputs=input_tensor, outputs=x)
Model subclassing API
如果你需要更高级的定制,可以通过 Model subclassing API 来创建自定义模型。
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Layer
class MyCustomLayer(Layer):
def __init__(self, output_dim, **kwargs):
super(MyCustomLayer, self).__init__(**kwargs)
self.output_dim = output_dim
def build(self, input_shape):
self.kernel = self.add_weight(name='kernel',
shape=(input_shape[1], self.output_dim),
initializer='uniform',
trainable=True)
def call(self, x):
return K.dot(x, self.kernel)
model = Model(inputs=inputs, outputs=MyCustomLayer(10)(x))

更多关于 TensorFlow Keras 模型的信息,请访问 TensorFlow Keras 官方文档.
希望这些信息能帮助你更好地理解 TensorFlow Keras 模型 API。如果你有任何问题,欢迎在 TensorFlow 社区论坛 上提问。