NVIDIA NGC使用记录

文章目录

  • [NGC 介绍 参考](https://zhuanlan.zhihu.com/p/41153237)
  • CUDA的deviceQuery命令
  • triton-inference-server 启动记录
    • 确定安装的容器版本
    • 创建模型仓库
    • 运行client 示例
    • 模型仓库
  • NGC 命令使用
  • Riva 使用记录

NGC 介绍 参考

1,登陆(需要翻墙)
2,安装 NGC CLI
在这里插入图片描述
在这里插入图片描述
根据平台选择相应的下载,我是AMD64 先择执行下面的命令(关闭翻墙下载更快)

wget -O ngccli_cat_linux.zip https://ngc.nvidia.com/downloads/ngccli_cat_linux.zip && unzip -o ngccli_cat_linux.zip && chmod u+x ngc
md5sum -c ngc.md5
echo "export PATH=\"\$PATH:$(pwd)\"" >> ~/.bash_profile && source ~/.bash_profile

接下来需要获取AIPKEY
回到上面图片的页面
在这里插入图片描述
在这里插入图片描述
获取到KEY之后
继续执行

ngc config set

依次输入
在这里插入图片描述

docker login nvcr.io
Username: $oauthtoken
Password: <Your Key>

看到success 就成功了
在这里插入图片描述

CUDA的deviceQuery命令

 yum install -y redhat-lsb

查看系统版本

lsb_release -a

在这里插入图片描述
cuda 安装路径 cd /usr/local/cuda-11.2
在这个目录下 cp -r ./samples/ /home/xxxx/

cd /home/xxxx/samples 
make

make成功之后会得到一个bin文件,cd到bin路径下,可以看到好多可执行文件,其中就包括我们要使用的deviceQuery,执行./deviceQuery便可以看到你服务器上所有的GPU信息啦

cd bin/
cd x86_64/linux/release/
cp deviceQuery /usr/local/bin/

然后就可以直接在命令行使用deviceQuery 命令了

triton-inference-server 启动记录

确定安装的容器版本

根据support-matrix确定容器版本
我的系统确定的是21.02
使用GPU 推理必须安装NVIDIA Container Toolkit.

docker pull nvcr.io/nvidia/tritonserver:21.02-py3
docker pull nvcr.io/nvidia/tritonserver:21.02-py3-sdk

创建模型仓库

git clone https://github.com/triton-inference-server/server.git
cd server/docs/examples
./fetch_models.sh
docker run --gpus=1 --rm -p8000:8000 -p8001:8001 -p8002:8002 -v/home/xxx/server/docs/examples/model_repository:/models nvcr.io/nvidia/tritonserver:21.02-py3 tritonserver --model-repository=/models

输出如下:
在这里插入图片描述
在这里插入图片描述
如果只用cpu,就去掉 --gpu

验证triton 是否正确运行

curl -v localhost:8000/v2/health/ready

正常输出如下

< HTTP/1.1 200 OK
< Content-Length: 0
< Content-Type: text/plain

运行client 示例

docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:21.02-py3-sdk

会进入容器,输入下面的命令

/workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg

输出

Request 0, batch size 1
Image '/workspace/images/mug.jpg':15.346230 (504) = COFFEE MUG13.224326 (968) = CUP10.422965 (505) = COFFEEPOT

模型仓库

tritonserver启动的时候通过--model-repository指定模型仓库的路径
模型仓库的文件夹结构如下

model_repository/
├── densenet_onnx # 模型名称
│   ├── 1 # 版本
│   │   └── model.onnx #模型文件
│   ├── config.pbtxt #配置文件
│   └── densenet_labels.txt # 标签
└── simple_string├── 1│   └── model.graphdef└── config.pbtxt

config.pbtxt 是模型的配置文件,根据模型可选 ,更多时候可以triton自动生成
config.pbtxt 必须包含如下内容:
1,platform

1,For TensorRT, ‘platform’ must be set to tensorrt_plan. Currently, TensorRT backend does not support ‘backend’ field
2, For PyTorch, ‘backend’ must be set to pytorch or ‘platform’ must be set to pytorch_libtorch
3,For ONNX, ‘backend’ must be set to onnxruntime or ‘platform’ must be set to onnxruntime_onnx
4,For TensorFlow, 'platform must be set to tensorflow_graphdef or tensorflow_savedmodel. Optionally ‘backend’ can be set to tensorflow

2,name
可选,不设置会自动以文件夹名为文件名
3,max_batch_size

NGC 命令使用

https://docs.ngc.nvidia.com/cli/cmd.html

1,查看镜像列表(–format_type 可选: ascii, csv, json)

ngc registry image --format_type ascii list

在这里插入图片描述

2,查看某一镜像tag的详细信息

ngc registry image --format_type json info nvidia/pytorch

3,下载NGC镜像

ngc registry image pull [镜像路径]:[镜像tag]

4,下载安装包

ngc registry resource download-version "nvidia/riva/riva_quickstart:1.5.0-beta"

Riva 使用记录

介绍
文档

1,安装

ngc registry resource download-version "nvidia/riva/riva_quickstart:1.5.0-beta"
cd riva_quickstart_v1.5.0-beta

修改 config.sh 中要下载的模型,例如 ,我是用ASR模型

service_enabled_nlp=false
service_enabled_tts=false

模型下载到docker volume的位置
查看docker volume的位置

cat /etc/docker/daemon.json 

在这里插入图片描述
之后

bash riva_init.sh
bash riva_start.sh

使用

启动一个示例client,查看notebook

bash riva_start_client.sh
jupyter notebook --ip=0.0.0.0 --allow-root --notebook-dir=/work/notebooks


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部