#!/usr/bin/env python3 | |
""" | |
Hugging Face Spaces entry point for OneFormer application | |
""" | |
import os | |
import sys | |
import subprocess | |
# Set up environment variables for HF Spaces | |
os.environ['CUDA_HOME'] = '/usr/local/cuda' if os.path.exists('/usr/local/cuda') else '' | |
# Install deformable attention ops if not already installed | |
def setup_deformable_attention(): | |
ops_dir = os.path.join(os.path.dirname(__file__), 'oneformer/modeling/pixel_decoder/ops') | |
if os.path.exists(ops_dir): | |
try: | |
subprocess.run(['bash', 'deform_setup.sh'], check=True, cwd=os.path.dirname(__file__)) | |
print("Deformable attention ops installed successfully") | |
except Exception as e: | |
print(f"Warning: Could not install deformable attention ops: {e}") | |
print("Continuing without custom CUDA kernels...") | |
# Run setup on first launch | |
if not os.path.exists('oneformer/modeling/pixel_decoder/ops/build'): | |
setup_deformable_attention() | |
# Import and run the main gradio app | |
from gradio_test import demo | |
if __name__ == "__main__": | |
# Launch with HF Spaces compatible settings | |
demo.launch( | |
server_name="0.0.0.0", | |
server_port=7860, | |
share=False, # Disabled on HF Spaces | |
debug=False | |
) |