Spaces:
Runtime error
Runtime error
| """Скачивает веса детектора номеров с Hugging Face Hub.""" | |
| from pathlib import Path | |
| from huggingface_hub import hf_hub_download | |
| MODELS_DIR = Path(__file__).resolve().parent.parent / "models" | |
| MODELS_DIR.mkdir(exist_ok=True) | |
| # Список репо для попытки скачивания (если первый не сработает — пробуем следующий) | |
| CANDIDATES = [ | |
| ("Koushim/yolov8-license-plate-detection", "best.pt"), | |
| ("keremberke/yolov8m-license-plate", "best.pt"), | |
| ("keremberke/yolov8n-license-plate", "best.pt"), | |
| ] | |
| OUT_NAME = "yolov8_plate.pt" | |
| print("Скачиваю YOLOv8 детектор номеров...") | |
| for repo_id, filename in CANDIDATES: | |
| try: | |
| print(f" пробую: {repo_id}/{filename}") | |
| downloaded = hf_hub_download( | |
| repo_id=repo_id, | |
| filename=filename, | |
| local_dir=str(MODELS_DIR), | |
| ) | |
| # Переименуем под единое имя, чтобы код пайплайна не зависел от источника | |
| src = Path(downloaded) | |
| dst = MODELS_DIR / OUT_NAME | |
| if src.resolve() != dst.resolve(): | |
| if dst.exists(): | |
| dst.unlink() | |
| src.rename(dst) | |
| print(f"✓ Детектор сохранён как: {dst}") | |
| break | |
| except Exception as e: | |
| print(f" ✗ не получилось: {type(e).__name__}: {e}") | |
| continue | |
| else: | |
| print("❌ Ни один из репозиториев не сработал. Напиши мне.") | |
| exit(1) | |
| print("\nГотово! fast-plate-ocr скачает свою модель автоматически при первом запуске.") |