我定义了一个 Theano 张量 m = T.imatrix('m')
并将其用作 theano 函数 foo
的参数。
当我现在使用形状为 (100,3) 的 numpy 数组 arr
调用 foo(arr)
时,我希望 m[:, 1]
的形状为 (100,)。
但是,错误消息显示形状为 (1,100)。如何逐步检查函数不匹配情况?
最佳答案
感谢评论中的有用提示,我能够调试形状不匹配的问题。我设置了另一个具有相同输入和自定义输出的 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
关于python - 如何调试 theano 张量的形状不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161956/