2017-06-17 8 views
2

に2つのニューラルネットワークのレイヤーを結合する方法:Tensorflow:賢明2つの入力Tensorflowを持つ単純なニューラルネットを想定し1

W0 = tf.Variable(tf.zeros([784, 100])) 
b0 = tf.Variable(tf.zeros([100])) 
h_a = tf.nn.relu(tf.matmul(x, W0) + b0) 

W1 = tf.Variable(tf.zeros([100, 10])) 
b1 = tf.Variable(tf.zeros([10])) 
h_b = tf.nn.relu(tf.matmul(z, W1) + b1) 

質問:に一つにこれらの二つのレイヤーを結合するための良い方法だろう何次の層?私はこのために適した機能を見つけることができないようしかし

h_master = tf.nn.relu(tf.matmul(concat(h_a, h_b), W_master) + b_master)

は、私のようなものを意味します。


編集:ご注意:私はこれを行う場合:

h_master = tf.nn.tanh(tf.matmul(np.concatenate((h_a,h_b)),W_master) + b_master)

を私は次のエラーを取得する:

ValueError: zero-dimensional arrays cannot be concatenated 

(私の推測では、それがために起こるということですプレースホルダーはnumpyによって空の配列とみなされるため、h_aとh_bは0次元です)

答えて

2

私は道が見つかりました:

h_master = tf.nn.tanh(tf.matmul(tf.concat((h_a, h_b), axis=1), W_master) + b_master) 

W_master = tf.Variable(tf.random_uniform([110, 10], -0.01, 0.01)) 
b_master = tf.Variable(tf.zeros([10])) 
関連する問題