wav2letter++ 环境安装记录

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。

附上不完全安装的依赖应用。

arrayfire
ArrayFire-v3.6.4_Linux_x86_64.sh
boost_1_64_0
flashlight
glog
gloo
googletest
intel_sdk_for_opencl_applications_2019.4.314
kenlm
libsndfile
luajit-rocks
mkl-dnn
old-mkldnn(回退v0.20.3)
openmpi-2.1.2
openmpi-4.0.1
tbb
wav2letter
xz-5.2.4

环境变量参考:

export PATH=/opt/intel/bin:$PATH
export MKL_INC_DIR=/opt/intel/mkl/include
export INTEL_DIR=/opt/intel/lib/intel64
export MKL_DIR=/opt/intel/mkl/lib/intel64
export LD_LIBRARY_PATH=/opt/intel/lib/intel64:/opt/intel/mkl/lib/intel64:/usr/lib/openmpi/lib:$LD_LIBRARY_PATH
export CMAKE_LIBRARY_PATH=$LD_LIBRARY_PATH
export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:$MKL_INC_DIR
export PATH=/opt/software/xz/bin:$PATH
export MKLROOT=/opt/intel/mkl
export MPI_CXX_COMPILER=$HOME/usr/bin/mpicxx
export MPI_CXX_LIBRARIES=$HOME/usr/lib/openmpi/lib
export MPI_CXX_INCLUDE_PATH=$HOME/usr/include/openmpi/include
export KENLM_ROOT_DIR=/home/machinelearning/kenlm
source /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 update
sudo 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 \
    ```
    

你可能感兴趣的:(linux,asr)