in src/sagemaker_huggingface_inference_toolkit/handler_service.py [0:0]
def validate_and_initialize_user_module(self):
"""Retrieves and validates the inference handlers provided within the user module.
Can override load, preprocess, predict and post process function.
"""
user_module_name = self.environment.module_name
if importlib.util.find_spec(user_module_name) is not None:
user_module = importlib.import_module(user_module_name)
load_fn = getattr(user_module, "model_fn", None)
preprocess_fn = getattr(user_module, "input_fn", None)
predict_fn = getattr(user_module, "predict_fn", None)
postprocess_fn = getattr(user_module, "output_fn", None)
transform_fn = getattr(user_module, "transform_fn", None)
if transform_fn and (preprocess_fn or predict_fn or postprocess_fn):
raise ValueError(
"Cannot use transform_fn implementation in conjunction with "
"input_fn, predict_fn, and/or output_fn implementation"
)
if load_fn is not None:
self.load = load_fn
if preprocess_fn is not None:
self.preprocess = preprocess_fn
if predict_fn is not None:
self.predict = predict_fn
if postprocess_fn is not None:
self.postprocess = postprocess_fn
if transform_fn is not None:
self.transform_fn = transform_fn