MMDeploy部署实战系列【第一章】:Docker,Nvidia-docker安装

2023-11-06

MMDeploy部署实战系列【第一章】:Docker,Nvidia-docker安装

⭐️ ⭐️ ⭐️ 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善。如果有那个地方没看懂,评论区问就可以,我给补充。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

目录:

0️⃣ mmdeploy源码安装 (转换faster rcnn r50/yolox为tensorrt,并进行推理)_gy77

内容:一文包含了在Linux系统下安装mmdeploy模型转换环境,模型转换为TensorRT,在Linux,Windows下模型推理,推理结果展示。

MMDeploy部署实战系列

1️⃣ MMDeploy部署实战系列【第一章】:Docker,Nvidia-docker安装_gy77

内容:docker/nvidia-docker安装,docker/nvidia-docker国内源,docker/nvidia-docker常用命令。

2️⃣ MMDeploy部署实战系列【第二章】:mmdeploy安装及环境搭建_gy77

内容:mmdeploy环境安装三种方法:源码安装,官方docker安装,自定义Dockerfile安装。

3️⃣ MMDeploy部署实战系列【第三章】:MMdeploy pytorch模型转换onnx,tensorrt_gy77

内容:如何查找pytorch模型对应的部署配置文件,模型转换示例:mmcls:resnext50,mmdet:yolox-s,faster rcnn50。

4️⃣ MMDeploy部署实战系列【第四章】:onnx,tensorrt模型推理_gy77

内容:在linux,windows环境下推理,Windows下推理环境安装,推理速度对比,显存对比,可视化展示。

5️⃣ MMDeploy部署实战系列【第五章】:Windows下Release x64编译mmdeploy(C++),对TensorRT模型进行推理_gy77

内容:Windows下环境安装编译环境,编译c++ mmdeploy,编译c++ mmdeploy demo,运行实例。

6️⃣ MMDeploy部署实战系列【第六章】:将编译好的MMdeploy导入到自己的项目中 (C++)_gy77

内容:Windows下环境导入我们编译好的mmdeploy 静态/动态库。

下面是正文:


docker

docker常用命令

docker info           # 查看docker信息
docker -v             # 查看docker版本
docker images           # 查看docker所有的镜像
docker ps -a             # 查看docker所有的容器
docker rm ${容器id}     # 删除容器
docker rmi ${镜像id}  # 删除镜像  -f:强制删除;
docker cp ${本地文件的路径} ${容器id}:${容器内文件路径}    # 传输文件,宿主机->容器
docker cp ${容器id}:${容器内文件路径} ${本地文件的路径}    # 传输文件,容器->宿主机
docker start ${容器id}  # 启动容器
docker attach ${容器id}  #进入容器
Ctrl+D # 退出容器

Docker中容器和镜像的关系【通俗易懂】

docker卸载与安装

参考网址: ubuntu上docker卸载重装

按照上边的方法安装好docker后

docker国内源配置

不配制国内源镜像根本拉取不下来,全是报错,所以这一步很重要。

1️⃣ ubantu需要先新建个daemon.json文件
sudo touch /etc/docker/daemon.json
sudo vim /etc/docker/daemon.json

把下面内容复制到daemon.json文件下:

{
    "registry-mirrors": [
        "https://registry.docker-cn.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com"
    ]
}
2️⃣ 重启docker
service docker restart
3️⃣ 检验是否成功
docker info

Registry Mirrors:出现下面信息就是配置成功了

 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://registry.docker-cn.com/
  https://docker.mirrors.ustc.edu.cn/
  http://hub-mirror.c.163.com/
 Live Restore Enabled: false

nvidia-docker

参考博文:nvidia-docker安装 - 知乎 (zhihu.com)

nvidia-docker安装

# 设置stable存储库和密钥
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

# 安装nvidia-docker2安装包
sudo apt-get update
sudo apt-get install -y nvidia-docker2

# 重启docker
sudo systemctl restart docker

# 用官方container测试是否安装成功,出现nvidia-smi的结果就是成功了
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

nvidia-docker国内源配置

1️⃣ ubantu需要先新建个daemon.json文件
sudo vim /etc/docker/daemon.json

nvidia-docker修改后的daemon.json文件如下:

