in src/entrypoint/inference.py [0:0]
def _predict_fn(input_object: List[DataEntry], model: Predictor, num_samples=1000) -> List[Forecast]:
"""Take the deserialized JSON-lines, then perform inference against the loaded model.
Args:
input_object (List[DataEntry]): List of gluonts timeseries.
model (Predictor): A gluonts predictor.
num_samples (int, optional): Number of forecast paths for each timeseries. Defaults to 1000.
Returns:
List[Forecast]: List of forecast results.
"""
# Create ListDataset here, because we need to match their freq with model's freq.
X = ListDataset(input_object, freq=model.freq)
# Apply forward transformation to input data, before injecting it to the predictor.
if model.pre_input_transform is not None:
logger.debug("Before model.pre_input_transform: %s", X.list_data)
model.pre_input_transform(X)
logger.debug("After model.pre_input_transform: %s", X.list_data)
it = model.predict(X, num_samples=num_samples)
return list(it)