Python快乐编程:人工智能深度学习基础
上QQ阅读APP看书,第一时间看更新

2.6.1 函数的定义

事实上,前面已经引入了Theano中一个非常重要的函数:theano.function,该函数主要用于定义一个函数的自变量和返回值(因变量)。

函数的语法格式如下所示:

可以看出,函数具有很多参数,但通常只会用到inputs、outputs、updates这3个参数,分别表示函数的自变量、函数的返回值(因变量)、共享变量参数更新策略。

(1)inputs:用于指定函数的自变量列表。python以列表的形式来表示,列表的每一个元素都是一个In类型,In类型的函数有很多参数设置,详细的参数定义建议参考Theano的官方文档,本书仅对其中较为常用的两个参数进行介绍。

· variable:指定符号变量。

· value:指定变量的默认值。

(2)outputs:指定函数的返回值列表。outputs的值如果为空,则说明没有输出结果;也可以是一个值或者以列表的形式表示多个返回值。如果outputs的值不为空,则每一个返回值都是一个Out类,Out类的构造函数相对简单,一般只需要指定返回的符号变量即可。

(3)updates:共享变量参数更新策略。通常以字典或元组列表的形式来指定。updates应用最广泛的就是在最优化计算过程中,指定每一次迭代时参数的更新策略。通过updates来对梯度下降算法中的权重参数进行迭代更新。

当函数同时存在多个自变量和对应的因变量时定义格式如下:

输出如下所示:

    [array(5.,dtype = float32),array(6.,dtype = float32)]