Stable Diffusionトラブル

Stable Diffusion トラブル

昨日動いていたのに、次の日にstable diffusionが動かなくなった

ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-1748aac0c7fa> in <cell line: 6>()
4 import sys
5 import fileinput
----> 6 from pyngrok import ngrok, conf
7
8 Use_Cloudflare_Tunnel = False #@param {type:"boolean"}
ModuleNotFoundError: No module named 'pyngrok'

pyngrok というモジュールがないという意味なので、以下のコマンドでインストール
!pip install pyngrok

そしたら、違うエラーになった

---------------------------------------------------------------------------
NameError Traceback (most recent call last)
[<ipython-input-1-1748aac0c7fa>](https://localhost:8080/#) in <cell line: 24>()
25 get_ipython().run_line_magic('cd', '/content/gdrive/$mainpth/sd/stable-diffusion-$blasphemy/modules/')
26
---> 27 if Use_Latest_Working_Commit:
28 get_ipython().system('wget -q -O paths.py https://github.com/TheLastBen/fast-stable-diffusion/raw/5632d2ef7fffd940976538d270854ec4faf26855/AUTOMATIC1111_files/paths.py')
29 get_ipython().system('wget -q -O extras.py https://github.com/AUTOMATIC1111/stable-diffusion-$blasphemy/raw/a9eab236d7e8afa4d6205127904a385b2c43bb24/modules/extras.py')

NameError: name 'Use_Latest_Working_Commit' is not defined

ソースを最初から実行するとか、いろいろ試してみたが、結局はどれも回避できず、Stable Diffusionのフォルダごと削除して、ソースを最初から実行して回復できた。20分くらいかかった

追記:OSError: [Errno 107] Transport endpoint is not connected: '/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules'

その後使ってみると、同じエラーがでるようになったり、他の機能をインストールするときに上記のエラーがでることもある。
再インストールは、面倒なのでいろいろ調べてみたところ、Google ドライブとの同期処理がうまくいってないときにでることが分かった。
つまりGoogleドライブのマウントができていないときも発生することが分かった。

Googleドライブのマウントは以下を実行すればよい。

from google.colab import drive
drive.mount('/content/drive')

そして、ちょっと時間を置いた方がよさそう。
ちなみにGoogle ColabもGoogle ドライブも有料プランだ。

Stable Diffusion SadTalkerでエラー

Stable Diffusionで SadTalkerを使ってみた。13秒程度の動画を作成しようとしたら、3時間経っても終わらない・・・。
ログを見てみたら、以下のようなエラーが発生していた。

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

これは、自分のPCがGPUを搭載していないからだろうか?とりあえず、「map_location=torch.device('cpu') 」を指定しろって書いているっぽい。
ネットでいろいろ調べてみた。
結論としては、「serialization.py」ファイルを以下のように、「MAP_LOCATION = NONE」 を「MAP_LOCATION = ’cpu’」と修正することで解決できた。

def load(
    f: FILE_LIKE,
    map_location: MAP_LOCATION = 'cpu',
    pickle_module: Any = None,
    *,
    weights_only: bool = False,
    **pickle_load_args: Any
) -> Any:


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