news 2026/9/29 5:18:16

Win10 下 Python 3.8 配置 GPU 版 TensorFlow 2.x 环境的最简流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Win10 下 Python 3.8 配置 GPU 版 TensorFlow 2.x 环境的最简流程

在深度学习和数据科学领域,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\include

Tensorflow 配置流程

cuDNN、CUDA、Python版匹配,点击 tensorflow官网,页面拉到最下面。直接跳过CPU部分。

Tensorflow gpu 2.4.0 安装,命令行执行pip install tensorflow-gpu==2.4.0命令进行安装,这里的版本号要根据自己的系统环境匹配确定。

pipinstalltensorflow-gpu==2.4.0

Tensorflow 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 计算环境,优化深度学习任务的执行效率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 5:18:05

【Codex智慧中医系统】设计后端用户模型与登录状态

后台用户体系最容易在模型替换、后台字段注册、登录态保持三个环节出错。若自定义用户字段没有生效,后续登录查询、后台维护与接口取用户信息都会连锁异常。 本文围绕智慧中医系统的 user 应用重写设计链路。读完后,可以独立检查应用注册、用户模型、迁移、xadmin 注册、登录…

作者头像 李华
网站建设 2026/9/29 5:16:35

基于Elman神经网络的卷烟制丝松散回潮出口含水率控制方法

简介:这份PDF面向卷烟制丝工程技术人员与工业过程控制方向的学习者,聚焦松散回潮出口含水率难以精确控制的问题。传统PID反馈与前馈控制多依赖内部数据调节加水比例,忽略了环境温湿度等外部因素,存在系统误差与滞后性。文中引入具…

作者头像 李华
网站建设 2026/9/29 5:16:33

4300张猫狗检测数据集:YOLO训练到部署全流程实践

朋友前两天问我,有没有一套现成的猫狗检测数据集,能把YOLO从数据准备到训练部署这条路完整跑通。他说不想一上来就看Coco那种上百GB的大项目,只想要一个干净、能快速验证的小数据集。我当时就把手头整理的一套4300张YOLO宠物识别数据集推给了…

作者头像 李华
网站建设 2026/9/29 5:16:28

基于Jenkins+Kubernetes+Argo CD的返利APP持续交付与灰度发布实践

1. 项目背景与整体设计思路做返利APP的这两年,我最大的体会就是"业务迭代快、发版频率高、出问题必须能快速止血"。返利类应用本身有个特点——用户对价格、返利比例这些数据极其敏感,一个返利计算逻辑的小改动,直接影响用户在商品…

作者头像 李华
网站建设 2026/9/29 5:15:57

ECharts实现3D饼图:echarts-gl与原生伪3D方案实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 5:15:52

Kali Linux新手入门:虚拟机安装、提权与汉化完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华