You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何确认Windows环境下TensorFlow是否使用GPU(含Python3.6/1.15场景)

确认TensorFlow 1.15在Windows+Python3.6环境下是否使用GPU的方法

针对你遇到的两个问题,我整理了几个实用的验证方法,帮你搞清楚TensorFlow到底有没有在调用GPU:

一、快速确认GPU是否被TensorFlow识别

最简单的方式是用TensorFlow自带的检测代码,直接运行这段Python脚本:

import tensorflow as tf

# 打印当前可用的GPU设备名称
print("当前可用GPU设备:", tf.test.gpu_device_name())

# 检查GPU是否可被TensorFlow使用
if tf.test.is_gpu_available():
    print("✅ TensorFlow正在使用GPU进行计算")
else:
    print("❌ TensorFlow未启用GPU,当前使用CPU计算")

如果输出里显示类似/device:GPU:0的设备名,并且提示正在使用GPU,就说明TF已经识别到GPU了。

二、针对"GPU占用率低但速度比CPU快"的深层验证

你提到任务管理器显示GPU占用只有1%但速度比CPU快,这种情况其实很常见,任务管理器的总GPU占用率参考性不强,我们可以用更精准的方式验证:

1. 查看TensorFlow运行日志

在你的训练代码开头加上这两行,开启TF的GPU日志输出:

import os
# 只显示重要日志信息,减少冗余输出
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
# 指定使用第0块GPU(如果有多块GPU可以改成对应编号)
os.environ['CUDA_VISIBLE_DEVICES'] = '0'

运行代码时,控制台会输出类似这样的日志:

Created TensorFlow device (/device:GPU:0 with 4608 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1660 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5)

出现这条日志就说明TF已经成功将计算任务分配到GPU上了。

2. 使用NVIDIA官方工具nvidia-smi检测

打开Windows命令提示符(CMD),直接输入:

nvidia-smi

这个命令会显示GPU的详细状态:

  • GPU-Util列的数值,这是GPU的实际计算利用率
  • Memory-Usage列,确认显存是否被TensorFlow占用
  • 下方的Processes区域会显示正在使用GPU的进程,如果你看到python.exe在列表里,就说明你的TF程序确实在调用GPU

3. 查看任务管理器的"CUDA占用率"

任务管理器的总GPU占用率包含了GPU的所有负载(比如视频解码、桌面渲染等),你需要切换到性能标签页,选择GPU,然后查看CUDA这一栏的数值——这才是GPU用于计算任务的实际占用率,这个数值更能反映TF的GPU使用情况。

额外提醒:确认CUDA和cuDNN版本匹配

TensorFlow 1.15对CUDA和cuDNN的版本有严格要求:需要CUDA 10.0 + cuDNN 7.6.5,如果你的版本不匹配,即使装了GPU版TF,也可能出现"识别到GPU但无法高效利用"的情况,这也会导致速度达不到预期。

内容的提问来源于stack exchange,提问作者Metatron

火山引擎 最新活动