Spaces:
Paused
Paused
| # Optimization script for multi-core, low-latency processing | |
| # Sets environment variables and starts servers with optimal configurations | |
| echo "==========================================" | |
| echo "UI Analysis System - Optimized Setup" | |
| echo "==========================================" | |
| # Get number of CPU cores | |
| NUM_CORES=$(nproc) | |
| echo "Detected CPU cores: $NUM_CORES" | |
| # Export optimization flags | |
| export OMP_NUM_THREADS=$NUM_CORES | |
| export MKL_NUM_THREADS=$NUM_CORES | |
| export NUMEXPR_NUM_THREADS=$NUM_CORES | |
| export OPENBLAS_NUM_THREADS=$NUM_CORES | |
| export VECLIB_MAXIMUM_THREADS=$NUM_CORES | |
| export TORCH_NUM_THREADS=$NUM_CORES | |
| export PYTORCH_ENABLE_MPS_FALLBACK=1 | |
| # Enable optimal PyTorch settings | |
| export PYTORCH_CUDA_ALLOC_CONF="max_split_size_mb:512" | |
| # Disable CPU throttling for latency | |
| export PYTHONUNBUFFERED=1 | |
| echo "Environment variables set for $NUM_CORES cores" | |
| # Calculate optimal worker count - use all cores for async workers | |
| WORKERS=$NUM_CORES | |
| echo "Starting servers with $WORKERS workers..." | |
| echo "" | |
| echo "[1] Starting OmniParser Server on port 8000..." | |
| cd /workspaces/omoi-v2/OmniParser | |
| python -m omnitool.omniparserserver.omniparserserver \ | |
| --som_model_path weights/icon_detect/model.pt \ | |
| --device cpu \ | |
| --BOX_TRESHOLD 0.05 \ | |
| --save_cropped_images \ | |
| --cropped_images_dir /tmp/omoi_cropped \ | |
| --host 0.0.0.0 \ | |
| --port 8000 & | |
| OMONIPARSER_PID=$! | |
| echo "OmniParser Server PID: $OMNIPARSER_PID" | |
| # Wait for OmniParser to start | |
| sleep 5 | |
| echo "" | |
| echo "[2] Starting UI Element API Server on port 8001..." | |
| cd /workspaces/omoi-v2 | |
| python ui_element_api_server.py \ | |
| --port 8001 \ | |
| --workers $WORKERS \ | |
| --host 0.0.0.0 & | |
| UI_API_PID=$! | |
| echo "UI Element API Server PID: $UI_API_PID" | |
| # Wait for startup | |
| sleep 3 | |
| echo "" | |
| echo "==========================================" | |
| echo "✓ All servers started!" | |
| echo "==========================================" | |
| echo "" | |
| echo "Services:" | |
| echo " OmniParser: http://127.0.0.1:8000/probe/" | |
| echo " UI Element API: http://127.0.0.1:8001/docs" | |
| echo "" | |
| echo "Environment optimizations:" | |
| echo " - Multi-threading enabled ($NUM_CORES threads)" | |
| echo " - PyTorch optimizations active" | |
| echo " - $WORKERS async workers for API" | |
| echo " - Temp cropped images cache: /tmp/omoi_cropped" | |
| echo "" | |
| echo "Press Ctrl+C to stop all servers" | |
| echo "==========================================" | |
| # Wait for both processes | |
| wait $OMNIPARSER_PID $UI_API_PID | |