in src/sagemaker_inference/transformer.py [0:0]
def _validate_user_module_and_set_functions(self):
"""Retrieves and validates the inference handlers provided within the user module.
Default implementations of the inference handlers are utilized in
place of missing functions defined in the user module.
"""
user_module_name = self._environment.module_name
if find_spec(user_module_name) is not None:
user_module = importlib.import_module(user_module_name)
self._model_fn = getattr(
user_module, "model_fn", self._default_inference_handler.default_model_fn
)
transform_fn = getattr(user_module, "transform_fn", None)
input_fn = getattr(user_module, "input_fn", None)
predict_fn = getattr(user_module, "predict_fn", None)
output_fn = getattr(user_module, "output_fn", None)
if transform_fn and (input_fn or predict_fn or output_fn):
raise ValueError(
"Cannot use transform_fn implementation in conjunction with "
"input_fn, predict_fn, and/or output_fn implementation"
)
self._transform_fn = transform_fn or self._default_transform_fn
self._input_fn = input_fn or self._default_inference_handler.default_input_fn
self._predict_fn = predict_fn or self._default_inference_handler.default_predict_fn
self._output_fn = output_fn or self._default_inference_handler.default_output_fn
else:
self._model_fn = self._default_inference_handler.default_model_fn
self._input_fn = self._default_inference_handler.default_input_fn
self._predict_fn = self._default_inference_handler.default_predict_fn
self._output_fn = self._default_inference_handler.default_output_fn
self._transform_fn = self._default_transform_fn