我正在研究生物信息学大数据集;训练集和优化需要大量时间来执行。我检查并发现在一个 cpu 核心上进行训练和优化编译,因此需要大量时间。
我试图寻找多处理或并行计算代码,但我没有得到任何好的相关示例来在我的脚本上执行代码。我是多处理的新手,任何人都可以分享 Python 中的多处理或并行计算代码。
我正在研究生物信息学大数据集;训练集和优化需要大量时间来执行。我检查并发现在一个 cpu 核心上进行训练和优化编译,因此需要大量时间。
我试图寻找多处理或并行计算代码,但我没有得到任何好的相关示例来在我的脚本上执行代码。我是多处理的新手,任何人都可以分享 Python 中的多处理或并行计算代码。
如果您使用的是 scikit-learn,那么对于大多数学习者来说,有一个名为 n_jobs 的参数。可以将此参数设置为 -1 以利用所有处理器。有关更多详细信息,请参阅关于 CPU 使用率和内存的 scikit-learn n_jobs 参数
你如何做到这一点在很大程度上取决于你已经在使用的工具和你的模型训练的方式。如果您正在迭代例如要搜索的参数网格,则并行化可能很简单。其他设置可能非常困难。
有一些使用 Python 的通用方法:查看相关文档。
要注意的一件事是,您确实必须使用多个进程才能在 Python 中获得真正的并行性。在 python 中使用线程并不能加快实际计算的速度。线程通常仅在您认为您将等待响应的情况下有用,例如在网络/Web 编程中(类似于 Python 中的异步编程)。
在你的情况下,做生物信息学,我会首先检查没有框架已经为你做并行处理。也许你可以使用: