![深度学习经典案例解析:基于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=1739414260-sXdXM3G7d8CsLZcK98eHrJMvi7vnT9c6-0-5d5651ced84c8cefbb31f7e62607aae1)
(续)
![](https://epubservercos.yuewen.com/7B8A32/21511157108180906/epubprivate/OEBPS/Images/60_01.jpg?sign=1739414260-WmdzSglCSyAel0MJkKGR5l3xjfUBD3zs-0-a2a2ef659d9308024fc97186798d2c83)
(续)
![](https://epubservercos.yuewen.com/7B8A32/21511157108180906/epubprivate/OEBPS/Images/61_01.jpg?sign=1739414260-eiHtr9QKnIdaePken0fN9meRgTWefY7k-0-d833088cc4ff1e67f5273c77bbca0c87)
设置卷积网络训练参数配置的程序如下。
![](https://epubservercos.yuewen.com/7B8A32/21511157108180906/epubprivate/OEBPS/Images/61_02.jpg?sign=1739414260-8CctAepG6wxm1XPrrwrYTqDP0R1udSYr-0-cbaf76e228af4ce96d44069df33c2ff3)
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=1739414260-MaL1gdTOCssIAtuh58CY2OB1EAbK5SSO-0-19a41d3e38a72923cb6000c617b87ae5)
其中,XTrain为训练样本值;YTrain为训练标签;layers为定义的网络结构;options为定义的训练配置参数。