You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Google Colab中的两个文件夹上传至Hugging Face?

问题:将Colab中的Lora/LyCORIS文件夹上传至Hugging Face私有仓库

我拥有HF token,需要把Google Colab运行时中的两个文件夹/content/stable/models/Lora和/content/stable/models/LyCORIS,分别上传至Hugging Face的PrivateCassy/Lora主分支与PrivateCassy/LyCORIS主分支。以下是我尝试但无效的代码:

import os
import shutil
from transformers import datasets

# Hugging Face API token
api_token = input("the api token")

datasets.config.HfFolder.set_base_dataset_hf_folder('/content/hf_datasets')
datasets.set_hf_api_token(api_token)

Lora_LyCORIS_on_hf = "Load" #@param ["Save","Load"]

src = '/content/stable/'

match os.path.exists(src):
    case False:
      os.makedirs(src)
    case _:
      pass

match Lora_LyCORIS_on_hf:
  case "Save":
    # Upload Lora and LyCORIS to Hugging Face
    datasets.upload_dataset(src)
  case "Load":
    # Download Lora and LyCORIS from Hugging Face
    dataset_lora = datasets.load_dataset(src)

    # Copy downloaded data to the desired location
    shutil.copytree(dataset_lora.data_dir, src, dirs_exist_ok=True)

原代码问题分析

  • 错误使用transformers.datasets模块:该模块用于处理数据集,并非上传模型/权重文件夹的工具
  • 上传路径偏差:代码上传的是/content/stable/根目录,而非目标的两个子文件夹
  • 未指定目标仓库:没有明确指向PrivateCassy/Lora和PrivateCassy/LyCORIS这两个私有仓库

正确解决方案

使用官方的huggingface_hub库管理仓库文件,这是专门用于HF仓库文件上传/下载的工具,步骤如下:

1. 安装依赖

!pip install huggingface_hub

2. 上传代码实现

from huggingface_hub import upload_folder
import os

# 输入HF token
api_token = input("请输入你的Hugging Face API token: ")

# 定义本地路径与HF仓库的映射关系
folder_mappings = [
    {
        "local_dir": "/content/stable/models/Lora",
        "repo_id": "PrivateCassy/Lora",
        "repo_type": "model"
    },
    {
        "local_dir": "/content/stable/models/LyCORIS",
        "repo_id": "PrivateCassy/LyCORIS",
        "repo_type": "model"
    }
]

# 循环处理每个文件夹的上传
for mapping in folder_mappings:
    local_dir = mapping["local_dir"]
    # 检查本地文件夹是否存在
    if not os.path.exists(local_dir):
        print(f"错误:本地文件夹 {local_dir} 不存在")
        continue
    
    print(f"开始上传 {local_dir} 到 {mapping['repo_id']}...")
    upload_folder(
        repo_id=mapping["repo_id"],
        folder_path=local_dir,
        token=api_token,
        repo_type=mapping["repo_type"],
        revision="main"
    )
    print(f"{local_dir} 上传完成!")

注意事项

  • 若对应私有仓库未创建,需先在Hugging Face网页端手动创建PrivateCassy/Lora和PrivateCassy/LyCORIS
  • 确保你的HF token拥有对应私有仓库的写入权限
  • upload_folder会递归上传文件夹内所有文件,无需单独处理子目录

内容的提问来源于stack exchange,提问作者CasanovaSan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 20:22:31