Spaces:
Sleeping
Sleeping
Download tests/test_model.py from professor-chen/LC_8: direct link, hf CLI and curl.
- Browser
- Download file 1.7 kB
-
https://huggingface.co/spaces/professor-chen/LC_8/resolve/main/tests/test_model.py
- Command line
-
hf download hf://spaces/professor-chen/LC_8/tests/test_model.py
-
curl -L -o test_model.py https://huggingface.co/spaces/professor-chen/LC_8/resolve/main/tests/test_model.py
1.7 kB
| import pandas as pd | |
| import pytest | |
| import app.model_loader as model_loader | |
| from app.model_loader import load_model | |
| from app.schemas import CreditApplication, MODEL_FEATURES | |
| def reset_loaded_model(): | |
| model_loader._model = None | |
| yield | |
| model_loader._model = None | |
| def build_default_model_frame() -> pd.DataFrame: | |
| application = CreditApplication() | |
| return pd.DataFrame([application.to_model_input()], columns=MODEL_FEATURES) | |
| def test_model_loads(): | |
| model = load_model() | |
| assert model is not None | |
| def test_lightgbm_model_has_predict_methods(monkeypatch): | |
| monkeypatch.setenv("MODEL_RUNTIME", "lightgbm") | |
| model = load_model() | |
| assert hasattr(model, "predict") | |
| assert hasattr(model, "predict_proba") | |
| def test_lightgbm_model_returns_one_prediction(monkeypatch): | |
| monkeypatch.setenv("MODEL_RUNTIME", "lightgbm") | |
| model = load_model() | |
| test_input = build_default_model_frame() | |
| prediction = model.predict(test_input) | |
| assert len(prediction) == 1 | |
| assert int(prediction[0]) in {0, 1} | |
| def test_lightgbm_model_returns_one_default_probability(monkeypatch): | |
| monkeypatch.setenv("MODEL_RUNTIME", "lightgbm") | |
| model = load_model() | |
| test_input = build_default_model_frame() | |
| probabilities = model.predict_proba(test_input) | |
| probability_of_default = float(probabilities[0][1]) | |
| assert probabilities.shape == (1, 2) | |
| assert 0.0 <= probability_of_default <= 1.0 | |
| def test_onnx_model_loads(monkeypatch): | |
| monkeypatch.setenv("MODEL_RUNTIME", "onnx") | |
| model = load_model() | |
| assert hasattr(model, "run") | |
| assert len(model.get_inputs()) == 1 | |
| assert len(model.get_outputs()) == 2 |