2020
2121Example:
2222 Using Framework enum::
23-
23+
2424 from sagemaker.serve.constants import Framework, DEFAULT_SERIALIZERS_BY_FRAMEWORK
25-
25+
2626 # Get serializers for PyTorch
27- serializer, deserializer = DEFAULT_SERIALIZERS_BY_FRAMEWORK[Framework.PYTORCH]
27+ serializer_cls, deserializer_cls = DEFAULT_SERIALIZERS_BY_FRAMEWORK[Framework.PYTORCH]
28+ serializer, deserializer = serializer_cls(), deserializer_cls()
2829"""
2930from __future__ import absolute_import , annotations
3031
3132# Standard library imports
3233from enum import Enum
33- from typing import Dict , Set , Tuple
34+ from typing import Callable , Dict , Set , Tuple
3435
3536# SageMaker imports
3637from sagemaker .serve .mode .function_pointers import Mode
@@ -96,7 +97,8 @@ class Framework(Enum):
9697 Using framework enum::
9798
9899 if detected_framework == Framework.PYTORCH:
99- serializer, deserializer = DEFAULT_SERIALIZERS_BY_FRAMEWORK[Framework.PYTORCH]
100+ ser_cls, deser_cls = DEFAULT_SERIALIZERS_BY_FRAMEWORK[Framework.PYTORCH]
101+ serializer, deserializer = ser_cls(), deser_cls()
100102 """
101103 XGBOOST = "XGBoost"
102104 LDA = "LDA"
@@ -116,18 +118,18 @@ class Framework(Enum):
116118# Framework Serialization Mapping
117119# ========================================
118120
119- DEFAULT_SERIALIZERS_BY_FRAMEWORK : Dict [Framework , Tuple ] = {
120- Framework .XGBOOST : (LibSVMSerializer () , CSVDeserializer () ),
121- Framework .LDA : (RecordSerializer () , RecordDeserializer () ),
122- Framework .PYTORCH : (TorchTensorSerializer () , JSONDeserializer () ),
123- Framework .TENSORFLOW : (NumpySerializer () , JSONDeserializer () ),
124- Framework .MXNET : (RecordSerializer () , JSONDeserializer () ),
125- Framework .CHAINER : (NumpySerializer () , JSONDeserializer () ),
126- Framework .SKLEARN : (NumpySerializer () , NumpyDeserializer () ),
127- Framework .HUGGINGFACE : (JSONSerializer () , JSONDeserializer () ),
128- Framework .DJL : (JSONSerializer () , JSONDeserializer () ),
129- Framework .SPARKML : (NumpySerializer () , JSONDeserializer () ),
130- Framework .NTM : (RecordSerializer () , JSONDeserializer () ),
131- Framework .SMD : (JSONSerializer () , JSONDeserializer () ),
121+ DEFAULT_SERIALIZERS_BY_FRAMEWORK : Dict [Framework , Tuple [ Callable , Callable ] ] = {
122+ Framework .XGBOOST : (LibSVMSerializer , CSVDeserializer ),
123+ Framework .LDA : (RecordSerializer , RecordDeserializer ),
124+ Framework .PYTORCH : (TorchTensorSerializer , JSONDeserializer ),
125+ Framework .TENSORFLOW : (NumpySerializer , JSONDeserializer ),
126+ Framework .MXNET : (RecordSerializer , JSONDeserializer ),
127+ Framework .CHAINER : (NumpySerializer , JSONDeserializer ),
128+ Framework .SKLEARN : (NumpySerializer , NumpyDeserializer ),
129+ Framework .HUGGINGFACE : (JSONSerializer , JSONDeserializer ),
130+ Framework .DJL : (JSONSerializer , JSONDeserializer ),
131+ Framework .SPARKML : (NumpySerializer , JSONDeserializer ),
132+ Framework .NTM : (RecordSerializer , JSONDeserializer ),
133+ Framework .SMD : (JSONSerializer , JSONDeserializer ),
132134}
133135
0 commit comments