onnx基本概念

onnx基本概念

参考

文章目录

  • onnx基本概念
    • Input, Output, Node, Initializer, Attributes
    • Serialization with protobuf
    • 元数据
    • List of available operators and domains
    • 支持的类型
    • Opset版本
    • Subgraphs, tests and loops
    • Extensibility
    • Functions
    • Shape (and Type) Inference
    • tools

ONNX可以类比为专注于数学函数的一个专用变成语言,在这个语言中,定义了机器学习推理过程中所必要的操作。比如,一个线性回归可以描述为:

def onnx_linear_regressor(X):"ONNX code for a linear regression"return onnx.Add(onnx.MatMul(X, coefficients), bias)

也可以使用ONNX图进行表示。

在这里插入图片描述
ONNX的目标是提供一种能够被任意机器学习框架实用的通用语言。利用ONNX,可以独立于构建模型的学习框架实现生产环境的部署。ONNX也实现了以一个运行时ONNXRuntime,但是主要目的是理解和调试以及转换工具,并不是用于生产环境,因为性能不是其目标。

Input, Output, Node, Initializer, Attributes

  • 一个算子,最基本的是包含输入和输出。
  • Node,是计算图的节点
  • initializer是指输入中不变的常量。
  • Attributes是指算子的参数

Serialization with protobuf

利用protobuf实现序列化

元数据

  • doc_string: Human-readable documentation for this model.
    Markdown is allowed.

  • domain: A reverse-DNS name to indicate the model namespace or domain,
    for example, ‘org.onnx’

  • metadata_props: Named metadata as dictionary map<string,string>,
    (values, keys) should be distinct.

  • model_author: A comma-separated list of names,
    The personal name of the author(s) of the model, and/or their organizations.

  • model_license: The well-known name or URL of the license
    under which the model is made available.

  • model_version: The version of the model itself, encoded in an integer.

  • producer_name: The name of the tool used to generate the model.

  • producer_version: The version of the generating tool.

  • training_info: An optional extension that contains

List of available operators and domains

算子列表

算子的域名主要来自ai.onnx以及ai.onnx.ml,同时支持可扩展性,定义自己的算子。

支持的类型

ONNX主要是优化数值计算的tensor,包含三大元素

  • 类型
  • 形状(维度)
  • 连续的存储空间

Opset版本

每个onnx图都绑定一个Opset版本

Subgraphs, tests and loops

ONNX实现了条件判断和训练,这些模块将别的子图作为属性。这些结构通常慢且复杂,应避免使用。

Extensibility

可扩展性,每一个节点都有 type, a name, named inputs and outputs, and attributes. 只要一个节点具有上述要素,就可以添加到计算图中.

Functions

Functions是一种扩展ONNX规范的方法,用于描述一系列算子的组合,方便复用。

Shape (and Type) Inference

ONNX不必要明确的输入输出的shape,但是可以加速推理。

tools

netron是一个很好的可视化工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编码在网络安全中的应用和原理

前言:现在的网站架构复杂&#xff0c;大多都有多个应用互相配合&#xff0c;不同应用之间往往需要数据交互&#xff0c;应用之间的编码不统一&#xff0c;编码自身的特性等都很有可能会被利用来绕过或配合一些策略&#xff0c;造成一些重大的漏洞。 什么是编码&#xff0c;为什…

UniVue更新日志:使用Carousel组件实现轮播图效果

github仓库 稳定版本仓库&#xff1a;https://github.com/Avalon712/UniVue 开发版本仓库&#xff1a;https://github.com/Avalon712/UniVue-Develop UniVue扩展框架-UniVue源生成器仓库&#xff1a;https://github.com/Avalon712/UniVue-SourceGenerator 更新说明 今天的更…

YOLOv8改进 | 注意力机制 | 添加混合局部通道注意力——MLCA【原理讲解】

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 注意力机制是计算机视觉中最广泛使用的组件之一,它可以帮助神经网络强调重要元素并抑制不相关的元素。然而,绝大多数的通道注意力机制只包含通道特征信息而忽略了空间特征信息,这导致了模型表征效果或对象检测…

吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.11-1.12

目录 第三门课 结构化机器学习项目&#xff08;Structuring Machine Learning Projects&#xff09;第一周 机器学习&#xff08;ML&#xff09;策略&#xff08;1&#xff09;&#xff08;ML strategy&#xff08;1&#xff09;&#xff09;1.11 超过人的表现&#xff08;Surp…

报错:C1189#error: The <experimental/filesystem> header providing 解决方案

今天开发过程中&#xff0c;需要使用文件系统experimental/filesystem&#xff0c;报错C1189#error: The &#xff1c;experimental/filesystem&#xff1e; header providing &#xff0c;通过以下解决方案&#xff0c;成功运行程序。 目录 一、打开项目下的属性 二、选择C/…

算法02 递归算法及其相关问题【C++实现】

递归 在编程中&#xff0c;我们把函数直接或者间接调用自身的过程叫做递归。 递归处理问题的过程是&#xff1a;通常把一个大型的复杂问题&#xff0c;转变成一个与原问题类似的&#xff0c;规模更小的问题来进行求解。 递归的三大要素 函数的参数。在用递归解决问题时&…

sci发表技巧指导

sci发表技巧指导 发表Sci期刊&#xff0c;很多作者都认为难度很大。其实&#xff0c;掌握以前发表技巧就没有那么难。投稿Sci期刊首先要确定自己属于哪个领域&#xff0c;例如医学类、经济类、理工类。然后根据sci期刊的投稿要求撰写sci论文&#xff0c;以下是sci发表技巧指导…

