目录

    • 安装cuda
    • 下载cuDNN包
    • cuda配置验证
    • pycharm内下载gpu版TensorFlow

安装cuda

下载链接:https://developer.nvidia.cn/cuda-downloads?


直接安装,首先提取在temp目录:


这个temp目录在退出安装以及安装完成后会自动删除,如果没有,我们也可以手动将其删除

提取完成后,就进入安装步骤

直接精简安装即可,省事快捷,占点储存空间在现在也不是个事。


安装好cuda后,会提示重启。重启完成后,安装成功。

cuda安装好之后,会新建两个环境变量CUDA_PATH以及CUDA_PATH_V11_8

注意,有教程说,cuda会生成NVCUDASAMPLES_ROOT以及NVCUDASAMPLESXX_X_ROOT目录 ,指向的似乎是示例文件sample:C:\ProgramData\NVIDIA Corporation\CUDA Samples\VXX.X

XX_X代表版本号,如11_0:NVCUDASAMPLES11_0_ROOT。

但是实际上并不存在这样的目录,且复盘了cuda安装过程,即使是自定义安装过程,查看所有的安装选项,也没有发现sample的类似选项以及目录。

如果是11.0版本的安装过程,出现的安装路径目录:

查看是否安装cuda成功,poweshell输入nvcc -V

查看cuda的配置set cuda

  • powershell下:

  • powershell ISE下:

  • CMD下:

这里可以发现只有cmd能正确的找到这个配置,原因未知

下载cuDNN包

安装cuDNN,链接https://developer.nvidia.com/rdp/cudnn-download:

需要注册一个英伟达账户

注册后,再点击链接,就能进入下载界面:

下载完成后,将压缩包解压,然后找到binincludelib文件夹:

复制到cuda的安装目录VXX.X下:

这时候要检查系统的path变量中是否有以下的路径:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\binC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\includeC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp

其他环境配置的设定,说是可以方便VS的调用,参考:

  • https://zhuanlan.zhihu.com/p/428082594
  • https://blog.csdn.net/u010618587/article/details/82940528

cuda配置验证

现在验证cuda和cudnn是否是正常的,需要使用cuda的deviceQuery.exe 和 bandwidthTest.exe进行验证,在powershell里进入,输入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\demo_suite,然后输入:

  • .\bandwidthTest.exe:

  • .\deviceQuery.exe:

pycharm内下载gpu版TensorFlow

直接在pycharm的项目的terminal里运行:

pip install tensorflow-gpu

我的项目配置的是py3.6的虚拟环境
自动安装的是TensorFlow-gpu 2.6版本,代码自动补全功能比较完善)

即使安装TensorFlow cpu版本也是2.6版本。

测试是否成功:

import tensorflow as tftf.config.list_physical_devices('GPU')

输出:

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

之前有教程推荐以下的检测方法:

tf.test.is_gpu_available()

但是实际运行中,发现了deprecated的警告,输入如下:

WARNING:tensorflow:From <ipython-input-5-17bb7203622b>:1: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.Instructions for updating:Use `tf.config.list_physical_devices('GPU')` instead.2022-11-17 00:41:48.441314: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX AVX2To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.2022-11-17 00:41:50.455672: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /device:GPU:0 with 5482 MB memory:  -> device: 0, name: NVIDIA GeForce RTX 3070 Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6Out[5]: True