0

<dataframe>.info(memory_usage="deep")Google Colab に表示されている実際のメモリ使用量よりも多くの RAM を消費している理由を理解するのに苦労しています

RAMに関する情報を出力するユーティリティ関数があります

# module utils.py
def print_available_ram():
    MB = 1024 * 1024
    ram_available = psutil.virtual_memory().available
    ram_tot = psutil.virtual_memory().total
    print("Ram available:", ram_available / MB)
    print("Ram tot      :", ram_tot / MB)
    print("              ", (ram_available / ram_tot) * 100, "%")

Google Colab で次のコードを実行しています

# ... some other code
utils.print_available_ram()
train_dataset_raw = panda.read_feather(train_dataset_path)
utils.print_available_ram()
log(train_dataset_raw.info(memory_usage="deep"))
return

出力

# intended as MB
Ram available: 12059.6640625
Ram tot      : 13021.0625
               92.61658994801691 %
Ram available: 2723.29296875
Ram tot      : 13021.0625
               20.91452190441448 %
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2164804 entries, 0 to 2164803
Columns: 281 entries, 0-60 to target
dtypes: float64(281)
memory usage: 4.5 GB
  • print_available_ram によって表示される情報は信頼できませんか?
  • read_feather は余分なメモリを取り、解放していませんか?
4

0 に答える 0