安装
系统要求
- Python 3.7+
- PyTorch1.10.2+ 需要 gcc 4.9+ 版本
(如果在安装步骤2中使用conda环境,以下软件包将通过conda安装,因此可以跳过它们。)
- 某些扩展需要cmake3
# 适用于Ubuntu系统 $ sudo apt-get install cmake - sox
# 对于Ubuntu系统 $ sudo apt-get install sox # 对于CentOS系统 $ sudo yum install sox - flac (安装时非必需,但在某些配方中会使用)
# 对于Ubuntu系统 $ sudo apt-get install flac # 对于CentOS系统 $ sudo yum install flac
支持的Linux发行版及其他要求
我们支持以下Linux发行版并提供持续集成(CI)支持。如果您想自行构建Linux系统,请同时查阅我们的CI配置以准备合适的环境。
- ubuntu18
- CentOS 7
- debian11
- Windows10 (installation only)
- 我们可以在WSL-2 (Ubuntu 20.04)环境下进行完整的实验。详情请参阅链接和#4909 (感谢@Bereket-Desbele!)
- MacOS12 (仅限安装)
步骤 1) [可选] 安装 Kaldi
- 如果使用ESPnet1(位于egs/目录下),必须编译Kaldi。
- 如果使用ESPnet2(位于egs2/目录下),可以跳过Kaldi的安装步骤。
Click to compile Kaldi...
相关链接:
Kaldi的要求:
- 操作系统: Ubuntu, CentOS, MacOSX, Windows, Cygwin等
- GCC >= 4.7
Git克隆Kaldi
$ cd <any-place> $ git clone https://github.com/kaldi-asr/kaldi安装工具
$ cd <kaldi-root>/tools $ make -j <NUM-CPU>- 从ATLAS、OpenBLAS或MKL中选择BLAS库
- OpenBLAS
$ cd <kaldi-root>/tools $ ./extras/install_openblas.sh- MKL (需要管理员权限)
$ cd <kaldi-root>/tools $ sudo ./extras/install_mkl.sh- ATLAS (需要sudo权限)
# Ubuntu $ sudo apt-get install libatlas-base-dev编译Kaldi并安装
$ cd <kaldi-root>/src # [默认使用MKL] ESPnet仅使用特征提取器,因此可以禁用CUDA $ ./configure --use-cuda=no # [使用OpenBLAS] # $ ./configure --openblas-root=../tools/OpenBLAS/install --use-cuda=no # 如需使用CUDA # ./configure --cudatk-dir=/usr/local/cuda-10.0 $ make -j clean depend; make -j <NUM-CPU>
我们还提供预构建的Kaldi二进制文件。
步骤 2) 安装 ESPnet
Git克隆ESPnet
$ cd <any-place> $ git clone https://github.com/espnet/espnet[可选] 将编译好的Kaldi放在espnet/tools目录下
如果您已在步骤1中编译了Kaldi,请将其放在
tools目录下。$ cd <espnet-root>/tools $ ln -s <kaldi-root> .设置Python环境
您需要创建
文件来指定espnet配方中使用的Python解释器。(要了解ESPnet如何指定Python,请参考示例path.sh。)/tools/activate_python.sh 我们还提供了一些脚本来生成
tools/activate_python.sh。Option A) Setup conda environment
$ cd <espnet-root>/tools $ ./setup_miniforge.sh [output-dir-name|default=venv] [conda-env-name|default=root] [python-version|default=none] # e.g. $ ./setup_miniforge.sh miniconda espnet 3.8This script tries to create a new miniconda if the output directory doesn't exist. If you already have conda and you'll use it, then,
$ cd <espnet-root>/tools $ CONDA_ROOT=${CONDA_PREFIX}/../.. # CONDA_PREFIX is an environment variable set by ${CONDA_ROOT}/etc/profile.d/conda.sh $ ./setup_miniforge.sh ${CONDA_ROOT} [conda-env-name] [python-version] # e.g. $ ./setup_miniforge.sh ${CONDA_ROOT} espnet 3.8选项 B) 从系统Python创建虚拟环境
$ cd <espnet-root>/tools $ ./setup_venv.sh $(command -v python3)选项 C) 设置系统Python环境
$ cd <espnet-root>/tools $ ./setup_python.sh $(command -v python3)选项 D) 不设置Python环境
选项 C和选项 D几乎相同。此选项可能适用于Google colab。$ cd <espnet-root>/tools $ rm -f activate_python.sh && touch activate_python.sh
Install ESPnet
$ cd <espnet-root>/tools $ makeThe Makefile tries to install ESPnet and all dependencies, including PyTorch. You can also specify the PyTorch version, for example:
$ cd <espnet-root>/tools $ make TH_VERSION=1.10.1Note that the CUDA version is derived from
nvcccommand. If you'd like to specify the other CUDA version, you need to giveCUDA_VERSION.$ cd <espnet-root>/tools $ make TH_VERSION=1.10.1 CUDA_VERSION=11.3If you don't have
nvcccommand, packages are installed for CPU mode by default. If you'll turn it on manually, giveCPU_ONLYoption.$ cd <espnet-root>/tools $ make CPU_ONLY=0
步骤3) [可选] 自定义工具安装
某些仅用于特定任务(如Transducer ASR、日语TTS等)的软件包默认不安装,因此如果在运行这些配方时遇到安装错误,您需要选择性地安装它们。
例如
- 安装Warp Transducer
cd <espnet-root>/tools cuda_root=<cuda-root> # 例如= /usr/local/cuda bash -c ". activate_python.sh; . ./setup_cuda_env.sh $cuda_root; ./installers/install_warp-transducer.sh" - 安装PyOpenJTalk
cd <espnet-root>/tools bash -c ". activate_python.sh; ./installers/install_pyopenjtalk.sh" - 使用pip安装模块:例如安装ipython除了Python库之外,您还可以在conda环境中安装一些非Python库,例如:
cd <espnet-root>/tools bash -c ". activate_python.sh; pip install ipython"cd <espnet-root>/tools bash -c ". activate_python.sh; conda install cmake"
检查安装
您可以通过以下方式检查安装是否成功完成
cd <espnet-root>/tools
bash -c ". ./activate_python.sh; . ./extra_path.sh; python3 check_install.py"请注意,此检查始终在上述安装的最后阶段调用。
