【打怪升级 - 01】保姆级机器视觉入门指南:硬件选型 + CUDA/cuDNN/Miniconda/PyTorch 安装全流程(附版本匹配秘籍)
【打怪升级 - 01】保姆级机器视觉入门指南:硬件选型 + CUDA/cuDNN/Miniconda/PyTorch 安装全流程(附版本匹配秘籍)
说在前面,CUDA/cuDNN/Miniconda/PyTorch这一套基本是深度学习的金刚钻了。有了下面的环境,无论是往深度学习的任何一个方向发展都是非常有用的。博主本人是图像算法工程师,无论是在做目标检测、零样本目标检测,还是3d目标检测、高斯泼溅、单目深度估计都离不开这一套环境。
一、硬件选型:机器视觉的 “装备” 配置
机器视觉任务,尤其是基于深度学习的视觉任务,对硬件有着较高的要求。合适的硬件配置不仅能提高开发效率,还能让您在学习过程中获得更好的体验。下面我们从核心硬件和辅助硬件两个方面进行介绍。
(一)核心硬件:GPU、CPU、内存与硬盘
- GPU(图形处理器):在机器视觉中,深度学习模型的训练和推理大量依赖并行计算,而 GPU 在并行计算方面有着得天独厚的优势。因此,GPU 是机器视觉硬件配置中最重要的部分。
-
入门学习 / 轻量开发:NVIDIA RTX 3060(现在只有二手) 是一个不错的选择,性价比很高。(一台笔记本也可以~)笔者现在使用的设备就是一台笔记本,对于入门而言,没有GPU也没关系。纯CPU只是会慢些、无法处理大量数据的训练与推理,但并不代表不能用。 而且英特尔的CPU通常是集成显卡,也能用于模型推理加速。不说话直接上图:
-
中端性能 / 进阶开发:NVIDIA RTX 3080 或 RTX 4070,CUDA 核心数分别为 8704 和 7680,显存容量为 10GB 和 12GB。这些型号能够应对更复杂的模型和更大规模的数据集,适合有一定基础后进行进阶学习和开发。
-
高端科研 / 工业级应用:NVIDIA A40 或 RTX 4090,它们的 CUDA 核心数超过 10000,显存容量可达 40GB 甚至更多,能够处理超大规模的深度学习任务,但价格较高,适合专业团队或科研机构。下表是博主调研的英伟达独显相关参数,相对全面,其中也介绍了GPU一些技术参数的含义。
类别 型号 显存/内存 架构 算力 (TOPS) 功耗 (W) CUDA Core数量 Tensor Core数量 消费级 RTX 3060 12GB GDDR6 Ampere 142 170 3584 112 消费级 RTX 3080 10GB GDDR6X Ampere 356 320 8704 272 消费级 RTX 4070 12GB GDDR6 Ada Lovelace 466 200 5888 184 消费级 RTX 4070 Ti 12GB GDDR6 Ada Lovelace 641 285 7296 228 消费级 RTX 4080 16GB GDDR6X Ada Lovelace 780 320 9728 304 消费级 RTX 4090 24GB GDDR6X Ada Lovelace 780 450 14592 784 消费级 RTX 5060 8GB GDDR7 Ada Lovelace 614 145 3840 消费级 RTX 5070 12GB GDDR7 Ada Lovelace 988 250 6144 消费级 RTX 5080 16GB GDDR7 Ada Lovelace 1801 360 10752 消费级 RTX 5090 D 32GB GDDR7 Ada Lovelace 2375 575 21760 专业级 A40 48GB GDDR6 ECC Ampere 150 10752 专业级 A6000 48GB GDDR6 ECC Ampere 300 10752
参数说明: | |
---|---|
型号 | 具体显卡或Jetson设备名称 |
显存/内存 | GPU显存或Jetson设备的板载内存 |
算力(TOPS) | INT8整数运算能力(部分未标注); 算力(TOPS)是基于CUDA Core的性能指标,特别针对深度学习推理任务优化。对于INT8推理任务,TOPS=CUDA Core数量×频率×每周期处理的INT8操作数。 |
CUDA Core数量 | GPU 的并行计算单元数,用于衡量浮点运算能力和图形处理能力。 CUDA Core数量是GPU 计算能力的基础,直接影响浮点运算和并行处理能力。 |
Tensor Core数量 | 专为 AI 推理设计的核心单元,用于加速 INT8、FP16、混合精度运算。 |
功耗 (W) | TDP(热设计功耗) |
需要注意的是,由于 CUDA 是 NVIDIA 独有的并行计算平台和编程模型,而很多深度学习框架对 CUDA 有良好的支持,所以在选择 GPU 时,优先考虑 NVIDIA 的产品。
-
CPU(中央处理器):虽然在深度学习中 GPU 是主力,但 CPU 的性能也不能忽视。CPU 主要负责数据预处理、模型调度等任务。对于入门级用户,选择一款中端的 CPU 即可,如 Intel Core i5 或 AMD Ryzen 5 系列。如果预算充足,Intel Core i7 或 AMD Ryzen 7 系列会带来更好的性能。
-
内存(RAM):内存用于临时存储数据和程序,在处理大规模数据集时,足够的内存至关重要。入门学习建议至少 16GB 内存,进阶开发则推荐 32GB 及以上。
-
硬盘:机器视觉的数据集通常比较大,所以需要一个容量较大的硬盘。固态硬盘(SSD)的读写速度比机械硬盘快很多,能提高数据加载速度,建议系统盘和常用数据集放在 SSD 中,容量至少 500GB。另外,可以搭配一个 1TB 及以上的机械硬盘用于存储不常用的数据集和文件。
二、CUDA 与 cuDNN:深度学习的 “加速引擎”
CUDA(Compute Unified Device Architecture)是 NVIDIA 推出的并行计算平台和编程模型,它允许开发者利用 NVIDIA GPU 进行通用计算。cuDNN(CUDA Deep Neural Network library)是 NVIDIA 针对深度学习任务优化的 GPU 加速库,能够为深度神经网络的训练和推理提供高效的支持。
(一)版本选择
CUDA 和 cuDNN 的版本需要相互匹配,同时还要与后续安装的 PyTorch 版本相兼容。以下是一些版本选择的建议:
-
CUDA 版本:目前比较稳定且应用广泛的 CUDA 版本有 11.3、11.6、12.0 等。如果是新搭建环境,建议选择较新的版本,如 12.0,以获得更好的性能和兼容性。但需要注意,有些旧的深度学习框架可能不支持最新的 CUDA 版本。(在安装之前,还需要注意显卡的安装驱动,NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA)
-
cuDNN 版本:cuDNN 的版本需要与 CUDA 版本对应。例如,CUDA 12.0 对应的 cuDNN 版本可以选择 8.9.0 及以上。在 NVIDIA 官网下载 cuDNN 时,会明确标注其支持的 CUDA 版本。
-
PyTorch 版本:通常pytorch的新版本是向下兼容老版本的,建议选次新版本。
(二)安装步骤
-
安装 CUDA
-
首先,检查自己的 GPU 是否支持 CUDA。可以在 NVIDIA 官网查询 GPU 的 CUDA 核心支持情况。
-
下载对应版本的 CUDA 安装包。进入 NVIDIA CUDA Toolkit 官网(CUDA Toolkit Archive | NVIDIA Developer),选择适合自己操作系统的版本进行下载。
-
根据系统和版本选择对应的安装包
-
运行安装包,按照提示进行安装。在安装过程中,建议选择 “自定义安装”,取消勾选不需要的组件(如 NVIDIA GeForce Experience),只安装 CUDA 相关的组件。
-
安装完成后,验证 CUDA 是否安装成功。打开命令提示符,输入 “nvcc -V”,如果显示出 CUDA 的版本信息,则说明安装成功。
-
-
安装 cuDNN
-
登录 NVIDIA 开发者官网(需要注册账号),进入 cuDNN 下载页面(cuDNN Archive | NVIDIA Developer)。
-
选择与已安装的 CUDA 版本相匹配的 cuDNN 版本进行下载,下载的是一个压缩包。
-
将压缩包解压,得到三个文件夹:bin、include、lib。
-
将这三个文件夹中的文件分别复制到 CUDA 的安装目录下对应的 bin、include、lib 文件夹中(默认安装目录为 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0)。
-
验证 cuDNN 是否安装成功。可以通过运行 CUDA 安装目录下的示例程序来验证,也可以在后续安装 PyTorch 后进行测试。
-
三、Miniconda:Python 环境的 “管理大师”
Miniconda 是一个轻量级的 Anaconda 发行版,它包含了 Python 解释器和 conda 包管理器,能够方便地创建和管理多个独立的 Python 环境,避免不同项目之间的依赖冲突。(这个很重要,深度学习、图像算法在使用的过程中需要用到相当多的库,每个库又有自己的各种版本。特别需要一个管理工具,Miniconda)
(一)版本选择
Miniconda 的版本主要根据操作系统和 Python 版本来选择。对于 Windows 系统,有 32 位和 64 位版本,建议选择 64 位版本;Python 版本可以选择 3.8、3.9、3.10 等,目前 3.9 和 3.10 版本比较常用且兼容性较好。推荐该版本Miniconda3-py39_4.9.2-Windows-x86_64.exe
(二)安装步骤
-
下载 Miniconda 安装包。进入 Miniconda 官网(https://docs.conda.io/en/latest/miniconda.html),选择适合自己操作系统和 Python 版本的安装包进行下载。国内访问这个网站一般会很慢,建议直接上清华源的网站。Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
-
运行安装包,按照提示进行安装。在安装过程中,建议勾选 “Add Miniconda3 to my PATH environment variable”,这样可以在命令提示符中直接使用 conda 命令。
-
安装完成后,验证 Miniconda 是否安装成功。打开命令提示符,输入 “conda --version”,如果显示出 conda 的版本信息,则说明安装成功。
-
创建新的 Python 环境。在命令提示符中输入 “conda create -n env_name python=3.9”(其中 env_name 是环境名称,可自定义),按照提示完成环境的创建。
-
激活环境。输入 “conda activate env_name”,激活创建的环境。在该环境中安装的包只会影响当前环境,不会影响其他环境。
四、PyTorch:机器视觉的 “利器”
PyTorch 是一个基于 Python 的深度学习框架,它具有动态计算图、易用性高等特点,在机器视觉领域得到了广泛的应用。
(一)版本选择
PyTorch 的版本需要与 CUDA 版本相匹配。在 PyTorch 官网(Previous PyTorch Versions)上,会提供不同 CUDA 版本对应的 PyTorch 安装命令。例如,对于 CUDA 12.0,可以选择安装 PyTorch 2.0 及以上版本。(PyTorch 版本是向下兼容的。)
(二)安装步骤
-
打开命令提示符,激活之前创建的 Python 环境(如 “conda activate env_name”)。
-
进入 PyTorch 官网,根据自己的操作系统、CUDA 版本等选择相应的安装命令。例如,对于 Windows 系统、CUDA 12.0,安装命令可能为 “conda install pytorch torchvision torchaudio pytorch-cuda=12.0 -c pytorch -c nvidia”。
-
运行安装命令,等待安装完成。
-
验证 PyTorch 是否安装成功。在命令提示符中输入 “python” 进入 Python 交互环境,然后输入以下代码:
import torch
print(torch.cuda.is_available())
如果输出为 “True”,则说明 PyTorch 成功调用了 GPU,安装成功。
五、版本匹配秘籍:避免 “踩坑” 指南
在安装上述软件的过程中,版本匹配是最容易出现问题的地方。以下是一些版本匹配的秘籍,帮助您避免 “踩坑”:
-
首先确定 GPU 支持的最高 CUDA 版本,然后选择不超过该版本的 CUDA 进行安装。
-
cuDNN 版本必须与 CUDA 版本严格对应,在下载 cuDNN 时一定要仔细核对。
-
PyTorch 版本需要与 CUDA 版本相匹配,在 PyTorch 官网可以直接获取对应版本的安装命令。
-
如果在安装过程中出现问题,先检查版本是否匹配,这是最常见的原因之一。
-
可以参考一些开源项目的环境配置要求,了解在实际项目中常用的版本组合。
六、总结与展望
通过本文的介绍,相信您已经了解了机器视觉入门所需的硬件选型、CUDA、cuDNN、Miniconda 和 PyTorch 的安装步骤及版本匹配要点。搭建好开发环境只是机器视觉学习的第一步,接下来您可以开始学习图像处理基础、深度学习模型原理等知识,并通过实际项目进行练习。
在学习过程中,遇到问题是难免的,要善于利用搜索引擎、开源社区等资源寻求帮助。随着技术的不断发展,机器视觉领域也在不断涌现新的算法和工具,保持学习的热情和好奇心,不断提升自己的技能,您一定能在机器视觉的世界中不断 “打怪升级”,取得更大的进步。
建议一定要动手做。做深度学习、搞AI算法如果不会配环境,以后的路将会很艰难。多少可能会会经历几次环境奔溃,但那都是正常的。只要还在路上,未来的一定会越来越顺的。