利用docker部署深度学习环境摆脱操作系统版本限制与cuda版本限制

news2024/11/18 23:47:30

利用docker部署深度学习环境摆脱操作系统版本限制与cuda版本限制


文章背景描述:
近期公司想给客户部署OCR文本识别项目,项目用到了tensorflow1.13,可支持该框架版本的cuda得低于10.2,但是客户要求的操作系统版本是Ubuntu22.04,NVIDIA官方不提供针对于Ubuntu22.04的cuda10.2,出现这种限制真的非常恶心,并且全程要求进行 离线部署
针对此问题考虑到使用docker进行部署

大体思路如下:
1、客户安装操作系统是Ubuntu22.04,利用docker拉取Ubuntu18.04精简版镜像
2、离线下载是宿主机适配的NVIDIA驱动离线包、docker离线包、nvidia docker离线包、gcc离线包(也可以使用联网安装)、项目所需要的对应版本的cuda安装包、cudnn安装包

步骤一:
1、在宿主机安装gcc包,完毕后查看版本,验证是否安装成功
2、在宿主机安装了gcc包的前提下,安装NVIDIA驱动(不安装gcc会安装报错)
步骤二:
1、安装docker
2、安装nvidia docker,验证是否安装成功
3、拉取Ubuntu18.04官方镜像,创建容器,在创建容器时,需要传入相应的参数,以下为例:

docker run -it -d --gpus all -p 8081:8080  --name googosoft_ocr -v /home/googosoft/docker_file:/home/googosoft/docker_file 3941d3b032a8 /bin/bash

在这里插入图片描述

上述语句中,必须加上**–gpus参数,否则容器无法调用宿主机的GPU**
4、进入到创建的容器内,必须再次安装gcc,否在以下步骤会报错
安装过程中如果报错,可能是镜像源问题建议更换网易镜像源

apt install build-essential
gcc --version

镜像源:注意,我的Ubuntu是18.04版本,各个版本的镜像源不相同,需要根本实际查询修改
主要是一下连接中"bionic "参数位置需要调整,建议查询下

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

5、在容器内安装与宿主机相同版本的nvidia驱动
在这里插入图片描述
5、安装项目所需要的cuda(在安装过程中不要安装程序提示需要安装的英伟达驱动,选择no)与cudnn该步骤与常规流程一样
之后的流程基本与常规流程一样,可以没有束缚的放纵自己玩耍了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/463046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学成在线笔记+踩坑(9)——课程发布,xxl-job+消息SDK实现分布式事务、页面静态化、Hystrix熔断降级

导航: 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题_java黑马笔记 目录 1 业务流程,入库缓存ESMinIO存静态化页面 2 分布式事务技术方案 2.1 回顾本地事务和分布式事务 2.2 什么是CA…

Nginx下载和使用

nginx: downloadhttp://nginx.org/en/download.html下载成功后打开 \nginx-x.xx.x\conf\nginx.conf 文件 #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid…

国内top5正规好用纸黄金交易软件最新排名(2023评测版)

随着互联网技术的不断发展,网上投资理财变得越来越流行。而随着互联网理财产品的日益增多,越来越多的投资者开始选择纸黄金交易软件进行交易。然而,对于初入此行的投资者而言,如何选择合适的纸黄金交易软件显得尤为重要。 首先&…

PostgreSQL的数据类型有哪些?

数据类型分类 分类名称 说明 与其他数据库的对比 布尔类型PG支持SQL标准的boolean数据类型与MySQL中的bool、boolean类型相同,占用1字节存储空间数值类型整数类型有2字节的smallint、4字节的int、8字节的bigint;精确类型的小数有numeric;非精…

C语言CRC-8 ITU格式校验函数

C语言CRC-8 ITU格式校验函数 CRC校验基于前处理和后处理的不同,由不同的协会标准推出了一些不同格式的版本。这里介绍CRC-8 ITU格式的校验函数。 CRC-8 ITU格式特征 标准CRC-8的校验函数参考: C语言标准CRC-8校验函数 CRC-8 ITU格式和标准CRC-8校验算…

Mybatis是什么?Mybatis入门程序

