当前位置: 首页 > news >正文

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

在容器化环境中打包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 updateapt-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.shconda create -n f python=3.9conda 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:v1docker save cuda118 -o cuda118.tar

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

docker load -i cuda118.tar  

http://www.lryc.cn/news/432070.html

相关文章:

  • 企业数字化转型的利器:RFID资产管理系统
  • matplotlib中文乱码问题
  • 提高开发效率的实用工具库VueUse
  • 【数据结构】你真的学会了二叉树了吗,来做一做二叉树的算法题及选择题
  • 压力测试知识总结
  • @import导入样式以及scss变量应用与static目录
  • 分类中的语义一致性约束:助力模型优化
  • 前端框架介绍
  • java基础知识-JVM知识详解
  • 流动会场:以声学专利为核心的完美移动场地—轻空间
  • 深度学习(一)-感知机+神经网络+激活函数
  • 目标检测-YOLOv4
  • 一台笔记本电脑的硬件都有哪些以及对应的功能
  • 【程序分享1】第一性原理计算 + 数据处理程序
  • 【数据结构】栈与队列OJ题(用队列实现栈)(用栈实现队列)
  • element-ui打包之后图标不显示,woff、ttf加载404
  • 探究零工市场小程序如何改变传统兼职模式
  • MySQL数据库安装(详细)—>Mariadb的安装(day21)
  • 微信小程序实践案例
  • DataLoader使用
  • CSS学习11--版心和布局流程以及几种分布的例子
  • NetSuite AI 图生代码
  • Java - BigDecimal计算中位数
  • Tensorflow2如何读取自制数据集并训练模型?-- Tensorflow自学笔记13
  • JVM系列(七) -对象的内存分配流程
  • Apache Ignite 在处理大规模数据时有哪些优势和局限性?
  • 怎么利用NodeJS发送视频短信
  • WebAPI(三)、 DOM 日期对象Date;获取事件戳;根据节点关系查找节点
  • 012.Oracle-索引
  • SSL 证书 | 免费获取与自动续期全攻略