Spaces:
				
			
			
	
			
			
		Sleeping
		
	
	
	
			
			
	
	
	
	
		
		
		Sleeping
		
	| # Base image with GPU support and TensorFlow pre-installed | |
| FROM tensorflow/tensorflow:2.15.0-gpu | |
| # Install system dependencies | |
| RUN apt-get update && apt-get install -y \ | |
| git \ | |
| wget \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install system-level dependencies for OpenCV | |
| RUN apt-get update && apt-get install -y \ | |
| libglib2.0-0 \ | |
| libsm6 \ | |
| libxext6 \ | |
| libxrender-dev \ | |
| libgl1-mesa-glx \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install Python packages excluding blinker | |
| RUN pip install --no-cache-dir --ignore-installed \ | |
| torch \ | |
| torchvision \ | |
| transformers \ | |
| requests \ | |
| Flask \ | |
| Pillow \ | |
| huggingface_hub \ | |
| tensorflow==2.15.0 \ | |
| tensorflow_hub \ | |
| opencv-python | |
| # Set Hugging Face cache to a guaranteed writable directory | |
| ENV TRANSFORMERS_CACHE=/app/cache | |
| ENV HF_HOME=/app/cache | |
| RUN mkdir -p /app/cache && chmod -R 777 /app/cache | |
| # Set up CUDA environment variables | |
| ENV CUDA_VISIBLE_DEVICES=0 | |
| ENV NVIDIA_VISIBLE_DEVICES=all | |
| ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility | |
| # Create directories for the models | |
| RUN mkdir -p /models/blip /models/clip | |
| # Python script to download models using tensorflow_hub and huggingface_hub | |
| RUN echo "import os\n\ | |
| import tensorflow_hub as hub\n\n\ | |
| # Download MoveNet model from TensorFlow Hub (loaded directly in app, not saved)\n\ | |
| movenet_model = hub.load('https://tfhub.dev/google/movenet/singlepose/lightning/4')\n\n\ | |
| # Download BLIP model and tokenizer using huggingface_hub\n\ | |
| from transformers import BlipForConditionalGeneration, BlipProcessor\n\ | |
| BlipForConditionalGeneration.from_pretrained('Salesforce/blip-image-captioning-base').save_pretrained('/models/blip')\n\ | |
| BlipProcessor.from_pretrained('Salesforce/blip-image-captioning-base').save_pretrained('/models/blip')\n\n\ | |
| # Download CLIP model and processor using huggingface_hub\n\ | |
| from transformers import CLIPModel, CLIPProcessor\n\ | |
| CLIPModel.from_pretrained('openai/clip-vit-base-patch32').save_pretrained('/models/clip')\n\ | |
| CLIPProcessor.from_pretrained('openai/clip-vit-base-patch32').save_pretrained('/models/clip')" > download_models.py | |
| # Run the script to download models | |
| RUN python download_models.py | |
| # Copy the inference script (app.py) into the container | |
| COPY app.py /app/app.py | |
| # Expose the default port for Flask | |
| EXPOSE 7860 | |
| # Run the Flask app | |
| CMD ["python", "/app/app.py"] |