def attempt_download_from_hub(repo_id, hf_token=None): # https://github.com/fcakyon/yolov5-pip/blob/main/yolov5/utils/downloads.py from huggingface_hub import hf_hub_download, list_repo_files from huggingface_hub.utils._errors import RepositoryNotFoundError from huggingface_hub.utils._validators import HFValidationError try: repo_files = list_repo_files(repo_id=repo_id, repo_type='model', token=hf_token) model_file = [f for f in repo_files if f.endswith('.pth')][0] file = hf_hub_download( repo_id=repo_id, filename=model_file, repo_type='model', token=hf_token, ) return file except (RepositoryNotFoundError, HFValidationError): return None