5分钟搭建强大又好用的深度学习环境

为深度学习项目建立一个良好的环境不是一件容易的任务。因为需要处理的事情太多了:库必须匹配特定的版本,整个环境需要可以复制到其他机器上,所有东西都需要能够机器中的所有驱动程序通信。这意味着你需要为你的NVIDIA GPU安装特定的驱动程序,并且CUDA库必须与你的驱动程序和你想要使用的框架兼容。

随着容器彻底改变了软件开发的世界,现在它们也可以帮助数据科学家构建更健壮的环境。

有一件事是肯定的:数据科学可以从软件开发领域学到一些东西。

NVIDIA NGC是一个软件中心,提供gpu优化框架、预训练模型和工具包来培训和部署生产中的AI。它是一个容器注册中心,包含训练模型所需的所有工具:无论您使用的是caffee2、Pytorch、Tensorflow、Keras、Julia还是其他工具都没有关系。

在NGC目录中有大量可生产的容器,你只需要选择你自己想用的。

Nvidia NGC不仅是一个容器注册中心,它还内置了许多功能,可以帮助您的组织将模型带到生产环境中。

从头开始

让我们从一台配备了GPU的Linux机器开始(GPU不是强制性的,但如果你想训练模型,强烈建议使用GPU)。我在Ubuntu 20.04 LTS和18.04 LTS上测试了这个功能,但是可以很容易地适应其他Linux发行版。

我们需要做什么?

步骤很简单,我们只需要安装NVIDIA驱动程序和Docker。然后我们下载我们想要的docker镜像并开始工作!

第一步:在Ubuntu 20.04上安装NVIDIA驱动程序

注意:如果你使用的是另一个Ubuntu版本,请确保你修改了相应的脚本。此外,如果启用了Secure Boot,这种方法也不起作用。

sudo apt install linux-headers-$(uname -r)curl -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pinsudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600sudo apt-key adv - fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pubsudo add-apt-repository 'deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /'sudo apt updatesudo apt -y install cuda

使用nvidia-smi命令验证安装。你应该看到这样的东西。

第二步:在Ubuntu 20.04中安装Docker

#!/bin/sh#Set up the repositorysudo apt-get updatesudo apt-get install -y \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common# Add Docker’s official GPG key:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -# set up the stable repositorysudo add-apt-repository \'deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable'sudo apt-get updatesudo apt-get install -y docker-ce docker-ce-cli containerd.io# Substitute ubuntu with your usernamesudo usermod -aG docker ubuntu

注意:你需要注销和登录,以在没有sudo权限的情况下使用docker命令。

第三步:让Docker与NVIDIA driver通信

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \sudo apt-key add -curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \sudo tee /etc/apt/sources.list.d/nvidia-docker.listsudo apt updatesudo apt-get install -y docker nvidia-container-toolkit

我们现在想测试Docker是否能够与NVIDIA驱动程序通信。要做到这一点,只需运行以下命令,您应该会看到与步骤1类似的结果。

sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

注意:我在不同的云主机提供商上试验过,根据操作系统、虚拟机类型和gpu,此时可能需要重启。因此,如果出现错误,请尝试sudo reboot并再次执行上述命令。正常的话应该看到nvidia-smi结果。

第四步:让我们获取镜像并运行它!

#Download NGC Tensorflow 2 Imagedocker pull nvcr.io/nvidia/tensorflow:20.12-tf2-py3# create local_dir folder mounted at /container_dir in the containermkdir /home/ubuntu/local_dirdocker run --gpus all --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -it --rm -v /home/ubuntu/local_dir:/container_dir nvcr.io/nvidia/tensorflow:20.10-tf2-py3

注意:flags - shm-size=1g - ulimit memlock=-1 - ulimit stack=67108864是必要的,为了避免操作系统限制资源分配给Docker容器。

我们现在进入了容器,让我们看看是否一切正常。

正如你从图片中看到的,GPU是可用的,tensorflow可以使用它。

最后:访问docker环境

当您断开与机器的连接时,您将注意到您已经不在容器内了。

要再次连接,你需要使用docker ps找到正在运行的容器的container_ id,然后:

docker exec -it <containerid> /bin/bash</containerid>

最后总结

在本教程中,我们发现使用NVIDIA NGC的图像创建一个具有所有库和工具的生产就绪环境是多么容易。

我们看到了配置Docker使其与NVIDIA驱动程序和所需框架通信是多么容易。

我们在5分钟内完成了所有这些工作

(0)

相关推荐

  • Ubuntu 18.04上安装cuda

    一.准备工作 参照官网上资料,进行准备工作 1. 验证自己的电脑是否有一个可以支持CUDA的GPU $ lspci | grep -i nvidia 我的显示为Tesla P800 if it is ...

  • 配置深度学习tensorflow GPU版本

    配置深度学习tensorflow GPU版本

  • Ubuntu16.04下nvidia驱动+cuda+cudnn+nccl安装

    前言 如果出现装了驱动进不了桌面的情况(下面有解决方法),然后重装了两遍nvidia驱动还进不去,重装Ubuntu是最省时间的做法! 以下的安装流程从网上各个博客进行收集来的,试了一遍可以完全安装成功 ...

  • 技术文档丨如何为Apollo安装低时延/实时内核

    本文档描述了在Ubuntu 18.04上安装低时延(Low-Latency) 或实时 (Realtime)内核及Nvidia驱动的步骤.   ENJOY THE FOLLOWING   仅在实车上运行 ...

  • Ubuntu18.04安装CUDA开发工具

    我最近购入了一个TX1,然后安装系统的话是要用一个Ubuntu下 的工具安装,然后体验了一下这个工具,感觉真的很不错. 虽然是里面可以直接把主机端的开发环境安装好,但是也有毛病,后面的那个编辑器一打开 ...

  • 在启用GPU的Docker容器中运行AI模型

    容器技术(例如Docker)极大地简化了依赖性管理和软件的可移植性.在本系列文章中,我们将探讨Docker在机器学习(ML)场景中的用法. 本系列假定您熟悉ML,一般的容器化,尤其是Docker.欢迎 ...

  • Jetson Nano安装tensorflow2.5(英伟达版本)

    今天给我们的小主角安装tensorflow,一直为没舍得让它跑高算力东西,今天安装一下. 什么是TF? TensorFlow™ 是一个开源软件库,用于使用数据流图进行数值计算.图中的节点表示数学运算, ...

  • Ubuntu1804中重新认识docker

    这又是一篇充数的笔记--之前在Ubuntu中折腾过好几次了,但是关于他俩之间的故事总是参杂着第三者,不太纯粹,这一次只说她两之间的故事. 上一篇笔记弄好了Ubuntu环境.之后就是准备迎娶docker ...

  • (9条消息) WSL2 安装教程 CUDA 配置 自测已成功

    JichaoZhao2020-07-28 17:59:18 分类专栏:Linux文章标签:cudatensorflowaptgpu深度学习 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...

  • Ubuntu:Ubuntu下安装Anaconda和Tensorflow的简介、入门、安装流程之详细攻略

    Ubuntu:Ubuntu下安装Anaconda和Tensorflow的简介.入门.安装流程之详细攻略 相关文章 Ubuntu:Ubuntu下安装Anaconda和Tensorflow的简介.入门.安 ...

  • 2021年 Windows10 环境下使用WSL和Docker 配置深度学习环境

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Windows10 环境下使用WSL2和Docker 配置深度学习环境以及踩坑记录 (使用 Ubuntu 18.04+ Cuda) 前 ...