实战docker第二天——cuda11.8,pytorch基础环境docker打包

news2024/9/22 19:21:55

在容器化环境中打包CUDA和PyTorch基础环境,可以将所有相关的软件依赖和配置封装在一个Docker镜像中。这种方法确保了在不同环境中运行应用程序时的一致性和可移植性:

  1. Docker:提供了容器化技术,通过将应用程序及其所有依赖打包在一个镜像中,确保不同环境下的运行一致性。

  2. CUDA:NVIDIA的并行计算平台和编程模型,用于加速计算密集型应用程序,如深度学习。

  3. PyTorch:流行的深度学习框架,提供灵活的模型构建和训练功能,支持GPU加速。

  4. NVIDIA Docker:利用 nvidia-docker 工具,允许Docker容器访问宿主机上的GPU资源,实现CUDA加速。

  5. Dockerfile:定义镜像内容的文本文件,指定如何安装CUDA、PyTorch及其依赖。

意义:

  1. 一致性:容器确保在不同开发和生产环境中使用相同的CUDA和PyTorch版本,减少了因环境差异导致的问题。

  2. 可移植性:Docker镜像可以在任何支持Docker的系统上运行,包括本地机器、云服务和集群环境,提高了应用程序的可移植性。

  3. 隔离:通过容器隔离运行环境,避免了不同应用程序之间的依赖冲突和系统污染。

  4. 简化部署:预配置的Docker镜像简化了部署流程,减少了配置和安装的复杂性,特别是在涉及多个版本和依赖时。

  5. 版本管理:方便管理和切换不同版本的CUDA和PyTorch环境,以适应不同的需求或测试要求。

通过这些技术和方法,可以在Docker容器中创建一个稳定、可移植的深度学习环境,显著提升开发和部署效率。

一、拉取cuda11.8基础镜像

docker pull nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 

docker images

docker run -ti --name work nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 bash

二、环境配置 

安装python和pip: 


apt-get update

apt-get install wget

安装Anaconda3
wget https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh
bash Anaconda3-2023.07-1-Linux-x86_64.sh

conda create -n f python=3.9

conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=11.8 -c pytorch -c nvidia

 至此,cuda11.8,cudnn,python3.9,pytorch安装完成。

Ctrl+D退出镜像。

三、镜像打包

docker commit -a "work" -m "cuda118" fd83c27fa8f5 cuda118:v1

docker save cuda118 -o cuda118.tar

save将docker镜像保存为tar格式,放入服务器后,使用load,镜像就在服务器中了。

docker load -i cuda118.tar  

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

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

相关文章

★ 算法OJ题 ★ 力扣209 - 长度最小的子数组

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;简将和大家一起做一道滑动窗口算法题--长度最小的子数组~ 目录 一 题目 二 算法解析 解法⼀&#xff1a;暴力求解 解法二&#xff1a;滑动窗口 三 编写算法 一 题目 209. 长度最小的子数组 - 力扣&#xff08…

Python Mail:如何设置SMTP服务器发邮件?

Python Mail发送邮件的步骤&#xff1f;如何使用Python 发邮件&#xff1f; 在现代通信中&#xff0c;电子邮件仍然是不可或缺的一部分。Python Mail 提供了一种简单而强大的方式来通过 SMTP 服务器发送邮件。AokSend将详细介绍如何使用 Python Mail 库来设置和发送电子邮件。…

echart自适应tree树图,结构组织图模板

