TrueNas Scale配置immich集成GPU硬件加速,用于智能模型,人脸识别,OCR文本识别加速

作者:小黑小黑白日期:2025/11/8

本文主要描述在TrueNas Scale中,为Immich应用配置GPU硬件加速的踩坑记录,旨在加速immich的人脸识别,ocr识别等智能模型推理,欢迎沟通讨论~

前言

自从TrueNas Scale从Electric Eel 24.10.1版本由k3s转docker之后,对于容器镜像的操作更加方便,immich的快速迭代与truenas scale的兼容适配也更好,之前immich导入本地模型,pod重启消失的问题也优化了。随着最近immich的OCR文本识别的功能集成,针对历史图片的机器学习识别任务变得十分耗时,于是想着将原本靠CPU跑的机器学习,转到GPU上从而实现硬件加速。

集成GPU

  1. 在 TrueNAS SCALE 上为应用启用 NVIDIA GPU:
    验证 GPU 检测:
    通过运行lspci | grep NVIDIA 确保 TrueNAS 看到了你的 NVIDIA 显卡。
  2. 为 Docker 启用 NVIDIA:
    使用以下命令配置 Docker 使用 NVIDIA 运行时:
    midclt call -j docker.update '{"nvidia": true}'
  3. 重启 TrueNAS:
    重启 TrueNAS 系统以应用 Docker 更改。
  4. 验证 Docker NVIDIA 运行时:
    通过运行 docker info | grep -i nvidia 确认 Docker 配置正确。你应该看到 nvidia 列在 Runtimes 中,并且是默认运行时。

识别 GPU UUID: 使用 nvidia-smi -L 获取 NVIDIA GPU 的 UUID。

1GPU 0: Tesla T10 (UUID: GPU-2fa76313-8ba3-088c-96ce-150593b6d036)
2

请添加图片描述
5. 编辑immich,勾选列表的GPU启动即可

如果GPU名称是null,或者不展示GPU或者启动报错往下继续操作

如果不显示GPU,或者GPU名称是null,勾选后启动报错继续往下看
使用 UUID 更新应用程序配置: 对于每个需要 GPU 访问的应用程序,使用 midclt call app.update 命令显式链接应用程序资源中的 GPU PCI 插槽和 UUID。将 APP_NAME、PCI_SLOT 和 GPU_UUID 替换为你特定的值

例如:

1midclt call -j app.update immich '{"values": {"resources": {"gpus": {"use_all_gpus": false, "nvidia_gpu_selection": {"0000:03:00.0": {"use_gpu": true, "uuid": "GPU-2fa76313-8ba3-088c-96ce-150593b6d036"}}}}}}'
2

重启应用程序: 更新配置后重启immich应用程序。

重启后运行机器学习任务,查看GPU:
在这里插入图片描述
机器学习任务日志输出:
请添加图片描述



TrueNas Scale配置immich集成GPU硬件加速,用于智能模型,人脸识别,OCR文本识别加速》 是转载文章,点击查看原文


相关推荐


Jackson视图神技:一个DTO干掉N个DTO,告别DTO爆炸问题
风象南2025/11/6

前言 在API开发中,你是否遇到过这样的困扰: 列表页只需要用户的id和name 详情页需要显示用户的所有字段 管理员页面需要看到敏感信息 于是你开始创建各种DTO: UserSummaryDTO、UserDetailDTO、UserAdminDTO... 最终导致DTO类"爆炸",代码维护成本激增。 今天分享一个被90%开发者忽略的Jackson"神技"——Jackson Views,用1个DTO + 注解,优雅解决API响应数据的多场景展示问题。 痛点场景 让我们先看一个典型的业务场景


🚀 2025 年 10 月 GitHub 十大热门项目排行榜 🔥
一点一木2025/10/31

欢迎来到 2025 年 10 月 GitHub 热门开源项目排行榜!本期榜单精选了十个备受关注的仓库,横跨从提示工程教程、桌面代理框架、Claude 实用指南到金融 AI 分析、知识记忆引擎与云存储的多样化场景。这些项目不仅强化了 AI 学习路径、代理自主性与隐私保护,还为开发者提供了高效的集成工具与实验平台,推动开源从理论探索向生产级应用加速转型。 prompt-eng-interactive-tutorial 🌟 Star 数:25.3K+ 📚 Anthropic 开源的交互式提示工


【EI复现】基于深度强化学习的微能源网能量管理与优化策略研究(Python代码实现)
荔枝科研社2025/10/29

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 📋📋📋本文目录如下:🎁🎁🎁 💥1 概述 文献来源: 根据微电网或微能源网是否与主电网相连接,可将其分为并网型和独立型 2 种。本文以并网型微 能源网为研究对象,研究其并网运行的能量管理与优化问题。目前,针对微能源网的能量管理,从算法上来讲,多结合最优化算法或者启发


