SenseVoice-Small-ko / upload_model_to_huggingface.py
roboseasy's picture
Upload folder using huggingface_hub
5b8f678 verified
Raw
History Blame Contribute Delete
2.05 kB
#!/usr/bin/env python3
import os
from pathlib import Path
from huggingface_hub import HfApi, create_repo, upload_folder
# ===== ์‚ฌ์šฉ์ž ์„ค์ • =====
# ์‹ค์ œ๋กœ ๋งŒ๋“ค Hugging Face ๋ชจ๋ธ repo ID (์˜ˆ์‹œ)
REPO_ID = "roboseasylabs/SenseVoice-Small-ko" # <-- ์›ํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ์ˆ˜์ •
# ์—…๋กœ๋“œํ•  ๋กœ์ปฌ ํด๋” (ํ•™์Šต ๊ฒฐ๊ณผ)
MODEL_DIR = Path("/home/khw/workspace/STTProject/SenseVoice-Small-ko")
# ๋กœ์ปฌ์— ์žˆ๋Š” model.py๋ฅผ ํ•จ๊ป˜ ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด (FunASR/SenseVoice์šฉ)
# outputs ์•ˆ์— ์ด๋ฏธ ๋ณต์‚ฌํ•ด ๋‘์—ˆ์œผ๋ฉด ์ƒ๋žต ๊ฐ€๋Šฅ
def main():
# 1) ํ† ํฐ ๊ฐ€์ ธ์˜ค๊ธฐ (ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์‚ฌ์šฉ ๊ถŒ์žฅ)
# ๋ฏธ๋ฆฌ export HUGGINGFACE_HUB_TOKEN=hf_xxx ํ•˜๊ธฐ
# ๋ฏธ๋ฆฌ export HF_HUB_DOWNLOAD_TIMEOUT=3600 ํ•˜๊ธฐ (์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ ์‹œ๊ฐ„ ๋Š˜๋ฆฌ๊ธฐ)
token = os.environ.get("HUGGINGFACE_HUB_TOKEN")
if token is None:
raise RuntimeError(
"HUGGINGFACE_HUB_TOKEN ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. "
"https://huggingface.co/settings/tokens ์—์„œ ํ† ํฐ์„ ๋งŒ๋“ค๊ณ ,\n"
"export HUGGINGFACE_HUB_TOKEN=hf_xxx ๋กœ ์„ค์ •ํ•œ ๋’ค ๋‹ค์‹œ ์‹คํ–‰ํ•˜์„ธ์š”."
)
api = HfApi()
# 2) ๋ฆฌํฌ์ง€ํ„ฐ๋ฆฌ ์ƒ์„ฑ (์ด๋ฏธ ์žˆ์œผ๋ฉด exist_ok=True ๋กœ ๊ทธ๋ƒฅ ํ†ต๊ณผ)
create_repo(
repo_id=REPO_ID,
token=token,
private=True, # ๋น„๊ณต๊ฐœ๋กœ ์˜ฌ๋ฆฌ๋ ค๋ฉด True
exist_ok=True,
repo_type="model",
)
# 4) ํด๋” ํ†ต์งธ๋กœ ์—…๋กœ๋“œ
print(f"[info] uploading folder: {MODEL_DIR} -> {REPO_ID}")
upload_folder(
repo_id=REPO_ID,
folder_path=str(MODEL_DIR),
path_in_repo=".", # ๋ฆฌํฌ ๋ฃจํŠธ์— ๊ทธ๋Œ€๋กœ ์˜ฌ๋ฆฌ๊ธฐ
token=token,
repo_type="model",
# ignore_patterns=[
# "model.pt.ep*", # ์ฒดํฌํฌ์ธํŠธ๋“ค ์ œ์™ธ
# "*.pt.ep*", # ํ˜น์‹œ ๋‹ค๋ฅธ ํŒŒ์ผ๋ช…๋„ ๋น„์Šทํ•˜๊ฒŒ ์ฐํžˆ๋ฉด ๊ฐ™์ด ์ œ์™ธ
# ],
)
print("[done] uploaded to:", f"https://huggingface.co/{REPO_ID}")
if __name__ == "__main__":
main()