前回の記事の続きです。Stable Diffusionのtxt2imgが動作すること前提で話が進みます
ただ、先に断っておくと、動きませんでした。スクリプトは起動しましたが
3時間くらい放置しても、2%くらいしか処理が進まなかったので諦めました
それでも実行してみたい!という方のために記録だけは残しておきます・・・
スクリプトを修正する
cpuモードで動作するように以下のファイルを編集します
scripts/img2img.py
43行目辺りの部分を以下のように修正
# model.cuda()
model.to('cpu')
model.eval()
return model
203行目辺りの部分を以下のように修正
# device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
device = torch.device("cpu")
model = model.to(device)
247行目辺りの部分を以下のように修正
with torch.no_grad():
# with precision_scope("cuda"):
with precision_scope("cpu"):
with model.ema_scope():
ldm/models/diffusion/ddim.py
21行目辺りのif attr.device != torch.device(“cuda”):周辺を以下の通り修正
# if attr.device != torch.device("cuda"):
# attr = attr.to(torch.device("cuda"))
if attr.device != torch.device("cpu"):
attr = attr.to(torch.float32).to(torch.device("cpu")).contiguous()
setattr(self, name, attr)
以上の修正で動くはずです
指示絵の準備
生成する画像のヒントとなる指示絵を準備します。
お絵かきソフトを利用して準備しましょう。今回は以下の画像を指示絵に利用しました。
手持ちの白上フブキちゃんを写真に撮り、トレースしたものになります。
この下手くそなイラストが、果たしてどのように変化するのか・・・
コマンドは以下のとおりです
python scripts/img2img.py --prompt "shirakami hubuki hololive illustlated by nagishiro mito" --init-img ./shitae.JPG --strength 0.8 --precision full
以上です
上記を実行したところ、ひとまずスクリプトは起動しましたが、冒頭に記載した通り処理が全く進まなかったので諦めました。
やはり、CPUで機械学習を処理するのは無理があるようなので、週末にWIndowsPC(RTX2080搭載のゲーミングノート)で再挑戦したいと思います