3

Python では、オブジェクトのメモリ使用量を確認するのが難しいことを知っています。

SciPy オブジェクト (スパース行列など) でこれを行う方が簡単ですか?

4

2 に答える 2

5

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配列上の単なる薄いレイヤーです

于 2012-10-30T16:18:11.480 に答える
0

IPython 内にいる場合は、その%whosマジック関数を使用することもできます。これにより、セッションの変数に関する情報が得られ、それぞれが使用する RAM の量が含まれます。

于 2012-11-18T05:06:22.577 に答える