ctcdecode安装

一、写在前面:

ctcdecode代码较早,安装过程有许多坑。本文章为ctcdecode安装成功的记录,可能存在不适用的情况,欢迎大家补充。

二、致谢:

感谢文章https://blog.csdn.net/u011550545/article/details/87926995提供的宝贵参考。

三、主机环境

1、硬件:

Nvidia Gecforce RTX3060桌面版

2、软件

操作系统:Ubuntu20.04

显卡驱动:510.39.01

安装驱动时同时安装的CUDA版本:11.6

四、Python环境1(成功安装ctcdecode)

1、使用conda虚拟环境

2、python版本:3.6.7

# 1 2 命令
conda create -n py367 python==3.6.7

3、wget包

# 在py367中,给pythohn安装wget包
conda activate py367
python -m pip install wget

4、torch版本:

pytorch-cpu 1.1.0

torchvision 0.10.1

# 要先安装torch,再安装ctcdecode
# mamba是辅助conda的工具,先安装mamba,这里mamba换为conda也可以
mamba install pytorch torchvision cudatoolkit=11.1 -c pytorch-lts -c conda-forge

5、ctcdecode 0.4

因国内网络问题,有些依赖无法下载,会导致ctcdecode安装失败。这里再次感谢感谢文章https://blog.csdn.net/u011550545/article/details/87926995提供的源码安装包,下载链接:https://pan.baidu.com/s/1sZMbzzYtBoT35zHtDifVqQ ,提取码:a05y。下载解压后可直接安装。

#下载上述ctcdecode源码包后
# 解压
tar -xvf ctcdecode.tar.gz
# 
cd ctcdecode
python -m pip install .

五、Python环境2(成功安装ctcdecode)

1、使用conda虚拟环境

2、python版本:3.6.11

3、wget包

4、orch版本

  1. torch: 1.8.1+cu111

  1. torchvision: 0.9.1+cu11

# 官方安装命令,此次安装使用此命令安装失败
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
# 成功的解决方案是使用pip安装离线的torh和torchvision安装包。下载链接如下:

https://download.pytorch.org/whl/torch_stable.html

5、ctcdecode 1.0.3

# 推荐的安装方式。但此次安装过程使用该方式安装失败。
python -m pip install ctcdecode==1.0.3
# 成功的解决方案是源码编译安装ctcdecode。源码安方式见下文。

六、源码安装ctcdecode 的master版本

1、下载ctcdecode 的master分支的源码

# 此命令是官方推荐的克隆方式,可以递归地把需要的第三方源码包同时下载下来。但是因国内网络原因
# 该命令无法成功下载第三方源码包。第三包的源码的准备方式见下文。
git clone --recursive https://github.com/parlance/ctcdecode.git
# 下载master分支的源码使用如下命令
git clone https://github.com/parlance/ctcdecode.git
# 下载tag是1.0.2的源码,使用如下命令:
git clone --branch 1.0.2 https://github.com/parlance/ctcdecode.git

2、下载第三方包的源码

(1)第三方包的源码的位置

在ctcdecode源码的third_party文件夹中。

(2)下载目录可见的第三方源码

①说明:这里目录可见是指在源码的third_party中可以发现的第三方包的名称。如下图的ThreadPool和kenlm(utf8不用专门另外下载)。

②下载ThreadPool和kenlm。(以ThreadPool为例)

a、根据上图的git链接,进入ThreadPool的git仓库

b、使用git clone将ThreadPool的源码下载至本地ctcdecode的third_party文件夹中。

# 示例
cd ctcdeocode/third_party
git clone https://github.com/progschj/ThreadPool.git

(3)下载目录不可见的第三方包

①说明:这里的目录不可见对应(2)中的目录可见。这些包会在编译ctcdecode源码的过程中以错误提示的形式给出,因此要认真阅读编译的报错信息。这些包大多被声明在源码中的build.py文件中。因此在错误提示中,build.py字符串之后,很快就是缺少的第三方包。这些包需要下载的位置,也是源码中的third_party。

3、编译源码并安装ctcdecode

cd ctcdecode
python -m pip install .

4、说明

源码编译和目录不可见的第三方包的安装可能要反复进行

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值