MatConvNet卷积神经网络(四)——用自己的数据训练

本文分享了作者使用MatConvNet训练识别红苹果的神经网络的经验,包括数据准备、网络结构设计和参数设置。文章提供了源代码链接,并强调读者应具备机器学习和CNN基础知识。训练流程包括数据的导入、格式化、切分,以及网络结构和训练参数的定义。
摘要由CSDN通过智能技术生成

尝试过从Matconvnet官网上下载的已经训练好的神经网络之后,最近自己训练了能够识别果树上红苹果的神经网络。先上图。源代码放在https://github.com/YunpengZhai/MATCONVNET

10/21/2016 更新:把滑动窗的代码放到了github上(结尾为**slide)


下面分享一下经验。


以下内容看之前,希望已经阅读过Matconvnet的官方文档matconvnet-manual,或者对机器学习的一些概念、卷积神经网络的原理具备基本的了解。

现在进入正题。


构建自己的神经网络,需要完成以下三个部分:

1.准备数据。

2.设计神经网络的结构。

3.设置参数,用数据训练网络。


一、准备数据。

数据在磁盘中的存放如下图:


之后,将文件中的图片导入、格式化、划分训练集测试集交叉验证集、求均值,然后以.mat格式存储在磁盘上。

%cnn_setup_data.m

<span style="font-size:14px;">function imdb =cnn_setup_data(datadir)

inputSize =[64,64];
subdir=dir(datadir);
imdb.images.data=[];
imdb.images.labels=[];
imdb.images.set = [] ;
imdb.meta.sets = {'train', 'val', 'test'} ;
image_counter=0;
trainratio=0.8;
for i=3:length(subdir)
    imdb.meta.classes(i-2) = {subdir(i).name};
    imgfiles=dir(fullfile(datadir,subdir(i).name));
    imgpercategory_count=length(imgfiles)-2;
    disp([i-2 imgpercategory_count]);
    image_counter=image_counter+imgpercategory_count;
    for j=3:length(imgfiles)
        img=imread(fullfile(datadir,subdir(i).name,imgfiles(j).name));
        img=imresize(img, inputSize(1:2));
        img=single(img);
    
  • 15
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 72
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 72
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值