diff --git a/sunnypilot/modeld/runners/onnxmodel.py b/sunnypilot/modeld/runners/onnxmodel.py index 7637e4192e..2e08afa804 100644 --- a/sunnypilot/modeld/runners/onnxmodel.py +++ b/sunnypilot/modeld/runners/onnxmodel.py @@ -40,6 +40,7 @@ class ONNXModel(RunModel): def __init__(self, path, output, runtime, use_tf8, cl_context): self.inputs = {} self.output = output + self.use_tf8 = use_tf8 self.session = create_ort_session(path, fp16_to_fp32=True) self.input_names = [x.name for x in self.session.get_inputs()] @@ -63,7 +64,10 @@ class ONNXModel(RunModel): return None def execute(self): - inputs = {k: v.view(self.input_dtypes[k]) for k,v in self.inputs.items()} + # The input below causes issues because its converting the input data when in reality it doesn't need conversion as it was already the target type. + # I am leaving this comment and the input down because this needs to be looked before merging. I had similar issues when trying the tinygrad runner... + # inputs = {k: v.view(self.input_dtypes[k]) for k,v in self.inputs.items()} + inputs = {k: (v.view(np.uint8) / 255. if self.use_tf8 and k == 'input_img' else v) for k,v in self.inputs.items()} inputs = {k: v.reshape(self.input_shapes[k]).astype(self.input_dtypes[k]) for k,v in inputs.items()} outputs = self.session.run(None, inputs) assert len(outputs) == 1, "Only single model outputs are supported"