theano矩阵列表作为函数参数

时间:2015-03-13 14:44:32

标签: python list function matrix theano

是否可以在theano中定义一个以矩阵(标量,向量)列表作为输入参数的函数?

这是一个简单的例子:

import numpy as np
import theano as T
import theano.tensor as TT

a = []
a.append(np.zeros((2, 3)))
a.append(np.ones((4, 3)))

T_a = TT.matrices(len(a))
T_z = TT.concatenate(T_a)
fun = T.function(T_a,T_z)

print fun(a[0],a[1])

#but how to make this work?
print fun(a)

如果列出' a'有两个但数千个不同形状的元素? 我脑海中唯一想到的就是将这些元素连接到一个大矩阵然后继续进行。 是不是有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

也许你可以尝试这样的事情:

def my_func(*args): 
    for list in args:
        # stuff here

# ln being your lists.
my_func(l1, l2, l3...)

当你在函数定义中使用* args时,会发生什么事情,这意味着你可以传递任意数量的位置参数。