一、框架是什么? 1.java常见框架: SSM三大框架:SpringMybatisSpringMvc 2.什么是框架? 框架本身就是对于通用代码的封装,提前写好的类和方法,我们在做项目的时候直接引入这些框架(本质就是引入类…

Matlab 最远点采样(FPS,二维版本)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 简而言之,该方法是通过迭代、增量的方式来选择距离前一个点集最远的点从而实现数据的采样过程。其算法步骤如下所述: (1)从点集 S S S中随机选择一个点

【Linux基本指令和权限(1)】

本文思维导图: 文章目录 一、Linux操作的特点二、使用指令从Xhell登录云服务器三、基本指令1.ls指令2. pwd指令:3.cd指令4. touch指令5. rm指令 写在最后 Linux是一个操作系统,操作系统是一款做软硬件管理的软件。 一、Linux操作的特点 Li…

报错解决:关于swagger的Caused by: java.lang.NullPointerException: null

目录 一、遇到问题 二、解决办法 方法一 方法二 方法二中导入依赖报错的解决方案 一、遇到问题 在往springboot项目里面添加swagger时候,启动的时候就报了如下null了的错误 遇到问题的报错提示: Error starting ApplicationContext. To display the…

200人 500人 园区网设计

实验要求: ① 设置合理的STP优先级、边缘端口、Eth-trunk ② 企业内网划分多个vlan ,减少广播域大小,提高网络稳定性 ③ 所有设备,在任何位置都可以telnet远程管理 ④ 出口配置NAT ⑤ 所有用户均为自动获取ip地址 ⑥ 在企业…

bitset(位图)的使用与模拟实现

bitset(位图) 位图引入bitset的使用bitset(位图)的模拟实现bitset类各函数接口总览bitset类的实现构造函数set、reset、flip、testsize、countany、none、all打印函数 位图引入 问:给40亿个不重复的无符号整数&#xf…

Cell Reports:任栓成/高东/胡志安/唐玲团队合作揭示压力性失眠发生的神经机制

良好的觉醒与睡眠是幸福生活和高效工作的前提。然而,随着现代社会生活节奏的加快,觉醒睡眠障碍,特别是失眠,已成为不容忽视的健康问题。据中国睡眠研究会发布的《2022中国国民健康睡眠白皮书》显示,约3/4人群曾存在觉醒…

Tpflow V7.0.2 PHP 工作流引擎新版发布

欢迎使用 Tpflow V7.0.1 工作流引擎 TpFlow 工作流引擎是一套规范化的流程管理系统,基于业务而驱动系统生命力的一套引擎。彻底释放整个信息管理系统的的活力,让系统更具可用性,智能应用型,便捷设计性。Tpflow 团队致力于打造中国…

如何提高企业运转效率?

企业运转效率是企业成功的重要因素之一,随着市场竞争的加剧和客户需求的不断提高,企业需要不断提高运转效率以保持竞争力。本文将从提高企业运转效率的意义、影响因素、优化方法等方面进行探讨。 提高企业运转效率的意义 提高企业运转效率的意义主要包…

提高Web应用程序稳定性的关键:如何编写高质量的Web自动化测试用例

目录 设计测试用例 编写测试用例 安装Selenium和Python库 编写测试用例 执行测试用例 创建测试套件 运行测试用例 分析测试结果 总结 Web自动化测试用例的编写是Web应用程序测试中非常重要的一环。它可以确保Web应用程序在不同条件和场景下的稳定性、可靠性和正确性。…

合合信息新推出反光消除技术,助力手写文字识别更精准

近期,合合信息旗下扫描全能王推出液晶手写板(简称“手写板”),为用户带来仿真、流畅的书写绘画体验,一同发布的还有扫描全能王APP的新功能“拍手写板”。该功能可帮助用户在拍摄手写板内容后去除图片上的反光干扰&…

Tuxera NTFS2023第三方应用苹果电脑磁盘读写工具

哪里有专业级的NTFS格式读写工具?Tuxera NTFS2023中文版是一款非常好用的NTFS读写工具,可以让您完整的读写兼容NTFS格式驱动器,对磁盘进行访问、编辑、存储和传输文件等操作。同时还包括开源磁盘管理器等简单的格式和硬盘维修检查和修复。Mac…

即时通讯APP开发方案?你想要的全在这里!

现如今的即时通讯需求其实很多,应用场景也是多样化;企业内部办公、社交聊天、朋友闲聊都可以在即时通讯APP内完成。 即时通讯app开发对于企业来说是内部沟通的重要模式,对于普通用户来说这种交通方式也更加灵活化;即时通讯app开发…

酒店预订小程序开发:如何通过小程序提升您的酒店品牌价值?

在当今高度数字化的世界里,通过酒店小程序开发来提升品牌价值已成为一种越来越流行的方式。酒店小程序源码的开发可以帮助酒店提供更好的客户体验,提高预订转化率。在本文中,我们将探讨如何通过酒店小程序开发来提升您的酒店品牌价值。 酒店…

记录-因为写不出拖拽移动效果,我恶补了一下Dom中的各种距离

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 最近在项目中要实现一个拖拽头像的移动效果,一直对JS Dom拖拽这一块不太熟悉,甚至在网上找一个示例,都看得云里雾里的,发现遇到最大的拦路虎就是JS…