Theano - 一个简单的 Theano 表达式



让我们开始 Theano 之旅,首先定义和评估一个简单的 Theano 表达式。考虑以下将两个标量相加的简单表达式:

c = a + b

其中ab是变量,c是表达式的输出。在 Theano 中,即使是定义和评估这个简单的表达式也很棘手。

让我们了解评估上述表达式的步骤。

导入 Theano

首先,我们需要在程序中导入 Theano 库,我们使用以下语句:

from theano import *

我们没有导入各个包,而是在上述语句中使用了 * 来包含 Theano 库中的所有包。

声明变量

接下来,我们将使用以下语句声明一个名为a的变量:

a = tensor.dscalar()

dscalar 方法声明一个十进制标量变量。执行上述语句会在您的程序代码中创建一个名为a的变量。同样,我们将使用以下语句创建变量b

b = tensor.dscalar()

定义表达式

接下来,我们将定义对这两个变量ab进行运算的表达式。

c = a + b

在 Theano 中,执行上述语句不会执行这两个变量ab的标量加法。

定义 Theano 函数

要评估上述表达式,我们需要在 Theano 中定义一个函数,如下所示:

f = theano.function([a,b], c)

函数function有两个参数,第一个参数是函数的输入,第二个参数是其输出。上述声明指出,第一个参数是包含两个元素ab的数组类型。输出是一个称为c的标量单元。此函数将在我们以后的代码中用变量名f引用。

调用 Theano 函数

函数 f 的调用使用以下语句进行:

d = f(3.5, 5.5)

函数的输入是一个包含两个标量的数组:3.55.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。屏幕截图如下所示:

Full Program

现在,让我们讨论一个稍微复杂的示例,该示例计算两个矩阵的乘法。

广告