nroggendorff's picture
Update app.py
0fc3ad0 verified
import os
import requests as rq
from git import Repo as rp
import concurrent.futures as cf
from tqdm import tqdm
def download_file(url, save_directory, filename):
filepath = os.path.join(save_directory, filename)
response = rq.get(url, stream=True)
total_size = int(response.headers.get('content-length', 0))
block_size = 1024
progress_bar = tqdm(total=total_size, unit='B', unit_scale=True)
with open(filepath, "wb") as f:
for data in response.iter_content(block_size):
progress_bar.update(len(data))
f.write(data)
progress_bar.close()
def main():
small_files = [
#loras here:
]
big_files = [
# big files here:
("https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0_0.9vae.safetensors?download=true", "/home/user/app/stable-diffusion-webui/models/Stable-diffusion/", "sdxl.safetensors")
]
with cf.ThreadPoolExecutor(max_workers=2) as small_executor:
small_futures = [small_executor.submit(download_file, *url_info) for url_info in small_files]
with cf.ThreadPoolExecutor(max_workers=16) as big_executor:
big_futures = [big_executor.submit(download_file, *url_info) for url_info in big_files]
cf.wait(small_futures + big_futures)
if __name__ == "__main__":
rp.clone_from("https://github.com/lllyasviel/stable-diffusion-webui-forge.git", "/home/user/app/stable-diffusion-webui")
os.makedirs("/home/user/app/stable-diffusion-webui/models/Lora", exist_ok=True)
main()
os.system(f"python /home/user/app/stable-diffusion-webui/launch.py --ui-config-file /home/user/app/ui-config.json --cors-allow-origins huggingface.co,hf.space --api --xformers --precision full --no-half --skip-torch-cuda-test")