Sur mon ordinateur portable Dell Core i7 - 16 Go de RAM - 4 Go 960 m GPU, je travaille sur un projet de classification des images CT pulmonaires à l'aide de CNN 3D. J'utilise la version CPU de tensorflow. Les images sont préparées sous forme de tableau numpy (25,50,50).
Mon modèle CNN avait 2 couches conv, deux couches maxpool, une couche FC et une couche de sortie. Avec cette architecture, j'ai pu former le modèle avec environ (5000 à 6000) échantillons. Après avoir ajouté plus de couches, mon modèle a maintenant 6 couches conv, 3 couches max-pool, FC et couche de sortie. Mon problème est après avoir changé l'architecture avec un peu plus de 1000 échantillons, ma mémoire est remplie et j'obtiens une erreur de mémoire. J'ai essayé de faire des lots plus petits, mais à chaque fois j'ai la même erreur. J'ai deux questions:
Pourquoi en ajoutant plus de couches, le modèle a besoin de plus de mémoire?
Existe-t-il un moyen de traiter ce type de problème?
la source
Réponses:
Plus de couches signifient plus de paramètres pour votre réseau, ce qui signifie à son tour plus d'espace requis en mémoire pour stocker ces paramètres.
La seule solution (en plus d'augmenter la mémoire de votre ordinateur) est de réduire la taille de votre réseau. Quelques indications à ce sujet: Premièrement, les CNN 3D nécessitent beaucoup plus d'espace que les CNN 2D. Une idée pourrait être de passer à une 2D. En dehors de cela, les couches avec le plus de paramètres sont les couches FC. Celles-ci sont parfois redondantes. Je suggère de réduire la taille de ceux-ci en premier.
la source
Pour ajouter au point soulevé par
MzdR
, vous pouvez également essayer d'utiliser des générateurs à la place. Comme votre modèle n'aura pas vraiment besoin d'avoir toutes vos images en mémoire pendant l'entraînement, je pense qu'un générateur devrait bien servir.Vérifiez cette question à partir de stackoverflow. Les générateurs sont plutôt cool quand vous êtes sur une bonne affaire de mémoire. Mais si cela échoue également, essayez de réduire la taille de vos couches FC.
la source