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.mat
MAT-file。为了预测这个网络的响应,在MATLAB中创建一个入口点函数®。
有两种可能:
请注意
对于代码生成,dlarray
的输入预测
的方法dlnetwork
对象必须是单
数据类型。
在本设计实例中,输入输出到入口点函数,喷火
的dlarray
类型。这种类型的入口点函数不推荐用于代码生成,因为在MATLAB中,dlarray
强制标签的顺序“SCBTU”
。此行为被复制用于生成MEX代码。然而,对于独立的代码生成,如静态、动态库或可执行文件,数据格式遵循fmt
论点的dlarray
对象。因此,如果一个入口点函数的输入或输出是dlarray
对象和它的标签顺序不是“SCBTU”
,那么MATLAB环境下的数据布局和独立代码之间就会有所不同。
函数dlOut = foo (dlIn)持续的dlnet;如果isempty(dlnet) dlnet = code . loaddeeplearningnetwork (“mynet.mat”);结束dlOut =预测(dlnet, dlIn);结束
在本设计示例中,输入和输出到喷火
是原始数据类型和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);结束
看…的例子dlnetwork
和dlarray
使用GPU编码器™,请参阅<一个href="//www.tatmou.com/nl/help/gpucoder/ug/code-generation-for-vae-network.html" class="a">在NVIDIA GPU上使用可变自动编码器生成数字图像。
dlarray
具有代码生成支持的对象函数金宝app对于代码生成,您只能使用该表中列出的深度学习数组对象函数。
|
尺寸标签 |
|
从中提取数据 |
|
查找带有指定标签的尺寸 |
|
删除 |
dlarray
代码生成的支持金宝app函数 | 描述 |
---|---|
fullyconnect (深度学习工具箱) |
全连接操作将输入乘以一个权值矩阵,然后加上一个偏置向量。 |
乙状结肠 (深度学习工具箱) |
sigmoid激活操作将sigmoid函数应用于输入数据。 |
softmax (深度学习工具箱) |
softmax激活操作将softmax功能应用于输入数据的通道维度。 |
dlarray
代码生成的支持金宝app函数 | 笔记和局限性 |
---|---|
腹肌 |
输出 |
量化 |
输出 |
因为 |
|
cosh |
|
床 |
|
csc |
|
经验值 |
|
日志 |
|
证券交易委员会 |
输出 |
标志 |
|
罪 |
|
sinh |
|
√6 |
|
棕褐色 |
输出 |
双曲正切 |
|
uplus ,+ |
|
uminus ,- |
函数 | 笔记和局限性 |
---|---|
装天花板 |
输出 |
每股收益 |
|
修复 |
输出 |
地板上 |
输出 |
马克斯 |
|
最小值 |
|
轮 |
|
函数 | 笔记和局限性 |
---|---|
结肠 ,: |
|
函数 | 笔记和局限性 |
---|---|
和 ,& |
如果两个 |
情商 ,== |
如果两个 |
通用电气 ,>= |
|
gt ,> |
|
勒 ,<= |
|
lt ,< |
|
不 ,~ = |
|
或 ,| |
如果两个 |
xor |
函数 | 笔记和局限性 |
---|---|
ctranspose ,' |
如果输入 |
交换 |
如果输入 对于代码生成,维度顺序必须是固定的大小。 |
ipermute |
如果输入 对于代码生成,维度顺序必须是固定的大小。 |
转置 ,。' |
如果输入 |
函数 | 笔记和局限性 |
---|---|
投 |
|
双 |
输出为 |
逻辑 |
输出为dlarray 包含类型数据的逻辑 。 |
单 |
输出为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 |
如果输入 |
元素个数 |
N/A |
大小 |
如果输入 |
代码生成支持索引金宝appdlarray
对象和表现出以下行为:
如果你设置海底(idx1,…,idxn) = dlX
,然后海底
和dlX
必须与赋值兼容。
数据的大小不能改变。不支持越界赋值操作。金宝app
赋值语句不能添加或删除U
标签。
代码生成不支持删除部分金宝appdlarray
对象的使用dlX (idx1,…,idxn) = []
。