【问题标题】:How to subclass a CuPy array?如何子类化 CuPy 数组?
【发布时间】:2019-02-25 01:49:19
【问题描述】:

NumPy 可以使用

class A(np.ndarray): pass
a = np.random.rand(10, 10).view(A)
print(a) # OK

但是对于 Cupy,下面的操作会导致段错误:

class A(cp.ndarray): pass
a = cp.random.rand(10, 10).view(A)
print(a) # segfault

我浏览了文档,但几乎没有找到任何信息。这是预期的吗? 我正在使用 CuPy 5.2、Python 3.6.8 和 CUDA10。

【问题讨论】:

    标签: python cupy


    【解决方案1】:

    根据numpy.ndarray.view 的文档,它需要两个输入参数:dtypetype。如果dtype 参数是numpy.ndarray 的子类,则将其解释为type 参数。

    另一方面,根据cupy.ndarray.view 的文档,它只需要一个输入参数:dtype。我猜cupy.ndarray.view 现在不支持type 参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多