下载:百度输入 visual studio 官网,下载 visual studio并安装,安装完要配置环境变量,即把cmake路径配置进去
环境配置:将C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin配置到环境变量
配置完打开终端,输入cmake
编译后的可执行文件为decoder_main.exe
(1)拉取源码(设置参数)
git clone -c core.symLinks=true https://github.com/wenet-e2e/wenet.git
(2)进入wenet\runtime\libtorch目录
进入目录
cd .\wenet\runtime\libtorch\
创建build目录
cmake -B build
指定build目录,开始编译
cmake --build build
编译后的可执行文件为decoder_main.exe
(1)先fork项目到自己的仓库(才有编译权限)
(2)在自己仓库的项目下,Action—> Build Windows Runtime—>Run workflow即可开始编译,再点击右侧的Build Windows Runtime可查看编译日志
前提是已经装好了window上docker desktop等环境,参考另一篇博客地址
window安装docker Desktop和wsl2_流音寻帆_jonesky的博客-CSDN博客
拉取镜像
docker pull wenetorg/wenet
实例化容器(进入容器)
docker run --rm -it wenetorg/wenet bash
cd /home
ls
cd wenet
git log # 查看代码版本,按q退出
由于代码较旧,需要重新拉取代码
git pull
若报错fatal: unable to access 'https://github.com/wenet-e2e/wenet.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
代理开起来,重新拉取代码
备注:若不小心退出容器,重新进入
docker ps # 查看容器ID
docker exec -it 容器ID /bin/bash
开始编译
cd /home/wenet/runtime/libtorch/
创建build目录
cmake -B build # 先看是否有build文件夹,正常是有了,没有再执行这个步骤
指定build目录,开始编译
cmake --build build
出现如下,表示编译完成
将更新过代码和编译过的容器打包成新的镜像
开一个新的命令行窗口,执行如下命令:
docker ps # 查看本容器的ID,假定为06530454a22f,根据实际情况修改
docker commit -m 'has pull latest wenet code' -a 'qiong' 06530454a22f wenet_modify:v1.0
下载预训练模型
wenet 预训练模型 下载地址 https://wenet-1256283475.cos.ap-shanghai.myqcloud.com/models/wenetspeech/wenetspeech_u2pp_conformer_libtorch.tar.gz
假定下载到本地F盘,解压后的地址为:F:\wenetspeech_u2pp_conformer_libtorch (改地址用于映射)
启动新的容器(此时要做一个文件映射)
docker run --rm -v F:\wenetspeech_u2pp_conformer_libtorch:/home/wenet/runtime/libtorch/docker_resource -it wenet_modify:v1.0 bash
将测试音频也拷贝到F:\wenetspeech_u2pp_conformer_libtorch下
在新的容器中运行
cd /home/wenet/runtime/libtorch
wav_path=docker_resource/16k-0e7ef8f8-7efc-41a2-b704-ff0b16673ede.wav
model_dir=docker_resource/20220506_u2pp_conformer_libtorch
./build/bin/decoder_main --chunk_size -1 --wav_path $wav_path --model_path $model_dir/final.zip --unit_path $model_dir/units.txt 2>&1 | tee log.txt
推理成功如下
提前下载好模型
拉取docker
docker pull wenetorg/wenet-mini:latest
启动docker
docker run --rm -it -p 10086:10086 -v F:\wenetspeech_u2pp_conformer_libtorch\20220506_u2pp_conformer_libtorch:/home/wenet/model wenetorg/wenet-mini:latest bash /home/run.sh
其中F:\wenetspeech_u2pp_conformer_libtorch\20220506_u2pp_conformer_libtorch是本地的模型地址
下载源码到F下,到F:\wenet\runtime\libtorch\web\templates路径下打开index.html
(切记关闭安全软件,才能正常识别)
也可以用github上编译好的文件,测试websocket客户端
编译好的文件下载冰解压到该路径E:\DownLoad\release-wenet-binary
然后运行
.\websocket_client_main.exe --hostname 127.0.0.1 --port 10086 --wav_path F:\wenetspeech_u2pp_conformer_libtorch\16k-0e7ef8f8-7efc-41a2-b704-ff0b16673ede.wav
其中F:\wenetspeech_u2pp_conformer_libtorch\16k-0e7ef8f8-7efc-41a2-b704-ff0b16673ede.wav表示具体的测试文件,路径可根据实际情况修改,测试结果会发现乱码
乱码解决如下:
目录
一、下载visual studio
二、本地编译(不推荐,失败概率很大)
二、借助github的action进行编译,再下载下来
编辑
编辑
编辑
三、Docker容器中编译
四、流式识别web网页版体验