Theano - 共享变量
许多时候,你需要创建在不同函数以及同一函数的多次调用之间共享的变量。举个例子,在训练神经网络的时候,你要创建一个权重向量,以便为考虑中的每个特征分配一个权重。这个向量在网络训练的每次迭代中都会被修改。因此,它必须在同一函数的多次调用中全局访问。为此我们创建一个共享变量。Theano 通常会将此类共享变量移动到 GPU(如果可用)。这会加快计算速度。
语法
你要创建一个共享变量,需要使用以下语法 −
import numpy W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')
示例
此处生成了包含四个浮点数的 NumPy 数组。要设置/获取 **W** 值,你要使用以下代码段 −
import numpy W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W') print ("Original: ", W.get_value()) print ("Setting new values (0.5, 0.2, 0.4, 0.2)") W.set_value([0.5, 0.2, 0.4, 0.2]) print ("After modifications:", W.get_value())
输出
Original: [0.1 0.25 0.15 0.3 ] Setting new values (0.5, 0.2, 0.4, 0.2) After modifications: [0.5 0.2 0.4 0.2]
广告