您的位置:首页 > 游戏 > 游戏 > 240602-通过命令行实现HuggingFace文件上传

240602-通过命令行实现HuggingFace文件上传

2025/1/11 6:29:48 来源:https://blog.csdn.net/qq_33039859/article/details/139390796  浏览:    关键词:240602-通过命令行实现HuggingFace文件上传

A. 登录显示

A.1 MacOS

在这里插入图片描述

A.2 Windows

在这里插入图片描述

B. 操作步骤

B.1 操作细节

要通过命令行将文件上传到 Hugging Face,可以使用 huggingface-cli 工具。以下是详细步骤:

  1. 安装 huggingface_hub 包:
    首先,确保已经安装了 huggingface_hub 包。可以使用 pip 安装:

    pip install huggingface_hub
    
  2. 登录 Hugging Face 账户:
    使用 huggingface-cli 命令行工具登录到你的 Hugging Face 账户:

    huggingface-cli login
    

    系统会提示你输入 Hugging Face 的访问令牌。你可以在 Hugging Face 的网站上生成一个新的访问令牌。

  3. 创建一个新的模型仓库:
    你可以在 Hugging Face 上创建一个新的模型仓库。假设你要创建一个名为 my-new-model 的仓库:

    huggingface-cli repo create my-new-model
    
  4. 克隆仓库到本地:
    将你刚刚创建的模型仓库克隆到本地计算机上:

    git clone https://huggingface.co/your-username/my-new-model
    cd my-new-model
    
  5. 将文件添加到仓库:
    将你要上传的文件复制到这个仓库目录中,然后添加、提交并推送文件:

    cp /path/to/your/file .
    git add .
    git commit -m "Add new file"
    git push
    
  6. 上传特定文件(可选):
    如果你只想上传特定文件,而不是通过 git 操作,你可以使用 huggingface_hub 的 Python API。例如:

    from huggingface_hub import HfApiapi = HfApi()
    api.upload_file(path_or_fileobj="/path/to/your/file",path_in_repo="destination/path/in/repo",repo_id="your-username/my-new-model",token="your-access-token"
    )
    

这样,你就可以通过命令行将文件上传到 Hugging Face 上的模型仓库了。如果有更多具体的需求或问题,请随时告诉我!

B.2 注意事项
  • 参见补充1+2
  • git push的时候,提交的是HuggingFace上的用户名 + WRITE TOKEN,而不是用户对应的Password

C. 参考文献

  • 如何评价huggingface平台? - 刘悦的技术博客的回答 - 知乎
  • SSLError: HTTPSConnectionPool(host=‘huggingface.co’, port=443) · Issue #17611 · huggingface/transformers · GitHub

D. 补充资料


补充1 : Linux上

Hugging Face 也不再支持密码认证,需要使用访问令牌或 SSH 密钥。以下是如何解决这个问题的步骤:

使用个人访问令牌 (PAT)
  1. 生成个人访问令牌:

    • 访问 Hugging Face 账户设置。
    • 点击 “New token” 按钮。
    • 为令牌命名并选择所需的权限(例如 repo 权限)。
    • 生成令牌并复制。
  2. 在 Git 中使用令牌:

    • 在进行 Git 操作时,使用令牌而不是密码。
    • 或者,可以将令牌存储在 Git 配置中:
      git config --global credential.helper store
      git push https://huggingface.co/GuokLIU/db-upload/
      
    • 当系统提示输入用户名时,输入你的 Hugging Face 用户名。
    • 当系统提示输入密码时,粘贴访问令牌。
使用 SSH 密钥
  1. 生成 SSH 密钥:

    • 如果你没有 SSH 密钥,可以用以下命令生成:
      ssh-keygen -t ed25519 -C "your_email@example.com"
      
    • 按照提示保存密钥。默认情况下,它将保存在 ~/.ssh/id_ed25519
  2. 将 SSH 密钥添加到 SSH 代理:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    
  3. 将 SSH 密钥添加到 Hugging Face 账户:

    • 将 SSH 密钥复制到剪贴板:
      cat ~/.ssh/id_ed25519.pub
      
    • 访问 Hugging Face SSH 密钥设置。
    • 点击 “New SSH key” 并粘贴你的密钥。
  4. 更新远程 URL 以使用 SSH:

    • 将远程 URL 更改为 SSH URL:
      git remote set-url origin git@huggingface.co:GuokLIU/db-upload.git
      
  5. 推送更改:

    git push
    

通过上述方法,可以解决认证问题。


补充2: Windows上

在 Windows 上使用 Hugging Face 的个人访问令牌或 SSH 密钥进行 Git 操作有一些特定的步骤。以下是详细的步骤:

使用个人访问令牌 (PAT)
  1. 生成个人访问令牌:

    • 访问 Hugging Face 账户设置。
    • 点击 “New token” 按钮。
    • 为令牌命名并选择所需的权限(例如 repo 权限)。
    • 生成令牌并复制。
  2. 在 Git 中使用令牌:

    • 打开 PowerShell 或命令提示符。
    • 配置 Git 使用存储的凭证:
      git config --global credential.helper wincred
      
    • 尝试推送代码:
      git push https://huggingface.co/GuokLIU/db-upload/
      
    • 当系统提示输入用户名时,输入你的 Hugging Face 用户名。
    • 当系统提示输入密码时,粘贴访问令牌。
使用 SSH 密钥
  1. 生成 SSH 密钥:

    • 打开 PowerShell 并生成 SSH 密钥:
      ssh-keygen -t ed25519 -C "your_email@example.com"
      
    • 按照提示保存密钥。默认情况下,它将保存在 C:\Users\YourUsername\.ssh\id_ed25519
  2. 将 SSH 密钥添加到 SSH 代理:

    • 在 PowerShell 中运行:
      Start-Service ssh-agent
      ssh-add ~\.ssh\id_ed25519
      
  3. 将 SSH 密钥添加到 Hugging Face 账户:

    • 将 SSH 密钥复制到剪贴板:
      Get-Content ~/.ssh/id_ed25519.pub | Set-Clipboard
      
    • 访问 Hugging Face SSH 密钥设置。
    • 点击 “New SSH key” 并粘贴你的密钥。
  4. 更新远程 URL 以使用 SSH:

    • 在你的项目目录中运行以下命令:
      git remote set-url origin git@huggingface.co:GuokLIU/db-upload.git
      
  5. 推送更改:

    git push
    

这些步骤应该能够帮助你在 Windows 上正确配置 Git 以使用 Hugging Face 的个人访问令牌或 SSH 密钥进行认证。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com