zoo3d / check_zerogpu_ready.sh
bulatko's picture
Deploy Zoo3D with Zero GPU support
744e084
#!/bin/bash
echo "πŸ” Zero GPU Deployment Readiness Check"
echo "======================================"
# Color codes
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Check if torch is in requirements.txt
echo -n "Checking requirements.txt for torch... "
if grep -q "^torch==" requirements.txt 2>/dev/null; then
echo -e "${RED}❌ FAIL${NC}"
echo " ERROR: torch found in requirements.txt - MUST be removed!"
exit 1
else
echo -e "${GREEN}βœ… PASS${NC}"
fi
# Check if torchvision is in requirements.txt
echo -n "Checking requirements.txt for torchvision... "
if grep -q "^torchvision==" requirements.txt 2>/dev/null; then
echo -e "${RED}❌ FAIL${NC}"
echo " ERROR: torchvision found in requirements.txt - MUST be removed!"
exit 1
else
echo -e "${GREEN}βœ… PASS${NC}"
fi
# Check if README_HF.md exists
echo -n "Checking for README_HF.md... "
if [ -f "README_HF.md" ]; then
echo -e "${GREEN}βœ… EXISTS${NC}"
# Check for python_version in README
echo -n "Checking python_version in README_HF.md... "
if grep -q "python_version:" README_HF.md; then
echo -e "${GREEN}βœ… FOUND${NC}"
else
echo -e "${YELLOW}⚠️ MISSING${NC}"
echo " WARNING: python_version not specified in README_HF.md"
fi
else
echo -e "${RED}❌ MISSING${NC}"
echo " ERROR: README_HF.md not found!"
exit 1
fi
# Check if packages.txt exists
echo -n "Checking for packages.txt... "
if [ -f "packages.txt" ]; then
echo -e "${GREEN}βœ… EXISTS${NC}"
else
echo -e "${YELLOW}⚠️ MISSING${NC}"
echo " WARNING: packages.txt not found (may be needed for system dependencies)"
fi
# Check if app.py exists
echo -n "Checking for app.py... "
if [ -f "app.py" ]; then
echo -e "${GREEN}βœ… EXISTS${NC}"
else
echo -e "${RED}❌ MISSING${NC}"
echo " ERROR: app.py not found!"
exit 1
fi
# Check if mvp.py exists
echo -n "Checking for mvp.py... "
if [ -f "mvp.py" ]; then
echo -e "${GREEN}βœ… EXISTS${NC}"
# Check for spaces.GPU decorators
echo -n "Checking for @spaces.GPU decorators... "
if grep -q "@spaces.GPU" mvp.py; then
count=$(grep -c "@spaces.GPU" mvp.py)
echo -e "${GREEN}βœ… FOUND ($count decorators)${NC}"
else
echo -e "${YELLOW}⚠️ NOT FOUND${NC}"
echo " WARNING: No @spaces.GPU decorators found"
fi
else
echo -e "${RED}❌ MISSING${NC}"
echo " ERROR: mvp.py not found!"
exit 1
fi
# Check gradio version
echo -n "Checking Gradio version... "
if grep -q "gradio==" requirements.txt; then
version=$(grep "gradio==" requirements.txt | cut -d'=' -f3)
major=$(echo $version | cut -d'.' -f1)
if [ "$major" -ge "4" ]; then
echo -e "${GREEN}βœ… $version (>=4.0)${NC}"
else
echo -e "${RED}❌ $version (<4.0)${NC}"
echo " ERROR: Gradio version must be 4.0 or higher"
fi
else
echo -e "${YELLOW}⚠️ NOT SPECIFIED${NC}"
fi
echo ""
echo "======================================"
echo -e "${GREEN}βœ… All critical checks passed!${NC}"
echo ""
echo "Next steps:"
echo "1. Copy files to your HF Space repository"
echo "2. Use README_HF.md as your README.md"
echo "3. Push to Hugging Face"
echo "4. Enable Zero GPU in Space settings"
echo ""
echo "For detailed instructions, see ZERO_GPU_FINAL_INSTRUCTIONS.md"