Pythonで重い画像解析や自然言語処理などを行っていると、メモリー不足でエラーが出ることがあります。Pythonコードを見直すか、メモリを増設するかで対処します。
メモリーは有限だった
100万件の文書比較をPython3+BERTで処理していました。1週間くらい動かしていたら、8割くらい完了したところで、コマンドプロントに「Buy new RAM!」というエラーが表示されています。
「新しいメモリを買え!」
分かりやすいエラーで、助かります。メモリ不足ですね。
私はメモリー16GBのノートパソコンを使っています。
16Gを使いきることはないだろうと、限度を気にせずコードを書いていました。
メモリーを増やせるなら増やす
デスクトップ型パソコンや、カスタマイズ可能なノートパソコンであれば、32GBに増設してしまうのが簡単な対処法です。
私のノートパソコンは、メモリー増設で保証外になってしまうので、Pythonコードを見直します。
内部ストレージを使う
Pythonの配列に大量のデータを記録したりすると、メモリー不足が起こります。
その場合は、配列をJSONで書き出し、内部ストレージ(ローカル)に保存して、メモリーの使用量を減らす方法が考えられます。
ストレージに保存していれば、途中で処理が止まってもデータは消えません。途中再開もできるので安心です。
根本的にはスキルアップで対処
メモリー不足が起こる原因は、自分のスキル不足だと思います。とても無駄なメモリーの使い方をしている気がして・・・。
Pythonなどのプログラミングスキルを上げることが、メモリー不足の根本的な解決になると思われます。