2017-06-18 13 views
1

CNNをトレーニングしています。私の入力はイメージといくつかのメタデータです。私は、畳み込みの段階で画像を見るだけのCNNを訓練して、畳み込み段階の出力と最終密度の高い層のメタデータを使用したいと思います。ケラス - シーケンシャルモデルの後半で入力の一部を使用する

metadata ----------------- 
          |-> dense -> output 
image -> Convolutions - 

Kerasでどうすればいいですか?長方形ではない入力をフィードできますか?例えば

画像が(255, 255, 3)とメタデータ(10)どのようにこの作品が希望の場合は?

私は、関連すると思われるthis issueを見つけたが、私は、彼らが入力を分割する方法を取得し、後に中間出力を有する第二の部分をマージしません。

答えて

1

あなたは、多入力モデルとFunctional APIを使用する必要があります。

例は次のようになります。

from keras.layers import Input, Conv1D, Dense, concatenate 
#Image data 
conv_input = Input(shape=conv_input_shape) 
conv_output = Conv1D(nfilters,kernel_shape)(conv_input) 

#Metadata 
metadata_input = Input(shape=metadata_shape) 

#Merge and add dense layer 
merge_layer = concatenate([metadata_input, conv_output]) 
main_output = Dense(dense_size)(merge_layer) 

# Define model with two inputs 
model = Model(inputs=[conv_input, metadata_input], outputs=[main_output]) 

は、この情報がお役に立てば幸い!

+0

ありがとう、私は機能的なAPIを使用しないことによって立ち往生していた。 – Guig

関連する問題