主要内容

代码生成的dlarray

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

代码生成支持格式化和非格式化的深金宝app度学习数组。dlarray对象包含gpuArrays也支持代码生成。金宝app当你在CPU和GPU代码生成中使用深度学习数组时,请遵守以下限制:

定义dlarray对于代码生成

要生成代码,请使用<一个href="//www.tatmou.com/nl/help/deeplearning/ref/dlarray.html">dlarray(深度学习工具箱)函数,创建深度学习数组。例如,假设你有一个预先训练过的<一个href="//www.tatmou.com/nl/help/deeplearning/ref/dlnetwork.html">dlnetwork(深度学习工具箱)中的网络对象mynet.matMAT-file。为了预测这个网络的响应,在MATLAB中创建一个入口点函数®

有两种可能:

请注意

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

设计1(不推荐)

在本设计实例中,输入输出到入口点函数,喷火dlarray类型。这种类型的入口点函数不推荐用于代码生成,因为在MATLAB中,dlarray强制标签的顺序“SCBTU”。此行为被复制用于生成MEX代码。然而,对于独立的代码生成,如静态、动态库或可执行文件,数据格式遵循fmt论点的dlarray对象。因此,如果一个入口点函数的输入或输出是dlarray对象和它的标签顺序不是“SCBTU”,那么MATLAB环境下的数据布局和独立代码之间就会有所不同。

函数dlOut = foo (dlIn)持续的dlnet;如果isempty(dlnet) dlnet = code . loaddeeplearningnetwork (“mynet.mat”);结束dlOut =预测(dlnet, dlIn);结束

设计2(推荐)

在本设计示例中,输入和输出到喷火是原始数据类型和dlarray对象在函数中创建。的<一个href="//www.tatmou.com/nl/help/deeplearning/ref/dlarray.extractdata.html">extractdata(深度学习工具箱)的方法dlarray对象中返回的数据dlarray国防后勤局作为输出喷火。输出一个是否具有与底层数据类型相同的数据类型国防后勤局

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

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

  • 的输出的数据格式extractdata函数具有相同的顺序(“SCBTU”)的MATLAB环境和生成的代码。

  • 改进MEX工作流的性能。

  • 简化模型金宝app®工作流使用MATLAB函数块,因为Simuli金宝appnk本身不支持金宝appdlarray对象。

函数a = foo(in) dlIn = dlarray(in)SSC的);持续的dlnet;如果isempty(dlnet) dlnet = code . loaddeeplearningnetwork (“mynet.mat”);结束dlA =预测(dlnet, dlIn);一个= extractdata (dlA);结束

看…的例子dlnetworkdlarray使用GPU编码器™,请参阅<一个href="//www.tatmou.com/nl/help/gpucoder/ug/code-generation-for-vae-network.html" class="a">在NVIDIA GPU上使用可变自动编码器生成数字图像。

dlarray具有代码生成支持的对象函数金宝app

对于代码生成,您只能使用该表中列出的深度学习数组对象函数。

会变暗(深度学习工具箱)

尺寸标签dlarray

extractdata(深度学习工具箱)

从中提取数据dlarray

finddim(深度学习工具箱)

查找带有指定标签的尺寸

stripdims(深度学习工具箱)

删除dlarray标签

深度学习工具箱功能dlarray代码生成的支持金宝app

深度学习操作

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

全连接操作将输入乘以一个权值矩阵,然后加上一个偏置向量。

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

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

softmax(深度学习工具箱)

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

MATLAB函数dlarray代码生成的支持金宝app

一元Element-wise功能

函数 笔记和局限性
腹肌

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

量化

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

因为
cosh
csc
经验值
日志

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

  • 因为dlarray不支持复数,输入金宝appdlarray必须是非负值。

证券交易委员会

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

标志
sinh
√6

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

  • 因为dlarray不支持复数,输入金宝appdlarray必须是非负值。

棕褐色

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

双曲正切
uplus+
uminus-

二进制Element-wise运营商

函数 笔记和局限性
--

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

++
rdivide。/
。*

还原功能

函数 笔记和局限性
的意思是
  • 输出dlarray是否与输入的数据格式相同dlarray

  • “omitnan”选项不支持。金宝app

  • 如果输入dlarray是在GPU上的“本地”选项不支持。金宝app

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

  • “omitnan”选项不支持。金宝app

总和

极值函数

函数 笔记和局限性
装天花板

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

每股收益

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

  • 使用每股收益((‘喜欢’,x))根据a的数据类型得到标量值dlarrayx

