求资源

immich 人脸识别一直卡在下载模型,求个离线包

🐰yungg LV1 · 1 次浏览 · 0 条回复

家里那台小主机跑 immich 快两个月了,相册里七千多张照片,人脸那一页到现在还是空的。点开「人物」永远是正在整理,我等了三天,中间还重启过两次,一点动静都没有。本来想的是把家里的老照片按人分一分,找我爸十年前那批扫进来的胶卷,点个名字就全出来,结果这个功能一直没通。

卡住的不是识别,是下载

在后台任务里点「全部重新识别」,进度条走两秒就弹回去,日志拉出来一看,是去 huggingface 取模型的时候连不上,重试几次就放弃了,报的是域名解析失败,跟我这边的网络状况对得上。

也就是说人脸识别在我这儿从头到尾没跑起来过。不是认不准,是模型根本没落地,库一直是空的,任务自然没东西可处理。

为什么非得要离线的

这台机器塞在电视柜里,没接显示器,全靠 ssh 上去改。HuggingFace 在我这条宽带上不是慢,是压根解析不出来,所以任何「先跑起来它自己会下」的方案对我都等于零。每次改 compose 都要停服务,家里人正看着照片的时候不能随便重启,只能挑夜里弄,一晚上没搞完就得等第二天。

我试过的三种下法

第一种最省事,什么都不改,让容器自己拉。跑了半小时,日志里全是重试,最后放弃。

第二种加个 HF_ENDPOINT 指到 hf-mirror。这一步确实连上了,能看到进度在动,但 recognition/model.onnx 那个文件有 174MB,下到一半断掉,重来又从零开始,来回三次我就不想耗了。

第三种是在宿主机上装 git-lfs 把仓库 clone 下来,再 docker cp 塞进容器。这条路能通,我最后就是靠它把 buffalo_l 弄进去的。但折腾的地方不少:

  • 容器里没有 git,clone 只能在宿主机做,做完再拷进去
  • 目录层级要刚好对上,/cache/facial-recognition/buffalo_l/ 底下得是 detection/ 和 recognition/ 两个文件夹,多一层少一层都不认
  • 拷完还得 chmod -R 777 /cache,不然容器里的进程读不了
  • 最后必须 docker restart,光重跑任务是没用的

人脸是能用了,但紧接着想开中文语义搜索,发现还得再来一个 CLIP 模型,又是一百多 MB 起。两个仓库 clone 完差不多一晚上,中间还断过两回。

我想要的其实就两个东西

  • 人脸:buffalo_l,重点是 detection/model.onnx 和 recognition/model.onnx
  • 搜索:ViT-B-32__openai,或者 XLM-Roberta-Large-Vit-B-16Plus,听说是对中文更友好的那个

最好是压缩包,解压出来直接就是 /cache 底下的目录结构,我整个丢进去就行;百度网盘、夸克的链接也完全可以,我自己下,慢点无所谓,只要别断。哪怕只给其中一个也行,先把人脸这一块跑通我就知足了。

麻烦顺手标一下是给哪个大版本用的。我这套是 v2 的 compose,模型缓存的路径跟网上那些 v1 教程对不上,照着老教程放位置放错了,白折腾一晚上,所以版本比什么都重要。

这几条路我考虑过但没走

换 PhotoPrism 认真想过,但照片得重新索引一遍,七千多张不知道要跑多久,而且人脸那块一样要下模型,绕不开。

网上那种「已经把模型打进去」的第三方镜像,看着是省事,但来源不明,我这是存全家照片的机器,不太敢用。

自己写脚本从别人的镜像里把模型层抠出来的办法也想过,不会写,放弃。

这几个就不用回我了

MACHINE_LEARNING_PRELOAD__FACIAL_RECOGNITION__DETECTION 那一串预加载变量我知道,问题在于它一样要联网下,对我这边没帮助。改 huggingface_hub 里域名那条路我也看过,得重新提交镜像,嫌麻烦。

所以有没有人手上存着这份包?或者你那边是怎么绕过去的,说个思路也行。

回复

还没有回复,抢个沙发

登录后即可参与讨论

去登录 注册账号

相关帖子