赞
踩
git lfs
是Git的一个扩展工具,用于管理大型文件(如音视频文件、数据集等),避免将它们存储在Git仓库中,而是单独存储在Git LFS服务器上。- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
- sudo apt-get install git-lfs
- git lfs install
2. 下载HuggingFace文件
最近在看BLOOM,但是Huggingface的仓库里除了我想要的pytoch_model_xxxxx.bin,放了一些别的格式的checkpoints,全部下载的话太大了,而且很慢很慢
- git lfs install
- GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/bigscience/bloom-7b1
需要注意,GIT_LFS_SKIP_SMUDGE=1和后面的git clone必须在同一行才能生效,表示不下载大文件(小文件、大文件的区分依据是有没有使用git lfs)。
此时git会下载所有的小文件,比如tokenizer.json ,但是对于git lfs存储的大文件,只会存储一个文本的pointer file.
2.2 手动pull需要的大文件
由于我只需要仓库里的pytorch_model-00001-of-00002.bin和pytorch_model-00002-of-00002.bin ,所以可以这样写:
注意:此处需要进入到下载的文件夹中:
- cd bloom-7b1
- git lfs pull --include="*.bin"
此时*.bin会匹配这两个文件,然后等着他下载完毕就可以了。
如果你只想要单个文件,写文件名就可以。
命令:
- git lfs install
- git lfs clone https://huggingface.co/bigscience/bloom-7b1
4. git lfs 下载中断了,继续下载的命令
git lfs fetch
git lfs install
:安装 Git LFS 并设置全局配置。这是开始使用 Git LFS 的第一步。
git lfs clone
:克隆一个仓库并且同时下载所需的大文件。这个命令在 Git 2.9 版本后已经被废弃,因为标准的 git clone
命令已经足够高效。
git lfs fetch
:从远程仓库下载 Git LFS 对象,但不更新工作目录中的文件。这个命令通常用于预先下载对象以便稍后使用。
git lfs pull
:下载 Git LFS 对象并更新工作目录中的文件。这个命令相当于 git lfs fetch
和 git checkout
的组合。
git checkout:这个命令主要用于切换分支或恢复工作目录中的文件。当你执行 git checkout 时,Git 会更新工作目录中的文件以匹配你所指定的分支或提交的快照。如果你的仓库使用了 Git LFS,那么在 checkout 过程中,Git LFS 会自动将 LFS 指针文件替换为实际的大文件1。
git lfs fetch:这个命令专门用于下载 Git LFS 管理的大文件。它会从远程仓库下载 Git LFS 对象到本地 .git/lfs 目录下,但不会更新工作目录中的文件。这意味着,即使你下载了大文件,你的工作目录中的文件内容不会发生变化2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。