修复

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

地板上

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

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

  • 当您发现最大或最小元素之间的两个格式化dlarray输入,输出dlarray拥有这两种数据格式的组合。该函数使用隐式展开来组合输入。有关更多信息,请参见<一个href="//www.tatmou.com/nl/help/deeplearning/ug/list-of-functions-with-dlarray-support.html" class="a">数据格式的隐式扩展(深度学习工具箱)

  • 索引输出参数不会被跟踪,并且不能与自动区分一起使用。有关更多信息,请参见<一个href="//www.tatmou.com/nl/help/deeplearning/ug/include-automatic-differentiation.html" class="a">在深度学习工具箱中使用自动区分(深度学习工具箱)

最小值

  • 只有语法Y =圆(X)是支持金宝app的。

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

其他的数学操作

函数 笔记和局限性
结肠
  • 支持的操金宝app作有:

    • a: b

    • b: c

    的索引信息dlarray,请参阅<一个href="//www.tatmou.com/nl/help/deeplearning/ug/list-of-functions-with-dlarray-support.html" class="a">索引(深度学习工具箱)

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

逻辑运算

函数 笔记和局限性

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

情商==

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

通用电气>=
gt>
<=
lt<
~ =
|

如果两个dlarray先格式化输入,然后格式化输出dlarray使用它们的两种数据格式的组合进行格式化。该函数使用隐式展开来组合输入。有关更多信息,请参见<一个href="//www.tatmou.com/nl/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输入必须具有匹配的格式或未格式化。支持混合格式化和非格式化输入。金宝app如果有任何dlarray先格式化输入,然后格式化输出dlarray使用相同的数据格式格式化。

对于代码生成,维度顺序为功能大小必须固定。

horzcat
vertcat

转换函数

函数 笔记和局限性
  • 铸造(国防后勤局,newdatatype)中复制的数据dlarray国防后勤局成一个dlarray底层数据类型的newdatatype。的newdatatype选项必须是“双”“单一”,或“逻辑”。输出dlarray是否使用相同的数据格式国防后勤局

  • 铸造(“喜欢”,Y)返回与的类型相同的数组Y。如果Y是一个dlarray,则输出为adlarray具有相同的底层数据类型Y。如果Y是在GPU上,然后输出是在GPU上。如果两个一个Ydlarray对象,然后输出dlarray是否与输入的数据格式相同一个

输出为dlarray包含类型数据的

逻辑 输出为dlarray包含类型数据的逻辑
输出为dlarray包含类型数据的

比较函数

函数 笔记和局限性
isequal

  • 不支持有两个以上输入参数的语法。金宝app

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

isequaln

  • 不支持有两个以上输入参数的语法。金宝app

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

数据类型和值标识函数

函数 笔记和局限性
isfloat

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

islogical
isnumeric
伊斯雷尔

因为dlarray不支持复数时,该函金宝app数总是返回真正的对于一个dlarray输入。

大小识别功能

函数 笔记和局限性
iscolumn 这个函数返回真正的对于一个dlarray这是一个列向量,其中除第一个维度外的每个维度都是单元素。例如,一个3乘1乘1的矩阵dlarray是一个列向量。
ismatrix 这个函数返回真正的dlarray只有二维的物体dlarray对象,其中除前两个维度外的每个维度都是单元素。例如,一个3 × 4 × 1的dlarray是一个矩阵。
isrow 这个函数返回真正的对于一个dlarray这是一个行向量,其中除第二个维度外的每个维度都是一个单元素。例如,1乘3乘1dlarray是一个行向量。
isscalar N/A
isvector 这个函数返回真正的对于一个dlarray这是一个行向量或者列向量。请注意,isvector不考虑1乘1乘3dlarray是一个向量。
长度 N/A
ndims

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

元素个数 N/A
大小

如果输入dlarraydlX被格式化,然后大小(dlX)返回一个长度等于维度标签数的向量,即使一些已标记的维度是尾随的单元素维度。

创造者的功能

函数 笔记和局限性
只有“喜欢”支持以下语法金宝appdlarray
兰德
真正的
0

索引

代码生成支持索引金宝appdlarray对象和表现出以下行为:

  • 如果你设置海底(idx1,…,idxn) = dlX,然后海底dlX必须与赋值兼容。

    • 数据的大小不能改变。不支持越界赋值操作。金宝app

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

  • 代码生成不支持删除部分金宝appdlarray对象的使用dlX (idx1,…,idxn) = []

另请参阅

对象

相关的例子

更多关于