具有图像URL的多处理ResNet特征提取

时间:2019-08-20 17:08:42

标签: keras multiprocessing resnet

我有一个简单的功能,可以获取图像URL并使用Keras中的resnet从中提取特征,然后将其传递给从pkl文件加载的Xgboost模型。

def classify(img, resnet_model, loaded_model):
  try:
    images = io.imread(img.strip())
    images = Image.fromarray(images)
    test_image = img.resize((224,224))
    test_image = image.img_to_array(test_image)
    test_image = expand_dims(test_image, axis = 0)
    img_data = preprocess_input(test_image)
    image_features = resnet_model.predict(img_data)
    image_features_array = array(image_features)
    predicted_image = loaded_model.predict(xgb.DMatrix(DataFrame(image_features_array))) 
  except:
    predicted_image = 'Broken URL'

  return predicted_image`

当前,我只是循环浏览img url列表,它可以正常工作,但是我需要它来更快地执行。代码本身可能不是最高效的,但是我最关心的是多处理。我的尝试挂起或立即导致列表为空。

几年前,这里有一个类似的问题:question,但答案不是很令人满意,涉及在本地保存一批图像文件。我希望只有一个工作人员对图像进行请求,然后预测该图像。

0 个答案:

没有答案
相关问题