You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

tidymodels stacks并行调参后调用blend_predictions报无效连接错误

解决stacks包并行调优后blend_predictions()的连接错误问题

问题诊断

这个错误根源是并行集群调优后未正确关闭,导致stacks在融合预测结果时访问了已失效的连接。PSOCK集群若未妥善终止,残留的连接进程会干扰后续的stacks操作。

具体解决步骤

1. 手动管控集群生命周期

在knn模型调优的前后,显式启动和关闭集群,避免连接残留:

# 启动集群(预留1核给系统)
cl <- makePSOCKcluster(parallel::detectCores() - 1)
registerDoParallel(cl)

# 执行knn超参数调优
knn_res <- tune_grid(
  knn_spec,
  resamples = tree_frogs_folds,
  grid = knn_grid,
  control = control_stack_grid()
)

# 调优完成立即关闭集群,恢复串行执行
stopCluster(cl)
registerDoSEQ()

2. 优化control_stack_grid参数

关闭预测结果保存,减少并行过程中的连接占用:

knn_res <- tune_grid(
  knn_spec,
  resamples = tree_frogs_folds,
  grid = knn_grid,
  control = control_stack_grid(save_pred = FALSE)
)

3. 确保融合阶段使用串行执行

blend_predictions()不需要并行,在集群关闭后再执行该步骤:

tree_frogs_model_st <- tree_frogs_model_st %>%
  blend_predictions()

4. 重置会话环境

如果上述方法无效,重启R会话后重新运行代码,彻底清除所有残留的无效连接。

额外注意事项

  • 不要在同一脚本中多次启动集群却不关闭,会产生大量无效后台进程。
  • 升级doParallel和stacks到最新版本,旧版本可能存在并行处理的兼容性bug。

内容的提问来源于stack exchange,提问作者littleworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:35:23