主要内容

代码生成dlarray.

深度学习数组存储自定义训练循环的可选数据格式标签,并使函数能够通过自动微分计算和使用导数。要了解关于自定义训练循环、自动区分和深度学习数组的更多信息,请参见<一种href="//www.tianjin-qmedu.com/help/deeplearning/deep-learning-custom-training-loops.html" class="a">深度学习定制训练循环(深度学习工具箱)

代码生成支持格式化和非格式化的深万博1manbetx度学习数组。dlarray.包含的物体gpuArrays还支持代码生成。万博1manbetx当您使用CPU和GPU代码生成的深度学习阵列时,遵守这些限制:

定义dlarray.用于代码生成

要生成代码,请使用<一种href="//www.tianjin-qmedu.com/help/deeplearning/ref/dlarray.html">dlarray.(深度学习工具箱)功能创建深度学习阵列。例如,假设您有佩带的净化<一种href="//www.tianjin-qmedu.com/help/deeplearning/ref/dlnetwork.html">dlnetwork.(深度学习工具箱)网络对象mynet.matMat文件。要预测此网络的响应,请在MATLAB中创建一个入口点函数®

有两种可能:

笔记

用于代码生成,dlarray.的输入预测的方法dlnetwork.对象必须是数据类型。

设计1(不推荐)

在这个设计示例中,输入和输出到入口点函数,Foodlarray.类型。由于在MATLAB中,不建议使用这种类型的入学点功能,因为在MATLAB中,dlarray.强制标签的顺序'scbtu'.此行为已复制MEX代码生成。但是,对于诸如静态,动态库或可执行文件的独立代码生成,数据格式遵循规范FMT.争论dlarray.对象。因此,如果一个入口点函数的输入或输出是dlarray.对象和它的标签顺序不是'scbtu',那么MATLAB环境下的数据布局和独立代码之间就会有所不同。

函数dlOut = foo (dlIn)执着的dlnet;如果isempty(dlnet) dlnet = code . loaddeeplearningnetwork ('mynet.mat');结尾dlout = predict(dlnet,dlin);结尾

设计2(推荐)

在这个设计示例中,输入和输出到Foo是原始的数据类型和dlarray.对象是在函数中创建的。这<一种href="//www.tianjin-qmedu.com/help/deeplearning/ref/dlarray.extractdata.html">extractdata(深度学习工具箱)的方法dlarray.对象中返回的数据dlarray.DLA.作为输出Foo.输出一种是否具有与底层数据类型相同的数据类型DLA.

相比设计1,本入口点设计具有以下优点:

  • 更容易与独立的代码生成工作流(如静态、动态库或可执行文件)集成。

  • 来自输出的数据格式extractdata函数具有相同的顺序('scbtu')在MATLAB环境和生成的代码中。

  • 改进MEX工作流的性能。

  • 简化Simulink.万博1manbetx®工作流使用Matlab功能作为Simulink万博1manbetx的块本身支持万博1manbetxdlarray.对象。

函数a = foo(in)dlin = dlarray(在,'ssc');执着的dlnet;如果isempty(dlnet) dlnet = code . loaddeeplearningnetwork ('mynet.mat');结尾dlA =预测(dlnet, dlIn);一个= extractdata (dlA);结尾

看到一个例子dlnetwork.dlarray.使用GPU编码器™,请参阅<一种href="//www.tianjin-qmedu.com/help/gpucoder/ug/code-generation-for-vae-network.html" class="a">使用变分AutiCencoder生成NVIDIA GPU上的数字图像.

dlarray.具有代码生成支持的对象函数万博1manbetx

对于代码生成,您将仅限于此表中列出的深度学习数组对象函数。

昏暗(深度学习工具箱)

尺寸标签dlarray.

extractdata(深度学习工具箱)

从中提取数据dlarray.

Finddim.(深度学习工具箱)

查找具有指定标签的尺寸

条纹丁(深度学习工具箱)

消除dlarray.标签

深度学习工具箱功能dlarray.代码生成的支持万博1manbetx

深入学习操作

函数 描述
fullyconnect(深度学习工具箱)

完全连接操作将输入乘以权重矩阵,然后添加偏置向量。

乙状结肠(深度学习工具箱)

SIGMOID激活操作将SIGMOID函数应用于输入数据。

softmax(深度学习工具箱)

softmax激活操作将softmax功能应用于输入数据的通道维度。

Matlab功能dlarray.代码生成的支持万博1manbetx

一元Element-wise功能

函数 注释和限制
ABS.

输出dlarray.是否与输入的数据格式相同dlarray.

atan2.

输出dlarray.是否与输入的数据格式相同dlarray.

