在Caffe中使用具有较大batch_size的多个GPU时内存不足

时间:2017-09-06 07:50:28

标签: neural-network gpu caffe multi-gpu

我现在使用8个TITAN Xp GPU对VGG-Face(非常大的型号)进行微调。但是,当我增加<div *ngIf="!f.valid"> <div *ngFor="let err of errors">{{err}}</div> </div> 时,Caffe会出现内存不足错误。这是我做的:

首先,batch_size在训练阶段设置为40,并且在单个GPU上运行良好。选择的GPU几乎100%被利用。 然后,我使用

将所有8个GPU增加batch_size为128
batch_size

所有GPU都已充分利用,如nvidia-smi.jpg

所示

Caffe给了我以下错误:

'./build/tools/caffe train -solver mysolver.prototxt -gpu all'

理论上我可以用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) 训练。 (如果我在这儿,请告诉我)

那么,我如何充分利用GPU来加速我的模型培训呢? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

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