🌟

DragDiffusionをgoogle colabで試してみた

2023/07/27に公開

DragDiffusionとは

Drag Diffusionは、New Photoshopとして話題の編集型生成AIであるDragGANをGANのモデルではなく、Diffusion Modelで構築したものです。
https://github.com/Yujun-Shi/DragDiffusion

リンク

Colab
github

準備

Google Colabを開き、メニューから「ランタイム→ランタイムのタイプを変更」でランタイムを「GPU」に変更します。

環境構築

インストール手順です。

!git clone https://github.com/Yujun-Shi/DragDiffusion.git

!pip install -q gradio pytorch-lightning omegaconf streamlit einops transformers kornia open_clip_torch streamlit-drawable-canvas==0.8.0 torchmetrics basicsr moviepy tensorboardX
!pip install -q accelerate==0.17.0
!pip install -q diffusers==0.17.1
!pip install -q bitsandbytes

推論

(1)Train Lora

%cd /content/DragDiffusion

from accelerate.utils import write_basic_config
write_basic_config()

MODEL_NAME="runwayml/stable-diffusion-v1-5"
INSTANCE_DIR="lora/samples/sculpture"
OUTPUT_DIR="lora/lora_ckpt/sculpture_lora"

!python lora/train_dreambooth_lora.py \
  --pretrained_model_name_or_path=$MODEL_NAME  \
  --instance_data_dir=$INSTANCE_DIR \
  --output_dir=$OUTPUT_DIR \
  --instance_prompt="a photo of a sculpture" \
  --resolution=512 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=1 \
  --mixed_precision="fp16" \
  --use_8bit_adam \
  --learning_rate=5e-6 \
  --lr_scheduler="constant" \
  --lr_warmup_steps=0 \
  --max_train_steps=600 \
  --seed="0"

(2)Edit Image

%cd /content/DragDiffusion
!python drag_ui_real.py

2回やってみましたが、Demoみたいに上手くいかない。

最後に

今回は、DragGANのDiffusion model版であるDragDiffusionを試してみました。Loraを利用しているので、DragGANよりも色々なものに利用できるところが一つ大きなところですね。今回の検証では、デモほど上手く生成できませんでした。。なんでなんだろう。

今後ともLLM, Diffusion model, Image Analysis, 3Dに関連する試した記事を投稿していく予定なのでよろしくお願いします。

Discussion