从 numba 导入 cuda、numpy_support 和 ImportError:无法从“numba”导入名称“numpy_support”

问题描述

我正在将 Pandas 更改为 cudf 以加快聚合速度并降低处理速度。我想出了一个可以在 GPU 上使用 Pandas 的库。

“CUDF 链接 https://github.com/rapidsai/cudf

当我输入下面的内容安装到我的项目中时出现错误,我也尝试了许多版本的 numba。

conda install -c rapidsai -c nvidia -c numba -c conda-forge \
    cudf=0.13 python=3.7 cudatoolkit=10.2

追溯

Traceback (most recent call last):
  File "/home/khawar/deepface/tests/Ensemble-Face-Recognition.py",line 5,in <module>
    import cudf
  File "/home/khawar/anaconda3/envs/deepface/lib/python3.7/site-packages/cudf/__init__.py",line 7,in <module>
    from cudf import core,datasets
  File "/home/khawar/anaconda3/envs/deepface/lib/python3.7/site-packages/cudf/core/__init__.py",line 3,in <module>
    from cudf.core import buffer,column
  File "/home/khawar/anaconda3/envs/deepface/lib/python3.7/site-packages/cudf/core/column/__init__.py",line 1,in <module>
    from cudf.core.column.categorical import CategoricalColumn  # noqa: F401
  File "/home/khawar/anaconda3/envs/deepface/lib/python3.7/site-packages/cudf/core/column/categorical.py",line 11,in <module>
    import cudf._libxx as libcudfxx
  File "/home/khawar/anaconda3/envs/deepface/lib/python3.7/site-packages/cudf/_libxx/__init__.py",in <module>
    from . import (
  File "cudf/_libxx/aggregation.pxd",line 9,in init cudf._libxx.reduce
  File "cudf/_libxx/aggregation.pyx",in init cudf._libxx.aggregation
  File "/home/khawar/anaconda3/envs/deepface/lib/python3.7/site-packages/cudf/utils/cudautils.py",in <module>
    from numba import cuda,numpy_support
ImportError: cannot import name 'numpy_support' from 'numba' (/home/khawar/anaconda3/envs/deepface/lib/python3.7/site-packages/numba/__init__.py)

解决方法

在尝试安装 cuDF 0.13 时,conda 显然发现了一个与 cuDF 0.13 不兼容的 numba 版本。

cuDF 0.13 已过时。当前的稳定版本是 0.17,而 nightly 是 0.18。我们将更新自述文件,因为它应该提供当前版本的安装说明。

我们建议创建一个全新的 conda 环境。请尝试以下 conda 安装命令,找到 here

conda create -n rapids-0.17 -c rapidsai -c nvidia -c conda-forge \
    -c defaults rapids-blazing=0.17 python=3.7 cudatoolkit=10.2