The Sequential Model
线性堆叠模型
01 设置
| import tensorflow as tf |
| from tensorflow import keras |
| from tensorflow.keras import layers |
02 什么时候使用线性堆叠模型
单只有一个输入和一个输出的时候,典型的添加方式可以如下所示:
| |
| model=keras.Sequential([layers.Dense(2,activation='relu',name='layer1')]) |
| x=tf.ones([3,3]) |
| y=model(x) |
| print(y) |
| tf.Tensor( |
| [[0. 0.] |
| [0. 0.] |
| [0. 0.]], shape=(3, 2), dtype=float32) |
说明一下输入输出的形状关系:

| |
| layer1 = layers.Dense(2, activation="relu", name="layer1") |
| layer2 = layers.Dense(3, activation="relu", name="layer2") |
| layer3 = layers.Dense(4, name="layer3") |
| |
| |
| x = tf.ones((3, 3)) |
| y = layer3(layer2(layer1(x))) |
以下情况不适用于Sequential模型:
- 有多个输入或多个输出
- 层有多个输入或多个输出
- 层共享
- 非线性拓扑网络(如:残差网络、多分支网络)
03 创建一个线性堆叠网络
| |
| model = keras.Sequential( |
| [ |
| layers.Dense(2, activation="relu"), |
| layers.Dense(3, activation="relu"), |
| layers.Dense(4), |
| ] |
| ) |
| [<keras.layers.core.dense.Dense at 0x28f9dbce7c0>, |
| <keras.layers.core.dense.Dense at 0x28f9dbce3a0>, |
| <keras.layers.core.dense.Dense at 0x28f9dbce970>] |
| |
| model = keras.Sequential() |
| model.add(layers.Dense(2, activation="relu")) |
| model.add(layers.Dense(3, activation="relu")) |
| model.add(layers.Dense(4)) |
| |
| model.pop() |
| print(len(model.layers)) |
| |
| model = keras.Sequential(name="my_sequential") |
| model.add(layers.Dense(2, activation="relu", name="layer1")) |
| model.add(layers.Dense(3, activation="relu", name="layer2")) |
| model.add(layers.Dense(4, name="layer3")) |
04 可以事先指定模型输入形状
| layer = layers.Dense(3) |
| layer.weights |
| |
| x=tf.ones([1,4]) |
| y=layer(x) |
| layer.weights |
| [<tf.Variable 'dense_7/kernel:0' shape=(4, 3) dtype=float32, numpy= |
| array([[-0.21379423, -0.24007618, -0.35851455], |
| [ 0.3631029 , -0.6891039 , 0.63587666], |
| [-0.3662386 , 0.18915188, 0.66558635], |
| [ 0.88581955, 0.18579733, -0.22770852]], dtype=float32)>, |
| <tf.Variable 'dense_7/bias:0' shape=(3,) dtype=float32, numpy=array([0., 0., 0.], dtype=float32)>] |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理