Caffe | Check failed: erreur == cudaSuccess (2 vs 0) de mémoire
Je suis en train de former un réseau sur Caffe. J'ai la taille de l'image de 512x640. La taille du lot est de 1. Je suis en train de mettre en œuvre FCN-8s.
Je suis actuellement en cours d'exécution sur une instance Amazon EC2 (g2.2xlarge) avec 4 go de mémoire graphique. Mais quand je lance le solveur, il jette immédiatement une erreur
Check failed: error == cudaSuccess (2 vs. 0) out of memory *** Check failure stack trace: *** Aborted (core dumped)
Quelqu'un peut-il m'aider à procéder à partir d'ici?
connexes: stackoverflow.com/q/36526959/1714410
deux solutions:l'une, vous pouvez essayer de diminuer la taille des lots, mais la taille des lots=1, et inutile, alors vous pouvez rezise votre image, réduisez la taille de l'image peut être utile;deux, vous pouvez acheter un meilleur GPU.
deux solutions:l'une, vous pouvez essayer de diminuer la taille des lots, mais la taille des lots=1, et inutile, alors vous pouvez rezise votre image, réduisez la taille de l'image peut être utile;deux, vous pouvez acheter un meilleur GPU.
OriginalL'auteur Abhilash Panigrahi | 2015-11-18
Vous devez vous connecter pour publier un commentaire.
L'erreur que vous obtenez est en effet de mémoire, mais ce n'est pas la RAM, mais plutôt de la mémoire graphique (notez que l'erreur vient de CUDA).
Habituellement, lorsque caffe est de la mémoire - la première chose à faire est de réduire la taille du lot, au prix de gradient de précision), mais puisque vous êtes déjà à la taille du lot = 1...
Êtes-vous sûr de la taille du lot est de 1 pour les deux TRAIN et les phases de TEST?
The total number of bytes read was 537399810
qui est de beaucoup inférieure à 4 GO.Je viens de réduire l'image et la taille de l'étiquette à environ 256x320. Il s'exécute avec succès. Je l'ai vu, il est utilisé autour de 3,75 GO de mémoire graphique. Merci pour l'aide.
Est-il utile d'ajouter de décrochage de la couche de si la batch_size est déjà à 1? @Shai
c'est sans rapport. vous pouvez ajouter d'abandon, même lorsque batch_size est un, le décrochage ne pas tomber ensemble des échantillons, mais plutôt d'élaguer certains des neurones de sortie. Vous pouvez, d'une taille de lot de plus d'un à l'aide de
iter_size
. voir thread.Cela n'a aucun rapport avec mon problème, mais votre réponse m'a donné un idée du pourquoi j'ai été à court de mémoire. Mon test de la taille des lots a été plus importante que ma formation à la taille des lots afin de faire le test de la taille des lots plus petits corrigé mon erreur. Merci Shai!
OriginalL'auteur Shai
Caffe pouvez utiliser plusieurs GPU. C'est uniquement pris en charge dans l'interface C++, pas du python. Vous pouvez également activer cuDNN pour une plus faible empreinte mémoire.
https://github.com/BVLC/caffe/blob/master/docs/multigpu.md
OriginalL'auteur Simon