def create_model(config_dict,
compile_model=True):
image_inputs = Input(shape=(4096,), name="image_model_input")
image_model = _create_image_model(config_dict=config_dict,
image_inputs=image_inputs)
language_inputs = Input(shape=(config_dict['max_caption_length'],),
name="language_model_input")
language_model = _create_language_model(config_dict=config_dict,
language_inputs=language_inputs)
merged_input = concatenate([image_model, language_model],
name="concatenate_image_language")
merged_input = LSTM(1000,
return_sequences=False,
name="merged_model_lstm")(merged_input)
softmax_output = Dense(units=config_dict["vocabulary_size"],
activation="softmax",
name="merged_model_softmax")(merged_input)
model = Model(inputs=[image_inputs,
language_inputs], outputs=softmax_output)
print(model.summary())
if (compile_model == True):
model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
return model
评论列表
文章目录