こんにちは!サキナオコです^o^!
雨が降り出しました。
さて、ここのところ、まったく意味がわからなく悩みの種だったseed(種だけに)ですが
原因がわかりました。
生成にはtexttoimageとimage2imageがあるということで、
別々のパイプライン(?何と呼ぶのかよくわからない)で生成するらしいです。
なんと使用する道具が違っていたのですね…
新たにColabのノートを新しくしていろんなウェブサイトよりコードをいただいて実行してみましたが、どうもエラーになります。
まず、編集ーノートブックの設定ーGPUを設定するところから始めなくてはいけなかったのです><
そっか、もう新しいまっさら状態からか〜
GPUは設定した、さて、実行!しかしエラーになります。
ふと、ChatGPTに聞いてみようかな、と思いました。
以前もコードのことをChatGPTに聞いたのですが、聞いてもすぐには解決せず、聞くごとにどんどんドツボにはまり、結局エラーはなくならず諦めたということが何度もありますからね…
まあね、ダメ元で聞いてみるか、と聞いてみました。
「パイプラインの実行」のところですが、init_image=init_img,がちゃんと書けてなかったみたいで、あっさり解決しました。
忘れないようコード書いときます。
!pip install diffusers[torch]==0.8.1 transformers
import torch
from diffusers import StableDiffusionImg2ImgPipeline
# パイプラインの作成
pipe = StableDiffusionImg2ImgPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", revision="fp16", torch_dtype=torch.float16).to("cuda")
ファイルを読み込むためにGoogleDriveをマウントしておく。
左のフォルダマーククリック、上に出た左から3番目(また切断されたので確認できないですが)の黒っぽいフォルダマーククリックでマウントオーケー。
そしたら、
import os
os.chdir('/content/drive/MyDrive/作成したフォルダ名')
そして、画像を読み込んでちょっと変えてみました!
from PIL import Image
from torch import autocast
# 入力画像の読み込み
init_img = Image.open("/content/drive/MyDrive/aiimg/読み込む.png")
# プロンプト
prompt = "the style of Gogh"
device = "cuda"
# パイプラインの実行
generator = torch.Generator(device).manual_seed(100) # 再現できるようにseedを設定
with torch.autocast("cuda"):
images = pipe(
prompt=prompt, # プロンプト
init_image=init_img, # 入力画像
strength=0.5, # 入力画像と出力画像と相違度 (0.0〜1.0)
guidance_scale=7.5, # プロンプトと出力画像の類似度 (7〜11)
).images[0].save("保存名.png")

これでやってみます!

あら。水彩って感じじゃないし。ほとんど変わらない。strength=0.2だからかな??もっと増やしてみようかな

おお〜これ位違うといいですね!こういうのをやりたかったんですわ!

0.5でもまだダメなんですね。もうちょいで溶けそうなイチゴとブルーベリー。
そうそう!こういうのがやりたかったのです!
ああ〜とりあえず解決しました。
そりゃあ、テキストからイメージつくる道具ではかわってしまうのは当たり前ですね。
ひゃっほー!







コメントを残す