如何创建由theano标量组成的theano矩阵?下面的代码创建一个由numpy标量组成的theano数组。但是我想要一个theano矩阵代替。
C = T.cos
S = T.sin
q = T.fscalar(name="q%d"%self.i)
names = ['x','y','z']
Sx,Sy,Sz = map(lambda name: T.fscalar(name=name),names)
self.mat = np.array([[C(q),-S(q)*C(alpha),S(q)*S(alpha),a*C(q)+Sx],
[S(q),C(q)*C(alpha),-C(q)*S(alpha),a*S(q)+Sy],
[0,S(alpha),C(alpha),d+Sz],
[0,0,0,1]])发布于 2016-03-04 20:47:21
您可以使用theano.tensor.stacklists的方式与使用np.array构造正常的numpy数组的方式大致相同:
import numpy as np
import theano
from theano import tensor as te
a = te.fscalar("a")
b = te.fscalar("b")
M = te.stacklists([[a, b], [b, a]])
f = theano.function([a, b], M)
print(f(1.0, 2.0))
# [[ 1. 2.]
# [ 2. 1.]]您可以通过使用theano.tensor.stack或theano.tensor.concatenate从标量构造一维矢量,然后使用其reshape方法将其重塑为具有所需维数的矩阵/张量,从而获得同样的结果。
https://stackoverflow.com/questions/35797653
复制相似问题