第一步:手动编译pytorch
wenet用的是libtorch1.10.0,这里需要下载pytorch1.10.0进行编译。编译参考了https://lijingle.com/thread-33-1-1.html 和 https://icode.best/i/22625544885021
git clone -b v1.10.0 https://github.com/pytorch/pytorch.git
pip install typing-extensions 如果编译时报错缺少这个包,需要提前安装
export USE_CUDA=False 不编译CUDA
export BUILD_TEST=False 可节省编译时间
export USE_MKLDNN=False MKLDNN是针对intel cpu 的一个加速包,这里可以不编译
export USE_NNPACK=True 量化推理用到 有些教程里将USE_NNPACK 和 USE_QNNPACK设置成False了,会导致wenet加载模型时报错,尤其是加载量化模型时。
export USE_QNNPACK=True 量化推理用到 有些教程里将USE_NNPACK 和 USE_QNNPACK设置成False了,会导致wenet加载模型时报错,尤其是加载量化模型时。
export MAX_JOBS=1 编译时用的线程数量,可适当增大。若不设置或设置的值太大,编译时会报错,类似wait for other unfinished jobs 和 killed signal terminated program cc1plus 的错误。
cd pytorch
sudo -E python setup.py install
内存不够或MAX_JOBS设置太大时会出现如下错误。 https://github.com/pytorch/pytorch/issues/49078
[ 73%] Building CXX object caffe2/CMakeFiles/torch_cpu.dir/__/aten/src/ATen/CPUType.cpp.o
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [caffe2/CMakeFiles/torch_cpu.dir/build.make:3717: caffe2/CMakeFiles/torch_cpu.dir/__/aten/src/ATen/CPUType.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2646: caffe2/CMakeFiles/torch_cpu.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Traceback (most rece