简体   繁体   中英

How to change prediction threshold using Google AutoML?

After creating Model in google AutoML we can use the provided python code to make a prediction. Here's the code :

import sys

from google.cloud import automl_v1beta1
from google.cloud.automl_v1beta1.proto import service_pb2


def get_prediction(content, project_id, model_id):
  prediction_client = automl_v1beta1.PredictionServiceClient()

  name = 'projects/{}/locations/us-central1/models/{}'.format(project_id, model_id)
  payload = {'image': {'image_bytes': content }}
  params = {}
  request = prediction_client.predict(name, payload, params)
  return request  # waits till request is returned

if __name__ == '__main__':
  file_path = sys.argv[1]
  project_id = sys.argv[2]
  model_id = sys.argv[3]

  with open(file_path, 'rb') as ff:
    content = ff.read()

  print get_prediction(content, project_id,  model_id)

I realize that it will only print detection result that has score above threshold value = 0.5 . Example output :

payload {
  classification {
    score: 0.562688529491
  }
  display_name: "dog"
}

How to print the other detection results that has score below threshold 0.5 (eg change threshold to 0.3) ?

See the api documentation here

params

Object with string properties

Additional domain-specific parameters, any string must be up to 25000 characters long.

For Image Classification:

score_threshold - (float) A value from 0.0 to 1.0. When the model makes predictions for an image, it will only produce results that have at least this confidence score threshold. The default is 0.5.

The actual description of the field in the proto is

map<string,string> params;

So you would change your params variable that you have set to an empty dict. Change the params variable to : params = {"score_threshold": "0.3"} will work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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