我有 R 脚本,用于从不同文件中读取大量 csv 数据,然后执行机器学习任务,例如 svm 进行分类。
是否有任何库可以在服务器上为 R 使用多个内核。
或者
什么是最合适的方法来实现这一目标?
让 R 代码使用多个处理器有什么建议吗?
机器算法验证
r
并行计算
多核
2022-02-08 07:23:40
4个回答
如果您使用的是 GNU/Linux,Shane 和 Dirk 之前的答案很棒。
如果您需要 Windows 的解决方案,这篇文章中有一个:
尽管该软件包尚未在 CRAN 上。它可以从那个链接下载。
CRAN Task View on High-Performance Computing对该主题的覆盖范围更广。这也链接到JSS 中关于使用 R 进行并行计算的相当近期的调查文章。
最后,我不时提供的使用 R 的 HPC 简介教程中提供了一些动手示例和技巧——请参阅我的演示文稿页面以获取上周在 userR 上的最新副本。
我注意到之前的答案缺乏一些通用的 HPC 考虑因素。
首先,这些软件包都不能让您并行运行一个SVM。所以你可以加速的是参数优化或交叉验证,你仍然必须为此编写自己的函数。或者当然,如果是这样的话,您可以并行运行不同数据集的作业。
第二个问题是记忆。如果你想将计算分布在几台物理计算机上,没有免费的午餐,你必须复制数据——在这里你必须考虑在计算机之间预分布数据副本以节省一些通信是否有意义。另一方面,如果您希望在一台计算机上使用多核,那么多核尤其合适,因为它使所有子进程都可以访问父进程的内存,因此您可以节省一些时间和大量内存空间。
其它你可能感兴趣的问题