在深度学习和数据科学领域,TensorFlow 是一个强大的开源框架,支持 CPU 和 GPU 计算。为了最大化计算效率,合理配置 TensorFlow GPU 版本至关重要。
本指南介绍了如何选择合适的 Python 版本,配置 NVIDIA 相关驱动(CUDA 和 cuDNN),安装 TensorFlow GPU 版本,并验证其是否成功运行在 GPU 上。通过本教程,用户可以顺利搭建深度学习环境,以充分发挥 GPU 的计算能力。
文章目录
- Python 版本选择
- NVIDIA 配置流程
- Tensorflow 配置流程
- Tensorflow GPU验证
- 总结
Python 版本选择
建议直接安装Anaconda,选择自己需要版本即可。也可以直接前往 Python 官网 下载 Python 3.x 的安装包。运行安装程序并按照提示进行安装。在安装过程中,请确保勾选“Add Python to PATH”选项,以便在系统环境变量中添加 Python。
NVIDIA 配置流程
设置显卡开发者模式,按照图中显示配置即可。
确认NVIDIA显卡系统信息,自己要记不住用个小本本记录一下12.1.68这串数字就可以了。
安装 cuda,点击 NVDIA官网下载,选择对应的版本。例如之前的显卡版本信息是12.1.68则选择12.1.x即可以此类推。
点击下载选择安装程序,该程序和之前的必备程序对应。
下载完之后点击安装安装就行了。
点击程序解压到任意位置,安装后临时文件会自动清除,进入安装程序一直点下一步默认安装就行了。
cuDNN安装,点击 NVDIA官网下载,选择对应的版本。这个地方要注册,使用QQ或者微信联合登录即可。选择刚才的CUDA版本,下载压缩包。
下载完之后解压缩该文件夹打开即可。
解压下载的 cuDNN 压缩包,并将解压后的文件(包括 cuda\bin、cuda\include 和 cuda\lib 目录下的文件)复制到目录xxxx\NVIDIA GPU Computing Toolkit\CUDA\v12.1目录下。
cuda 、cuDNN 环境配置,复制下面的内容到环境变量即可。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib\x64 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\extras\CUPTI\lib64 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\includeTensorflow 配置流程
cuDNN、CUDA、Python版匹配,点击 tensorflow官网,页面拉到最下面。直接跳过CPU部分。
Tensorflow gpu 2.4.0 安装,命令行执行pip install tensorflow-gpu==2.4.0命令进行安装,这里的版本号要根据自己的系统环境匹配确定。
pipinstalltensorflow-gpu==2.4.0Tensorflow GPU验证
命令行进入python执行下面的命令,执行import tensorflow as tf。这一行代码导入了一个名为 TensorFlow 的开源机器学习库。TensorFlow 提供了一系列的函数和类,能够帮助我们进行深度学习或机器学习相关的任务。这里我们将其简化为tf,以便在后续的代码中更方便地调用。
执行命令tf.test.is_gpu_available(),这个函数的作用是检查当前 TensorFlow 是否可以访问到图形处理器(GPU)。如果可以,那么在进行深度学习等计算密集型任务时,可以利用 GPU 来加速计算。该函数会返回一个布尔值,如果返回 True,表示当前环境下的 TensorFlow 可以使用 GPU;如果返回 False,则表示不能。Pychram 中测试这里建议先重启一下,不然会出现显存不足的情况。
import tensorflow as tf:导入TensorFlow库,这是一个用于深度学习和机器学习的库。import timeit:导入timeit库,这是一个用于测量小段代码执行时间的库。- 在CPU设备上:
cpu_a = tf.random.normal([10000, 1000]):在CPU上生成一个10000行1000列的随机正态分布矩阵。cpu_b = tf.random.normal([1000, 2000]):在CPU上生成一个1000行2000列的随机正态分布矩阵。print(cpu_a.device, cpu_b.device):打印两个矩阵的设备信息,确认是否在CPU上。
- 在GPU设备上:
gpu_a = tf.random.normal([10000, 1000]):在GPU上生成一个10000行1000列的随机正态分布矩阵。gpu_b = tf.random.normal([1000, 2000]):在GPU上生成一个1000行2000列的随机正态分布矩阵。print(gpu_a.device, gpu_b.device):打印两个矩阵的设备信息,确认是否在GPU上。
cpu_run():定义一个在CPU上进行矩阵乘法的函数。gpu_run():定义一个在GPU上进行矩阵乘法的函数。- 预热运行:
- 对
cpu_run()和gpu_run()进行10次运行,用于预热CPU和GPU。 - 打印预热运行的时间。
- 对
- 正式运行:
- 对
cpu_run()和gpu_run()进行10次运行,用于比较CPU和GPU执行矩阵乘法的速度。 - 打印正式运行的时间。
- 对
importtensorflowastfimporttimeitwithtf.device('/cpu:0'):cpu_a=tf.random.normal([10000,1000])cpu_b=tf.random.normal([1000,2000])print(cpu_a.device,cpu_b.device)withtf.device('/gpu:0'):gpu_a=tf.random.normal([10000,1000])gpu_b=tf.random.normal([1000,2000])print(gpu_a.device,gpu_b.device)defcpu_run():withtf.device('/cpu:0'):c=tf.matmul(cpu_a,cpu_b)returncdefgpu_run():withtf.device('/gpu:0'):c=tf.matmul(gpu_a,gpu_b)returnc# warm upcpu_time=timeit.timeit(cpu_run,number=10)gpu_time=timeit.timeit(gpu_run,number=10)print('warmup:',cpu_time,gpu_time)cpu_time=timeit.timeit(cpu_run,number=10)gpu_time=timeit.timeit(gpu_run,number=10)print('run time:',cpu_time,gpu_time)总结
本指南详细介绍了 TensorFlow GPU 版本的环境配置流程,包括 Python 版本选择、NVIDIA CUDA 和 cuDNN 的安装,TensorFlow 的安装方式,以及 GPU 运行测试方法。通过正确的配置,用户可以高效地利用 GPU 进行深度学习计算,大幅提升训练速度。
希望本指南能帮助开发者快速搭建 TensorFlow 计算环境,优化深度学习任务的执行效率。