Spaces:
Running
on
Zero
Running
on
Zero
import gradio as gr | |
import torch | |
import spaces | |
from diffusers import DiffusionPipeline | |
import gc | |
import subprocess | |
subprocess.run('pip cache purge', shell=True) | |
device = "cuda" if torch.cuda.is_available() else "cpu" | |
torch.set_grad_enabled(False) | |
models = ["camenduru/FLUX.1-dev-diffusers", | |
"black-forest-labs/FLUX.1-schnell", | |
"sayakpaul/FLUX.1-merged", | |
"John6666/blue-pencil-flux1-v001-fp8-flux", | |
"John6666/fluxunchained-artfulnsfw-fut516xfp8e4m3fnv11-fp8-flux", | |
"John6666/nepotism-fuxdevschnell-v3aio-flux" | |
] | |
def clear_cache(): | |
torch.cuda.empty_cache() | |
gc.collect() | |
def get_repo_safetensors(repo_id: str): | |
from huggingface_hub import HfApi | |
api = HfApi() | |
try: | |
if " " in repo_id or not api.repo_exists(repo_id): return gr.update(value="", choices=[]) | |
files = api.list_repo_files(repo_id=repo_id) | |
except Exception as e: | |
print(f"Error: Failed to get {repo_id}'s info. ") | |
print(e) | |
return gr.update(choices=[]) | |
files = [f for f in files if f.endswith(".safetensors")] | |
if len(files) == 0: return gr.update(value="", choices=[]) | |
else: return gr.update(value=files[0], choices=files) | |
def change_base_model(repo_id: str): | |
from huggingface_hub import HfApi | |
global pipe | |
api = HfApi() | |
try: | |
if " " in repo_id or not api.repo_exists(repo_id): return | |
clear_cache() | |
pipe = DiffusionPipeline.from_pretrained(repo_id, torch_dtype=torch.bfloat16) | |
except Exception as e: | |
print(e) | |