2017-06-07 6 views
2

イメージ用のフィーチャマップを作成するSiameseネットワークを持っていますが、どのようにそれらのフィーチャマップのドットプロダクトをKerasで得ることができますか?最後の軸でケラスドットプロダクトレイヤー

input_a = Input(input_size) 
input_b = Input(input_size) 
fe_net_a = model(input_a) 
fe_net_b = model(input_b) 

など。 fe_net_afe_net_bの出力テンソルが形状(1,17,17,1024)の場合、テンソル形状(1,17,17)を生成する層を最終軸の内積をとって作成する方法は?

答えて

0

ケラスのドキュメントthe merge.Dot() functionから、これはあなたが探しているものですか?

from keras.layers import Input, dot 

input_a = Input(input_size) 
input_b = Input(input_size) 
fe_net_a = model(input_a) 
fe_net_b = model(input_b) 

fe_ab = dot([fe_net_a,fe_net_b], axes = -1) 

これは機能しますか?

+0

いいえ、それはテンソルの形を作ります(1,17,17,17)。私はKerasと深い学習には新しいので、なぜそれがそれをしているのかわかりません。 – DikobrAz

+0

これは意味をなさない。再現可能なコードを教えてください。 –

+0

'' '>>> input_size = 20,10,3 >>> input_a =入力(input_size) >>> input_b =入力(input_size) >>> fe_ab = dot( [入力_a、入力_b]、軸= -1) >>> fe_ab '' ' – DikobrAz

関連する問題