|
|
from IPython.display import display, HTML, clear_output |
|
|
from IPython import get_ipython |
|
|
from pathlib import Path |
|
|
from ipywidgets import widgets, Layout |
|
|
import subprocess, time, os, shlex |
|
|
from nenen88 import pull, say, download, clone, tempe |
|
|
|
|
|
version = "v1.9.3" |
|
|
xxx = "/home/studio-lab-user" |
|
|
zzz = Path(xxx) / "asd" |
|
|
|
|
|
if zzz.exists(): |
|
|
git_dir = zzz / '.git' |
|
|
if git_dir.exists(): |
|
|
os.chdir(zzz) |
|
|
commit_hash = os.popen('git rev-parse HEAD').read().strip() |
|
|
|
|
|
if commit_hash != version: |
|
|
get_ipython().system(f"git pull origin {version}") |
|
|
get_ipython().system("git fetch --tags") |
|
|
|
|
|
else: |
|
|
mama = f"{xxx}/.conda/setup.css" |
|
|
fff = {"stdout": subprocess.DEVNULL, "stderr": subprocess.DEVNULL} |
|
|
|
|
|
get_ipython().system(f"rm -rf {xxx}/.zrok") |
|
|
get_ipython().system(f"curl -sLo {mama} https://github.com/gutris1/segsmaker/raw/main/ui/sd/asd/setup.css") |
|
|
|
|
|
gariz = """<div class="gradient-text">asd</div>""" |
|
|
garis = widgets.Output() |
|
|
sd_setup = widgets.Output() |
|
|
|
|
|
def ccss(mama): |
|
|
with open(mama, "r") as gantung: |
|
|
susu = gantung.read() |
|
|
display(HTML(f"<style>{susu}</style>")) |
|
|
|
|
|
def req_list(xxx, zzz): |
|
|
return [ |
|
|
f"pip install -q -r requirements.txt basicsr insightface onnxruntime-gpu", |
|
|
f"rm -rf {xxx}/tmp/* {xxx}/tmp {zzz}/models/Stable-diffusion/tmp_ckpt {zzz}/models/Lora/tmp_lora {zzz}/models/ControlNet", |
|
|
f"mkdir -p {zzz}/models/Lora", |
|
|
f"mkdir -p {zzz}/models/ESRGAN", |
|
|
f"ln -vs /tmp {xxx}/tmp", |
|
|
f"ln -vs /tmp/ckpt {zzz}/models/Stable-diffusion/tmp_ckpt", |
|
|
f"ln -vs /tmp/lora {zzz}/models/Lora/tmp_lora", |
|
|
f"ln -vs /tmp/controlnet {zzz}/models/ControlNet" |
|
|
] |
|
|
|
|
|
def sd_clone(xxx, zzz, fff): |
|
|
time.sleep(1) |
|
|
pull(f"https://github.com/gutris1/segsmaker sd {zzz}") |
|
|
os.chdir(zzz) |
|
|
req = req_list(xxx, zzz) |
|
|
for lines in req: |
|
|
subprocess.run(shlex.split(lines), **fff) |
|
|
|
|
|
def sd_1_5(xxx, zzz, fff): |
|
|
sd_clone(xxx, zzz, fff) |
|
|
extras = [ |
|
|
f"https://civitai.com/api/download/models/150491 {zzz}/embeddings edgQuality.pt", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x-UltraSharp.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x-AnimeSharp.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x_NMKD-Superscale-SP_178000_G.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x_RealisticRescaler_100000_G.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/8x_RealESRGAN.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x_foolhardy_Remacri.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors {zzz}/models/VAE", |
|
|
f"https://github.com/gutris1/segsmaker/raw/main/script/zrok_reg.py {zzz}/asd", |
|
|
f"https://huggingface.co/Carlos2312/asd/resolve/main/modelos.py {zzz}/asd", |
|
|
f"https://huggingface.co/Carlos2312/asd/resolve/main/ext-1_5.txt {zzz}/asd", |
|
|
f"https://github.com/gutris1/segsmaker/raw/main/script/zrok.py {zzz}", |
|
|
f"https://github.com/gutris1/segsmaker/raw/main/script/pinggy.py {zzz}" |
|
|
] |
|
|
for items in extras: |
|
|
download(items) |
|
|
|
|
|
|
|
|
|
|
|
os.chdir(f"{zzz}/extensions") |
|
|
clone(f"{zzz}/asd/ext-1_5.txt") |
|
|
|
|
|
weww = f"{zzz}/asd/cn-1_5.py" |
|
|
woww = f"{zzz}/asd/controlnet.py" |
|
|
os.rename(weww, woww) |
|
|
|
|
|
get_ipython().system(f"rm -rf {zzz}/embeddings") |
|
|
get_ipython().system(f"git clone https://huggingface.co/Carlos2312/emb {zzz}/embeddings") |
|
|
|
|
|
get_ipython().system(f"rm -rf {zzz}/models/Lora") |
|
|
get_ipython().system(f"git clone https://huggingface.co/Carlos2312/lrs {zzz}/models/Lora") |
|
|
|
|
|
get_ipython().system(f"rm -rf {zzz}/models/adetailer") |
|
|
get_ipython().system(f"git clone https://huggingface.co/Carlos2312/md {zzz}/models/adetailer") |
|
|
|
|
|
get_ipython().system(f"rm -rf {zzz}/extensions/sd-dynamic-prompts/wildcards") |
|
|
get_ipython().system(f"git clone https://huggingface.co/Carlos2312/Wilcards {zzz}/extensions/sd-dynamic-prompts/wildcards") |
|
|
|
|
|
def sd_xl(xxx, zzz, fff): |
|
|
sd_clone(xxx, zzz, fff) |
|
|
extras = [ |
|
|
f"https://civitai.com/api/download/models/182974 {zzz}/embeddings", |
|
|
f"https://civitai.com/api/download/models/159385 {zzz}/embeddings", |
|
|
f"https://civitai.com/api/download/models/159184 {zzz}/embeddings", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x-UltraSharp.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x-AnimeSharp.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x_NMKD-Superscale-SP_178000_G.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x_RealisticRescaler_100000_G.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/8x_RealESRGAN.pth {zzz}/models/ESRGAN", |
|
|
f"https://huggingface.co/pantat88/ui/resolve/main/4x_foolhardy_Remacri.pth {zzz}/models/ESRGAN", |
|
|
f"https://civitai.com/api/download/models/264491 {zzz}/models/VAE XL_VAE_F1.safetensors", |
|
|
f"https://github.com/gutris1/segsmaker/raw/main/script/zrok_reg.py {zzz}/asd", |
|
|
f"https://github.com/gutris1/segsmaker/raw/main/script/zrok.py {zzz}", |
|
|
f"https://github.com/gutris1/segsmaker/raw/main/script/pinggy.py {zzz}" |
|
|
] |
|
|
for items in extras: |
|
|
download(items) |
|
|
say("<br><b>γ{red} Installing Extensions{d} γ{red}</b>") |
|
|
os.chdir(f"{zzz}/extensions") |
|
|
clone(f"{zzz}/asd/ext-xl.txt") |
|
|
os.rename(f"{zzz}/asd/cn-xl.py", f"{zzz}/asd/controlnet.py") |
|
|
|
|
|
def zrok_install(): |
|
|
zrok = Path(f"{xxx}/.zrok/bin") |
|
|
zrok.mkdir(parents=True, exist_ok=True) |
|
|
url = "https://github.com/openziti/zrok/releases/download/v0.4.25/zrok_0.4.25_linux_amd64.tar.gz" |
|
|
z = zrok / Path(url).name |
|
|
get_ipython().system(f"curl -sLo {z} {url}") |
|
|
get_ipython().system(f"tar -xzf {z} -C {zrok} --wildcards *zrok") |
|
|
get_ipython().system(f"rm -rf {xxx}/.cache/* {z}") |
|
|
|
|
|
def sd_install(selection): |
|
|
with garis: |
|
|
display(HTML(gariz)) |
|
|
with sd_setup: |
|
|
sd_setup.clear_output() |
|
|
os.chdir(xxx) |
|
|
say("<b>γ{red} Installing Stable Diffusion{d} γ{red}</b>") |
|
|
get_ipython().system(f"git clone -q -b {version} https://github.com/gutris1/asd") |
|
|
if selection == 'SD 1.5': |
|
|
sd_1_5(xxx, zzz, fff) |
|
|
else: |
|
|
sd_xl(xxx, zzz, fff) |
|
|
with garis: |
|
|
garis.clear_output() |
|
|
say("<br><b>γ{red} Done{d} γ{red}</b>") |
|
|
|
|
|
def uuwaaahhh(button): |
|
|
selection = 'SD 1.5' |
|
|
if selection: |
|
|
sd_setup.clear_output() |
|
|
sd_install(selection) |
|
|
else: |
|
|
with sd_setup: |
|
|
print("at least make a choice") |
|
|
print("ε°γͺγγ¨γιΈζγγ¦γγ") |
|
|
return |
|
|
|
|
|
ccss(mama) |
|
|
display(sd_setup, garis) |
|
|
zrok_install() |
|
|
tempe() |
|
|
|
|
|
uuwaaahhh(None) |
|
|
|