numpy-AttributeError:“零”对象没有属性“ exp”

中位

我在解决运行时中断之间的差异时遇到了麻烦,但是在python控制台中使用完全相同的数据和操作,使其工作正常。

# f_err - currently has value 1.11819388872025
# l_scales - currently a numpy array [1.17840183376334 1.13456764589809]
sq_euc_dists = self.se_term(x1, x2, l_scales) # this is fine. It calls cdists on x1/l_scales, x2/l_scales vectors
return (f_err**2) * np.exp(-0.5 * sq_euc_dists) # <-- errors on this line

我得到的错误是

AttributeError: 'Zero' object has no attribute 'exp' 

但是,在出错后立即在控制台中使用相同的f_err,l_scales和x1,x2调用完全相同的行,但不会产生任何错误。

我找不到专门针对“零”对象错误的帖子,而我发现的非“零”错误似乎不适用于我的案例。

编辑:这有点缺乏信息,所以这是一个实际的(提取的)可运行示例,其中包含我从失败的运行中直接提取的示例数据,当单独运行时,它可以正常运行/除非在运行时,否则我无法重现该错误。

请注意,下面的sqeucld_dist函数非常糟糕,我应该改用scipy的cdist。但是,由于我将sympy符号用于真实数据中具有15个以上偏导数的矩阵元素渐变,因此cdist不是一个选择,因为它不处理任意对象。

import numpy as np

def se_term(x1, x2, l):
    return sqeucl_dist(x1/l, x2/l)

def sqeucl_dist(x, xs):
    return np.sum([(i-j)**2 for i in x for j in xs], axis=1).reshape(x.shape[0], xs.shape[0])


x = np.array([[-0.29932052, 0.40997373], [0.40203481, 2.19895326], [-0.37679417, -1.11028267], [-2.53012051, 1.09819485], [0.59390005, 0.9735], [0.78276777, -1.18787904], [-0.9300892, 1.18802775], [0.44852545, -1.57954101], [1.33285028, -0.58594779], [0.7401607, 2.69842268], [-2.04258086, 0.43581565], [0.17353396, -1.34430191], [0.97214259, -1.29342284], [-0.11103534, -0.15112815], [0.41541759, -1.51803154], [-0.59852383, 0.78442389], [2.01323359, -0.85283772], [-0.14074266, -0.63457529], [-0.49504797, -1.06690869], [-0.18028754, -0.70835799], [-1.3794126, 0.20592016], [-0.49685373, -1.46109525], [-1.41276934, -0.66472598], [-1.44173868, 0.42678815], [0.64623684, 1.19927771], [-0.5945761, -0.10417961]])
f_err = 1.11466725760716
l = [1.18388412685279, 1.02290811104357]
result = (f_err**2) * np.exp(-0.5 * se_term(x, x, l)) # This runs fine, but fails with the exact same calls and data during runtime

任何帮助,不胜感激!

chthonicdaemon

以下是重现您看到的错误的方法:

import sympy
import numpy

zero = sympy.sympify('0')

numpy.exp(zero)

您将看到与您看到的相同的异常。

您可以通过将代码更改为以下内容(使内容浮点)来解决此问题(效率低下)。

def sqeucl_dist(x, xs):
    return np.sum([np.vectorize(float)(i-j)**2 for i in x for j in xs], 
                  axis=1).reshape(x.shape[0], xs.shape[0])

最好使用来修复您的梯度函数lambdify

这是一个如何在部分d上使用lambdify的示例

from sympy.abc import x, y, z
expression = x**2 + sympy.sin(y) + z
derivatives = [expression.diff(var, 1) for var in [x, y, z]]

derivatives现在[2*x, cos(y), 1]是Sympy表达式的列表。要创建一个将在一组特定值上进行数值计算的函数,我们使用lambdify如下方法('numpy'作为参数传递,表示使用numpy.cos而不是sympy.cos):

derivative_calc = sympy.lambdify((x, y, z), derivatives, 'numpy')

现在derivative_calc(1, 2, 3)将返回[2, -0.41614683654714241, 1]这些是ints和numpy.float64s。

旁注: np.exp(M)将计算的每个元素的按元素指数M如果您要进行矩阵指数运算,则需要np.linalg.exmp

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

numpy.getbuffer导致AttributeError:'模块'对象没有属性'getbuffer'

来自分类Dev

AttributeError:'numpy.ndarray'对象没有属性'append':图像处理示例

来自分类Dev

numpy“模块”对象没有属性“堆栈”

来自分类Dev

AttributeError:“ numpy.ndarray”对象没有属性“ columns”

来自分类Dev

AttributeError:“ numpy.ndarray”对象没有属性“ clock”

来自分类Dev

Python:Pandas Dataframe AttributeError:“ numpy.ndarray”对象没有属性“ fillna”

来自分类Dev

AttributeError:“ numpy.ndarray”对象没有适合物流模型数据的属性“ lower”

来自分类Dev

多变量回归错误“ AttributeError:'numpy.ndarray'对象没有属性'columns'”

来自分类Dev

Tensorflow 2.0.0:AttributeError:'TensorSliceDataset'对象没有属性'as_numpy_iterator'