Python 的内置函数 dir
IMPYLH2025/10/26

Python 内建函数列表 > Python 的内置函数 dir Python 的内置函数 dir() 是一个非常有用的工具函数,主要用于获取对象的属性和方法列表。该函数在不同使用场景下会返回不同类型的信息: def dir(obj): ''' 返回对象的成员列表 :param obj: 一个对象 :return: 对象的成员列表 ''' 不带参数使用时会返回当前作用域中的名称列表带参数使用时会返回指定对象的有效属性列表 典型应用场景包括:


JMeter对接口返回值进行AES解密
一半烟火以谋生2025/10/24

本文将从零开始,详细演示如何用JMeter实现接口返回值的AES解密,涵盖环境准备、脚本编写到结果验证的全流程。 1. 环境准备 安装JMeter:从官网下载最新版(建议5.4+)安装插件: 安装Custom JAR Functions插件(用于AES解密)将Apache Commons Codec库的JAR文件放入JMeter的/lib目录(提供Base64解码支持) 接口信息(示例): 接口地址:https://api.example.com/encrypted-data


AIGC-Fooocus部署实践:从本地手动配置到云端一键启用的深度剖析
Undoom2025/10/22

摘要: 本文旨在为人工智能生成内容(AIGC)领域的爱好者和开发者提供一份详尽的Fooocus部署指南。Fooocus作为一款基于Gradio的开源图像生成软件,凭借其简化的操作和高质量的输出,受到了广泛关注。我们将通过两种截然不同的部署路径——传统的本地手动环境配置与现代化的云平台一键部署——来全面探索Fooocus的落地过程。本文将深入剖析手动部署中的每一个步骤、每一条命令及其背后的技术逻辑,详细记录可能遇到的环境冲突与解决方案,并将其与云端部署的流畅体验进行客观对比,为读者在不同场景下选择


Orcad capture 原理图的电信号连接和符号
终身学习的暖男2025/10/21

电气连接相关的操作 绘制导线:Place -> Wire,快捷键【W】。 结束导线绘制:快捷键【Esc】,鼠标右键【End Wire】。 添加连接结点:Place -> Junction,快捷键【J】。 放置网络标号:Place -> Net Alias,快捷键【N】。 放置NA不连接点:Place -> No Connect,快捷键【X】。 总线:Place -> Bus,快捷键【B】(总线名称格式为 名称 + [],例如 BUS[0:5]、BUS[0-5]、BUS[0…5])。 总线分支:


告别数据混乱!掌握JSON与内置对象,让你的JS代码更专业
良山有风来2025/10/20

你是不是也有过类似的经历? 后端返回的数据看起来正常,但JS就是解析不了 日期显示成一串看不懂的数字,还得手动转换 处理复杂数据时写了无数循环,代码又长又难维护 本地存储数据后再读取,发现格式全乱了 别担心,今天我就带你彻底掌握JSON和JS内置对象的使用技巧。学完这篇文章,你不仅能轻松解决这些问题,还能写出更优雅、更专业的数据处理代码! JSON:数据交换的"普通话" 想象一下,你要跟一个外国朋友交流,但他说法语,你说中文,完全没法沟通怎么办?这时候就需要一种"通用语言"。 在编程世界里,


Java 怎么学习Kubernetes
自由的疯2025/10/19

学习 Kubernetes 可以是一项挑战,但也非常值得投入时间和精力,因为它在现代软件开发和运维中扮演着至关重要的角色。以下是一条结构化的学习路径,帮助你从零开始学习 Kubernetes,直至掌握其核心概念和实践技能。 1. 基础知识准备 1.1 了解容器技术 Docker:学习 Docker 是开始 Kubernetes 学习之旅的第一步。了解如何创建和管理容器,熟悉 Dockerfile 和 Docker Compose 的使用。 容器基础概念:理解容器与虚拟机的区别,了解容器的生命周


量子纠错(Quantum Error Correction, QEC)
deepdata_cn2025/10/17

量子纠错(QEC)是突破量子计算实用化瓶颈的核心技术,其本质是通过特殊编码和算法抵消量子比特的固有不稳定性,为容错量子计算奠定基础。从实验室的原理验证到特定领域的原型应用,量子纠错正逐步从理论走向实践,成为连接量子硬件与实用场景的关键桥梁。 一、量子纠错的核心价值 量子比特与经典比特最大的区别在于其脆弱性。经典比特的0和1状态稳定,而量子比特依赖叠加态(如|ψ⟩=α|0⟩+β|1⟩)和纠缠态存在,极易受环境干扰(如温度波动、电磁辐射、控制噪声)出现错误,即“退相干”——量子态会在微秒至毫秒级

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0