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
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
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