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

[自记录]一次Nvidia显卡的AI容器基础镜像制作过程(含Torch版本和ONNXRuntime版本选择)

1 宿主机情况

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.07             Driver Version: 535.161.07   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla V100S-PCIE-32GB          Off | 00000000:00:0D.0 Off |                    0 |
| N/A   28C    P0              37W / 250W |  15572MiB / 32768MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

2 制作镜像

  • 基础镜像
docker run --gpus=all --rm -it nvidia/cuda:12.2.2-base-ubuntu22.04
apt install python3 python3-pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

默认apt按照的python版本为3.10.12。

  • torch版本选择

torch版本建议在torch官网下载,不建议pip安装

torch 2.5.1+cu121

torchaudio 2.5.1+cu121

  • onnxruntime选择
pip install onnxruntime-gpu[cuda,cudnn]==1.21.1

onnxruntime版本兼容性检查
如果用较低版本的torch,还需要关注cuDNN的版本不要冲突。
在这里插入图片描述

3 结果展示

$ python3
Python 3.10.12 (main, Feb  4 2025, 14:57:36) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
2.5.1+cu121
>>> print(torch.version.cuda)
12.1
>>> print(torch.backends.cudnn.version())
90100

即实际运行依赖的cuda版本12.1(不能高于宿主机但最好接近),cudnn版本9.01

http://www.xdnf.cn/news/1891.html

相关文章:

  • AI新战局:Gemini 2.5 Pro强势挑战OpenAI o3,谁是真“全能”?“锯齿AGI”时代已来临?
  • 快速了解redis,个人笔记
  • CRM管理优化的7个关键指标:提升客户留存率的科学方法
  • 优化算法
  • 文档编辑:reStructuredText全面使用指南 — 第二部分 基础语法
  • 【金仓数据库征文】-《深入探索金仓数据库:从基础到实战》
  • 【贝叶斯定理01】白话贝叶斯(原理篇)
  • MYSQL 常用数值函数 和 条件函数 详解
  • 1、RabbitMQ的概述笔记
  • Linux-06 ubuntu 系统截图软件使用简单记录
  • 百度Create2025 AI开发者大会:模型与应用的未来已来
  • 数智飞轮:AI时代企业增长的核心密码
  • 《免费开放”双刃剑:字节跳动Coze如何撬动AI生态霸权与暗涌危机?》
  • 最火向量数据库Milvus安装使用一条龙!
  • 2025 Java 开发避坑指南:如何避免踩依赖管理的坑?
  • 【C语言练习】003. 声明不同数据类型的变量并赋值
  • 不同ECU(MCU/ZCU/CCU)其部署(实现)的功能存在差异
  • 吞吐量,响应速率,占用内存大小是什么,用你自己的理解说一下
  • 基于51单片机的超声波液位测量与控制系统
  • 【AI】[特殊字符]生产规模的向量数据库 Pinecone 使用指南
  • Linux安全模块:SELinux与AppArmor深度解析
  • BeeWorks Meet:私有化部署视频会议的高效选择
  • JAVA---面向对象(下)
  • toCharArray作用
  • P19:Inception v1算法实战与解析
  • Python 虚拟环境管理:venv 与 conda 的选择与配置
  • Arm GICv3中断处理模型解析
  • 大模型应用开发(PAFR)
  • 使用 uv 工具快速创建 MCP 服务(Trae 配置并调用 MCP 服务)
  • 晶振老化:不可忽视的隐患与预防策略