Coral开发板运行edgetpu_detect_server报错AttributeError如何解决
问题排查解决步骤
- 错误根因:报错由标签文件加载逻辑匹配失败触发,edgetpu_detect_server要求标签文件每行严格符合
数字ID 标签名称的格式,任意行格式不符合(空行、注释、格式错位)都会导致正则匹配返回None,调用groups方法时抛出异常。
1. 修正命令路径参数
你将模型和标签文件存放在/all_models目录,直接执行命令默认从当前终端工作目录读取文件,大概率会找不到对应文件或读取到错误文件,直接传入绝对路径即可:
edgetpu_detect_server --model /all_models/ssd_mobilenet_v2_coco_quant_postprocess_edgetpu.tflite --labels /all_models/coco_labels.txt
修改后运行仍报错则执行后续排查。
2. 校验标签文件格式
执行以下命令检查标签文件中不符合格式要求的行:
# 检查是否存在空行 grep -n '^$' /all_models/coco_labels.txt # 检查是否存在不符合「数字+空格+内容」格式的行 awk '!/^[0-9]+ .+$/' /all_models/coco_labels.txt
如果命令输出了对应行号,直接删除错误行或调整为符合要求的格式即可。
3. 替换为官方标准标签文件
自行下载的标签文件大概率存在格式适配问题,直接安装官方示例包替换标签文件即可:
sudo apt install edgetpu-examples cp /usr/share/edgetpu/examples/models/coco_labels.txt /all_models/
4. 补全运行依赖
当前你仅安装了tflite-runtime,缺少edgetpu运行所需的完整依赖,执行以下命令补全:
sudo apt install libedgetpu1-std edgetpu-demos python3-edgetpuvision
完成后重新运行命令即可正常启动。
内容的提问来源于stack exchange,提问作者jeb2
相关产品推荐
相关产品推荐

