多个模型的多参数

我有两个模型,它们被合并成一个单一的模型。这个单一模型的创建方式如下:

fm = layers.Concatenate()([m1.output, m2.output])# 为融合创建密集层t = layers.Dense(143, activation='relu')(fm )d = layers.Dropout(0.5)(t)# 为预测创建softmax层output = layers.Dense(len(classes), activation='softmax')(d)# 从所有这些层创建模型 :)model = keras.models.Model(inputs=[ m1.input, m2.input], outputs=output)

这个单一模型接受来自两个模型的输入:这两个模型分别是

第一个模型 – 2个输入参数 tx[0] and tx[1]第二个模型 – 1个输入参数 vx

以及一个共同的Y vy

以下是我尝试使用它们的方式:

history = model.fit(    [             [ np.array(tx[0]), np.array(tx[1]) ],              np.array(vx)    ],             np.array(vy), verbose = 1,                               validation_data = (    [                [ np.array(txv[0]), np.array(txv[1]) ],                np.array(tvv)    ],                np.array(vy)),                               epochs = 1200,           batch_size = 128,           callbacks = [es, mcp_save])

所以我的第一个模型有2个参数,第二个模型有一个参数。它们都有一个共同的y。

但问题是,由于某些原因,第一个参数最终被输入到第二个模型中。如何解决这个问题?


回答:

如果我正确理解了你的模型,它有三个输入层,而你在最终模型中只提到了两个。使用第一个模型的两个输入层的变量名来代替m1.input。

#第一个模型m1的两个输入层:inputA = tf.keras.Input(shape=(32,))inputB = tf.keras.Input(shape=(128,))#第二个模型m2的输入层:inputC = tf.keras.Input(shape=(128,))#将两个模型m1和m2合并成一个模型model :model = keras.models.Model(inputs=[inputA, inputB , inputC], outputs=output)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注