负荷训练数据
加载数字训练数据。
定义网络
定义网络体系结构和使用指定图像的平均价值“的意思是”
选择在图像输入层。
创建一个dlnetwork
对象的层图。
定义模型梯度函数
创建一个helper函数modelGradients
年底上市,这个例子。函数接受一个dlnetwork
对象dlnet
和mini-batch输入数据dlX
与相应的标签Y
,并返回损失和损失的梯度对可学的参数dlnet
。
定义了随机梯度下降功能
创建一个helper函数sgdFunction
年底上市,这个例子。的函数参数
和paramGradient
可学的参数和损失对参数的梯度,分别并返回更新后的参数使用随机梯度下降算法,表示为
在哪里
是迭代数,
是学习速率,
是参数向量,
损失函数。
指定培训选项
培训期间指定要使用的选项。
指定学习速率。
火车在GPU上,如果一个是可用的。使用GPU需要并行计算工具箱™和支持GPU设备。金宝app支持设备的信息,请参阅金宝appGPU的金宝app支持版本(并行计算工具箱)。
可视化培训进展阴谋。
列车网络的
火车模型使用自定义训练循环。对于每一个时代,洗牌和遍历mini-batches数据的数据。通过调用更新网络参数dlupdate
与函数sgdFunction
定义在这个例子。在每个时代,显示培训进展。
初始化培训进展阴谋。
培训网络。
测试网络
测试模型的分类精度通过比较测试集上的预测与真正的标签。
将数据转换成dlarray
维度的格式“SSCB”
。GPU预测,也将数据转换成gpuArray
。
使用分类图像dlnetwork
对象,使用预测
函数和找到类最高的分数。
评估分类精度。
模型梯度函数
辅助函数modelGradients
需要一个dlnetwork
对象dlnet
和mini-batch输入数据dlX
与相应的标签Y
,并返回损失和损失的梯度对可学的参数dlnet
。自动计算梯度,使用dlgradient
函数。
随机梯度下降函数
辅助函数sgdFunction
需要可学的参数参数
的梯度参数对损失梯度
和学习速率learnRate
,并返回更新后的参数使用随机梯度下降算法,表示为
在哪里
是迭代数,
是学习速率,
是参数向量,
损失函数。