def test_get_artifact_uri_appends_to_uri_path_component_correctly( artifact_location, expected_uri_format): client = MlflowClient() client.create_experiment("get-artifact-uri-test", artifact_location=artifact_location) kiwi.set_experiment("get-artifact-uri-test") with kiwi.start_run(): run_id = kiwi.active_run().info.run_id for artifact_path in [ "path/to/artifact", "/artifact/path", "arty.txt" ]: artifact_uri = kiwi.get_artifact_uri(artifact_path) assert artifact_uri == tracking.artifact_utils.get_artifact_uri( run_id, artifact_path) assert artifact_uri == expected_uri_format.format( run_id=run_id, path=artifact_path.lstrip("/"))
def set_experiment(experiment_name): """ Set given experiment as active experiment. If experiment does not exist, create an experiment with provided name. :param experiment_name: Name of experiment to be activated. """ client = MlflowClient() experiment = client.get_experiment_by_name(experiment_name) exp_id = experiment.experiment_id if experiment else None if exp_id is None: # id can be 0 print("INFO: '{}' does not exist. Creating a new experiment".format( experiment_name)) exp_id = client.create_experiment(experiment_name) elif experiment.lifecycle_stage == LifecycleStage.DELETED: raise MlflowException( "Cannot set a deleted experiment '%s' as the active experiment." " You can restore the experiment, or permanently delete the " " experiment to create a new one." % experiment.name) global _active_experiment_id _active_experiment_id = exp_id