def import_experiment_from_dir(exp_name, exp_dir): mlflow.set_experiment(exp_name) path = os.path.join(exp_dir, "manifest.json") dct = utils.read_json_file(path) run_dirs = next(os.walk(exp_dir))[1] print("Importing {} runs into experiment {} from {}".format( len(run_dirs), exp_name, exp_dir), flush=True) for run_dir in run_dirs: import_run.import_run(exp_name, os.path.join(exp_dir, run_dir))
def import_run_from_dir(self, dst_exp_name, src_run_id): mlflow.set_experiment(dst_exp_name) dst_exp = self.client.get_experiment_by_name(dst_exp_name) #print("Experiment name:",dst_exp_name) #print("Experiment ID:",dst_exp.experiment_id) src_run_path = os.path.join(src_run_id,"run.json") run_dct = utils.read_json_file(src_run_path) #utils.dump_tags("RunImporter.import_run_from_dir: run_dct.tags",run_dct['tags']) with mlflow.start_run() as run: run_id = run.info.run_id self.import_run_data(run_dct, run, run_dct['info']['user_id']) path = os.path.join(src_run_id,"artifacts") mlflow.log_artifacts(mk_local_path(path)) return run_id
def import_run_from_dir(exp_name, run_dir, log_batch): mlflow.set_experiment(exp_name) exp = client.get_experiment_by_name(exp_name) print("Experiment name:", exp_name) print("Experiment ID:", exp.experiment_id) path = os.path.join(run_dir, "run.json") run_dct = utils.read_json_file(path) with mlflow.start_run() as run: if log_batch: import_run_data_batch(run_dct, run.info.run_id) else: import_run_data(run_dct) path = os.path.join(run_dir, "artifacts") mlflow.log_artifacts(path)
def import_experiment_from_dir(self, exp_name, exp_dir): mlflow.set_experiment(exp_name) manifest_path = os.path.join(exp_dir, "manifest.json") dct = utils.read_json_file(manifest_path) #run_dirs = next(os.walk(exp_dir))[1] run_ids = dct['run_ids'] failed_run_ids = dct['failed_run_ids'] print("Importing {} runs into experiment '{}' from {}".format( len(run_ids), exp_name, exp_dir), flush=True) for src_run_id in run_ids: dst_run_id = self.run_importer.import_run( exp_name, os.path.join(exp_dir, src_run_id)) print("Imported {} runs into experiment '{}' from {}".format( len(run_ids), exp_name, exp_dir), flush=True) if len(failed_run_ids) > 0: print("Warning: {} failed runs were not imported - see {}".format( len(failed_run_ids), manifest_path))