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 Logo](https://cloud-image.ullrai.com/q/TensorFlow Logo/)

更多关于 TensorFlow Keras 模型的信息,请访问 TensorFlow Keras 官方文档.


希望这些信息能帮助你更好地理解 TensorFlow Keras 模型 API。如果你有任何问题,欢迎在 TensorFlow 社区论坛 上提问。