解决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模型:
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任务,重新识别图片。

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

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/671912.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录一次cnvd事件型证书漏洞挖掘

事件起因是因为要搞毕设了,在为这个苦恼,突然负责毕设的老师说得到cnvd下发的证书结合你的漏洞挖掘的过程是可以当成毕设的,当时又学习了一段时间的web渗透方面的知识,于是踏上了废寝忘食的cnvd证书漏洞挖掘的日子。 前言&#x…

动态规划算法:背包问题

背包问题概述 背包问题 (Knapsack problem) 是⼀种组合优化的 NP完全问题 。 问题可以描述为:给定⼀组物品,每种物品都有⾃⼰的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最⾼。 根据物品的个…

vector实现后半部分

一.迭代器失效 1.定义 指原迭代器在扩容/缩容/修改后指向无效元素或无效地址处 erase的迭代器失效 2.原因: 1.有的编译器实现erase会缩容拷贝 2.删除最后一个后,其指向无效元素 VS中不允许再次使用erase完的迭代器,为了让编写的代码移植…

32位与64位程序下函数调用的异同——计科学习中缺失的内容

前言 今天&#xff0c;通过一个有趣的案例&#xff0c;从反编译的角度看一下C语言中函数参数是如何传递的。 创建main.c文件&#xff0c;将下面实验代码拷贝到main.c文件中。 # main.c #include <stdio.h>int test(int a, int b, int c, int d, int e, int f, int g, …

浔川python社获得全网博主原力月度排名泸州地区第二名!

今日&#xff0c;浔川python社在查看全网博主原力月度排名泸州地区时&#xff0c;一看就震惊啦&#xff01; 全网博主原力月度排名泸州地区排名榜单 全网博主原力月度排名泸州地区第二名为&#xff1a;浔川python社。 感谢粉丝们的支持&#xff01;浔川python社还会继续努力&a…

ubuntu--Linux使用

Linux使用 Linux 系统简介 linux Linux 就是一个操作系统&#xff0c;与 Windows 和 Mac OS 一样是操作系统 。 操作系统在整个计算机系统中的角色 : Linux 主要是 系统调用 和 内核 那两层。使用的操作系统还包含一些在其上运行的应用程序&#xff0c;比如vim、google、vs…

Glow模型【图解版加代码】

论文&#xff1a;Glow: Generative Flow with Invertible 1x1 Convolutions 代码&#xff1a;pytorch版本&#xff1a;rosinality/glow-pytorch: PyTorch implementation of Glow (github.com) 正版是TensorFlow版本 openai的 参考csdn文章&#xff1a;Glow-pytorch复现gith…

spoon工具的常用基础操作

一些常用转换工具 1、emp表输入->excel表输出 emp表输入&#xff0c;可以进行预览查看数据有没有过来excel表输出 成功执行后&#xff0c;可以到保存的excel位置进行查看。 2、excel输入->表输出 运行转换后可以在oracle进行查看是否有成功创建这个表 3、对部门最高…

十_信号11 - 函数sigsetjmp() 和 siglongjmp()

也就是说&#xff0c;正常情况下&#xff0c;当捕捉到一个信号&#xff0c;并调用该信号的信号处理程序时&#xff0c;被捕捉的信号会被加入到当前进程的信号屏蔽字中&#xff0c;以防止在本次信号处理程序还没有完成的时候&#xff0c;再次触发该信号&#xff0c; 发生重入。 …

罕见!史诗级“大堵船”

新加坡港口的停泊延误时间已延长至7天&#xff0c;积压的集装箱数量达到惊人的450000标准箱&#xff0c;远超新冠疫情暴发时期的数轮高点。业内认为&#xff0c;近期东南亚恶劣的天气情况加剧了该区域港口拥堵。 5月31日&#xff0c;上海航运交易所&#xff08;下称“航交所”…

针对硅基氮化镓高电子迁移率晶体管(GaN-HEMT)的准物理等效电路模型,包含基板中射频漏电流的温度依赖性