RabbitMQ消息的可靠传输和防止消息丢失

在Spring Cloud项目中&#xff0c;为了确保RabbitMQ消息的可靠传输和防止消息丢失&#xff0c;需要考虑以下几个方面&#xff1a; 消息持久化&#xff1a;确保消息在RabbitMQ中持久化。队列持久化&#xff1a;确保队列是持久化的。发布确认&#xff1a;使用发布确认机制确保消…

VMware挂载NAS存储异常处理

问题概述 由于非法关机或恢复&#xff0c;NFS存储可能会出现以下问题&#xff1a; 数据存储处于挂起状态或无法正常识别。虚拟机的配置文件或虚拟磁盘仍然注册在异常数据存储上。系统误认为有虚拟机在使用该数据存储。 问题对策 下面是详细的排查步骤和解决对策&#xff1a…

PFA烧杯带把手带刻度1000ml3000mlPFA氟树脂温度范围-270~250℃

随着越来越多的痕量分析实验需要对ppb和ppt级的浓度进行测定。目前所使用的一般材料由于无特别处理&#xff0c;不可避免会与所储存的样品&#xff0c;试剂或标准液反应&#xff0c;导致痕量分析实验得到不正确的结果。但我厂的PFA产品刚好能弥补其不足。PFA金属元素空白值低&a…

前端锚点 点击 滑动双向绑定

一. 页面样式 二. 代码 <div class"flexBox"><div class"mdDiv" v-for"(item,index) in tabList" :key"index" :class"nowChooseindex?choosed:" click"jumpMD(index, item.id)">{{item.name}}&l…

风光储一体化园区 | 图扑新能源可视化

随着全球能源结构转型加速&#xff0c;可再生能源成为能源发展的重要方向。风能、太阳能作为清洁、绿色的能源&#xff0c;得到了广泛的开发和应用。与此同时&#xff0c;储能技术的发展为解决风能和太阳能发电的间歇性和波动性问题提供了有效途径。 风光储园区作为整合风电、…

力扣373.查找和最小的K对数字

力扣373.查找和最小的K对数字 用小根堆找每次最小的(根据非递减) 由于处理(i,j)的两个儿子(i-1,j)和(i,j-1)时 如果将父亲入队 会重复所以可以令当前取出(i,j-1)时才让父亲入队取(i-1,j)时仅计算答案(加入ans)预处理将所有(i,0)入队 否则之后入不了 class Solution {public:…

CAD中如何在线加载卫星影像?

CAD在各行各业都有着非常广泛的应用&#xff0c;但在规划设计等行业中&#xff0c;不可避免地需要加载高清卫星影像&#xff0c;从而有利于作规划设计时参考。 现在&#xff0c;就为你分享一种在CAD中在线加载卫星影像的方法&#xff0c;如果需要CAD安装包&#xff0c;请在文末…

几个靠编程能力挣生活费的途径,轻松实现财富自由

这些靠编程能力就能挣生活费的途径&#xff0c;实现财富自由简直不要太轻松。 一、公司实习 这个途径是最省心省力&#xff0c;同时还能快速提升技术能力的方式&#xff0c;对未来找工作和职场发展也同样帮助巨大&#xff0c;绝对的首推&#xff0c;如果能进一些中厂&#xf…

解决外网404:清除DNS缓存并配置host主机使用知名公共DNS服务

在 Windows 上清除/刷新 DNS 缓存 对于所有Windows版本&#xff0c;清除DNS缓存的过程都是相同的。你需要使用管理员权限打开命令提示符并运行ipconfig /flushdns。 浏览器清除DNS缓存 大多数现代的Web浏览器都有一个内置的DNS客户端&#xff0c;以防止每次访问该网站时…

c++分辨读取的文件编码格式是utf-8还是GB2312

直接上代码&#xff0c;有一部分是GPT直接生成的&#xff1a; #include <QCoreApplication> #include <QFile> #include <QTextCodec> #include <QDebug>// 判断是否为UTF-8编码 bool isUtf8(const QByteArray &data) {int i 0;while (i < da…

白酒:茅台镇白酒的酒厂社会责任与可持续发展

云仓酒庄豪迈白酒&#xff0c;作为茅台镇的品牌&#xff0c;不仅在产品品质和口感方面有着卓着的表现&#xff0c;在酒厂社会责任和可持续发展方面也做出了积极的探索和实践。 首先&#xff0c;云仓酒庄豪迈白酒注重环境保护和资源利用。酒厂在生产过程中严格控制能源消耗和排放…

循环控制语句

循环控制语句 双层循环和循环控制语句&#xff0c;while和until的语法使用 循环控制&#xff0c; continue&#xff1a;跳出当次&#xff0c;后续的条件成立&#xff0c;继续执行 break&#xff1a;一旦break,后续条件不执行 exit&#xff1a;满足条件立刻退出 echo 打印 -n 不…

一千题,No.0064(螺旋矩阵)

本题要求将给定的 N 个正整数按非递增的顺序&#xff0c;填入“螺旋矩阵”。所谓“螺旋矩阵”&#xff0c;是指从左上角第 1 个格子开始&#xff0c;按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列&#xff0c;满足条件&#xff1a;mn 等于 N&#xff1b;m≥n&#xff1b;且…