dbnet_res18_text_detection_v0.1 / create_and_upload.py
shuzi-mewtant's picture
Update DBNet model files
7e14917 verified
#!/usr/bin/env python3
"""
创建或更新 Hugging Face 仓库
"""
import os
from pathlib import Path
from huggingface_hub import HfApi, login, create_repo
def create_and_upload():
# 检查 token
token = os.environ.get("HF_TOKEN")
if not token:
print("❌ 错误: 未设置 HF_TOKEN 环境变量!")
print("请运行: export HF_TOKEN='你的token'")
return False
try:
# 登录
login(token=token)
print("✅ 成功登录 Hugging Face")
# 获取当前用户信息
api = HfApi()
user_info = api.whoami()
username = user_info['name']
print(f"👤 当前用户: {username}")
except Exception as e:
print(f"❌ 登录失败: {e}")
return False
# 仓库配置
repo_name = "dbnet_res18_text_detection_v0.1"
repo_id = f"{username}/{repo_name}"
print(f"\n🔍 检查仓库: {repo_id}")
# 尝试创建仓库(如果不存在)
try:
create_repo(
repo_id=repo_id,
repo_type="model",
exist_ok=True,
private=False
)
print(f"✅ 仓库已就绪: {repo_id}")
except Exception as e:
print(f"⚠️ 仓库创建/检查: {e}")
# 上传文件
local_dir = Path(__file__).parent
print(f"\n🚀 开始上传文件到: {repo_id}")
try:
from huggingface_hub import upload_folder
# 上传整个文件夹
upload_folder(
folder_path=str(local_dir),
repo_id=repo_id,
repo_type="model",
ignore_patterns=[
"__pycache__/*",
"*.pyc",
".git/*",
"set_token.sh",
"update_*.py",
"update_*.sh"
],
commit_message="Update DBNet model files"
)
print(f"\n✅ 上传成功!")
print(f"🔗 查看仓库: https://huggingface.co/{repo_id}")
return True
except Exception as e:
print(f"❌ 上传失败: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
success = create_and_upload()
exit(0 if success else 1)