Ejemplo n.º 1
0
def _get_endpoint_features(
    project: str, endpoint_id: str, features: Optional[str]
) -> List[Features]:
    if not features:
        url = f"projects/{project}/model-endpoints/{endpoint_id}/features"
        raise MLRunNotFoundError(f"Endpoint features not found' - {url}")

    parsed_features: List[dict] = json.loads(features) if features is not None else []
    feature_objects = [Features(**feature) for feature in parsed_features]
    return feature_objects
Ejemplo n.º 2
0
def get_endpoint_features(
    feature_names: List[str],
    feature_stats: Optional[dict],
    current_stats: Optional[dict],
) -> List[Features]:
    safe_feature_stats = feature_stats or {}
    safe_current_stats = current_stats or {}

    features = []
    for name in feature_names:
        if feature_stats is not None and name not in feature_stats:
            logger.warn(f"Feature '{name}' missing from 'feature_stats'")
        if current_stats is not None and name not in current_stats:
            logger.warn(f"Feature '{name}' missing from 'current_stats'")
        f = Features.new(name, safe_feature_stats.get(name),
                         safe_current_stats.get(name))
        features.append(f)
    return features