data2vec进行语音识别验证和微调时的环境配置——flashlight的安装

data2vec进行语音识别验证和微调时的环境配置——flashlight的安装,第1张

data2vec进行语音识别验证和微调时的环境配置——flashlight的安装
  • flashlight/binding/python 依赖安装
    • gcc7.5.0 安装
    • CMAKE 安装
    • FFTW3环境配置
    • kenlm安装
    • openBLAS安装
    • flashlight安装

flashlight/binding/python 依赖安装 gcc7.5.0 安装

参考:

https://blog.csdn.net/liaoze22/article/details/107821653

同时安装依赖库gmp-6.1.0,mpfr-3.1.4,mpc-1.0.3
编译gcc时LIBRARY_PATH不能含有当前路径,LD_LIBRARY_PATH以冒号结尾,GCC不赞成该冒号。 还应确保C_INCLUDE_PATH不以冒号结尾,以避免出现相关问题。 方法如下:

方法一:

重新export LIBRARY_PATH和C_INCLUDE_PATH 尾部不含冒号

方法二:

export LIBRARY_PATH=$ (echo $ LIBRARY_PATH | sed ‘s/: $ //; s/^://;’)

建议使用方法二
安装gcc后查看当前gcc和g++版本:

gcc -v
# gcc version 7.5.0 (GCC) 
g++ -v
# gcc version 7.5.0 (GCC) 

若当前有多个版本gcc,建议安装flashligth时在当前shell下执行:

(data2vec171) [yg@gpu04 python]$ export CC=/Work21/2020/yangyanbing/data2vec/tools/gcc-7.5.0/bin/gcc
(data2vec171) [g@gpu04 python]$ export CXX=/Work21/2020/yangyanbing/data2vec/tools/gcc-7.5.0/bin/g++
CMAKE 安装

打开cmake官方下载网址http://www.cmake.org/cmake/resources/software.html,下载最新版本,有两种类型的下载:Source distributions,源码版本,需要自己编译;Binary distributions,二进制版本,无需自己编译;下载BInary distribution版:

tar -zxvf cmake-3.23.0-linux-x86_64.tar.gz

添加路径到环境变量

vim ~/.bashrc
export PATH="/your_install_path/cmake-3.23.0-linux-x86_64/bin:$PATH"
:wq
source ~/.bashrc

检查是否安装成功

(base) [yangyanbing@mu01 work21]$ cmake --version
cmake version 3.23.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
FFTW3环境配置

首先下载FFTW3下载地址:http://www.fftw.org/download.html,下载fftw-3.3.10.tar.gz压缩包,解压后进行make。
FFTW3官方所给的安装步骤如下:

 tar -zxvf fftw-3.3.10.tar.gz
 cd fftw-3.3.10/
 ./configure --prefix=/where/you/installed/MPICH/lib #不写会直接安装到/usr/bin/lib里面
 make -j 4
 make install
 #然后把FFTW3LibraryDepends.cmake文件和FFTW3Config.cmake文件复制到你的安装目录底下

但是这样安装会出现问题,会找不到FFTW3的依赖库:


参考flashlight中的问题130:

https://github.com/FFTW/fftw3/issues/130

建议使用cmake安装,以下是没有sudo权限时候所执行的命令:

 tar -zxvf fftw-3.3.10.tar.gz
 cd fftw-3.3.10/
 mkdir -p build
 cd build
 #用cmake进行编译 -DCMAKE_INSTALL_PREFIX 代表使用cmake安装到的路径,不设置的会安装到/usr/local/lib底下 如果没有权限则会导致安装出错
 cmake -DCMAKE_INSTALL_PREFIX=/your_install_path/fftw-3.3.10 ..
 make -j 4
 make install
 #然后把FFTW3LibraryDepends.cmake文件和FFTW3Config.cmake文件复制到你的安装目录底下

需要修改flashilight/flashlight/lib/audio/feature/CMakeLists.txt的FFTW3路径:
在find_package(FFTW3 REQUIRED)前添加:

set(FFTW3_DIR “/your_install_path/fftw-3.3.10//lib64/cmake/fftw3”)
set(FFTW3_LIBRARYS “/your_install_path/fftw-3.3.10/lib64”)
set(FFTW3_INCLUDES “/your_install_path/include”)

或者在当前目录下执行:

export FFTW3_DIR=/your_install_path/

否则会出错,你的cmake可能找不到FFTW3的位置。

若出现fftw3.h库找不到的问题,可能是cmake搜索库的路径不对,在当前安装目录下手动import:

export C_INCLUDE_PATH=/yourpath/fftw-3.3.10/include
export CPLUS_INCLUDE_PATH=/yourpath/fftw-3.3.10/include

当你有sudo权限时,执行以下安装命令即可:

 tar -zxvf fftw-3.3.10.tar.gz
 cd fftw-3.3.10/
 mkdir build & cd build
 cmake ..
 make -j 4
 make install
 sudo cp FFTW3LibraryDepends.cmake /usr/local/lib/cmake/fftw3/
kenlm安装

在这里kenlm的安装参考了:

https://blog.csdn.net/weixin_42069606/article/details/120718389
https://blog.csdn.net/Nicholas_Wong/article/details/80013547

在安装和编译kenlm之前请确保已经安装了Boost库:参考网站https://www.boost.org/doc/libs/1_67_0/more/getting_started/unix-variants.html。从网站https://www.boost.org/users/history/version_1_67_0.html下载boost_1_67_0.tar.bz2。
以及确保安装libbz2-dev和liblzma-dev

安装上述依赖之后再进行对kenlm的编译和安装。
如果你不是有用sudo权限的用户,请把kenlm的路径添加到flashlight/flashlight/text/lm/CMakeLists.txt:

set(KENLM_ROOT “/your_install_path/kenlm/”)
或者export:
export KENLM_ROOT=/your_isntall_path

或者在你的环境变量中声明:

export PATH =/your_install_path/kenlm/build/bin:$PATH

但是我在安装的时候即使环境变量里声明了kenlm也找不到,所以建议用expor或者是set的方式对kenlm的路径进行设置,当然如果/usr/local/lib里面有的话就不用声明也不用装

openBLAS安装

openBLAS的安装很简单,这里使用源码安装,安装时和后续安装flashlight时也没有报错:

 git clone https://github.com/xianyi/OpenBLAS.git
 cd OpenBLAS
 make -j8
 make PREFIX=/your_install_path/ install

然后再环境变量里添加export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your_instalkl_path/OpenBLAS/lib/,最后source一下就可以了。

flashlight安装

下载flashlight 并进入bindngs/python

git clone https://github.com/flashlight/flashlight.git && cd flashlight
cd bindings/python

确保你的Linux上有cuda,并且版本最最好大于9.2,可以使用nvcc -v查看当前cuda版本,然后再当前目录下export库路径,最后执行python setup.py install

(data2vec171) [yg@gpu04 data2vec]$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Wed_Jul_22_19:09:09_PDT_2020
Cuda compilation tools, release 11.0, V11.0.221
Build cuda_11.0_bu.TC445_37.28845127_0
(data2vec171) [yg@gpu04 python]$ export CC=/your_path/gcc-7.5.0/bin/gcc
(data2vec171) [yg@gpu04 python]$ export CXX=/your_path/gcc-7.5.0/bin/g++
(data2vec171) [yg@gpu04 python]$ python setup.py install

重启环境之后,尝试在python里面引用包:


import不报错就成功了,可以尝试运行exmaple

cd [flashlight]
# with cpu backend
python3 bindings/python/example/criterion_example.py --cpu
# with gpu backend
python3 bindings/python/example/criterion_example.py

如果你像我一样是一个没有sudo权限的而且集群gcc版本低得研究僧,你可能python交互执行时运行没问题,但是在运行python XXX.py时报错:


但是你发现在你的conda环境底下这个库他是有的:

参考:

https://nekodaemon.com/2021/01/22/%E4%BF%AE%E5%A4%8D%E9%94%99%E8%AF%AFversion-GLIBCXX-3-4-20-not-found%E7%9A%84%E6%80%9D%E8%B7%AF/

进行vim ~/.bashrc添加环境变量:

source后再次运行:

flashlight终于安装成功了!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/740169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存