深度学习Alexnet网络对图像进行分类/预测(迁移学习)
来源:互联网 发布:ubuntu pyqt5 安装 编辑:程序博客网 时间:2024/04/30 05:03
众所周知,在MATLAB里面非常方便对各种算法和技术进行可行性实验,前几个月也很好奇用深度学习对图像进行分类,幸好新版本的MATLAB 2017能够对深度学习提供支持:D,现在抽空把代码分享出来与大家共享~
图像数据集用的是我这边博客里面的:http://blog.csdn.net/cuixing001/article/details/70908064或者百度网盘下载,链接:https://pan.baidu.com/s/1i5OhC7z 密码: utn7
本文快速的用MATLAB对自己的图像数据集进行训练和分类,小伙伴们当然也可以改成自己的试试啦~\(≧▽≦)/~,效果非常不错,利用预训练的alexnet网络对新图像集进行迁移学习,结果全部分类正确,达到100%的正确率~
话不多说,上代码和图:
function predict_transfer_alexnet()net = alexnet;% 深度学习alexnet经典网络结构,没有的可以去matlab center下载trainsferLayer = net.Layers(1:end-3);imds = imageDatastore('F:\svm_images\train_images',... 'includeSubfolders',true,... 'labelsource','foldernames','ReadFcn',@IMAGERESIZE);T = countEachLabel(imds);disp(T);[imdsTrain,imdsTest] = splitEachLabel(imds,0.75);% 75%的数据为训练数据,其余的为测试数据%% trainlayers = [trainsferLayer; fullyConnectedLayer(5,'WeightLearnRateFactor',50,'BiasLearnRateFactor',50);%注意第一个参数为类别的数量,我这里是5 softmaxLayer(); classificationLayer()];options = trainingOptions('sgdm',... 'Maxepochs',5,... 'InitialLearnRate',0.0001);network = trainNetwork(imdsTrain,layers,options);%% predictpredictLabels = classify(network,imdsTest);testLabels = imdsTest.Labels;accuracy = sum(predictLabels == testLabels)/numel(predictLabels);disp(['accuracy:',num2str(accuracy)]); % 输出预测精度结果end
上面代码第5行函数imageDatastore是个非常有用的函数,支持大数据集的图像,而且图像类别啥的都能够清楚的记录;输入参数'ReadFcn'我调用的是IMAGERESIZE自定义函数,主要作用是把自己的图像resize成227*227*3的,因为alexnet输入层大小是227*227*3的,所以必须弄成这个大小。下面给出自定义的IMAGERESIZE的函数:
function output = IMAGERESIZE(input)input = imread(input);if numel(size(input)) == 2 input = cat(3,input,input,input);% 转成3通道的endoutput = imresize(input,[227,227]);
阅读全文
0 0
- 深度学习Alexnet网络对图像进行分类/预测(迁移学习)
- alexnet 通过深度卷积对ImageNet图像进行分类
- 深度学习: AlexNet 网络
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- 深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- 深度学习之图像分类模型AlexNet各层解读
- 深度学习之图像分类模型Alexnet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- 深度学习网络模型AlexNet
- 利用RNN对字符串进行预测(31)---《深度学习》
- UVA140Bandwidth
- 野蛮删除腾讯电脑管家
- int和Integer学习
- ZOJ 1111 Poker Hands【模拟】
- 创建博客初心
- 深度学习Alexnet网络对图像进行分类/预测(迁移学习)
- Leetcode 100. Same Tree
- HTML入门笔记13-HTML中font标签
- 实现一颗二叉树的层序遍历
- Hadoop基础教程-第9章 HA高可用(9.4 YARN 高可用)(草稿)
- 17_7_22 求二叉树叶子节点的个数/求二叉树第k层的节点个数
- 让你不再俱怕Fragment State Loss
- Spring AOP术语解释
- 如何使用 hive建立自己的函数在CLI界面上并使用