見出し画像

automatic1111のRuntimeError修正

xFormers利用でautomatic1111を利用していたところ、突然以下のエラーが出てしまいました。

RuntimeError: Detected that PyTorch and torchvision were compiled with different CUDA versions. PyTorch has CUDA Version=11.7 and torchvision has CUDA Version=11.8. Please reinstall the torchvision that matches your PyTorch install.

特にコードなど変更なく利用していたので何もしていないのにエラーが出た。と言う状態に陥りました。
これのお陰でautomatic1111が起動できなくなりとても困りました。
同じ状態で悩まれている人がいたのでその方のブログを参考に修正に成功しました。

原因は
PyTorchとtorchvisionのバージョンの違いがエラーを起こしていたようです。
以下のコードでまずPyTorchとtorchvisionのバージョンをチェックしてください。

import torch
import torchvision
print(torch.__version__)
print(torchvision.__version__)

PyTorchとtorchvisionのバージョンが異なると思います。

このように情報が表示されると思います。
2.0.1+cu118 0.15.2+cu118

これは
PyTorchがバージョン2.0.1
torchvisionがバージョン0.15.2
と言う意味になります。

各自数値は違うとは思いますが同様の手順で修正していきましょう。

対処法としてはtorchvisionのバージョンをPyTorchのバージョンに合わせてあげる。と言う感じになります。

修正用のコードは以下の通りです。

!pip uninstall torchvision
!pip install torchvision==<PyTorchのバージョンを入力>

今回私の場合はPyTorchがバージョン2.0.1なので
<PyTorchのバージョンを入力>に2.0.1と入力します。
これを実行すると結果にY/N表示が現れるのでYで実行を行います。
するとすぐにPyTorchがインストールされると思います。

Y入力が面倒という方は上記のコードの代わりにこちらのコードでYを自動入力できます。

!echo "Y" | pip uninstall torchvision
!echo "Y" | pip install torchvision==<PyTorchのバージョンを入力>

これでバージョンの統一化が出来ました。
あとは通常通りautomatic1111を起動してみてください。エラーが消えていると思います。
私の場合はこれで解決したので参考になれば何よりです。


この記事が気に入ったらサポートをしてみませんか?