コード例 #1
0
def test_search_filter_basics():
    search_filter = "This is a filter string"
    anded_expressions = [SearchExpression(), SearchExpression()]

    # only anded_expressions
    SearchFilter(anded_expressions=anded_expressions)

    # only search filter
    SearchFilter(filter_string=search_filter)

    # both
    with pytest.raises(MlflowException) as e:
        SearchFilter(anded_expressions=anded_expressions, filter_string=search_filter)
        assert e.message.contains("Can specify only one of 'filter' or 'search_expression'")
コード例 #2
0
def test_anded_expression_2():
    m1 = MetricSearchExpression(key="accuracy",
                                double=DoubleClause(comparator=">=",
                                                    value=.94))
    m2 = MetricSearchExpression(key="error",
                                double=DoubleClause(comparator="<", value=.01))
    m3 = MetricSearchExpression(key="mse",
                                float=FloatClause(comparator=">=", value=5))
    p1 = ParameterSearchExpression(key="a",
                                   string=StringClause(comparator="=",
                                                       value="0"))
    p2 = ParameterSearchExpression(key="b",
                                   string=StringClause(comparator="!=",
                                                       value="blah"))
    sf = SearchFilter(
        SearchRuns(anded_expressions=[
            SearchExpression(metric=m1),
            SearchExpression(metric=m2),
            SearchExpression(metric=m3),
            SearchExpression(parameter=p1),
            SearchExpression(parameter=p2)
        ]))

    assert sf._parse() == [{
        'comparator': '>=',
        'key': 'accuracy',
        'type': 'metric',
        'value': 0.94
    }, {
        'comparator': '<',
        'key': 'error',
        'type': 'metric',
        'value': 0.01
    }, {
        'comparator': '>=',
        'key': 'mse',
        'type': 'metric',
        'value': 5
    }, {
        'comparator': '=',
        'key': 'a',
        'type': 'parameter',
        'value': '0'
    }, {
        'comparator': '!=',
        'key': 'b',
        'type': 'parameter',
        'value': 'blah'
    }]
コード例 #3
0
ファイル: test_search_utils.py プロジェクト: zxf1864/mlflow
def test_anded_expression():
    se = SearchExpression(metric=MetricSearchExpression(
        key="accuracy", double=DoubleClause(comparator=">=", value=.94)))
    sf = SearchFilter(anded_expressions=[se])
    assert sf._parse() == [{
        "type": "metric",
        "key": "accuracy",
        "comparator": ">=",
        "value": 0.94
    }]
コード例 #4
0
 def _metric_expression(self, key, comparator, val):
     expr = SearchExpression()
     expr.metric.key = key
     expr.metric.double.comparator = comparator
     expr.metric.double.value = val
     return expr
コード例 #5
0
 def _param_expression(self, key, comparator, val):
     expr = SearchExpression()
     expr.parameter.key = key
     expr.parameter.string.comparator = comparator
     expr.parameter.string.value = val
     return expr