主要内容

导入自定义层到深度网络设计器

这个例子展示了如何导入具有平方和误差(SSE)损失的自定义分类输出层,并将其添加到深度网络设计器中的预训练网络中。

定义一个自定义分类输出层。要创建这个图层,保存文件sseClassificationLayer.m在当前文件夹中。有关构造此层的更多信息,请参见定义自定义分类输出层

创建该层的一个实例。

ssecassificationlayer = ssecassificationlayer (上交所的);

使用预先训练好的GoogLeNet网络打开深度网络设计器。

deepNetworkDesigner (googlenet);

为了适应预训练的网络,用适应新数据集的新层替换最后的可学习层和最终的分类层。在GoogLeNet中,这些层都有名称“loss3-classifier”而且“输出”,分别。

设计师窗格,拖动一个新的fullyConnectedLayer层的图书馆画在画布上。集OutputSize到这个例子中的新类数量,2

编辑学习率,以便在新层中比在转移层中学习更快。集WeightLearnRateFactor而且BiasLearnRateFactor10.删除最后一个完全连接的层,并连接你的新层。

接下来,用自定义分类输出层替换输出层。点击设计师窗格。暂停上从工作空间并点击进口.要导入自定义分类层,请选择sseClassificationLayer并点击好吧

通过单击将该层添加到当前GoogLeNet预训练网络添加.应用程序将自定义层添加到设计师窗格。要查看新图层,请使用鼠标放大或单击放大

的底部拖动自定义层设计师窗格。将输出层替换为新的分类输出层,并连接新的层。

通过单击检查网络分析.如果深度学习网络分析仪报告零错误,则网络准备训练。

在构建网络之后,就可以导入数据并进行训练了。有关在深度网络设计器中导入数据和训练的详细信息,请参见基于深度网络设计器的迁移学习

另请参阅

相关的话题