首页 > 其他分享 >ESPnet搭建记录

ESPnet搭建记录

时间:2023-10-12 11:12:56浏览次数:28  
标签:activate && 记录 sh cuda install ESPnet 安装 搭建

https://blog.csdn.net/nwnu_908/article/details/117665566?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-1-117665566-blog-103500422.235^v38^pc_relevant_anti_t3&spm=1001.2101.3001.4242.1&utm_relevant_index=4

 

ESPnet 是一个端到端的语音处理工具包,主要专注于端到端的语音识别和端到端的文本转语音。ESPnet 使用chainer和pytorch作为主要的深度学习引擎,并遵循Kaldi风格的数据处理、特征提取/格式和配方,为语音识别和其他语音处理实验提供完整的设置。

系统环境信息:Ubuntu 18.04.4 LTS,CUDA Version 10.0.130,CUDNN Version 7.6.3,

1.安装vim

有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vim
运行 apt-get update,然后执行 apt-get install -y vim

2.安装Anaconda

bash Anaconda3-5.2.0-Linux-x86_64.sh

然后一直按提示操作即可, 建议安装默认位置就不用配置环境变量了.

刷新环境变量
配置了环境变量并不会生效,需要刷新才会生效。

source ~/.bashrc
3.相关依赖安装

cmake3 用于某些扩展

sudo apt-get install cmake
sox

sudo apt-get install sox
libsndfile1-dev

sudo apt-get install libsndfile1-dev
ffmpeg(安装时不需要,但在某些地方中使用)

sudo apt-get install ffmpeg
flac(安装时不需要,但在某些地方中使用)

sudo apt-get install flac
4.安装kaldi

git clone https://github.com/kaldi-asr/kaldi.git kaldi --origin upstream
apt-get update && \
 apt-get install -y --no-install-recommends \
