2017-02-23 43 views
1

我嘗試做以下計算中tensorflow總和點的產品,並不斷在tensorflow

Y = X1*W1 + X2*W2 + X3*W3 + b 

X和W公司具有相同的形狀,X * W是點積。 玩了一段時間後,我發現下面這段沒有工作

Y = tf.add(tf.add(tf.add(tf.reduce_sum(tf.multiply(X1,W1)),tf.reduce_sum(tf.multiply(X2,W2))),tf.reduce_sum(tf.multiply(X3,W3))),b) 

什麼是在tensorflow執行此操作的簡潔的方式?

回答

2

定義dotproduct函數怎麼樣?

def dotprod(X,W): 
    return tf.reduce_sum(tf.multiply(X,W)) 
Y = dotprod(X1,W1) + dotprod(X2,W2) + dotprod(X3,W3) + b 

我相信你可以用+來增加張量。

讓我知道這是否行得通!

+0

是的,您的解決方案適合我。你的做法比我的做法更加精細。我想知道的是,由於這些操作在張量流應用中很常見,因此不應該有內置函數! – dpk

+0

是和不是。正如你可以在這裏看到的(http://www.pinchofintelligence.com/photorealistic-neural-network-gameboy/),我總是定義多個這樣的函數來保持我的代碼清潔....如果你想使用「更高級別「你可能想看看凱拉斯的功能。關於Tensorflow的好處是,創建這些高級功能很容易,同時可以創建其他更多「創意」的想法。 – rmeertens