指定した変数以外をdelしてメモリ解放したいんだが

理解しました。指定された変数以外を削除してメモリを解放するには、一度全ての変数を一覧化し、削除対象の変数を特定してから削除します。以下はその方法です。

python
# 削除対象以外の変数を特定 variables_to_keep = ['X_rf_train', 'y_train', 'X_rf_test', 'y_test', 'nb_predictions', 'nb_predictions_train', 'nb_predictions_test'] # 全ての変数名を取得 all_variables = globals().keys() # 削除対象以外の変数を削除 variables_to_delete = [var_name for var_name in all_variables if var_name not in variables_to_keep] for var_name in variables_to_delete: del globals()[var_name] # ガベージコレクションを実行してメモリを解放 import gc gc.collect()

このコードでは、variables_to_keepに削除対象以外の変数の名前をリストアップします。次に、globals().keys()を使用してすべてのグローバル変数の名前を取得し、その中から削除対象以外の変数の名前を特定します。そして、del globals()[var_name]を使ってそれらの変数を削除します。最後に、gc.collect()を呼び出してガベージコレクションを実行し、メモリを解放します。

未分類

Posted by ぼっち