如何优雅的下载huggingface的大模型
相信玩ai的都知道huggingface这个网站,这个网站上有很多模型,有时候我们需要把模型下载到本地然后运行
那么怎么优雅的去下载呢?
一般来说有两种方式,一种是你直接打开huggingface的仓库页面,然后点击下载对应的模型文件,但是这种方式
对于模型文件只有一两个还好一些,如果有好几个,那就太麻烦了,你需要一个个点击。
第二种方式就是你使用git去下载,安装lfs插件,然后git clone即可,这种方式的弊端就是你会全部下载下来,包括历史,
还有一堆你不想要的文件,因为你可能只需要模型文件。
我自己用的也是git方式,不过我使用了一些git的参数去规避上述常规git clone的缺点,也方便了后续更新。
举个例子,假设你要下载的模型是sdxl的模型 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main
复制仓库的id,stabilityai/stable-diffusion-xl-base-1.0
然后执行
git clone --depth 1 --branch main --no-checkout git@hf.co:stabilityai/stable-diffusion-xl-base-1.0
下面我来解释一下各个参数的意思,–depth 1表示只clone最新的一层,不包含历史,no-checkout的意思就是先不要checkout, 仅把文件夹和基础git目录信息创建出来,后面 还需要精准去checkout需要的文件,如果你在clone的时候直接就checkout的话,那么就相当于整个仓库的文件都下载了。
这个仓库其实有很多文件,但是我们需要的就两个,
sd_xl_base_1.0.safetensors
sd_xl_base_1.0_0.9vae.safetensors
那么这时候如何使用git只下载这两个文件呢?
使用如下命令即可,这样checkout的话,只会下载这两个文件
git sparse-checkout set sd_xl_base_1.0.safetensors
git sparse-checkout set sd_xl_base_1.0_0.9vae.safetensors
如果需要全部下载怎么办? 使用 git checkout main即可
- 原文作者:iamdev
- 原文链接:https://blog.iamdev.cn/post/2023/%E5%A6%82%E4%BD%95%E4%BC%98%E9%9B%85%E7%9A%84%E4%B8%8B%E8%BD%BDhuggingface%E7%9A%84%E5%A4%A7%E6%A8%A1%E5%9E%8B/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止转载 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。