![Python快乐编程:人工智能深度学习基础](https://wfqqreader-1252317822.image.myqcloud.com/cover/181/44510181/b_44510181.jpg)
上QQ阅读APP看书,第一时间看更新
2.6.1 函数的定义
事实上,前面已经引入了Theano中一个非常重要的函数:theano.function,该函数主要用于定义一个函数的自变量和返回值(因变量)。
函数的语法格式如下所示:
![](https://epubservercos.yuewen.com/507925/23721665909549406/epubprivate/OEBPS/Images/Figure-P41_15340.jpg?sign=1738926733-HlcAFDEnyB3sk2Gi41s9NETicrsS4YLj-0-53d6a8414aca568fc2d066f373af78d5)
可以看出,函数具有很多参数,但通常只会用到inputs、outputs、updates这3个参数,分别表示函数的自变量、函数的返回值(因变量)、共享变量参数更新策略。
(1)inputs:用于指定函数的自变量列表。python以列表的形式来表示,列表的每一个元素都是一个In类型,In类型的函数有很多参数设置,详细的参数定义建议参考Theano的官方文档,本书仅对其中较为常用的两个参数进行介绍。
· variable:指定符号变量。
· value:指定变量的默认值。
(2)outputs:指定函数的返回值列表。outputs的值如果为空,则说明没有输出结果;也可以是一个值或者以列表的形式表示多个返回值。如果outputs的值不为空,则每一个返回值都是一个Out类,Out类的构造函数相对简单,一般只需要指定返回的符号变量即可。
(3)updates:共享变量参数更新策略。通常以字典或元组列表的形式来指定。updates应用最广泛的就是在最优化计算过程中,指定每一次迭代时参数的更新策略。通过updates来对梯度下降算法中的权重参数进行迭代更新。
当函数同时存在多个自变量和对应的因变量时定义格式如下:
![](https://epubservercos.yuewen.com/507925/23721665909549406/epubprivate/OEBPS/Images/Figure-P41_15341.jpg?sign=1738926733-1IqQTufnqxxSvy2uEYQT0aNz3WbLbDN9-0-04d04f8a69445ca0b125665922495508)
输出如下所示:
[array(5.,dtype = float32),array(6.,dtype = float32)]