0、git lfs是Git的一个扩展工具,用于管理大型文件(如音视频文件、数据集等),避免将它们存储在Git仓库中,而是单独存储在Git LFS服务器上。
1. 安装
Linux安装步骤:
- 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,全部下载的话太大了,而且很慢很慢
2.1 起首通过git下载小文件
- 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会匹配这两个文件,然后等着他下载完毕就可以了。
如果你只想要单个文件,写文件名就可以。
3. 别的一种方式:下载HuggingFace全部文件(包括巨细文件)
命令:
- git lfs install
- git lfs clone https://huggingface.co/bigscience/bloom-7b1
复制代码 4. git lfs 下载中断了,继承下载的命令
5、命令对比表明:
- 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
- git lfs clone 命令的过程中确实包含了主动将 LFS 指针文件更换为实际的大文件的步骤。这个命令是 git clone 的一个优化版本,专门用于处理包含大文件的仓库。当你使用 git lfs clone 时,Git LFS 会在克隆过程的末了阶段主动更换指针文件,下载实际的大文件到你的工作目录
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |