Parallel processing Pytork-多GPU

Parallel processing Pytork-多GPU,parallel-processing,gpu,pytorch,Parallel Processing,Gpu,Pytorch,我有一个相当大的网络,需要大量的GPU内存。我有4个GPU,我使用nn.DataParallel。当我定义批量大小为4(每个GPU 1个输入)时,我的GPU内存不足。我试图torch.cuda.empty_cache()并从GPU中删除任何不必要的数据,但这还不够 我正在寻找一种方法,将4个GPU视为具有双内存的2个GPU,这样我就可以使用2的批处理大小(1个输入用于两个GPU)。有什么办法吗 谢谢。我想你应该调查一下。它与pytorch以及tf一起工作。您使用的是32位浮点吗?您是否尝试过混合

我有一个相当大的网络,需要大量的GPU内存。我有4个GPU,我使用
nn.DataParallel
。当我定义批量大小为4(每个GPU 1个输入)时,我的GPU内存不足。我试图
torch.cuda.empty_cache()
并从GPU中删除任何不必要的数据,但这还不够

我正在寻找一种方法,将4个GPU视为具有双内存的2个GPU,这样我就可以使用2的批处理大小(1个输入用于两个GPU)。有什么办法吗


谢谢。

我想你应该调查一下。它与pytorch以及tf一起工作。您使用的是32位浮点吗?您是否尝试过混合精度-将一些张量减少到16位浮点?你应该看看他们的部分。从来没有听说过混合精度。我试试看。谢谢不幸的是,我不能使用apex,因为它需要Python3。我的模型由两个网络组成,其中一个需要python 2.7。转换为python-3.x有多困难?