Ubuntu18.04/16.04+RTX2080Ti+docker的深度学习环境配置

2023-11-12

Ubuntu18.04/16.04+RTX2080Ti+docker的深度学习环境配置

1. NVIDIA的GPU驱动安装

根据显卡型号去NVIDIA官网下载驱动,官网链接https://www.nvidia.com/Download/index.aspx?lang=en-us

image

通过型号查找最新可用驱动程序版本,一定要装最新或者比较新的,这里选择的是460.84版本

image

下载之后上传到服务器

安装之前先清除可能存在的旧版本NVIDIA驱动(对没有安装过 NVIDIA驱动的主机,这步可以省略):

$sudo apt-get remove --purge nvidia*

安装驱动可能需要的依赖(可选)

$sudo apt-get update

把 nouveau 驱动加入黑名单

$sudo vim /etc/modprobe.d/blacklist-nouveau.conf

在文件 blacklist-nouveau.conf 中加入如下内容:

blacklist nouveau
options nouveau modeset=0

禁用 nouveau 内核模块

$sudo update-initramfs -u

如果禁用nouveau不成功可以参考这篇博客方法:https://blog.csdn.net/max_loo/article/details/81304949

之后进行重启

$sudo reboot

重启后再次进入命令行

lsmod | grep nouveau  #没有输出,即说明安装成

关闭图形界面

$sudo service lightdm stop

然后在驱动安装包的同目录下安装;

$sudo chmod u+x NVIDIA-Linux-x86_64-460.84.run
$sudo ./NVIDIA-Linux-x86_64-418.56.run –no-x-check –no-nouveau-check  –no-opengl-files

–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要,不加会出现登录界面循环重启

–no-x-check 安装驱动时不检查X服务

–no-nouveau-check 安装驱动时不检查nouveau

之后检查是否安装成功:

nvidia-smi

若出现下图则成功:

image

2 .docker安装

官方教程:Install Docker Engine on Ubuntu | Docker Documentation

2.1 docker-ce安装

更新apt工具包

sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

添加docker官方密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

会出来一个warning,不用管:
gpg: WARNING: unsafe ownership on homedir '/home/user/.gnupg'

配置稳定版仓库(这里需要根据系统架构选,不过大部分主机都是x86_64/amd64的)

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

然后再更新一下apt工具包,安装最新版本的Docker Engine and containerd,也可以安装指定版本

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

如果需要安装指定版本,列出可用版本,然后选择并安装:

apt-cache madison docker-ce

image

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

其中<VERSION_STRING>自行选择,例如可选择5:20.10.6~3-0~ubuntu-bionic

验证 Docker 引擎是否正确安装

sudo docker run hello-world

image

出现此页面,说明安装成功

2.2 docker后安装

为了每次运行不用都加sudo,可以添加用户组:

sudo groupadd docker

返回:groupadd: group 'docker' already exists

将用户添加到组里,$USER要换成自己的用户名:

sudo usermod -aG docker $USER

注销并重新登录,以便重新评估其组成员资格:

newgrp docker 

然后运行

docker version
docker run hello-world

结果与sudo docker run hello-world一致

4. Nvidia-docker安装

4.1 Nvidia Docker Image拉取

官方链接:https://hub.docker.com/r/nvidia/cuda/tags?page=1&ordering=last_updated

按照自己的需要选取所需要的镜像,之后拉取下来

例选择cuda10.2版本

docker pull nvidia/cuda:10.2-base-ubuntu18.04
4.2 配置NVIDIA Container Toolkit

官方教程:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker

设置存储库和 GPG 密钥:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

可能出现两个问题:

gpg: 找不到有效的 OpenPGP (源于指令:curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -)

E: 无法定位软件包 nvidia-docker2 (源于指令:curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list)

需要把ip地址写入host文件中

sudo vi /etc/hosts

复制以下ip到host中

185.199.108.153 nvidia.github.io
185.199.109.153 nvidia.github.io
185.199.110.153 nvidia.github.io
185.199.111.153 nvidia.github.io

重复官方代码即可

之后更新包列表后安装nvidia-docker2

sudo apt-get update
sudo apt-get install -y nvidia-docker2

在设置默认运行时间后重新启动 Docker daemon 以完成安装:

sudo systemctl restart docker

之后可以通过运行基础 CUDA 容器来测试:

sudo docker run --rm --gpus all nvidia/cuda:10.2-base-ubuntu18.04 nvidia-smi

注:

  • all后面的参数要换成自己pull下来的Image的名字,nvidia/cuda:10.2-base-ubuntu18.04只是范例
  • 完成docker后安装后,可不加sudo

image

出现此页面说明安装成功

5. docker使用

拉取镜像,配置深度学习环境

