python - 如何使用训练有素的模型作为另一个模型的输入?
问题描述
我将从代码开始,然后提出我的问题。
model1_input= keras.Input(shape=(5,10))
x = layers.Dense(16, activation='relu')(model1_input)
model1_output = layers.Dense(4)(x)
model1= keras.Model(model1_input, model1_output, name='model1')
model1.summary()
//----
model2_input= keras.Input(shape=(5,10))
y = layers.Dense(16, activation='relu')(model2_input)
model2_output = layers.Dense(4)(y)
model2= keras.Model(model2_input, model2_output, name='model2')
model2.summary()
//----
model3_input= keras.Input(shape=(5, 10))
layer1 = model1(model3_input)
layer2 = model2(layer1)
model3_output = layers.Dense(1)(layer2)
model3= keras.Model(model3_input, model3_output , name='model3')
model3.summary()
model3.compile(loss='mse', optimizer='adam')
model3.fit(inputs, outputs, epochs=10, batch_size=32)
执行此代码时,模型 1 和模型 2 的权重会发生什么情况?他们会保持未经训练的状态吗?
我想使用经过训练的模型 1 和经过训练的模型 2 预测来训练模型 3。我可以写这样的东西吗?
model1_input= keras.Input(shape=(5,10))
x = layers.Dense(16, activation='relu')(model1_input)
model1_output = layers.Dense(4)(x)
model1= keras.Model(model1_input, model1_output, name='model1')
model1.summary()
model1.compile(loss='mse', optimizer='adam')
model1.fit(model1_inputs, model1_outputs, epochs=10, batch_size=32)
//----
model2_input= keras.Input(shape=(5,10))
y = layers.Dense(16, activation='relu')(model2_input)
model2_output = layers.Dense(4)(y)
model2= keras.Model(model2_input, model2_output, name='model2')
model2.summary()
model2.compile(loss='mse', optimizer='adam')
model2.fit(model2_inputs, model2_outputs, epochs=10, batch_size=32)
//----
model3_input= keras.Input(shape=(5, 10))
layer1 = model1(model3_input)
layer2 = model2(layer1)
model3_output = layers.Dense(1)(layer2)
model3= keras.Model(model3_input, model3_output , name='model3')
model3.summary()
model3.compile(loss='mse', optimizer='adam')
model3.fit(inputs, outputs, epochs=10, batch_size=32)
恐怕当我训练模型 3 时,这会改变模型 1 和 2 已经训练好的权重。在这种情况下,模型 1 和 2 的权重会发生什么?
解决方案
推荐阅读
- tkinter - 为什么 tkinter 框架与使用网格方法的 Tk 窗口大小不同?
- c - 如何对包含多个字符串的结构应用基数排序(使用计数排序)
- apache - 只允许从它们所在的网站访问目录中的文件
- selenium - selenium 与 javascript 的 firefox 关闭选项卡,但 SetTimeout() 不正常
- java - 如何在不重新加载页面的情况下提交表单
- node.js - 如何使用 Node 从远程服务器获取数据
- javascript - 用python和react js创建一个electron JS桌面应用
- upgrade - 从 Artifactory 2.3.3.1 升级
- docker - 无法使用撰写文件版本 2.4 部署 docker 堆栈
- perl - Perl:表达式优先级和评估