私はテーラーの引数として2つのベクトルの形の違いでT.zeros()
という簡単な操作をしようとしています。テナノのテンソルでのエラーテンソル・シェイプ()とテンソル・シェイプ()のアクセント
このような何か:
import theano as theano
import theano.tensor as T
x1 = T.ivector('x1')
x2 = T.ivector('x2')
shape_sub = T.sub(T.shape(x1),T.shape(x2))
zeros = T.zeros(shape_sub)
f = theano.function([x1, x2], zeros)
しかし、私は値エラーに
ValueError: length not known: Elemwise{sub,no_inplace} [id A] ''
|Shape [id B] ''
| |x1 [id C]
|Shape [id D] ''
|x2 [id E]
を取得していますT.zerosの引数は()形状を含むタプルやリストでなければなりませんので、おそらくですshape_subの出力である、減算された形状を含むivector tensorType
ではありません。しかし、私はどのようにこのコードを実装するのですか?私はT.zeros_like()
をここで使うことはできません。テンソル全体が入力であり、その形状ではないからです。
私がこれを解決すると考えることができる唯一の方法は、shape_subの値に共有変数を使用して評価し、T.zeros()
関数に渡すことですが、非常に効率的ではありません。