[TOC]
这份文档希望说明CAT安装的环境配置的整体流程并对一些容易遇到的问题进行解释,同时提供了一些建议初学者参考的入门学习资料,欢迎进行补充。
CAT需要在Linux下使用,建议选择Ubuntu最新的LTS版本或者通过SSH使用远程服务器。
测试环境:Ubuntu 20.04 官方下载
Windows下安装双系统:教程
Q:为什么使用Ubuntu?
A:Linux是内核,有多种发行版本,Ubuntu的用户量大,对初学者来说,更方便找到各种问题的解答。
阮一峰的SSH教程
入门推荐阅读:
可以参考的网站:
P.S:kaldi使用shell编写,对shell的掌握和Linux终端的梳理使用对提高效率很重要。
默认使用NVIDIA显卡训练,需要安装显卡驱动
- 测试环境:NVIDIA RTX2060 Driver version:460.80
以下提供两种安装方式
方法一:打开“软件和更新”->“附加驱动”,选择推荐版本的nvidia-driver驱动安装。
方法二:打开终端,输入
sudo ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
安装完成后重启系统。
检验安装成功并确认驱动版本:打开终端输入nvidia-smi
CAT目前仅支持GPU训练,Cuda为使用NVIDIA显卡训练DNN(Deep Neural Network)的必要开发环境,以下介绍Cuda的安装。
-
下载前检查驱动版本号对应可以使用的CUDA版本:versions
-
到pytorch官网查看pytorch支持的cuda版本号
测试环境:CUDA Version 10.2
-
下载安装需要的cuda版本(推荐runfile方式)并遵循网页上指引安装。
安装时注意选择取消cuda自带的驱动的安装(取消driver前方√即可)
-
检查系统cuda版本
cat /usr/local/cuda/version.txt
P.S.:
/usr/local/cuda/
一般是一个链接,链接到/usr/local/cuda-x.x/
,可以通过file命令查看该链接具体属性。系统中可以安装多个cuda版本,在kaldi安装时可以指定你需要使用的cuda版本,但为方便建议和系统默认版本保持一致。
Conda是一个方便的python环境管理工具,使用conda可以更加方便快捷地配置环境,并且在同时开发多个项目时避免环境的冲突,以下介绍conda的安装。
Q: miniconda和anaconda的区别?
A: anaconda会内置包含更多包和环境,同时占用更大的空间;miniconda则只包含最基础的python和conda包管理工具,优点为。anaconda中有的包在miniconda中都可以通过conda install自行安装,本文档测试使用miniconda,但若空间足够,完全可以选择anaconda。
-
下载conda:
miniconda: wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
anaconda: 在https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/下选择最新版本
以上为清华源,也可以到官方文档下载
-
遵循conda官方文档的instructions安装,安装结束时会提醒将conda加入环境变量,选择加入。
以下简单列出安装命令:
sh $your_conda.sh
-
使用命令
conda info
查看安装信息,确认安装成功
-
配置使用清华源,参考tuna帮助
-
取消默认的base环境
conda安装会自动生成并在每次命令行打开时自动启动base环境,base环境可以作为默认的开发环境使用。但是因为base环境无法删除,使用不当可能导致各种问题,所以不建议使用,可以通过以下命令设置为默认关闭。
conda config --set auto_activate_base false
也可以通过编辑.condarc添加
auto_activate_base: false
实现 -
建立您的环境:
conda create -n asrcat python=3
asrcat可以改成你想用的名字,python可以具体到小版本,测试使用python=3.9
-
激活环境:
conda activate asrcat
-
按照pytorch官网说明安装
以下列出安装命令:
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
-
运行以下脚本确认安装环境:https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
conda info #查看版本信息
conda create -n $env_name python=$version #创建环境
conda create --name $new_name --copy --clone $old_name #复制环境(用于重命名,如果不删除原环境可以去掉--copy命令)
conda remove --name $env_name --all #删除环境
activate $env_name #激活环境
conda deactivate #退出当前环境
conda env list #显示所有环境
conda clean -a #清理多余包,可通过-h查看具体使用方式,通常-a即可
conda search (--full-name) $package_name #查找包,full-name精确查找
conda install/update/remove (--name $env_name) $package_name
conda list #查看当前环境已安装包
kaldi是一个开源强大的语音识别工具包,CAT使用kaldi进行特征提取,语言模型训练等部分工作,并采用和kaldi相似的目录结构,以下介绍kaldi安装。
项目地址:kaldi
-
下载:git clone https://github.com/kaldi-asr/kaldi.git
-
按照目录下INSTALL文件指引安装
可能遇到的问题:
- INSTALL文件中提到make时可以使用-j多线程加速编译,线程数为$(nproc)
- 编译时kaldi可能不支持最新的g++/gcc版本,可以通过apt-get install g++-*安装需要的版本,通过update-alternatives命令实现默认版本切换,测试使用g++-7.5
-
检查是否安装成功
cd egs/yesno/s5 sh run.sh
也可以到
src/bin
目录下ls
查看是否所有的可执行文件都已编译存在。
按照CAT的文档安装:
CAT-v2:https://github.com/thu-spmi/CAT/blob/master/install.md
CAT-v1:https://github.com/thu-spmi/CAT/tree/v1#Installation
注:v1的文档中未提到OpenFST-1.6.7的安装,虽然kaldi已经安装了OpenFST,但是kaldi安装的版本并不适用于CAT的编译,请安装v2中的说明进行安装。
以下介绍一些工作中常用的工具
免费开源的版本控制系统,官网
入门教程:
命令清单:
- 阮一峰的Git命令清单
- git --help
Markdown 是一种轻量级标记语言,易于进行文档的编写。
推荐使用编辑器:
- vscode + extensions: Markdown All in One, Markdown Preview Enhanced 优点:方便自定义,可以直接配合git插件使用
- typora 优点:所见即所得(推荐)
- pycharm 优点:集成功能丰富(推荐)
- vscode 优点:自定义强大
copytranslator 阅读英文文献便捷查词
dolphin 方便的图形界面文件浏览器
chrome 比firefox更好用(雾)的浏览器
P3X-OneNote Linux下的非官方开源OneNote软件
如果遇到未说明的问题,您可以:
- open issue;
- google/baidu;zhihu;stackoverflow;google scholar;
- project documents
如有任何问题欢迎在本项目下open issue,感谢您为这份工作的补全提供的贡献。