|
|
from pathlib import Path |
|
|
from huggingface_hub import snapshot_download |
|
|
|
|
|
|
|
|
local_dir = "/Users/jeqin/work/code" |
|
|
|
|
|
repos = { |
|
|
"Qwen/Qwen2.5-0.5B-Instruct": [], |
|
|
|
|
|
} |
|
|
|
|
|
def download(repo, files): |
|
|
folder = repo.split('/')[-1] |
|
|
print(f"start download {repo}") |
|
|
for retry in range(5): |
|
|
try: |
|
|
if not files: |
|
|
|
|
|
snapshot_download(repo_id=repo, local_dir=f"{local_dir}/{folder}", |
|
|
|
|
|
|
|
|
local_dir_use_symlinks=False) |
|
|
print(f"download {repo} finished") |
|
|
break |
|
|
else: |
|
|
|
|
|
snapshot_download(repo_id=repo, local_dir=f"{local_dir}/{folder}", allow_patterns=files, |
|
|
local_dir_use_symlinks=False) |
|
|
print(f"download {repo} finished") |
|
|
break |
|
|
except Exception as e: |
|
|
print(e) |
|
|
print(f"download failed, retry: {retry + 1}") |
|
|
|
|
|
|
|
|
def main(): |
|
|
for repo, files in repos.items(): |
|
|
download(repo, files) |
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
main() |
|
|
|