1.7.18
- Improvement of tflite's I/O OP name rewriting process and I/O order control process
-
Writing input/output information to tflite as
signature_defs
. -
Rewrite binaries so that input/output names match ONNX using
concrete_function
. -
-coion / --copy_onnx_input_output_names_to_tflite
output tflite with options so that the signature is embedded in the tflite by default.
https://github.com/PINTO0309/onnx2tf/releases/download/1.1.28/version-RFB-640.onnx
onnx2tf -i version-RFB-640.onnx -coion
import numpy as np import tensorflow as tf interpreter = tf.lite.Interpreter( model_path="saved_model/version-RFB-640_float32.tflite" ) tf_lite_model = interpreter.get_signature_runner() test_data = tf.convert_to_tensor( value=np.ones( shape=[1,480,640,3], dtype=np.float32 ) ) tt_lite_output = tf_lite_model( input=test_data, ) print("[TFLite] Model Predictions:", tt_lite_output)
[TFLite] Model Predictions: {'boxes': array([[[ 1.3372814e-04, 8.5677393e-04, 1.3687836e-02, 2.6055152e-02], [-2.9060002e-03, -1.7406903e-03, 1.7976686e-02, 4.0702272e-02], [-5.9925802e-03, -8.2277283e-03, 2.4591457e-02, 5.8303714e-02], ..., [ 8.6583459e-01, 8.3152449e-01, 1.0436372e+00, 1.0488608e+00], [ 8.2547259e-01, 7.7981573e-01, 1.0946229e+00, 1.1140716e+00], [ 7.7743149e-01, 7.2188163e-01, 1.1553301e+00, 1.1767489e+00]]], dtype=float32), 'scores': array([[[0.9121739 , 0.08782604], [0.9121672 , 0.0878328 ], [0.9121579 , 0.08784208], ..., [0.9487316 , 0.05126836], [0.96191823, 0.03808172], [0.96088 , 0.03912005]]], dtype=float32)}
-
- [TODO] Improvement of tflite's I/O OP name rewriting process and I/O order control process #228
- ONNX model input & output names are not preserved in TensorFlow & TensorFlow Lite models #178
What's Changed
-coion / --copy_onnx_input_output_names_to_tflite
output tflite with options so that the signature is embedded in the tflite by default. by @PINTO0309 in #229
Full Changelog: 1.7.17...1.7.18