Ascend C算子开发(入门)—— 什么是算子?

news2024/11/22 9:03:03

在这里插入图片描述
在这里插入图片描述

文章目录

    • Ascend C算子开发(入门)—— 什么是算子?
        • 一、从人工智能到算子
          • 1.1 人工智能的四个层面
          • 1.2 人工智能之三大流派
          • 1.3 算子、神经元、神经网络
        • 二、算子的基本概念
          • 2.1 算子在数学中的定义:
          • 2.2 算子基本概念 —— 总览
          • 2.3 算子基本概念——Tensor
          • 2.4 算子基本概念——Format
          • 2.5 算子基本概念——Axis
        • 三、算子开发的问题与挑战

Ascend C算子开发(入门)—— 什么是算子?

一、从人工智能到算子
1.1 人工智能的四个层面

在这里插入图片描述

  • 计算智能 => 感知智能 => 认知智能 => 行动智能
1.2 人工智能之三大流派

在人工智能的研究过程中,诞生了很多不同的流派,归纳起来,可分为符号主义、行动主义以及连接主义三大流派。

  • 符号主义:指的是万事万物都可以用符号勇表示,并且一切都可以基于符号进行一些列的计算,并用一个系统表示出来。

  • 行动主义:以行为动作的感知与控制研究为代表,采用进化的方式模拟人类行为活动中表现的智能(例如强化学习、遗传算法等)。

  • 连接主义:以人工神经网络研究为代表,核心方法是构建人工神经网络及人工神经网络间连接机制的学习算法,实现对大脑功能的模拟。(仿生)

1.3 算子、神经元、神经网络

这些概念是基于连接主义的核心思想:认知功能和智能行为是由大量简单单元(类似于神经元)的连接和相互作用所产生的。所拓展的。

  • 神经元

在神经网络中,神经元被视为简单的神经单元,每个单元接受输入并且产生输出。人工神经元模拟了生物神经元的基本功能,如输入加权求和和激活。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 算子

算子是用于计算神经元输入与输出之间关系的工具,它们执行如加权求和、激活函数、卷积等操作,这些操作共同作用,实现信息在神经元之间的传播和转换。

  • 神经网络

它由大量相互连接的神经元组成,这些神经元的连接方式和强度(即权重)决定了网络的整体行为和功能。

在神经网络中,边表示数据的流向,而节点表示数据的处理,数据的处理可能是数学公式、也可能是纯粹的计算机处理。我们称每一个数据处理或者计算的节点成为算子。

在这里插入图片描述

在这里插入图片描述

二、算子的基本概念
2.1 算子在数学中的定义:

一个函数空间到函数空间上的映射O:X->X

2.2 算子基本概念 —— 总览

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.3 算子基本概念——Tensor

在这里插入图片描述
在这里插入图片描述

对于算子的形状(shape),小括号中有多少个数字,就代表是多少维的张量;小括号中的数字表示该维度下包含的元素数量。

在这里插入图片描述

3表示每个像素点由3种颜色表示。

2.4 算子基本概念——Format

在这里插入图片描述

内存中并不存在张量的维度信息,数据在内存中只能线性存储。此处以卷积神经网络为例,通常分为四个维度进行存储:

  • N:Batch数量,例如图像的数目。
  • H:特征图高度,即垂直高度方向的像素个数。
  • W:特征图宽度,即水平宽度方向的像素个数。
  • C:特征图通道,例如彩色RGB图像的Channels为3.

不同深度学习框架会按照不同的顺序存储特征图数据。

在这里插入图片描述

数据的遍历方式是从低维向高维进行遍历,

如果数据的遍历是以NCHW的顺序进行遍历,那么遍历顺序应为W轴->H轴->C轴->N轴。

先遍历W轴,再遍历H轴:

R00,R01,R02,R10,R11,R12,R20,R21,R22

再遍历下一个Channel:

G00,G01,G02,G10,G11,G12,G20,G21,G22

把所有Channel遍历完结束。

2.5 算子基本概念——Axis

在这里插入图片描述

三、算子开发的问题与挑战

开发者在实现算子的时候需考虑如下因素:

  • 功能逻辑如何实现
  • 如何适配对应硬件
  • 如何处理不同大小的输入
  • 如何处理不同类型的输入
  • 如何保证算子运行的性能
  • 如何优化算子的数学公式

在这里插入图片描述

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

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

相关文章

利用clip模型实现text2draw

参考论文 实践 有数据增强的代码 import math import collections import CLIP_.clip as clip import torch import torch.nn as nn from torchvision import models, transforms import numpy as np import webp from PIL import Image import skimage import torchvision …

基于单片机的楼宇消防控制系统设计

本设计基于单片机的楼宇消防控制系统,主要包括温湿度检测模块、空气质量检测模块、火焰检测模块、ZigBee通信模块、报警模块和自动喷水模块。首先,系统通过温湿度检测模块实时监测楼道内的温湿度状况,以便及时掌握火灾发生前的环境变化。其次…

足底筋膜炎怎么治疗效果好

足底筋膜炎的症状 足底筋膜炎是一种常见的足部疾病,主要表现为足底区域(尤其是脚跟附近)的疼痛和不适。这种疼痛在早晨起床或长时间休息后初次站立时尤为明显,被形象地称为“晨间痛”。随着行走时间的增加,疼痛可能会…

直击源头!劳保鞋厂家揭秘机械制造业防护安全鞋挑选秘籍

