Py之keras2onnx:keras2onnx库的简介、安装、使用方法之详细攻略

Py之keras2onnx:keras2onnx库的简介、安装、使用方法之详细攻略

目录

keras2onnx库的简介

keras2onnx库的安装

keras2onnx库的使用方法

1、基础用法


扫描二维码关注公众号,回复: 15095098 查看本文章

keras2onnx库的简介

      keras2onnx模型转换器使用户能够将Keras模型转换为ONNX模型格式。最初,Keras转换器是在onnxmltools项目中开发的。keras2onnx转换器的开发已经移动到一个独立的存储库中,以支持更多种类的Keras模型,并降低混合多个转换器的复杂性。
      大多数常见的Keras层都支持转换。有关Keras层的详细信息,请参阅Keras文档或tf.keras文档。
      Windows机器学习(WinML)用户可以使用WinMLTools,它将其调用封装在keras2onnx上以转换Keras模型。如果您想使用keras2onnx转换器,请参考WinML发行说明,以确定适用于WinML版本的相应ONNX操作集编号。
      keras2onnx已在Python 3.5-3.8上进行了测试,使用tensorflow 1.x/2.0-2.2(CI构建)。它不支持Python 2.x。
      目前该项目已经停止了对keras2onnx的主动开发,并将keras2onnx冻结到tf-2.3和onnx-1.10。要转换您的Keras模型,您可以转向tf2onnx,它可以转换Tensorflow、Keras、Tflite和Tensorflow.js模型。所有keras2onnx单元测试已添加到tf2onnx ci管道中,以确保没有可避免的回归。tf2onnx api tf2onnx.convert.from_keras()与keras2onnx api类似,我们希望过渡是无痛的。

GitHub链接GitHub - onnx/keras-onnx: Convert tf.keras/Keras models to ONNX

keras2onnx库的安装

pip install keras2onnx

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras2onnx

keras2onnx库的使用方法

1、基础用法

    import onnx
    import keras2onnx

    # 将Keras模型转换为ONNX模型
    onnx_model = keras2onnx.convert_keras(model, model.name)

    # 保存ONNX模型
    onnx.save_model(onnx_model, 'model.onnx')

    import onnxruntime as rt
    import numpy as np

    # 加载ONNX模型
    sess = rt.InferenceSession('model.onnx')

    # 对X_val进行预测
    X_val_np = np.array(X_val)
    input_name = sess.get_inputs()[0].name
    output_name = sess.get_outputs()[0].name
    y_prob = sess.run([output_name], {input_name: X_val_np.astype(np.float32)})[0]

    # 对比模型文件导出前后的预测结果
    res_df['loaded_model_ONNX_y_prob'] = y_prob
    res_df.to_csv('loaded_model_ONNX_y_prob.csv', index=False)
    print(res_df)

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/130652995