Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement model evaluation API (part 1) #5069

Merged
merged 61 commits into from Dec 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
e2c5aff
init
WeichenXu123 Nov 15, 2021
91a6e1c
update
WeichenXu123 Nov 15, 2021
071e86b
update
WeichenXu123 Nov 16, 2021
e7d8a76
update
WeichenXu123 Nov 16, 2021
7499ac6
update
WeichenXu123 Nov 16, 2021
f1819a4
update
WeichenXu123 Nov 16, 2021
aa397e1
update
WeichenXu123 Nov 16, 2021
981164a
update
WeichenXu123 Nov 16, 2021
593bec8
update
WeichenXu123 Nov 17, 2021
2240d0a
update
WeichenXu123 Nov 18, 2021
0e54b97
update
WeichenXu123 Nov 18, 2021
6ee4367
update
WeichenXu123 Nov 19, 2021
15712e0
update
WeichenXu123 Nov 19, 2021
63b1d2b
update
WeichenXu123 Nov 21, 2021
afc52e8
update
WeichenXu123 Nov 21, 2021
feddc1e
rename module
WeichenXu123 Nov 21, 2021
27814cf
address comments
WeichenXu123 Nov 22, 2021
fc9cf1a
address comments
WeichenXu123 Nov 22, 2021
1f0c12d
Merge branch 'master' into eval_api
WeichenXu123 Nov 22, 2021
d642309
revert black change
WeichenXu123 Nov 22, 2021
2a67297
change module path
WeichenXu123 Nov 22, 2021
66f760d
update
WeichenXu123 Nov 22, 2021
f7d6738
update
WeichenXu123 Nov 23, 2021
c7f0360
update
WeichenXu123 Nov 23, 2021
c2b673e
update
WeichenXu123 Nov 23, 2021
b046af3
address comments
WeichenXu123 Nov 25, 2021
d7620e6
Merge branch 'master' into eval_api
WeichenXu123 Nov 27, 2021
14c8e82
fix
WeichenXu123 Nov 28, 2021
25101f9
refactor
WeichenXu123 Nov 28, 2021
a4db525
lazy load pyspark
WeichenXu123 Nov 28, 2021
035346f
revert export
WeichenXu123 Nov 28, 2021
3422781
fix curcit import
WeichenXu123 Nov 28, 2021
0ad527e
update tests
WeichenXu123 Nov 28, 2021
2ea29c6
fix conftest.py
WeichenXu123 Nov 29, 2021
6bcbb0c
Revert "fix conftest.py"
WeichenXu123 Nov 29, 2021
46f3264
fix tests
WeichenXu123 Nov 29, 2021
d310359
update doc
WeichenXu123 Nov 29, 2021
1b3519b
update
WeichenXu123 Nov 30, 2021
09099de
default evaluator
WeichenXu123 Nov 30, 2021
2f3faa6
update
WeichenXu123 Nov 30, 2021
9aff5e8
fix
WeichenXu123 Nov 30, 2021
1dd0617
fix
WeichenXu123 Dec 1, 2021
57012d3
address comments
WeichenXu123 Dec 1, 2021
cf5cb34
merge master
WeichenXu123 Dec 1, 2021
21538cb
fix doc
WeichenXu123 Dec 1, 2021
812f0df
fix doc
WeichenXu123 Dec 1, 2021
cc2ac8e
update import
WeichenXu123 Dec 1, 2021
226d54b
fix doc
WeichenXu123 Dec 1, 2021
c20ccdc
update hash algo
WeichenXu123 Dec 1, 2021
68842fe
update import
WeichenXu123 Dec 2, 2021
755639b
address comment
WeichenXu123 Dec 2, 2021
73cd704
add tests
WeichenXu123 Dec 2, 2021
010f225
fix lint
WeichenXu123 Dec 2, 2021
e2f9c89
add tests
WeichenXu123 Dec 3, 2021
22b0bbd
Merge branch 'master' into eval_api
WeichenXu123 Dec 3, 2021
b1b34f8
add more tests
WeichenXu123 Dec 3, 2021
a51bd1f
add tests
WeichenXu123 Dec 3, 2021
c82eaa6
fix lint
WeichenXu123 Dec 3, 2021
5413290
address comments
WeichenXu123 Dec 6, 2021
7d14373
export EvaluationDataset
WeichenXu123 Dec 6, 2021
779f22e
update _load_content_from_file
WeichenXu123 Dec 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/source/python_api/mlflow.models.evaluation.base.rst
@@ -0,0 +1,7 @@
mlflow.models.evaluation.base
=============================

.. automodule:: mlflow.models.evaluation.base
:members:
:undoc-members:
:show-inheritance:
8 changes: 8 additions & 0 deletions docs/source/python_api/mlflow.models.evaluation.rst
@@ -0,0 +1,8 @@
mlflow.models.evaluation
========================

.. automodule:: mlflow.models.evaluation
:members:
:undoc-members:
:show-inheritance:

4 changes: 3 additions & 1 deletion mlflow/__init__.py
Expand Up @@ -44,6 +44,7 @@

import mlflow.projects as projects
import mlflow.tracking as tracking
import mlflow.models

# model flavors
_model_flavors_supported = []
Expand Down Expand Up @@ -152,7 +153,7 @@
delete_run = mlflow.tracking.fluent.delete_run
register_model = mlflow.tracking._model_registry.fluent.register_model
autolog = mlflow.tracking.fluent.autolog

evaluate = mlflow.models.evaluate

run = projects.run

Expand Down Expand Up @@ -192,4 +193,5 @@
"set_registry_uri",
"list_run_infos",
"autolog",
"evaluate",
] + _model_flavors_supported
23 changes: 18 additions & 5 deletions mlflow/models/__init__.py
Expand Up @@ -23,15 +23,28 @@

from .model import Model
from .flavor_backend import FlavorBackend
from .signature import ModelSignature, infer_signature
from .utils import ModelInputExample
from ..utils.environment import infer_pip_requirements
from .evaluation import evaluate, EvaluationDataset

__all__ = [
"Model",
"ModelSignature",
"ModelInputExample",
"infer_signature",
"FlavorBackend",
"infer_pip_requirements",
"evaluate",
WeichenXu123 marked this conversation as resolved.
Show resolved Hide resolved
"EvaluationDataset",
]


# Under skinny-mlflow requirements, the following packages cannot be imported
# because of lack of numpy/pandas library, so wrap them with try...except block
try:
from .signature import ModelSignature, infer_signature # pylint: disable=unused-import
from .utils import ModelInputExample # pylint: disable=unused-import

__all__ += [
"ModelSignature",
"ModelInputExample",
"infer_signature",
]
except ImportError:
pass
19 changes: 19 additions & 0 deletions mlflow/models/evaluation/__init__.py
@@ -0,0 +1,19 @@
from mlflow.models.evaluation.base import (
ModelEvaluator,
EvaluationDataset,
EvaluationResult,
EvaluationMetrics,
EvaluationArtifact,
evaluate,
list_evaluators,
)

__all__ = [
"ModelEvaluator",
"EvaluationDataset",
"EvaluationResult",
"EvaluationMetrics",
"EvaluationArtifact",
"evaluate",
"list_evaluators",
]