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。屏幕截图如下所示 -

完整计划

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