当前位置: 首页 > news >正文

解决TrueNas Scale部署immich后人脸识别失败,后台模型下载异常,immich更换支持中文搜索的CLIP大模型

这个问题搞了我几天终于解决了,搜遍网上基本没有详细针对TrueNas Scale部署immich应用后,CLIP模型镜像下载超时导致人脸识别失败,以及更换支持中文识别的CLIP模型的博客。

分析

现象:TrueNas Scale安装immich官方镜像应用后,导入图片人脸识别失败,中文识别更不行,查看immich-machinelearning pod后台调用日志,显示huggingface.co无法访问,导致下载模型失败。

方案

下载模型文件,手动上传到pod的模型缓存文件夹中,然后设置对应的模型名称,保存后重新识别图片即可。

【关键信息】TrueNas Scale安装immich应用后mmich-machinelearning pod的模型缓存文件路径为:/mlcache/clip/mlcache/facial-recognition

此方案是上传到pod中CLIP模型文件的缓存目录下,如果pod被销毁需要重新上传覆盖模型文件到缓存目录

1. TrueNas Scale开启SMB共享,为本地文件上传到宿主机做准备,自行下载XLM-Roberta-Large-Vit-B-16Plus以及buffalo_l模型

模型数据对比,感觉XLM-Roberta-Large-Vit-B-16Plus模型好点,支持多语言,包括中文
模型对比
官方默认的immich-app/ViT-B-32__openai模型只支持英文,这里顺便切换成XLM-Roberta-Large-Vit-B-16Plus模型。

贴下immich的官方镜像站https://huggingface.co/immich-app
国内镜像站:https://hf-mirror.com/immich-app

2. 登录TrueNas Scale后台,进入命令行,切换root账号,上传模型文件到pod中

上传前,确保当前immich没有执行的JOB

上传模型文件之前:
重要】选择应用-选择immich-工作负载-选择immich-machine-learning容器的日志图标-打开-查看是否有日志刷新

确认后再执行模型文件推送

在这里插入图片描述
执行k3s kubectl cp命令推送到pod

上传XLM-Roberta-Large-Vit-B-16Plus模型(例):
k3s kubectl cp /mnt/pool/share-folder/SMB/XLM-Roberta-Large-Vit-B-16Plus immich-machinelearning-54969d6cb9-czcdn:/mlcache/clip -n ix-immich

变量解释:

  • /mnt/pool/share-folder/SMB/XLM-Roberta-Large-Vit-B-16Plus(模型上传到TrueNas中的目录)
  • immich-machinelearning-54969d6cb9-czcdn(文件接收pod的名称,重启应用后会变)
  • /mlcache/clip/(pod固定路径)
  • ix-immich(namespace名称)

同理上传buffalo_l模型:
k3s kubectl cp /mnt/pool/share-folder/SMB/buffalo_l immich-machinelearning-54969d6cb9-czcdn:/mlcache/facial-recognition -n ix-immich

3.检查immich-machine-learning pod中是否成功接收到模型文件

应用-选择immich-工作负载-打开immich-machine-learning容器的命令行

在这里插入图片描述

进入根目录,查看是否有mlcache文件夹,cd /mlcache进入mlcache文件夹
在这里插入图片描述

  • clip 存放XLM-Roberta-Large-Vit-B-16Plus文件夹,对应设置里的CLIP MODEL
  • facial-recognition 存放buffalo_l文件夹,对应设置里的FACIAL RECOGNITION MODEL

对应模型文件夹子文件展示:
在这里插入图片描述

4.web页面设置切换模型参数,保存

在这里插入图片描述

5.重新执行job任务,查看日志,确认是否加载模型文件

重新执行SMART SEARCH与FACE DETECTION任务,重新识别图片。

查看日志确认是否加载
在这里插入图片描述

识别成功效果图:
在这里插入图片描述


http://www.lryc.cn/news/361029.html

相关文章:

  • 面试高频问题----2
  • Nginx的配置文件-详细使用说明
  • YOLOv5改进 | 卷积模块 | 提高网络的灵活性和表征能力的动态卷积【附代码+小白可上手】
  • 23、linux系统文件和日志分析
  • 安装VS2017后,离线安装Debugging Tools for Windows(QT5.9.2使用MSVC2017 64bit编译器)
  • 路由策略实验2
  • Linux网络-守护进程版字典翻译服务器
  • Python 推导式详解:高效简洁的数据处理技巧
  • 车联网安全入门——ICSim模拟器使用
  • leetcode - 20.有效的括号(LinkedHashMap)
  • 多维数组的动态内存分配(malloc和new)
  • 71、评测OrangePi AIpro开发板和USB CAMERAOAK视频解码+推理+编码+推流测试
  • 为什么需要开局调用函数?
  • QT-demo:0轴分布图表
  • git远程仓库限额的解决方法——大文件瘦身
  • 碰撞检测技术在AI中的重要作用
  • UE5 Cesium2 最新使用地理配准子关卡构造全球场景
  • 【Java数据结构】详解LinkedList与链表(二)
  • 【精读文献】J. Environ. Manage.|青藏高原生态恢复项目下植被覆盖动态及其对生态系统服务的约束效应
  • QT之常用控件
  • 【嵌入式硬件】DRV8874电机驱动
  • 考研数学:有些无穷小不能用等价无穷小的公式?
  • 谷歌浏览器的平替,内置开挂神器,我已爱不释手!
  • UMLChina为什么叒要翻译《分析模式》?
  • npm install 安装很慢如何解决?
  • 哈夫曼树的构造,哈夫曼树的存在意义--求哈夫曼编码
  • 一个全面了解Xilinx FPGA IP核的窗口:《Xilinx系列FPGA芯片IP核详解》(可下载)
  • virtualbox识别windows上usb设备
  • LabVIEW步进电机的串口控制方法与实现
  • 云计算-高级云资源配置(Advanced Cloud Provisioning)