2016-10-30 4 views
0

私は、2つのtheano式abをとり、dimensions(a + b) = dimensions(a) + dimenisons(b)のように要素ごとの操作(追加をしましょう)を行う関数を書く方法を探しています。いつもディメンションを追加するtheanoでの操作

私の場合、aは1つの次元を持ち、bは2つまたは3つあります。

私はa.dimshuffle('x', 'x', 0) + a.dimshuffle(0, 1, 'x')の2次元bのようなことをやっていると考えていましたが、その次元の数を取得する方法はわかりません。 b.shapeはtheano式であり、len()をサポートしていません。 a形状(number_of_control_points,)bが2Dまたは3Dグリッドサンプリング点であろうがあります

本の最終目標は、複数の点でポリラインからの距離を計算することであり、この技術は複数回使用されるが、I'LLれる座標距離を評価している。

正規表現のディメンション数を正規のpython値として、式を評価せずに取得できますか?

代替の質問:明確なダッシュシャッフルなしで操作を直接行う方法はありますか?ビット放送魔法と

答えて

1

使用tile

import theano as th 
import theano.tensor as T 

def general_outer(elem_op, a, b): 
    a_shape = T.shape(a) 
    b_shape = T.shape(b) 
    return elem_op(T.tile(a, T.join(0,T.ones_like(a_shape),b_shape), b)) #note the broadcast 
関連する問題