五、检查网络
通过点击分析检查您的网络。如果 Deep Learning Network Analyzer 报告零错误,则表示网络已准备就绪,可以开始训练。
有个错误:
原来我左边拖动多了几个,把它删了:
再次点击分析:
成功!
准备训练…
等待吧…
电脑好,训练快…
准确率有点低,我们重新设置一下…
将 InitialLearnRate 设置为 0.0001,ValidationFrequency 设置为 5,MaxEpochs 设置为 8。由于有 55 个观测值,因此将 MiniBatchSize 设置为 11 以平均划分训练数据,并确保在每轮期间使用整个训练集。
点击关闭。
然后我们再来训练:
等待…
正确率提高到95%…
六、导出训练结果
要导出训练结果,请在训练选项卡上选择导出 > 导出经过训练的网络和结果。深度网络设计器将经过训练的网络导出为变量
trainedNetwork_1,将训练信息导出为变量 trainInfoStruct_1。
您也可以生成 MATLAB 代码,它可以重新创建所使用的网络和训练选项。在训练选项卡上,选择导出 > 生成训练代码。
重命名一下
打开看看!
不错,nice!!!
七、测试经过训练的网络
选择一个新图像以使用经过训练的网络对其进行分类:
I = imread("MerchDataTest.jpg");
调整测试图像的大小以匹配网络输入大小。
I = imresize(I, [224 224]);
使用经过训练的网络对测试图像进行分类。
[YPred,probs] = classify(trainedNetwork_1,I); imshow(I) label = YPred; title(string(label) + ", " + num2str(100*max(probs),3) + "%");
完整代码为:
I = imread("MerchDataTest.jpg"); I = imresize(I, [224 224]); [YPred,probs] = classify(trainedNetwork_1,I); imshow(I) label = YPred; title(string(label) + ", " + num2str(100*max(probs),3) + "%");
测试效果:
八、留个问题
这里我们分类的是官网提供的图像。那么:
- 我们可否来分类自定义的图像?
- 类比图像,我们可否分类音频?