eightban's memo

残しておきたい記事をまとめてみました。このブログに書いてあるドキュメントやブログで配布しているファイルの使用によって発生するいかなる損害に対してもこのブログの管理者は責任を負いません。使用する場合は自己責任のもとに使用してください。

stable-diffusion

Stable Diffusion web UI(AUTOMATIC1111) Google Colab でカスタムスクリプトを使ってみる

投稿日:

カスタムスクリプト

カスタム スクリプトをインストールするには、スクリプト ディレクトリに配置し、[設定] タブの下部にある [カスタム スクリプトを再読み込み] ボタンをクリックします。

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Custom-Scripts

サンプルスクリプト

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-custom-scripts

サイトにあるサンプルを入れて試してみました

フリップして回転するものです

import modules.scripts as scripts
import gradio as gr
import os
from modules import images
from modules.processing import process_images, Processed
from modules.processing import Processed
from modules.shared import opts, cmd_opts, state
class Script(scripts.Script):  
  def title(self):
return "Flip/Rotate Output"
def show(self, is_img2img):
  return is_img2img
def ui(self, is_img2img):
  angle = gr.Slider(minimum=0.0, maximum=360.0, step=1, value=0,
  label="Angle")
  hflip = gr.Checkbox(False, label="Horizontal flip")
  vflip = gr.Checkbox(False, label="Vertical flip")
  overwrite = gr.Checkbox(False, label="Overwrite existing files")
  return [angle, hflip, vflip, overwrite]
def run(self, p, angle, hflip, vflip, overwrite):
def rotate_and_flip(im, angle, hflip, vflip):
  from PIL import Image
  raf = im
  if angle != 0:
    raf = raf.rotate(angle, expand=True)
  if hflip:
    raf = raf.transpose(Image.FLIP_LEFT_RIGHT)
  if vflip:
    raf = raf.transpose(Image.FLIP_TOP_BOTTOM)
  return raf

basename = ""
if(not overwrite):
  if angle != 0:
    basename += "rotated_" + str(angle)
  if hflip:
    basename += "_hflip"
  if vflip:
    basename += "_vflip"
else:
  p.do_not_save_samples = True
proc = process_images(p)
for i in range(len(proc.images)):
  proc.images[i] = rotate_and_flip(proc.images[i], angle, hflip, vflip)
  images.save_image(proc.images[i], p.outpath_samples, basename,
  proc.seed + i, proc.prompt, opts.samples_format, info= proc.info, p=p)
return proc

-stable-diffusion

Copyright© eightban's memo , 2024 All Rights Reserved Powered by STINGER.