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

时间:2019-05-30 22:16:31

标签: rapids cudf

我正在使用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'

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

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