5

Tensorflow 到 ONNX

 2 years ago
source link: https://www.taterli.com/8774/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Tensorflow 到 ONNX

  • TaterLi
  • 2022年4月29日2022年4月29日

由于某些场合需要把模型转换到其他Deep平台,因此需要转换为ONNX来传递,当别人发来ONNX,我们也需要转换成自己的格式,但是后者会丢meta,所以其实不多.

Tensorflow -> ONNX:

第一步先转换成SavedModel:

model = tf.keras.models.load_model('outputs/model.h5')
tf.keras.models.save_model(model, 'outputs/saved_model')

第二步执行转换,根据实际定义算子集.

python -m tf2onnx.convert --saved-model saved_model --opset 10 --output model.onnx

得到输出结果:

2022-04-29 04:53:05,376 - INFO - Using tensorflow=2.8.0, onnx=1.11.0, tf2onnx=1.9.3/1190aa
2022-04-29 04:53:05,376 - INFO - Using opset <onnx, 10>
2022-04-29 04:53:19,879 - INFO - Computed 0 values for constant folding
2022-04-29 04:53:28,631 - INFO - Optimizing ONNX model
2022-04-29 04:53:28,990 - INFO - After optimization: Cast -1 (1->0), Identity -6 (6->0), Transpose -34 (36->2)
2022-04-29 04:53:29,168 - INFO - 
2022-04-29 04:53:29,168 - INFO - Successfully converted TensorFlow model saved_model to ONNX
2022-04-29 04:53:29,168 - INFO - Model inputs: ['vgg16_input']
2022-04-29 04:53:29,168 - INFO - Model outputs: ['dense_1']
2022-04-29 04:53:29,168 - INFO - ONNX model is saved at model.onnx

随意找了个其他验证工具测试一下.

hb_mapper checker --model-type onnx --model model.onnx --march bernoulli2 --input-shape vgg16_input 1x192x192x3

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论 *

显示名称 *

电子邮箱地址 *

网站地址

通过邮件订阅评论


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK