from huggingface_hub import HfApi, HfFolder, Repository, create_repo, upload_file import os # 登录到 Hugging Face from huggingface_hub import login login() # 创建或指定现有的 Repository repo_name = "xxx-ckpt" username = "LTT" repo_id = f"{username}/{repo_name}" # 创建仓库(如果它不存在) create_repo(repo_id, exist_ok=True) # 文件夹 # 上传整个文件夹 def upload_folder(folder_path, repo_id): """ 递归上传文件夹及其内容到 Hugging Face 仓库。 """ for root, _, files in os.walk(folder_path): for file in files: # 文件完整路径 full_file_path = os.path.join(root, file) # 相对于文件夹的相对路径(保留文件夹结构) relative_path = os.path.relpath(full_file_path, folder_path) # 上传文件到仓库 print(f"Uploading {relative_path}...") upload_file( path_or_fileobj=full_file_path, path_in_repo=relative_path, repo_id=repo_id ) print(f"Uploaded {relative_path} successfully.") # 上传模型文件 model_path = "checkpoint/zero123++/flexgen_19w.ckpt" upload_file(path_or_fileobj=model_path, path_in_repo="flexgen_19w.ckpt", repo_id=repo_id) # # 上传数据文件 # data_path = "/hpc2hdd/home/jlin695/data/env_map/data/env_mipmap_large.tar.gz" # upload_file(path_or_fileobj=data_path, path_in_repo="env_mipmap_large.tar.gz", repo_id=repo_id) # # 上传数据文件 # data_path = "/hpc2hdd/home/jlin695/data/env_map/data/env_map_light_large.tar.gz" # upload_file(path_or_fileobj=data_path, path_in_repo="env_map_light_large.tar.gz", repo_id=repo_id) # # 定义要上传的文件夹路径 # folder_path = "checkpoint/flux_lora" # # 调用上传文件夹的函数 # upload_folder(folder_path, repo_id) # print("模型和数据文件已上传到 Hugging Face。")