如何处理thean的类型

2024-03-28 11:11:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个矩阵“y”,我想在y的每一行加上一个数字,然后我设置一个矩阵“x”,它的第一列设置了我想加的那个。我使用以下代码:

import numpy
import theano
import theano.tensor as T

x = T.matrix('x')
y = T.matrix('y')
z = T.sum(y[T.arange(1,5),x[:,0]])

f = theano.function(inputs=[x,y],outputs=z)

x = numpy.asarray([[1],[2],[3],[4],[0]])
y = numpy.ones(5,5)
print(f([x,y]))

但这行不通。会有语法错误。为什么这个代码不起作用


Tags: 代码importnumpyasfunction矩阵数字theano
1条回答
网友
1楼 · 发布于 2024-03-28 11:11:47

你的代码中有一些问题。首先,仔细定义您的数据类型,然后在使用[]括号时要小心(请参阅如何在通过f([x,y])调用函数时生成另一个数组)

所以,在我修改了你的代码之后:

import numpy
import theano
import theano.tensor as T

x = T.imatrix('x') #define integer matrix
y = T.imatrix('y')
z = T.sum(y[T.arange(5),x[:,0]])

f = theano.function(inputs=[x,y],outputs=z)

x = numpy.asarray([[1],[2],[3],[4],[0]])
y = numpy.ones((5,5),dtype="int32") #define integer array
print(f(x,y)) #remove square bracket

希望有帮助

相关问题 更多 >