mac安装gnu make_ESPnet安装踩坑记录

ESPnet比Kaldi难装是我没想到的,眼看着环境名字从espnet一路改到espnet5终于安装成功,在这里记录一下安装过程中踩过的坑。

按照官方安装文档一步一步来。已经装好了Kaldi,从Step 2开始。

  1. 链接Kaldi;设置CUDA环境(我的CUDA版本是);设置Python环境(我选了)
  2. 安装ESPnet
    1. 选择与CUDA版本适配的Pytorch(我选了)
    2. 在时就出现错误,gcc版本需高于,考虑到后续warp-rnnt要求gcc版本需高于,直接在虚拟环境中安装gcc。安装过程参考使用conda安装gcc_darknight-CSDN博客。⚠️ 这里需要注意的是,如果第一次安装失败,后续在其他虚拟环境中再次安装gcc时可能报错,需要先删除上一次的安装路径 anaconda/pkgs/gcc-.0-0
    3. 继续make...安装其他各种包... 中间如果报错的话,看一下错误信息,可能是需要手动安装一些包(pybind11、pytest-runner、setuptools_cython)等...
    4. 最后一步!,这里遇到了一个奇怪的错误
ImportError: warpctc_python/_warp_ctc_.cpython-38m-x86_64-linux-gnu.so: undefined symbol: _ZN3c105ErrorC1ENS_14SourceLocationERKSs

Google出来的结果大多是说Pytorch版本或torchvision版本不对,于是我又分别尝试了Pytorch 1.1.0,等各种版本的排列组合,无一例外地在最后一步出现同样的错误 ‍♀️

后来终于在看到这篇文章时发现了罪魁祸首!由于设置了源,我安装的版本也并不是官方编译-D_GLIBCXX_USE_CXX11_ABI=False的版本,可以这样验证一下:

>>> import torch
>>> torch._C._GLIBCXX_USE_CXX11_ABI
True

所以会出现warpctc_python 和warprnnt_pytorch无法import的问题。上边那篇文章里的方法有些复杂,我选择直接安装官网的版本:

现在让我们倒回第一步重新来过:

  1. 手动安装Pytorch,在官网下载对应版本的安装包,直接conda install *.bz2
  2. 再运行一遍conda install pytorch,把blas cudatoolkit等其他包也安装一下(这里安装过程中会自动跳过已经装好的pytorch)。touch pytorch.done

3. 重复后续的安装步骤。

大功告成

references:

  1. chope lyn:安装pykeops中遇到的坑
  2. discuss.pytorch.org/t/u

你可能感兴趣的:(mac安装gnu,make,python中import,cv2遇到的错误及安装方法,torchvision安装,安装linux,pytorch)