theano function参数类型要求说明

     theano function作为十分重要的一个函数,本身也是问题最大的地方,givens和updates参数本身是对数据类型有限制的,这也是初学者容易遇到问题的地方。不过官方的文档却说的不详细,应该说主要讲这块的地方没讲明白,而讲明白这块的地方又不容易找到,因此本文列出英文原文和说明,对次详细的说明。

  theano function参数类型要求说明_第1张图片

  上面原文是在介绍logistic回归的时候提到的一段文字,列出来是这段确切的告诉你了,function该给什么杨的参数。

    首先shared 变量可以作为函数将的可以访问的数据,可以用get_value set_value两个函数访问和获取值(值为ndarray类型),换句话说shared variables即可以作为符号变量(Tensor库中的变量,用于求导等公式推算的符号库),又可以作为多个函数间能共享值的变量。 

   updates 的参数需要一个list参数列表对,形式是这样的 [(key,value),(key,value),.......]这样的一个列表但是key必须是 shared-variable也就是共享变量,value是一个新的表达式


  然后是也十分重要的givens参数了,原文如下

 The givens parameter can be used to replace any symbolic variable, not just a shared variable. You can replace constants, and expressions, in general. Be careful though, not to allow the expressions introduced by a givens substitution to be co-dependent, the order of substitution is not defined, so the substitutions have to work in any order.

givens 替代符号化变量tensor类型的,当然可以是shared变量,它的值可以使常量,表达式。


懂得了以上参数,对于调试function应该有了很大帮助!


你可能感兴趣的:(算法)