cos
Cash.
csc
经验值
日志

  • 输出dlarray.是否与输入的数据格式相同dlarray.

  • 因为dlarray.不支持复杂数字,输万博1manbetx入dlarray.必须具有非负值。

输出dlarray.是否与输入的数据格式相同dlarray.

标志
sinh
SQRT.

  • 输出dlarray.是否与输入的数据格式相同dlarray.

  • 因为dlarray.不支持复杂数字,输万博1manbetx入dlarray.必须具有非负值。

晒黑

输出dlarray.是否与输入的数据格式相同dlarray.

塔尼
uplus.+
uminus.-

二进制元素 - 明智的运算符

函数 注释和限制
--

如果两个dlarray.输入格式化,然后是输出dlarray.格式化以两种数据格式的组合。该函数使用隐式扩展来组合输入。有关更多信息,请参阅<一种href="//www.tianjin-qmedu.com/help/deeplearning/ug/list-of-functions-with-dlarray-support.html" class="a">数据格式的隐式扩展(深度学习工具箱)

++
Rdivide../
.*

减少函数

函数 注释和限制
意思
  • 输出dlarray.是否与输入的数据格式相同dlarray.

  • “omitnan”不支持选项。万博1manbetx

  • 如果输入dlarray.是在GPU上的“本地”不支持选项。万博1manbetx

prod
  • 输出dlarray.是否与输入的数据格式相同dlarray.

  • “omitnan”不支持选项。万博1manbetx

总和

极值功能

函数 注释和限制
细心

输出dlarray.是否与输入的数据格式相同dlarray.

EPS.

  • 输出dlarray.是否与输入的数据格式相同dlarray.

  • 每股收益((‘喜欢’,x))基于a的数据类型获取标量epsilon值dlarray.X

使固定

输出dlarray.是否与输入的数据格式相同dlarray.

地板上

输出dlarray.是否与输入的数据格式相同dlarray.

最大限度
  • 当您找到单个的最大或最小元素时dlarray., 输出dlarray.是否与输入的数据格式相同dlarray.

  • 当您在两种格式化之间找到最大或最小元素时dlarray.输入,输出dlarray.它们都有两种数据格式。该函数使用隐式扩展来组合输入。有关更多信息,请参阅<一种href="//www.tianjin-qmedu.com/help/deeplearning/ug/list-of-functions-with-dlarray-support.html" class="a">数据格式的隐式扩展(深度学习工具箱)

  • 索引输出参数未跟踪,不能与自动差异一起使用。有关更多信息,请参阅<一种href="//www.tianjin-qmedu.com/help/deeplearning/ug/include-automatic-differentiation.html" class="a">在深度学习工具箱中使用自动差异化(深度学习工具箱)

最小值
圆形的

  • 只有语法y = round(x)支持。万博1manbetx

  • 输出dlarray.是否与输入的数据格式相同dlarray.

其他的数学操作

函数 注释和限制
结肠
  • 支持的操万博1manbetx作有:

    • 答:B

    • b: c

    有关索引到a的信息dlarray., 看<一种href="//www.tianjin-qmedu.com/help/deeplearning/ug/list-of-functions-with-dlarray-support.html" class="a">索引(深度学习工具箱)

  • 所有的输入必须是实数。输出dlarray.未格式化。

逻辑运作

函数 注释和限制

如果两个dlarray.输入格式化,然后是输出dlarray.格式化以两种数据格式的组合。该函数使用隐式扩展来组合输入。有关更多信息,请参阅<一种href="//www.tianjin-qmedu.com/help/deeplearning/ug/list-of-functions-with-dlarray-support.html" class="a">数据格式的隐式扩展(深度学习工具箱)

eq.==.

如果两个dlarray.输入格式化,然后是输出dlarray.格式化以两种数据格式的组合。该函数使用隐式扩展来组合输入。有关更多信息,请参阅<一种href="//www.tianjin-qmedu.com/help/deeplearning/ug/list-of-functions-with-dlarray-support.html" class="a">数据格式的隐式扩展(深度学习工具箱)

GE> =
GT.>
<=
lt<
〜=
|

如果两个dlarray.输入格式化,然后是输出dlarray.格式化以两种数据格式的组合。该函数使用隐式扩展来组合输入。有关更多信息,请参阅<一种href="//www.tianjin-qmedu.com/help/deeplearning/ug/list-of-functions-with-dlarray-support.html" class="a">数据格式的隐式扩展(深度学习工具箱)

XOR.

大小操作函数

函数 注释和限制
重塑

输出dlarray.是未格式化的,即使输入dlarray.格式化。

对于代码生成,大小尺寸必须是固定的大小。

