深度学习导入、导出和定制

导入、导出和自定义深度学习网络,自定义层、训练循环和损失函数

从TensorFlow™-Keras、Caffe和ONNX™(开放神经网络交换)模型格式中导入网络和网络架构。您还可以将经过培训的深度学习工具箱™网络导出为ONNX模型格式。

您可以为您的问题定义自己的自定义深度学习层。您可以使用自定义输出层指定自定义丢失函数,并定义带有或不带有可学习参数的自定义层。例如,对于类分布不平衡的分类问题,可以使用带加权交叉熵损失的自定义加权分类层。定义自定义层后,可以检查该层是否有效,GPU是否兼容,以及输出是否定义了正确的梯度。

如果trainingOptions函数不提供任务所需的训练选项,或自定义输出层不支持所需的丢失函数,则可以定义自定义训练循环。万博1manbetx对于不能使用层图创建的网络,可以将自定义网络定义为函数。想了解更多,请看定义自定义的训练循环、损失函数和网络.

功能

全部展开

importKerasNetwork 进口一个预先训练的Keras网络和重量
importKerasLayers 从Keras网络导入层
importCaffeNetwork 从Caffe中导入预先训练好的卷积神经网络模型
importCaffeLayers 从Caffe中导入卷积神经网络层
importONNXNetwork 进口pretrainedONNX网络
importONNXLayers 进口层ONNX网络
exportONNXNetwork 出口网络ONNX模型格式
findPlaceholderLayers 查找从Keras或。导入的网络架构中的占位符层ONNX
replaceLayer 在层图中替换层
assembleNetwork 将深度学习网络从预先训练的层次集合起来
PlaceholderLayer 层替换不支持的Keras层,万博1manbetxONNX层,或不支持的功能万博1manbetxfunctionToLayerGraph
checkLayer 检查自定义层的有效性
setLearnRateFactor 设置层可学习参数的学习速率因子
setL2Factor 设置层可学习参数L2正则化因子
getLearnRateFactor 得到层可学习参数的学习速率因子
getL2Factor 得到层可学习参数的L2正则化因子
dlnetwork 用于自定义训练循环的深度学习网络
向前 计算用于培训的深度学习网络输出
预测 计算用于推理的深度学习网络输出
adamupdate 使用自适应矩估计(Adam)更新参数
rmspropupdate 使用均方根传播(RMSProp)更新参数
sgdmupdate 使用带动量的随机梯度下降(SGDM)更新参数
dlupdate 使用自定义函数更新参数
dlarray 用于自定义训练循环的深度学习数组
dlgradient 使用自动微分计算自定义训练循环的梯度
dlfeval 评估自定义训练循环的深度学习模型
dlmtimes 用于深度学习的批量矩阵乘法
会变暗 尺寸的标签dlarray
finddim 查找具有指定标签的尺寸
stripdims 删除dlarray标签
extractdata 从中提取数据dlarray
functionToLayerGraph 将深度学习模型函数转换为层图
dlconv 深度学习卷积
dltranspconv 深度学习置换了卷积
lstm 长时间的短期记忆
格勒乌 封闭的复发性单元
fullyconnect 对所有加权的输入数据求和并施加偏差
线性整流函数(Rectified Linear Unit) 应用整流线性单元激活
leakyrelu 应用泄漏整流线性单元激活
batchnorm 对输入数据的每个通道进行规范化
crosschannelnorm 使用局部响应进行跨通道平方正常化
avgpool 将数据存储到空间维度上的平均值
maxpool 将数据池中的值设置为最大值
maxunpool 取消最大池操作的输出
softmax 将softmax激活应用于通道维度
crossentropy 分类任务的交叉熵损失
乙状结肠 应用乙状结肠激活
均方误差 半均方误差

主题

自定义图层

定义自定义深度学习层

学习如何定义自定义深度学习层。

检查自定义层的有效性

学习如何检查自定义深度学习层的有效性。

使用可学习参数定义自定义深度学习层

这个例子展示了如何定义一个PReLU层,并在卷积神经网络中使用它。

定义具有多个输入的自定义深度学习层

本例演示了如何定义自定义加权加法层,并将其用于卷积神经网络。

定义自定义分类输出层

这个例子展示了如何定义一个带有平方和误差(SSE)损失的自定义分类输出层,并将其用于卷积神经网络。

定义自定义加权分类层

这个例子展示了如何定义和创建一个带有加权交叉熵损失的自定义加权分类输出层。

定义自定义回归输出层

这个例子展示了如何定义一个具有平均绝对误差损失的自定义回归输出层,并将其用于卷积神经网络。

指定自定义层反向函数

这个例子展示了如何定义PReLU层并指定一个自定义的向后函数。

指定自定义输出层后向损耗函数

这个例子展示了如何定义一个加权的分类层和指定一个自定义的向后丢失函数。

网络培训与装配

培训生成性对抗网络(GAN)

这个例子展示了如何训练一个生成式对抗网络(GAN)来生成图像。

训练条件生成对抗网络(CGAN)

这个例子展示了如何训练一个条件生成对抗网络(CGAN)来生成图像。

为降维训练一个暹罗网络

这个例子展示了如何训练一个暹罗网络使用降维来比较手写数字。

训练一个暹罗网络来比较图像

这个例子展示了如何训练一个暹罗网络来识别手写字符的相似图像。

定义自定义的训练循环、损失函数和网络

学习如何定义和自定义深度学习训练循环、损失函数和使用自动区分的网络。

在自定义训练循环中指定训练选项

学习如何在自定义培训循环中指定公共培训选项。

使用自定义训练循环训练网络

这个例子展示了如何训练一个网络,用一个自定义的学习速率表来对手写数字进行分类。

更新自定义训练循环中的批处理规范化统计信息

这个示例展示了如何在自定义训练循环中更新网络状态。

使用dlnetwork对象进行预测

此示例演示如何使用a进行预测dlnetwork通过将数据拆分成小批来创建对象。

列车网络利用模型函数

这个例子展示了如何使用函数而不是层图或a来创建和训练深度学习网络dlnetwork.

使用模型函数更新批处理规范化统计信息

这个例子展示了如何在一个定义为函数的网络中更新网络状态。

使用模型函数进行预测

这个例子展示了如何通过将数据分割成小批量来使用模型函数进行预测。

比较层权值初始化器

这个例子展示了如何使用不同的权值初始化器来训练深度学习网络。

指定自定义权重初始化函数

这个例子展示了如何为卷积层和有漏洞的ReLU层创建一个自定义的加权初始化函数。

从预先训练的Keras层组装网络

这个例子展示了如何从一个预先训练好的Keras网络中导入这些层,用定制层替换不支持的层,并将这些层组装到一个网络中,以便进行预测。万博1manbetx

多输入多输出网络

多输入多输出网络

学习如何定义和训练具有多个输入或输出的深度学习网络。

训练具有多个输出的网络

这个例子展示了如何训练一个具有多个输出的深度学习网络来预测手写数字的标签和旋转角度。

组合多输出网络进行预测

不使用模型函数进行预测,您可以将网络组装成一个DAGNetwork为预测做好准备functionToLayerGraphassembleNetwork功能。

自动分化

自动分化背景

学习自动区分是如何工作的。

在深度学习工具箱中使用自动微分

如何在深度学习中使用自动区分。

支持dlarray的函数列表万博1manbetx

查看支持的函数列表万博1manbetxdlarray对象。

分级摄像头揭示了深层学习决策背后的原因

这个例子展示了如何使用梯度加权类激活映射(Grad-CAM)技术来理解为什么一个深度学习网络会做出分类决策。

特色的例子