注:基于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

/root/miniconda3/bin/activate wenet

5 进入wenet源码路径并安装依赖
cd wenet-2.0.1/
pip3 install -r requirements.txt


【注】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

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


2)进入libtorch路径
cd runtime/server/x86/
3)创建build编译路径并进入执行cmake编译
mkdir build
cd build/
cmake ..


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

rm -rf libtorch-src
mv libtorch libtorch-src

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

6)创建新的lib文件夹并将aarch64的so拷贝进去
mkdir lib
cp -r /usr/local/lib64/python3.7/site-packages/torch/lib/* lib/

7)拷贝libtorch_cpu.so依赖的so库文件到lib路径
cp -r /usr/local/lib64/python3.7/site-packages/torch.libs/* lib/

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

9)执行cmake编译
cd ../../build/
cmake --build .


然后执行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

解决方法:
将重命名的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)

解决方法:
拷贝libtorch_cpu.so依赖的so库文件到lib路径
cp -r /usr/local/lib64/python3.7/site-packages/torch.libs/* ../fc_base/libtorch-src/lib/
8 参考
- cid:link_1
- cid:link_6
- cid:link_3
- cid:link_4
- cid:link_5
注:基于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
/root/miniconda3/bin/activate wenet
5 进入wenet源码路径并安装依赖
cd wenet-2.0.1/
pip3 install -r requirements.txt
【注】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
或
/root/miniconda3/bin/conda install pytorch=1.13.0 torchvision cudatoolkit=11.1 -c pytorch -c conda-forge
2)进入libtorch路径
cd runtime/server/x86/
3)创建build编译路径并进入执行cmake编译
mkdir build
cd build/
cmake ..
4)手动下载获取libtorch-shared-with-deps-1.13.0%2Bcpu.zip解压并替换../fc_base/路径下的libtorch-src文件夹
cd ../fc_base/
wget cid:link_0
rm -rf libtorch-src
mv libtorch libtorch-src
5)重命名libtorch-src路径下的lib文件夹(默认获取的libtorch中的so均为x86_64架构,无法在鲲鹏aarch64架构下使用)
cd libtorch-src
mv lib lib-bak
6)创建新的lib文件夹并将aarch64的so拷贝进去
mkdir lib
cp -r /usr/local/lib64/python3.7/site-packages/torch/lib/* lib/
7)拷贝libtorch_cpu.so依赖的so库文件到lib路径
cp -r /usr/local/lib64/python3.7/site-packages/torch.libs/* lib/
8)拷贝重命名的lib-bak文件夹下的libkineto.a到lib路径下
cp lib-bak/libkineto.a lib/
9)执行cmake编译
cd ../../build/
cmake --build .
然后执行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
解决方法:
将重命名的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)
解决方法:
拷贝libtorch_cpu.so依赖的so库文件到lib路径
cp -r /usr/local/lib64/python3.7/site-packages/torch.libs/* ../fc_base/libtorch-src/lib/
8 参考