这不是一篇系统教程,而是我把几个容易混淆的机器学习概念放在一起梳理的学习记录。
本文整理自早期学习笔记,发布时间按学习阶段归档。
正文
GCN 与 GNN
(Graph Convolutional Network,图卷积网络)是图神经网络(Graph Neural Network,GNN)的一种具体实现
GNN(图神经网络)作为处理图结构数据的神经网络总称,是一个覆盖更全面、体系更完善的研究与应用领域
电脑/手机的(游戏模式和野兽模式)与 GPU 加速的关系?
游戏模式和野兽模式,只管 “硬件性能释放”,不管 你怎么用。一般是做游戏的画面渲染
cuda:定向深度学习:张量计算、神经网络运算
什么是 CUDA?
CUDA(Compute Unified Device Architecture)是由 NVIDIA 开发的并行计算平台和编程模型,
旨在利用 GPU(图形处理单元)的强大计算能力来加速计算密集型任务。
它通过提供一系列 API 和工具,使开发者能够编写并优化在 GPU 上运行的程序,从而实现高性能计算。
CUDA 的核心思想是通过 CPU 和 GPU 的协作来提升计算效率。
CPU 负责任务调度和管理,而 GPU 专注于并行计算。
GPU 的并行计算能力得益于其大量的 CUDA 核心,可以同时处理多个任务,从而显著加速大规模数据处理和复杂计算。
| 显卡品牌 | 基础驱动要求 | GPU 计算加速核心方案 | 针对 PyTorch/GNN 的核心局限性 | 生态成熟度 |
|---|---|---|---|---|
| NVIDIA | 必须安装 NVIDIA 官方显卡驱动(NVIDIA Display Driver) | CUDA Toolkit + cuDNN(专属方案) | 无核心局限性,适配所有主流 PyTorch/GNN 功能;仅需显卡型号匹配 CUDA 版本即可 | 极高(主流首选) |
| AMD | 必须安装 AMD 官方显卡驱动(如 Adrenalin Edition) | ROCm(Radeon Open Compute Platform) | 1. 仅支持部分高端 / 专业级 AMD 显卡,入门级显卡不支持;<br><br>2. 仅 Linux 系统可用,Windows 基本无支持;<br><br>3. PyTorch 支持为实验性,GNN 功能兼容性差 | 低 |
| Intel | 必须安装 Intel 官方显卡驱动(Intel Graphics Driver) | OneAPI + Intel Extension for PyTorch | 1. 仅支持最新 Arc 独显、12 代及以上核显;<br><br>2. 仅部分 PyTorch 算子支持加速;<br><br>3. GNN 相关计算加速效果差 | 极低 |
conda 的功能之一也是包管理工具。
anaconda 是什么,anaconda 和 conda 是什么关系,为什么要装 anaconda
XX 照片管理系统 + XX 全家桶
anaconda 和 miniconda 同为 conda 官方推荐的 conda 工具。anaconda 和 conda 的关系,就像 github 和 git 的关系,anaconda 不光包含了 conda 命令行软件,还包含了多如牛毛的预装 python 包,以及令人瞠目结舌的黑科技全家桶。
我们装 anaconda 主要是冲着 conda 管理 python 运行环境比较方便的原因,以及它那一大堆预装包。虽然其他的我们用不到,但是大树底下好乘凉嘛。
与pip 又是什么(应用商店)
python 和 java 一样,运行起来需要各种包的支持。java 兴起的最开始,开源 jar 包作者在各自的网站上面发布自己的包,需要用的开发者就去他们的网站上下载,然而很快就出现了一个问题,如果一个大型工程需要用到几十个,甚至几百个 jar 包,一个个翻网站下载显然是非常劳累的。所以就有了 maven 和 gradle,他们自己建了 maven 仓库和 gradle 仓库,就像 IOS 应用商店一样,开源 jar 包的作者会把各种版本的 jar 包统一上传到仓库,开发者统一下载,非常方便。
python 问世的时候,java 的 maven 和 gradle 早已流行多年,
python 官方也吸取了经验,直接官方内置 pip 工具,官方经营 pip 仓库。正式的名称叫做包管理工具。
pytorch 是个啥子玩意
是一个深度学习的框架,大体来说就是提供一个接口,比如我想要搭个神经网络,调用个接口,他分分钟就给你搞定,又比如我想要加一个优化器反向传播改参数,加一个 optimizer 他就给你搞定了(大兄弟 666)。
提供了 Python 接口。 是一个以 Python 优先的深度学习框架,不仅能够实现强大的 GPU 加速,同时还支持动态神经网络,这是很多主流深度学习框架比如 Tensorflow 等都不支持的。
nummpy: 是一个用于矩阵运算的库,pytorch 可以替代 nummpy 进行深度学习的运算
