如何调试theano张量的形状不匹配?

时间:2016-02-02 19:14:24

标签: python arrays numpy theano

我定义了一个Theano张量m = T.imatrix('m')并将其用作theano函数foo的参数。

当我现在用形状为({1}}的numpy数组({1}}调用foo(arr)时,我希望arr具有形状(100,)。

但是,错误消息显示形状为(1,100)。如何逐步检查功能不匹配?

1 个答案:

答案 0 :(得分:2)

由于评论中的有用提示,我能够调试形状不匹配。我设置了另一个具有相同输入和自定义输出的theano调试功能,我可以使用调试器检查它,例如:

# define a function ...
inputs = T.matrix('inputs')
debug_out = T.sum(fancy_expression(inputs)) # expression to debug
debug_fn = theano.function(
        inputs=[inputs], 
        outputs=debug_out,
        on_unused_input='ignore' # to suppress unused input exeptions
)

# ... and debug it here
result = debug_fn(np.empty((100,3)))

再次感谢@ali_m