《人工智能 科学计算 共性算子功能要求》(征求意见稿)_第1页
《人工智能 科学计算 共性算子功能要求》(征求意见稿)_第2页
《人工智能 科学计算 共性算子功能要求》(征求意见稿)_第3页
《人工智能 科学计算 共性算子功能要求》(征求意见稿)_第4页
《人工智能 科学计算 共性算子功能要求》(征求意见稿)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1T/CESAXXXX—202X人工智能科学计算共性算子功能要求本文件规定了人工智能科学计算类算子(主要包括高阶微分、复数操作、傅里叶变换、线性代数、分数阶微分、积分操作6类)的功能要求。本文件适用于人工智能算子库的设计、开发与应用,也可用于指导人工智能领域计算框架与算子库和芯片的系统集成与开发。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T41867-2022信息技术人工智能术语ISO/IEC2382:2015InformationtechnologyVocabularyIEEE2941.1-2022IEEEStandardforOperatorInterfacesofArtificialIntelligence3术语和定义GB/T41867-2022和IEEE2941.1-2022界定的以及下列术语和定义适用于本文件。3.1科学计算sciencecomputing科学计算是指利用计算机再现、预测和发现客观世界运动规律和演化特性的全过程,包括建立物理模型,研究计算方法,设计并行算法,研制应用程序,开展模拟计算和分析计算结果等过程。3.2共性算子commonoperator共性算子是指在人工智能科学计算领域中,能够跨越不同科学和工程学科的界限,服务于多种计算模型和算法的基础计算单元或操作。4缩略语下列缩略语适用于本文件。ASIC:专用集成电路(applicationspecificintegratedcircuit)CPU:中央处理器(centralprocessingunit)FPGA:现场可编程门阵列(fieldprogrammablegatearray)GPU:图形处理器(graphicprocessingunit)2T/CESAXXXX—202XNPU:神经网络处理器(neural-networkprocessingunit)5约定5.1起始下标除特别说明外,约定编号和计数从0开始。5.2参数顺序为了方便理解,本文件中的接口函数参数列表采用输入参数在前,输出参数在后方式,实际使用中不做此要求。5.3编程语言接口函数可用多种编程语言实现。5.4自动广播本文件不强制要求二元逐元素操作的张量的维度一致,但标准实现者应将低维张量操作数自动广播以匹配高维张量操作数的维数来完成运算。例如:当其中一个张量操作数的维度为0,也即标量时,要求标准实现者在操作内部将标量自动广播成和另一个操作数形状相同的张量来完成计算,不限定具体实现方式,比如可以直接通过专用硬件实现。5.5错误处理本文件的接口错误处理原则为对于不可修复错误,直接退出操作,而对于可修复错误,采用返回错误码方式,由标准使用者决定如何处理错误,返回错误码时应优先返回相对具体的错误码,在没有对应具体错误码的情况,再返回一般性错误码。本标准规定的错误码见表1。表1错误码无注:本标准允许使用者提供其他自定义的错误返回码。5.6线程安全接口函数应该适用于多线程环境:a)同一个接口函数能够被多线程同时调用;b)不同线程可以调用不同接口函数序列。如果不存在数据竞争,那么执行顺序可以任意,但是要保证同一序列的结果与其串行结果一致;如果存在数据竞争,则由调用者负责同步操作,而接口不提供同步这样的线程管理功能。3T/CESAXXXX—202X5.7张量对象不透明性张量类对象对接口使用者不透明,需通过对应的句柄和相应的接口函数对其进行管理、访问和操作,给予标准实现者更大的自由度去为不同的场景和硬件进行优化。5.8稠密张量和稀疏张量接口一致性本标准中稠密和稀疏张量的构建操作采用不同的接口,而基于两种张量的各类操作则采用统一的接口,即不对参数中的张量是否稀疏进行任何假设,但是要求标准实现者在Tensor类中要有标识张量是否稀疏的成员变量。5.9量化的支持5.9.1量化方式本标准支持对称和非对称两种量化方式。5.9.2量化数据类型量化数据类型见表2。表2量化数据类型8位有符号通道级对称量化整数(QT_SYM_PER16位有符号通道级对称量化整数(QT_5.9.3量化的粒度量化的粒度主要可分为张量级和通道级:a)张量级量化:张量内部所有数据共享同一个scale。支持的数据类型有:8位有符号对称量化整数和16位有符号对称量化整数,可选支持8位无符号非对称量化整数、8位有符号非对称量化整数、16位无符号非对称量化整数和16位有符号非对称量化整数。b)通道级量化:张量内部同一通道的数据共享同一个scale。支持的数据类型有:8位有符号通道级对称量化整数和16位有符号通道级对称量化整数。6数据结构6.1元素类型用于描述元素的数据类型。支持无符号整数:8位、16位、32位、64位;有符号整数:8位、16位、32位、64位;浮点实数:16位、32位、64位;浮点复数32+32)位、(64+64)位;布尔类型,字符串类型等。4T/CESAXXXX—202X6.2形状信息用于描述张量维数和每一维的大小。如果张量维数为n,每一维对应的大小为d0,d1,d2,…,dn−1,则张量的形状可以表示为[d0,d1,d2,…,dn−1],最左边的为第1维,最右边的为第n维。例如:标量维数为0,形状为[];向量维数为1,形状为[d0];矩阵维数为2,形状为[d0,d1]。6.3布局信息用于描述张量的存储格式以及张量各个维度的逻辑顺序。存储格式包括稠密存储和稀疏存储。逻辑顺序指张量遍历读取和存储具体数据时,各个维度的优先顺序。储,其次取逻辑顺序中最左边第2个元素1,对应到当前要遍历的维度d1,按照(0,1,2,…,d1−1)的次首先储,其次取逻辑顺序中最左边第2个元素1,对应到当前要遍历的维度d1,按照(0,1,2,…,d1−1)的次对应维度d0=d0=2,其次取逻辑顺序中的第二个元素1=1,对应维度d1=d1=3,则张量数据物理 上第一个元素对应的坐标为[0,0],第二个元素对应的坐标为[1,0],第三个元素对应的坐标为[0,1],以此类推。当使用稠密存储时,默认的逻辑顺序为[n-1,n-2,…,0]。当使用稀疏存储时,标准实现者需要对所采用的具体格式进行详细说明。6.4设备信息用于描述张量数据存储的设备类型和设备编号。其中设备类型包括CPU、GPU、FPGA、ASIC、NPU等任何支持AI操作的设备。如果存在多个同类型的设备,可通过指定设备编号来区分。6.5其它扩展用于提供自定义的扩展功能,比如内存管理等相关信息。7科学计算算子接口7.1接口概述科学计算算子接口名称和描述见表3。表3科学计算算子接口概述反向计算雅可比矩阵、海森矩阵、逐元素加法、逐元素减法、逐元素乘法、逐元素除张量拷贝、张量拼接、张量扩展、张量删除维度、张量增加维度、张量缩放和偏判断是否是复数、计算相位角、由极坐标表示计算复平面坐标、复数取模、复数转换复数、复数爱因斯坦求和、以均匀分布随机数创建稠密复数张量、创建元素值全为指换5T/CESAXXXX—202X分7.2应用场景科学计算算子接口应用场景见表4。表4科学计算算子应用场景7.3接口列表7.3.1高阶微分7.3.1.1反向计算雅可比矩阵该算子使用反向传播计算函数的雅可比矩阵。Jacobian对象被创建后,采用惰性求值方法进行计算,对其进行多维索引来获取整个雅可比矩阵或子矩阵,进行实际求值计算并返回结果。在实际求值的过程中,对计算完毕的子矩阵进行缓存,避免在后续的索引过程中产生重复计算。该接口的参数列表见表5。表5反向计算雅可比矩阵参数列表布尔变量,指待微分函数是否返回一个元组,其中第一个元素是数学此变量为真表示待微分函数返回的是这样的元组结构,它会正确计算函数返回值:——没有错误:操作成功。6T/CESAXXXX—202X——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.1.2海森矩阵该算子用于计算函数的海森矩阵。Hessian对象被创建后,采用部分惰性求值方法进行计算,对其进行多维索引来获取整个海森矩阵或子矩阵,进行实际求值计算并返回结果。在实际求值的过程中,对计算完毕的子矩阵进行缓存,避免在后续的索引过程中产生重复计算。该接口的参数列表见表6。表6海森矩阵参数列表要计算海森矩阵的函数。此函数的输入参数应该是数组、标量。它应布尔变量,指待微分函数是否返回一个元组,其中第一个元素是数学此变量为真表示待微分函数返回的是这样的元组结构,它会正确计算函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.1.3逐元素加法正向传播对两个张量逐元素求和C=A+B。反向传播对逐元素加法操作的结果C,计算其对A和B的导数。该接口的参数列表见表7。表7逐元素加法正向传播参数列表表8逐元素加法反向传播的参数列表7T/CESAXXXX—202X函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的张量加法操作接口。7.3.1.4逐元素减法正向传播对两个张量逐元素求差C=A−B。反向传播对逐元素减法操作的结果C,计算其对A和B的导数。该接口正向、反向传播的参数列表见表9和表10。表9逐元素减法正向传播参数列表参数类型参数说明表10逐元素减法反向传播参数列表参数类型参数说明函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的张量减法操作接口。7.3.1.5逐元素乘法正向传播对两个张量逐元素求乘积C=A∗B。反向传播对逐元素乘法操作的结果C,计算其对A和B的导数。该接口正向、反向传播的参数列表见表11和表12。表11逐元素乘法正向传播参数列表8T/CESAXXXX—202X表12逐元素乘法反向传播参数列表函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的张量乘法操作接口。7.3.1.6逐元素除法正向传播对两个张量逐元素做除法C=A/B。反向传播对逐元素除法操作的结果C,计算其对A和B的导数。该接口正向、反向传播的参数列表见表13和表14。表13逐元素除法正向传播参数列表表14逐元素除法反向传播参数列表函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的张量除法操作接口。7.3.1.7逐元素双曲正切函数运算对逐元素双曲正切函数运算操作C=tanh(A)的结果C,计算其对A的导数。该接口正向、反向传播的参数列表见表15和表16。表15逐元素正切函数运算正向传播参数列表9T/CESAXXXX—202X表16逐元素正切函数运算反向传播参数列表函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的正切函数接口。7.3.1.8逐元素正弦函数运算对逐元正弦函数运算操作C=sin(A)的结果C,计算其对A的导数。该接口正向、反向传播的参数列表见表17和表18。表17逐元素正弦函数运算正向传播参数列表参数类型参数说明表18逐元素正弦函数运算反向传播参数列表参数类型参数说明函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的正弦函数接口。7.3.1.9逐元素余弦函数运算对逐元余弦函数运算操作C=cos(A)的结果C,计算其对A的导数。该接口正向、反向传播的参数列表见表19和表20。表19逐元素余弦函数运算正向传播参数列表T/CESAXXXX—202X表20逐元素余弦函数运算反向传播参数列表函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的余弦函数接口。7.3.1.10逐元素Sigmoid函数运算对逐元素Sigmoid函数运算操作C=Sigmoid(A)的结果C,计算其对A的导数。该接口正向、反向传播的参数列表见表21和表22。表21逐元素Sigmoid函数运算正向传播参数列表表22逐元素Sigmoid函数运算反向传播参数列表关于输入张量A的梯度,计算为dC⋅C⋅(1-C)。函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.1.11矩阵乘法前向传播用于计算两个矩阵乘积。反向传播基于输出矩阵C的梯度,计算其对输入矩阵A和B的梯度影响。该接口正向、反向传播的参数列表见表23和表24。表23矩阵乘法正向传播参数列表T/CESAXXXX—202X表24矩阵乘法反向传播参数列表关于输出矩阵C的梯度dC:从网络后续部分传回的梯度,具有函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的矩阵乘法接口。7.3.1.12矩阵幂运算正向传播计算矩阵的幂,即C=An。反向传播基于输出矩阵C的梯度,计算其对输入矩阵A的梯度影响。该接口正向、反向传播的参数列表见表25和表26。表25矩阵幂运算正向传播参数列表幂表26矩阵幂运算反向传播参数列表关于输出矩阵C的梯度dC:从网络后续部分传回的梯函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.1.13张量拷贝在前向传播时,张量拷贝操作创建了一个内容相同的新张量。此算子将对拷贝结果的张量计算其关于原始张量的高阶微分。反向传播将关于副本张量的梯度传递回原始张量。该接口正向、反向传播的参数列表见表27和表28。表27张量拷贝正向传播参数列表T/CESAXXXX—202X表28张量拷贝反向传播参数列表关于张量副本的梯度dCopies:从网络后续部分传回的梯度,关于原张量T的梯度dT:是所有副本梯度的累加函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的复制张量接口。7.3.1.14张量拼接前向传播将多个张量沿着指定轴拼接成一个新的张量。反向传播将关于拼接后张量的梯度分配回原始张量。该接口正向、反向传播的参数列表见表29和表30。表29张量拼接正向传播参数列表轴表30张量拼接反向传播参数列表关于拼接后张量的梯度dConcatenated:从网函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的张量合并接口。7.3.1.15张量扩展这个算子在前向传播中将一个张量扩展到一个更大的形状,在反向传播中将关于扩展后张量的梯度压缩回原始张量的形状。该接口正向、反向传播的参数列表见表31和表32。表31张量扩展正向传播参数列表T/CESAXXXX—202X表32张量扩展反向传播参数列表关于扩展后张量的梯度dExpanded:从函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的扩张张量接口。7.3.1.16张量删除维度此算子用于张量删除维度操作(squeeze)。反向传播在传入梯度已删除维度的位置上添加维度,恢复到与输入张量相同的形状。该接口正向、反向传播的参数列表见表33和表34。表33张量删除维度正向传播参数列表表34张量删除维度反向传播参数列表梯度张量dInput:恢复到与输入张量相同形函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的删除维度接口。7.3.1.17张量增加维度此算子用于张量增加维度操作(unsqueeze)。反向传播从梯度张量中去除前向传播中增加的维度,以恢复到原始输入张量的形状。该接口正向、反向传播的参数列表见表35和表36。表35张量增加维度正向传播参数列表T/CESAXXXX—202X表36张量增加维度反向传播参数列表梯度张量dOutput:表示增加维度后的输梯度张量dInput:恢复到原始输入张量形函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的扩展维度接口。7.3.1.18张量缩放和偏置正向传播对于输入张量中的每个元素,执行以下操作:output[i]=scale×input[i]+bias。反向传播计算输入张量、缩放因子和偏置的梯度。该接口正向、反向传播的参数列表见表37和表38。表37张量缩放和偏置正向传播参数列表表38张量缩放和偏置反向传播参数列表输出梯度dOutput:正向传播的输出张量对某个损输入梯度dInput:损失函数相对于输函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.1.19张量重排T/CESAXXXX—202X正向传播对张量进行重新排列,改变其形状(shape)和/或维度(dimension)的顺序,但保持数据本身不变。反向传播对梯度张量进行相反的重新排列,使其与正向传播的输入张量对齐。该接口正向、反向传播的参数列表见表39和表40。表39张量重排正向传播参数列表个定义新维度顺序的模式,例如,从(N,H,W,C)到(表40张量重排反向传播参数列表函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.1.20张量逐元素正负判断正向传播对张量中的每个元素进行正负判断,生成一个布尔值的张量代表逐元素正负。该接口正向、反向传播的参数列表见表41和表42。表41张量逐元素正负判断参数列表函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:参考IEEE2941.1-2022标准中的张量正负判断接口。7.3.1.21张量类型转换将输入张量的元素类型转换为指定的新数据类型,并输出转换后的张量。该接口的参数列表见表42。T/CESAXXXX—202X表42张量类型转换参数列表表示要转换的类型,可以为有符号整数、无符号整数、浮点实数、函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:参考IEEE2941.1-2022标准中的转换数据类型接口。7.3.1.22张量切片正向传播按照给定的起始位置、切片大小和步长数组,从输入张量中提取出相应的子张量。反向传播将梯度值传递回相应的输入张量的位置,其他位置的梯度值保持为零。该接口正向、反向传播的参数列表见表43和表44。表43张量切片正向传播参数列表表44张量切片反向传播参数列表一个与输入张量同形状的新张量,它的切片位置上填充有对应的梯度值函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的张量切片接口。7.3.1.23张量求和正向传播对对输入张量在指定的维度上进行求和操作。反向传播将梯度分配到求和操作前向传播时T/CESAXXXX—202X参与求和的元素上。该接口正向、反向传播的参数列表见表45和表46。表45张量求和正向传播参数列表元素类型可以为有符号整数、无符号整数、浮点实对指定的维度进行规约后,是否保留相应的维度,若保留则表46张量求和反向传播参数列表与输入张量同形状的张量,其中每个被求和的维度上的元素函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的规约接口。7.3.1.24张量均值正向传播前向功能对输入张量在指定的维度上进行均值(平均值)操作,可以选择是否保留计算均值后的维度。在反向传播时,会均匀地将梯度分配到均值操作前向传播时参与计算的元上。该接口正向、反向传播的参数列表见表47和表48。表47张量均值正向传播参数列表元素类型可以为有符号整数、无符号整数、浮点实对指定的维度进行求均值后,是否保留相应的维度,若保留则求表48张量均值反向传播参数列表与输入张量同形状的张量,其中每个被求均值的维度上的元素函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。T/CESAXXXX—202X——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:前向传播参考IEEE2941.1-2022标准中的规约接口。7.3.2复数操作7.3.2.1判断是否是复数判断输入的张量数据类型是否是复数。该接口的参数列表见表49。表49判断是否是复数函数参数列表函数返回值:——没有错误:操作成功。——类型不匹配:表示参数的数据类型不一致。——内部错误:表示内部调用出错。7.3.2.2计算相位角求复数的相位角。该接口的参数列表见表50。表50计算相位角参数列表表示计算结果,与输入张量精度和形状一致函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。注:对于负实数返回pi,对于非负实数返回零,并传播None。7.3.2.3由极坐标表示计算复平面坐标求复数的相位角。该接口的参数列表见表51。表51由极坐标表示计算复平面坐标参数列表表示要计算的复数的相位角,与模值形状一致表示计算结果,与输入张量精度和形状一致函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。T/CESAXXXX—202X——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.2.4复数取模求复数的相位角。该接口的参数列表见表52。表52复数取模参数列表表示计算结果,与输入张量精度和形状一致函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.2.5复数转换为实数将复数Tensor看作实数Tensor。返回的实数Tensor的最后一维大小为2,由复数的实部和虚部组成。该接口的参数列表见表53。表53复数转换为实数参数列表表示计算结果,与输入张量精度一致,假设输入张量形状是[*,]则输出函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.2.6实数转化为复数将实数张量转换为复数张量。返回的实数Tensor的最后一维大小为2,由复数的实部和虚部组成。该接口的参数列表见表54。表54实数转化为复数参数列表表示计算结果,与输入张量精度一致,假设输入张量形状是[*,2]则输函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。T/CESAXXXX—202X——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.2.7复数爱因斯坦求和该函数用于对一组输入张量进行爱因斯坦求和,输入张量允许为复数。该接口的参数列表见表55。表55爱因斯坦求和参数列表表示计算结果,与输入张量精度一致函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.2.8以均匀分布随机数创建稠密复数张量返回复数张量,张量的元素模值大小服从范围[min,max)内均匀分布的随机张量。该接口的参数列表见表56。表56以均匀分布随机数创建稠密复数张量参数列表函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.2.9创建元素值全为指定复数的稠密复数张量创建元素值全为指定复数的稠密张量。该接口的参数列表见表57。表57创建元素值全为指定复数的稠密复数张量参数列表T/CESAXXXX—202X用于初始化输出张量的常量数据的值。注意该参数不可超过输出变量包括张量的维度,维度大小数组,以及布局信息,其中布局信息没有函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.2.10创建元素值全为0+0i的稠密复数张量创建元素值全为0+0i的稠密张量。该接口的参数列表见表58。表58创建元素值全为0+0i的稠密复数张量参数列表包括张量的维度,维度大小数组,以及布局信息,其中布局信息没有函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——内部错误:表示内部调用出错。7.3.2.11复数张量切片沿多个轴生成输入张量的切片。使用轴、起始标记和结尾标记属性来指定轴列表中每个轴的起点和终点位置,并使用此信息来对输入张量切片。如果向起始标记或结尾标记传递负值如−i,则表示该轴的反向第i−1个位置(这里以0为初始位置)。如果传递给起始标记或结尾标记的值大于n(维度中的元素数目则表示n。当切片一个未知数量的维度时,建议传入整形最大值。轴、起始标记和结尾标记三个参数的元素数目必须相等。该接口的参数列表见表59。表59复数张量切片参数列表轴函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。T/CESAXXXX—202X——内部错误:表示内部调用出错。7.3.3傅里叶变换7.3.3.1二维离散傅里叶变换通过快速傅里叶变换(FFT)算法对M维张量中的两维计算离散傅里叶变换,默认为最后两维。该接口的参数列表见表60。表60快速傅里叶变换函数参数列表表示需要进行傅里叶变换的输入张量,数据函数返回值:——没有错误:操作成功。——对象未初始化:表示输入张量没有初始化。——类型不匹配:表示参数的数据类型不一致。——分配失败:表张量分配空间不足。——非法参数:表示参数不合法。——内部错误:表示内部调用出错。7.3.3.2二维离散逆傅里

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论