используя add_done_callback () и reponse.metadata () для автомата

Я пытаюсь использовать стандартный пример для automl. Я ожидал, что create_model запустит длительную операцию, которая обновит ответ операции после ее завершения и затем получит доступ к метаданным (чтобы получить model_id недавно обученной модели). но сценарий сразу же не работает на metadata = response.metadata() с "TypeError: 'OperationMetadata' object is not callable".

Я запускаю этот код внутри PythonOperator в Airflow / google composer, если это имеет значение. В пользовательском интерфейсе AutoML я вижу, что модель начинает обучение правильно.

Мой код такой, но в основном это пример использования из документации.:

from google.cloud import automl

client = automl.AutoMlClient()

...
response = client.create_model(project_location, my_model)

def callback(operation_future):
   # Handle result.
   result = operation_future.result()

response.add_done_callback(callback)
metadata = response.metadata()

Я использую google-cloud-automl == 0.9.0


person superneutrino    schedule 28.11.2019    source источник
comment
Я бы рекомендовал открыть это как проблему на странице github.com/googleapis/google-cloud-python. / issues.   -  person Dustin Ingram    schedule 02.12.2019


Ответы (3)


Я столкнулся с той же проблемой. Этот пример в документации действительно сбил меня с пути. Если вы вызовете метод result() в ответе, он фактически дождется завершения обучения модели, прежде чем что-либо вернуть, так что это все, что вам нужно сделать. Затем вы можете получить model_id из этого результата.

import time
from google.cloud import automl

client = automl.AutoMlClient()

...
response = client.create_model(project_location, my_model)

model_id = response.result().name.split('/')[-1]
person jrobin2791    schedule 12.01.2020

Есть ли https://googleapis.dev/python/automl/latest/gapic/v1beta1/tables.html справка? Это написанный вручную Python SDk, созданный на основе automl.AutoMlClient.

person Helin Wang    schedule 09.12.2019

Я бы посоветовал вместо приведенного здесь примера базовое использование, указанное в документации .:.

Было бы лучше использовать операторы Google Cloud AutoML How- в руководства по использованию операторов Google Cloud Operators.

Использование специальных операторов auto_ml является рекомендуемым методом для реализации моделей Auto_ML в среде Airflow / Composer.

Вот полный справочник по API для клиента Python для Cloud AutoML API.

person Paddy Popeye    schedule 10.12.2019