我正在使用Google Colab上CUML 0.10.0库中的Random Forest Regression模型,并且在获取模型预测时遇到了麻烦。在模型训练成功结束之后,我正在使用(.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并在预报方法中指定了Forecast_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)>
答案 0 :(得分:1)
此错误消息极为混乱。我相信它会失败,因为 training 是在float64中而不是预测中。因此,如果您改用float32进行训练,则应该都能正常工作。预测的优化GPU实现目前仅支持float32 模型。您应该可以退后到缓慢的CPU预测,但是此异常阻止了它。
我将此作为错误提交,我们将尝试修复即将发布的版本。随时关注此处或添加任何其他问题,等等:https://github.com/rapidsai/cuml/issues/1406