def do_create_model(**kwargs):
    """ Creates a model only if one with the same name did not exist.
    It leverages the check from the previous task pushed using xcom.
    """
    model_params = {
      'name': kwargs['dag_run'].conf.get('model_name'),
      'description': 'A custom DNN regressor model',
      'regions': [REGION]
    }

    ti = kwargs['ti']

    is_model = ti.xcom_pull(key='is_project', task_ids='check_model')
    if not is_model:
        mle = MLEngineHook()
        mle.create_model(PROJECT, model_params)
 def execute(self, context):
     hook = MLEngineHook(gcp_conn_id=self._gcp_conn_id,
                         delegate_to=self._delegate_to)
     if self._operation == 'create':
         return hook.create_model(self._project_id, self._model)
     elif self._operation == 'get':
         return hook.get_model(self._project_id, self._model['name'])
     else:
         raise ValueError('Unknown operation: {}'.format(self._operation))
示例#3
0
 def execute(self, context):
     hook = MLEngineHook(
         gcp_conn_id=self._gcp_conn_id, delegate_to=self._delegate_to)
     if self._operation == 'create':
         return hook.create_model(self._project_id, self._model)
     elif self._operation == 'get':
         return hook.get_model(self._project_id, self._model['name'])
     else:
         raise ValueError('Unknown operation: {}'.format(self._operation))