使用预先训练的模型并创建另一个顺序模型

时间:2019-08-28 12:56:48

标签: tensorflow keras recurrent-neural-network

我有一个预先训练的模型,如下所示

Image 1

上面的模型的代码如下,它按预期工作,我已将模型分别保存为“ .h5” keras格式

data= pd.read_csv('TrainPWM.csv')
data.values[:,0]
actual_pwm = data.values[:,0]
actual_rpm = data.values[:,1]
actual_pwm = np.reshape(actual_pwm,(36954,1,1))/10000
actual_rpm = np.reshape(actual_rpm,(36954,1,1))/10000
x_train,x_test,y_train,y_test=train_test_split(actual_pwm,actual_rpm,test_size=0.3,random_state=50)
model = models.Sequential()
model.add(layers.LSTM(units=1,return_sequences=True))
model.add(layers.LSTM(units=20,return_sequences=True))
model.add(layers.LSTM(units=20,return_sequences=True))
model.add(layers.LSTM(units=1,return_sequences=True))
model.add(layers.Dense(units=1))
model.compile(optimizer='adam',
          loss='mean_absolute_error',
          metrics=['accuracy'])
model.fit(x_train,y_train,epochs=1)

现在我想创建另一个顺序模型,必须使用上面的预训练模型(rnn2)对其进行训练,下面进行一些解释

Image2

我必须基于此创建顺序训练模型,当我输入x时,首先rnn1必须使用rnn2根据输出y进行自身训练

我很难想象这样做的方式

1 个答案:

答案 0 :(得分:0)

假设您已将模型权重保存为AssertionError: Calls not found. Expected: [call(), call().foo(), call().foo().__getitem__('foo')] Actual: [call(), call().foo(), call().foo().__getitem__('bar')]

然后,您可以构建第二个模型并将第一个模型嵌入其中:

session[:design_attributes] = nil
reset_session
redirect_to :controller => 'designs', :action => 'index'