dlnetwork
深度学习神经网络
说明
dlnetwork 对象指定深度学习神经网络架构。
提示
对于大多数深度学习任务,您可以使用预训练神经网络,并使其适应您自己的数据。有关说明如何使用迁移学习来重新训练卷积神经网络以对一组新图像进行分类的示例,请参阅重新训练神经网络以对新图像进行分类。您也可以使用 trainnet 和 trainingOptions 函数从头创建和训练神经网络。
如果 trainingOptions 函数没有提供您的任务所需的训练选项,则您可以使用自动微分创建自定义训练循环。要了解详细信息,请参阅使用自定义训练循环训练网络。
如果 trainnet 函数没有提供您的任务所需的损失函数,您可以将 trainnet 的自定义损失函数指定为函数句柄。对于需要比预测值和目标值更多输入的损失函数(例如,需要访问神经网络或额外输入的损失函数),请使用自定义训练循环来训练模型。要了解详细信息,请参阅使用自定义训练循环训练网络。
如果 Deep Learning Toolbox™ 没有提供您的任务所需的层,则您可以创建一个自定义层。要了解详细信息,请参阅定义自定义深度学习层。对于无法指定为由层组成的网络的模型,可以将模型定义为函数。要了解详细信息,请参阅Train Network Using Model Function。
有关对哪项任务使用哪种训练方法的详细信息,请参阅Train Deep Learning Model in MATLAB。
创建对象
语法
描述
空网络
创建一个没有任何层的 net = dlnetworkdlnetwork 对象。使用此语法从头开始创建神经网络。 (自 R2024a 起)
具有输入层的网络
使用指定的层创建神经网络,并初始化任何未设置的可学习参数和状态参数。该语法使用 net = dlnetwork(layers)layers 中的输入层来确定神经网络的可学习参数和状态参数的大小和格式。
当 layers 定义一个完整的单输入神经网络,其中的层按顺序排列并且具有输入层时,请使用此语法。
还设置 net = dlnetwork(layers,OutputNames=names)OutputNames 属性。OutputNames 属性指定对应于网络输出的层或层输出。
当 layers 定义一个完整的单输入多输出神经网络,其中的层按顺序排列并且具有输入层时,请使用此语法。
具有未连接输入的网络
还设置 net = dlnetwork(layers,X1,...,XN,OutputNames=names)OutputNames 属性。
当 layers 定义一个完整的神经网络,该网络具有多个输出,其中的层按顺序排列并且具有未连接到输入层的输入时,请使用此语法。
转换
通过从 net = dlnetwork(prunableNet) prunableNet 的卷积层中删除选择用于剪枝的滤波器,将 TaylorPrunableNetwork 转换为 dlnetwork 对象,并返回一个压缩的 dlnetwork 对象,该对象的可学习参数更少且大小更小。
将 Statistics and Machine Learning Toolbox™ 机器学习模型转换为 net = dlnetwork(mdl)dlnetwork 对象。
输入参量
属性
对象函数
addInputLayer | Add input layer to network |
addLayers | 向神经网络添加层 |
removeLayers | 从神经网络中删除层 |
connectLayers | 在神经网络中连接各层 |
disconnectLayers | 在神经网络中断开层连接 |
replaceLayer | Replace layer in neural network |
getLayer | Look up a layer by name or path |
expandLayers | Expand network layers |
groupLayers | Group layers into network layers |
summary | 打印网络摘要 |
plot | 绘制神经网络架构 |
initialize | Initialize learnable and state parameters of neural network |
predict | Compute deep learning network output for inference |
forward | Compute deep learning network output for training |
resetState | Reset state parameters of neural network |
setL2Factor | Set L2 regularization factor of layer learnable parameter |
setLearnRateFactor | Set learn rate factor of layer learnable parameter |
getLearnRateFactor | Get learn rate factor of layer learnable parameter |
getL2Factor | Get L2 regularization factor of layer learnable parameter |
