From aa2435397dcf64bde77a45badc12c0bd12cb7750 Mon Sep 17 00:00:00 2001 From: vishal Date: Tue, 27 Aug 2019 02:32:46 +0000 Subject: [PATCH 1/2] Autocast numpy objects to appropriate type --- pkg/workloads/cortex/onnx_serve/api.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkg/workloads/cortex/onnx_serve/api.py b/pkg/workloads/cortex/onnx_serve/api.py index e0aefe45e3..a5d739e042 100644 --- a/pkg/workloads/cortex/onnx_serve/api.py +++ b/pkg/workloads/cortex/onnx_serve/api.py @@ -100,10 +100,18 @@ def transform_to_numpy(input_pyobj, input_metadata): if dim is None: target_shape[idx] = 1 - if type(input_pyobj) is not np.ndarray: - np_arr = np.array(input_pyobj, dtype=target_dtype) - else: + if type(input_pyobj) is np.ndarray: np_arr = input_pyobj + if np.issubdtype(np_arr.dtype, np.number) == np.issubdtype(target_dtype, np.number): + if str(np_arr.dtype) != target_dtype: + np_arr = np_arr.astype(target_dtype) + else: + raise ValueError( + "expected dtype '{}' but found '{}'".format(target_dtype, np_arr.dtype) + ) + else: + np_arr = np.array(input_pyobj, dtype=target_dtype) + np_arr = np_arr.reshape(target_shape) return np_arr except Exception as e: From 93009633e6dd2efc0cfe0b67167fc9a5a4ca7db6 Mon Sep 17 00:00:00 2001 From: vishal Date: Tue, 27 Aug 2019 20:27:42 +0000 Subject: [PATCH 2/2] Simplify sklearn handler --- examples/iris-classifier/handlers/sklearn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/iris-classifier/handlers/sklearn.py b/examples/iris-classifier/handlers/sklearn.py index 4389497f79..8be7f4705d 100644 --- a/examples/iris-classifier/handlers/sklearn.py +++ b/examples/iris-classifier/handlers/sklearn.py @@ -23,7 +23,7 @@ def pre_inference(sample, metadata): sample["petal_width"], ] ) - return ((x - scalars["mean"]) / scalars["stddev"]).astype(np.float32) + return (x - scalars["mean"]) / scalars["stddev"] def post_inference(prediction, metadata):