我们如何获得theano表达式所依赖的变量列表?

时间:2017-02-10 10:18:03

标签: python theano symbolic-math

在同情中,我会这样:

In [6]: import sympy as sp

In [7]: sp.var('x, y')
Out[7]: (x, y)

In [8]: X = x + y

In [9]: X.free_symbols
Out[9]: {y, x}

获取X所依赖的变量。这非常方便,因为如果我们之后想要做一个lambdify:

f = sp.lambdify(tuple(X.free_symbols), X)

我想和theano做类似的事情:

import theano
import theano.tensor as T
x, y = T.dvectors('x', 'y')
X = x + y
f = theano.function([x, y ], X)

但是,我想直接访问创建[x,y]

所需的变量列表,而不是提供theano.function

有可能吗?如果是这样,我没有在theano doc中找到它,所以任何帮助或链接都将被赞赏:)

1 个答案:

答案 0 :(得分:3)

一些theano函数没有很好的文档,因为主要是供内部使用。

import theano
import theano.tensor as T
x, y = T.vectors('xy')
z = x+y
theano.gof.graph.inputs([z])

输出:

[x, y]