'nvstrings' 对象没有属性 'to_gpu_array'

'nvstrings' object has no attribute 'to_gpu_array'

我正在使用 cuML 进行随机梯度下降。我使用 sklearn 的 train_test_split 从 cuDF 数据帧为 train_X、train_y 生成分割。

以下代码(我删除了与此问题无关的超参数):

from cuml.solvers import SGD as cumlSGD
cu_sgd = cumlSGD(eta0=0.005)
cu_sgd.fit(train_X, train_y)

在 cu_sgd.fit 行抛出以下错误: 'nvstrings' 对象没有属性 'to_gpu_array'

我该如何解决这个问题?

解决方案是首先将 train_Xtrain_Y 中具有 string dtype 的任何列转换为 category dtype。字符串不能用 to_gpu_array 转换,因为它们不是固定宽度的。您将丢失实际的字符串值,但可以重建它们,并且 cu_sgd.fit 应该可以正常工作。