AutoML Language Entity Extraction score_threshold not accepted as a parameter

115 Views Asked by At
Environment details
  • OS type and version: Windows 10, WSL 2, Ubuntu 16.04
  • Python version: 3.7.5
  • pip version: 19.3.1
  • google-cloud-automl version: 2.2.0
Steps to reproduce
  1. Call AutoML Language Entity Extraction with score_threshold as params
Code example
options = ClientOptions(api_endpoint='automl.googleapis.com')
prediction_client = automl_v1.PredictionServiceClient(client_options=options)
payload = {'text_snippet': {'content': 'sample text', 'mime_type': 'text/plain'} }
params = {"score_threshold": "0.04"}
request = prediction_client.predict(name=model_name, payload=payload, params=params)
Stack trace
Traceback (most recent call last):
  File "/mnt/d/alexa/lib/python3.7/site-packages/google/api_core/grpc_helpers.py", line 57, in error_remapped_callable
    return callable_(*args, **kwargs)
  File "/mnt/d/alexa/lib/python3.7/site-packages/grpc/_channel.py", line 923, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/mnt/d/alexa/lib/python3.7/site-packages/grpc/_channel.py", line 826, in _end_unary_response_blocking
    raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
        status = StatusCode.INVALID_ARGUMENT
        details = "List of found errors:        1.Field: params; Message: Key `score_threshold` is not supported.      "
        debug_error_string = "{"created":"@1615914477.923586200","description":"Error received from peer ipv4:172.217.4.74:***","file":"src/core/lib/surface/call.cc","file_line":1061,"grpc_message":"List of found errors:\t1.Field: params; Message: Key `score_threshold` is not supported.\t","grpc_status":3}"
>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "google_keyword_generation.py", line 167, in <module>
    call_nlp()
  File "google_keyword_generation.py", line 137, in call_nlp
    request = prediction_client.predict(name=model_name, payload=payload, params=params)
  File "/mnt/d/alexa/lib/python3.7/site-packages/google/cloud/automl_v1/services/prediction_service/client.py", line 498, in predict
    response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,)
  File "/mnt/d/alexa/lib/python3.7/site-packages/google/api_core/gapic_v1/method.py", line 145, in __call__
    return wrapped_func(*args, **kwargs)
  File "/mnt/d/alexa/lib/python3.7/site-packages/google/api_core/grpc_helpers.py", line 59, in error_remapped_callable
    six.raise_from(exceptions.from_grpc_error(exc), exc)
  File "<string>", line 3, in raise_from
google.api_core.exceptions.InvalidArgument: 400 List of found errors:   1.Field: params; Message: Key `score_threshold` is not supported.
1

There are 1 best solutions below

0
On

Parameter params -> score_threshold is not available for AutoML NL Entity Extraction. This is only available for AutoML Vision Classification and AutoML Vision Object Detection. See the python reference for predict().

params (Sequence[~.prediction_service.PredictRequest.ParamsEntry]) –

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

AutoML Vision 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. The default is 0.5.

AutoML Vision Object Detection

score_threshold : (float) When Model detects objects on the image, it will only produce bounding boxes which have at least this confidence score. Value in 0 to 1 range, default is 0.5.

max_bounding_box_count : (int64) The maximum number of bounding boxes returned. The default is 100. The number of returned bounding boxes might be limited by the server.

But if you are using AutoML NL Classification, score_threshold could be set using batch_predict().