Runtime utilities for ML dataset contract packages
Project description
ml_dataset_contract_core
Пакет ml_dataset_contract_core предназначен для создания собственных легковесных контрактов данных, которые позволяют синхронизировать описание входных признаков и целей между разработкой, обучением и эксплуатацией модели.
Представляет три динамических класса:
FeatureRowвходные признаки;TargetRowцелевые признакиPredictRequestструктура запроса к REST API сервера (например, Mlflow) для инференса модели.
Установка
pip install ml_dataset_contract_core
Создание и использование собственного контракта
Создание собственного контракта
Например, ml_dataset_contract_tte
└── ml_dataset_contract_tte
└── src
├── ml_dataset_contract_tte
├── dataset.yml
├── __init__.py
В файле dataset.yml определяем контракт данных
(входные и целевые признаки), например:
inputs:
expanding_tte_mean: float
tte_lag_1: float
targets:
tte: float
В __init__.py динамически создаем классы:
from importlib.resources import files
from ml_dataset_contract.runtime import (
PydanticFeatureFactory,
PydanticTargetFactory,
PydanticRequestFactory,
)
_YAML = files(__name__).joinpath("dataset.yml")
TteFeatureRow = PydanticFeatureFactory(_YAML, prefix="Tte").build()
TteTargetRow = PydanticTargetFactory(_YAML, prefix="Tte").build()
TtePredictRequest = PydanticRequestFactory(
_YAML, prefix="Tte", feature_cls=TteFeatureRow
).build()
__all__ = [
"TteFeatureRow", "TteTargetRow", "TtePredictRequest", "_YAML"
]
Использование собственного контракта
from ml_dataset_contract_tte import (
TteFeatureRow,
TteTargetRow,
TtePredictRequest,
)
sample_row__input = {
"expanding_tte_mean": 1.1,
"tte_lag_1": 1.2,
}
sample_row__target = {"tte": 1.3}
feature_row = TteFeatureRow(**sample_row__input)
print(f"{feature_row=}")
target_row = TteTargetRow(**sample_row__target)
print(f"{target_row=}")
request = TtePredictRequest(rows=[feature_row])
payload = request.to_split_json()
print(f"{payload}")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ml_dataset_contract_core-0.1.0.tar.gz.
File metadata
- Download URL: ml_dataset_contract_core-0.1.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4d872c88022d880711a442ad200330f54c620f594b9f0e790fb260be08c0eb6
|
|
| MD5 |
92bc400fcf0fc794fecd930b8ee524a8
|
|
| BLAKE2b-256 |
271b7b718bad2b2972953bb4250fab38a629d4b0e69cecdef7296cf5d7b0978c
|
File details
Details for the file ml_dataset_contract_core-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ml_dataset_contract_core-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22d1d71cd5f88db5e5720569e8ffec9a2475fe055681f27f95ca0a3d4ce84332
|
|
| MD5 |
bf73f573db7ee9d916915e31f16ec002
|
|
| BLAKE2b-256 |
9372484ad8d4fd7cf045a6188b637c9b967b3800c477e98da4b5c57d88b2a571
|