gpt4 book ai didi

python - Theano值错误: Some matrix has no unit stride

转载 作者:行者123 更新时间:2023-11-30 09:01:56 27 4
gpt4 key购买 nike

最近在对经过训练的 pylearn2 模型进行预测时遇到了问题。下面提供了回溯的相关位。我已确保 model.get_input_shape() 与我传递给生成的 theano 预测函数的 numpy 数组的形状匹配,但仍然收到以下错误。

ValueError: some matrix has no unit stride
Apply node that caused the error: Dot22(Elemwise{Composite{[Switch(GT(*1 -> add(i0, i1), i2), *1, i2)]}}[(0, 0)].0, y_W)
Inputs types: [TensorType(float32, matrix), TensorType(float32, matrix)]
Inputs shapes: [(1, 1000), (1000, 1)]
Inputs strides: [(9223372036854775807, 4), (4, 9223372036854775807)]
Inputs scalar values: ['not scalar', 'not scalar']

有趣的是,行为似乎是依赖于机器的。我的预测脚本在本地计算机上运行,​​但在 Google Compute Engine 实例上执行会产生上述错误。

有什么想法可以开始调试吗?输入步幅看起来很奇怪,但我不确定如何开始调试该值。

最佳答案

问题在于 NumPy 创建的 ndarray 步幅错误。此问题已在最新版本的 NumPy 中修复。因此更新 NumPy 它应该可以工作。

这一行显示 NumPy 步幅不好:

Inputs strides: [(9223372036854775807, 4), (4, 9223372036854775807)]

您是否使用一些特殊标志编译 NumPy 来测试大小为 1 的维度的步幅?

在这里,我做了一个 PR,以更加容忍那些无效的步幅:

https://github.com/Theano/Theano/pull/2008

关于python - Theano值错误: Some matrix has no unit stride,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25046108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com