1
私はTheanoと複合関数f(x、g(x))を計算したいと思います。残念ながら、私が関数のコンポジションをコーディングしようとすると、PythonはTypeErrorについて不平を言っています。たとえば、次の単純なスクリプトを検討してください。Theanoとの複合関数をどうやって作ることができますか?
import theano
import theano.tensor as T
x = T.dscalar('x')
def g():
y1 = T.sqr(x)
return theano.function([x], y1)
def composition():
input = g()
yComp = x * input
return theano.function([x], yComp)
def f():
y1 = T.sqr(x)
yMult = x * y1
return theano.function([x], yMult)
funComp = composition()
のPythonを書くTypeError例外を返します。
TypeError: unsupported operand type(s) for *: 'TensorVariable' and 'Function'
しかし、私はコンパイルして機能fun = f()
を計算することができます。機能構成を正常に確立する方法はありますか?私はどんな助けにも感謝しています!
@maliobro:ご返信ありがとうございます!残念ながら、私は最後にf = composition()を実行してf(1.1)を計算しようとするとPythonはTypeErrorと言っています: 'TensorVariable'オブジェクトは呼び出し可能ではありません。何が間違っているのか考えていますか? – fabian
@fabian遅く返事をして申し訳ありません、私はあなたのf()関数と混同されましたが、これらの関数は動作中の合成関数でした。私は自分のコードを編集してみてください。 – malioboro
あなたの歓迎、私は助けることができてうれしいです:) – malioboro