imoprt Theano:
>>>from theano import *
几个常用的符号(symbols)在theano的子包tensor中,加载子包:
>>>import theano.tensor as T
>>>imoprt theano.tensor as T
>>>from theano import function
>>>x = T.dscalar('x')
>>>y = T.dscalar('y')
>>>z = x + y
>>>f = function([x, y], z)
使用创建的函数:
>>>f(2, 3)
array(5.0)
>>>f(16.3, 12.1)
array(28.4)
上面的代码可以 分成几个步骤:
>>>x = T.dmatrix('x')
>>>y = T.dmatrix('y')
>>>z = x + y
>>>f = function([x, y], z)
dmatrix是double类型的矩阵,调用f函数:
>>>f([[1, 2], [3, 4]], [[10, 20], [30, 40]])
array([[ 11., 22.],[ 33., 44.]])
可以使用numpy的array作为函数的输入:
>>>import numpy
>>>f(numpy.array([[1, 2], [3, 4]]), numpy.array([[10, 20], [30, 40]]))
array([[ 11., 22.],[ 33., 44.]])
这里,function可以做标量和矩阵、向量和矩阵、标量和向量等的加。
下面为可用的类型:
import theano
a = theano.tensor.vector()
out = a + a ** 10
f = theano.function([a], out)
print f([0, 1, 2])
上面的代码改为计算a ** 2 + b ** 2 + 2 * a * b:
import theano
a = theano.tensor.vector()
b = theano.tensor.vector()
out = a ** 2 + b ** 2 + 2 * a * b
f = theano.function([a, b], out)
print f([0, 1, 2])