机器学习编译系列---张量程序抽象

news2024/12/22 23:15:38

机器学习编译系列---张量程序抽象

  • 1. 张量函数概念的引入与抽象的必要性

1. 张量函数概念的引入与抽象的必要性

  在文章机器学习编译系列—概述中提到,机器学习编译的一个很重要操作是做等价变换来减少内存或者提高运行效率。变换是以“元张量函数”(private tensor function)为单元进行。直观地,图中的linear、add、relu、linear、softmax均为元张量函数。
在这里插入图片描述
  机器学习编译的目的并不仅仅是转换而是尽可能自动的转换,为此需要抽象。例如,典型的元张量函数可以抽象为:存储数据的多维数组,驱动张量计算的循环嵌套以及计算部分本身。
在这里插入图片描述
  有了抽象,就离自动转换近了一步,例如对于循环嵌套操作,一个较成熟的转换做法是“循环拆分”—》“并行”—》“向量化”,整个过程是可以自动进行的。
在这里插入图片描述
  在抽象的基础上再进一步,可以增加Extra information来发挥“编译”的最大效率。仍旧是以循环嵌套操作为例,我们可以通过“Extra information”来告诉深度学习编译器,循环迭代之间的独立性,让“编译器”可以放心的高效自动化转换。
在这里插入图片描述
  回想c++, 在这一个语言中有各种看似“繁琐”的说明符,例如const, const &等,想必也是为了让编译器发挥最大的功效,起的作用和这里的“Extra information”相同的作用。从这个角度看,机器学习编译和传统的软件编译的确是相通的。

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

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

相关文章

第一百三十一天学习记录:数据结构与算法基础:栈和队列(下)(王卓教学视频)

队列的表示和操作的实现 循环顺序队列是一种使用数组来实现的队列结构,其中头指针和尾指针表示队列的头部和尾部位置。 当队列为空时,头指针和尾指针都指向同一个位置,即数组的第一个位置。这是因为在空队列中,没有任何元素可以作…

软件测试|Python自动化测试实现的思路

Python自动化测试常用于Web应用、移动应用、桌面应用等的测试 Python自动化实现思路通常分为以下几步: 1. 确定自动化测试的范围和目标: 首先需要明确需要进行自动化测试的范围和目标,包括测试场景、测试用例、测试数据等。 2. 选择自动化…

分析商务报表使用什么工具?

