前言
NVIDIA CUDA® 深度神经网络库 (cuDNN) 是一个 GPU 加速的深度神经网络基元库,能够以高度优化的方式实现标准例程(如前向和反向卷积、池化层、归一化和激活层)。 全球的深度学习研究人员和框架开发者都依赖 cuDNN 来实现高性能 GPU 加速。 借助 cuDNN,研究人员和开发者可以专注于训练神经网络及开发软件应用,而不必花时间进行低层级的 GPU 性能调整。 cuDNN 可加速广泛应用的深度学习框架,包括 Caffe2、Chainer、Keras、MATLAB、MxNet、PaddlePaddle、PyTorch 和 TensorFlow。
准备工作
组件及其版本
- 版本信息确定
Anaconda(3)+ Python(3.11.8)+ Tensorflow-gpu(2.13)+ CUDA(11.8.0)+ cuDNN(8.9.2)
- 查看本机GPU的cuda版本
显示CUDA版本为12.4 => cuda(cudatoolkit)版本低于或等于12.4均可(可向下兼容). 上图红框为:显存使用/显存大小,蓝框为GPU使用率。
- 查看NVIDIA控制面板
环境搭建
Anaconda+Python虚拟环境安装
安装CUDA与cuDNN
- 查看cuDNN可安装版本
- 查看CUDA可安装版本
命令安装
- cuDNN安装
安装命令:conda install cudnn=8.9.2 -c anaconda
在这条命令中,-c anaconda 指定了从 anaconda channel 安装包,cudnn=8.2.1 精确指定了要安装的软件包及其版本号。
- CUDA安装
安装命令:
下载安装
- CUDA的下载以及安装
- Microsoft Visual Studio安装
- CUDA安装
安装目录:D:\software\NVIDIA\CUDA
- CUDA配置
新版已不需要单独配置环境变量
- CUDA安装成功测试
- Microsoft Visual Studio安装
- cuDNN下载以及安装
- cuDNN安装
在D:\software\NVIDIA\CUDA\v12.4位置全部替换为cudnn-windows-x86_64-9.1.0.70_cuda12-archive中的解压文件
- cuDNN安装测试
- cuDNN安装
Installing Tensorflow
conda create -n tf python==3.9.13 tensorflow对conda支持并不友好
tensorflow==2.10.1 是支持windows gpu 的最后一个版本
pip install --upgrade tensorflow==2.10.1
TensorFlow 2.13.1版本需要Python版本: Requires: Python >=3.8
安装命令:# For GPU users
pip install tensorflow[and-cuda]
# For CPU users
pip install tensorflow
Installing Pytroch
Pytroch安装
Pytroch安装测试
TensorBoard安装
pip install tensorboard -i https://pypi.tuna.tsinghua.edu.cn/simple
- TensorBoard安装测试
Installing JAX
- 安装方式I
pip3 install jax jaxlib -i https://pypi.tuna.tsinghua.edu.cn/simple
- 安装方式II
I.CPU-only (Linux/macOS/Windows)
pip install -U "jax[cpu]"
II.GPU (NVIDIA, CUDA 12, x86_64)
pip install -U "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
或者:
pip install --upgrade jax==0.4.7 jaxlib==0.4.7+cuda11.cudnn82 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
- JAX nightly installation
jaxlib NVIDIA GPU (CUDA 12):
pip install -U --pre jaxlib -f https://storage.googleapis.com/jax-releases/jaxlib_nightly_cuda12_releases.html
- 安装测试
测试
Q&A
- Q: CPU和GPU的区别是什么呢?
A:
- Q: cuDNN的主要特性
- A:
1. 为各种常用卷积实现了 Tensor Core 加速,包括 2D 卷积、3D 卷积、分组卷积、深度可分离卷积以及包含 NHWC 和 NCHW 输入及输出的扩张卷积
2. 为诸多计算机视觉和语音模型优化了内核,包括 ResNet、ResNext、EfficientNet、EfficientDet、SSD、MaskRCNN、Unet、VNet、BERT、GPT-2、Tacotron2 和 WaveGlow
3. 支持 FP32、FP16、BF16 和 TF32 浮点格式以及 INT8 和 UINT8 整数格式
4. 4D 张量的任意维排序、跨步和子区域意味着可轻松集成到任意神经网络实现中
5. 能为各种 CNN 体系架构上的融合运算提速
- Q: tensorflow2.13.1 Num GPUs Available: 0 解决
- A:
tensorflow==2.10.1 是支持windows gpu 的最后一个版本
- Q: 如何查看cuDNN版本
- A:
import torch
print(torch.backends.cudnn.version())
- Q: TensorBoard简介
- A:
TensorBoard是Google开发的一个机器学习可视化工具。其主要用于记录机器学习过程,例如: 1.记录损失变化、准确率变化等 2.记录图片变化、语音变化、文本变化等。例如在做GAN时,可以过一段时间记录一张生成的图片 3.绘制模型
名称解释
名称 | 解释说明 | 备注 |
---|---|---|
tensorflow | 深度学习框架 | |
cuda | CUDA是显卡厂商NVIDIA推出的运算平台。CUDA™是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型,该架构使GPU能够解决复杂的计算问题 | |
cudnn | cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络中的基础操作而设计基于GPU的加速库。 | |
nvidia驱动 | 用来驱动pc的nvidia显卡 | |
GPU | 显卡是我们平时说的GPU,现在大多数的电脑使用NVIDIA公司生产的显卡;常见的型号有Tesla V100,GTX950M,GTX1050TI,GTX1080等 | |
CUDA Toolkit | CUDA工具包的主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。 | |
NVCC | NVCC就是CUDA的编译器,可以从CUDA Toolkit的/bin目录中获取,类似于gcc就是c语言的编译器。 | |
参考资料
- win10超全Tensorflow-gpu安装+CUDA+cuDNN+keras攻
- Windows10下使用Conda安装TensorFlow-GPU
- 深度学习——安装CUDA以及CUDNN实现tensorflow的GPU运行
- NVIDIA cuDNN
- Win10系统搭建最新Anaconda(3)+python(3.8)+tensorflow-gpu(2.7)+CUDA(11.5)+cuDNN(8.1)环境的详细流程
- CUDA GPU
- 理清GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装
- 下载安装CUDA
- Win11极速安装Tensorflow-gpu+CUDA+cudnn
- Tensorflow与Python、CUDA、cuDNN的版本对应表
- Windows安装GPU版本的tensorflow+CUDA+CUDNN(超详细)
- 搭建CUDA11.8.0+cuDNN8.9.2+python3.11.4+anaconda23.5.2环境的过程记录
- CUDA下载链接
- cuDNN下载链接
- cuda-toolkit-archive
- cudnn-downloads
- python&anconda系列(亲测有效):window11系统CUDA、cuDNN 安装以及环境变量配置
- 在win11使用4070s显卡作为GPU 配置pytorch
- NVIDIA开发者社区
- Microsoft Visual Studio
- Microsoft Visual Studio安装教程超详解
- 提示Nsight compute安装失败
- Install TensorFlow 2
- pytorch官网
- Tensorflow找不到GPU:tensorflow 2.11.0版本开始,在windows上不再支持GPU
- 放弃支持Windows GPU、bug多,TensorFlow被吐槽:2.0后慢慢死去
- JAX文档
- JAX安装过程中遇到的各种坑
- 安装jaxlib:与CUDA和cudnn硬件的版本可以查看
- PyTorch下的可视化工具(网络结构/训练过程可视化)
- PyTorch入门教学——TensorBoard使用
- TensorBoard入门——Pytorch中使用(附带案例演示)
文档信息
- 本文作者:Tony
- 本文链接:https://lj-michale.top/2024/04/18/install_tensorflow-gpu_cuda_cudnn/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)