Theano - 一个简单的 Theano 表达式
让我们开始 Theano 之旅,首先定义和评估一个简单的 Theano 表达式。考虑以下将两个标量相加的简单表达式:
c = a + b
其中a、b是变量,c是表达式的输出。在 Theano 中,即使是定义和评估这个简单的表达式也很棘手。
让我们了解评估上述表达式的步骤。
导入 Theano
首先,我们需要在程序中导入 Theano 库,我们使用以下语句:
from theano import *
我们没有导入各个包,而是在上述语句中使用了 * 来包含 Theano 库中的所有包。
声明变量
接下来,我们将使用以下语句声明一个名为a的变量:
a = tensor.dscalar()
dscalar 方法声明一个十进制标量变量。执行上述语句会在您的程序代码中创建一个名为a的变量。同样,我们将使用以下语句创建变量b:
b = tensor.dscalar()
定义表达式
接下来,我们将定义对这两个变量a和b进行运算的表达式。
c = a + b
在 Theano 中,执行上述语句不会执行这两个变量a和b的标量加法。
定义 Theano 函数
要评估上述表达式,我们需要在 Theano 中定义一个函数,如下所示:
f = theano.function([a,b], c)
函数function有两个参数,第一个参数是函数的输入,第二个参数是其输出。上述声明指出,第一个参数是包含两个元素a和b的数组类型。输出是一个称为c的标量单元。此函数将在我们以后的代码中用变量名f引用。
调用 Theano 函数
函数 f 的调用使用以下语句进行:
d = f(3.5, 5.5)
函数的输入是一个包含两个标量的数组:3.5和5.5。执行的输出赋值给标量变量d。要打印d的内容,我们将使用print语句:
print (d)
执行将导致d的值(在本例中为 9.0)打印到控制台上。
完整程序清单
为了方便您参考,这里提供了完整的程序清单:
from theano import * a = tensor.dscalar() b = tensor.dscalar() c = a + b f = theano.function([a,b], c) d = f(3.5, 5.5) print (d)
执行上述代码,您将看到输出为 9.0。屏幕截图如下所示:
现在,让我们讨论一个稍微复杂的示例,该示例计算两个矩阵的乘法。
广告