ctcdecode安装

news2024/11/30 4:54:21

一、写在前面:

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、说明

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/363655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HashMap(JDK1.8)源码+底层数据结构分析

HashMap 简介底层数据结构分析 JDK1.8 之前JDK1.8 之后 HashMap 源码分析 构造方法put 方法get 方法resize 方法 HashMap 常用方法测试 感谢 changfubai 对本文的改进做出的贡献! HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现…

【React npm】从零搭建react脚手架,发布组件库到npm,并实现按需加载(二)

发布react组件库前情回顾介绍搭建脚手架配置babelrc配置jsconfig写入组件demo修改主入口文件配置生产环境webpack配置package.json发布实现按需加载前情回顾 前面写过一篇,发布单个组件到npm的: https://blog.csdn.net/tuzi007a/article/details/12911…

Anaconda环境配置

1.进入清华大学镜像网站Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,下载稳定版Anaconda3-5.2.0,如下图。2.放到整理好的文件夹中,双击安装包进行安装。3.安装过程中需要改变的默认值如下&#xff…

Linux 基础知识之文件系统

目录一、文件系统1.文件种类2.Linux和Windows文件后缀的不同3.查看文件类型3.绝对路径与相对路径二、系统分区三、目录结构一、文件系统 1.文件种类 Linux中一切皆文件。目光所及,皆是文件。文件的种类共有七种,每种文件都有自己的独特标识:…

MYSQL 密码修改 (四种方式)

注 : 我们所谓的密码修改肯定是先指的是 你已经清楚用户的原密码,是对原密码进行了修改并不是你忘记了密码,然后设置新密码~!!方式一 : 使用 mysqladmin示例 : [rootbogon ~]# mysqladmin -uroo…

python文件编译为pyc后运行

一、pyc文件我们开发一个python脚本,文件的后缀为.py。如果运行这个py文件,Python内部会先将源码文件(.py文件)编译成字节码(byte code)文件(.pyc文件)。接着运行编译后的字节码&…

【Spark分布式内存计算框架——离线综合实战】5. 业务报表分析

第三章 业务报表分析 一般的系统需要使用报表来展示公司的运营情况、 数据情况等,本章节对数据进行一些常见报表的开发,广告数据业务报表数据流向图如下所示: 具体报表的需求如下: 相关报表开发说明如下: 第一、数据…

【总结】python3启动web服务引发的一系列问题

背景 在某行的实施项目,需要使用python3环境运行某些py脚本。 由于行内交付的机器已自带python3 ,没有采取自行安装python3,但是运行python脚本时报没有tornado module。 错误信息 ModuleNotFoundError:No module named ‘torn…

Unity截屏时将背景的透明度设为0

常用的截屏函数是: UnityEngine.ScreenCapture.CaptureScreenshot(fileName, 5); //5代表dpi大小,数字越大越清晰但是这样保存图片是不能将黑色背景的透明度设为0,最终还是24bit图。 如果将背景透明度设为0而渲染物体透明度设为255&#xff…

学插画的线上机构排名

学插画哪个线上机构好,5个靠谱的插画网课推荐!给大家梳理了国内5家专业的插画师培训班,最新5大插画班排行榜,各有优势和特色! 一:插画线上培训机构排名 1、轻微课(五颗星) 主打课程有…

【C语言】函数栈帧的创建与销毁

Yan-英杰的主页 悟已往之不谏 知来者之可追 目录 ​0.ebp和esp是如何来维护栈帧的呢? 1.为什么局部变量的值不初始化是随机的? ​2.局部变量是怎么创建的? ​3 .函数是如何传参的?传参的顺序是怎样的 4.函数是如何调用的 ​…

scrapy-redis分布式爬虫学习记录

目录 1. scrapy-redis是什么? 2. scrapy-redis工作原理 3.分布式架构 4. scrapy-redis的源码分析 5. 部署scrapy-redis 6. scrapy-redis的基本使用 6.1 redis数据库基本表项 6.2 在scrapy项目的基础进行更改 7. redis数据转存入mysql数据库 课程推荐&#…

大学生成人插画培训机构盘点

成人插画培训机构哪个好,成人学插画如何选培训班?给大家梳理了国内较好的插画培训机构排名,各有优势和特色,供大家参考! 一:国内成人插画培训机构排名 1、轻微课(五颗星) 主打课程有…

Head First设计模式---3.装饰者模式

3.1装饰者模式 亦称: 装饰者模式、装饰器模式、Wrapper、Decorator 装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 举个例子:天气很冷,我们一件一件穿衣服&#xff0c…

学习Flask之五、数据库

学习Flask之五、数据库 数据库有组织的存贮应用数据。根据需要应用发布查询追踪特定部分。网络应用最常用的数据库是基于关系模式的,也称为SQL数据库,引用结构化查询语句。但是近年来,面向文档和键值的数据库,非正式的统称为NoSQ…

乐友商城学习笔记(一)

SpringCloud 什么是SpringCloud 在SpringBoot基础上构建的微服务框架固定步骤 1.引入组件的启动器2.覆盖默认配置3.在引导类上添加相应的注解 eureka 注册中心,服务的注册与发现服务端 1.引入服务器启动器:eureka-server2.添加了配置 spring.applicati…

【Git】使用Git上传项目到远程仓库Gitee码云步骤详解

电脑里存放了很多项目,有的备份,有的没备份,如果不仔细分类管理的话,时间一长,到时看到那就会觉得非常杂乱,很难整理,这里有一个叫源代码托管,用过它的都知道,方便管理和…

如何下载阅读Spring源码-全过程详解

这篇文章记录了下载spring源码和在IDEA中打开运行的全过程,并且记录了过程中遇到的问题和解决方案,适合需要学习spring源码的同学阅读。 1.spring源码下载地址 通过Git下载spring-framework项目源码: git clone https://github.com/spring…

Document-Level event Extraction via human-like reading process 论文解读

Document-Level event Extraction via human-like reading process 论文:2202.03092v1.pdf (arxiv.org) 代码:无 期刊/会议:ICASSP 2022 摘要 文档级事件抽取(DEE)特别困难,因为它提出了两个挑战:论元分散和多事件。第一个挑战…

TPM 2.0实例探索2 —— LUKS磁盘加密(1)

本文大部分内容取自: LUKS磁盘格式_小写的毛毛的博客-CSDN博客_luks 如何破解LUKS加密 一、LUKS介绍 1. 什么是LUKS LUKS是“Linux Unified Key Setup”的简写,是 Linux 硬盘加密的标准。LUKS通过提供标准的磁盘格式,不仅可以促进发行版之…