2
x_aとx_bの2つの入力があります。ここで、x_aはカテゴリ変数(したがって埋め込み)で、x_bは通常のフィーチャマトリックスです。基本的にはx_bに重み行列W_bを乗算したい。これは10x64
行列なので、64次元の出力になる。埋め込みと密度の高いレイヤーとの入力の統合
from keras.models import Sequential
from keras.layers import Dense, Activation, Embedding, Merge
encoder_cc = Sequential()
# Input layer for countries(x_a)
encoder_cc.add(Embedding(cc_idx.max(),64))
# Input layer for triggers(x_b)
encoder_trigger = Sequential()
# This should effectively be <W_b>
encoder_trigger.add(Dense(64, input_dim=10, init='uniform'))
model = Sequential()
model.add(Merge([encoder_cc, encoder_trigger], mode='concat'))
次に、通常のニューラルネットの処理を行う前に、これらの2つを結合(マージ)します。それ以外のエラーは次のとおりです。
Exception: "concat" mode can only merge layers with matching output shapes except for the concat axis. Layer shapes: [(None, 1, 64), (None, 64)]
私はこれをどのように解決できますか?
両方のモデルの最後にFlatten()レイヤーを追加しようとします。 –