NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结

说明

Nemo cpu版本直接看文章最后一部分(linux版本的),windows下安装的话要先安装CUDA来支持GPU,在安装pytorch,在安装nemo,但是还是出问题了,不建议windows,建议使用linux、mac。

NeMo是由NVIDIA ,这是一种会话式人工智能的神经模块和模型。会话式人工智能正在改变我们与计算机的交互方式。它包括三个令人兴奋的人工智能研究领域:自动语言识别(Automatic Speech Recognition,ASR)、自然语言处理(Natural Language Processing,NLP)和语言合成(或文本到语音,Text-to-Speech,TTS)。NVIDIA 的目标是通过让研究人员和从业人员更容易地访问、重用和建立这些领域的最新构建模块和预训练模型,使这些领域的进展能够实现民主化并得到加速。

CUDA安装步骤:

  1. miconda或者anconda环境(我使用的是miconda)
  2. 查看与自己电脑驱动程序版本(我的419.71)匹配的CUDAToolkit版本(CUDA10.0)

NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第1张图片
对应版本信息查询:对应版本信息查询https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#abstract

NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第2张图片
然后到cuda官网下载对应版本,我的版本10.0
CUDA10.0版本下载:CUDA官网
https://developer.nvidia.com/cuda-10.1-download-archive-update1
NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第3张图片
3. 下载完成后安装(自定义安装)

NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第4张图片
上面图片是别人安装过程。我安装的时候是全部选中安装了,因为中间出问题了。参考网上还有别的说要选中Driver components. 最好都选中吧

安装完成后配置环境变量(前两个会默认已经添加了的)

CUDA_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
CUDA_PATH_V10_1 = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第5张图片
最后测试是否安装成功:
cmd cd到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite目录下,执行
deviceQuery.exe 执行 bandwidthTest.exe

NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第6张图片
fail的代表失败,就在这里踩坑了。
报错了:

 CUDA driver version is insufficient for CUDA runtime version
Result = FAIL

错误原因是显卡驱动的版本和你安装的CUDA版本不匹配,CUDA版本对显卡驱动版本有要求

解决办法:查看一下自己的显卡驱动版本 2: 到这里下载一个 对应版本的驱动
下载地址 驱动下载
https://www.nvidia.cn/Download/index.aspx?lang=cn

NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第7张图片
下载自己电脑对应显卡的最新驱动,然后安装更新。安装步骤自定义全选中,或者默认精简安装都可以。
4. 安装成功后再来测试 (deviceQuery.exe pass代表成功bandwidthTest.exe pass代表成功)
NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第8张图片

安装pytorch

安装步骤参考pytorch官网
pytorch
然后执行对应gup版本的pytorch版本

# CUDA 10.1
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1

NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第9张图片
测试安装成功
NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第10张图片

NeMo安装

NeMo是NVIDIA最近开源的一种会话式人工智能的神经模块和模型。

会话式人工智能正在改变我们与计算机的交互方式。它包括三个令人兴奋的人工智能研究领域:自动语言识别(Automatic Speech Recognition,ASR)、自然语言处理(Natural Language Processing,NLP)和语言合成(或文本到语音,Text-to-Speech,TTS)。NVIDIA 的目标是通过让研究人员和从业人员更容易地访问、重用和建立这些领域的最新构建模块和预训练模型,使这些领域的进展能够实现民主化并得到加速。

安装方式参考nemo的githubgithub:NeMo

  1. 首先想着是在windows安装nemo,开发会方便些。没想到过程是无比艰难,最后还没安装成功。
    说一下安装过程:在虚拟环境中pip install nemo nemo_toolkit[all]安装失败后。我使用了网上推荐的conda环境,网上推荐的两种方式
    腾讯云腾讯云
参考腾讯云 (GPU 的 PyTorch 1.6 版或更高版本,NeMo 可以简单地通过 PIP 安装)
pip install nemo_toolkit[all]==1.0.0b1
采用github安装方式
pip install nemo_toolkit['all']  windows要去掉引号 pip install nemo_toolkit[all] 

安装过程中还是报错,一会是少了C++文件,一会是OSError: [WinError 126] 找不到指定的模块。 Error loading “D:\Anaconda\envs\tensorflow\lib\site-packages\torch\lib\asmjit.dll” or one of its dependencies.
还有其他错误,每次报错解决后会有不同的错误。
最后自创安装方式

pip install nemo

虽然是安装成功了,但是运行代码时报错,还是关于nemo关于某些文件无法加载和缺少某些文件的错误。
最终放弃了windows使用了linux
2. linux安装nemo
参考githubnemo_github
为了方便,而且熟练docker的话建议使用docker容器下载(docker安装不在过多介绍,很简单)

docker run --gpus all -it --rm -v :/NeMo --shm-size=8g \
-p 8888:8888 -p 6006:6006 --ulimit memlock=-1 --ulimit \
stack=67108864 --device=/dev/snd nvcr.io/nvidia/pytorch:21.05-py3

介绍下python环境下(基本python环境就可以,当然conda更好)安装pip 安装 步骤如下
3. linux下pip安装nemo安装注意
先执行

apt-get update && apt-get install -y libsndfile1 ffmpeg

然后安装

pip install Cython

git推荐直接使用下面命令的,但是直接执行中间会报错

pip install nemo_toolkit['all']

因为中间会遇到安装pyamg时报错。然后我看pyamg的git仓库得知:我们先要安装对应版本及以上的numpy和scipy,(pyamg一定要单独安装,不然bulid时会报错)
还有安装ipykernel的时候importlib-metadata版本不对,安装typer时click版本不对的问题(不过ipykernel, typer报错问题不大,会自动安装别的版本)。
NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第11张图片
在这里插入图片描述
解决方案 安装上面图片中对应版本的包。

pip install Cython numpy scipy -i https://pypi.doubanio.com/simple/
pip install pyamg -i https://pypi.doubanio.com/simple/

最后在执行 (linux下all要加引号)
安装比较慢可使用豆瓣源

pip install nemo_toolkit['all']  -i https://pypi.doubanio.com/simple/

最后顺利安装好nemo, 然后我们只要进行微调,就能体验nemo的语音识别,语音合成,自然语言处理等模型了。
只需修改几行代码,就可以将其转换为一个脚本,用于训练基于 BERT 的问答模型。
NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第12张图片
做一个简单的翻译来测试nemo
加载模型
NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第13张图片
翻译结果
NVIDIA开源NeMo,CUDA,pytorch安装使用过程踩坑总结_第14张图片

总结:当然可以在安装jupyter-notebook,设置外部访问配置,这样我们就可以用别的机子(比如你是windows下的话)来远程notebook开发是非常方便的。
感谢: 再次感谢英伟达官方开源的nemo,以及NLP公开课老师的分享
nvidia ngc nvidia预训练模型 https://ngc.nvidia.com/catalog/models

你可能感兴趣的:(python,nlp)