标签:USE False rk3588 开发板 编译 pytorch export arm64 wenet
第一步:手动编译pytorch
wenet用的是libtorch1.10.0,这里需要下载pytorch1.10.0进行编译。
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
第二步:wenet编译
1)修该cmake文件夹下的libtorch.cmake
原wenet中是下载libtorch,这里改成自己编译好的pytorch
注释libtorch下载部分,增加如下代码
set(Torch_DIR "your_path/pytorch/torch") 这里修改成你的pytorch安装路径 find_package(Torch REQUIRED PATHS ${Torch_DIR} NO_DEFAULT_PATH)
如下图所示
2)修改torch_asr_model.cc (在runtime/core/文件夹下)
在加载模型 torch::jit:load(model_path,device) 前,增加如下代码,
auto qengines = at::globalContext().supportedQEngines(); if (std::find(qengines.begin(), qengines.end(), at::QEngine::QNNPACK) != qengines.end()) { at::globalContext().setQEngine(at::QEngine::QNNPACK); }
如下图所示:
否则会出现 RuntimeError: Didn't find engine for operation quantized linear_prepack NoQEngine
3)wenet/runtime/libtorch文件夹下 进行编译
mkdir build && cd build && cmake .. && cmake --build .
一些其他记录
注意这里下载最新的模型,老版本比如wenet-1.0.1版本下的模型会出现无法识别的错误。
标签:USE,False,rk3588,开发板,编译,pytorch,export,arm64,wenet 来源: https://www.cnblogs.com/wieneralan/p/16667047.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。