本文共 2332 字,大约阅读时间需要 7 分钟。
wav2letter是一个快速开源的语音识别工具集,是由facebook ai 研究所的语音团队开发,通过End to End(端到端)的ai模型,旨在实现Lexicon-free(无字典)语音识别的目标。
主要参考两篇中文的安装介绍:
Building wav2letter++ 安装依赖 https://www.jianshu.com/p/50a3100a5bca 开源自动语音识别系统wav2letter (附实现教程) https://blog.csdn.net/mazegong/article/details/79422816 因为本机没有nvdia的显卡,在安装mkldnn的时候参考了 intel mkldnn 安装及使用说明 https://www.cnblogs.com/qccz123456/p/11497006.html 安装过程遇到了很多问题,包括被迫升级16.04,由于安装目录找不到,环境变量没有设置等,cmake不过去,但结合国内外网站玩家指引,大都能搞过去。但穷用不起显卡来学习,希望安装mkl和mkl dnn库的时候遇到了很多坑,走了比较多的弯路,幻想用cuda的亲们肯定么有这么郁闷。实际上安装mkldnn是最坑的事情,目前github上最新的更名为Deep Neural Network Library (DNNL),如果默认安装上的话,等到装flashlight会报错误,而且是找不到libmkldnn.so的错误,因为新的命名方式改变了,所以需要回退到之前,又报对象定义的错误,折腾了几次,确认v0.20.3可以顺利编译通过了。吐槽一下intel升级的太狠了,自嘲一下穷人把五菱宏光当法拉利来开,就得忍受一下,谁让洛阳纸贵,现在nvdia的显卡就是当前的洛阳宣纸吧。
总体来说,这个应用集依赖很多,安装起来有点费劲,建议prefix之类的宏尽量不用,除非你很熟悉linux。
附上不完全安装的依赖应用。
arrayfireArrayFire-v3.6.4_Linux_x86_64.shboost_1_64_0flashlightgloggloogoogletestintel_sdk_for_opencl_applications_2019.4.314kenlmlibsndfileluajit-rocksmkl-dnnold-mkldnn(回退v0.20.3)openmpi-2.1.2openmpi-4.0.1tbbwav2letterxz-5.2.4
环境变量参考:
export PATH=/opt/intel/bin:$PATHexport MKL_INC_DIR=/opt/intel/mkl/includeexport INTEL_DIR=/opt/intel/lib/intel64export MKL_DIR=/opt/intel/mkl/lib/intel64export LD_LIBRARY_PATH=/opt/intel/lib/intel64:/opt/intel/mkl/lib/intel64:/usr/lib/openmpi/lib:$LD_LIBRARY_PATHexport CMAKE_LIBRARY_PATH=$LD_LIBRARY_PATHexport CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:$MKL_INC_DIRexport PATH=/opt/software/xz/bin:$PATHexport MKLROOT=/opt/intel/mklexport MPI_CXX_COMPILER=$HOME/usr/bin/mpicxxexport MPI_CXX_LIBRARIES=$HOME/usr/lib/openmpi/libexport MPI_CXX_INCLUDE_PATH=$HOME/usr/include/openmpi/includeexport KENLM_ROOT_DIR=/home/machinelearning/kenlmsource /usr/share/linux_intel64_gcc_cc5.4.0_libc2.23_kernel4.4.0_release/tbbvars.sh
https://github.com/facebookresearch/wav2letter/blob/master/docs/installation.md
从git hub上收集的apt-get软件依赖。sudo apt-get updatesudo apt-get install \ # Audio encoding libs for libsndfile \ libasound2-dev \ libflac-dev \ libogg-dev \ libtool \ libvorbis-dev \ # FFTW for Fourier transforms \ libfftw3-dev \ # Compression libraries for KenLM \ zlib1g-dev \ libbz2-dev \ liblzma-dev \ libboost-all-dev \ # gflags \ libgflags-dev \ libgflags2v5 \ # glog \ libgoogle-glog-dev \ libgoogle-glog0v5 \ ```