AKG

深度学习网络优化程序
授权协议 Apache-2.0
开发语言 C/C++ Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 国产
投 递 者 任绪
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

AKG(Auto Kernel Generator)对深度神经网络中的算子进行优化,并提供特定模式下的算子自动融合功能。AKG与MindSpore的图算融合功能协同工作,可提升在不同硬件后端上运行网络的性能。

AKG由四个基本的优化模块组成:规范化、自动调度、指令发射和后端优化。

  • 规范化: 为了解决polyhedral表达能力的局限性(只能处理静态的线性程序),需要首先对计算公式IR进行规范化。规范化模块中的优化主要包括自动运算符inline、循环拆分和公共子表达式优化等。

  • 自动调度: 自动调度模块基于polyhedral技术,主要包括自动向量化、自动切分、依赖分析和数据搬移等。

  • 指令发射: 指令发射模块的优化主要包括循环规范化、标签自动生成和指令发射等。

  • 后端优化: 后端优化模块的优化主要包括双缓冲区、存储重写和同步指令插入等。

硬件后端支持

当前支持Ascend910gpu v100/A100等,更多硬件后端支持待开发。

构建

从MindSpore侧构建

详细细节请参考MindSpore README.md

独立构建

我们建议您从MindSpore侧构建运行AKG代码,但同时为了方便开发,我们提供了独立编译运行AKG的方式。 详细的编译依赖请参考MindSpore安装指南

bash build.sh -t $target // target can set 'gpu' or 'ascend'

运行

  1. 设置环境变量
  • Ascend910

    cd tests
    source ./test_env.sh amd64
    export RUNTIME_MODE='air_cloud'
    export PATH=${PATH}:${YOUR_CCEC_COMPILER_PATH}
  • GPU V100/A100

    cd tests
    source ./test_env.sh gpu
  1. 运行测试用例
  • Ascend910
    cd tests/operators/vector
    pytest -s test_abs_001.py -m "level0" # 运行level0测试用例
  • GPU V100/A100
    cd tests/operators/gpu
    python3 test_all.py -a "op_name" #运行op_name算子测试用例
  • 三、爱科技N30更多网友点评: 还行吧!在煲机客服特别耐心!东西刚试音很满意,等煲完机再来看看。做工质感:做工非常好音质音效:高,中音非常棒,低音没有想象那么好佩戴很舒服,音色不错,手机NEX直接推还ok。就是刚开声低音有点闷,听了一中午又明显好的多了,玄学煲机确实有道理?音质音效:符合我的预期,比之前用的N20强不少错过了之前1499的活动,等不及下次了,1699拿下,音质什么的我也不懂,纯粹为

  • 之前对ASR网站一直很关注,当时为了买一个耳机,于是在这个网站上找了很久,看到了他推荐的AKG K371,这个耳机的特点就是哈曼调音,而且十分均衡,当时没多想,就买了一个。 买回来之后,发现耳机的低频很薄,总感觉不是那种味道,于是去网上搜了一下,发现很多人都抱怨说这个耳机耳罩太大,在耳朵下方容易产生音漏,导致低频降低3db的样子。 我开始的时候用煲机碟给这个耳机煲了大概40个小时,耳机的低频开始逐

 相关资料
  • 本节将讨论优化与深度学习的关系,以及优化在深度学习中的挑战。在一个深度学习问题中,我们通常会预先定义一个损失函数。有了损失函数以后,我们就可以使用优化算法试图将其最小化。在优化中,这样的损失函数通常被称作优化问题的目标函数(objective function)。依据惯例,优化算法通常只考虑最小化目标函数。其实,任何最大化问题都可以很容易地转化为最小化问题,只需令目标函数的相反数为新的目标函数即可

  • 神经网络和深度学习是一本免费的在线书。本书会教会你: 神经网络,一种美妙的受生物学启发的编程范式,可以让计算机从观测数据中进行学习 深度学习,一个强有力的用于神经网络学习的众多技术的集合 神经网络和深度学习目前给出了在图像识别、语音识别和自然语言处理领域中很多问题的最好解决方案。本书将会教你在神经网络和深度学习背后的众多核心概念。 想了解本书选择的观点的更多细节,请看这里。或者直接跳到第一章 开始

  • 深度神经网络的工作地点、原因和方式。从大脑中获取灵感。卷积神经网络(CNN)和循环神经网络(RNN)。真实世界中的应用。 使用深度学习,我们仍然是习得一个函数f,将输入X映射为输出Y,并使测试数据上的损失最小,就像我们之前那样。回忆一下,在 2.1 节监督学习中,我们的初始“问题陈述”: Y = f(X) + ϵ 训练:机器从带标签的训练数据习得f 测试:机器从不带标签的测试数据预测Y 真实世界很

  • 我计划编写一个国际象棋引擎,它使用深度卷积神经网络来评估国际象棋的位置。我将使用位板来表示棋盘状态,这意味着输入层应该有12*64个神经元用于位置,1个用于玩家移动(0表示黑色,1表示白色)和4个神经元用于铸币权(wks、bks、wqs、bqs)。将有两个隐藏层,每个层有515个神经元,一个输出神经元的值介于-1表示黑色获胜,1表示白色获胜,0表示相等的位置。所有神经元都将使用tanh()激活函数

  • 本文向大家介绍TensorFlow神经网络优化策略学习,包括了TensorFlow神经网络优化策略学习的使用技巧和注意事项,需要的朋友参考一下 在神经网络模型优化的过程中,会遇到许多问题,比如如何设置学习率的问题,我们可通过指数衰减的方式让模型在训练初期快速接近较优解,在训练后期稳定进入最优解区域;针对过拟合问题,通过正则化的方法加以应对;滑动平均模型可以让最终得到的模型在未知数据上表现的更加健壮

  • 本文向大家介绍TensorFlow深度学习之卷积神经网络CNN,包括了TensorFlow深度学习之卷积神经网络CNN的使用技巧和注意事项,需要的朋友参考一下 一、卷积神经网络的概述 卷积神经网络(ConvolutionalNeural Network,CNN)最初是为解决图像识别等问题设计的,CNN现在的应用已经不限于图像和视频,也可用于时间序列信号,比如音频信号和文本数据等。CNN作为一个深度

  • 主要内容 课程列表 专项课程学习 辅助课程 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 卷积神经网络视觉识别 Stanford 暂无 链接 神经网络 Tweet 暂无 链接 深度学习用于自然语言处理 Stanford 暂无 链接 自然语言处理 Speech and Language Processing 链接 专项课程学习 下述的课程都是公认的最好的在线学习资料,侧重点不同,但推

  • Google Cloud Platform 推出了一个 Learn TensorFlow and deep learning, without a Ph.D. 的教程,介绍了如何基于 Tensorflow 实现 CNN 和 RNN,链接在 这里。 Youtube Slide1 Slide2 Sample Code