docker 获取Nvidia 镜像 | cuda |cudnn
本文分享如何使用docker获取Nvidia 镜像,包括cuda10、cuda11等不同版本,cudnn7、cudnn8等,快速搭建深度学习环境。
1、来到docker hub官网,查看有那些Nvidia 镜像
https://hub.docker.com/r/nvidia/cuda/tags?page=2&name=11.3

这里可以输入cuda的版本比如11.6,或筛选出相关的镜像:
https://hub.docker.com/r/nvidia/cuda/tags?page=1&name=11.6

旁边还有镜像名称的排序方式:

2、拉取镜像到本地
选择好想要的镜像,比如:11.3.1-cudnn8-devel-ubuntu20.04

点击右边的复制按键

复制到命令:
docker pull nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04
然后到命令终端执行:

这时就开始把nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04镜像,拉到本地啦,需要等待一会。
3、查看镜像,打开镜像
拉取镜像完成后,用docker images命令查看镜像的情况:
docker images

能看到nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04镜像在本地了,镜像大小是8.95G。
打开镜像(常规模式--支持使用GPU)
docker run -i -t --gpus all nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04 /bin/bash

打开镜像(增强模式--支持使用GPU、映射目录、设置内存)
docker run -i -t -v /home/liguopu/:/guopu:rw --gpus all --shm-size 16G nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04 /bin/bash
平常进入了docker环境,然后创建或产生的文件,在退出docker环境后会“自动销毁”;或者想运行本地主机的某个程序,发现在docker环境中找不到。
我们可以通过映射目录的方式,把本地主机的某个目录,映射到docker环境中,这样产生的文件会保留在本地主机中。
通过-v 把本地主机目录 /home/liguopu/ 映射到docker环境中的/guopu 目录;其权限是rw,即能读能写。
默认分配很小的内参,在训练模型时不够用,可以通过参数设置:比如,我电脑有32G内参,想放16G到docker中使用,设置为 --shm-size 16G。
4、测试镜像cuda和cudnn
用nvidia-smi看看显卡信息

这里看到的CUDA Version: 11.4,是和主机一致的,但我们想要的是11.3,没关系继续往下看。
用nvcc -V 命令查看,才是实际的cuda版本,后面搭建深度学习环境,也是依赖这里的cuda 11.3。

用ls /usr/local/命令看看cuda安装路径

下面就开始搭建深度学习环境啦
5、安装conda环境
默认的系统镜像可能没有conda也没有python,我们可以安装Anaconda,来搭建深度学习环境
这里有两个下载地址可以选择,分别是官方下载地址、清华大学开源软件镜像站。
官方下载地址:Free Download | Anaconda
如果觉得官方地址下载慢,可以尝试下清华大学的下载地址:
清华大学开源软件镜像站:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
比如选择:Anaconda3-2023.07-2-Linux-x86_64.sh
安装Anaconda3
进入下载文件的位置,打开终端terminal在文件目录下,使用bash 执行安装就可以啦:
bash Anaconda3-2023.07-2-Linux-x86_64.sh
安装过程:
1)输入回车键确认安装;
2)阅读Anaconda最终用户许可协议,按下回车浏览完信息;
3)问我们是否接受该协议,只能接受了,输入yes;(Do you accept the license terms? [yes|no])
4)提示安装到以下位置,回车确认即可;(Anaconda3 will now be installed into this location:)
5)是否加入环境变量,通常是选择yes的;这个根据自己情况选择,如果经常用conda环境开发,建议选择yes(Do you wish the installer to initialize Anaconda3 in your /home/linuxidc/.bashrc ? [yes|no])
开始安装页面

安装过程:

完成conda安装:

用另一个终端打开这个镜像创建的容器:

