首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抛出cp.full TypeError的CUML拟合函数

抛出cp.full TypeError的CUML拟合函数
EN

Stack Overflow用户
提问于 2021-05-03 20:12:10
回答 1查看 97关注 0票数 0

我一直试图在谷歌Colab pro上运行RAPIDS,并成功地安装了cuml和cudf包,但我甚至无法运行示例脚本。

TLDR;

每当我尝试在Google Colab上运行cuml的fit函数时,我都会得到以下错误。我在使用演示示例进行安装和使用cuml时都得到了这一点。这种情况发生在一系列的cuml示例中(我第一次尝试运行UMAP时遇到了这个问题)。

代码语言:javascript
复制
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-c06fc2c31ca3> in <module>()
     13 knn.fit(X_train, y_train)
     14 
---> 15 knn.predict(X_test)

5 frames
cuml/neighbors/kneighbors_regressor.pyx in cuml.neighbors.kneighbors_regressor.KNeighborsRegressor.predict()

cuml/neighbors/nearest_neighbors.pyx in cuml.neighbors.nearest_neighbors.NearestNeighbors.kneighbors()

cuml/neighbors/nearest_neighbors.pyx in cuml.neighbors.nearest_neighbors.NearestNeighbors._kneighbors()

cuml/neighbors/nearest_neighbors.pyx in cuml.neighbors.nearest_neighbors.NearestNeighbors._kneighbors_dense()

/usr/local/lib/python3.7/site-packages/cuml/common/array.py in full(cls, shape, value, dtype, order)
    326         """
    327 
--> 328         return CumlArray(cp.full(shape, value, dtype, order))
    329 
    330     @classmethod

TypeError: full() takes from 2 to 3 positional arguments but 4 were given

在Google Colab Pro上采取的步骤(以重现错误)

下面是一个示例,我使用Rapids (https://colab.research.google.com/drive/1rY7Ln6rEE1pOlfSHCYOVaqt8OvDO35J0#forceEdit=true&offline=true&sandboxMode=true)中的这个示例安装了相关的包:

代码语言:javascript
复制
# Install RAPIDS
!git clone https://github.com/rapidsai/rapidsai-csp-utils.git
!bash rapidsai-csp-utils/colab/rapids-colab.sh stable

import sys, os, shutil

sys.path.append('/usr/local/lib/python3.7/site-packages/')
os.environ['NUMBAPRO_NVVM'] = '/usr/local/cuda/nvvm/lib64/libnvvm.so'
os.environ['NUMBAPRO_LIBDEVICE'] = '/usr/local/cuda/nvvm/libdevice/'
os.environ["CONDA_PREFIX"] = "/usr/local"
for so in ['cudf', 'rmm', 'nccl', 'cuml', 'cugraph', 'xgboost', 'cuspatial']:
  fn = 'lib'+so+'.so'
  source_fn = '/usr/local/lib/'+fn
  dest_fn = '/usr/lib/'+fn
  if os.path.exists(source_fn):
    print(f'Copying {source_fn} to {dest_fn}')
    shutil.copyfile(source_fn, dest_fn)
# fix for BlazingSQL import issue
# ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/local/lib/python3.7/site-packages/../../libblazingsql-engine.so)
if not os.path.exists('/usr/lib64'):
    os.makedirs('/usr/lib64')
for so_file in os.listdir('/usr/local/lib'):
  if 'libstdc' in so_file:
    shutil.copyfile('/usr/local/lib/'+so_file, '/usr/lib64/'+so_file)
    shutil.copyfile('/usr/local/lib/'+so_file, '/usr/lib/x86_64-linux-gnu/'+so_file)

然后,我尝试从cuML (https://docs.rapids.ai/api/cuml/stable/api.html#k-means-clustering)运行下面的示例

代码语言:javascript
复制
from cuml.neighbors import KNeighborsRegressor

from sklearn.datasets import make_blobs
from sklearn.model_selection import train_test_split

X, y = make_blobs(n_samples=100, centers=5,
                  n_features=10)

knn = KNeighborsRegressor(n_neighbors=10)

X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.80)

knn.fit(X_train, y_train)

knn.predict(X_test)

这将导致问题开头出现错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-06 23:19:26

尽管conda在快速安装过程中安装了cupy==8.6.0,但Colab仍保留cupy==7.4.0。这是一个自定义安装。在安装RAPIDS之前,我刚刚成功地安装了cupy-cuda110==8.6.0

!pip install cupy-cuda110==8.6.0

我很快就会更新脚本,这样你就不需要手动完成了,而是想测试更多的东西。再次感谢您让我们知道!

编辑:脚本已更新。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67368715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档