Kaggle から KDD track1 データセットを取得し、16 GB のハイメモリ EC2 インスタンスで、最大 2.5 GB の 3 列の CSV ファイルをメモリにロードすることにしました。
data = np.loadtxt('rec_log_train.txt')
Python セッションがすべてのメモリ (100%) を使い果たし、その後強制終了されました。
次に、R を使用して (read.table 経由で) 同じファイルを読み取り、5 GB 未満の RAM を使用しましたが、ガベージ コレクターを呼び出した後、2 GB 未満に縮小しました。
私の質問は、これが numpy で失敗した理由と、ファイルをメモリに読み込む適切な方法です。はい、ジェネレーターを使用して問題を回避できますが、それが目標ではありません。