【问题标题】:Using gpu while making prediction with keras Resnet50在使用 keras Resnet50 进行预测时使用 gpu
【发布时间】:2020-06-10 18:47:55
【问题描述】:

我正在使用 Resnet50 模型对图像进行矢量化以查找图像相似性。 为了提高程序的速度,我尝试了多处理,但由于 keras 的后端逻辑而失败了。 最后,我在单机上运行我的矢量化代码,它的性能还不错,但我需要更好。为了减少此向量化操作所消耗的时间,我可以使用我的 gpu 包含的机器。但是我在调​​用预测方法时找不到使用 gpu 的方法。 任何帮助都会对我有很大帮助。

示例代码:

basemodel = tensorflow.keras.applications.ResNet50(weights='imagenet', include_top=False, pooling="avg", input_shape=self.input_shape) 
model = tensorflow.keras.models.Model(inputs=basemodel.input, outputs=basemodel.output)
img_data = img_to_array(image)
img_data = np.expand_dims(img_data, axis=0)
img_data = preprocess_input(img_data)
feature_vector = basemodel.predict(img_data)

我需要加速basemodel.predict(img_data) 部分。 我可以为此目的使用 gpu 吗?

【问题讨论】:

    标签: image-processing gpu tpu


    【解决方案1】:

    由于您从 tensorflow.keras 导入模型,因此您无需更改代码即可使用 GPU。您应该只具备先决条件:https://www.tensorflow.org/install/gpu#software_requirements。 您可以检查您的程序是否看到具有以下内容的 gpu 设备:

    import tensorflow as tf;
    
    print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
    

    最后,您可以在终端上运行命令nvidia-smi 来检查gpu 利用率

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      • 2018-05-23
      • 1970-01-01
      • 1970-01-01
      • 2021-09-15
      • 2020-10-30
      相关资源
      最近更新 更多