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

标签 python arrays numpy theano

我定义了一个 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/

相关文章:

python - 如何使用 XPath lxml Python 选择直接子项?

python - django 服务器在运行时不加载 css

python - 如何在 TensorFlow 中使用批量标准化?

arrays - PowerShell-无法导出到CSV文件

python - 当我附加时,Numpy 错误地将大 float 更改为非常小的数字

python - 将多索引数据帧分离为 Pandas 中的多个单索引数据帧

python - 尝试定位 404 Error running python-flask with bootstrap

c - 最小值字符串

php - 将查询中的数据插入数组

python - 如何将 numpy 复杂数组转换为两个元素的 float 组?