繁体   English   中英

Tensorflow-gpu 未利用 gpu

[英]Tensorflow-gpu not utilizing gpu

我正在尝试创建和训练 CNN model。但是每次运行代码时,tensorflow 都没有使用 GPU,而是使用 CPU。 我已经安装了最新版本的tensorflow。附上下面的详细信息。

python => 3.9.5\
Tensorflow-GPU => 2.5.0\
CUDA => 11.3\
cuDNN => 8.2.1

运行时,我收到以下 output 和一条警告消息。 (平台:VS代码)

2021-07-28 15:35:13.163991: W tensorflow/core/common_runtime/bfc_allocator.cc:337] Garbage collection: deallocate free memory regions (ie, allocations) 以便我们可以重新分配更大的区域以避免 OOM 由于到 memory 碎片。 如果您经常看到此消息,则表明您正在接近可用设备 memory 的阈值,重新分配可能会产生很大的性能开销。 您可以尝试使用较小的批处理大小来观察性能影响。 如果您想禁用此功能,请设置 TF_ENABLE_GPU_GARBAGE_COLLECTION=false。

系统性能

Output

代码可在此处访问

注意:我已经尝试添加以下代码来激活 gpu,但它不起作用。

gpus = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(gpus[0], True)
tf.config.set_visible_devices(gpus[0], 'GPU')

Output 征求意见:

试试这个:

physical_devices = tf.config.list_physical_devices('GPU')
print("Num GPUs:", len(physical_devices))

由于您的模型非常小,GPU 可能会受到系统其余部分的限制,无法使用完整的 GPU。

另一方面,任务管理器不是检查 GPU 负载的最佳工具,如果可用,请使用 nvidia-smi。

要具体执行警告所说的内容,我将其设置为 env 设置,如下所示

os.environ['TF_ENABLE_GPU_GARBAGE_COLLECTION'] = 'false'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM