私は2つのテンソル形状N x D1とM x D2を持ちます。ここで、D1> D2であり、それぞれXとYと呼ばれます。私の仕事では、Xは入力として機能し、Yはフィルタとして機能します。Tensorflow畳み込みを用いたスライディング内積
Iは、X M×(D1-D2 + 1)のような形状の行列Pを計算するN:私は、forループを作成し、手動でYをスライドし、内積を計算することができる
P[0,0,0] = dot(X[0,0:D2], Y[0,:])
P[0,0,1] = dot(X[0,1:D2+1], Y[0,:])
...
P[N-1,M-1,D1-D2] = dot(X[N-1,D1-D2:D1], Y[M-1,:])
。 しかし、私は相関演算子を使うのが好きです。 私が知っているように、tensorflowには相関演算子(https://www.tensorflow.org/versions/master/api_docs/python/nn/convolution)が実装されていますが、入力とフィルタとしてどのようにテンソルを使うことができるのか分かりません。
私はconv2dが私が望むものを与えるとは思わない。 直感的に言えば、私はYのすべての行をXのすべての行と畳み込むことです。私はXとYのすべての行をループして畳み込みを行うことでそれを行うことができます。私はループ、スライス、ペアワイズ乗算(これはうまくいっている)のためにトリックを行うこともできます。それにもかかわらず、私はそこにもっと良い方法があるのか分からない。 – minhduc