处理数据(代码中有处理数据逻辑&#xff0c;可忽略&#xff0c;因为后端返回的格式不匹配&#xff0c;需要自己处理) [{ name: ‘test1’, children: [{ name: ‘test2’ }] }] <template><div class"boxEchart"><div ref"echart" :style&…

9.3javaweb总结

1.axios交互 发送数据到后端。 alert(注册成功&#xff08;数据正在发送后端&#xff09;!);// 获取表单数据//const formData new URLSearchParams(new FormData(document.getElementById("register-form"))).toString();const form document.getElementById(&q…

深度学习——基于MTCNN算法实现人脸侦测

这里写目录标题 先看效果 MTCNN主体思想级联网络图像金字塔IOU算法iou 公式 nms 算法数据生成celeba 数据代码训练代码侦测代码总结 先看效果 MTCNN 从2016年&#xff0c;MTCNN算法出来之后&#xff0c;属实在工业上火了一把&#xff0c;最近尝试着把论文代码复现了一下。 主…

小企业仓库管理升级:WMS助力智能化转型

WMS 在小型企业中的推进优势与必要性 WMS 是数字化工厂中不可或缺的系统之一&#xff0c;它不仅在大型企业中发挥着重要作用&#xff0c;对于小型企业同样具有巨大价值。通过引入 WMS&#xff0c;小型企业可以显著提高仓储管理效率&#xff0c;降低运营成本&#xff0c;支持业务…

vllm源码解析(二):调度策略分析

五 vllm调度逻辑 前面分享的知识确实遗漏了许多细节&#xff0c;不过不影响我们接下来的讲解&#xff0c;我们在第一篇文章中已经详细讲解过三个队列用途&#xff0c;不熟悉的同学可以回看。 本章涉及到的流程图已上传github: https://github.com/yblir/packages/blob/main/v…

力扣-968监控二叉树(Java贪心详细题解)

题目链接&#xff1a;968. 监控二叉树 - 力扣&#xff08;LeetCode&#xff09; 前情提要&#xff1a; 本题是一道名副其实的hard题目&#xff0c;他考察二叉树和贪心的综合运用能力。 所以我们不仅要会贪心还要会二叉树的一些知识&#xff0c;如果没有写二叉树类型的题目&a…

实战项目-快速实战-springboot dataway

最后附项目源码, 开箱即用 访问地址 http://127.0.0.1:8101/interface-ui/#/ 效果图 具体怎么用, 大家还是看官网,中文文档 https://www.dataql.net/docs/dataway/ui/ui-list 项目结构 代码 DataWayApplication package com.zero.dataway;import net.hasor.spring.boot…

集合框架,List常用API,栈和队列初识

回顾 集合框架 两个重点——ArrayList和HashSet. Vector/ArraysList/LinkedList区别 VectorArraysListLinkedList底层实现数组数组链表线程安全安全不安全不安全增删效率较低较低高扩容*2*1.5-------- &#xff08;>>&#xff09;运算级最低&#xff0c;记得加括号。 常…

窖藏之秘:白酒在窖藏过程中经历了哪些变化?

在中华五千年的文明史中&#xff0c;白酒一直扮演着举足轻重的角色。它不仅是文人墨客笔下的灵感源泉&#xff0c;更是亲朋好友间传递情感的桥梁。在众多白酒品牌中&#xff0c;豪迈白酒&#xff08;HOMANLISM&#xff09;以其不同的酿造工艺和窖藏技艺&#xff0c;成为了酒中翘…

EasyExcel模板导出与公式计算(上)

目录 环境要求 功能预览 需求分析 源码跟踪 自定义数据处理器 ​总结 最近做项目时遇到这样一个需求&#xff0c;将数据库表的含有公式的信息导出为Excel文件并且需要计算其结果&#xff0c;由于上网查询资料后未能完美解决&#xff0c;故将此踩坑过程记录下来以供参考。…

Datawhale X 李宏毅苹果书 AI夏令营第五期 DL进阶方向 Task3笔记

Datawhale X 李宏毅苹果书 向李宏毅学深度学习&#xff08;进阶&#xff09; 是 Datawhale 2024 年 AI 夏令营第五期的学习活动&#xff08;“深度学习 进阶”方向&#xff09; 往期task1链接&#xff1a;深度学习进阶-Task1 往期task2链接&#xff1a;深度学习进阶-Task2 我做…

惠中科技RDS自清洁膜层:光伏领域的绿色革命

惠中科技RDS自清洁膜层&#xff1a;光伏领域的绿色革命 在全球能源转型和光伏产业蓬勃发展的背景下&#xff0c;光伏电站的运营维护面临着诸多挑战&#xff0c;其中灰尘污染问题尤为突出。灰尘的堆积不仅降低了光伏板的透光率&#xff0c;还直接影响了电站的发电效率和经济效益…

算法复盘——Leetcode hot100: 双指针算法

双指针算法 11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 优化解法&#xff1a;用 left 和 right 两个指针从两端向中心收缩&#xff0c;一边收缩一边计算 [left, right] 之间的矩形面积&#xff0c;取最大的面积值即是答案。 其实是优化区间选择 直接丢弃体…

51单片机-串口通信(单片机和PC互发数据)

作者&#xff1a;Whappy 时间&#xff1a;2024.9.3 关于串口的疑问&#xff1f; 根据我的代码是不是初始化完成串口之后&#xff0c;只要我们使用串口发送数据就会触发中断&#xff1f; &#xff08;在文章下面&#xff09; ChatGPT said: ChatGPT 是的&#xff0c;根据…

IDEA项目启动在不同端口的方法,服务多端口启动

前言 在本地测试分布式事务以及分布式锁的过程中&#xff0c;在IDEA中多端口启动服务&#xff0c;可以高效方便开展测试调试工作。 开启流程 1.打开Edit Configurations 2.选中要复制的服务&#xff0c;点击复制小图标 3.配置启动端口号&#xff0c;点击保存 --server.port1…

解密Docker核心:深入理解Docker基础架构

随着云计算技术的普及&#xff0c;Docker容器技术在现代应用开发和部署中占据了重要地位。要充分理解Docker的优势与运用&#xff0c;深入掌握其基础架构是关键。本文将深入探讨Docker的核心组成部分及其在容器化平台中的角色和作用。 一、Docker的基础架构概述 Docker的基础…

leetcode 2816.翻倍以链表形式表示的数字

1.题目要求: 给你一个 非空 链表的头节点 head &#xff0c;表示一个不含前导零的非负数整数。将链表 翻倍 后&#xff0c;返回头节点 head 。2.题目代码: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ str…

AI建模——文/图生模型产品介绍与模型免费下载

说明&#xff1a; 记录AI文生3D模型、图生3D模型的相关产品&#xff1b;记录其性能、功能、收费与免费方法 1.AI建模产品 Robin MeshAnything Meshy 生成效果比较&#xff1a; 2. Rodin 官网&#xff1a;gHyperHuman 支持&#xff1a;文生模型、图生模型 模型生成与下载…