传统的BI分析商务报表存在的问题 随着数字化转型的深入推进,企业面临着海量数据的挑战和机遇。数据是企业的重要资产,能够帮助企业洞察市场动态、优化业务流程、提升客户满意度、创造竞争优势。然而,传统的BI(商业智能&#xff0…

【IMX6ULL驱动开发学习】07.驱动程序分离的思想之平台总线设备驱动模型和设备树

一、驱动程序分离的思想 【IMX6ULL驱动开发学习】05.字符设备驱动开发模板(包括读写函数、poll机制、异步通知、定时器、中断、自动创建设备节点和环形缓冲区)_阿龙还在写代码的博客-CSDN博客 之前编写驱动程序的代码存在不少弊端:移植性差…

治疗偏头痛等亚疼痛的远程电神经调控(REN)设备

原文链接: NERIVIO CE标志适应症扩展到青少年和成人偏头痛的预防和急性治疗 (prnewswire.com) 公司官网: Homepage - Theranica APP下载链接: Migraine Headache Treatment - Nerivio 使用过程问题: 常见问题 - 无药物偏头痛两…

解决Oracle中XML插入数据时的空格问题

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

05- 定时器

定时器 定时器5.1 独立看门狗定时器独立看门狗的配置步骤:看门狗计时时间的计算: 5.2 窗口看门狗看门狗有什么作用?窗口看门狗超时时间计算:窗口看门狗的配置过程: 5.3 通用定时器三种定时器: 计数器的时钟…

使用Jmeter进行压力测试你所不知道内幕

在网络很多网友反馈Jmeter的测试结果不准确,下面我们主要聊一下不准确的原因。 Jmeter 是ASF的一款开源免费软件 ,在国内被很多中小公司当作性能测试工具广泛使用。Apache软件基金会(ASF)是一家总部位于美国的非营利性慈善组织。…

Binder机制原理解析

前言 我们都知道Android应用程序由Activity、Service、Broadcast Receiver、Content Provider四大组件构成的,他们可能运行在不同进程中,还有Android系统中还有各种服务,例如Actiivty管理服务ActivityManagerService、电源管理服务PowerManagerService、…

半导体退火那些事(3)

4.半导体退火设备 双腔全自动兼容6-8寸快速退火炉RTP 产地:中国 型号: S803 特点: 室温到1250C,应用于SiC,GaN等第三代半导体领域 简介 (Description) S803系列自动快速退火炉,内置Robot可以自动取放片,适用于最大8英寸 (单片200m…

【MySQL系列】-回表、覆盖索引真的懂吗

【MySQL系列】-回表、覆盖索引真的懂吗 文章目录 【MySQL系列】-回表、覆盖索引真的懂吗一、MYSQL索引结构1.1 索引的概念1.2 索引的特点1.3 索引的优点1.4 索引的缺点 二、B-Tree与BTree2.1 B-Tree2.2 BTree2.3 B-Tree 与BTree树的区别2.4 那么为什么InnoDB的主键最好要搞成有…

【数据结构OJ题】链表的回文结构

原题链接:https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa?tpId49&&tqId29370&rp1&ru/activity/oj&qru/ta/2016test/question-ranking 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 在做这道…

EMO实战:使用EMO实现图像分类任务(一)

文章目录 摘要安装包安装timm安装 grad-cam安装einops 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 论文翻译:https://blog.csdn.net/m0_47867638/article/details/132034098?spm1001.2014.3001.5501 官方源码:https://github.com/…

uniapp项目APP云打包步骤

1.打开hbuilder工具,选择uniapp项目,从上方工具中选择发行 2.证书的生成,点击上面的如何生成证书的网址,按照步骤进行生成: 3.结果,点击打开所在目录,点击直接安装到手机,前提是手机…

excel日期函数篇1

1、DAY(serial_number):返回序列数表示的某月的天数 在括号内给出一个时间对象或引用一个时间对象(年月日),返回多少日 下面结果都为20 2、MONTH(serial_number):返回序列数表示的某年的月份 在括号内给出一个时间对…

重新认识小米

被镁光灯聚焦的企业,总是会被贴上各种标签。 8月14日,小米科技创始人雷军以“成长”为主题的年度演讲,刷遍社交网络。提到小米,你首先想到什么?手机发烧友、极致性价比,还是最年轻的500强? 这…

手撕单链表

目录 链表的概念和结构 单链表的实现 申请新结点 打印 尾插 头插 尾删 头删 ​编辑 查找 在pos位置前插入元素 在pos位置后插入元素 删除pos位置的元素 删除pos位置之后的位置的元素​编辑 完整代码 SListNode.h SListNode.c 链表的概念和结构 链表是一种物理存储…

VS2022如何查看类成员都在哪里被调用了(VS如何打开Call Hierarchy视图)

文章目录 打开Call Hierarchy视图查看成员的调用 打开Call Hierarchy视图 单击菜单栏的“视图” > “调用层次结构”,即可打卡Call Hierarchy视图。 查看成员的调用 在代码编辑窗口,右键单击想要查看的类成员,然后选择“查看调用层次结…

2003-2021年全国30省市数字关注度数据

1、时间:2003-2021年 2、来源:政府工作报告 3、范围:30省市 不含西藏、其中2004年吉林缺失 4、指标:省份、年份、一级指标、二级指标、关键词、关键词词频、全文词频 5、词频:选取大数据、云计算、区块链、人工智能…

解决一直提示No module named “Crypto” 解决方案

今天跑脚本发现一直提示装Crypto包 已经装好了情况下还是这样: 解决方法: pip uninstall crypto pycryptodome pip install pycryptodome pycrypto和crypto是同一个库,crypto在 python 中又被称为pycrypto,它是一个第三方库&…