Python では、オブジェクトのメモリ使用量を確認するのが難しいことを知っています。
SciPy オブジェクト (スパース行列など) でこれを行う方が簡単ですか?
array.itemsize (含まれる型のバイト単位のサイズ) と array.flat を使用して長さを取得できます。
# a is your array
bytes = a.itemsize * a.size
配列インフラストラクチャ全体を無視するため、正確な値ではありませんが、大きな配列の場合は重要な値です(大きなものがあるので気にすると思います)
スパース配列で使用する場合は、スパース配列に itemsize 属性がないため、変更する必要があります。dtype にアクセスして、そこから itemsize を取得する必要があります。
bytes = a.dtype.itemsize * a.size
一般に、Pythonオブジェクトが占有する実際のメモリを評価するのは簡単ではないと思います...numpy配列は例外であり、C配列上の単なる薄いレイヤーです
IPython 内にいる場合は、その%whos
マジック関数を使用することもできます。これにより、セッションの変数に関する情報が得られ、それぞれが使用する RAM の量が含まれます。