16
16
from __future__ import print_function
17
17
18
18
import os
19
+ import re
19
20
import click
20
21
import mlflow
21
22
import path as path_utils
@@ -38,7 +39,7 @@ def run(self):
38
39
39
40
for experiment in experiments :
40
41
run_infos = mlflow_client .list_run_infos (experiment_id = experiment .experiment_id )
41
- existing_experiments = self ._project .get_experiments (tag = experiment .name . lower ( ))
42
+ existing_experiments = self ._project .get_experiments (tag = DataLoader . _to_proper_tag ( experiment .name ))
42
43
existing_run_uuids = set ([
43
44
str (e .get_properties ().get (DataLoader .MLFLOW_RUN_ID_PROPERTY )) for e in existing_experiments
44
45
])
@@ -109,11 +110,15 @@ def _get_properties(experiment, run):
109
110
110
111
@staticmethod
111
112
def _get_tags (experiment , run ):
112
- tags = [experiment .name . lower ( ), 'mlflow' ]
113
+ tags = [DataLoader . _to_proper_tag ( experiment .name ), 'mlflow' ]
113
114
if DataLoader ._get_mlflow_run_name (run ):
114
- tags .append (DataLoader ._get_mlflow_run_name (run ). lower ( ))
115
+ tags .append (DataLoader ._to_proper_tag ( DataLoader . _get_mlflow_run_name (run )))
115
116
return tags
116
117
118
+ @staticmethod
119
+ def _to_proper_tag (string ):
120
+ return re .sub ("[^a-zA-Z0-9\\ -_]" , "_" , string ).lower ()
121
+
117
122
@staticmethod
118
123
def _get_metric_file (experiment , run_info , metric_key ):
119
124
return "mlruns/{}/{}/metrics/{}" .format (experiment .experiment_id , run_info .run_uuid , metric_key )
0 commit comments