Python Theano函数中的无共享变量与numpy数组速度
我正在学习theano,并试图用它实现一个模块化的ML工具 我有一个简单的线性组合:Python Theano函数中的无共享变量与numpy数组速度,python,numpy,theano,Python,Numpy,Theano,我正在学习theano,并试图用它实现一个模块化的ML工具 我有一个简单的线性组合: w = th.shared(np.ones([input_size, output_size], dtype=th.config.floatX), name='W', borrow=True) x = T.dmatrix('x') dot = T.dot(x, w) 但是现在我有点搞不清楚把dot描述为theano
w = th.shared(np.ones([input_size, output_size], dtype=th.config.floatX),
name='W',
borrow=True)
x = T.dmatrix('x')
dot = T.dot(x, w)
但是现在我有点搞不清楚把dot
描述为theano函数的最佳方法。我提出了两个功能:
dot1 = th.function([x], dot)
dot2 = th.function([], dot, givens={x: self.input_data})
其中,input_data
是一个共享变量
我的目标是在GPU上运行它,所以我希望尽可能多地使用共享变量
问题是,如果使用dot1
函数,则无法在输入中使用共享变量。当使用dot2
时,我让它工作的唯一方法是以numpy数组的形式读取,并使用set\u value()
不断更新self.input\u data
。()
我的问题是:什么是在GPU上运行最好的,dot1
或dot2