我正在努力创造和训练一个CNN模型。但是每次我运行代码时,tensorflow并不是在使用GPU,而是使用CPU。我已经安装了最新版本的tensorflow。附加下面的详细信息。
python => 3.9.5\
Tensorflow-GPU => 2.5.0\
CUDA => 11.3\
cuDNN => 8.2.1在运行过程中,我得到了带有警告消息的以下输出。(平台: VS代码)
2021-07-28 15:35:13.163991: W tensorflow/core/common_runtime/bfc_allocator.cc:337]垃圾收集:释放空闲内存区域(即分配),以便我们可以重新分配更大的区域,以避免由于内存碎片而导致的OOM。如果经常看到此消息,则在可用设备内存的阈值附近运行,重新分配可能会带来很大的性能开销。您可以尝试使用较小的批处理大小来观察性能影响。如果要禁用此功能,请设置TF_ENABLE_GPU_GARBAGE_COLLECTION=false。
代码是可访问的这里
注意:我已经尝试过添加下面的代码来激活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')发布于 2021-07-28 09:44:06
试试这个:
physical_devices = tf.config.list_physical_devices('GPU')
print("Num GPUs:", len(physical_devices))由于您的模型非常小,所以GPU可能会受到系统其他部分的瓶颈,无法使用完整的GPU。
另外,如果可以使用nvidia-smi,任务管理器不是检查GPU负载的最佳工具。
发布于 2022-02-17 18:26:25
要具体地执行警告所述的操作,我将其设置为env设置如下
os.environ['TF_ENABLE_GPU_GARBAGE_COLLECTION'] = 'false'https://stackoverflow.com/questions/68557886
复制相似问题