👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
本文介绍如何在Linux实例上基于NGC部署TensorFlow。
NGC介绍
NGC(NVIDIA GPU CLOUD)是NVIDIA开发的一套深度学习容器库,具有强大的性能和良好的灵活性,可以帮助科学家和研究人员快速构建、训练和部署神经网络模型。
NGC官网提供了当前主流深度学习框架的镜像,例如Caffe、TensorFlow、Theano、Torch等。
软件版本
操作系统:本文以Ubuntu 18.04为例。
NVIDIA驱动:
GPU驱动:用来驱动NVIDIA GPU卡的程序。本文以470.57.02为例。
CUDA:使GPU能够解决复杂计算问题的计算平台。本文以CUDA 11.4为例。
CUDNN:深度神经网络库,用于实现高性能GPU加速。本文以8.2.4.15为例。
TensorFlow:深度学习框架。
前提条件
您已购买Linux实例,并勾选“后台自动安装GPU驱动”,即可使实例在启动时自动安装符合上述版本的NVIDIA驱动,从创建到驱动安装完成总耗时约 15 到 20 分钟,请耐心等待。具体操作请参见创建GPU计算型实例。
您已为Linux实例绑定公网IP,使其具备访问公网的能力。如未绑定,请参见绑定公网IP。
如果您需要使用HTTPS或DIGITS 6服务,则需要在实例安全组入方向添加如下规则:
放行端口TCP 443(用于HTTPS)或TCP 5000(用于DIGITS 6)端口。
步骤一:查看驱动版本已安装成功
远程连接云服务器并登录,具体操作请参考登录Linux实例小节。
执行以下命令,查看GPU驱动。
nvidia-smi
回显如下,表示已安装成功。执行以下命令,查看CUDA驱动。
/usr/local/cuda/bin/nvcc -V
回显如下,表示已安装成功。
步骤二:安装nvidia-docker
依次执行以下命令,设置Docker-CE。
curl https://get.docker.com | sh \ && sudo systemctl --now enable docker
依次执行以下命令,设置包存储库和 GPG 密钥。
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
执行以下命令,安装nvidia-docker2。
sudo apt-get update sudo apt-get install -y nvidia-docker2
执行以下命令,,配置Docker守护进程以识别NVIDIA容器运行时。
sudo nvidia-ctk runtime configure --runtime=docker执行以下命令,重启Docker守护进程完成安装。
sudo systemctl restart docker执行以下命令,通过运行基本CUDA容器测试nvidia-docker2已安装成功。
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
回显如下,表示安装成功。
步骤三:获取NGC镜像
登录NGC网站,注册NGC账号。
获取NGC API key并保存。
单击账号名称,下拉选择“Setup”。
单击“Get API Key”按钮。
单击页面右上角“Generate API Key“,单击“Confirm”按钮,API展示在页面最下方。
登录实例,执行以下命令,根据提示输入账号名(固定为$oauthtoken)和API Key,登录到NGC容器环境中。
docker login nvcr.io
回显如下,表示登录NGC容器环境成功。登录NGC官网,在左侧导航栏选择“Containers”。
在搜索框中输入“TensorFlow”,并单击NVIDIA L4T TensorFlow卡片的“Copy Image Path”,即可自动复制最新版本TensorFlow的镜像地址。
依次执行以下命令,拉取镜像并查看下载的镜像文件。
docker pull nvcr.io/nvidia/clara-agx/agx-tensorflow:21.05-tf1-py3 //链接请替换为上一步中复制的TensorFlow镜像地址 docker images //查看下载的镜像,回显如下,表明拉取成功
步骤四:部署TensorFlow开发环境
执行以下命令,运行容器。
nvidia-docker run --rm -it nvcr.io/nvidia/tensorflow:18.03-py3
出现如下回显,表明部署成功。
步骤五:验证测试
执行python命令,若环境正常,则直接进入python环境。
在Python环境下依次执行以下命令。
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() sess.run(hello)
回显如下,表示TensorFlow环境搭建成功。