Comments (2)
Hi, I was facing the same problem and solved by wrapping the prediction decoding to the model outputs and, finally, converting the wrapped model.
from keras_cv.src.models.object_detection.yolo_v8.yolo_v8_detector import YOLOV8Detector, decode_regression_to_boxes, dist2bbox, get_anchors
def convert_to_onnx(model: YOLOV8Detector, onnx_opset: int, results_dir: Path):
wrapper_input = tf.keras.Input(shape=model.input_shape[1:], name="images")
wrapper_outputs = model(wrapper_input)
anchor_points, stride_tensor = get_anchors(image_shape=model.input_shape[1:3])
stride_tensor = tf.expand_dims(stride_tensor, axis=-1)
boxes = dist2bbox(decode_regression_to_boxes(wrapper_outputs["boxes"]), anchor_points) * stride_tensor
wrapper_outputs["boxes"] = boxes
wrapper = tf.keras.Model(wrapper_input, wrapper_outputs, name="YOLOv8")
tf2onnx.convert.from_keras(wrapper, output_path=results_dir / "model.onnx", opset=onnx_opset)
from tensorflow-onnx.
@ksv87 ,
I think there are 2 issues you are facing when convert the model to an ONNX one:
- The outputs without decode_prediction are not expected. Actually @Mauro-Antonello has provided a popular approach to handle such case: add a wrapped model so the outputs of your model are intermediate results.
- There is an unsupported op BroadcastArgs in your model. This will cause the final ONNX model could not be inferenced by ORT successfully. This needs some work in tf2onnx to support and it is not in a plan yet. But your contributions on this are definitely welcome!
from tensorflow-onnx.
Related Issues (20)
- Maxpool 2D layer error `Negative dimension size caused by subtracting 2 from 1 input shape shape=(128, 128, 1, 16)`
- tf.image.resize can't convert to FP16 model HOT 1
- Azure pipeline task CondaEnvironment@1 has been deprecated.
- Integrate with ONNX 1.16.0 release branch HOT 1
- Error of input shape {0,32,1,1} when infer with generated onnx model HOT 1
- Model conversion fail from Tensorflow while 2 GPU are utilized and first one set to be not visible in Tensorflow HOT 1
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position 101: invalid start byte
- Converting TF on numpy 1.26
- Please help validate release candidate for ONNX 1.16.0rc2 HOT 1
- cannot convert keras model to onnx : 'Sequential' object has no attribute 'output_names'I HOT 9
- tf.linalg.eigh not supported in tf2onnx
- publish a command line executable on releases HOT 2
- Is it possible to convert tflite to onnx with changed input dimension?
- There are discrepancies between the outputs of the Ttflite and converted ONNX model.
- DirectML returning empty result with ObjectDetection (Mobilinet V2 FPN Keras) HOT 3
- Registering operator for tf.linalg.eig
- Project requires an old version of Protobuf HOT 4
- Tensorflow 2.16 / Keras 3 support HOT 1
- multiple inputs
- NA GERAÇÃO DO VÍDEO RETORNOU A SEGUINTE MENSAGEM DE ERRO : RuntimeError: Error in execution: Non-zero status code returned while running Transpose node.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tensorflow-onnx.