3 votes

Le noyau de JupyterLab redémarre lorsque je charge trop de données

J'utilise un Notebook sur JupyterLab. Je charge quelques grandes chaînes de Monte Carlo sous forme de tableaux numpy ayant la forme (500000, 150). J'ai 10 chaînes que je charge dans une liste de la manière suivante :

chains = []
for i in range(10):
    chain = np.loadtxt('my_chain_{}.txt'.format(i)) 
    chains.append(chain)

Si je charge 5 chaînes, tout fonctionne bien. Si j'essaie de charger 10 chaînes, j'obtiens l'erreur après 6 ou 7 chaînes :

Kernel Restarting
The kernel for my_code.ipynb appears to have died. It will restart automatically.

J'ai essayé de charger les chaînes dans différents ordres pour m'assurer qu'il n'y avait pas de problème avec une seule chaîne. L'erreur se produit toujours lors du chargement du numéro 6 ou 7, quel que soit l'ordre, je pense donc que les chaînes elles-mêmes sont correctes.

J'ai également essayé de charger 5 chaînes dans une liste, puis de charger les 5 autres dans la cellule suivante, mais l'échec se produit toujours lorsque j'arrive à 6 ou 7, même lorsque je divise comme ceci.

Il semble donc que le problème soit que je charge trop de données dans le Notebook ou quelque chose comme ça. Est-ce que cela semble correct ? Existe-t-il un moyen de contourner le problème ?

0voto

James Points 99

Il se peut que vous manquiez de mémoire. Essayez de charger les chaînes une par une et de les concaténer.

chains = []
for i in range(10):
    chain = np.loadtxt('my_chain_{}.txt'.format(i)) 
    chains.append(chain)
    if i > 0:
        chains = np.concatenate((chains[0], 
chains[1]), axis=0)
        chains.pop(1)

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