web-dev-qa-db-fra.com

Les données en mémoire tampon ont été tronquées après avoir atteint la limite de taille de sortie

Lorsque j'utilise Colaboratory pour exécuter mon modèle NIN, il se produit une erreur dans la sortie du processus de formation qui indique que "les données tamponnées ont été tronquées après avoir atteint la limite de taille de sortie". à la 61e époque. Je n'ai aucune idée de ce plantage. Comment puis-je résoudre ce problème?

Voici quelques informations sur les résultats de mon processus de formation:

Epoch 57/200
391/391 [==============================] - 53s 135ms/step - loss: 0.8365 - acc: 0.7784 - val_loss: 0.9250 - val_acc: 0.7625
Epoch 58/200
 28/391 [=>............................] - ETA: 46s - loss: 0.8356 - acc: 0.7835391/391 [==============================] - 53s 136ms/step - loss: 0.8288 - acc: 0.7811 - val_loss: 0.8977 - val_acc: 0.7608
Epoch 59/200
326/391 [========================>.....] - ETA: 8s - loss: 0.8309 - acc: 0.7789391/391 [==============================] - 53s 136ms/step - loss: 0.8297 - acc: 0.7798 - val_loss: 0.9030 - val_acc: 0.7628
Epoch 60/200
391/391 [==============================] - 53s 134ms/step - loss: 0.8245 - acc: 0.7825 - val_loss: 0.8378 - val_acc: 0.7767
Epoch 61/200
 28/391 [=>............................] - ETA: 46s - loss: 0.8281 - acc: 0.7879390/391 [============================>.] - ETA: 0s - loss: 0.8177 - acc: 0.7851Buffered data was truncated after reaching the output size limit.
7
lycutter

Même si RAM | GPU | DISK sur colab est libre, cette erreur survient toujours car il y a une mémoire limitée pour afficher la sortie d'une cellule sur colab. En supposant que la limite de mémoire est d'environ 2 Mo à 5 Mo lorsque nous exécutons de nombreuses époques (148+) pendant la formation, cela tend à remplir cette mémoire et donc la sortie est tronquée car il n'y a plus de mémoire disponible pour afficher les époques tamponnées. Cependant, la machine continue de fonctionner en arrière-plan et la sortie est traité mais il ne s'affiche pas en raison de la limite de mise en mémoire tampon. Vous obtiendrez toujours la sortie souhaitée.

Une solution consiste à ne pas utiliser verbose = 1 (utilisez plutôt 0).

7
Praveen kumar

ce n'est pas lié au matériel RAM ou capacité GPU.

Le framework Keras a une limitation pour afficher les informations de sortie dans la console.

lorsque vous voyez ce message, votre processus se déroule en arrière-plan mais vous ne pouvez pas le voir.

Si vous utilisez tensorflow comme backend, écrivez un rappel Tensorboard dans votre Keras pour voir la sortie détaillée de votre réseau.

https://keras.io/callbacks/#tensorboard
3
nima farhadi

Je pense que cette erreur est pour mémoire insuffisante. Votre RAM ou la mémoire du GPU était pleine et n'a pas pu traiter les nouvelles données. Vous pouvez effectuer deux travaux: 1. Diminuez la taille de votre lot. 2. Enregistrez votre modèle dans par exemple 60th Epoch et fermez le programme actuel et exécuter un nouveau programme et restaurer le modèle enregistré et le modèle de train de 61 Epoch à 120 Epoch et enregistrer cela et fermer le programme et répéter ce travail pour votre Epoch intéressée

1
Farid.H