在theano的对角线上创建具有特征值的方阵
Creating square matrix with eigenvalues on the diagonal in 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'>)
您正在使用一个操作class,就像它是一个操作函数一样。
而不是
D = T.nlinalg.AllocDiag(eigen_values)
尝试
D = T.nlinalg.AllocDiag()(eigen_values)
或
D = T.nlinalg.alloc_diag(eigen_values)
我想创建一个特征值在对角线上的方阵:
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'>)
您正在使用一个操作class,就像它是一个操作函数一样。
而不是
D = T.nlinalg.AllocDiag(eigen_values)
尝试
D = T.nlinalg.AllocDiag()(eigen_values)
或
D = T.nlinalg.alloc_diag(eigen_values)