来源&#xff1a;Quasi-Physical Equivalent Circuit Model of RF Leakage Current in Substrate Including Temperature Dependence for GaN-HEMT on Si&#xff08;TMTT 23年&#xff09; 摘要 该文章提出了一种针对硅基氮化镓高电子迁移率晶体管&#xff08;GaN-HEMT&…

【算法】理解堆排序

堆排序&#xff0c;无疑与堆这种数据结构有关。在了解堆排序之前&#xff0c;我们需要先了解堆的建立与维护方法。 堆 堆&#xff08;二插堆&#xff09;可以用一种近似的完全二叉树来表示&#xff0c;该二叉树除了叶子结点之外&#xff0c;其余节点均具有两个子女&#xff0c…

HCIP--RIP协议的实验 + RIP笔记

RIP实验&#xff1a; 实验思路&#xff1a; 1.规划IP&#xff0c;配置环回&#xff0c;接口IP 2.在3个路由器上跑通rip; 2.在边界路由器上用rip协议 设置缺省路由&#xff1b; [r3]rip [r3-rip-1]default-route originate 3.在r1、r2的主干接口上设置路由汇总 RIPV2手工汇…

MySQL数据库的约束

MySQL对于数据库存储的数据, 做出一些限制性要求, 就叫做数据库的"约束". 在每一列的 列名, 类型 后面加上"约束". 一. not null (非空) 指定某列不能存储null值. 二. unique (唯一) 保证这一列的每行必须有唯一值. 我们可以看到, 给 table 的 sn 列插…

Ubuntu系统配置DDNS-GO【笔记】

DDNS-GO 是一个基于 Go 语言的动态 DNS (DDNS) 客户端&#xff0c;用于自动更新你的 IP 地址到 DNS 记录上。这对于经常变更 IP 地址的用户&#xff08;如使用动态 IP 的家庭用户或者小型服务器&#xff09;非常有用。 此文档实验环境为&#xff1a;ubuntu20.04.6。 在Ubuntu…

基于Django的博客系统之登录增加忘记密码(八)

需求 描述&#xff1a; 用户忘记密码时&#xff0c;提供一种重置密码的方法&#xff0c;以便重新获得账户访问权限。规划&#xff1a; 创建一个包含邮箱输入字段的表单&#xff0c;用于接收用户的重置密码请求。用户输入注册时使用的邮箱地址&#xff0c;系统发送包含重置密码…

量产导入 | 芯片测试介绍可靠性测试

作者:桃芯科技链接:https://picture.iczhiku.com/weixin/message1583129221975.html半导体芯片的defects、Faults 芯片在制造过程中,会出现很多种不同类型的defects,比如栅氧层针孔、扩散工艺造成的各种桥接、各种预期外的高阻态、寄生电容电阻造成的延迟等等,如下面图(1)…

Spring高手之路19——Spring AOP注解指南

文章目录 1. 背景2. 基于AspectJ注解来实现AOP3. XML实现和注解实现AOP的代码对比4. AOP通知讲解5. AOP时序图 1. 背景 在现代软件开发中&#xff0c;面向切面编程&#xff08;AOP&#xff09;是一种强大的编程范式&#xff0c;允许开发者跨越应用程序的多个部分定义横切关注点…

数据隐私重塑:Web3时代的隐私保护创新

随着数字化时代的不断深入&#xff0c;数据隐私保护已经成为了人们越来越关注的焦点之一。而在这个数字化时代的新篇章中&#xff0c;Web3技术作为下一代互联网的代表&#xff0c;正在为数据隐私保护带来全新的创新和可能性。本文将深入探讨数据隐私的重要性&#xff0c;Web3时…

解锁数据宝藏:高效查找算法揭秘

代码下载链接&#xff1a;https://gitee.com/flying-wolf-loves-learning/data-structure.git 目录 一、查找的原理 1.1 查找概念 1.2 查找方法 1.3平均查找长度 1.4顺序表的查找 1.5 顺序表的查找算法及分析 1.6 折半查找算法及分析 1.7 分块查找算法及分析 1.8 总结…