深度学习matlab图像分类,手把手教程系列 |
您所在的位置:网站首页 › matlab简单图像代码 › 深度学习matlab图像分类,手把手教程系列 |
文章目录
一、提取要训练的数据二、选择预训练网络三、加载数据集四、编辑迁移学习网络五、检查网络六、导出训练结果七、测试经过训练的网络八、留个问题
一、提取要训练的数据
unzip('MerchData.zip');
二、选择预训练网络
打开深度网络设计器 deepNetworkDesigner演示: 要将数据加载到深度网络设计器中,请在数据选项卡上,点击导入数据 > 导入图像数据。将打开“导入图像数据”对话框。在数据源列表中,选择文件夹。点击浏览并选择提取的 MerchData 文件夹。 在设计器选项卡中,将新的 fullyConnectedLayer 从网络层库拖到画布上。将 OutputSize 设置为新数据中的类数。然后删除原来的这个全连接层,用剪切。(在最底部) 通过点击分析检查您的网络。如果 Deep Learning Network Analyzer 报告零错误,则表示网络已准备就绪,可以开始训练。 将 InitialLearnRate 设置为 0.0001,ValidationFrequency 设置为 5,MaxEpochs 设置为 8。由于有 55 个观测值,因此将 MiniBatchSize 设置为 11 以平均划分训练数据,并确保在每轮期间使用整个训练集。 要导出训练结果,请在训练选项卡上选择导出 > 导出经过训练的网络和结果。深度网络设计器将经过训练的网络导出为变量 trainedNetwork_1,将训练信息导出为变量 trainInfoStruct_1。 您也可以生成 MATLAB 代码,它可以重新创建所使用的网络和训练选项。在训练选项卡上,选择导出 > 生成训练代码。 选择一个新图像以使用经过训练的网络对其进行分类: 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) + "%");测试效果: 这里我们分类的是官网提供的图像。那么: 我们可否来分类自定义的图像?类比图像,我们可否分类音频? |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |