0

我正在尝试使用 python 包 autograd 并且我想在插值中使用 autograd 数组框的值

np.interp(x, x_values, y_values)

其中 y_values 存储在 autograd 数组框中。这会导致错误

TypeError: Cannot cast array data from dtype('O') to dtype('float64') according to the rule 'safe'

这与 y_values 是一个 autograd 数组框有关。我不明白为什么会出现此错误,因为我认为 autograd 应该与 numpy 一起使用?但是,如果我可以将 autograd arraybox 转换为 numpy 数组,我可以使用它,但这似乎也不起作用?

floats = [float(x) for x in y_values]

导致

TypeError: float() argument must be a string or a number, not 'ArrayBox'
4

1 回答 1

0

我做了:

myvariable._value

我得到了一个数组,其中包含 ArrayBox 中的值,然后我可以对其进行操作。

我在使用 call(myvariable) 检查了 ArrayBox 的属性后发现了它。看起来它没有记录在任何地方。希望能帮助到你

于 2019-07-28T18:00:32.433 回答