2016-12-20 1 views
2

the error messageModèle CNN pourquoi les données sont trop volumineuses?

the model structure

  • utilisation keras et backend tensorflow
  • utilisation CPU seulement, la mémoire 128 Go
  • données d'entrée
  • a la forme (45,1024,1024)
  • le modèle ne dispose que une convolution, une (2,2) mise en commun maximale
  • a 1024 * 1024 entièrement connecté.

J'ai reçu ce message d'erreur:

Invalid argument: Forme [4194304,1048576] est trop grand (plus de 1099511627776 entrées)

noter que:

4194304 = 2048 * 2048 
1048576 = 1024 * 1024 

Comment keras a-t-il calculé cette forme? pourquoi est-ce trop grand?

Répondre

0

La forme [4194304, 1048576] est calculée comme suit:

Application 16 convolutions de taille [3, 3] avec le mode frontière same aux entrées de taille [1024, 1024, 3] nous donne la sortie de la taille [1024, 1024, 16]. Après la mise en pool max de la taille 2, elle devient [512, 512, 16] et, lorsqu'elle est aplatie, 512 * 512 * 16 = 4194304. 1048576 provient de 1024 * 1024 comme vous l'avez spécifié dans le constructeur de couches Dense.

Je pense que vous devriez reconsidérer l'architecture de votre modèle. Vous pouvez utiliser des entrées de plus petite taille, ajouter plusieurs couches de mise en commun, réduire la dimensionnalité en appliquant des circonvolutions 1 x 1. Et je doute que 1024 * 1024 est un nombre raisonnable de nœuds dans une couche entièrement connectée.