首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由Theano标量组成的theano矩阵

由Theano标量组成的theano矩阵
EN

Stack Overflow用户
提问于 2016-03-04 13:44:46
回答 1查看 240关注 0票数 0

如何创建由theano标量组成的theano矩阵?下面的代码创建一个由numpy标量组成的theano数组。但是我想要一个theano矩阵代替。

代码语言:javascript
复制
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]])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-04 20:47:21

您可以使用theano.tensor.stacklists的方式与使用np.array构造正常的numpy数组的方式大致相同:

代码语言:javascript
复制
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.stacktheano.tensor.concatenate从标量构造一维矢量,然后使用其reshape方法将其重塑为具有所需维数的矩阵/张量,从而获得同样的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35797653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档