Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,018 Bytes
2eafbc4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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
|