在theano的对角线上创建具有特征值的方阵

时间:2015-06-07 11:00:35

标签: theano

我想在对角线上创建一个带有特征值的方阵:

eigen_values, eigen_vectors = theano.tensor.nlinalg.eig(covariance_matrix)
D = T.nlinalg.AllocDiag(eigen_values)

然而,显然theano不会将我创建的D矩阵视为标准矩阵,因此我无法在后续计算中使用它。

theano.tensor.var.AsTensorError: ('Cannot convert <theano.tensor.nlinalg.AllocDiag object at 0x7face5708450> to TensorType', <class 'theano.tensor.nlinalg.AllocDiag'>)

1 个答案:

答案 0 :(得分:3)

您正在使用操作类,就像它是一个操作函数一样。

而不是

D = T.nlinalg.AllocDiag(eigen_values)

D = T.nlinalg.AllocDiag()(eigen_values)

D = T.nlinalg.alloc_diag(eigen_values)