Google ColabでWhisperを使っていたら「CUDA out of memory」が発生。

Google Colabの環境に、Whisperをインストールして、いろいろと試していたところ、何回か実行していたら下記のエラーが発生した。

/usr/local/lib/python3.7/dist-packages/torch/_utils.py in _cuda(self, device, non_blocking, **kwargs) 
     76             return new_type(indices, values, self.size()) 
     77         else: 
---> 78             return torch._UntypedStorage(self.size(), device=torch.device('cuda')).copy_(self, non_blocking) 
     79  
     80  
RuntimeError: CUDA out of memory. Tried to allocate 128.00 MiB (GPU 0; 14.76 GiB total capacity; 12.98 GiB already allocated; 27.75 MiB free; 13.47 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

エラーは、GPUのメモリが不足して、実行に必要なVRAMを確保できなかったため。

Google Colabの環境でWhisperを動かしているうちに、VRAMを使い切ってしまい、それが開放されておらず、新規割り当てができなかった。実行自体は終わっているので、PyTorchでのVRAMの開放ができていなかったようだ。

PyTorchのプロセスを切ってもよいのだが、Google Colabだと、その方が難易度が高い。そのため、Google Colabでは、「ランタイムを接続解除して削除」を行ってから、接続がよい。もしくは、一度、閉じて、新しく実行する。

1時間くらいの動画をLargeの処理で、2回目はエラーになったので、何回も実行していくには再接続などの手間をかける必要がありそうだ。もっと長い動画の処理も注意が必要なのかもしれない。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする