MatConvNet框架下mnist数据集测试
来源:互联网 发布:fittime软件好用吗. 编辑:程序博客网 时间:2024/06/07 06:59
当cnn_mnist.m运行完成后,我们再打开data文件夹里的mnist-baseline-simplenn文件夹,就会发现里面多了一个pdf文件和20个net-epoch-(1~20).mat,这20个net-epoch-(1~20).mat,就是经过每一轮训练后,获得的训练好的模型。
如果在训练的时候选择了opts.batchNormalization为true的话,即进行批量归一化,那么生成的文件夹便是mnist-baseline-simplenn-bnorm,文件夹下也会有20个模型。在测试的时候,如果使用此模型,并且对图像仅仅是进行了归一化和减去均值操作,那么测试便得不到想要的结果。
在此按照ImageNet测试的demo写了一个mnist测试的代码,有关注意事项在代码中说明
run ../matlab/vl_setupnnload('../data\mnist-baseline-simplenn/net-epoch-20.mat');%此模型包含三个部分,其中一部分为netload('../data\mnist-baseline-simplenn-bnorm/imdb.mat');%images结构体在此读取net = vl_simplenn_tidy(net);net.layers{1,end}.type = 'softmax';%训练时为softmaxloss,测试时为softmaxtest_index = find(images.set==3);%1对应训练集,3对应测试集,1有(1——60000)3有(60001——70000)% 挑选出测试集以及真实类别test_data = images.data(:,:,:,test_index);test_label = images.labels(test_index);im_ = test_data(:,:,:,536);%随意选取一张图像% im=imread('5.jpg');% im_=single(im);im_=imresize(im_,net.meta.inputSize(1:2));%此处和ImageNet网络名称不同im_ = im_ - images.data_mean;去均值% im_=im_-net.meta.normalization.averageImage;res=vl_simplenn(net,im_);y=res(end).x;x=gather(res(end).x);scores=squeeze(gather(res(end).x));[bestScore,best]=max(scores);figure(1);clf;imshow(im_);title(sprintf('%s %d,%.3f',... net.meta.classes.name{best-1},best-1,bestScore));
另外还有一个对序列号为60000-70000图像进行整体精度预测的代码,大致思路与上面相同
run ../matlab/vl_setupnnload('../data\mnist-baseline-simplenn/net-epoch-11.mat');%此处换成自己下载模型存储的位置load('../data\mnist-baseline-simplenn-bnorm/imdb.mat');net = vl_simplenn_tidy(net);net.layers{1,end}.type = 'softmax';%训练时为softmaxloss,测试时为softmax% 挑选出测试样本在全体数据中对应的编号60001-70000test_index = find(images.set==3);%1对应训练集,3对应测试集,1有(1——60000)3有(60001——70000)% 挑选出测试集以及真实类别test_data = images.data(:,:,:,test_index);test_label = images.labels(test_index);% 将最后一层改为 softmax (原始为softmaxloss,这是训练用)net.layers{1, end}.type = 'softmax';% 对每张测试图片进行分类for i = 1:length(test_label) i im_ = test_data(:,:,:,i); im_ = im_ - images.data_mean; res = vl_simplenn(net, im_) ; scores = squeeze(gather(res(end).x)) ; [bestScore, best] = max(scores) ; pre(i) = best;end% 计算准确率accurcy = length(find(pre==test_label))/length(test_label);disp(['accurcy = ',num2str(accurcy*100),'%']);
阅读全文
0 0
- MatConvNet框架下mnist数据集测试
- matconvnet环境下训练自己的数据集及模型测试-mnist网络结构-cifar10部分数据集
- MatConvNet框架的mnist例子
- MatConvNet 框架的mnist实例
- 【深度学习】在Mac下安装深度学习框架Caffe并测试Mnist数据集
- caffe 下测试 MNIST数据
- win10+only-cpu利用Caffe框架测试mnist数据集
- ubuntu下caffe实战---mnist数据集测试
- Mnist数据集测试Caffe
- Tensorflow MNIST 数据集测试代码入门
- caffe的mnist数据集测试
- Caffe示例程序测试mnist数据集
- Tensorflow测试Mnist手写数据集
- Windows下mnist数据集caffemodel分类模型训练及测试
- Windows下caffe配置详解(仅CPU) —训练测试mnist数据集
- VS2013+Windows+CPU下搭建caffe框架并利用mnist数据集实验
- matconvnet数据集的构建
- Caffe下运行MNIST数据集
- 计算机视觉实时目标检测 TensorFlow Object Detection API
- php提取字符串中的数字
- 【程序员的手艺活儿】vim命令快速掌握
- 20day-、针对UI综合练习(网易彩票)的总结
- Kubernetes
- MatConvNet框架下mnist数据集测试
- [Leetcode] 255. Verify Preorder Sequence in Binary Search Tree 解题报告
- 写一个function,清除字符串前后两端的空格
- Java单元测试工具:JUnit4(四)——JUnit测试套件使用及参数化设置
- HTTP Live Streaming直播(iOS直播)技术分析与实现——牛人
- 搭建Nginx服务器
- datacleaner
- Android如何做到应用程序图标隐藏,由第三方程序启动
- MeasureSpec笔记