能看到能conda的初始环境了,说明conda安装成功啦。
相关文章:
docker 获取Nvidia 镜像 | cuda |cudnn
本文分享如何使用docker获取Nvidia 镜像,包括cuda10、cuda11等不同版本,cudnn7、cudnn8等,快速搭建深度学习环境。 1、来到docker hub官网,查看有那些Nvidia 镜像 https://hub.docker.com/r/nvidia/cuda/tags?page2&name11.…...
uTool快捷指令
send("************"); quickcommand.sleep(200); keyTap("enter");...
R reason ‘拒绝访问‘的解决方案
Win11系统 安装rms的时候报错: Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck vI[[j]]) : namespace Matrix 1.5-4.1 is already loaded, but > 1.6.0 is required## 安装rms的时候报错,显示Matrix的版本太低…...
许战海战略文库|品类缩量时代:制造型企业如何跨品类打造份额产品?
所有商业战略的本质是围绕着竞争优势与竞争效率展开的。早期,所有品牌立足于从局部竞争优势出发。因此,品牌创建初期大多立足于单个品类。后期增长受限,就要跨品类持续扩大竞争优势,将局部竞争优势转化为长期竞争优势,如果固化不前很难获得增…...
BIT-4-数组
一维数组的创建和初始化一维数组的使用 一维数组在内存中的存储 二维数组的创建和初始化二维数组的使用二维数组在内存中的存储 数组越界数组作为函数参数数组的应用实例1:三子棋 数组的应用实例2:扫雷游戏 1. 一维数组的创建和初始化 1.1 数组的创建 …...
L9945的H桥续流模式
在H桥的配置中,包括两种续流模式:主动续流和被动续流。 一个L9945可输出两个H桥驱动。HB1在CMD3中配置,HB2在CMD7中配置。 主动续流:通过Q3的MOS的二极管来续流 被动续流:通过Q3外部的二极管来续流...
Ubuntu20.04安装Nvidia显卡驱动、CUDA11.3、CUDNN、TensorRT、Anaconda、ROS/ROS2
1.更换国内源 打开终端,输入指令: wget http://fishros.com/install -O fishros && . fishros 选择【5】更换系统源,后面还有一个要输入的选项,选择【0】退出,就会自动换源。 2.安装NVIDIA驱动 这一步最痛心…...
linux下使用crontab定时器,并且设置定时不执行的情况,附:项目启动遇到的一些问题和命令
打开终端,以root用户身份登录。 运行以下命令打开cron任务编辑器: crontab -e 如果首次编辑cron任务,会提示选择编辑器。选择你熟悉的编辑器,比如nano或vi,并打开相应的配置文件。 在编辑器中,添加一行类…...
linux下二进制安装docker最新版docker-24.0.6
一.基础环境 本次实操是公司技术培训下基于centos7.9操作系统安装docker最新版docker-24.0.6,下载地址是:https://download.docker.com/linux/static/stable/x86_64/docker-24.0.6.tgz 二. 下载Docker压缩包 mkdir -p /opt/docker-soft cd /opt/docker…...
计算机视觉 01(介绍)
一、深度学习 1.1 人工智能 1.2 人工智能,机器学习和深度学习的关系 机器学习是实现人工智能的一种途径,深度学习是机器学习的一个子集,也就是说深度学习是实现机器学习的一种方法。与机器学习算法的主要区别如下图所示[参考:黑…...
Java下部笔记
目录 一.双列集合 1.Map 2.Map的遍历方式 3.可变参数 4.Collection中的默认方法 5.不可变集合(map不会) 二.Stream流 1.获取stream流 2.中间方法 3.stream流的收集操作 4.方法引用 1.引用静态方法 2.引用成员方法 3.引用构造方法 4.使用类…...
链表基本操作
单链表简介 单链表结构 头指针是指向链表中第一个结点的指针 首元结点是指链表中存储第一个数据元素a1的结点 头结点是在链表的首元结点之前附设的一个结点;数据域内只放空表标志和表长等信息 单链表存储结构定义: typedef struct Lnode { ElemTyp…...
Linux学习笔记-Ubuntu系统下配置用户ssh只能访问git仓库
目录 一、基本信息1.1 系统信息1.2 git版本[^1]1.2.1 服务器端git版本1.2.2 客户端TortoiseGit版本1.2.3 客户端Git for windows版本 二、创建git用户和群组[^2]2.1 使用groupadd创建群组2.2 创建git用户2.2.1 使用useradd创建git用户2.2.2 配置新建的git用户ssh免密访问 2.3 创…...
央媒发稿不能改?媒体发布新闻稿有哪些注意点
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 “央媒发稿不能改”是媒体行业和新闻传播领域的普遍理解。央媒,即中央主要媒体,是权威性的新闻源,当这些媒体发布新闻稿或报道时,其他省、…...
计算机竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)
文章目录 0 前言1 课题说明2 效果展示3 具体实现4 关键代码实现5 算法综合效果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学…...
KPM算法
概念 KMP(Knuth–Morris–Pratt)算法是一种字符串匹配算法,用于在一个主文本字符串中查找一个模式字符串的出现位置。KMP算法通过利用模式字符串中的重复性,避免无意义的字符比较,从而提高效率。 KMP算法的核心思想是…...
全流程GMS地下水数值模拟及溶质(包含反应性溶质)运移模拟技术教程
详情点击公众号链接:全流程GMS地下水数值模拟及溶质(包含反应性溶质)运移模拟技术教程 前言 GMS三维地质结构建模 GMS地下水流数值模拟 GMS溶质运移数值模拟与反应性溶质运移模 详情 1.GMS的建模数据的收集、数据预处理以及格式等ÿ…...
GE D20 EME 10BASE-T电源模块产品特点
GE D20 EME 10BASE-T 电源模块通常是工业自动化和控制系统中的一个关键组件,用于为系统中的各种设备和模块提供电源。以下是可能包括在 GE D20 EME 10BASE-T 电源模块中的一些产品特点: 电源输出:D20 EME 模块通常提供一个或多个电源输出通道…...
游戏工作时d3dcompiler_47.dll缺失怎么修复?5种修复方法分享
游戏提示 d3dcompiler_47.dll 缺失的困扰,相信许多玩家都遇到过。这种情况通常会导致游戏无法正常运行,给玩家带来很大的不便。那么,该如何解决这个问题呢?小编将为大家介绍几种解决方法,希望对大家有所帮助。 首先&am…...
关于激光探测器光斑质心算法在FPGA硬件的设计
目录 0引言 1CCD采集图像质心算法 2基于FPGA的图像质心算法 3仿真结果与分析 4结论 0引言 在一些姿态检测的实际应用中,需要在被测对象上安装激光探测器[1],利用CCD相机捕捉激光光斑来检测观测对象的实际情况,光斑图像质心坐标的提取是图…...
Hi3559AV100 MPP开发:从IMX334到HDMI输入,VI参数配置避坑指南(含/proc/umap解析)
Hi3559AV100 MPP开发实战:非标准HDMI输入与VI参数配置深度解析 当我们需要在Hi3559AV100平台上接入HDMI视频源时,传统的MIPI摄像头配置方案往往无法直接适用。本文将从一个真实项目案例出发,详细讲解如何将原本为IMX334 MIPI摄像头设计的VI参…...
开源密钥管理器VSV:一个加密文件搞定多环境密钥管理
1. 项目概述:一个面向开发者的加密密钥管理器最近在折腾一个内部项目,需要管理不同环境(开发、测试、生产)的数据库密码、API密钥这些敏感信息。一开始图省事,直接写在了.env文件里,结果在代码评审时被同事…...
2026年搜索引擎大变革:生成式优化服务如何引领未来趋势
随着AI技术的不断进步,搜索引擎领域正在经历一场前所未有的变革。2026年,我们见证了从传统SEO到生成式引擎优化(GEO)的重大转变。这场变革不仅改变了用户获取信息的方式,也为企业带来了全新的营销机遇。本文将深入探讨…...
AI Agent开发实战:从核心范式到工程落地的完整指南
1. 项目概述:一场静悄悄的技术代际更迭最近和几个技术团队负责人聊天,话题总绕不开“AI Agent”。大家的感觉出奇地一致:这玩意儿的发展速度,快得有点让人喘不过气。新闻里、论文里、各种技术峰会上,关于智能体&#x…...
互联网大厂 Java 求职面试:音视频场景中的 Spring Boot 与 Kafka
互联网大厂 Java 求职面试:音视频场景中的 Spring Boot 与 Kafka 在一次互联网大厂的面试中,面试官与燕双非展开了一场关于音视频处理的技术探讨。第一轮提问 面试官:燕双非,你能告诉我在音视频场景下,使用 Spring Boo…...
Python+OpenCV+PyQt5+SVM实现车牌识别系统(源码)
目录 一、项目背景 二、技术介绍 三、功能介绍 四、 代码设计 五、系统实现 一、项目背景 随着我国城市化进程的不断加快,机动车保有量呈现持续快速增长态势。据公安部统计,2024年全国机动车保有量已突破4.5亿辆,其中汽车占比超过80%。…...
从FPGA工程师的视角看AMBA总线:手把手教你用Verilog实现一个简易APB外设
从FPGA工程师的视角看AMBA总线:手把手教你用Verilog实现一个简易APB外设 在FPGA和数字IC设计领域,AMBA总线协议就像城市中的交通网络,负责协调各个功能模块之间的数据流动。而APB(Advanced Peripheral Bus)作为AMBA家族…...
CANdela Studio配置避坑指南:从10服务到Data Type,这些细节别踩雷
CANdela Studio配置避坑指南:从10服务到Data Type,这些细节别踩雷 在汽车电子诊断功能开发中,CANdela Studio作为诊断数据库(CDD)的核心编辑工具,其配置精度直接影响着诊断协议栈的生成质量。许多工程师能够完成基础配置ÿ…...
AI编程助手色彩科学技能库:从OKLCH到APCA的现代色彩实践
1. 项目概述:一个为AI编程助手打造的“色彩科学专家”技能库如果你和我一样,经常在开发与色彩相关的工具、设计系统,或者需要向团队解释为什么某个颜色方案行不通时,总得反复查阅同一堆资料——那个讲解OKLAB色彩空间的视频、那篇…...
从云原生到边原生:AI营销一体机如何重构企业的“数字孪生”基础设施?
摘要: 随着大模型参数量的激增,传统的“端-管-云”架构在处理高频营销任务时遭遇了带宽与延迟的瓶颈。本文将探讨“边原生(Edge-Native)”架构的崛起,并以卡特加特AI营销一体机为例,解析如何利用本地化超…...
