INNER CODE UNIT · Python
_make_runner
onnxsim/onnxsim · onnxsim/rpc/server.py:304
def _make_runner(header: Dict[str, Any], model_bytes: bytes, work_dir: str):
runtime = header.get("runtime") or "onnxruntime"
if runtime == "onnxruntime":
return _Runner(
model_bytes, header.get("providers"), bool(header.get("single_threaded"))
)
if runtime == "tinygrad":
return _TinygradProxy(
model_bytes, header.get("device"), header.get("options"), work_dir
)
raise proto.RPCError(
f"unknown runtime {runtime!r} (expected 'onnxruntime' or 'tinygrad')"
)
def model_bytes_to_proto(data: bytes) -> onnx.ModelProto:
model = onnx.ModelProto()
model.ParseFromString(data)