1.NeMo 开源工具包
1.1 关于 NeMo
NeMo(Neural Modules)是 NVIDIA 发布的基于 PyTorch 的开源工具包,它允许开发者快速构建、训练和微调会话式人工智能模型
NeMo 由 NeMo Core 和 NeMo Collection 组成,NeMo Core 为所有模型和模块提供了一个通用的外观,NeMo Collection 则是特定领域模块和模型的组合
NeMo Collection 主要分为三个模块:
- Speech Collection(nemo_asr):用于 ASR 任务的模型,如语音识别、命令识别等
- NLP Collection(nemo_nlp):用于 NLP 任务的模型,如问题回答、命名实体识别等
- Speech Synthesis(nemo_tts):用于 TTS 任务的模块,如谱图生成器、声码器等
NeMo 的应用栈如下图
1.2 安装 NeMo 语音工具包(NeMo Speech Collection)
root@Alex-McAvoy:~$ apt-get update && sudo apt-get install -y libsndfile1 ffmpeg
root@Alex-McAvoy:~$ pip install Cython
root@Alex-McAvoy:~$ pip install --user pytest-runner
root@Alex-McAvoy:~$ pip install rosa numpy==1.19.4
root@Alex-McAvoy:~$ pip install torchmetrics==0.6.0
root@Alex-McAvoy:~$ pip install nemo_toolkit[all]==1.4.0
root@Alex-McAvoy:~$ pip install ASR-metrics
1.3 NeMo 语音工具包检测
若没有报错表示安装成功(Warning 无需理会)
root@Alex-McAvoy:~$ python
>>> import nemo
>>> import nemo.collections.asr as nemo_asr
2.TAO 模型训练工具
2.1 关于 TAO
TAO(Train, Adapt and Optimize)是 NVIDIA 基于TensorFlow 和 PyTorch 构建的工具套件,其利用迁移学习从现有的神经网络模型中已学习到的特征提取到新的自定义模型中,通过利用自己的数据对预训练 NVIDIA 模型进行微调,并针对推理进行优化
关于 TAO 的详细介绍,见:NVIDIA TAO 工具套件
TAO 的应用栈如下图
2.2 安装运行 TAO 的 Virtualenv 虚拟环境
为确保 TAO 有独立的 Python 运行环境,需要安装 Virtualenv 虚拟环境
root@Alex-McAvoy:~$ pip install virtualenv virtualenvwrapper
root@Alex-McAvoy:~$ mkdir $HOME/.virtualenvs
之后,利用 vim 在 ~/.bashrc
中,添加如下行:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=$HOME/miniconda3/bin/python3
source $HOME/miniconda3/bin/virtualenvwrapper.sh
保存退出后,执行 source ~/.bashrc
重新加载 bash 配置
最后,创建名为 tao 的虚拟环境
root@Alex-McAvoy:~$ mkvirtualenv tao -p $HOME/miniconda3/bin/python3
2.3 安装 TAO 模型训练工具
执行 workon tao
进入之前创建的名为 tao 的虚拟环境,然后在其中安装 TAO
(tao)root@Alex-McAvoy:~$ pip3 install nvidia-pyindex
(tao)root@Alex-McAvoy:~$ pip3 install nvidia-tao
(tao)root@Alex-McAvoy:~$ tao info
当出现以下信息后,说明安装成功