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)

函数函数 接受两个参数,第一个参数是函数的输入,第二个参数是输出。上面的声明表明第一个参数是数组类型,由两个元素 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。屏幕截图显示在此处 −

完整程序

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