Python 2.7 无扫描功能

Python 2.7 无扫描功能,python-2.7,lambda,theano,Python 2.7,Lambda,Theano,示例取自: 什么是优先结果?更准确地说,先验结果定义在哪里 我对以下给出的许多例子有同样的问题: 比如说, components, updates = theano.scan(fn=lambda coefficient, power, free_variable: coefficient * (free_variable ** power), outputs_info=None,

示例取自:

什么是优先结果?更准确地说,先验结果定义在哪里

我对以下给出的许多例子有同样的问题:

比如说,

 components, updates = theano.scan(fn=lambda coefficient, power, free_variable: coefficient * (free_variable ** power),
                              outputs_info=None,
                              sequences=[coefficients, theano.tensor.arange(max_coefficients_supported)],
                              non_sequences=x)

power和free_变量在哪里定义?

这是使用Python特性调用lambda。lambda是一行未命名的python函数。他们有这样的表格:

lambda [param...]: code
在您的示例中,它是:

lambda prior_result, A: prior_result * A

这是一个以先验结果和a作为输入的函数。此函数作为fn参数传递给扫描函数。scan将使用2个变量调用它。第一个参数是output_info参数中提供的内容的对应关系。另一个是non_sequence参数中提供的内容。

那么之前的结果将被初始化为T.ones_likeA?我理解python的lambda功能。但我不知道如何/在哪里初始化或修改Previor_结果。您的第一句话是准确的。对于下一个示例,幂和自由变量是如何/在哪里定义的?简言之,我希望能够查看ano.scan函数并知道它在做什么。目前,我不知道。在哪里定义了系数、幂、自由变量?计算中包含的变量x在哪里?内部函数的输入对应于传递给扫描的其他参数。它首先传递序列列表,然后传递输出信息列表,最后传递所有其他输入非序列列表
lambda prior_result, A: prior_result * A