zoukankan      html  css  js  c++  java
  • 【神经网络量化】ONNX介绍与用法

    ONNX学习

    框架共用的模型文件格式

    使用protobuf二进制格式来序列化模型,可以提供更好的传输性能。

    函数

    torch.onnx.export(model, args, f, export_params=True, verbose=False, training=False, input_names=None, output_names=None)
    

    将一个模型导出到ONNX格式。该exporter会运行一次你的模型,以便于记录模型的执行轨迹,并将其导出;目前,exporter还不支持动态模型(例如,RNNs)。

    另请参阅:onnx-export

    参数:

    • model(torch.nn.Module)-要被导出的模型
    • args(参数的集合)-模型的输入,例如,这种model(*args)方式是对模型的有效调用。任何非Variable参数都将硬编码到导出的模型中;任何Variable参数都将成为导出的模型的输入,并按照他们在args中出现的顺序输入。如果args是一个Variable,这等价于用包含这个Variable的1-ary元组调用它。(注意:现在不支持向模型传递关键字参数。)
    • f-一个类文件的对象(必须实现文件描述符的返回)或一个包含文件名字符串。一个二进制Protobuf将会写入这个文件中。
    • export_params(bool,default True)-如果指定,所有参数都会被导出。如果你只想导出一个未训练的模型,就将此参数设置为False。在这种情况下,导出的模型将首先把所有parameters作为参arguments,顺序由model.state_dict().values()指定。
    • verbose(bool,default False)-如果指定,将会输出被导出的轨迹的调试描述。
    • training(bool,default False)-导出训练模型下的模型。目前,ONNX只面向推断模型的导出,所以一般不需要将该项设置为True。
    • input_names(list of strings, default empty list)-按顺序分配名称到图中的输入节点。
    • output_names(list of strings, default empty list)-按顺序分配名称到图中的输出节点。
  • 相关阅读:
    SpringBoot2.x前后端分离跨域问题及Swagger不能访问
    SpirngBoot2.x整合Swagger2接口文档
    SpringBoot2.x整合Druid数据源
    SpringBoot2.x整合logback 实现自动打印日志
    docker 进入 mysql中的操作
    Intellij Springboot (子模块)访问jsp页面404
    运行rabbitmq 的docker
    mybatis拦截器修改sql重新set后不生效?
    oracle+mybatis如何在新增时返回主键(自增序列)的值?
    oracle+mybatis报“未找到要求的from关键字”错误?
  • 原文地址:https://www.cnblogs.com/Ryan0v0/p/12333487.html
Copyright © 2011-2022 走看看