深度学习交叉验证的多处理

时间:2020-10-24 12:15:23

标签: python deep-learning multiprocessing pytorch

我正在从事一个涉及深度学习模型交叉验证的研究项目。数据非常小(在1000个矩阵下,尺寸为200 x 200),与模型一样(例如2-3层感知器)。我正在使用PyTorch Lightning,权重和Bias日志记录以及Hydra配置框架在PyTorch中实现学习过程。

所以,问题是:什么是并行学习的最佳实践?当前,我使用current.futures.ProcessPoolExecutor来运行对应于折叠的几个作业。是好的做法还是存在更好的工具?

此外,我有2个GPU,每个8 Gb内存,并且学习一种模型时GPU的内存使用量并不大(1-2 Gb取决于模型类型)。问题是CPU使用率,即使32个内核占用了2个进程,也占用了100%的CPU使用率。有哪些实践可以减少这种情况?另外,如何为该过程自动选择GPU(例如,可见GPU中内存最多的GPU)?

0 个答案:

没有答案