jetson nano 安装 snowboy 遇到的问题及处理

Snowboy 是 KITT.AI 开发的一个高度可定制的热词检测引擎,当笔者的 jetson nano 加上话筒后,就立马尝试安装,但在安装过程中却发生了错误,所以把处理方式记录了下来以作备忘。

首先,按 Snowboy 官方文档 编译安装 swig-3.0.10 和克隆 snowboy 代码过程都很顺利

sudo apt-get install sox libpcre3 libpcre3-dev libatlas-base-dev &&
sudo pip install pyaudio

# 下载 swig-3.0.10,https://sourceforge.net/projects/swig/files/swig/swig-3.0.10/

tar -xvzf swig-3.0.10.tar.gz
cd swig-3.0.10/
./configure --prefix=/usr --without-clisp --without-maximum-compile-warnings
make
sudo make install
sudo install -v -m755 -d /usr/share/doc/swig-3.0.10
sudo cp -v -R Doc/* /usr/share/doc/swig-3.0.10
git clone https://github.com/Kitt-AI/snowboy

但在编译 snowboy 代码的 swig/Python3 时发生错误

cd swig/Python3
sudo make

出错信息

../..//lib/ubuntu64/libsnowboy-detect.a: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
Makefile:73: recipe for target ‘_snowboydetect.so‘ failed
make: *** [_snowboydetect.so] Error 1

google 后,发现原来 Makefile 那里少了对 ARM 的判断,需要加上下面图片红框的判断:

nano Makefile

判断的文本:

  ifneq (,$(findstring aarch64,$(shell uname -m)))
      SNOWBOYDETECTLIBFILE = $(TOPDIR)/lib/aarch64-ubuntu1604/libsnowboy-detect.a
  endif 

然后再编译

sudo make

可以看到编译成功了

g++ -I../../ -O3 -fPIC -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++0x  -shared snowboy-detect-swig.o ../..//lib/aarch64-ubuntu1604/libsnowboy-detect.a -L/usr/lib/python3.6/config-3.6m-aarch64-linux-gnu -L/usr/lib -lpython3.6m -lpthread -ldl  -lutil -lm  -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lm -ldl -lf77blas -lcblas -llapack -latlas -o _snowboydetect.so

再将在 snowboy.kitt.ai 上生成的热词放在 examples/Python3 下尝试运行,又发生了一个错误(笔者的热词文件为 tortoise.pmdl)

[email protected]:~/temp/github/snowboy/examples/Python3$ python3 demo.py tortoise.pmdl
Traceback (most recent call last):
  File "demo.py", line 1, in <module>
    import snowboydecoder
  File "/home/jetbot/temp/github/snowboy/examples/Python3/snowboydecoder.py", line 5, in <module>
    from . import snowboydetect
ImportError: attempted relative import with no known parent package

这时需要修改 snowboydecoder.py

nano snowboydecoder.py

from . import snowboydetect

替换为

import snowboydetect

最后,再运行一下 demo.py,已经能成功检测热词了

[email protected]:~/temp/github/snowboy/examples/Python3$ python3 demo.py rtoise.pmdl
Listening... Press Ctrl+C to exit
INFO:snowboy:Keyword 1 detected at time: 2020-02-23 09:38:07

参考文章:

Jetson Nano Developer Kit Snowboy

原文地址:https://www.cnblogs.com/lly277365/p/12348583.html

时间: 2024-08-30 10:02:33

jetson nano 安装 snowboy 遇到的问题及处理的相关文章

Jetson Nano安装 Jupyter lab

1,先安装一些依赖 sudo apt install nodejs npm 2,安装pip3包管理器 sudo apt install python3-pip 3,安装jupter lab pip3 install jupyter jupyterlab 4,重启 sudo reboot 5,启动jupyter lab 现在,已经安装好.在命令行输入jupyter lab命令, 即可启动jupyter lab. 但是会出现两个问题: 1,浏览器输入 localhost:8888 可以访问Jupyt

Tensorflow的安装和使用——Jetson Nano 初体验3

目录 1.安装 Jupyter notebook 和 Jupyter Lab 1.1 安装pip3 1.2 安装 Jupyter notebook 1.3 启动 notebook 服务器并配置远程访问 1.3.1 配置Jupyter 1.3.2 启动 notebook 1.3.3 关闭 Jupyter 1.3.4 保存Notebook 1.4 Notebook用法 1.4.1 Markdown单元格 1.4.2 Magic关键词 1.5 Jupyter Lab 安装 1.5.1 安装Jupyte

[Jetson Nano]Jetson Nano快速入门

NVIDIA®JetsonNano™开发套件是适用于制造商,学习者和开发人员的小型AI计算机.相比Jetson其他系列的开发板,官方报价只要99美金,可谓是相当有性价比.本文如何是一个快速入门的教程,主要介绍如何安装Ubuntu系统到Jetson Nano开发板. 需要准备的材料 TF卡 (最少16GB) 带HDMI的显示器 USB鼠标键盘 Micro-USB 接口的电源(5V?2A) USB无线网卡(可选,用网线也可以) 烧写Ubuntun镜像 从英伟达官网下载SD卡镜像(5.25GB) 将T

Jetson TX2安装Jetpack 3.0注意事项

Jetson TX2安装Jetpack 3.0注意事项 nvidia jetson tx2配置caffe: http://blog.csdn.net/jiongnima/article/details/70040262 CSDN jiongnima博主的这篇文章非常详细完整,但是作为一个初次接触nvidia jetson TX2的人来说,还是会难免遇到一些困难,下面我在这篇文章的基础上,写一些我在安转Jetpack 3.0时遇到的问题,希望大家可以坐在以后的安装过程中规避这些问题:  1.在nv

Jetson TX2安装TensorFlow注意事项

Jetson TX2安装TensorFlow注意事项 在nvidia jetson TX 2上安装TensorFlow时,在使用下面教程进行安装时,可能会出现多次卡死在编译阶段:./buildTensorFlow.sh: nvidia jetson tx2 安装TensorFlow:http://www.ncnynl.com/archives/201706/1754.html 解决方法:引发该错误的原因是内存不足,可以通过通过Ubuntu中的swap分区分配2G虚拟内存,来解决内存不足的问题:

Jetson TX2安装tensorflow

Jetson TX2安装tensorflow 大致分为两步: 一.划分虚拟内存 原因:Jetson TX2自带8G内存这个内存空间在安装tensorflow编译过程中会出现内存溢出引发的安装进程奔溃 1. 创建8G大小的swapfile fallocate -l 8G swapfile 2. 更改swapfile的权限 chmod 600 swapfile 3. 创建swap区 mkswap swapfile 4. 激活swap区 sudo swapon swapfile 5. 确认swap区在

Jetson Nano系列教程1:烧写系统镜像

下载镜像 NVIDIA官方为Jetson Nano Developer Kit (后面统称为Jetson Nano了)提供了SD卡版本的系统镜像,并且根据JetPack版本不断得在更新.所以你可以直接到NVIDIA 下载中心,下载最新的镜像. 不过说实话,NVIDIA的下载环境对国内用户实在是不友好,所以我们准备了一个百度网盘版本(提取码:7rsi) 这个版本没有办法随时更新,所以最新版本还是以NVIDIA官网最为准. 镜像烧写 一般情况下,如果你手上的卡是新的,可以直接烧写,但是也不妨有些用户

Jetson Nano Building the Project from Source

https://github.com/dusty-nv/jetson-inference/blob/master/docs/building-repo-2.md Provided with the repo is a library of TensorRT-accelerated deep learning networks for image recognition, object detection with localization (i.e. bounding boxes), and s

Jetson tk1 安装 CUDA,ROS,OpenCV和kinect2以及刷机以及ssh远程控制

我的jetson tk1的系统是:LTR21.3,ubuntu14.04.本文仅仅是个人总结,亲测成功. 注意:如果你是使用校园网进行安装的话,有很多源是没办法访问的,安装的时候就会出现很多问题,所以,尽量使用外网,或者可以挂个VPN也可以. 首先,先设置好ubuntu的源:https://zhidao.baidu.com/question/1767307265343477300.html(设置成图片那样,全部打勾). 然后,安装的过程中碰到依赖包(libxxx)无法安装的,可以尝试一下强制安装