git lfs下载大文件限额
起因是用 model.load_state_dict(torch.load())加载pt权重文件时,出现错误:_pickle.UnpicklingError: invalid load key, ‘v’.
GPT告诉我:你的 pt 文件不是权重文件,而是模型整体保存(或根本不是 PyTorch 文件)。
很懵,因为这个后缀就是pt,根据GPT提供的思路检查文件前面的字符:
with open("ckpt/primedp.middle.pt", "rb") as f:head = f.read(64)print(head)
把输出贴到GPT上面告诉我拿到的根本不是模型文件,而是一个 Git LFS(Large File Storage)占位符文本文件,它只记录了文件的元信息(如 hash 值),并不包含模型数据本身。检查才发现下载的文件大小为1kb。
为什么会这样?因为GitHub 上有些大型 .pt 文件(几百 MB 甚至更大)会被托管到 Git LFS,普通 git clone 或右键“另存为”操作 不会下载真实文件,只会下载一个占位符。
那么,如何正确下载 Git LFS 文件?(摩拳擦掌)
1、(windows)下载Git LFS
2、打开cmd
git lfs install
git clone git仓库网址
cd 下载目录
git lfs pull
这将确保你下载到的是完整的模型权重文件,而不是占位符。
然而!新的问题来了,git lfs pull
报错batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.
表明是GitHub LFS 限流问题,意思是:GitHub 仓库的 LFS 文件流量额度已经用完了!
GitHub 对每个账户的 Git LFS(大文件)下载流量有限制(默认每月 1GB 下载额度)。一旦超过,就会显示这个错误,即使你用 git lfs pull,也下载不了模型权重文件。
一开始以为我的下载额度满了,接下来GPT的回复又惊喜了!!情绪价值拉满!