gpt4 book ai didi

python - 如何使用 Keras 功能 API 模型的输出作为另一个模型的输入

转载 作者:行者123 更新时间:2023-12-02 07:14:42 25 4
gpt4 key购买 nike

我训练了一个基本功能 API Keras 模型,现在我想将其输出重新用作新模型的输入,同时也重新使用其权重。在新模型上,我想再添加一个输入并将其与基本模型的输出相乘。因此,在新模型中,我希望有两个输入(包括基本模型之一+新添加的输入)和一个新输出,该新输出由基本模型输出与新输入的元素级乘法组成。

基本模型如下所示:

Layer (type) Output Shape Param #
input_1 (InputLayer) (None, 30, 1) 0
_________________________________________________________________ lstm_1 (LSTM) (None, 64) 16896
_________________________________________________________________ dropout_1 (Dropout) (None, 64) 0
_________________________________________________________________ dense_1 (Dense) (None, 96) 6240
_________________________________________________________________ dropout_2 (Dropout) (None, 96) 0
_________________________________________________________________ dense_2 (Dense) (None, 30) 2910

我尝试过的代码(但不起作用)是:

newModel = baseModel

base_output = baseModel.get_layer('dense_2').output
input_2 = Input(shape=(n_steps_in, n_features))

multiply = Multiply()([base_output,input_2])

new_output = Dense(30)(multiply)

newModel = Model(inputs=[input_1,input_2], outputs=new_output)

newModel.summary()

我收到错误:“TypeError:Model 的输入层必须是 InputLayer 对象。收到的输入:[, ]。输入 0(基于 0)源自来自图层类型Dense。”。对我所缺少的有什么建议吗?提前致谢。

最佳答案

在行

newModel = Model(inputs=[input_1,input_2], outputs=new_output)

你有“input_1”,你在哪里定义了它。错误是因为该变量未定义

根据您的情况,您应该使用

input_1=baseModel.input

关于python - 如何使用 Keras 功能 API 模型的输出作为另一个模型的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com