在机械制造业这一高风险、高强度的行业中,选择合适的劳保鞋对于保障工人的安全至关重要。作为劳保鞋的生产厂家,我们深知一双优质的防护鞋能为工人提供怎样的保护。今天百华小编和大家从多个维度看一下机械制造业是如何挑选防护安全鞋的挑选秘籍&#xf…

四款远程控制分享!你pick哪一款?

远程控制软件已经成为我们日常生活中不可或缺的一部分,无论是远程办公、技术支持还是家庭娱乐,这些软件都扮演着重要的角色。今天,我们就来聊聊几款市面上比较热门的远程控制软件在电脑远程操作上都有哪些表现呢?让我们一探究竟。…

ArkTS语法题

1. 下面示例中会导致编译报错的有? A. let x: number null; B. let x: number | null null; C. let y: string null; D. let y: string 100; 看来GPT对这种标准概念选择,也没有统一的说法。 - 文心…

【3.8】贪心算法-解无重叠区间

一、题目 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例 1: 输入: intervals [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: 移除 [1,3] 后,剩下的区间没有重叠…

ImportError: Missing optional dependency ‘openpyxl‘.报错已解决

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言: 在开发过程中,你是否遇到过导入模块时出现ImportError: Missing optional dependency openpyxl的…

绘制YOLOv9训练结果的mAP0.5变化曲线

本文绘制mAP0.5在训练过程中的变化曲线(Python脚本),用以比较不同算法的收敛速度,最终精度等,并且能够在论文中直观的展示改进效果。 以下是比较了三个模型的mAP0.5变化曲线,数据来源是直接读取三个训练完…

Flink1.14.* 各种算子在StreamTask控制下如何调用的源码

前言:一、StreamTask执行算子的生命周期二、 Source的streamTask用的是SourceStreamTask三、基础转换操作,窗口用的是OneInputStreamTask1、初始化OneInputStreamTask2、StreamTask运行invoke调用的是StreamTask的processInput方法3、从缓冲区获取数据放…

从0到DevOps(1)-初步了解DevOps和容器

DevOps从提出以来陆续成为行业普遍实践,目前是数字化生产普遍不可或缺的信息底座。本系列文章旨在系统性的阐述与认识DevOps, 了解企业实践里DevOps的实际面貌。 什么是DevOps? DevOps 是一套实践、工具和文化理念,为实现用户不断的软件功能和可用性要…

学会这5个AI变现方法,让你在小红书上轻松赚钱!

大家好!最近AI真是大火,尤其是ChatGPT、Midjourney这些AI工具,感觉不搞点AI相关的内容,都跟不上潮流啦! 作为一个深耕小红书的内容创作者,我发现AI其实在小红书上有着巨大的变现潜力。 那么,如…

C--四种排序方法的补充

上一篇文章因为时间原因只写了三种,这一篇来补充第四种,第四种的代码更多,所需要理解的也是更多的。 堆排序 想要学会堆排序,你必须了解二叉树的内容。堆排序的排序速度也是非常的快。 这里都已大堆为例 1.向上调整算法&#…

JavaWeb - Spring Boot

Spring 官网​​​​​Spring | Home Spring Boot Spring Boot是一个由Pivotal团队提供的开源框架,旨在简化Spring应用的初始搭建以及开发过程。在Spring Boot项目中,通常会有Controller、Service、Mapper和Entity等层次结构。下面将详细介绍这些层次的…

Mac 安装Hadoop教程

1. 引言 本教程旨在介绍在Mac 电脑上安装Hadoop,便于编程开发人员对大数据技术的熟悉和掌握。 2.前提条件 2.1 安装JDK 想要在你的Mac电脑上安装Hadoop,你必须首先安装JDK。具体安装步骤这里就不详细描述了。你可参考Mac 下载JDK8。 2.2 配置ssh环境…

三分钟讲明白怎么用Fusion360和3D打印做模具

前言 模具,这东西听起来好像很常见,但是听到价格又很高大上,但是现在好消息是你可以在家里用3D打印方式实现一个模具,虽然是一个学习级的简易模具但是符合模具的9成要素 这里我们设计一个可以把热熔胶变成实物的模具 如何实现 1首…

生成密码c++

需求 目前需要实现生成8位密码,密码要求至少包含一位数字,一位大写字母,一位小写字母,一位特殊字符。如果用户第一次使用还没有输入密码,密码则为系统随机生成。 用户输入密码,符合规则则将默认密码覆盖掉…

重生之我们在ES顶端相遇第10 章- 分分分词器的基本使用

文章目录 思维导图0. 前言1. 光速上手1.1 指定分词器1.2 测试分词器 2. 分词流程(重要)2.1 基本介绍2.2 深入如何测试分词器 3. 自定义一个简单的分词器 思维导图 0. 前言 分词器在 ES 搜索使用中非常关键,一个好的分词器能够提高搜索的质量,让用户搜索…

进程间的通信(无名管道)

进程间通信 IPC InterProcess Communication 1.进程间通信方式 1.早期的进程间通信: 无名管道(pipe)、有名管道(fifo)、信号(signal) 2.system V PIC: 共享内存(share memory)、信号灯集(semaphore)、消息队列(message queue) 3.BSD: 套接字(socket) 2.无…

AI壁纸套装,单月变现7000+,手把手教你,别说你还不会

介绍 这种类型的手机壁纸,平板壁纸,电脑壁纸,甚至是手表壁纸,流量都很不错,尤其是深受一些女性的喜欢。 变现能力也不错,而且变现方式也多种多样。 今天就一步一步的教大家如何制作这种壁纸,怕…