Fucius's picture
Upload 422 files
2eafbc4 verified
raw
history blame contribute delete
No virus
1.02 kB
import random
from functools import partial
from typing import Any, Dict
import numpy as np
from inference.core.active_learning.entities import (
Prediction,
PredictionType,
SamplingMethod,
)
from inference.core.exceptions import ActiveLearningConfigurationError
def initialize_random_sampling(strategy_config: Dict[str, Any]) -> SamplingMethod:
try:
sample_function = partial(
sample_randomly,
traffic_percentage=strategy_config["traffic_percentage"],
)
return SamplingMethod(
name=strategy_config["name"],
sample=sample_function,
)
except KeyError as error:
raise ActiveLearningConfigurationError(
f"In configuration of `random_sampling` missing key detected: {error}."
) from error
def sample_randomly(
image: np.ndarray,
prediction: Prediction,
prediction_type: PredictionType,
traffic_percentage: float,
) -> bool:
return random.random() < traffic_percentage