如何解决“cupy.core.core.ndarray”对象没有“unique”属性
我正在使用 factorize()
函数转换分类特征,该函数返回 cupy
数组和字符串的元组。我将 cupy
数组分配给名为 codes
的变量。但是,我似乎无法使用 codes
codes.unique()
的唯一值
它返回一条错误消息:
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'
感谢帮助和建议使其工作
解决方法
CuPy 被设计为与 NumPy 高度兼容,在这种情况下,请注意 numpy.ndarray
也没有 unique()
方法;对于 NumPy 和 CuPy,它作为常规函数 (numpy.unique()
/cupy.unique()
) 位于主命名空间下。所以这是一个不特定于 CuPy 恕我直言的无效用法。
我认为您需要调用 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,正如您所看到的,它没有将它添加为数组类型的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。