190 votes

Le taux de données IOPub a été dépassé dans le notebook Jupyter (lors de la visualisation de l'image)

Je veux afficher une image dans le cahier Jupyter. C'est un fichier .png de 9,9 Mo.

from IPython.display import Image
Image(filename='path_to_image/image.png')

Je reçois l'erreur suivante :

Le taux de données IOPub a été dépassé.
Le serveur de notebook arrêtera temporairement d'envoyer des sorties
au client pour éviter de le faire planter.

Un peu surprenant et signalé ailleurs.

Est-ce attendu et y a-t-il une solution simple ?

(Le message d'erreur suggère de modifier la limite dans --NotebookApp.iopub_data_rate_limit.)

3 votes

Est-il possible d'augmenter ceci uniquement à partir du carnet lui-même plutôt que de modifier la configuration en ligne de commande? Je travaille dans un environnement partagé et je n'ai pas les droits pour modifier Jupyter en ligne de commande.

0voto

Toonia Points 103

Comme d'autres l'ont souligné, l'impression de déclarations à un haut rythme peut causer cela. Résolvez-le en imprimant le modulo d'un nombre en utilisant une déclaration if. Exemple en python:

k = 10
if (i % k == 0):
   print("Quelque chose")

Augmentez k si l'avertissement persiste.

0voto

En général, essayer d'imprimer quelque chose qui est trop long déclenchera cette erreur. J'ai essayé d'imprimer une chaîne de caractères qui faisait 9221593 caractères de long (trop long), et cela a déclenché l'erreur.

0voto

Je reçois le même message d'erreur dans JupyterLab 3.6.3 (sur Python 3.10.0 sur Windows 10) lorsque j'utilise help() sur Pandas.

Bien que la fonction help() n'utilise pas print explicitement, la documentation de pandas fait des centaines de pages, dépassant probablement la capacité de JupyterLab ou de Jupyter Notebook à l'afficher.

Le type de retour de la fonction help() est de type NoneType, il utilise donc probablement la fonction print() en interne ou du moins l'attribut str(), qui donne un résultat équivalent à la fonction print().

$ import pandas

$ help(pandas)

Le taux de données IOPub a été dépassé. Le serveur Jupyter va temporairement arrêter d'envoyer des données au client pour éviter un crash. Pour changer cette limite, définissez la variable de configuration --ServerApp.iopub_data_rate_limit.

Je reçois le même message d'erreur du Jupyter Classic NB démarré à partir du menu Aide de JupyterLab 3.6.3.

Le taux de données IOPub a été dépassé. Le serveur Jupyter va temporairement arrêter d'envoyer des données au client pour éviter un crash. Pour changer cette limite, définissez la variable de configuration --ServerApp.iopub_data_rate_limit.

Valeurs actuelles: ServerApp.iopub_data_rate_limit=1000000.0 (octets/sec) ServerApp.rate_limit_window=3.0 (secs)

Informations sur le serveur: Vous utilisez Jupyter NbClassic.

Serveur Jupyter v2.5.0 Jupyter nbclassic v0.5.3 (démarré en utilisant le menu déroulant "Lancer le Cahier Classique de Jupyter" dans le menu "Aide" de JupyterLab)

La solution ci-dessus ( jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10 ) a éliminé le message d'erreur de sortie de la fonction help(). Cela me donne la documentation complète de pandas dans la cellule de sortie du JupyterLab NB.

Merci pour les réponses.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X