0

私はこのようなことをしなければなりません。

import theano as th
import theano.tensor as T

x, y = T.dscalars('x', 'y')
z = np.matrix([[x*y, x-y], [x/y, x**2/(2*y)]])

f = th.function([x, y], z)   # causes error

# next comes calculations like f(2, 1)*f(3, 2)*some_matrix

th.function はこれらのオブジェクトを返すことをサポートしていないため、最後の行が有効なコードではないことはわかっています。マトリックスのすべての要素を返してnp.matrixとしてキャストせずにこれを行う効率的な方法はありますか?

4

1 に答える 1

0

あなたのアプローチの問題は、 z がnumpy行列ではなく、theano変数のリストである必要があることです。

以下を使用して同じ結果を得ることができます。

z1,z2,z3,z4 = x*y,x-y,x/y,x**2/(2*y)
f = th.function([x, y], [z1,z2,z3,z4])

def createz(z1,z2,z3,z4) :
    return np.matrix([[z1,z2],[z3,z4]])

print(createz(*f(1,2)))
于 2013-09-18T03:39:13.680 に答える