jas*_*y23 5 python keras tensorflow tensorflow2.0
使用 Tensorflow CIFAR CNN 演示,我验证了我的 TF 正确使用了我的 GPU。TF 使用 GPU 来运行 model.fit(),在 HWiNFO64 中看到大约 50% 的使用率。但是,如果我随后将此单元添加到笔记本中,笔记本将使用该模型来预测测试集中图像的标签:
import numpy as np
for img in test_images:
prediction = model.predict(np.expand_dims(img, axis=0)) # Here
print(class_names[np.argmax(prediction)])
Run Code Online (Sandbox Code Playgroud)
我看到 GPU 使用率只有 1%(Chrome 和其他进程使用)。有没有办法让我在 GPU 上运行 model.predict(),或者是否有任何替代方案可以为单个输入提供模型输出?
您的代码在 GPU 上运行,认为 GPU 利用率可以告诉您代码是否在 GPU 中运行是一种误解。
问题在于,predict
对每个图像执行一次调用的效率非常低,因为在 GPU 上几乎无法执行并行性,如果传递整个图像数组,那么它将提高 GPU 利用率,因为可以向 GPU 和每个图像提供批次并行处理。
GPU 仅加速特定工作负载,因此您唯一的选择是在调用中使用更多图像predict
。
归档时间: |
|
查看次数: |
6374 次 |
最近记录: |