- flashlight/binding/python 依赖安装
- gcc7.5.0 安装
- CMAKE 安装
- FFTW3环境配置
- kenlm安装
- openBLAS安装
- flashlight安装
参考:
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终于安装成功了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)