Kerasを用いて以下のようにAutoEncoder(AE)を作成しています.
python
1input = Input(shape=(np.shape(random_list)[1],)) 2 3def encoder(input): 4 encoded_1 = Dense(np.shape(random_list)[1], activation='relu')(obs_input) 5 encoded_2 = Dense(12, activation='relu')(encoded_1) 6 encoded_3 = Dense(15, name='encoder')(encoded_2) 7 return encoded_3 8 9def decoder(chokepoint_data): 10 decoded_1 = Dense(15, activation='relu',name='decoder_input')(chokepoint_data) 11 decoded_2 = Dense(12, activation='relu')(decoded_1) 12 decoded_3 = Dense(np.shape(random_list)[1], name='decoder')(decoded_2) 13 return decoded_3 14 15model = Model(input=input, output=decoder(encoder(input=input)))
質問
ここで,encoderを介さず任意の入力をdecoder与え,decoded_3を得るにはどのようなコードを書けば良いでしょうか.教えてください.
デコーダーの入力とと同じ形状の配列をデコーダーに与えればいいだけでは?
いつも迅速な回答ありがとうございます.とても助かっています.
tiitoi様のご指摘で自分がつまずいている部分を勘違いしていることに気がつきました.
私が実現しようとしているのは,上記のようなAEをもう一つ用意しまして,各AEのencoderの出力(encoded_3)を足し合わせ,一つのdecoderに通したいということです.
これを実現しようとした時,
```python
encoder(input=input) + encoder_2(input=input_2)
#もしくは
K.get_value(encoder(input=input) + encoder_2(input=input_2))
```
とした時にdecoderに通すことができません.
同じ配列の形のencoded_3を足し合わせているつもりなのですが...
何かお気付きの点はありますでしょうか.
回答1件
あなたの回答
tips
プレビュー