Window 10 tensorflow 2.1 CUDA配置(cuda toolkit安装失败解决)

TensorFlow 2.1 GPU配置:CUDA 10.1 安装与问题解决指南
本文详细记录了在Windows10系统上,使用GeForce GTX1050显卡配置TensorFlow 2.1 GPU版本的过程,包括CUDA 11.3安装失败后改用CUDA 10.1的解决方法,图形驱动安装失败的处理,以及cudnn64_7.dll缺失的解决步骤。通过自定义安装避开Visual Studio Integration问题,单独安装图形驱动,以及手动添加dll文件,最终成功启用GPU训练。
部署运行你感兴趣的模型镜像

最近的project数据量都比较顶,只用cpu训练太折磨了,于是想exploit一下平时都没怎么做过功的GTX 1050。在配置过程中遇到不少问题,可能因为我遇到的问题比较独特,查了许多博客也没有完整流程,最后东拼西凑终于是解决了,于是想记录一下与大家分享,以供出现相同问题的朋友们参考。文章的目标是为tensorflow 2.1-gpu版本配置cuda,让训练能在GPU上运行。我是配v11.3的CUDA死活配不上,最后换成v10.1的CUDA了。如果是一定要求v11.3或其它版本的小伙伴,这篇文章对你可能没有什么帮助,如果只是单纯想用上GPU,就还是有参考价值的。

配置CUDA前相关的环境信息

  1. Windows 10系统
  2. 显卡GeForce GTX 1050
  3. 通过pip安装的tensorflow-gpu 2.1.0

虽然安装的是gpu版本,但这时运行tensorflow会有警告没有检测到cuda和一些dll文件missing。这时检查一下自己的电脑中是否有NVIDIA GPU Computing Toolkit这个文件夹。它一般情况下路径是C:\Program Files\NVIDIA GPU Computing Toolkit。如果没有我们需要下载CUDA的toolkits,可以从NVIDIA官方网站下载。

CUDA toolkit v11.3安装失败的解决方式

但这里我遇到了第一个麻烦。网页搜索NVIDIA toolkit,点进最显眼的官方页面,里边只默认提供了最新版本的toolkit(我下载时是v11.3)。下载v11.3后我的安装总是失败,失败点为Nsnight visual studio edition失败。网上大多数解答是:

  1. 选择自定义安装,不点选Visual Studio Integration
  2. 下载一个DDU的软件,把之前的显卡驱动啥的全清干净再重新安装
  3. 针对失败项,从NVIDIA官网单独下载安装

前两种方法我都进行了尝试,无法解决。第一种方法无法解决是因为我并不是visual studio integration失败了。第二种方法比较麻烦,得下载,转换安全模式,清除之前全部的显卡驱动之后重装,但同样不行,还是挂在Nsnight visual studio edition。

最终我的解决方法是放弃官方页面锁死推荐的v11.3,换成下载v10.1。其实所有的历史版本官方都有,在https://developer.nvidia.com/cuda-toolkit-archive,找到v10.1下载就行。(我下的是没有update的,以及在toolkit的推荐网页居然只锁死最新版的下载感觉有点坑)

之后就是具体的下载选择,选择符合自己配置的就好。我选择了local的安装包,之后便是下载安装。

接下来遇到一个小问题: v10.1的CUDA终于在Visual Studio Integration也挂了一次,就按照网上的经验选择自定义取消对它的勾选就好。

图形驱动程序安装失败的解决方式

然而之后我又很快的遇到了第二个问题: 图形驱动程序安装失败。这估计是之前尝试DDU解决方法后把显卡驱动全删了,然后安装程序中的版本不一致导致的。解决方法是自己先单独安装图形驱动。可以搜索NVIDIA驱动程序,或直接点右边的链接https://www.nvidia.cn/Download/index.aspx?lang=cn选择与自己显卡型号匹配的版本。我的GeForce GTX 1050是在GeForce下的GeForce 10 series。使用需求我选择了game ready的需求。(唉,我这原本已经装过了,之前试DDU方法又给全删了…)。下载完安装。这个单独安装应该没有什么问题。

这时候在重新打开CUDA toolkit的安装程序,同样取消Visual Studio Integration的勾选,之后安装就没有错误,能成功装上了。(实际上GeForce Experiment这些选项应该是可以不用选的,只勾选CUDA就可以满足gpu使用了)。

缺少cudnn64_7.dll的解决方式

成功安装后我以为能够成功使用了,import tensorflow也是一路successful。但最后还是有一个warning,导致GPU调用失败
Could not load dynamic library ‘cudnn64_7.dll‘; dlerror cudnn64_7.dll not found
这个解决方法是从网上下载v10.1版本cuda对应的cudnn64_7.ddl(这个文件可以搜索下载,优快云的下载里边也有大佬们提供了资源,但是下载资源要收费,我也就不好随便公开出来,有需要可私信)然后放进.\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin中。默认情况的绝对路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
这之后可以通过

