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

群晖中相册管理 immich大模型的使用

       相对于其他的相册管理软件,Immich的智能搜索和人脸识别功能是其优势,通过应用机器学习模型,其智能搜索和人脸识别功能更为先进。

一、大模型的下载与安装

       网上有大佬提供了相关大模型的下载:https://url22.ctfile.com/d/58003522-62058436-b932de?p=4215

        其中Roberta-Large-Vit-B-16Plus.zip是中文搜索要用的大模型,buffalo_l.zip是人脸检测的大模型。ViT-B-32__openai.zip好像是提取中文地址用的,好像不用也行,不知是不是新版immich已经自动支持中文地图和中文地址了。

       搜索模型也有较多版本,这个比较大,近5G,下载太慢,我先在网上找了个2.24G的。人脸检测模型也有很多,这只是其中一种,究竟那个效果要好一些,可能要自己试试才知道。下载后要上传到相应文件夹中。我是在/volume1/docker/immich下建了个model-cache文件夹,文件结构如下:

注意下载的文件要解压缩,子目录参考如下(也许不同版本有不同的目录结构,我的人脸检测还下载有另一个模型antelopev2):

       注意:各个模型上传好后,要把immich停用,然后再重新构建,也许模型才生效。

二、人脸识别及元数据的提取

        打开immich:用你NAS的IP加端口号如192.168.1.100:2283,打开immich客户端,登录后在右边的帐户各下点击系统管理,进入任务界面。

       运行人脸检测,对帐户中的照片进行人脸检测,完成后再根据人脸进行分组。如果照片比较多,这个过程会比较长。

       点击左上角,回到照片界面,点击下面的探索,可以看到人物、地点等,说明人脸检测、人脸识别成功。如对人脸头像不满意,还可以更换头像。

          而地点的出现,说明提取元数据也完成了。

            人脸检测设置比较简单,只需在任务设置里选择好模型就好。

三、智能搜索的设置

        智能搜索的设置就要复杂的多,我是设置后又花了太长时间运行,然后用文字一搜索,竟然没有成功。后来反思,应是以前用的模型有问题,而我也没找到大模型加载成功与否的判断方法,白白在大夏天让电脑在高温下运行了N长的时间。某种程度来说,这才是我写这篇文章的初衷和动力,希望和我一样的菜鸟少走一些弯路。

        首先要在任务设置中打开智能搜索,并将默认的不支持中文的模型替换成现在的模型XLM-Roberta-Large-Vit-B-16Plus。

       其次,还要修改配置文件docker-compose.yml。

         将 - model-cache:/cache改为   - ./model-cache:/cache。大致意思是将当前目录(immich)下的 model-cache目录映射为cache目录(可能在运行人脸识别前就应修改此处)。同样保存后要重新构建immich 项目。

       重新构建项目后,模型XLM-Roberta-Large-Vit-B-16Plus究竟有没正确加载呢?有的网文说要看immich_machine_learning的日志中是否有load XLM-Roberta-Large-Vit-B-16Plus之类。       

        刚才有又重新查看了日志,应该是说明加载成功了:

        但我重新下载模型并重启immich项目时等了好长时间,一直没有任何关于 XLM-Roberta-Large-Vit-B-16Plus的提示:

        为了判断模型加载是否成功,我就在探索中输入中文内容搜索,同时打开终端机,终于发现了我所想要的内容。同时搜索结果也出来了:

        虽然智能搜索还没有运行完成,所以相关数据库还没有建立,这些搜索应是实时搜索,但结果还是很快,准确度也还行。也许数据库建立后,中文搜索会更迅速更准确吧。这才是我们花大量时间部署immich的初衷。

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

相关文章:

  • 更适合后端宝宝的前端三件套之CSS
  • Node.js链接MySql
  • 前端笔记之 async/await 异步编程详解
  • 反射机制的登录系统
  • MyUI会员排名VcMember组件文档
  • Java并发编程痛点解析:从底层原理到实战解决方案
  • Axure RP 10 预览显示“无标题文档”的空白问题探索【护航版】
  • 【密码学】1. 引言
  • vue3引入cesium完整步骤
  • 深入Java注解:从内置到元注解与自定义实战指南
  • STM32-CAN
  • 开发避坑短篇(2):uni-app微信小程序开发‘createIndependentPlugin‘模块缺失问题分析与解决方案
  • 初探:C语言FILE结构之文件描述符与缓冲区的实现原理
  • iOS OC 图片压缩
  • CityEngine自动化建模
  • Java面试宝典:Maven
  • 片上网络(NoC)拓扑结构比较
  • 现代R语言机器学习:Tidymodel/Tidyverse语法+回归/树模型/集成学习/SVM/深度学习/降维/聚类分类与科研绘图可视化
  • PHP:经典与现代交融的Web开发利器
  • 生成式引擎优化(GEO)核心解析:下一代搜索技术的演进与落地策略
  • 超简单linux上部署Apache
  • UDP协议介绍
  • 深入理解Linux文件操作:stdin/stdout/stderr与C语言文件函数全解析
  • IDEA 2020.1版本起下载JDK
  • 基于 Docker 及 Kubernetes 部署 vLLM:开启机器学习模型服务的新篇章
  • Docker --privileged 命令详解
  • Jenkins+Docker+Git实现自动化CI/CD
  • [2025CVPR-目标检测方向]FSHNet:一种用于3D物体检测的全稀疏混合网络。
  • vue2 面试题及详细答案150道(41 - 60)
  • Linux系统安装Docker及部署Node.js 20.15.0(含pnpm、pm2)完整指南