Spaces:
Sleeping
Sleeping
import modal | |
import os | |
from pathlib import Path | |
# Create or get existing volume | |
volume = modal.Volume.from_name("flux-model-vol-5", create_if_missing=True) | |
# Set model storage directory | |
MODEL_DIR = "/data/models" | |
# Set up image with dependencies | |
download_image = ( | |
modal.Image.debian_slim() | |
.pip_install("huggingface_hub[hf_transfer]", "transformers") | |
.env({"HF_HUB_ENABLE_HF_TRANSFER": "1"}) # Enables optimized downloads | |
) | |
# Create Modal app | |
app = modal.App("flux-model-setup") | |
def download_flux(): | |
from huggingface_hub import snapshot_download | |
import transformers # Ensure transformers is available | |
repo_id = "black-forest-labs/FLUX.1-dev" | |
#local_dir = f"{MODEL_DIR}/{repo_id.split('/')[-1]}" # Store model in /data/models/FLUX.1-dev | |
local_dir = f"{MODEL_DIR}/{repo_id}" # Store model in /data/models/FLUX | |
# Download the model without large weight files for efficiency | |
snapshot_download( | |
repo_id, | |
local_dir=local_dir, | |
revision="main", # Define revision explicitly | |
ignore_patterns=["*.pt", "*.bin"], # Skip large model weights | |
) | |
# Ensure proper caching | |