コード例 #1
0
    def _get_automl_settings(automl_settings, logger):
        automl_settings_obj = None
        current_run = Run.get_submitted_run()
        found_data_store = False
        data_store = None

        start = time.time()

        try:
            experiment = current_run.experiment

            parent_run_id = _get_parent_run_id(current_run._run_id)
            print("parent run id {}".format(parent_run_id))

            automl_settings_obj = _AutoMLSettings.from_string_or_dict(automl_settings)
            data_store = experiment.workspace.get_default_datastore()
            found_data_store = True
        except Exception as e:
            logger.warning("getting data store, fallback to default {}".format(e))
            print("failed to get default data store  {}".format(e))
            found_data_store = False

        end = time.time()
        print("Caching supported {}, time taken for get default DS {}".format(sdk_has_cache_capability and found_data_store, (end - start)))

        return automl_settings_obj, found_data_store, data_store
コード例 #2
0
    def driver_wrapper(script_directory, automl_settings, run_id,
                       training_percent, iteration, pipeline_spec, pipeline_id,
                       dataprep_json, entry_point, **kwargs):
        automl_settings_obj = _AutoMLSettings.from_string_or_dict(
            automl_settings)
        logger, sdk_has_custom_dimension_logger = _init_logger(
            automl_settings_obj)
        if sdk_has_custom_dimension_logger:
            logger.update_default_properties({
                "parent_run_id":
                _get_parent_run_id(run_id),
                "child_run_id":
                run_id
            })
        logger.info("[RunId:{}]: remote automl driver begins.".format(run_id))

        try:
            script_directory = _init_directory(directory=script_directory,
                                               logger=logger)

            automl_settings_obj, found_data_store, data_store = _get_automl_settings(
                automl_settings=automl_settings, logger=logger)

            transformed_data_context = _load_transformed_data_context_from_cache(
                automl_settings_obj=automl_settings_obj,
                parent_run_id=_get_parent_run_id(run_id),
                found_data_store=found_data_store,
                data_store=data_store,
                logger=logger)
            result = _start_run(
                automl_settings_obj=automl_settings_obj,
                run_id=run_id,
                training_percent=training_percent,
                iteration=iteration,
                pipeline_spec=pipeline_spec,
                pipeline_id=pipeline_id,
                dataprep_json=dataprep_json,
                script_directory=script_directory,
                entry_point=entry_point,
                logger=logger,
                transformed_data_context=transformed_data_context)
            _post_run(result=result,
                      run_id=run_id,
                      automl_settings=automl_settings,
                      logger=logger)
        except Exception as e:
            logger.error("driver_wrapper meets exceptions. {}".format(e))
            log_traceback(e, logger)
            raise Exception(e)

        logger.info(
            "[RunId:{}]: remote automl driver finishes.".format(run_id))
        return result
コード例 #3
0
    def setup_wrapper(script_directory, dataprep_json, entry_point,
                      automl_settings, task_type, preprocess,
                      enable_subsampling, num_iterations, **kwargs):
        automl_settings_obj = _AutoMLSettings.from_string_or_dict(
            automl_settings)

        logger, sdk_has_custom_dimension_logger = _init_logger(
            automl_settings_obj)
        try:
            child_run_id = Run.get_submitted_run()._run_id
            parent_run_id = _get_parent_run_id(child_run_id)
            if sdk_has_custom_dimension_logger:
                logger.update_default_properties({
                    "parent_run_id": parent_run_id,
                    "child_run_id": child_run_id
                })
            logger.info("[ParentRunId:{}]: remote setup script begins.".format(
                parent_run_id))
            script_directory = _init_directory(directory=script_directory,
                                               logger=logger)

            logger.info("Preparing data for set problem info now.")

            fit_iteration_parameters_dict = _prepare_data(
                dataprep_json=dataprep_json,
                automl_settings_obj=automl_settings_obj,
                script_directory=script_directory,
                entry_point=entry_point,
                logger=logger)
            fit_iteration_parameters_dict = _get_auto_cv_dict(
                fit_iteration_parameters_dict, automl_settings_obj, logger)

            print("Setting Problem Info now.")
            _set_problem_info_for_setup(
                fit_iteration_parameters_dict=fit_iteration_parameters_dict,
                automl_settings_obj=automl_settings_obj,
                task_type=task_type,
                preprocess=preprocess,
                enable_subsampling=enable_subsampling,
                num_iterations=num_iterations,
                logger=logger)
        except Exception as e:
            logger.error("setup_wrapper meets exceptions. {}".format(e))
            log_traceback(e, logger)
            raise Exception(e)

        _post_setup(logger=logger)
        logger.info("[ParentRunId:{}]: remote setup script finishes.".format(
            parent_run_id))
        return  # PLACEHOLDER for RemoteScript helper functions