TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?

简介: TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?


有了上次的经验Windows部署TensorFlow后识别GPU失败,原因是啥?,我们这次操作就顺利多了,在保留之前环境的基础上,我们新建一台虚拟机来操作。

配置稍微堆高一点,避免影响性能,配置48核CPU、128 GB运行内存(全部锁定)、200 GB系统盘,镜像使用Windows 10的19041版本。

系统安装完成之后,GPU驱动没有自动安装,需要手工安装。

相比于之前,版本又更新了,下载安装一下。安装完成之后,和上次一样HPE服务器通过显卡直通安装Tesla M4,这算亮机成功了吗?,显示适配器驱动识别正常,NVIDIA控制面板只有系统信息可以展示,不能配置显示配置。

任务管理器中没有GPU选项。

接下来安装Anaconda,安装过程中勾选Clear the package cache upon completion(完成后清除安装包缓存),本次安装前磁盘的已用空间为40.5 GB,安装完成后已用空间为45.6 GB,大约占用5.1 GB。

安装完成之后,打开Anaconda Navigator,进入“Environment”查看环境配置。点击页面下方的“Create”来创建一个新环境,指定名称为tensorflow,Python版本选择为3.11.5,点击“Create”完成创建。

新环境创建完成之后,点击新环境后面的启动按钮,选择“Open Terminal”打开命令行终端。

然后输入以下命令来激活testtensorflow环境:

activate tensorflow

接下来又到了安装TensorFlow的时候了,默认情况下,pip使用的是官方的Python Package Index (PyPI) 服务器(https://pypi.org/),但因为区域问题,我们在安装Python包时遇到了速度慢且网络不稳定的问题,此时我们考虑切换到国内的镜像源试一下。

常用的国内镜像源有,清华大学https://pypi.tuna.tsinghua.edu.cn/simple/,中国科学技术大学(USTC)https://pypi.mirrors.ustc.edu.cn/simple/,阿里云http://mirrors.aliyun.com/pypi/simple/

切换pip源有两种常见方法:临时更换和永久修改。对于临时更换,只需在命令行中使用-i参数指定一个新的源地址,比如我们本次临时使用中国科学技术大学的镜像源(清华大学的有报错),命令如下:

pip install tensorflow -i https://pypi.mirrors.ustc.edu.cn/simple/

果然这个速度就快很多了,最快能到将近200 Mbps。

当然,如果你感觉每次安装库时都输入一遍国内镜像源地址麻烦的话,也可以试试永久修改。首先打开Windows文件资源管理器,在地址栏中输入“%appdata%”,然后回车,一般会进入到C:\Users\tesla\AppData\Roaming目录;然后新建一个“pip”文件夹,并在pip文件夹下,新建一个名为“pip.ini”的文件,并向文件中写入以下内容:

[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple/
trusted-host = pypi.mirrors.ustc.edu.cn

最后保存并关闭pip.ini文件即可。

然后我们可以简单进行验证。

如果看到查找的路径与我们配置的源路径一直就说明修改成功了。

进入Python视图,输入以下命令检测TensorFlow版本。

import tensorflow as tf
print("TensorFlow version:", tf.__version__)

输入以下命令检测GPU状态。

tf.test.is_gpu_available()

哦吼,还是False,难道是没有装CUDA和cuDNN的原因?那就下载安装一个,CUDA文件大小3.1 GB,又不小。下载链接如下:

https://developer.download.nvidia.com/compute/cuda/12.3.1/local_installers/cuda_12.3.1_546.12_windows.exe

安装过程和显卡驱动安装过程基本一致,需要注意一个Visual Studio的确认页面,Visual Studio的CUDA工具包是用来方便我们开发CUDA程序的,如果不需要开发CUDA程序,则不需要安装Visual Studio的CUDA工具包,勾选下面的同意选项即可。

之后按照提示完成安装即可。

再安装一个cuDNN,记得选择和CUDA版本配套的版本,下载链接如下:

https://developer.download.nvidia.com/compute/cudnn/secure/8.9.6/local_installers/12.x/cudnn-windows-x86_64-8.9.6.50_cuda12-archive.zip

解压压缩包,会得到3个文件夹。

然后,将bin中的所有文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\bin中,将include中的所有文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\include中,将\lib\x64中的所有文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\lib\x64中。

接下来,在计算机系统属性的“高级”页签中,点击进入“环境变量”配置,检查系统变量的Path中是否存在指向C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\bin的变量;如果不存在,请创建一个。

操作完成后,我们可以在CMD命令提示符或PowerShell运行以下命令检查cuDNN是否安装成功,正常应该可以看到NVCC(NVIDIA Cuda Compiler)的版本信息。

nvcc --version

好了,现在CUDN和cuDNN都装好了,但还是不成功,重启试一下。

完蛋,崩溃了,怎么就不行呢?

长按二维码

关注我们吧



相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
4月前
|
并行计算 TensorFlow 算法框架/工具
win10上使用gpu版的tensorflow
win10上使用gpu版的tensorflow
|
5月前
|
TensorFlow 算法框架/工具 异构计算
Windows部署TensorFlow后识别GPU失败,原因是啥?
Windows部署TensorFlow后识别GPU失败,原因是啥?
|
4月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
65 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
13天前
|
机器学习/深度学习 并行计算 TensorFlow
TensorFlow与GPU加速:提升深度学习性能
【4月更文挑战第17天】本文介绍了TensorFlow如何利用GPU加速深度学习, GPU的并行处理能力适合处理深度学习中的矩阵运算,显著提升性能。TensorFlow通过CUDA和cuDNN库支持GPU,启用GPU只需简单代码。GPU加速能减少训练时间,使训练更大、更复杂的模型成为可能,但也需注意成本、内存限制和编程复杂性。随着技术发展,GPU将继续在深度学习中发挥关键作用,而更高效的硬件解决方案也将备受期待。
|
4月前
|
机器学习/深度学习 人工智能 算法
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
46 2
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
|
5月前
|
并行计算 TensorFlow 算法框架/工具
Linux Ubuntu配置CPU与GPU版本tensorflow库的方法
Linux Ubuntu配置CPU与GPU版本tensorflow库的方法
|
4月前
|
人工智能 机器人 Serverless
魔搭大模型一键部署到阿里云函数计算,GPU 闲置计费功能可大幅降低开销
魔搭大模型一键部署到阿里云函数计算,GPU 闲置计费功能可大幅降低开销
584 2
|
3天前
|
关系型数据库 Serverless 异构计算
Serverless 应用引擎产品使用之在阿里云函数计算中使用包含GPU的实例并且镜像超过10GB了如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
24 0
|
5月前
|
机器学习/深度学习 存储 弹性计算
阿里云GPU云服务器有哪些版本
阿里云GPU云服务器有哪些版本
|
5月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU云服务器有哪些方案
阿里云GPU云服务器有哪些方案

热门文章

最新文章