yolov8-onnx.py 641 B

123456789101112131415161718
  1. #!/usr/bin/env python3
  2. import os
  3. from ultralytics import YOLO
  4. import onnx
  5. from pathlib import Path
  6. from extra.onnx import get_run_onnx
  7. from tinygrad.tensor import Tensor
  8. os.chdir("/tmp")
  9. if not Path("yolov8n-seg.onnx").is_file():
  10. model = YOLO("yolov8n-seg.pt")
  11. model.export(format="onnx", imgsz=[480,640])
  12. onnx_model = onnx.load(open("yolov8n-seg.onnx", "rb"))
  13. # TODO: move get example inputs to onnx
  14. input_shapes = {inp.name:tuple(x.dim_value for x in inp.type.tensor_type.shape.dim) for inp in onnx_model.graph.input}
  15. print(input_shapes)
  16. run_onnx = get_run_onnx(onnx_model)
  17. run_onnx({"images": Tensor.zeros(1,3,480,640)}, debug=True)