开发者
资源
鲲鹏Linux环境适配安装wenet 2.0.1参考(openEuler 20.03 LTS SP3)
鲲鹏Linux环境适配安装wenet 2.0.1参考(openEuler 20.03 LTS SP3)
发表于2023/08/02
8594

注:基于openEuler 20.03 LTS SP3系统(联网环境)。

1 安装conda

参考 鲲鹏Linux环境安装conda参考

2 安装python3和依赖

dnf -y install python3 python3-devel

3 获取wenet源码

wget https://github.com/wenet-e2e/wenet/archive/refs/tags/v2.0.1.tar.gz --no-check-certificate

mv v2.0.1.tar.gz wenet-2.0.1.tar.gz

tar xf wenet-2.0.1.tar.gz

4 创建conda环境

/root/miniconda3/bin/conda create -n wenet python=3.7

image.png

/root/miniconda3/bin/activate wenet

image.png

5 进入wenet源码路径并安装依赖

cd wenet-2.0.1/

pip3 install -r requirements.txt

cke_204246.png

cke_225325.png

【注】wenet-2.1.0源码路径下除执行pip3 install -r requirements.txt外,执行pip3 install torch安装依赖;

6 编译libtorch

1)安装pytorch

/root/miniconda3/bin/conda install pytorch cpuonly -c pytorch

image.png

/root/miniconda3/bin/conda install pytorch=1.13.0 torchvision cudatoolkit=11.1 -c pytorch -c conda-forge

cke_186406.png

cke_175420.png

2)进入libtorch路径

cd runtime/server/x86/

3)创建build编译路径并进入执行cmake编译

mkdir build

cd build/

cmake ..

cke_154394.png

cke_141732.png

4)手动下载获取libtorch-shared-with-deps-1.13.0%2Bcpu.zip解压并替换../fc_base/路径下的libtorch-src文件夹

cd ../fc_base/

wget cid:link_0

cke_120735.png

rm -rf libtorch-src

mv libtorch libtorch-src

cke_104784.png

5)重命名libtorch-src路径下的lib文件夹(默认获取的libtorch中的so均为x86_64架构,无法在鲲鹏aarch64架构下使用

cd libtorch-src

mv lib lib-bak

cke_91324.png

6)创建新的lib文件夹并将aarch64的so拷贝进去

mkdir lib

cp -r /usr/local/lib64/python3.7/site-packages/torch/lib/* lib/

cke_75394.png

7)拷贝libtorch_cpu.so依赖的so库文件到lib路径

cp -r /usr/local/lib64/python3.7/site-packages/torch.libs/* lib/

cke_62809.png

8)拷贝重命名的lib-bak文件夹下的libkineto.a到lib路径下

cp lib-bak/libkineto.a lib/

cke_50276.png

9)执行cmake编译

cd ../../build/

cmake --build .

cke_32727.png

cke_17628.png

然后执行make install安装。

7 FAQ

1、执行cmake --build .报错“No rule to make target '../fc_base/libtorch-src/lib/libkineto.a', needed by 'api/libwenet_api.so'. Stop.”,具体报错如下

gmake[2]: *** No rule to make target '../fc_base/libtorch-src/lib/libkineto.a', needed by 'api/libwenet_api.so'. Stop. 

gmake[2]: Leaving directory '/root/wenet/runtime/libtorch/build' 

gmake[1]: *** [CMakeFiles/Makefile2:2317: api/CMakeFiles/wenet_api.dir/all] Error 2 

gmake[1]: Leaving directory '/root/wenet/runtime/libtorch/build' 

gmake: *** [Makefile:152: all] Error 2 

image.png

解决方法:

将重命名的lib-bak文件夹下的libkineto.a到lib路径下

cp ../fc_base/libtorch-src/lib-bak/libkineto.a ../fc_base/libtorch-src/lib/

2、执行cmake --build .报错“warning: libgomp-d22c30c5.so.1.0.0, needed by /root/wenet/runtime/libtorch/fc_base/libtorch-src/lib/libtorch_cpu.so, not found”等错误,具体报错如下:

[ 85%] Linking CXX executable label_checker_main 

/usr/bin/ld: warning: libgomp-d22c30c5.so.1.0.0, needed by /root/wenet/runtime/libtorch/fc_base/libtorch-src/lib/libtorch_cpu.so, not found (try using -rpath or -rpath-link) 

/usr/bin/ld: warning: libarm_compute-873be09e.so, needed by /root/wenet/runtime/libtorch/fc_base/libtorch-src/lib/libtorch_cpu.so, not found (try using -rpath or -rpath-link) 

/usr/bin/ld: warning: libarm_compute_graph-ab857ce5.so, needed by /root/wenet/runtime/libtorch/fc_base/libtorch-src/lib/libtorch_cpu.so, not found (try using -rpath or -rpath-link) 

/usr/bin/ld: warning: libarm_compute_core-0793f69d.so, needed by /root/wenet/runtime/libtorch/fc_base/libtorch-src/lib/libtorch_cpu.so, not found (try using -rpath or -rpath-link) 

image.png

解决方法:

拷贝libtorch_cpu.so依赖的so库文件到lib路径

cp -r /usr/local/lib64/python3.7/site-packages/torch.libs/* ../fc_base/libtorch-src/lib/

image.png

8 参考

  1. cid:link_1
  2. cid:link_6
  3. cid:link_3
  4. cid:link_4
  5. cid:link_5
收藏举报
Level 1
0
帖子
0
粉丝
0
获赞