8

Sto provando ad addestrare una rete su Caffe. Ho una dimensione dell'immagine di 512x640. La dimensione del lotto è 1. Sto tentando di implementare FCN-8s.Caffe | Verifica non riuscita: errore == cudaSuccess (2 vs 0) memoria esaurita

Attualmente lo sto eseguendo su un'istanza Amazon EC2 (g2.2xlarge) con 4 GB di memoria GPU. Ma quando ho eseguito il risolutore, si butta subito fuori un errore

Check failed: error == cudaSuccess (2 vs. 0) out of memory 
*** Check failure stack trace: *** 
Aborted (core dumped) 

Qualcuno può aiutarmi a procedere da qui?

+0

correlato: http://stackoverflow.com/q/36526959/1714410 – Shai

+0

due soluzioni: uno, si può provare a diminuire la dimensione del lotto, ma la vostra dimensione del lotto = 1, e inutile, allora si può ridimensionare la tua immagine, ridurre la dimensione dell'immagine può essere utile, due, è possibile acquistare una GPU migliore. – blackdusts

risposta

15

L'errore che si ottiene è effettivamente esaurito dalla memoria, ma non è la RAM, ma piuttosto la memoria della GPU (si noti che l'errore proviene da CUDA).
Di solito, quando il caffè ha esaurito la memoria, la prima cosa da fare è ridurre la dimensione del batch (al costo di gradient accuracy), ma poiché si è già in taglia batch = 1 ...
Sei sicuro che la dimensione del batch è 1 per entrambe le fasi TRAIN e TEST?

+0

L'ho indovinato. E sì, la dimensione del batch di entrambe le fasi del test e del treno è 1. Penso di aver ridimensionato le immagini di allenamento a qualcosa di più piccolo e provarlo. Ma perché 4 GB di memoria GPU si stanno rivelando meno spazio? Dice 'Il numero totale di byte letti era 537399810', che è molto più piccolo di 4 GB. –

+0

@AbhilashPanigrahi è possibile che altri processi utilizzino la GPU contemporaneamente? prova la riga di comando 'nvidia-smi' per vedere cosa sta succedendo sulla tua GPU. – Shai

+0

L'ho fatto. Nessun altro processo è in esecuzione a parte questo (che si interrompe automaticamente dopo pochi secondi a causa dell'errore). –