繁体   English   中英

在 Keras、Tensorflow 上 CPU 使用率超过 GPU 使用率

[英]CPU usage is more than GPU usage on Keras, Tensorflow

我想教一个图像分类 CNN,并使用 Keras。

图片尺寸为 300x300x3。

我用 2M 参数训练了一个 CNN,我使用 Keras 的 MobileNet 进行迁移学习,但是我冻结了最后 63 层并在底部添加了密集层,最后一层有 2 个单元和 Softmax 激活。

为了进行预测,我加载了 h5 文件并使用 OpenCV 视频捕获来获取视频帧,对于每一帧我使用 model.predict(img_array)。

当我查看 Windows 10 的任务管理器时,我看到 Python 脚本使用了处理器的 %80 但 GPU 的 %2。 这种 CPU 使用会导致我的笔记本电脑出现滞后。

如何减少 CPU 使用率并强制 Keras 使用 GPU 进行计算?

我的笔记本电脑上装有 Nvidia Rtx 2060 4GB 和 Intel Core i7-9750H。 Tensorflow 2.1 和 Keras 2.3.1 OpenCV 4.1

我试过了,但实际上没有任何改变。

tf.config.threading.set_inter_op_parallelism_threads(12)
tf.config.threading.set_intra_op_parallelism_threads(12)

with tf.device(\gpu:0):
     model.predict(img_array)

此致。

编辑:

我通过在 predict 方法中声明 steps 参数将 CPU 使用率降低到 %20。

请检查您的 pip 列表或 conda 列表。

有时,我们错误地同时安装了tensorflowtensorflow-gpu 如果两者都有,系统将自动选择 tensorflow,即 CPU 之一。

如果是这种情况,请删除“tensorflow”,只保留“tensorflow-gpu”。

如果您首先没有看到 tensorflow-gpu,请尝试使用以下命令在 conda 上安装它:

conda create -n [EnvironmentName] python=3.6

conda activate [环境名称]

conda install -c conda-forge tensorflow-gpu==1.14

它将评估您需要哪个版本(CUDA、CUDNN 等),然后将其直接下载并安装到您的环境中。 然后从此环境运行您的python文件。 祝你好运^_^

暂无
暂无

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

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