TensorFlowのモデルを、ONNX Runtimeのモデルに変換したいときは、tf2onnxを使用します。
GitHub

GitHub – onnx/tensorflow-onnx: Convert TensorFlow, Keras, Tensorflow.js and Tflite models to ONNX
Convert TensorFlow, Keras, Tensorflow.js and Tflite models to ONNX – onnx/tensorflow-onnx
pbファイルを変換するときは、以下のように使用します。
python -m tf2onnx.convert \
--graphdef path-to-model.pb \
--output model.onnx \
--opset 15 \
--inputs 'input0:0' \
--outputs 'output0:0'入力サイズを指定するには、--inputs オプションで指定します。
python -m tf2onnx.convert \
--graphdef path-to-model.pb \
--output model.onnx \
--opset 15 \
--inputs 'input0:0[1,1024,1024,4]' \
--outputs 'output0:0'この例では1024×1024という固定サイズの入力になります。サイズに-1を使うと可変にできます。
python -m tf2onnx.convert \
--graphdef path-to-model.pb \
--output model.onnx \
--opset 15 \
--inputs 'input0:0[-1,-1,-1,4]' \
--outputs 'output0:0'目次
パフォーマンスへの影響
学習済みモデルによっては、可変にすると大幅にパフォーマンスが向上することがあります。
自分の経験では、4倍程度まで処理速度が改善したことがありました。
ただし、常に早くなるということはないようなので、その都度、ベンチマークを取る必要があるようです。










