我定义了一个Theano张量m = T.imatrix('m')
并将其用作theano函数foo
的参数。
当我现在用形状为({1}}的numpy数组({1}}调用foo(arr)
时,我希望arr
具有形状(100,)。
但是,错误消息显示形状为(1,100)。如何逐步检查功能不匹配?
答案 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