【发布时间】:2018-09-13 21:21:16
【问题描述】:
我正在尝试使用 Autograd 包复制 this standard example。
虽然我可以从这个存储库复制其他示例,但这个特定示例会引发如下错误:
/home/avuis/anaconda/lib/python3.6/sitepackages/autograd/numpy/numpy_vjps.py:444: FutureWarning:
Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`.
In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
return lambda g: g[idxs]
这个相关版本不兼容吗?如果是这样,有什么快速的方法可以解决这个问题?
提前致谢,
【问题讨论】:
-
这不是您收到的错误,而是警告。此外,此警告不应该影响您此时的结果,但在以后的版本中,我猜它会在您尝试运行的示例中更新。
-
@ĐorđeRelić:是的,这是我的第一印象。但是,不幸的是,代码没有继续迭代 2,也没有显示任何错误。如果有人能确认他们也有类似的问题,至少会很感激。
-
我刚刚克隆了 repo 并运行了示例
gmm.py。它为我运行,没有任何错误或警告。但是,它也没有产生任何输出。进一步搜索你得到的错误让我遇到了两个问题(numpy 和 scipy repos 各一个)。所以你可能想要做的是更新你的scipy包(我使用的是 1.0.0 版)然后再试一次。对于 numpy,autograd 使用他们的 numpy 版本(import autograd.numpy as np)所以我猜这个问题不存在。 -
@ĐorđeRelić:感谢您确认此问题。我认为它应该在他们的下一次更新中修复。再次感谢。
-
我将写一个答案来尝试更新您的
scipy包,看看它是否能解决这个问题。而且,通过稍微调整代码,我收到了来自minimize函数的警告,指出“警告:由于精度损失,不一定会实现所需的错误。”所以因此我没有应该是“gmm.png”的输出。