来自分类Dev

在Numpy中将和从i = 1写入n,log(1 + exp(w_i))的有效方法是什么

来自分类Dev

AttributeError:“ numpy.float32”对象没有属性“ __index__”

来自分类Dev

AttributeError:“ Tensor”对象在Tensorflow 2.1中没有属性“ numpy”

来自分类Dev

AttributeError:“ numpy.timedelta64”对象与熊猫没有属性“ total_seconds”

来自分类Dev

AttributeError:'numpy.ndarray'对象没有属性'save'

来自分类Dev

AttributeError:“ Tensor”对象在自定义损失函数(Tensorflow 2.1.0)中没有属性“ numpy”

来自分类Dev

AttributeError:'numpy.ndarray'对象没有属性'get_shape'吗?

来自分类Dev

AttributeError:“ numpy.ndarray”对象没有属性“ lower”

来自分类Dev

AttributeError:“ numpy.ndarray”对象没有属性“ transform”

来自分类Dev

AttributeError:“ numpy.ndarray”对象没有属性“ self”

来自分类Dev

'AttributeError:'numpy.float32'对象没有属性'ctypes'

来自分类Dev

可能使用轴进行子图获取get AttributeError:'numpy.ndarray'对象没有属性'plot'

来自分类Dev

为什么tf.image.ssim总是返回AttributeError:'numpy.ndarray'对象没有属性'get_shape'

来自分类Dev

AttributeError:在matplotlib中使用FuncAnimation时,“ numpy.int32”对象没有属性“ get_zorder”

来自分类Dev

AttributeError:'numpy.ndarray'对象没有属性'score'错误

来自分类Dev

AttributeError:“ numpy.ndarray”对象没有属性“ toarray”

来自分类Dev

AttributeError:“ numpy.ndarray”对象没有属性“ plot”

来自分类Dev

属性错误:找不到 exp

来自分类Dev

如何修复 Pandas 导入 AttributeError “类型对象 'numpy.ndarray' 没有属性 '__array_function__'”

来自分类Dev

AttributeError: 'numpy.ufunc' 对象没有属性 '__module__'

Related 相关文章

  1. 1

    numpy.getbuffer导致AttributeError:'模块'对象没有属性'getbuffer'

  2. 2

    AttributeError:'numpy.ndarray'对象没有属性'append':图像处理示例

  3. 3

    numpy“模块”对象没有属性“堆栈”

  4. 4

    AttributeError:“ numpy.ndarray”对象没有属性“ columns”

  5. 5

    AttributeError:“ numpy.ndarray”对象没有属性“ clock”

  6. 6

    Python:Pandas Dataframe AttributeError:“ numpy.ndarray”对象没有属性“ fillna”

  7. 7

    AttributeError:“ numpy.ndarray”对象没有适合物流模型数据的属性“ lower”

  8. 8

    多变量回归错误“ AttributeError:'numpy.ndarray'对象没有属性'columns'”

  9. 9

    Tensorflow 2.0.0:AttributeError:'TensorSliceDataset'对象没有属性'as_numpy_iterator'

  10. 10

    在Numpy中将和从i = 1写入n,log(1 + exp(w_i))的有效方法是什么

  11. 11

    AttributeError:“ numpy.float32”对象没有属性“ __index__”

  12. 12

    AttributeError:“ Tensor”对象在Tensorflow 2.1中没有属性“ numpy”

  13. 13

    AttributeError:“ numpy.timedelta64”对象与熊猫没有属性“ total_seconds”

  14. 14

    AttributeError:'numpy.ndarray'对象没有属性'save'

  15. 15

    AttributeError:“ Tensor”对象在自定义损失函数(Tensorflow 2.1.0)中没有属性“ numpy”

  16. 16

    AttributeError:'numpy.ndarray'对象没有属性'get_shape'吗?

  17. 17

    AttributeError:“ numpy.ndarray”对象没有属性“ lower”

  18. 18

    AttributeError:“ numpy.ndarray”对象没有属性“ transform”

  19. 19

    AttributeError:“ numpy.ndarray”对象没有属性“ self”

  20. 20

    'AttributeError:'numpy.float32'对象没有属性'ctypes'

  21. 21

    可能使用轴进行子图获取get AttributeError:'numpy.ndarray'对象没有属性'plot'

  22. 22

    为什么tf.image.ssim总是返回AttributeError:'numpy.ndarray'对象没有属性'get_shape'

  23. 23

    AttributeError:在matplotlib中使用FuncAnimation时,“ numpy.int32”对象没有属性“ get_zorder”

  24. 24

    AttributeError:'numpy.ndarray'对象没有属性'score'错误

  25. 25

    AttributeError:“ numpy.ndarray”对象没有属性“ toarray”

  26. 26

    AttributeError:“ numpy.ndarray”对象没有属性“ plot”

  27. 27

    属性错误:找不到 exp

  28. 28

    如何修复 Pandas 导入 AttributeError “类型对象 'numpy.ndarray' 没有属性 '__array_function__'”

  29. 29

    AttributeError: 'numpy.ufunc' 对象没有属性 '__module__'

热门标签

归档