2017-06-19 11 views
1

私は下の図にilustratedとしてモデルを構築しようとしています。そのアイデアは、複数のカテゴリー的特徴(ワンホットベクトル)を取り、それらを別々に埋め込み、それらの埋め込まれたベクトルをLSTMの3Dテンソルと組み合わせることです。 Keras2.0.2で次のコードでKeras複数入力AttributeError: 'NoneType'オブジェクトに属性 'inbound_nodes'がありません

複数の入力とModel()オブジェクトを作成する場合、それはthis質問と同様AttributeError: 'NoneType' object has no attribute 'inbound_nodes'を上昇させます。誰が問題の原因を突き止めるのを助けることができますか?

モデル:

Model

コード:

from keras.layers import Dense, LSTM, Input 
from keras.layers.merge import concatenate 
from keras import backend as K 
from keras.models import Model 

cat_feats_dims = [315, 14] # Dimensions of the cat_feats 
emd_inputs = [Input(shape=(in_size,)) for in_size in cat_feats_dims] 
emd_out = concatenate([Dense(20, use_bias=False)(inp) for inp in emd_inputs]) 
emd_out_3d = K.repeat(emd_out, 10) 

lstm_input = Input(shape=(10,5)) 

merged = concatenate([emd_out_3d,lstm_input]) 

lstm_output = LSTM(32)(merged) 
dense_output = Dense(1, activation='linear')(lstm_output) 

model = Model(inputs=emd_inputs+[lstm_input], outputs=[dense_output]) 

#ERROR MESSAGE 
Traceback (most recent call last): 
    File "C:\Program Files\Anaconda2\envs\mle-env\lib\site-packages\IPython\core\interactiveshell.py", line 2881, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-2-a9da7f276aa7>", line 14, in <module> 
    model = Model(inputs=emd_inputs+[lstm_input], outputs=[dense_output]) 
    File "C:\Program Files\Anaconda2\envs\mle-env\lib\site-packages\keras\legacy\interfaces.py", line 88, in wrapper 
    return func(*args, **kwargs) 
    File "C:\Program Files\Anaconda2\envs\mle-env\lib\site-packages\keras\engine\topology.py", line 1648, in __init__ 
    build_map_of_graph(x, seen_nodes, depth=0) 
    File "C:\Program Files\Anaconda2\envs\mle-env\lib\site-packages\keras\engine\topology.py", line 1644, in build_map_of_graph 
    layer, node_index, tensor_index) 
    File "C:\Program Files\Anaconda2\envs\mle-env\lib\site-packages\keras\engine\topology.py", line 1644, in build_map_of_graph 
    layer, node_index, tensor_index) 
    File "C:\Program Files\Anaconda2\envs\mle-env\lib\site-packages\keras\engine\topology.py", line 1639, in build_map_of_graph 
    next_node = layer.inbound_nodes[node_index] 
AttributeError: 'NoneType' object has no attribute 'inbound_nodes' 

答えて

1

keras.backend.repeatは機能、ない層です。代わりにkeras.layers.core.RepeatVectorを使用してください。関数と同じ機能を持ちます。

+0

すばやくお返事いただきありがとうございます。 – LingxB

関連する問題