Qiita 初投稿
kaggleのIceCube - Neutrinos in Deep Iceコンペにてソロでシルバーメダルを獲得した際に苦労した点をメモ。
#背景
kaggleのコンペにおいてTensorFlowで作成したモデルとPyTorchで作成したモデルを用いてアンサンブルを行ったら精度が向上した。
しかし、いざsubmitしてみたらOut of Memoryとエラーが表示された。
TensorFlowのモデルで予測した後、下記のコードで余分なメモリーの解放を試みるがダメだった時の解決法のメモ。
メモリーエラーが解決しなかったコード
from numba import cuda
device = cuda.get_current_device()
device.reset()
#解決策
%%bash
source activate base
python tensorflow.py
最初に、TensorFlowのモデルでの予測のコードはtensorflow.pyに記述しておき、conda環境にて予測を行う。
from numba import cuda
device = cuda.get_current_device()
device.reset()
その後メモリーを解放してからPyTorchのモデルによる予測を行うとメモリーエラーは解消された。
どうやらGPUメモリをリセットしても残っている何かがあるらしい