Rechercher des listes / tableaux gourmands en mémoire sur Python

Rechercher et supprimer des variables gourmandes en mémoire sur Jupyter (IPython) -Qiita Le deuxième de la série "Memory Release with python".

Ciblez la liste / le tableau pour rechercher et supprimer les variables qui occupent la mémoire.

code

Définissez la fonction suivante.

def print_varsize():
    import types
    print("{}{: >15}{}{: >10}{}".format('|','Variable Name','|','  Size','|'))
    print(" -------------------------- ")
    for k, v in globals().items():
        if hasattr(v, 'size') and not k.startswith('_') and not isinstance(v,types.ModuleType):
            print("{}{: >15}{}{: >10}{}".format('|',k,'|',str(v.size),'|'))
        elif hasattr(v, '__len__') and not k.startswith('_') and not isinstance(v,types.ModuleType):
            print("{}{: >15}{}{: >10}{}".format('|',k,'|',str(len(v)),'|'))

Ce que tu fais est simple "A partir des variables globales, seules les variables qui ont l'attribut size ou \ _ \ _ len \ _ \ _ sont extraites, et le nom et la taille ou la longueur de cette variable sont affichés." Seulement. (Parmi les variables, celles qui commencent par "_ "et celles dont le type est module sont exclues de la cible d'impression.)

Résultat d'exécution

>>> import numpy as np
>>> lst = [3,1,4,1,5]
>>> tpl = (1,5,3)
>>> a=np.zeros((100,100,3))
>>> print_varsize()

|  Variable Name|      Size|
 -------------------------- 
|            lst|         5|
|            tpl|         3|
|            Out|         0|
|              a|     30000|
|             In|         8|

De cette façon, de grandes listes et des arrangements sont évidents.

Si vous pouvez le faire jusqu'à présent,

del a

Vous pouvez spécifier des variables inutiles et les supprimer. Vous pouvez libérer de la mémoire et continuer à fonctionner confortablement sur Python.

Recommended Posts

Rechercher des listes / tableaux gourmands en mémoire sur Python
Manipulation des listes de caractères Python (tableaux)
Trouver des fichiers comme Linux Find en Python
Comprenez les listes Python, les dictionnaires, etc.
twitter avec python3
python sur mac
Python sur Windbg
Conda Python avec Cygwin
Trouvez le maximum de Python
Installer python sur WSL
Configuration de PyOpenGL sur Python 3
Installez Python sur Pidora.
Installez Scrapy sur python3
Union Find sur networkX
Python3 | Listes, Taples, Dictionnaires
Installez Python sur Mac
Installer Python 3 dans un environnement Mac
Installez Python3.4 sur CentOS 6.6
Python> Tuples et listes
Liste Python, tapple, dictionnaire
Installer des pandas sur python2.6
python basic ② sous windows
Installez python sur Windows
La chose semblable à une recherche de liste en Python
Installez Python 2.7.3 sur CentOS 5.4
construire Python sur Ubuntu
Installez Python 3.3 sur Ubuntu 12.04
Installez Python 3.4 sur Mac
Installez Python 3.6 sur Docker
Activer Python virtualenv sous Windows
Configurer Python 3.4 sur Ubuntu
Exécutez Openpose sur Python (Windows)
Installez Python 3.8 sur RHEL 8 (AppStream)
Utilisez matplotlib sur Ubuntu 12 et Python
Python sur Ruby et Ruby en colère sur Python
Trouver des erreurs en Python
Installer pygame sur python3.4 sur Mac
Développement Python + Kivy sous Windows
Installez Python 3.8 sur CentOS 7 (SCL)
Graphique en temps réel avec Plotly (Python)
Sphinx-autobuild (0.5.2) sous Windows7, Python 3.5.1, Sphinx 1.3.5
Mettez Python 3.x dans Ubuntu
Installation de Python la plus rapide sous Windows
[Python] Notes sur l'analyse des données
Créer un environnement Python sur Windows
python> Gestion des tableaux 2D
Exécutez Tensorflow 2.x sur Python 3.7
Trouvez l'ordre / la combinaison en Python
Manipulation de python sur mac
Mettez à jour le python que vous aviez sur votre Mac à 3.7-> 3.8
Installez pandas 0.14 sur python3.4 [sur Mac]
Installez OpenCV sur Ubuntu + python
Remarques sur l'installation de Python sur votre Mac
Exécutez le CGI de Python sur CORESERVER
Messages Twitter dans Python 3 etc.
Exécutez la commande unix sur python
Construire un environnement Python avec Windows
Python --Installez MySQLDB sur EC2
Présentation de TensorFlow à Ubuntu + Python 2.7