licensplate_reader / HUGGINGFACE_DEPLOYMENT_CHECKLIST.md
Sompote's picture
Upload 15 files
2039756 verified

A newer version of the Gradio SDK is available: 6.4.0

Upgrade

πŸš€ Hugging Face Deployment Checklist

βœ… All Files Ready for Deployment

πŸ“‚ Core Application Files:

  • βœ… app.py - Main Gradio application (YOLO-based detection)
  • βœ… requirements.txt - All dependencies for Gradio
  • βœ… README.md - Documentation
  • βœ… DEPLOYMENT_GUIDE.md - Deployment instructions

πŸ€– AI Models (All Present):

  • βœ… models/yolo11s.pt - Vehicle detection (11MB)
  • βœ… models/detect1.pt - License plate detection (6MB)
  • βœ… models/read_char.pt - Character reading (6MB)
  • βœ… models/best_province.pt - Province detection (6MB)
  • βœ… models/best_segment.pt - Segmentation (backup) (6MB)

βš™οΈ Configuration Files:

  • βœ… config/data.yaml - Character mappings (47 Thai chars + digits)
  • βœ… config/data_province.yaml - Province mappings (77 Thai provinces)

πŸ“Š Model Verification:

  • βœ… Character Recognition: Maps "กพ 1687" correctly
  • βœ… Province Recognition: Maps class "58" β†’ "ΰΈͺΰΈ‡ΰΈ‚ΰΈ₯ΰΈ²"
  • βœ… Detection Pipeline: Matches original API exactly
  • βœ… Confidence Thresholds: All set to 0.3

πŸ—οΈ Deployment Instructions:

Step 1: Create Hugging Face Space

  1. Go to Hugging Face Spaces
  2. Click "Create new Space"
  3. Choose:
    • SDK: Gradio
    • Python Version: 3.11
    • Hardware: CPU Basic (free tier)

Step 2: Upload Files

Upload ALL files from this deploy_huggingface/ folder:

deploy_huggingface/
β”œβ”€β”€ app.py                          # Main app
β”œβ”€β”€ requirements.txt                # Dependencies  
β”œβ”€β”€ README.md                       # Documentation
β”œβ”€β”€ models/                         # All 5 model files
β”œβ”€β”€ config/                         # 2 YAML config files
└── *.md files                      # Documentation

Step 3: Automatic Deployment

  • Hugging Face will automatically:
    • Install dependencies from requirements.txt
    • Run app.py with Gradio
    • Provide public URL for testing

Step 4: Verify Deployment

Test with the license plate image:

  • βœ… Should detect vehicles in protection zone
  • βœ… Should find license plates in vehicles
  • βœ… Should read "กพ1687" (not "2กไหΰΈ₯ฟ")
  • βœ… Should show province "ΰΈͺΰΈ‡ΰΈ‚ΰΈ₯ΰΈ²" (not "Unknown")

πŸ“ File Sizes (Total: ~45MB)

app.py                   - 15KB
requirements.txt         - 1KB  
config/                  - 5KB
models/yolo11s.pt       - 11MB
models/detect1.pt       - 6MB
models/read_char.pt     - 6MB
models/best_province.pt - 6MB
models/best_segment.pt  - 6MB
Documentation           - 50KB

🎯 Expected Performance:

  • Vehicle Detection: βœ… Working
  • License Plate Detection: βœ… Working
  • Character Reading: βœ… Fixed (correct Thai characters)
  • Province Recognition: βœ… Fixed (77 provinces mapped)
  • UI: βœ… Interactive Gradio interface
  • Speed: ~2-5 seconds per image (CPU)

🚨 Pre-Deployment Test:

Run locally first:

cd deploy_huggingface
python app.py

βœ… Ready for Production!

All files are present and tested. The app now matches the working API's detection accuracy exactly.

License plate "กพ 1687 ΰΈͺΰΈ‡ΰΈ‚ΰΈ₯ΰΈ²" will be correctly detected! πŸš—βœ¨