import tensorflow as tf
print(tf.__version__)
print(tf.test.is_gpu_available())

进行测试,只要一路successful,最后输出True就说明成功了。

引用

最后解决缺失.dll的方法和测试用的代码是从下面这个博客中学到的。
[1]: https://blog.youkuaiyun.com/qq_43203949/article/details/108550960

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think>我们正在为Windows系统下安装支持GPUTensorFlowCUDA 11.5)提供教程。根据引用资料,特别是引用[1]和[4],虽然它们提到的是不同的CUDA版本(如12.0),但我们可以调整步骤以适应CUDA 11.5。注意:TensorFlow官方并未正式支持CUDA 11.5,但我们可以通过安装TensorFlow 2.10.0(最后一个支持原生GPU的版本)来兼容。 以下是详细的安装步骤: ### 1. 确认系统要求 - 操作系统:Windows 10Windows 11(如引用[1]和[4]所述) - NVIDIA显卡:确保显卡支持CUDA 11.5(计算能力>=3.5)[^1] - 驱动程序:安装CUDA 11.5兼容的NVIDIA显卡驱动(最低版本470,但建议使用最新驱动,只要支持CUDA 11.5)[^1] ### 2. 安装NVIDIA显卡驱动 1. 打开NVIDIA控制面板,点击“帮助”>“系统信息”>“组件”,查看当前驱动支持的CUDA版本(如引用[4]所述,通过`nvidia-smi`命令查看,CUDA Version显示为12.0或更高,但实际我们需要确保驱动支持CUDA 11.5)。 2. 如果当前驱动不支持CUDA 11.5,请前往[NVIDIA驱动下载](https://www.nvidia.com/Download/index.aspx)下载并安装支持CUDA 11.5的驱动(版本号>=470)[^1]。 ### 3. 安装Visual Studio 2019(可选但推荐) - CUDA依赖Visual Studio的C++编译环境。下载并安装Visual Studio 2019,在安装时选择“使用C++的桌面开发”[^1]。 ### 4. 安装CUDA 11.5 1. 前往[CUDA Toolkit 11.5下载页面](https://developer.nvidia.com/cuda-11-5-0-download-archive) 2. 选择操作系统(Windows)、版本(11.5)和安装类型(推荐exe[local])并下载。 3. 运行安装程序: - 自定义安装:取消勾选“NVIDIA GeForce Experience”(如果不需要)和“NVIDIA Graphics Driver”(如果已安装最新驱动)[^1]。 - 其他组件默认安装。 4. 验证安装:打开命令提示符,输入: ```bash nvcc -V ``` 应显示CUDA 11.5版本信息。 ### 5. 安装cuDNN 8.3(与CUDA 11.5匹配) 1. 前往[cuDNN下载页面](https://developer.nvidia.com/rdp/cudnn-archive)(需要注册NVIDIA账号)。 2. 下载cuDNN v8.3.0 for CUDA 11.5(注意版本匹配,如引用[3]强调)。 3. 解压下载的文件(例如:`cudnn-windows-x86_64-8.3.0.98_cuda11.5-archive.zip`)。 4. 将解压后的文件夹中的内容拷贝到CUDA安装目录(默认为`C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5`): - 复制`bin`目录下的文件到`CUDA\v11.5\bin` - 复制`include`目录下的文件到`CUDA\v11.5\include` - 复制`lib`目录下的文件到`CUDA\v11.5\lib\x64` ### 6. 安装Anaconda 1. 下载并安装[Anaconda](https://www.anaconda.com/download)(如引用[1]所述)。 2. 安装时勾选“Add Anaconda to my PATH environment variable”(或安装后手动添加)。 ### 7. 创建并配置conda环境 1. 打开Anaconda Prompt: ```bash # 创建环境(使用Python 3.9,因为TensorFlow 2.10支持) conda create -n tf_gpu python=3.9 conda activate tf_gpu # 安装TensorFlow 2.10.0(支持CUDA 11.5) pip install tensorflow==2.10.0 # 注意:我们不需要单独安装tensorflow-gpu包,因为tensorflow包已包含GPU支持(如引用[2]所述) ``` ### 8. 配置环境变量(如果未自动设置) 在系统环境变量中确保以下路径存在(可能需要手动添加): - `CUDA_PATH`: `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5` - 将`%CUDA_PATH%\bin`和`%CUDA_PATH%\libnvvp`添加到`Path`变量中。 ### 9. 验证安装 在Anaconda Prompt中(激活tf_gpu环境): ```python python -c "import tensorflow as tf; print(tf.__version__); print(tf.config.list_physical_devices('GPU'))" ``` 输出应显示TensorFlow版本(2.10.0)和可用的GPU设备列表。 ### 常见问题解决 - **问题1**:如果提示找不到DLL(如`cudnn64_8.dll`),请检查cuDNN文件是否正确复制到CUDA的bin目录下。 - **问题2**:如果安装TensorFlow后运行提示CUDA版本不兼容,请检查CUDA和cuDNN版本是否匹配(必须为CUDA 11.5和cuDNN 8.3.0)[^3]。 > **注意**:TensorFlow 2.10是最后一个支持原生GPU的版本,后续版本需要从源码编译才能支持CUDA 11.5[^1]。 §§相关问题§§ 1. 如何验证TensorFlow是否真正使用GPU加速? 2. 安装过程中遇到CUDA动态链接库(DLL)加载失败错误怎么办? 3. 如何在Windows系统中升级或降级CUDA版本? 4. 使用conda安装和pip安装TensorFlow-GPU有何区别? </think>### Windows系统下安装TensorFlow-GPUCUDA 11.5)详细教程 #### 1. 确认系统要求 - **操作系统**:Windows 10/11(64位) - **显卡要求**:NVIDIA GPU(支持CUDA 11.5,计算能力≥3.5) - **驱动版本**:≥470(通过`nvidia-smi`查看驱动版本和CUDA支持)[^4] - **软件依赖**: - Visual Studio 2019(C++桌面开发组件) - Anaconda3(Python 3.9环境) #### 2. 安装NVIDIA驱动 1. 检查当前驱动支持的CUDA版本: ```powershell nvidia-smi # 输出的"CUDA Version"应为11.5或更高 ``` 2. 若不符合要求: - 访问[NVIDIA驱动下载页](https://www.nvidia.com/Download/index.aspx) - 选择匹配显卡的驱动(≥470版本) - 执行安装并重启系统 #### 3. 安装CUDA 11.5 1. 访问[CUDA Toolkit 11.5下载页](https://developer.nvidia.com/cuda-11-5-0-download-archive) 2. 选择安装选项: ``` Operating System: Windows Architecture: x86_64 Version: 10/11 Installer Type: exe (local) ``` 3. 运行安装程序时: - 选择**自定义安装** - 取消勾选"NVIDIA GeForce Experience" - 保留其他默认组件 4. 验证安装: ```powershell nvcc -V # 应显示Cuda compilation tools 11.5 ``` #### 4. 安装cuDNN 8.3.0 1. 下载[cuDNN v8.3.0 for CUDA 11.5](https://developer.nvidia.com/rdp/cudnn-archive)(需注册账号) 2. 解压下载的ZIP文件 3. 复制文件到CUDA目录: ```powershell cd cudnn-windows-x86_64-8.3.0.98_cuda11.5-archive copy bin\* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\bin copy include\* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\include copy lib\* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\lib\x64 ``` #### 5. 配置Anaconda环境 1. 创建新环境: ```powershell conda create -n tf_gpu python=3.9 conda activate tf_gpu ``` 2. 安装TensorFlow 2.10(最后支持原生GPU的版本): ```powershell pip install tensorflow==2.10.0 ``` 3. 安装CUDA工具包: ```powershell conda install -c conda-forge cudatoolkit=11.5 cudnn=8.3 ``` #### 6. 配置环境变量 1. 添加系统环境变量: ``` CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5 ``` 2. Path变量添加: ``` %CUDA_PATH%\bin %CUDA_PATH%\libnvvp ``` 3. 验证路径: ```powershell echo %PATH% | findstr "CUDA" ``` #### 7. 验证安装 创建测试脚本`test_gpu.py`: ```python import tensorflow as tf print(f"TensorFlow版本: {tf.__version__}") print(f"GPU设备列表: {tf.config.list_physical_devices('GPU')}") # 输出GPU计算能力 if tf.config.list_physical_devices('GPU'): gpu_details = tf.test.gpu_device_name() print(f"GPU设备详情: {gpu_details}") tf.debugging.set_log_device_placement(True) a = tf.constant([[1.0, 2.0], [3.0, 4.0]]) b = tf.constant([[1.0, 1.0], [0.0, 1.0]]) c = tf.matmul(a, b) print(c) else: print("未检测到GPU设备") ``` 运行结果应显示: ``` TensorFlow版本: 2.10.0 GPU设备列表: [PhysicalDevice(name='...', device_type='GPU')] Executing op MatMul in device /job:localhost/replica:0/task:0/device:GPU:0 ... ``` #### 8. 故障排除 - **DLL加载错误**:检查CUDA/bin路径是否在系统PATH中,确认cuDNN文件已正确复制 - **版本冲突**:卸载所有TensorFlow版本后重新安装 ```powershell pip uninstall tensorflow tensorflow-gpu pip cache purge ``` - **驱动兼容性问题**:使用DDU工具彻底卸载旧驱动后重装 > **关键提示**:TensorFlow 2.10是最后一个官方支持原生GPU的版本,后续版本需通过`tensorflow-cuda`包安装[^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值