具体docker使用参考Docker使用介绍

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu18.04/16.04+RTX2080Ti+docker的深度学习环境配置 的相关文章

  • Docker Compose 保持容器运行

    我想使用 docker compose 启动一个服务并保持容器运行 这样我就可以通过 docker检查 获取它的IP地址 然而 容器总是在启动后立即退出 我尝试将 command sleep 60 和其他内容添加到 docker compo
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • 如何在Linux内核源代码中打印IP地址或MAC地址

    我必须通过修改 Linux 内核源代码来稍微改变 TCP 拥塞控制算法 但为了检查结果是否正确 我需要记录 MAC 或 IP 地址信息 我使用 PRINTK 函数来打印内核消息 但我感觉很难打印出主机的MAC IP地址 printk pM
  • 如何通过 Apache Airflow 中的 Docker Operator 使用卷

    我正在开发一个 ETL 流程 使用 DockerOperator 通过 Apache Airflow 进行调度和编排 我正在使用 Windows 笔记本电脑 因此我只能从 Docker 容器内运行 Apache Airflow 我能够在我的
  • 将 PDF 转换为 600dpi 的 TIFF 和 jpg 96 dpi

    我想使用 ImageMagick 从 Python 脚本将 pdf 转换为 600 dpi 的 tiff 和 96 dpi 的 jpg 我使用 imagemagick 命令行完成了这项任务 但我想使用python中的Imagemagick将
  • docker 容器是否即时获取代码更改?

    我已经启动并运行了我的 docker 容器 有一个容器运行一些 python 代码 我发现它导致了一些错误 我想将一些代码行 主要是更多日志 添加到该特定容器内的 python 脚本中 我想进入容器docker exec ti contai
  • Windows 上的 boot2docker 缺少 apt-get / 包管理器

    我在 boot2docker 中 我不确定我完全理解它 但它似乎是我正在进行的项目所需要的 我已经通过 ssh 登录了 并且尝试对我们的项目进行 make 但是我得到了 make not found 然后我尝试了一个 apt get ins
  • Redis+Docker+Django - 错误 111 连接被拒绝

    我正在尝试使用 Redis 作为使用 Docker Compose 的 Django 项目的 Celery 代理 我无法弄清楚我到底做错了什么 但尽管控制台日志消息告诉我 Redis 正在运行并接受连接 事实上 当我这样做时 docker
  • 如何在apache 2.4.6上安装apxs模块

    我刚刚用过apt get update我的 apache 已更新为2 4 6 我想安装 apxs 来编译模块 但收到此错误 The following packages have unmet dependencies apache2 pre
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 如何物理删除未标记的 docker 镜像

    当我运行 sudo docker rmi me myimage 等命令时 我得到响应 image untagged 但是 当我重新运行 sudo docker images 时 我可以看到这个 untagged 图像仍然存在 并且 如果我运
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • Ubuntu 12.10 libgtk-3-0 缺少符号

    我正在运行 Ubuntu 12 10 不知何故我的 libgtk 3 0 搞砸了 当尝试运行许多不同的应用程序时 我收到如下错误 gedit symbol lookup error usr lib libgtk 3 so 0 undefin
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包
  • PHP 无法打开流:是一个目录

    非常简单的 PHP 脚本 我在我亲自设置的 Ubuntu Web 服务器上的 EE 模板中运行 我知道这与权限有关 并且我已经将我尝试写入的目录的所有者更改为 Apache 用户 我得到的错误是 遇到 PHP 错误 严重性 警告 消息 fi
  • 如何为 Azure Service Fabric 中的 docker 容器指定命令行参数

    我有一个泊坞窗图像wiremock net nano https hub docker com r sheyenrath wiremock net nano 它接受额外的命令行参数 例如 Port and AdminUsername 正常的
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute

