DeCo-MAE / upload_hf.py
LancetRobotics's picture
Upload folder using huggingface_hub
3c286d9 verified
Raw
History Blame
2.32 kB
import os
from huggingface_hub import HfApi
# 🔥 1. 设置你的仓库 ID
REPO_ID = "LancetRobotics/DeCo-MAE"
# 🔥 2. 设置文件路径 (根据你之前的训练记录)
# SOTA 最佳模型
MODEL_SOTA_PATH = "/root/autodl-tmp/checkpoints_final/final_sota_best.pth"
# Zero-Shot 最佳模型
MODEL_ZS_PATH = "/root/autodl-tmp/checkpoints_zeroshot/zeroshot_model.pth"
# 冷却模型 (如果你有的话)
MODEL_COOL_PATH = "/root/autodl-tmp/checkpoints_cooldown/cooldown_best.pth"
# 项目代码目录
CODE_DIR = "/root/hri30"
print(f"🚀 开始上传到 Hugging Face: {REPO_ID}")
api = HfApi()
# ==========================================
# 任务 A: 上传模型权重 (大文件)
# ==========================================
print("\n📦 正在上传模型权重 (可能需要几分钟)...")
# 1. 上传 Final SOTA 模型
if os.path.exists(MODEL_SOTA_PATH):
print(f" -> Uploading: {os.path.basename(MODEL_SOTA_PATH)}")
api.upload_file(
path_or_fileobj=MODEL_SOTA_PATH,
path_in_repo="final_sota_best.pth",
repo_id=REPO_ID,
repo_type="model"
)
# 2. 上传 Zero-Shot 模型
if os.path.exists(MODEL_ZS_PATH):
print(f" -> Uploading: {os.path.basename(MODEL_ZS_PATH)}")
api.upload_file(
path_or_fileobj=MODEL_ZS_PATH,
path_in_repo="zeroshot_model.pth",
repo_id=REPO_ID,
repo_type="model"
)
# 3. 上传 Cooldown 模型 (如果有)
if os.path.exists(MODEL_COOL_PATH):
print(f" -> Uploading: {os.path.basename(MODEL_COOL_PATH)}")
api.upload_file(
path_or_fileobj=MODEL_COOL_PATH,
path_in_repo="cooldown_best.pth",
repo_id=REPO_ID,
repo_type="model"
)
# ==========================================
# 任务 B: 上传代码和图片
# ==========================================
print("\n📂 正在上传代码和图片...")
# 我们只上传 .py, .md, .txt 和 fig 文件夹,忽略 .git, __pycache__ 等垃圾文件
api.upload_folder(
folder_path=CODE_DIR,
repo_id=REPO_ID,
repo_type="model",
allow_patterns=["*.py", "*.md", "*.txt", "fig/*", "LICENSE"],
ignore_patterns=[".git/*", "__pycache__/*", "*.pth", "wandb/*"] # 忽略本地的pth防止重复
)
print("\n✅ 所有文件上传成功!")
print(f"👉 查看地址: https://huggingface.co/{REPO_ID}")