『瀚思彼岸』» 智能家居技术论坛

标题: PVE8_LXC容器直通Coral TPU实现Frigate人体识别 [打印本页]

作者: guofanboy    时间: 2024-1-1 11:06
标题: PVE8_LXC容器直通Coral TPU实现Frigate人体识别
本帖最后由 guofanboy 于 2024-1-1 14:34 编辑

有坛友说出个教程,正好我也想记录一下,免得以后忘掉,在此先感谢@hass943,他的教程已经写的很详细了,我的大部分操作都是参考他的步骤,先放一下链接https://bbs.hassbian.com/thread-16985-1-1.html
还有@sorrypqa,他的配置文件写的很棒https://bbs.hassbian.com/thread-22228-1-1.html,给了我很大的参考。另外还有其他人的一些经验,就不一一说了。
因为坛里大部分都是新建虚拟机配置的frigate,效率上有所折扣,翻了翻外网,有人用LXC容器直通核显或者TPU,占用空间小,效率也高,貌似还可以一卡多用(未验证),就想尝试一下。
正文开始:
我的硬件环境:N4100主机,Coral TPU
软件环境:PVE8
一、创建LXC容器
详细过程不说了,网上教程大把,因为要支持Docker,所以无特权的容器要选否,先不要启动。这里得到一个容器号,假设是102。
二、PVE8安装Coral TPU驱动
先更新下软件包
  1. apt update
  2. apt upgrade
复制代码
安装pve headers和curl
  1. apt install pve-headers
复制代码
按官方文档安装驱动,参考:https://coral.ai/docs/m2/get-started/#2a-on-linux
  1. echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | tee /etc/apt/sources.list.d/coral-edgetpu.list
  2. curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
  3. apt-get update
复制代码
  1. apt-get install gasket-dkms libedgetpu1-std
复制代码

好了,如果你是PVE8,应该会报错
这个地方搞了我很久,参考:https://forum.proxmox.com/threads/update-error-with-coral-tpu-drivers.136888/
  1. apt remove gasket-dkms
  2. apt install git
  3. apt install devscripts
  4. apt install dh-dkms
  5. git clone https://github.com/google/gasket-driver.git
  6. cd gasket-driver/
  7. debuild -us -uc -tc -b
  8. cd ..
  9. dpkg -i gasket-dkms_1.0-18_all.deb
  10. apt update && apt upgrade
复制代码
没有报错的话,重启PVE
重启后验证一下安装是否成功
  1. lspci -nn | grep 089a
复制代码
正常会出现类似这样的东西
  1. 03:00.0 System peripheral: Device 1ac1:089a
复制代码
看看驱动加载是否成功
  1. ls /dev/apex_0
复制代码
正常的话会出现
  1. /dev/apex_0
复制代码
好了,可以进行下一步了
三、LXC容器设置直通
编辑PVE主机的 /etc/pve/lxc/102.conf(这个102是容器号,根据自己的进行修改,个人建议用WINSCP,vi太难用),参考:https://jack.barry.onl/blog/set-up-coral-pcie-for-frigate-running-on-proxmox-lxc
  1. vi /etc/pve/lxc/102.conf
复制代码
把以下代码放进去
  1. lxc.cgroup2.devices.allow: c 120:* rwm
  2. lxc.mount.entry: /dev/apex_0 dev/apex_0 none bind,optional,create=file
  3. lxc.mount.auto: cgroup:rw
复制代码
启动容器,验证是否直通成功
  1. ls /dev/apex_0
复制代码
同样出现
  1. /dev/apex_0
复制代码
就代表成功了
四、Frigate安装
根据官网说明安装,略
五、Frigate设置,参考:https://jack.barry.onl/blog/set-up-coral-pcie-for-frigate-running-on-proxmox-lxc
Docker compose配置文件修改
  1. version: "3.9"
  2. services:
  3.   frigate:
  4.   # other config settings
  5.   devices:
  6.     - /dev/apex_0:/dev/apex_0
复制代码
config.yml文件修改
  1. detectors:
  2.   coral:
  3.     type: edgetpu
  4.     device: pci
复制代码
六、重启Frigate,搞定!
再次感谢给我们分享经验的网友!
下一步打算搞个人脸识别,最好也能用上Coral TPU,目前有点性能过剩,有做过或者了解的请留言或私信我,感谢!


作者: godzqh    时间: 2024-1-1 11:16
Frigate+deepstack+double-take 效果一般般
作者: guofanboy    时间: 2024-1-1 11:28
本帖最后由 guofanboy 于 2024-1-1 11:29 编辑
godzqh 发表于 2024-1-1 11:16
Frigate+deepstack+double-take 效果一般般

deepstack效果还一般?compreface外网说好像还不如deepstack你本地光线环境怎么样?识别是不是跟光照也有关系?
再还有坛里分享的虹软科技,还有一个faces-search,这两个不知道怎么样

作者: 360341024    时间: 2024-1-4 10:03
TPU买的哪个 多少钱到手的
作者: guofanboy    时间: 2024-1-4 11:03
360341024 发表于 2024-1-4 10:03
TPU买的哪个 多少钱到手的

minipcie的,小黄鱼270
作者: sorrypqa    时间: 2024-1-4 11:46
非常不错,学习一下,谢谢分享!
作者: gx19970920    时间: 2024-3-25 08:44
厉害,弄了好几天,昨晚弄一晚上卡在ls /dev/apex_0 提示没有目标,我就会运行到 debuild -us -uc -tc -b
之后的命令不知道,今天看到你的帖子,真是帮大忙 !
作者: 新生活    时间: 2024-4-16 22:42
谢谢分享,mark以后学习
作者: blobman    时间: 2024-11-14 19:39
guofanboy 发表于 2024-1-1 11:28
deepstack效果还一般?compreface外网说好像还不如deepstack你本地光线环境怎么样?识别是不是跟 ...

deepstack我这试了效果的确很差劲,compreface好一些,当然我是小白,没有调节模型什么的
作者: someoneelse    时间: 2025-1-25 22:11
Coral跑Frigate的模型,功耗、性能怎么样?
作者: guofanboy    时间: 2025-1-28 22:20
someoneelse 发表于 2025-1-25 22:11
Coral跑Frigate的模型,功耗、性能怎么样?

性能绝对够用,功耗手头没设备没法测,只能说12V1A的适配器带整机没问题




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5