{
    "registry-mirrors": ["https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com"],        
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
2️⃣ 重启docker
systemctl restart docker.service
3️⃣ 检验是否成功
docker info

Registry Mirrors:出现下面信息就是配置成功了

 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://registry.docker-cn.com/
  https://docker.mirrors.ustc.edu.cn/
  http://hub-mirror.c.163.com/
 Live Restore Enabled: false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MMDeploy部署实战系列【第一章】:Docker,Nvidia-docker安装 的相关文章

随机推荐

  • 本人亲自整理的极客时间设计模式之美的硬核笔记

    由于笔记内容过多 我把它放到语雀上了 点击我 以下内容是为了让搜索引擎 检测到这篇文章 要阅读体验 请点击上面的连接 点击我 去我的语雀看 对了 我看到语雀那里有投诉的功能 请读者不要去点 程序员不要为难程序员 你去点了 就再也无法看到我的
  • 分布式存储Ceph介绍及搭建

    一 存储的类型 1 单机存储设备 DAS 直接附加存储 是直接接到计算机的主板总线上去的存储 IDE SATA SCSI SAS USB 接口的磁盘 所谓接口就是一种存储设备驱动下的磁盘设备 提供块级别的存储 NAS 网络附加存储 是通过网
  • Scratch2.0在线注册用户并使用帮助

    教学目标 1 在Scratch2 0中注册一个账号 2 登录后 进行再线学习 3 利用帮助进行自主学习 了解Scratch作品的创作过程 教学过程 一 注册用户 第一步 https scratch mit edu 打开官网 点 加入Scra
  • cuda编程学习2——add

    cudaMalloc 分配的指针有使用限制 设备指针的使用限制总结如下 1 可以将其传递给在设备上执行的函数 2 可以在设备代码中使用其进行内存的读写操作 3 可以将其传递给在主机上执行的函数 4 不能在主机代码中使用其进行内存的读写操作
  • Rust Diesel SQLite Windows

    问题描述 windos下想用Rocket使用SQLite3 自带案例 example todo 提示链接不到sqlite3 lib 原因分析 找到两个相关的issues https github com SergioBenitez Rock
  • 配置JAVA_HOME环境变量

    打开到环境变量 1 右击此电脑选择属性 2 选择高级系统设置 3 选择环境变量 配置JAVA HOME环境变量 1 新建系统变量 1 在系统变量中找到Path 如果没有就新建一个 然后新建两个变量
  • 第一章:VUE3学习(一)---Nodejs安装以及环境变量配置

    Nodejs安装以及环境变量配置 1 下载Nodejs 1 1最新版下载 1 2历史版本下载 2 安装 3 验证 4 环境变量配置 5 npm下载设置 6 测试 6 设置国内镜像提高下载速度 1 下载Nodejs 1 1最新版下载 直接官网
  • 用QT写一个类似的安装向导界面

    本文目录 功能描述 功能实现 框架 功能1 点击同意协议 才能进行下一步 功能2 选中指定路径的文件夹 并遍历该文件夹下所有的文件 功能3 设置进度条 功能4 两种激活方式 完整代码 功能描述 1 点击同意协议 才能进行下一步 2 选择一个
  • 2020软件测试学习自学路线分享,附完整资料,绝对有用哟

    2020软件测试学习路线图 内附自学路线 视频 工具经验 面试篇 划重点 资源链接 黑马程序员社区 想毕业后做测试相关的工作的 找学习资源找的头大 还好终于找到这么优质的可以系统地学习测试知识的途径 想学测试的小伙伴看看 真的可以跟着一步步
  • 误差向量幅度(EVM)

    转自 http blog sina com cn s blog 6c46cb860100otm3 html 误差向量幅度 EVM 误差向量 包括幅度和相位的矢量 是在一个给定时刻理想无误差基准信号与实际发射信号的向量差 Error Vect
  • 微信小程序添加插件腾讯位置服务路线规划,找不着的solution

    第一个 找到网页点击添加插件 提示类别不一样pass 第二个 在后台管理添加插件 提示找不着 pass 这两方法都不行 解决方法是 开发者后台登陆后 右上角服务 进入微信服务市场 选择开发者资源 然后选择插件 搜索腾讯位置服务路线规划 亲测
  • 3045 Lcm与Gcd构造

    已知 gcd a b n lcm a b m 求min a b 是多少 通过gcd的了解我们可以知道 两个数a k1 n以及b k2 n并且gcd k1 k2 1 ab n m m a b n ab k1 k2 n n 于是可以得到 m k
  • Yii Framework 开发教程(44) Zii组件-Resizable示例

    CJuiResizable可以使包含在其中的UI组件支持缩放功能 它封装了 JUI Resizable插件 CJuiResizable基本使用方法如下 php view plain copy print
  • Anaconda Prompt的用法

    Windows 开始菜单 打开Anaconda Prompt 这个窗口和cmd窗口一样的 用命令 conda list 查看已安装的包 从这些库中我们可以发现NumPy Matplotlib Pandas 说明已经安装成功了 下一步可以测试
  • ACM入门攻略(紫书入门,不间断更新)

    声明 本文仅供参考 并且假定读者已经可以熟练运用C语言及其相关知识 大神请走开 谢谢配合 目录 一 ACM入门的相关准备 书籍 OJ 编程语言 常用网站或工具 二 入门阶段的学习路线及其策略 全文以紫书为例 1 紫书第五章语言篇写题策略 2
  • JS之对象-对象声明及静态方法

    声明对象 1 原型实例化 声明对象的方式1 原型实例化 let obj1 new Object obj1 name obj1 张三 obj1 getName function return this name console log obj
  • 八十七.查找与排序习题总结(二)

    查找与排序习题总结 一 查找与排序习题总结 三 题一 调整数组顺序 奇数在左 偶数在右 调整数组的顺序使奇数位于偶数前面 输入一个整数数组 调整数组中数字的顺序使得所有奇数位于数组的前半部分 所有偶数位于数组的后半部分 要求时间复杂度为O
  • Rot.js 随机地牢,迷宫地图生成

    js 插件随机地牢 迷宫地图生成 插件git https github com ondras rot js tree master dist 使用 1 我们的游戏是在网页内进行的 一个基本的 HTML 文件就足够了
  • SPDK块设备

    SPDK视角每个App由多个子系统 subsystem 构成 同时每个子系统又包含多个模块 module 子系统和模块的注入都是可插拔的 通过相关的宏定义声明集成到SPDK组件容器里 其中子系统的注入可通过声明SPDK SUBSYSTEM
  • MMDeploy部署实战系列【第一章】:Docker,Nvidia-docker安装

    MMDeploy部署实战系列 第一章 Docker Nvidia docker安装 这个系列是一个随笔 是我走过的一些路 有些地方可能不太完善 如果有那个地方没看懂 评论区问就可以 我给补充 版权声明 本文为博主原创文章 遵循 CC 4 0