Spaces:
No application file
No application file
| set -e | |
| echo "🚀 Starting EmoVIT application..." | |
| # Create and set permissions for cache directories | |
| echo "📁 Setting up cache directories..." | |
| mkdir -p /app/.cache/huggingface/hub | |
| mkdir -p /app/.cache/transformers | |
| mkdir -p /app/.cache/torch | |
| mkdir -p /app/.cache/datasets | |
| # Set permissions only for /app/.cache (avoid root filesystem) | |
| chmod -R 777 /app/.cache/ 2>/dev/null || true | |
| # Set environment variables | |
| export TRANSFORMERS_CACHE=${TRANSFORMERS_CACHE:-/app/.cache/transformers} | |
| export HF_HOME=${HF_HOME:-/app/.cache/huggingface} | |
| export TORCH_HOME=${TORCH_HOME:-/app/.cache/torch} | |
| export HF_DATASETS_CACHE=${HF_DATASETS_CACHE:-/app/.cache/datasets} | |
| export HUGGINGFACE_HUB_CACHE=${HUGGINGFACE_HUB_CACHE:-/app/.cache/huggingface/hub} | |
| export PYTHONPATH=/app:/app/lib:$PYTHONPATH | |
| export PYTHONUNBUFFERED=1 | |
| echo "✅ Cache directories set up" | |
| echo "🔧 Environment variables:" | |
| echo " TRANSFORMERS_CACHE=$TRANSFORMERS_CACHE" | |
| echo " HF_HOME=$HF_HOME" | |
| echo " TORCH_HOME=$TORCH_HOME" | |
| echo " PYTHONPATH=$PYTHONPATH" | |
| # Test dependencies | |
| echo "🔍 Testing dependencies..." | |
| python3 -c " | |
| import sys | |
| import warnings | |
| warnings.filterwarnings('ignore') | |
| try: | |
| import numpy | |
| print(f'✅ NumPy {numpy.__version__}') | |
| except Exception as e: | |
| print(f'❌ NumPy: {e}') | |
| sys.exit(1) | |
| try: | |
| import cv2 | |
| print(f'✅ OpenCV {cv2.__version__}') | |
| except Exception as e: | |
| print(f'❌ OpenCV: {e}') | |
| sys.exit(1) | |
| try: | |
| import torch | |
| print(f'✅ PyTorch {torch.__version__}') | |
| except Exception as e: | |
| print(f'❌ PyTorch: {e}') | |
| sys.exit(1) | |
| try: | |
| import transformers | |
| print(f'✅ Transformers {transformers.__version__}') | |
| except Exception as e: | |
| print(f'❌ Transformers: {e}') | |
| sys.exit(1) | |
| try: | |
| import lavis | |
| print(f'✅ LAVIS imported successfully') | |
| except Exception as e: | |
| print(f'❌ LAVIS: {e}') | |
| print('Warning: LAVIS not available, app will run in demo mode') | |
| " | |
| echo "🌐 Starting Flask application..." | |
| # Use unbuffered Python output for better logging in containers | |
| exec python3 -u app.py |