上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)]