学習済みのモデルに対し,中間層から新たな入力を入れた際の出力値を得る方法を知りたいです.
#試したこと
コードの一部です.下のtmp_modelを定義している部分でGraph disconnected: cannot obtain value for tensorというエラーが出ます.中間層出力を得たい場合は同じようなやり方で出来たのですが,モデルの中間層から新たな入力をいれ出力を得るということは出来ないのでしょうか.
(質問を簡潔にするため層の数などは適当な値を使ってます)
python
1def encoder(input_): 2 d1 = Dense(3, activation='relu', name='encoder_input')(input_) 3 d2 = Dense(2, 'encoder_output')(d1) 4 return d2 5 6def decoder(input_): 7 d1 = Dense(3, activation='relu', name='decoder_input')(input_) 8 d2 = Dense(2, name='decoder_output')(d1) 9 return d2 10 11# input 12input = Input(shape=(2,)) 13 14# output 15output = decoder(encoder(input)) 16 17# model 18model = Model(input=input, output=output) 19 20model.compile(optimizer='adam', loss='mean_squared_error') 21model_hist = model.fit(x_train, x_test, 22 epochs=n_epoch, 23 batch_size=batch_size, 24 verbose=verbose, 25 shuffle=True) 26 27#このtmp_modelを定義した部分でGraph disconnected: cannot obtain value for tensorというエラーが出ます 28tmp_model = Model(input=model.get_layer('decoder_input').input, output=model.get_layer('decoder_output').output) 29output = tmp_model.predict(data)
あなたの回答
tips
プレビュー