【问题标题】:'cupy.core.core.ndarray' object has no attribute 'unique'“cupy.core.core.ndarray”对象没有“唯一”属性
【发布时间】:2021-04-18 07:11:47
【问题描述】:

我正在使用 factorize() 函数转换分类特征,该函数返回 cupy 数组和字符串的元组。我将cupy 数组分配给一个名为codes 的变量。但是,我似乎无法使用 codes.unique() 获得 codes 的唯一值

返回错误信息:

AttrubuteError: 'cupy.core.core.ndarray' 对象没有属性 'unique'

# use factorize to create continuous integers from a categorical feature (returns a tuple)
codes, uniques = df_train['product_id'].factorize()
codes.unique()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-59-27db0fac06a1> in <module>()
----> 1 codes.unique()

AttributeError: 'cupy.core.core.ndarray' object has no attribute 'unique'

code

感谢帮助和建议使其发挥作用

【问题讨论】:

    标签: python cupy rapids


    【解决方案1】:

    CuPy 被设计为与 NumPy 高度兼容,在这种情况下请注意 numpy.ndarray 也没有 unique() 方法;对于 NumPy 和 CuPy,它作为常规函数存在于主命名空间下 (numpy.unique()/cupy.unique())。因此,这是一种不特定于 CuPy 恕我直言的无效用法。

    【讨论】:

      【解决方案2】:

      我认为你需要调用cupy.unique(codes) 而不是codes.unique(),如果它是一个常规的 NumPy 数组的话。文档:https://docs.cupy.dev/en/stable/reference/generated/cupy.unique.html

      它是在这个 PR 中添加的:https://github.com/cupy/cupy/pull/1140 你可能会看到它没有作为数组类型的方法添加。

      【讨论】:

      • 啊,我明白了,我正在学习去年制作的教程。谢谢!
      • 不客气。如果此答案解决了您的问题,请单击左侧的复选标记“接受”它。欢迎使用 Stack Overflow。
      猜你喜欢
      • 2016-03-13
      • 2016-03-24
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 2010-09-11
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多