Coral.ai开发板运行demo报错Failed to load delegate from libedgetpu.so.1
解决方案
1. 临时解决资源占用问题
每次执行demo前先清理占用apex设备的残留进程:
- 执行
lsof /dev/apex_0查询占用设备的进程PID - 执行
kill -9 <对应PID>强制结束残留进程,之后即可正常启动demo
如果需要简化操作,可以写一键执行脚本:
#!/bin/bash sudo lsof /dev/apex_0 | awk 'NR>1 {print $2}' | xargs -r sudo kill -9 edgetpu_demo --stream
2. 修复libedgetpu版本兼容问题
彻底卸载旧版本依赖并重装官方最新组件:
- 执行卸载命令:
sudo apt purge -y libedgetpu1-std python3-pycoral edgetpu-examples - 清理残余库文件:
sudo rm -rf /usr/lib/aarch64-linux-gnu/libedgetpu* - 重装最新组件:
sudo apt update && sudo apt install -y libedgetpu1-std python3-pycoral edgetpu-examples - 执行
ldconfig -p | grep libedgetpu确认库链接正常
3. 解决sudo运行GUI程序报错问题
sudo报Unable to init server是因为root用户没有X11显示权限,执行前先运行:xhost +local:root
即可正常用sudo启动demo,需要永久生效可将上述命令添加到~/.bashrc文件末尾。
4. 永久修复设备未自动释放问题
通过udev规则实现设备释放后自动重置,解决重复运行报错问题:
- 新建udev规则文件:
sudo nano /etc/udev/rules.d/99-apex-reset.rules - 写入以下内容:
SUBSYSTEM=="apex", MODE="0660", GROUP="apex", RUN+="/bin/sh -c 'echo 1 > /sys/$devpath/reset'" - 保存退出后重载规则:
sudo udevadm control --reload-rules && sudo udevadm trigger
重启设备后即可正常重复运行所有Edge TPU demo。
内容的提问来源于stack exchange,提问作者LinuxRookie
相关产品推荐
相关产品推荐

