在Ubuntu上用Docker轻松实现GPU加速的TensorFlow

发布于:2024-07-04 ⋅ 阅读:(9) ⋅ 点赞:(0)

前言

在深度学习和机器学习的世界中,GPU的使用可以显著加速模型训练和推理的速度。NVIDIA Container Toolkit允许我们在Docker容器中使用NVIDIA GPU,从而简化了在GPU上运行TensorFlow等深度学习框架的过程。本文将详细介绍如何在Ubuntu上配置NVIDIA Container Toolkit并运行GPU加速的TensorFlow容器。

为什么选择Docker?

Docker 是在 Linux 上启用 TensorFlow GPU 支持的最简单方法之一,因为只需在主机上安装 NVIDIA® GPU 驱动程序,而不必安装 NVIDIA® CUDA® 工具包。使用Docker,可以轻松地在隔离环境中运行TensorFlow,并且管理和分发依赖关系变得更加方便。

配置步骤

1. 配置生产存储库

首先,我们需要配置NVIDIA Container Toolkit的生产存储库。打开终端并执行以下命令:

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/stable/deb/nvidia-container-toolkit.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的GPG密钥添加到系统,并配置APT源以包含NVIDIA的容器工具包存储库。

2. 更新包列表

接下来,更新包列表以确保我们获取到最新的包信息:

sudo apt-get update

3. 安装NVIDIA Container Toolkit软件包

现在可以安装NVIDIA Container Toolkit:

sudo apt-get install -y nvidia-container-toolkit

4. 配置Docker以使用NVIDIA Container Toolkit

使用以下命令配置Docker容器运行时:

sudo nvidia-ctk runtime configure --runtime=docker

该命令会修改主机上的/etc/docker/daemon.json文件,使Docker可以使用NVIDIA容器运行时。

5. 重新启动Docker守护进程

要使更改生效,重新启动Docker守护进程:

sudo systemctl restart docker

6. 运行GPU加速的TensorFlow容器

现在,我们可以运行一个使用GPU加速的TensorFlow容器。执行以下命令:

sudo docker run --gpus all --restart=always -d -p 8888:8888 tensorflow/tensorflow:latest-gpu-jupyter

该命令将拉取最新的TensorFlow GPU Jupyter镜像,并在后台运行一个Jupyter Notebook服务器,端口为8888。--gpus all选项确保Docker容器能够访问所有可用的GPU。

总结

通过上述步骤,我们成功地在Ubuntu上配置了NVIDIA Container Toolkit,并运行了一个GPU加速的TensorFlow容器。使用Docker是在Linux上启用TensorFlow GPU支持的最简单方法之一,因为它只需要在主机上安装NVIDIA® GPU驱动程序,而不必安装NVIDIA® CUDA®工具包。这一配置大大简化了在容器中使用GPU的过程,使得深度学习工作更加高效。希望本文对你有所帮助,并祝你在深度学习之路上一帆风顺。