0

我在 Google Colab 上使用 CUML 0.10.0 库中的随机森林回归模型,但无法获得模型预测。模型训练成功结束后,我使用 (.predict) 方法对一个非常大的数组 (41697600, 11) 进行推理。但是,我收到以下错误:

TypeError: GPU predict model only accepts float32 dtype as input, convert the data to float32 or use the CPU predict with `predict_model='CPU'`.

即使在将输入 numpy 数组的 dtype 转换为 float32 并在 predict 方法中指定 predict_model='CPU' 参数后,该错误仍然存​​在。

这是供您参考的使用代码:

array=(X_test.values).astype('float32')
predictions = cuml_model.predict(array, predict_model='CPU',output_class=False, algo='BATCH_TREE_REORG')

型号总结:

<bound method RandomForestRegressor.print_summary of RandomForestRegressor(n_estimators=10, max_depth=16, handle=<cuml.common.handle.Handle object at 0x7fbfa342e888>, max_features='auto', n_bins=8, n_streams=8, split_algo=1, split_criterion=2, bootstrap=True, bootstrap_features=False, verbose=False, min_rows_per_node=2, rows_sample=1.0, max_leaves=-1, accuracy_metric='mse', quantile_per_tree=False, seed=-1)>
4

2 回答 2

1

此错误消息非常令人困惑。我相信它失败了,因为训练是在 float64 中而不是在预测中。因此,如果您改为使用 float32 进行训练,这一切都应该有效。预测的优化 GPU 实现目前仅支持 float32模型。您应该能够退回到缓慢的 CPU 预测,但是这个异常阻止了它。

我将此作为错误提交,我们将尝试为即将发布的版本修复。随意跟随那里或添加任何额外的问题等:https ://github.com/rapidsai/cuml/issues/1406

于 2019-11-22T18:21:52.387 回答
0

我遇到了同样的错误,int64但错误显示为float64. 因此,任何有相同问题的人都可以简单地转换int64float32or int32

于 2021-10-31T17:59:21.173 回答