![深度学习经典案例解析:基于MATLAB](https://wfqqreader-1252317822.image.myqcloud.com/cover/874/41309874/b_41309874.jpg)
3.4 训练卷积神经网络
1.trainingOptions函数
功能:用于设定网络训练的配置选项。
用法:
语法①
options = trainingOptions(solverName)。
输入:solverName用来指定训练方法,可以将其设置为'adam'、'rmsprop'、'sgdm'。
输出:options为用于网络训练的配置选项,作为trainNetwork函数的输入参数。
语法②
options = trainingOptions(solverName,Name,Value)。
输入:solverName指定训练方法,可以将其设置为'adam'(基于自适应低阶矩估计的随机目标函数一阶梯度优化算法)、'rmsprop'(均方根反向传播)、'sgdm'(动量随机梯度下降);指定的“名称-取值”对(Name和Value),可以给特定属性赋值(将每种属性名称括在单引号中)。按照功能划分的具体含义见表3-3。
输出:options为用于网络训练的配置选项,作为trainNetwork函数的输入参数。
表3-3 trainingOptions函数参数含义
![](https://epubservercos.yuewen.com/7B8A32/21511157108180906/epubprivate/OEBPS/Images/59_02.jpg?sign=1738885140-nIn25G5alHlmWYNZo31iB5cMDz6c8dIk-0-db578d48239175e721e7b540d8859bd5)
(续)
![](https://epubservercos.yuewen.com/7B8A32/21511157108180906/epubprivate/OEBPS/Images/60_01.jpg?sign=1738885140-VrSeKEwmO8o6OVn5EDzFQj3ddiv6P4Zv-0-e3c5eb2c11fd92902cea6e284f0ee116)
(续)
![](https://epubservercos.yuewen.com/7B8A32/21511157108180906/epubprivate/OEBPS/Images/61_01.jpg?sign=1738885140-WOBaQiFabWtrXbJScOYE46ZAZnZZXmf6-0-073e347c55453df8f99a36cfb6e84320)
设置卷积网络训练参数配置的程序如下。
![](https://epubservercos.yuewen.com/7B8A32/21511157108180906/epubprivate/OEBPS/Images/61_02.jpg?sign=1738885140-PmTm11yB8IlclWWPFRqMOq5cHg7Z6kUJ-0-a01462bf56197790b99bca4cd0cd9c60)
2.trainNetwork函数
功能:用于训练卷积神经网络。
用法:
语法①
trainedNet = trainNetwork(imds,layers,options)。
输入:imds为训练样本;layers为定义的网络结构;options为定义训练的配置参数。
输出:trainedNet为训练后的网络。
语法②
trainedNet = trainNetwork(X,Y,layers,options)。
输入:X为样本值;Y为标签;layers为定义的网络结构;options为定义的训练配置参数。
输出:trainedNet为训练后的网络。
对于构建好的卷积神经网络,可用如下程序进行训练:
![](https://epubservercos.yuewen.com/7B8A32/21511157108180906/epubprivate/OEBPS/Images/62_01.jpg?sign=1738885140-DsbDmTdCDMejZG7gjCv6I7kcOVWHVfHR-0-0a1878ae776e15792d428ecf8daba0e0)
其中,XTrain为训练样本值;YTrain为训练标签;layers为定义的网络结构;options为定义的训练配置参数。