"""Real Style-SALAD inference on Hugging Face ZeroGPU.""" import spaces # Initialize ZeroGPU before importing Torch or touching CUDA. from pathlib import Path import logging import os import sys ROOT = Path(__file__).resolve().parent MODEL_ROOT = ROOT / 'upstream' CACHE_ROOT = Path(os.environ.get('STYLE_SALAD_CACHE', '/tmp/style-salad-cache')) OUTPUT_ROOT = CACHE_ROOT / 'outputs' REFERENCE_ROOT = CACHE_ROOT / 'references' OUTPUT_ROOT.mkdir(parents=True, exist_ok=True) REFERENCE_ROOT.mkdir(parents=True, exist_ok=True) os.environ['STYLE_SALAD_ROOT'] = str(MODEL_ROOT) os.environ['SPACE_OUTPUT_DIR'] = str(OUTPUT_ROOT) os.environ['STYLE_REFERENCE_CACHE'] = str(REFERENCE_ROOT) os.environ['GRADIO_TEMP_DIR'] = str(CACHE_ROOT / 'gradio') os.environ['GRADIO_ANALYTICS_ENABLED'] = 'False' os.environ['TOKENIZERS_PARALLELISM'] = 'false' os.environ['MPLBACKEND'] = 'Agg' sys.path.insert(0, str(ROOT / 'adapter')) logging.basicConfig(level=logging.INFO) from asset_bootstrap import ensure_cloud_assets ensure_cloud_assets(MODEL_ROOT) os.environ['AUTO_DOWNLOAD_ASSETS'] = '0' os.environ['HF_HUB_OFFLINE'] = '1' os.environ['TRANSFORMERS_OFFLINE'] = '1' from cloud_app import build_demo, launch_style demo = build_demo() if __name__ == '__main__': demo.launch( server_name='0.0.0.0', server_port=int(os.environ.get('PORT', '7860')), share=False, max_file_size='20mb', show_error=False, allowed_paths=[str(OUTPUT_ROOT), str(REFERENCE_ROOT)], blocked_paths=[str(MODEL_ROOT / 'checkpoints'), str(ROOT / '.git')], **launch_style(), )