Google ColaboratoryでStable Diffusionを実行すると、しばらくして次のようなエラーが出ることがあります。
RuntimeError: Detected that PyTorch and torchvision were compiled with different CUDA versions.(以下略)
このエラーはモデルを変えたり、有料版を使っても治らないので、ぱっと見厄介です。
しかし、簡単に対処できますので、是非ご覧ください。
ランタイムエラーの対処法
以下のコードを、最初に加えて実行してください。
%pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 torchtext torchaudio torchdata==0.6.0 --index-url https://download.pytorch.org/whl/cu118
(2023年5月31日追記: コードを修正しました。)
ランタイムエラーの原因
このエラーメッセージは、PyTorchとtorchvisionが異なるCUDAバージョンでコンパイルされていることを示しています。
CUDAは、NVIDIAのGPUを使用した高速な計算を可能にするプラットフォームのことです。
PyTorchとtorchvisionは、CUDAのサポートを利用して高速な計算を実行します。しかし、PyTorchとtorchvisionが異なるCUDAバージョンでコンパイルされている場合、互換性のないバージョンのCUDAライブラリを使用するため、ランタイムエラーが発生します。
そのため、tourchvisonをいったんアンインストールし、PyTorchに合ったtourchvisonをインストールすることで解決しています。
余談:Google Colaboratory Proはとても便利
Google Colaboratory Pro版では、高速なGPUやTPUへのアクセスが提供されるため、処理速度が上がったり、セッションが勝手に切れるのを回避できます。
筆者もPro版を使い始めましたが、圧倒的に快適で、月額1100円程度を出すだけの価値はあると思います。
Stable DiffusionをGoogle Colab無料版で使うと、すぐにランタイムが止まってしまいます。
Pro版を使うことで、より安定した処理速度に加え、セッション切れも防げるので、非常にお薦めです。
Stable DiffusionをGoogle Colabで使う場合は、Pro版をお勧めします。
まとめ
Google ColabでStableDiffusionを実行したとき、PyTorchと torchvisionのCUDAバージョンが違うことによってランタイムエラーが出る場合の原因と対処法を書きました。
お役に立てれば幸いです。