随机推荐

  • 基於RISC-V QEMU 仿真運行Linux 系統環境搭建

    前言 文章詳細說明如何從堶零開始基於RISC V QEMU 仿真運行Linux 系統環境搭建 是Linux 小白入門教程不二之選 歡迎留言討論 轉發請注明原文出處 1 準備QEMU 仿真環境 RISC V 64bits 安裝包下載地址 ht
  • 【华为OD机试】猴子爬山 (C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • 红米Note 4超简单刷成开发版获取ROOT权限的流程

    小米的设备不同手机型号一般miui论坛都提供两个不同的系统 可分为稳定版和开发版 稳定版没有提供root超级权限管理 开发版中就开启了root超级权限 较多时候我们需要使用的一些功能强大的应用 都需要在root超级权限下工作 举个栗子我们团
  • python 列表(list)排序

    使用python的sorted函数 可对列表进行排序 该函数默认从小到大排序 1 列表中为普通元素 a 80 85 90 100 a sorted a sorted函数默认从小到大排序 print a 输出结果 80 85 90 100 倒
  • RIA项目失败的教训

    作者 Abel Avram 译者 崔康 发布于 2009年7月22日 上午11时6分 社区 Architecture Java 主题 可用性 用户界面 RIA 富客户端 桌面 EffectiveUI公司主席Anthony Franco最近做
  • MySQL Note

    一 MySQL动作关键字 1 1 create 用途 创建index procedure function schema table 语法 index create unique fulltext spatial index index n
  • Vim知识详解

    这是一个笔记 Shift Lock 大小写锁定键没有按下 正常模式 按ESC处于正常模式 移动光标 q 丢弃改动并退出 x 删除当前字符 i 在当前光标插入文本 a 在句子最后添加文本 wq 保存文件以退出 dw 从光标处删除至一个单词的末
  • Matlab实现电动汽车系列仿真(附上多个完整仿真源码+数据)

    Matlab是一种功能强大的数学软件 可以用于实现各种仿真模型和算法 在本文中 我们将介绍如何使用Matlab来实现电动汽车系列仿真 说明 首先 我们需要定义电动汽车的物理模型 电动汽车的物理模型可以包括电池 电动机 传动系统和车辆动力学模
  • Microsoft Store打不开解决办法

    1 打开 运行 输入 inetcpl cpl 或者 WINDOWS R 键 输入 inetcpl cpl亦可 2 点开高级往下拉 勾上 使用TLS 1 2 选项 或者点还原高级设置 3 打开Microsoft Store刷新页面可成功打开
  • #define相关语法

    跨行的宏定义 跨行宏定义使用反斜杠 连接 define YW GPIO ERR do printk yw gpio err d LINE printk VA ARGS while 0 使用 功能 用来把参数转化成字符串 示例代码 defin
  • SpringBoot用slf4j日志 及其 项目配置、MVC支持

    一 Slf4j日志的使用 我一直以来用的都是最传统的System out println 来打印一些错误信息时 其实我也面临过一些问题 这样做的话 错误信息和别的输出结果混在一起 我一直都很难从结果里面找到我调试出来的问题 而且我用这种传统
  • Linux:函数和脚本参数

    使用以下方式定义函数 function function name 语句 1 语句 2 举例 向函数传递参数和返回值 1 在函数中获取传递的参数时 可以像脚本获取参数那样 使用位置变量 1 2 3 等 升级 vim fun sh 脚本调用
  • Unity获取Animtor过渡信息

    Animator切换动画时候 会有一个过渡的过过程 可以通过 AnimatorTransitionInfo transitionInfo animator GetAnimatorTransitionInfo 0 来获取切换状态 Animat
  • postgresql_quick_start

    文章目录 创建数据库 选择数据库 删除数据库 建表 删表 关于模式 模式的增删 和表一起操作 创建用户 示例 所有 开头的命令必须使用 postgresql 自带的可执行程序 postgresql 提供的程序大小写敏感 创建数据库 CREA
  • 2014 新版ITC 重新上传ipa 修改build version

    之前上传ipa的时候 不想改版本号 但是又想重新提交ipa的时候 提交不了 上网查了资料看到以下的解决方法就可以重新提交ipa
  • electron在window7上安装白屏问题

    问题描述 electron5 0 13以上的版本打包win7上需要 NET Framework 4 6 版本及以上版本才可以运行 但是有些win7由于是SP1的系统属于精简版window所以无法安装 NET Framework 4 6及其以
  • 教你如何在Android 6.0上创建系统悬浮窗

    转自郭林的微信公众号 今天周二 又该跟大家分享由我执笔的文章了 从之前我写的deep links 通知栏微技巧这两篇文章中 大家应该能明显体会出什么叫短小精炼 但又很有技术价值的文章 后面我还会坚持分享这种类型的文章 尽量让大家十分钟内就可
  • 华为OD机试 C++ 最快到达医院的方法

    描述 武汉出现了交通封锁 导致大壮在考虑去附近的医院时遇到了难题 大壮住在武汉 他家附近有两家医院 医院A距离他X公里 去这家医院 大壮只能乘坐计程车 车速为M米 分钟 但要等车L分钟 医院B距离他Y公里 但去这家医院 大壮只能选择步行 速
  • neo4j搭建豆瓣电影top250知识图谱踩过的坑

    neo4j 4 0 1 重置neo4j 将安装地址data文件夹中两个文件夹databases和transactions直接删除 再启动neo4j 进入浏览器会回到最开始的输入原始用户名和密码 neo4j neo4j 之前创建的数据库会清空
  • Ubuntu18.04/16.04+RTX2080Ti+docker的深度学习环境配置

    Ubuntu18 04 16 04 RTX2080Ti docker的深度学习环境配置 1 NVIDIA的GPU驱动安装 根据显卡型号去NVIDIA官网下载驱动 官网链接https www nvidia com Download index