Spaces:
Build error
Build error
| import os | |
| import torch | |
| from transformers import AutoTokenizer | |
| from huggingface_hub import snapshot_download | |
| # Define environment variables | |
| os.environ["TRANSFORMERS_CACHE"] = "/tmp/transformers_cache" | |
| os.environ["HF_HOME"] = "/tmp/hf_home" | |
| # Define model options - use smaller models for Spaces deployment | |
| ASR_OPTIONS = { | |
| "Whisper Small": "openai/whisper-small", | |
| "Wav2Vec2": "facebook/wav2vec2-base-960h" | |
| } | |
| LLM_OPTIONS = { | |
| "Llama-2 7B Chat": "meta-llama/Llama-2-7b-chat-hf", | |
| "Flan-T5 Small": "google/flan-t5-small" | |
| } | |
| TTS_OPTIONS = { | |
| "VITS": "espnet/kan-bayashi_ljspeech_vits", | |
| "FastSpeech2": "espnet/kan-bayashi_ljspeech_fastspeech2" | |
| } | |
| def preload_models(): | |
| """ | |
| Preload essential components to optimize startup time | |
| """ | |
| print("Setting up model environment...") | |
| # Check for GPU availability | |
| if torch.cuda.is_available(): | |
| print(f"GPU available: {torch.cuda.get_device_name(0)}") | |
| print(f"Memory available: {torch.cuda.get_device_properties(0).total_memory / 1e9:.2f} GB") | |
| else: | |
| print("No GPU available. Running in CPU mode (performance will be limited).") | |
| try: | |
| # Download tokenizers first (smaller files) | |
| for model_name, model_id in LLM_OPTIONS.items(): | |
| print(f"Downloading tokenizer for {model_name}...") | |
| AutoTokenizer.from_pretrained(model_id) | |
| # We don't preload the full models - they'll be loaded on-demand | |
| print("Environment setup complete!") | |
| except Exception as e: | |
| print(f"Setup error: {e}") | |
| print("The application will still attempt to run, but might experience delays.") | |
| if __name__ == "__main__": | |
| preload_models() |