def get_notebook_job_info(self): ensure_is_managed() info = os.getenv('POLYAXON_NOTEBOOK_INFO', None) try: return json.loads(info) if info else None except (ValueError, TypeError): print('Could get experiment info, ' 'please make sure this is running inside a polyaxon job.') return None
def get_task_info(): """Returns the task info: {"type": str, "index": int}.""" ensure_is_managed() info = os.getenv('POLYAXON_TASK_INFO', None) try: return json.loads(info) if info else None except (ValueError, TypeError): print('Could get task info, ' 'please make sure this is running inside a polyaxon job.') return None
def get_params(): """ Returns all the experiment params based on both: * params section * optional inputs * optional outputs * matrix section """ ensure_is_managed() params = os.getenv('POLYAXON_PARAMS', None) try: return json.loads(params) if params else None except (ValueError, TypeError): print('Could get params, ' 'please make sure this is running inside a polyaxon job.') return None
def get_declarations(): """ Returns all the experiment declarations based on both: * declarations section * matrix section """ if settings.NO_OP: return None ensure_is_managed() declarations = os.getenv('POLYAXON_DECLARATIONS', None) try: return json.loads(declarations) if declarations else None except (ValueError, TypeError): print('Could get declarations, ' 'please make sure this is running inside a polyaxon job.') return None
def get_experiment_info(): """ Returns information about the experiment: * project_name * experiment_group_name * experiment_name * project_uuid * experiment_group_uuid * experiment_uuid """ ensure_is_managed() info = os.getenv('POLYAXON_EXPERIMENT_INFO', None) try: return json.loads(info) if info else None except (ValueError, TypeError): print('Could get experiment info, ' 'please make sure this is running inside a polyaxon job.') return None
def get_cluster_def(): """Returns cluster definition created by polyaxon. { "master": ["plxjob-master0-8eefb7a1146f476ca66e3bee9b88c1de:2000"], "worker": ["plxjob-worker1-8eefb7a1146f476ca66e3bee9b88c1de:2000", "plxjob-worker2-8eefb7a1146f476ca66e3bee9b88c1de:2000"], "ps": ["plxjob-ps3-8eefb7a1146f476ca66e3bee9b88c1de:2000"], } :return: dict """ ensure_is_managed() cluster = os.getenv('POLYAXON_CLUSTER', None) try: return json.loads(cluster) if cluster else None except (ValueError, TypeError): print('Could get cluster definition, ' 'please make sure this is running inside a polyaxon job.') return None
def get_job_info(): """Returns information about the job: * project_name * job_name * project_uuid * job_uuid * role * type * app """ if settings.NO_OP: return None ensure_is_managed() info = os.getenv('POLYAXON_JOB_INFO', None) try: return json.loads(info) if info else None except (ValueError, TypeError): print('Could get experiment info, ' 'please make sure this is running inside a polyaxon job.') return None
def get_tf_config(cls, envvar='TF_CONFIG'): """ Returns the TF_CONFIG defining the cluster and the current task. if `envvar` is not null, it will set and env variable with `envvar`. """ if settings.NO_OP: return None ensure_is_managed() cluster_def = cls.get_cluster_def() task_info = cls.get_task_info() tf_config = { 'cluster': cluster_def, 'task': task_info, 'model_dir': get_outputs_path(), 'environment': 'cloud' } if envvar: os.environ[envvar] = json.dumps(tf_config) return tf_config