关于并行计算中的 try() 函数

About try() function in parallel computing

提问人:Phoebe 提问时间:7/27/2023 更新时间:7/27/2023 访问量:20

问:

我正在使用 pbapply::p blapply(.., FUN = myfun, ..) 来做一些并行计算。在 myfun 中,我使用 try(my_algo(), silent = T) 来捕获算法的错误。此算法有时会遇到错误消息,但仍返回一个值。但是,使用 try() 函数后,我无法获取值,只能获取错误消息。如果我在没有并行计算的情况下运行 my_algo(),它将返回该值。似乎是否获得该值与pbapply::p blapply()有关。但是,如果我在不使用 try() 的情况下忽略错误并仍然使用 pbapply::p blapply(),则在发生错误时执行将停止。那么,有没有办法抑制误差并获取结果值,同时仍然并行计算算法呢?

R doparallel 平行线

评论

1赞 Roland 7/27/2023
为什么不使用 ,即在发生错误时返回?tryCatchNA
0赞 jay.sf 7/27/2023
如果您使用的是 Linux,最好使用 ,它要快得多。pbmcapply::pbmclapply
0赞 Phoebe 7/29/2023
哇,谢谢!我会尝试pbmcapply!
0赞 Phoebe 7/29/2023
我曾经使用tryCatch,它失败了。它效果不佳

答: 暂无答案