本文介绍如何在Linux实例上基于NGC部署TensorFlow。
NGC(NVIDIA GPU CLOUD)是NVIDIA开发的一套深度学习容器库,具有强大的性能和良好的灵活性,可以帮助科学家和研究人员快速构建、训练和部署神经网络模型。
NGC官网提供了当前主流深度学习框架的镜像,例如Caffe、TensorFlow、Theano、Torch等。
nvidia-smi
/usr/local/cuda/bin/nvcc -V
依次执行以下命令,设置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 API key并保存。
登录实例,执行以下命令,根据提示输入账号名(固定为$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 //查看下载的镜像,回显如下,表明拉取成功
执行以下命令,运行容器。nvidia-docker run --rm -it nvcr.io/nvidia/tensorflow:18.03-py3
出现如下回显,表明部署成功。
python
命令,若环境正常,则直接进入python环境。回显如下,表示TensorFlow环境搭建成功。import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() sess.run(hello)