make \
automake \
autoconf \
bzip2 \
unzip \
wget \
libtool \
git \
subversion \
zlib1g-dev \
gfortran \
ca-certificates \
patch \
vim && \
rm -rf /var/lib/apt/lists/*
cd /kaldi/tools && \
./extras/install_mkl.sh && \
make -j4 && \
cd /kaldi/src && \
./configure --shared --use-cuda && \
make depend -j4 && \
make -j4 && \

显示ALL done OK后,其实没有安装完毕,仍然需要手动安装IRSTLM,你可以利用extras/install_irstlm来进行.

编译完成后进入egs/yesno/s5 执行 ./run.sh 执行如果没报错有识别结果那么安装就成功了.

可以选择编译过程中产生的临时文件

find /kaldi -type f \( -name "*.o" -o -name "*.la" -o -name "*.a" \) -exec rm {} \; && \
find /opt/intel -type f -name "*.a" -exec rm {} \; && \
find /opt/intel -type f -regex '.*\(_mc.?\|_mic\|_thread\|_ilp64\)\.so' -exec rm {} \; ;&& \
rm -rf /kaldi/.git
5. 安装pytorch

conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.0 -c pytorch
torch和torchvision下载的非常慢,可以从https://download.pytorch.org/whl/torch_stable.html下载正确版本,用pip指令进行离线安装.

我下载了torchvision-0.4.0-cp36-cp36m-manylinux1_x86_64.whl和torch-1.2.0-cp36-cp36m-manylinux1_x86_64.whl.

6.安装espent

git clone https://github.com/espnet/espnet
cd espnet
cd tools
编译安装,需要指定kaldi的安装路径

#链接 Kaldi:
ln -s <kaldi-root> .
#设置 cuda 环境
#查一下cuda的路径:
whereis cuda
#然后指向该路径:
sh ./setup_cuda_env.sh (你的路径)
#设置 Python 环境
#我已经有了Python,但我为了使用方便也安装了anaconda
#在这里我补充一下conda命令的一些基本操作
#创建虚拟环境
conda create -n ASR python=3.6
#激活虚拟环境
source activate ASR
#退出虚拟环境
source deactivate
#重新使用进入环境
source activate xxxx
#查看已有虚拟环境
conda-env list
#在进入虚拟环境的情况下,安装对应包直接
pip install xxxx 或者 conda install xxxx
#删除虚拟环境操作:(谨慎操作)
conda remove -n xxx --all

#具体我选择了A方案
ln -s <kaldi-root> .
conda create -n espnet python=3.6
conda activate espnet
CONDA_TOOLS_DIR=$(dirname ${CONDA_EXE})/..
./setup_anaconda.sh ${CONDA_TOOLS_DIR} espnet 3.6

make TH_VERSION=1.4.0

在安装过程中需要下载很多库文件,下载很慢,超时报错。

我修改一下脚本文件,把PIP源换到清华,当然也可以换成阿里或者其他的源:

打开makefile文件,在第127、128行处:

pytorch.done: activate_python.sh
. ./activate_python.sh && python3 -m pip install numpy --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple some-package # Workaround for "ImportError: numpy.core.multiarray failed to import"
. ./activate_python.sh && python3 -m pip install $(PIP_PYTORCH) -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
touch pytorch.done
在138行处:

espnet.done: pytorch.done conda_packages.done
. ./activate_python.sh && python3 -m pip install -e .. -i https://pypi.tuna.tsinghua.edu.cn/simple some-package # Install editable mode by default
touch espnet.done
在143-150行处:

ifneq ($(strip $(NO_CUPY)),)
. ./activate_python.sh && python3 -m pip install $(PIP_CHAINER) -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
else
# Precompiled cupy==6.0.0 for python>=3.8 is not provided
. ./activate_python.sh && \
if python3 -c "import sys; from distutils.version import LooseVersion as L; assert L(sys.version) < L('3.8')" 2>&1 /dev/null; then \
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package $(PIP_CHAINER) cupy-cuda$(CUDA_VERSION_WITHOUT_DOT)==$(CHAINER_VERSION) ; \
else \
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package $(PIP_CHAINER) cupy==$(CHAINER_VERSION); \
fi
一些仅用于特定任务的软件包,默认情况下未安装,因此如果您在运行这些配方时遇到一些安装错误,则需要选择安装它们。

#安装 Warp CTC
. activate_python.sh
. ./setup_cuda_env.sh /usr/local/cuda
./installers/install_warp-ctc.sh

#安装Warp Transducer
. activate_python.sh
. ./setup_cuda_env.sh /usr/local/cuda
./installers/install_warp-transducer.sh

#安装 PyOpenJTalk
. activate_python.sh
./installers/install_pyopenjtalk.sh
运行出错
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 2186: ordinal not in range(128)
初步认为是中文乱码问题
locale
locale -a
vim ~/.bashrc
添加LANG=C.UTF-8 (有的是zh_CN.UTF-8,不过我在本地没发现这种编码)
source ~/.bashrc
解决了中文乱码问题
#重启后出错
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
#解决方法是,先跑一下:
source deactivate
再运行
conda deactivate
再次运行conda activate espnet进入
重新执行安装命令
#使用 pip 安装ipython
. activate_python.sh
pip install ipython
可以通过以下方式检查安装是否成功完成

. ./activate_python.sh
python3 check_install.py
出现以下需要选择安装的 ,安装方法参考同上.

INFO:
Use 'installers/install_warp-rnnt.sh' to install warp_rnnt
Use 'installers/install_chainer_ctc.sh' to install chainer_ctc
Use 'installers/install_kenlm.sh' to install kenlm
Use 'installers/install_py3mmseg.sh' to install mmseg
Use 'installers/install_fairseq.sh' to install fairseq
Use 'installers/install_phonemizer.sh' to install phonemizer
Use 'installers/install_gtn.sh' to install gtn
Use 'installers/install_sctk.sh' to install sclite
Use 'installers/install_sph2pipe.sh' to install sph2pipe
Use 'installers/install_pesq.sh' to install PESQ
Use 'installers/install_beamformit.sh' to install BeamformIt
在./installers/install_phonemizer.sh这一步出错,/usr/bin/ld: cannot find -lcurses,解决办法,apt-get install libncurses5-dev
确认安装是否遗漏

make check_install
测试espnet

无网络情况下,从openslr下载wave_yesno数据集,并解压到/espnet/egs/yesno/asr1文件夹下,然后运行bash run.sh,若有网络,则直接运行bash run.sh即可.
测试pytorch的GPU是否可用

import torch
flag = torch.cuda.is_available()
print(flag)

ngpu= 1
# Decide which device we want to run on
device = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu > 0) else "cpu")
print(device)
print(torch.cuda.get_device_name(0))
print(torch.rand(3,3).cuda())


True
cuda:0
GeForce GTX 1080
tensor([[0.9530, 0.4746, 0.9819],
[0.7192, 0.9427, 0.6768],
[0.8594, 0.9490, 0.6551]], device='cuda:0')
————————————————
版权声明:本文为CSDN博主「908的男同学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nwnu_908/article/details/117665566

标签:activate,&&,记录,sh,cuda,install,ESPnet,安装,搭建
From: https://www.cnblogs.com/wcxia1985/p/17759045.html

相关文章

  • 【日常收支账本】【Day05】编辑账本界面增加删除、更新记录功能——提高代码复用性
    一、项目地址https://github.com/LinFeng-BingYi/DailyAccountBook二、新增1.增加删除记录功能1.1功能详述点击删除按钮后,获取对应行的数据组成字典,用字典的键值对匹配到对应日期的记录元素;接着用该字典数据冲正存款账户余额(实现思路为新增记录时的反向操作),同时删除记录......
  • 搭建 Kubernetes 集群 —— API 概述
    官网文档:https://kubernetes.io/zh-cn/docs/reference/using-api/RESTAPI是Kubernetes系统的重要部分,组件之间的所有操作和通信均由APIServer处理的RESTAPI调用,大多数情况下,API定义和实现都符合标准的HTTPREST格式,可以通过kubectl命令管理工具或其他命令行工具来......
  • 搭建 Kubernetes 集群 —— 命令行工具 kubectl
    命令行工具(kubectl)Kubernetes提供kubectl是使用KubernetesAPI与Kubernetes集群的控制面进行通信的命令行工具。这个工具叫做kubectl。一、在任意节点使用kubectl最开始只能在master节点上使用kubectl工具,比如kubectlgetnodes因为之前在部署master节点时......
  • ElasticSearch集群搭建
    2.1ES集群的好处es天然支持集群模式,其好处主要有两个:1.能够增大系统的容量,如内存、磁盘,使得es集群可以支持PB级的数据;2.能够提高系统可用性,即使部分节点停止服务,整个集群依然可以正常服务;2.2ES如何组集群单节点ES,如下图所示;如果单节点出现问题,服务就不可用了,如何新增一个es......
  • 百度飞桨应用实战暨《Python小白逆袭大神》课程学习记录及心得
    课程介绍本次课程是百度深度学习7日打卡第六期,由飞桨深度学习学院的老师进行授课。课程定位:带领零基础学员从Python进入人工智能领域,即使不懂人工智能也能学会。课程形式:B站直播加回放,微信群答疑课程亮点:使用源于产业实践的开源深度学习平台飞桨(PaddlePaddle)简单学习深度学习......
  • 导出微信支付交易明细证明账单记录修改删除PDF文件
    微信支付交易明细证明有两种修改方式,一种是导出账单到邮箱后再下载PDF账单文件到电脑桌面进行修改。第二种是导出前在后台修改,这种情况较为复杂要根据个人情况而定,暂不做陈述。现在先来说说第一种方式,先下载账单文件然后把PDF转成WORD的方式进行修改,这种方式简单粗暴,相信很多人都......
  • 20230921 做题记录
    20230921做题记录目录20230921做题记录总结1P2863[USACO06JAN]TheCowPromS2P2746[USACO5.3]校园网NetworkofSchools3P1407[国家集训队]稳定婚姻4P1072[NOIP2009提高组]Hankson的趣味题总结总计完成\(3+4\)题上午校内练习赛,下午改了上午的题,晚上继续......
  • 【环境搭建】phpstudy显示目录列表
      问题来源新版本的PHPStudy访问127.0.0.1不再像以前版本一样显示目录列表了解决办法打开vhosts.conf将图中标记出来的一行OptionsFollowSymLinksExecCGI改成Options+Indexes+FollowSymLinks+ExecCGI重启Apache后访问即可。 分类: 环境搭建......
  • 问题记录:Unity部分Sprite跳跃移动
    问题展示这个图片中,可以发现巴郡两个字的移动和其他图片不一致。表面原因是因为这个两个图片资产的filtermode为point导致的,其他图片资产为bilinear。解决方案未知。......
  • 私有云盘搭建之OwnCloud的安装与服务配置​
    由于公司最近想要搞个内部的网盘,本着节约成本的原则,不断尝试不同的开源平台,其中一个比较适合的就是owncloud。安装OwnCloudOwnCloud是一款开源的云存储软件,适合作为内部网盘使用。虽然没有用户注册功能,但是有用户添加功能,你可以无限制地添加用户,并且支持多个平台使用。1.执行以下......