使用多个GPU在Caffe中使用较大的batch_size时不记忆



我现在在VGG-FACE(非常大的型号)上进行微调,并使用8个Titan XP GPU。但是,当我增加batch_size时,Caffe会出现符合内存错误。这是我所做的:

首先,batch_size的训练阶段设置为40,并且在单个GPU上工作正常。选择的GPU几乎使用了100%。然后,使用

使用所有8 GPU,我将batch_size提高到128
'./build/tools/caffe train -solver mysolver.prototxt -gpu all'

如NVIDIA-smi.jpg

所示,所有GPU均已充分利用

和caffe给我以下错误:

F0906 03:41:32.776806 95655 parallel.cpp:90] Check failed: error ==cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***
@     0x7f9a0832995d  google::LogMessage::Fail()
@     0x7f9a0832b6e0  google::LogMessage::SendToLog()
@     0x7f9a08329543  google::LogMessage::Flush()
@     0x7f9a0832c0ae  google::LogMessageFatal::~LogMessageFatal()
@     0x7f9a08abe825  caffe::GPUParams<>::GPUParams()
@     0x7f9a08abefd8  caffe::NCCL<>::NCCL()
@           0x40dc69  train()
@           0x40a8ed  main
@     0x7f9a06abf830  (unknown)
@           0x40b349  _start
Aborted (core dumped)

理论上我可以用batch_size=40*8=320训练。(如果我在这里,请告诉我)

那么,我如何才能充分利用GPU来加速我的模型培训?预先感谢!

使用多个GPU时,您无需增加原始版本中的批处理大小。如果您的批次尺寸为40,Caffe将对每个GPU单独使用该尺寸,从而有效地为您提供40*8的批次大小(无需更改任何内容)。

相关内容

  • 没有找到相关文章

最新更新