首页 > 其他分享 >机器学习编译(一):概述

机器学习编译(一):概述

时间:2023-07-22 11:44:11浏览次数:38  
标签:机器 linear 学习 编译 概述 算子 Tensor

机器学习编译是一个 process,把机器学习的开发转到部署。

../_images/dev-deploy-form.png

机器学习编译的目标

  1. Integration and Dependency Minimization. 集成与最小化依赖.

    部署应用需要集成必要的元素,我们希望部署应用的时候尽可能减小应用的大小。

  2. Leverage Hardware Native Acceleration. 利用硬件原生加速.

    利用硬件原生特性加速开发和部署速度,可以构建调用原生加速库(如 CUDA、CuDNN)的部署代码或利用原生指令(如 TensorCore)的代码。

  3. Optimization in General. 通用优化.

    一些通用的优化,通常涉及:

    • minimize memory usage. 减小内存或显存占用.
    • improve execution efficiency. 加速训练/推理.
    • scaling to multiple heterogeneous nodes. 更好的可扩展性.

机器学习编译的关键要素

../_images/mlc-elements.png

其实就两个:

  • 张量(Tensor):Tensor 是执行中最重要的元素。可以用来表示神经网络模型的输入、输出和中间结果,一般用多维数组表示。
  • 张量函数(Tensor functions):涉及 tensor 的计算序列称为张量函数。可以是一个算子(op)或者端到端的计算过程。

例子:

../_images/mlc-elem-transform.png

上图的输入、中间结果、输出都是各种 tensor,只不过 shape 不同。

涉及到的 linear、relu 这些 op 会定义如何接受特定的输入并计算。

有时候机器学习编译还会涉及左图到右图的转换过程,可以看到 linear 算子和 relu 算子被融合成了一个 linear_relu 算子,这个过程叫算子融合(operator fusion)。

标签:机器,linear,学习,编译,概述,算子,Tensor
From: https://www.cnblogs.com/linrj/p/17573092.html

相关文章

  • m基于扩频解扩+LDPC编译码的通信链路matlab误码率仿真,调制对比QPSK,16QAM,64QAM,扩频
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要      在现代通信系统中,扩频技术被广泛应用于数字通信链路中。扩频技术通过将要传输的信息序列与一个宽带的伪随机码序列进行卷积,将原始信号转换成一个具有更大带宽的扩频信号。在接收端......
  • Linux下编译安装python3.7 附带python-dev
    1、安装开发工具包sudoyum-ygroupinstall"Developmenttools" 2、安装依赖包sudoyum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devellibffi-devel ......
  • 机器学习的可解释性
    机器学习的可解释性ExplainableML作用:基于机器学习的可解释性我们可以优化机器学习模型线性模型虽然容易解释,但不够强大,深度学习的模型强大,但不容易解释ExplainableML包括LocalExplaination和GlobalExplaination:LocalExplaination:针对个例解释什么特征让机器得出结果......
  • Linux 编译安装sshpass
    1、下载地址 wgethttp://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz 2、解压 tarxvzfsshpass-1.05.tar.gz  cdsshpass-1.05.tar.gz  3、编译./configure  make  makeinstall  ......
  • SAP Fiori Launchpad 概述
    SAPFiorilaunchpad是托管SAPFiori应用程序的shell,并为应用程序提供导航、个性化、嵌入式支持和应用程序配置等服务。SAPFioriLaunchpad是移动和桌面设备上SAPFiori应用程序的入口点。启动板显示带有图块的主页,其中可以显示实时状态指示器,例如打开的任务数量。每个......
  • VTK9.1.0在Windows10+VS2019+Qt 5.15.2环境下编译安装以及VTK应用于QT
    下载VTK安装包在VTK官网Download|VTK中下载VTK9.1.0待编译源码,解压后在路径Documentation/dev/bulid.md中可以看到官方提供的Prerequisites以及简易教程编译环境安装按照官方提供的Prerequisites,安装以下环境:CMakeVersion3.12ornewer,however,thelatestversionisal......
  • 个人微信API接口,WeChat机器人
    本篇文章主要讨论微信机器人的开发经验。微信机器人的功能需求很简单,业务代码贼好撸,但是如何和微信交互呢,如何取到微信数据调用相关聊天接口呢,具体分为以下几种技术类型:1.微信Web接口17年后微信都不支持了,不过还是有一些牛×的star都是过Wstar的项目,可惜荒废了。2.手机Xposed......
  • python3在线编译器
    Python3在线编译器实现介绍在本文中,我将向你展示如何使用Python3来实现一个简单的在线编译器。在线编译器允许用户在浏览器中输入Python3代码,并立即执行并查看结果。我们将使用Flask框架来搭建Web应用程序,其中包含一个页面用于输入和显示代码,并使用Python的exec()函......
  • 【专题】2023年中国工业机器人行业研究报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33224本报告合集将基于中国工业产业升级和智能制造的背景,通过对供应端市场和产业链的分析,结合投资视角,探讨工业机器人企业如何增强自身竞争力,推动中国工业产业发展,为企业带来新的增长和转型机会,并从而思考中国工业机器人行业的现状和未来趋势。点......
  • 【专题】中国工业机器人市场研究报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33224本报告合集将基于中国工业产业升级和智能制造的背景,通过对供应端市场和产业链的分析,结合投资视角,探讨工业机器人企业如何增强自身竞争力,推动中国工业产业发展,为企业带来新的增长和转型机会,并从而思考中国工业机器人行业的现状和未来趋势。点......