Keras:模型和图层之间有什么区别?

Sou*_*nda 5 python keras tensorflow

在keras文档中,它说模型是由图层组成的。但是,在本节中,它表明模型可以由模型组成。

from keras.layers import Conv2D, MaxPooling2D, Input, Dense, Flatten
from keras.models import Model

# First, define the vision modules
digit_input = Input(shape=(27, 27, 1))
x = Conv2D(64, (3, 3))(digit_input)
x = Conv2D(64, (3, 3))(x)
x = MaxPooling2D((2, 2))(x)
out = Flatten()(x)

vision_model = Model(digit_input, out)

# Then define the tell-digits-apart model
digit_a = Input(shape=(27, 27, 1))
digit_b = Input(shape=(27, 27, 1))

# The vision model will be shared, weights and all
out_a = vision_model(digit_a)
out_b = vision_model(digit_b)

concatenated = keras.layers.concatenate([out_a, out_b])
out = Dense(1, activation='sigmoid')(concatenated)

classification_model = Model([digit_a, digit_b], out)
Run Code Online (Sandbox Code Playgroud)

那么,模型和图层之间的有效区别是什么?仅仅是为了代码可读性还是起某些作用?

NPE*_*NPE 4

在 Keras 中,网络层的有向无环图(DAG) 。模型是一个添加了训练和评估例程网络

该框架允许您从各个层和其他 DAG 构建网络 DAG。后者是您在示例中看到的内容,也是造成混乱的原因。