把下载到的 huggingface 模型扔回 cache
操作 hf 的时候不小心手滑把一个模型的 cache 给删了,幸好本来的东西还在,只不过 cache 里面的命名方式……一时不知道怎么办。
~/.cache/huggingface/hub » tree
.
├── models--mlx-community--whisper-large-v2-mlx
│ ├── blobs
│ │ ├── 48abf62a3d41836847f8c8ff4e74625201b7096f
│ │ ├── 66a8e0d4a73eb1e6a44b9b516720e414e8e98e75
│ │ ├── a6344aac8c09253b3b630fb776ae94478aa0275b
│ │ └── c9888a2d03b4e9906c2864151f56dc21e58d617938da0eb818152e3f99adc3f1
│ ├── refs
│ │ └── main
│ └── snapshots
│ └── cce86229e2765266197fef869ce9f7e2550067ab
│ ├── config.json -> ../../blobs/48abf62a3d41836847f8c8ff4e74625201b7096f
│ ├── README.md -> ../../blobs/66a8e0d4a73eb1e6a44b9b516720e414e8e98e75
│ └── weights.npz -> ../../blobs/c9888a2d03b4e9906c2864151f56dc21e58d617938da0eb818152e3f99adc3f1
...
然后看了这个帖子,大概知道是怎么回事了:
- blobs
- 里面有模型的四个文件,但是文件名是哈希值,用cache里面的文件试了一下,算了几个常见种类都不对,想不明白。
- refs/main
- 指向这个模型的 main ref.
- snapshots
- 存着每一个下载过的 ref,
- 把文件名软连接到真正的的文件上。
- 存着每一个下载过的 ref,
但算了几下发现 hash 似乎不是帖子说的 md5, 也不是 sha1, 可也不想真的去算了,模型那么重,算一遍要很久。
然后意外发现下载到本地的模型里面有之前的 metadata, ref 也对得上。
models/whisper-large-v2/
├── .cache
│ └── huggingface
│ ├── .gitignore
│ └── download
│ ├── .gitattributes.lock
│ ├── .gitattributes.metadata
│ ├── config.json.lock
│ ├── config.json.metadata
│ ├── README.md.lock
│ ├── README.md.metadata
│ ├── weights.npz.lock
│ └── weights.npz.metadata
├── .gitattributes
├── config.json
├── README.md
└── weights.npz
搞定。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment