keras

0

が、私はそうのような埋め込み層シャムネットワークのためのサンプルコードを変更して追加しようとしています使用してシャムネットワークに埋め込み層を追加することができません:keras

data_dim = 16 
timesteps = 8 
nb_classes = 10 

encoder = Sequential() 
encoder.add(Embedding(data_dim, 4, input_length=timesteps)) 
encoder.add(LSTM(32)) 

model = Graph() 
model.add_input(name='input_a', input_shape=(timesteps,)) 
model.add_input(name='input_b', input_shape=(timesteps,)) 
model.add_shared_node(encoder, 
         name='shared_encoder', 
         inputs=['input_a', 'input_b'], 
         merge_mode='concat') 
model.add_node(Dense(64, activation='relu'), name='fc1', input='shared_encoder') 
model.add_node(Dense(3, activation='softmax'), name='output', input='fc1', 
       create_output=True) 

model.compile(optimizer='adam', loss={'output': 'categorical_crossentropy'}) 

そのマニュアルのlast exampleを非常に密接に次の。

残念ながら、私はエラーを取得しておいてください。

TypeError: DataType float32 for attr 'Tindices' not in list of allowed values: int32, int64 

誰でも助けることができますか?

+0

埋め込み後にDenseレイヤーを作成することはできません。https://github.com/fchollet/keras/issues/631 – y300

答えて

1
model.add_input(name='input_a', input_shape=(timesteps,), dtype='int') 
model.add_input(name='input_b', input_shape=(timesteps,), dtype='int')