【发布时间】:2020-05-12 13:51:55
【问题描述】:
编辑:Franchois Chollet 的This video 说Layer + training eval methods = Model
在 keras 文档中,它说模型由层组成。但是in this section 表明模型可以由模型组成。
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)
那么,模型和层之间的有效区别是什么?它只是为了代码的可读性还是提供一些功能?
【问题讨论】:
标签: python tensorflow keras