大数据及机器学习带 GPU 必须干的第一件事_机器学习用显卡,2024年最新好文推荐

90 阅读5分钟

img img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  1. 有 GPU 也装了驱动,却没有装正确的库;

二、安装显卡驱动程序

请自行前往 NVidia 驱动程序下载页 进行挑选,毕竟每个人的电脑不太一样,但我初步看了一下,大家可能买的电脑的支持列表大概一致,如果一样你就点此 传送门 去下载,下图是传送门的截图

安装时一般傻瓜式安装就可以了,这里不详细说了,都是系统驱动。

三、安装 CUDA 工具包支持

上面一节一般默认安装后,程序的位置会在:C:\Windows\System32\nvidia-smi.exe

如果一不小心自己换了别的目录而没有被识别,你可以去配置 PATH 自行添加。

接着在安装 CUDA 之前,先看一下你所购买的当前 CUDA 版本号是多少?具体如下:

从上图可以得到,需要关注的是 12.3 的版本,点此 传送门 即可到达指定地点,下面是截图预览。

一般情况下,尾号版本具有更大的兼容性,所以我这边直接选了 12.3.2,也是一样默认安装。 

装完之后,它的默认路径一般在(下图所示):

四、使用 Python 代码快速测试

4.1、使用 pytorch 框架

import torch

# 检查是否有CUDA支持
if torch.cuda.is_available():
    print("CUDA支持可用")
else:
    print("CUDA支持不可用")

注意事项,这里没有讲太多,因为不讲库安装,这里提个醒,pytorch 需要注意一下关键字:

类似 torch-2.1.2+cu118 这样的才是支持 GPU,而 torch-2.1.2 是没有 !

4.2、使用 tensorflow 框架

import tensorflow as tf

# 获取可见的GPU设备列表
gpu_devices = tf.config.experimental.list_physical_devices('GPU')

if gpu_devices:
    print("GPU支持可用")
else:
    print("GPU支持不可用")

五、扩展知识

5.1、什么是 nvidia-smi 命令行程序

首先要明白什么是 smi?它的英文全称是 System Management Interface。

所以我们可以通俗点叫它 NVIDIA 系统管理接口或界面 (nvidia-smi) ,它是一个命令行实用程序,基于 NVIDIA 管理库 (NVML) ,旨在帮助管理和监控 NVIDIA GPU 设备。

所以如果你没有支持 nvidia-smi,那么所有 N卡相关的 GPU 都基本不能使用。

那 NVML 又是什么?它的英文全称是 NVIDIA Management Library。它基于 C 的 API,用于监控和管理 NVIDIA GPU 设备的各种状态。它提供对通过 nvidia-smi 公开的查询和命令的直接访问。NVML 的运行时版本附带 NVIDIA 显示驱动程序,SDK 提供相应的标头、存根库和示例应用程序。每个新版本的 NVML 都向后兼容,旨在成为构建第三方应用程序的平台。

5.2、CPU 与 GPU 在开发及应用中的区别

在机器学习中,CPU(中央处理器)和 GPU(图形处理器)都可以用于训练和推理模型,但它们在性能和适用场景上有所不同。以下是 CPU 和 GPU 在机器学习中的主要区别:

5.2.1、并行处理能力

CPUCPU 通常有较少的核心(如 2 到 16 个),适合处理顺序任务和复杂的逻辑运算。
GPUGPU 拥有数百到数千个较小的核心,适合大规模并行计算,如矩阵运算和向量运算。

5.2.2、内存带宽

CPUCPU 的内存带宽相对较低,访问内存的延迟较高。
GPUGPU 具有更高的内存带宽,可以快速访问大量数据,适合处理大规模数据集。

5.2.3、计算速度

CPUCPU 在处理复杂的逻辑运算和分支预测方面表现出色,但在大规模并行计算方面较慢。
GPUGPU 在大规模并行计算方面表现出色,特别适合矩阵运算和卷积等操作,可以显著加速机器学习的训练和推理过程。

5.2.4、编程模型

CPU使用传统的编程语言和库,如 C++、Python 等,编程模型相对简单。
GPU需要使用特定的编程框架和库,如 CUDA(针对 NVIDIA GPU)或 OpenCL,编程模型相对复杂,需要考虑并行编程和内存管理。

5.2.5、成本和功耗

img img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取