keras 中有两个基本的概念:Layer 和 Tensor
Layer :是模型的组成单位,用于构建神经网络框架 在 keras 中用 大写的 module 表示,用于搭建纯模型框架,涉及到计算时使用属性 input 或 output 调出其 Tensor 如以下代码,多用于简单的 Sequential 结构(导入模块部分省略,python=3.7, keras=2.2)
n_in = 512
n_out = 2
model_1 = Sequential([Dense(n_out, input_shape = (n_in,))])
model_2 = Sequential([Dense(n_out, input_dim = n_in)])
model = Sequential()
model.add(Concatenate([model_1, model_2]))
model.compile(loss='categorical_crossentropy', optimizer='SGD')
上述代码使用了大写的 Concatenate function 表示一个 Layer,这个 function 的参数是元素为 Layer 的 list;
输出的结果是可以构筑 model 的 Layer,这样一个完整的 神经网络 model 完成了
如果要使用小写的 concatenate function,这个 function 里面的参数是元素为 Tensor 的 list
- Sequential function 返回模型的结构
model_1 = Sequential([Dense(n_out)])
model_1 #assert is <keras.engine.sequential.Sequentia