二维dlarray.对象不受.如果输入dlarray.格式化,该功能会删除属于单例尺寸的尺寸标签。如果输入dlarray.具有两个以上的尺寸,第三个和高于尺寸是单例,然后函数丢弃这些尺寸及其标签。

换位操作

函数 注释和限制
ctranspose.'

如果输入dlarray.,则两个维度的标签必须相同。函数隐式执行转置,只有在其他操作需要时才直接执行转置。

换乘

如果输入dlarray.,则该排列必须仅在具有相同标签的维度之间。该函数隐式地执行排列,并且只有在其他操作需要时才直接执行排列。

对于代码生成,维度顺序必须是固定的大小。

ipermute

如果输入dlarray.,则该排列必须仅在具有相同标签的维度之间。该函数隐式地执行排列,并且只有在其他操作需要时才直接执行排列。

对于代码生成,维度顺序必须是固定的大小。

转置.'

如果输入dlarray.,则两个维度的标签必须相同。函数隐式执行转置,只有在其他操作需要时才直接执行转置。

级联功能

函数 注释和限制

dlarray.输入必须具有匹配的格式或未格式化。支持混合格式化和非格式化输入。万博1manbetx如果有任何dlarray.输入格式化,然后是输出dlarray.格式化以相同的数据格式。

对于代码生成,维度顺序为函数必须是固定的大小。

horzcat
vertcat

转换功能

函数 注释和限制
  • 演员(DLA,NewDatatype)中复制的数据dlarray.DLA.进入A.dlarray.底层数据类型newdatatype.这newdatatype选项必须是'双倍的'“单一”,或'逻辑'.输出dlarray.格式化为与数据格式相同的数据格式DLA.

  • 演员(a,'喜欢',y)返回与相同类型的数组y.如果y是一个dlarray.,则输出为adlarray.具有相同的底层数据类型y.如果y在GPU上,然后输出位于GPU上。如果两者一种ydlarray.对象,然后输出dlarray.格式化为与输入相同的数据格式一种

双倍的

输出是一个dlarray.包含类型的数据双倍的

逻辑 输出是一个dlarray.包含类型的数据逻辑
输出是一个dlarray.包含类型的数据

比较函数

函数 注释和限制
是平等的

  • 不支持有两个以上输入参数的语法。万博1manbetx

  • 两个dlarray.如果输入所表示的数字数据相等,并且它们都使用相同的数据格式或未格式化的数据格式进行格式化,则输入相等。

isequaln.

  • 不支持有两个以上输入参数的语法。万博1manbetx

  • 两个dlarray.如果它们表示的数字数据相等,则输入相等(处理S为相等),以及两者是否使用相同的数据格式或未格式化。

数据类型和值标识函数

函数 注释和限制
isfloat

该软件将该功能应用于输入的底层数据dlarray.

islogical.
isnumeric.
是真实的

因为dlarray.不支持复杂数字,此万博1manbetx功能始终返回真正的为一个dlarray.输入。

尺寸识别功能

函数 注释和限制
iscolumn 此功能返回真正的为一个dlarray.这是一个列向量,其中除第一个维度外的每个维度都是单元素。例如,一个3乘1乘1的矩阵dlarray.是一个列向量。
Ismatrix. 此功能返回真正的为了dlarray.只有二维的物体dlarray.对象,其中除前两个维度外的每个维度都是单元素。例如,一个3 × 4 × 1的dlarray.是一个矩阵。
isrow 此功能返回真正的为一个dlarray.这是一个行矢量,其中除了第二个之外的每个维度是单例。例如,1-by-3×1dlarray.是一排矢量。
Isscalar. N/A
isvector 此功能返回真正的为一个dlarray.这是一个行向量或者列向量。请注意,isvector不考虑一个1-×1-3dlarray.是一个向量。
长度 N/A
ndims.

如果输入dlarray.DLX.格式化,然后是ndims(DLX)返回维度标签的数量,即使一些已标记的维度是尾随的单元素维度。

numel. N/A
尺寸

如果输入dlarray.DLX.格式化,然后是尺寸(DLX)返回一个长度等于维度标签数的向量,即使一些已标记的维度是尾随的单元素维度。

创建者功能

函数 注释和限制
错误的 只有'喜欢'支持语法万博1manbetxdlarray.
inf
兰特
真正的
Zeros.

索引

代码生成支持索引万博1manbetxdlarray.对象和表现出以下行为:

  • 如果你设置海底(idx1,…,idxn) = dlX, 然后dly.DLX.必须是兼容的。

    • 数据的大小不能改变。不支持越界赋值操作。万博1manbetx

    • 赋值语句不能添加或删除标签。

  • 代码生成不支持删除A部分万博1manbetxdlarray.通过使用dlX (idx1,…,idxn) = []

也可以看看

对象

相关例子

更多关于